Compare commits
284 Commits
Author | SHA1 | Date | |
---|---|---|---|
f12473e677 | |||
e845db01bf | |||
7f76a73eee | |||
3c2d94ace3 | |||
1e2239f527 | |||
1851daf9fd | |||
f378f26e5e | |||
cda6bc3404 | |||
071c7e6a58 | |||
010e1b3ba4 | |||
66de51c1ca | |||
265d6bda15 | |||
fecb12bae1 | |||
83ec906ee7 | |||
d44fbf58c9 | |||
9c4a789a4e | |||
bfa1705bad | |||
2876f2188c | |||
579c0043c3 | |||
0fa57957a4 | |||
05cb0b0ec5 | |||
4b24e96dfb | |||
c7eab37177 | |||
c7d0b6cb29 | |||
22ee087bb9 | |||
2480fcdc53 | |||
7e093aee5e | |||
dd8413a485 | |||
925f2912a9 | |||
ed00ea0865 | |||
3f19d221b7 | |||
808271838b | |||
ac0950fdef | |||
38f306ba73 | |||
5c1748d63d | |||
c00cddf5b0 | |||
baf3274748 | |||
9e0515e563 | |||
9c0404c407 | |||
0b85177690 | |||
7ec28ced40 | |||
19ae3b66ec | |||
0118dee3e5 | |||
9201714313 | |||
8b9c1efd7e | |||
111eb43fd9 | |||
f2964101d1 | |||
6b2c289029 | |||
fd2573c068 | |||
df0e9d75fe | |||
2bc86756c8 | |||
fb91ab4080 | |||
0b4d29ed1e | |||
2a8c65e2c3 | |||
ffc7f42efc | |||
7c38cda8ee | |||
d3f5001679 | |||
83d9a4b6d9 | |||
9760e08af4 | |||
8d48e4c76e | |||
a1e0c866aa | |||
8380222baf | |||
eda7d60c26 | |||
ddf92c3e2c | |||
9bb528eb6e | |||
9756957ac1 | |||
af0205b77d | |||
3f0da5453d | |||
923c3071f0 | |||
a8584973e2 | |||
886766cca5 | |||
974abbe826 | |||
61bdf51e90 | |||
9bee9d20f7 | |||
7aee3b88eb | |||
d08184f5fe | |||
ae08232bfb | |||
2b5e4b57bd | |||
35ae13a490 | |||
74f55b4d3f | |||
abe9440021 | |||
6a95b94aaa | |||
21ee38d813 | |||
9681a906d5 | |||
2ca760bee6 | |||
da9f916daa | |||
bc05b83a24 | |||
620e0a9df6 | |||
38ad4f7098 | |||
05c7cacdd1 | |||
baa49271df | |||
e2cbe70966 | |||
6a98301cc9 | |||
81f1df7472 | |||
abc296cdcc | |||
4df5ec82ce | |||
3963ed8ff7 | |||
11141c878c | |||
b1a2046a7f | |||
e44322c9bf | |||
2e6462bf1b | |||
667d9c2be3 | |||
34a86229db | |||
7dd8dbeb5b | |||
b5fb98f01a | |||
f6cfa5cbb4 | |||
c1b95838f6 | |||
6cee608c91 | |||
d979fb6dc0 | |||
ca2a33edc9 | |||
ea80d5eac2 | |||
51cf0970b3 | |||
9c8eb93446 | |||
3ac3a45aa5 | |||
36fcc0d5f6 | |||
6667b86650 | |||
9244efe351 | |||
538ca2a7c7 | |||
c5dd9439d5 | |||
2170c27b62 | |||
61582a0a33 | |||
65efe1f42c | |||
b2d3d43c97 | |||
4ce330c59e | |||
4ea60d36e5 | |||
95111ef8a1 | |||
145389768d | |||
be183206e6 | |||
8b853b7970 | |||
5450b78f71 | |||
a3283c71ef | |||
7231f5ff0b | |||
38a68ea946 | |||
bf9486edc2 | |||
aadfafaef9 | |||
c102978dd5 | |||
9784ade84f | |||
677f06961a | |||
57c3ea3dbe | |||
c01210d4fe | |||
64bbfed432 | |||
a482d9b078 | |||
08456dbb89 | |||
ea662b5c49 | |||
58a8fff895 | |||
bb302a90a6 | |||
99e34e9ee2 | |||
f1417c6bb1 | |||
729db347a2 | |||
f2465ca11f | |||
0294061c00 | |||
71e5892308 | |||
a1597047b4 | |||
d6a8889d84 | |||
070f1f3c6e | |||
234294d564 | |||
d1be8b43f6 | |||
0ed94ee52e | |||
f07564a452 | |||
37419886a1 | |||
b9f0a9ed88 | |||
d0f68bb5d1 | |||
11a350a114 | |||
778ac79c44 | |||
766c00c305 | |||
97cdfa662e | |||
4a08d5295e | |||
b77788b947 | |||
729116c9e5 | |||
d57d55a226 | |||
4cccdb8a98 | |||
54045f95ca | |||
ee6c7cbc59 | |||
00508dc778 | |||
a3ff1bfda7 | |||
f57888eb4b | |||
b2c703c173 | |||
9053b9635e | |||
b5e87a46b0 | |||
ddbdb94ba6 | |||
304e3d58ea | |||
ca6a70e555 | |||
9a611b24f3 | |||
77adf26236 | |||
805472482e | |||
01411327b8 | |||
9daa900793 | |||
b862c055ae | |||
7860839220 | |||
e17e8bbb6f | |||
136d0683b0 | |||
0eded8f5a9 | |||
f62eb0fee9 | |||
077bf11e45 | |||
ebdbd6a84a | |||
69975c2fdd | |||
9aac6a65c6 | |||
7d7c206f24 | |||
15690d853c | |||
14ddca3875 | |||
a8b4df6eae | |||
0683fa6b97 | |||
808c680184 | |||
2bb0a61a89 | |||
dfa129febf | |||
3b49d233f8 | |||
f08d7df419 | |||
cd94d79cbb | |||
2314133112 | |||
06a47a7bd3 | |||
05a785ebd0 | |||
2ee5835186 | |||
19e1abe110 | |||
d19441f3ae | |||
6e3ee05cb6 | |||
51476ad06f | |||
1f998168e2 | |||
e72011f1da | |||
0df3e22e51 | |||
5a9530ccd4 | |||
0a4d119d86 | |||
2ee0e07bb6 | |||
533c9a4fe1 | |||
30c000116f | |||
dc649fe420 | |||
4a8ec173ae | |||
26d6fe9a4e | |||
46f5175a0d | |||
f704e7a602 | |||
8cefcaa55f | |||
164c6505f2 | |||
0a1b83c70f | |||
e60048eb96 | |||
8957eec475 | |||
e790af566c | |||
43fe0cd62e | |||
e22a296dc7 | |||
ac19ebc850 | |||
1e0060193a | |||
72271d905d | |||
8d39283d46 | |||
4364122804 | |||
3b6dbd6dc3 | |||
7c61fc37c5 | |||
f530b5237d | |||
9b9b6ade64 | |||
e184c1cdfb | |||
e0e4b43707 | |||
1d70b33894 | |||
44ea1be930 | |||
a1bf54fe16 | |||
88c57359b3 | |||
050564f717 | |||
75d59a9c9b | |||
9139c863bf | |||
84a1ec01bc | |||
36e59c5b5f | |||
5389b16c59 | |||
da3008af1c | |||
6637766554 | |||
2bc63631a4 | |||
5215721942 | |||
d02e14cb94 | |||
fa75b40dfd | |||
f32d8b7069 | |||
90e8527556 | |||
66377d3f27 | |||
c6ae93df80 | |||
55e9099091 | |||
c6ace29446 | |||
b0b885aacd | |||
3615b5d353 | |||
74c71e6283 | |||
9b07c5af05 | |||
cda1803e59 | |||
96eab7e12b | |||
916512fd47 | |||
58d3a37908 | |||
a19e252c9e | |||
63225ed0fd | |||
11cc9cbc7c | |||
36b9a0d42f | |||
e7da10ae58 | |||
f07047d1e8 |
13
.babelrc
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"plugins": [
|
||||
[
|
||||
"@babel/plugin-transform-runtime",
|
||||
{
|
||||
"corejs": {
|
||||
"version": 3,
|
||||
"proposals": true
|
||||
}
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
@ -142,6 +142,11 @@ id: 'aid'
|
||||
# Proxy for HTTP/HTTPS
|
||||
#proxy: http://127.0.0.1:3128
|
||||
|
||||
#proxyBypassHosts: [
|
||||
# 'example.com',
|
||||
# '192.0.2.8'
|
||||
#]
|
||||
|
||||
# Proxy for SMTP/SMTPS
|
||||
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT
|
||||
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
|
||||
|
2
.github/workflows/docker.yml
vendored
@ -11,7 +11,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v2
|
||||
- name: Pull previous build result (for cache)
|
||||
run: docker pull misskey/misskey:latest
|
||||
- name: Build docker container
|
||||
|
4
.github/workflows/nodejs.yml
vendored
@ -12,7 +12,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [11.10.x, 12.x]
|
||||
node-version: [12.x, 14.x]
|
||||
|
||||
services:
|
||||
postgres:
|
||||
@ -28,7 +28,7 @@ jobs:
|
||||
- 6379:6379
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
|
@ -1,4 +1,7 @@
|
||||
{
|
||||
"extension": ["ts","js","cjs","mjs"],
|
||||
"require": "ts-node/register",
|
||||
"slow": 1000,
|
||||
"timeout": 30000,
|
||||
"slow": 1000
|
||||
"exit": true
|
||||
}
|
||||
|
157
CHANGELOG.md
@ -1,6 +1,163 @@
|
||||
ChangeLog
|
||||
=========
|
||||
|
||||
12.38.0 (2020/5/17)
|
||||
-------------------
|
||||
### ✨Improvements
|
||||
* Renoteの削除をわかりやすく [#6366](https://github.com/syuilo/misskey/pull/6366), [#6373](https://github.com/syuilo/misskey/pull/6373)
|
||||
* Unicode 13.0の絵文字に対応 [#6365](https://github.com/syuilo/misskey/pull/6365)
|
||||
* リレーのHTTP-Signatureは投稿者の鍵でするように [#6357](https://github.com/syuilo/misskey/pull/6357)
|
||||
* 追加のAPオブジェクトをキャッシュ出来るように [#6349](https://github.com/syuilo/misskey/pull/6349)
|
||||
* ローカルのみボタンを公開範囲ボタンの横に移動 [51cf097](https://github.com/syuilo/misskey/commit/51cf0970b3b990cd67c94c5fcc5d7c1c3f7f13df)
|
||||
* 公開範囲がローカルのみであることを表示するように [#6291](https://github.com/syuilo/misskey/pull/6291)
|
||||
* Roomに藍ちゃん人形と札束を追加 [#6350](https://github.com/syuilo/misskey/pull/6350), [6cee608](https://github.com/syuilo/misskey/commit/6cee608c91850c035c35f605296410e72d1ef793), [7dd8dbe](https://github.com/syuilo/misskey/commit/7dd8dbeb5b2f33b679248ecc2138f556b72d9a06)
|
||||
* ユーザーページの画像欄の画像をクリックしたとき、UIが再読み込みされないように [ca2a33e](https://github.com/syuilo/misskey/commit/ca2a33edc928c0dfe59f50502d3eedb9e97e88db)
|
||||
|
||||
### 🐛Fixes
|
||||
* reCAPTCHAが動かなくなっているのを修正 [#6367](https://github.com/syuilo/misskey/pull/6367)
|
||||
* インスタンスブロックがリレーに適用されない問題を修正 [#6355](https://github.com/syuilo/misskey/pull/6355)
|
||||
* リレーに不正なURLを追加できてしまう問題を修正 [#6351](https://github.com/syuilo/misskey/pull/6351)
|
||||
* Pages: Mk:api関数にトークンを渡せない問題を修正 [9244efe](https://github.com/syuilo/misskey/commit/9244efe3513dd72be04d7588dea8ec27509e96d1)
|
||||
* nyaizeが適用されるとMFMのオプションが失われるのを修正 [#6371](https://github.com/syuilo/misskey/pull/6371)
|
||||
* 上流ノートの削除に伴うノートの削除が連合リレーに伝達されない問題を修正 [#6374](https://github.com/syuilo/misskey/pull/6374)
|
||||
* 引用元の削除に伴う引用RNの削除がリモートに伝達されない問題を修正 [#6374](https://github.com/syuilo/misskey/pull/6374)
|
||||
|
||||
12.37.0 (2020/5/10)
|
||||
-------------------
|
||||
### ✨Improvements
|
||||
* Node.js v14をサポート [#6294](https://github.com/syuilo/misskey/pull/6294)
|
||||
* 依存パッケージを最新に [#6297](https://github.com/syuilo/misskey/pull/6297)
|
||||
* nginxサンプルのSSL/TLS設定の変更 [#6298](https://github.com/syuilo/misskey/pull/6298)
|
||||
* DockerイメージでPostgreSQL v12・Node.js v14を使用するように [2bb0a61](https://github.com/syuilo/misskey/commit/2bb0a61a891445df4d78bfc0d4a64551ac9b7a39), [808c680](https://github.com/syuilo/misskey/commit/808c6801843b9e10fa575f5f7fbd3a4a3a80252a)
|
||||
* hCaptchaサポート
|
||||
* サイドバーカスタマイズ機能
|
||||
* LD-Signatureの検証に対応 [#6300](https://github.com/syuilo/misskey/pull/6300)
|
||||
* リモートからの通報の受信に対応 [#6331](https://github.com/syuilo/misskey/pull/6331)
|
||||
* Misskey Rooms復活
|
||||
* ノートへの返信を再帰的に表示するように(threaded replies)
|
||||
* pub-relay [#6341](https://github.com/syuilo/misskey/pull/6341)
|
||||
|
||||
### 🐛Fixes
|
||||
* CatだとMFMでURLプレビューを隠しても表示される問題を修正 [7d7c206](https://github.com/syuilo/misskey/commit/7d7c206f245387d32283fbb4e82bd9d526427936)
|
||||
* アップロードプログレスバーが動かないのを修正 [#6307](https://github.com/syuilo/misskey/pull/6307)
|
||||
* WebAuthnでログインできないのを修正 [#6327](https://github.com/syuilo/misskey/pull/6327)
|
||||
* あなた宛て/メッセージで個々のノートが展開されるのを修正
|
||||
* アンケートへの投票通知が正しく表示されない問題を修正
|
||||
|
||||
12.36.1 (2020/4/23)
|
||||
-------------------
|
||||
### 🐛Fixes
|
||||
* Pagesのifブロックが機能しない [2ee5835](https://github.com/syuilo/misskey/commit/2ee583518608333312caa4c4303a74835b087069)
|
||||
* AiScriptのアップデート
|
||||
|
||||
12.36.0 (2020/4/22)
|
||||
-------------------
|
||||
### ✨Improvements
|
||||
* ドライブの画面を広く [1f99816](https://github.com/syuilo/misskey/commit/1f998168e2f6ff94d0119fe5f95ad03b47d19d60)
|
||||
* ドライブのデフォルトのアップロード先フォルダを設定できるように [1f99816](https://github.com/syuilo/misskey/commit/1f998168e2f6ff94d0119fe5f95ad03b47d19d60)
|
||||
* AiScriptのアップデート
|
||||
* Webpackを5に [e72011f](https://github.com/syuilo/misskey/commit/e72011f1dafc11ea70dd60b653d25b0e48832cce)
|
||||
|
||||
### 🐛Fixes
|
||||
* WebUIでアンテナを保存するとexcludeKeywordsに空文字列が入るせいで動かない [5a9530c](https://github.com/syuilo/misskey/commit/5a9530ccd4249cf37d50769015adbffba34014ab)
|
||||
* 管理画面のカスタム絵文字でカテゴリが空だと更新できない [0df3e22](https://github.com/syuilo/misskey/commit/0df3e22e519d854c88ae8f5eabdc8eee4b18aeed)
|
||||
|
||||
12.35.2 (2020/4/19)
|
||||
-------------------
|
||||
### ✨Improvements
|
||||
* Pagesの環境変数を調整 [0a1b83c](https://github.com/syuilo/misskey/commit/0a1b83c70fc546d7514176a220e1381ecc0b13ec)
|
||||
* Pagesのチャートを調整 [f704e7a](https://github.com/syuilo/misskey/commit/f704e7a6025cb3f8ec7e474df70de1b171722bde)
|
||||
* AiScriptのアップデート
|
||||
* デザインの調整
|
||||
|
||||
### 🐛Fixes
|
||||
* 画像のみのノートができない問題を修正 [8cefcaa](https://github.com/syuilo/misskey/commit/8cefcaa55f86e03f3965c5cb419787778681c269)
|
||||
|
||||
12.35.1 (2020/4/19)
|
||||
-------------------
|
||||
### 🐛Fixes
|
||||
* Pagesのチャート描画を調整
|
||||
|
||||
12.35.0 (2020/4/19)
|
||||
-------------------
|
||||
### ✨Improvements
|
||||
* Pagesでチャートを描画できるように
|
||||
* Pagesでキャンバスの画像を投稿フォームで添付できるように
|
||||
* AiScriptのバージョンアップ
|
||||
|
||||
### 🐛Fixes
|
||||
* タイムラインウィジェットの数が多ければ多いほど、リアクションが多く付いて見える問題を修正
|
||||
* カスタム絵文字リアクションがプレビューされない不具合を修正
|
||||
|
||||
12.34.0 (2020/4/17)
|
||||
-------------------
|
||||
### ✨Improvements
|
||||
* Pagesでrectメソッドを追加
|
||||
* AiScriptのバージョンアップ
|
||||
|
||||
12.33.0 (2020/4/16)
|
||||
-------------------
|
||||
### ✨Improvements
|
||||
* Pagesで円を書くメソッドを追加
|
||||
* AiScriptのバージョンアップ
|
||||
|
||||
### 🐛Fixes
|
||||
* PagesでAiScript変数があると編集が機能しなくなる問題を修正
|
||||
|
||||
12.32.0 (2020/4/16)
|
||||
-------------------
|
||||
### ✨Improvements
|
||||
* Pagesで画像を描画できるように
|
||||
* AiScriptのバージョンアップ
|
||||
* 0以下のリアクションは送らないように
|
||||
|
||||
### 🐛Fixes
|
||||
* リアクションの修正
|
||||
* Fix Media List in CW Content
|
||||
|
||||
12.31.0 (2020/4/14)
|
||||
-------------------
|
||||
### ✨Improvements
|
||||
* プロキシの除外ホスト指定とオブジェクトストレージへの適用を除外するオプション
|
||||
* AiScript
|
||||
* モデレーション関連機能
|
||||
* sensitiveではないメディアも非表示にできるように
|
||||
* 投稿のURLプレビューポップアップを改良
|
||||
* リモートのカスタム絵文字リアクションを表示できるように
|
||||
|
||||
### 🐛Fixes
|
||||
* リアクションカウントがおかしくなることがあるのを修正
|
||||
|
||||
12.30.0 (2020/4/11)
|
||||
-------------------
|
||||
### ✨Improvements
|
||||
* リクエストライブラリをrequestからnode-fetchに変更
|
||||
* オブジェクトストレージのhttpスキーマリクエストでもProxyが適用されるように
|
||||
* DNSキャッシュとKeep-Alive適用箇所を増やす
|
||||
* ドイツ語と中国語(繁体)を有効に
|
||||
* NSFWを再度隠せるように
|
||||
* Implement AiScript scratchpad (/scratchpad)
|
||||
|
||||
### 🐛Fixes
|
||||
* APのurl処理の修正
|
||||
|
||||
12.29.0 (2020/4/5)
|
||||
-------------------
|
||||
### ✨Improvements
|
||||
* トークン系の乱数ソースではcryptoを使うように
|
||||
* broadcast stream が追加され emojiAdded イベントをサポート
|
||||
* APIリファレンスの高速化等
|
||||
* Ability to set header image for a Page
|
||||
* ログの改善
|
||||
|
||||
### 🐛Fixes
|
||||
* アプリ一覧に1回も使用していないアプリが表示されないのを修正
|
||||
* admin/accounts/createで一般ユーザーがアカウントを作成し放題なのを修正
|
||||
* 翻訳の未適用箇所を修正
|
||||
* APIの権限設定漏れを修正
|
||||
* インストール直後にアクティビティが飛んで来たりするともう初期管理者セットアップがができなくなるのを修正
|
||||
* リモート投稿でurlがあればそちらをリンクするように修正
|
||||
|
||||
12.28.0 (2020/3/29)
|
||||
-------------------
|
||||
### ✨Improvements
|
||||
|
4
COPYING
@ -13,3 +13,7 @@ https://github.com/twitter/twemoji-parser/blob/master/LICENSE.md
|
||||
Emoji keywords for Unicode 11 and below by Mu-An Chiou
|
||||
License: MIT
|
||||
https://github.com/muan/emojilib/blob/master/LICENSE
|
||||
|
||||
RsaSignature2017 implementation by Transmute Industries Inc
|
||||
License: MIT
|
||||
https://github.com/transmute-industries/RsaSignature2017/blob/master/LICENSE
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM node:12.11.1-alpine AS base
|
||||
FROM node:14.2.0-alpine AS base
|
||||
|
||||
ENV NODE_ENV=production
|
||||
|
||||
@ -22,7 +22,7 @@ RUN apk add --no-cache \
|
||||
python \
|
||||
zlib-dev
|
||||
|
||||
COPY package.json ./
|
||||
COPY package.json yarn.lock ./
|
||||
RUN yarn install
|
||||
COPY . ./
|
||||
RUN yarn build
|
||||
|
34
README.md
@ -114,19 +114,20 @@ Please see the [Contribution Guide](./CONTRIBUTING.md).
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12190916/fb7fa7983c14425f890369535b1506a4/3.png?token-time=2145916800&token-hash=oH_i7gJjNT7Ot6j9JiVwy7ZJIBqACVnzLqlz4YrDAZA%3D" alt="weepjp " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/605366/c9dc408fdcbf412fb183ca5b06235f8d/1.jpeg?token-time=2145916800&token-hash=oaqsjLqOFjWN5I9hm2epOaTXaEtKwQUy5OW-EpAz6-g%3D" alt="Jon Leibowitz" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/19045173/cb91c0f345c24d4ebfd05f19906d5e26/1.png?token-time=2145916800&token-hash=o_zKBytJs_AxHwSYw_5R8eD0eSJe3RoTR3kR3Q0syN0%3D" alt="kiritan " width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/27648259" alt="みなしま " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/24430516/b1964ac5b9f746d2a12ff53dbc9aa40a/1.jpg?token-time=2145916800&token-hash=bmEiMGYpp3bS7hCCbymjGGsHBZM3AXuBOFO3Kro37PU%3D" alt="Eduardo Quiros" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/14215107/1cbe1912c26143919fa0faca16f12ce1/3.png?token-time=2145916800&token-hash=Zq1TCK2tdY7xudEm_aV70bc_wxmol6pNj3ZWbpFUNbI%3D" alt="Nesakko " width="100"></td>
|
||||
</tr><tr>
|
||||
<td><a href="https://www.patreon.com/user?u=20832595">Roujo </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=27956229">Oliver Maximilian Seidel</a></td>
|
||||
<td><a href="https://www.patreon.com/weepjp">weepjp </a></td>
|
||||
<td><a href="https://www.patreon.com/jonleibowitz">Jon Leibowitz</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=19045173">kiritan </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=27648259">みなしま </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=24430516">Eduardo Quiros</a></td>
|
||||
<td><a href="https://www.patreon.com/Nesakko">Nesakko </a></td>
|
||||
</tr></table>
|
||||
<table><tr>
|
||||
<td><img src="https://c8.patreon.com/2/200/776209" alt="Denshi " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/14215107/1cbe1912c26143919fa0faca16f12ce1/4.jpg?token-time=2145916800&token-hash=BslMqDjTjz8KYANLvxL87agHTugHa0dMPUzT-hwR6Vk%3D" alt="Nesakko" width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/776209" alt="Demogrognard" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/3075183/c2ae575c604e420297f000ccc396e395/1.jpeg?token-time=2145916800&token-hash=O9qmPtpo6wWb0OuvnkEekhk_1WO2MTdytLr7ZgsAr80%3D" alt="Liaizon Wakest" width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/557245" alt="mkatze " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/23915207/25428766ecd745478e600b3d7f871eb2/1.png?token-time=2145916800&token-hash=urCLLA4KjJZX92Y1CxcBP4d8bVTHGkiaPnQZp-Tqz68%3D" alt="kabo2468y " width="100"></td>
|
||||
@ -135,9 +136,9 @@ Please see the [Contribution Guide](./CONTRIBUTING.md).
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5670915/ee175f0bfb6347ffa4ea101a8c097bff/1.jpg?token-time=2145916800&token-hash=mPLM9CA-riFHx-myr3bLZJuH2xBRHA9se5VbHhLIOuA%3D" alt="osapon " 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/18899730/6a22797f68254034a854d69ea2445fc8/1.png?token-time=2145916800&token-hash=b_uj57yxo5VzkSOUS7oXE_762dyOTB_oxzbO6lFNG3k%3D" alt="YuzuRyo61 " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5788159/af42076ab3354bb49803cfba65f94bee/1.jpg?token-time=2145916800&token-hash=iSaxp_Yr2-ZiU2YVi9rcpZZj9mj3UvNSMrZr4CU4qtA%3D" alt="mewl hayabusa" width="100"></td>
|
||||
</tr><tr>
|
||||
<td><a href="https://www.patreon.com/user?u=776209">Denshi </a></td>
|
||||
<td><a href="https://www.patreon.com/Nesakko">Nesakko</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=776209">Demogrognard</a></td>
|
||||
<td><a href="https://www.patreon.com/wakest">Liaizon Wakest</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=557245">mkatze </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=23915207">kabo2468y </a></td>
|
||||
@ -146,65 +147,68 @@ Please see the [Contribution Guide](./CONTRIBUTING.md).
|
||||
<td><a href="https://www.patreon.com/osapon">osapon </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=16869916">見当かなみ </a></td>
|
||||
<td><a href="https://www.patreon.com/Yuzulia">YuzuRyo61 </a></td>
|
||||
<td><a href="https://www.patreon.com/hs_sh_net">mewl hayabusa</a></td>
|
||||
</tr></table>
|
||||
<table><tr>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5788159/af42076ab3354bb49803cfba65f94bee/1.jpg?token-time=2145916800&token-hash=iSaxp_Yr2-ZiU2YVi9rcpZZj9mj3UvNSMrZr4CU4qtA%3D" alt="mewl hayabusa" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/28779508/3cd4cb7f017f4ee0864341e3464d42f9/1.png?token-time=2145916800&token-hash=eGQtR15be44kgvh8fw2Jx8Db4Bv15YBp2ldxh0EKRxA%3D" alt="S Y" width="100"></td>
|
||||
<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/17866454" alt="sikyosyounin " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3.png?token-time=2145916800&token-hash=KjfQL8nf3AIf6WqzLshBYAyX44piAqOAZiYXgZS_H6A%3D" alt="YUKIMOCHI " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5881381/6235ca5d3fb04c8e95ef5b4ff2abcc18/3.png?token-time=2145916800&token-hash=KjfQL8nf3AIf6WqzLshBYAyX44piAqOAZiYXgZS_H6A%3D" alt="YUKIMOCHI" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/26340354/08834cf767b3449e93098ef73a434e2f/2.png?token-time=2145916800&token-hash=nyM8DnKRL8hR47HQ619mUzsqVRpkWZjgtgBU9RY15Uc%3D" alt="totokoro " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/19356899/496b4681d33b4520bd7688e0fd19c04d/2.jpeg?token-time=2145916800&token-hash=_sTj3dUBOhn9qwiJ7F19Qd-yWWfUqJC_0jG1h0agEqQ%3D" alt="sheeta.s " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5827393/59893c191dda408f9cabd0f20a3a5627/1.jpeg?token-time=2145916800&token-hash=i9N05vOph-eP1LTLb9_npATjYOpntL0ZsHNaZFSsPmE%3D" alt="motcha " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/20494440/540beaf2445f408ea6597bc61e077bb3/1.png?token-time=2145916800&token-hash=UJ0JQge64Bx9XmN_qYA1inMQhrWf4U91fqz7VAKJeSg%3D" alt="axtuki1 " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13737140/1adf7835017d479280d90fe8d30aade2/1.png?token-time=2145916800&token-hash=0pdle8h5pDZrww0BDOjdz6zO-HudeGTh36a3qi1biVU%3D" alt="Satsuki Yanagi" width="100"></td>
|
||||
</tr><tr>
|
||||
<td><a href="https://www.patreon.com/hs_sh_net">mewl hayabusa</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=28779508">S Y</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=17866454">sikyosyounin </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=26340354">totokoro </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=19356899">sheeta.s </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=5827393">motcha </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=20494440">axtuki1 </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=13737140">Satsuki Yanagi</a></td>
|
||||
</tr></table>
|
||||
<table><tr>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/20494440/540beaf2445f408ea6597bc61e077bb3/1.png?token-time=2145916800&token-hash=UJ0JQge64Bx9XmN_qYA1inMQhrWf4U91fqz7VAKJeSg%3D" alt="axtuki1 " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13737140/1adf7835017d479280d90fe8d30aade2/1.png?token-time=2145916800&token-hash=0pdle8h5pDZrww0BDOjdz6zO-HudeGTh36a3qi1biVU%3D" alt="Satsuki Yanagi" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/17880724/311738c8a48f4a6b9443c2445a75adde/1.jpg?token-time=2145916800&token-hash=nVAntpybQrznE0rg05keLrSE6ogPKJXB13rmrJng42c%3D" alt="takimura " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/13100201/fc5be4fa90444f09a9c8a06f72385272/1.png?token-time=2145916800&token-hash=i8PjlgfOB2LPEdbtWyx8ZPsBKhGcNZqcw_FQmH71UGU%3D" alt="aqz tamaina" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/28295158/cd2451bfb94a449dbf705ef4718cd355/2.jpeg?token-time=2145916800&token-hash=MRv3BxufHPuCyiBSxU5UYmLGvD6YZlhtSFRfMWg2k4U%3D" alt="012 " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/9109588/e3cffc48d20a4e43afe04123e696781d/3.png?token-time=2145916800&token-hash=T_VIUA0IFIbleZv4pIjiszZGnQonwn34sLCYFIhakBo%3D" alt="nafuchoco " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/16900731/619ab87cc08448439222631ebb26802f/1.gif?token-time=2145916800&token-hash=o27K7M02s1z-LkDUEO5Oa7cu-GviRXeOXxryi4o_6VU%3D" alt="Atsuko Tominaga" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/4389829/9f709180ac714651a70f74a82f3ffdb9/3.png?token-time=2145916800&token-hash=FTm3WVom4dJ9NwWMU4OpCL_8Yc13WiwEbKrDPyTZTPs%3D" alt="natalie " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/26144593/9514b10a5c1b42a3af58621aee213d1d/1.png?token-time=2145916800&token-hash=v1PYRsjzu4c_mndN4Hvi_dlispZJsuGRCQeNS82pUSM%3D" alt="EBISUME" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5923936/2a743cbfbff946c2af3f09026047c0da/2.png?token-time=2145916800&token-hash=h6yphW1qnM0n_NOWaf8qtszMRLXEwIxfk5beu4RxdT0%3D" alt="noellabo " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/2384390/5681180e1efb46a8b28e0e8d4c8b9037/1.jpg?token-time=2145916800&token-hash=SJcMy-Q1BcS940-LFUVOMfR7-5SgrzsEQGhYb3yowFk%3D" alt="CG " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/18072312/98e894d960314fa7bc236a72a39488fe/1.jpg?token-time=2145916800&token-hash=7bkMqTwHPRsJPGAq42PYdDXDZBVGLqdgr1ZmBxX8GFQ%3D" alt="Hekovic " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/24641572/b4fd175424814f15b0ca9178d2d2d2e4/1.png?token-time=2145916800&token-hash=e2fyqdbuJbpCckHcwux7rbuW6OPkKdERcus0u2wIEWU%3D" alt="uroco @99" width="100"></td>
|
||||
</tr><tr>
|
||||
<td><a href="https://www.patreon.com/user?u=20494440">axtuki1 </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=13737140">Satsuki Yanagi</a></td>
|
||||
<td><a href="https://www.patreon.com/takimura">takimura </a></td>
|
||||
<td><a href="https://www.patreon.com/aqz">aqz tamaina</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=28295158">012 </a></td>
|
||||
<td><a href="https://www.patreon.com/nijimiss">nafuchoco </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=16900731">Atsuko Tominaga</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=4389829">natalie </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=26144593">EBISUME</a></td>
|
||||
<td><a href="https://www.patreon.com/noellabo">noellabo </a></td>
|
||||
<td><a href="https://www.patreon.com/Corset">CG </a></td>
|
||||
<td><a href="https://www.patreon.com/hekovic">Hekovic </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=24641572">uroco @99</a></td>
|
||||
</tr></table>
|
||||
<table><tr>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/24641572/b4fd175424814f15b0ca9178d2d2d2e4/1.png?token-time=2145916800&token-hash=e2fyqdbuJbpCckHcwux7rbuW6OPkKdERcus0u2wIEWU%3D" alt="uroco @99" width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/5731881/4b6038e6cda34c04b83a5fcce3806a93/1.png?token-time=2145916800&token-hash=hBayGfOmQH3kRMdNnDe4oCZD_9fsJWSt29xXR3KRMVk%3D" alt="Nokotaro Takeda" width="100"></td>
|
||||
<td><img src="https://c8.patreon.com/2/200/23932002" alt="nenohi " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/9481273/7fa89168e72943859c3d3c96e424ed31/4.jpeg?token-time=2145916800&token-hash=5w1QV1qXe-NdWbdFmp1H7O_-QBsSiV0haumk3XTHIEg%3D" alt="Efertone " width="100"></td>
|
||||
<td><img src="https://c10.patreonusercontent.com/3/eyJ3IjoyMDB9/patreon-media/p/user/12531784/93a45137841849329ba692da92ac7c60/1.jpeg?token-time=2145916800&token-hash=vGe7wXGqmA8Q7m-kDNb6fyGdwk-Dxk4F-ut8ZZu51RM%3D" alt="Takashi Shibuya" width="100"></td>
|
||||
</tr><tr>
|
||||
<td><a href="https://www.patreon.com/user?u=24641572">uroco @99</a></td>
|
||||
<td><a href="https://www.patreon.com/takenoko">Nokotaro Takeda</a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=23932002">nenohi </a></td>
|
||||
<td><a href="https://www.patreon.com/efertone">Efertone </a></td>
|
||||
<td><a href="https://www.patreon.com/user?u=12531784">Takashi Shibuya</a></td>
|
||||
</tr></table>
|
||||
|
||||
**Last updated:** Fri, 03 Apr 2020 11:52:08 UTC
|
||||
**Last updated:** Tue, 02 Jun 2020 00:00:08 UTC
|
||||
<!-- PATREON_END -->
|
||||
|
||||
[backer-url]: #backers
|
||||
|
@ -24,7 +24,7 @@ services:
|
||||
|
||||
db:
|
||||
restart: always
|
||||
image: postgres:11.2-alpine
|
||||
image: postgres:12.2-alpine
|
||||
networks:
|
||||
- internal_network
|
||||
env_file:
|
||||
|
@ -39,8 +39,8 @@ server {
|
||||
#ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
|
||||
|
||||
# SSL protocol settings
|
||||
ssl_protocols TLSv1 TLSv1.2;
|
||||
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES128-SHA;
|
||||
ssl_protocols TLSv1.2;
|
||||
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES128-SHA;
|
||||
ssl_prefer_server_ciphers on;
|
||||
|
||||
# Change to your upload limit
|
||||
@ -53,6 +53,7 @@ server {
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto https;
|
||||
proxy_set_header Accept-Encoding "";
|
||||
proxy_http_version 1.1;
|
||||
proxy_redirect off;
|
||||
|
||||
|
@ -22,8 +22,8 @@ adduser --disabled-password --disabled-login misskey
|
||||
Please install and setup these softwares:
|
||||
|
||||
#### Dependencies :package:
|
||||
* **[Node.js](https://nodejs.org/en/)** >= 11.10.1
|
||||
* **[PostgreSQL](https://www.postgresql.org/)** >= 10
|
||||
* **[Node.js](https://nodejs.org/en/)** (12.x, 14.x)
|
||||
* **[PostgreSQL](https://www.postgresql.org/)** (>= 10)
|
||||
* **[Redis](https://redis.io/)**
|
||||
|
||||
##### Optional
|
||||
|
@ -22,8 +22,8 @@ adduser --disabled-password --disabled-login misskey
|
||||
Installez les paquets suivants :
|
||||
|
||||
#### Dépendences :package:
|
||||
* **[Node.js](https://nodejs.org/en/)** >= 11.10.1
|
||||
* **[PostgreSQL](https://www.postgresql.org/)** >= 10
|
||||
* **[Node.js](https://nodejs.org/en/)** (12.x, 14.x)
|
||||
* **[PostgreSQL](https://www.postgresql.org/)** (>= 10)
|
||||
* **[Redis](https://redis.io/)**
|
||||
|
||||
##### Optionnels
|
||||
|
@ -22,7 +22,7 @@ adduser --disabled-password --disabled-login misskey
|
||||
これらのソフトウェアをインストール・設定してください:
|
||||
|
||||
#### 依存関係 :package:
|
||||
* **[Node.js](https://nodejs.org/en/)** (11.10.1以上)
|
||||
* **[Node.js](https://nodejs.org/en/)** (12.x, 14.x)
|
||||
* **[PostgreSQL](https://www.postgresql.org/)** (10以上)
|
||||
* **[Redis](https://redis.io/)**
|
||||
|
||||
|
23
gulpfile.ts
@ -5,14 +5,13 @@
|
||||
import * as fs from 'fs';
|
||||
import * as gulp from 'gulp';
|
||||
import * as ts from 'gulp-typescript';
|
||||
import * as mocha from 'gulp-mocha';
|
||||
import * as rimraf from 'rimraf';
|
||||
import * as rename from 'gulp-rename';
|
||||
const cleanCSS = require('gulp-clean-css');
|
||||
const sass = require('gulp-dart-sass');
|
||||
const fiber = require('fibers');
|
||||
|
||||
const locales = require('./locales');
|
||||
const locales: { [x: string]: any } = require('./locales');
|
||||
const meta = require('./package.json');
|
||||
|
||||
gulp.task('build:ts', () => {
|
||||
@ -32,14 +31,20 @@ gulp.task('build:copy:views', () =>
|
||||
gulp.task('build:copy:locales', cb => {
|
||||
fs.mkdirSync('./built/client/assets/locales', { recursive: true });
|
||||
|
||||
const v = { '_version_': meta.version };
|
||||
|
||||
for (const [lang, locale] of Object.entries(locales)) {
|
||||
fs.writeFileSync(`./built/client/assets/locales/${lang}.${meta.version}.json`, JSON.stringify(locale), 'utf-8');
|
||||
fs.writeFileSync(`./built/client/assets/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8');
|
||||
}
|
||||
|
||||
cb();
|
||||
});
|
||||
|
||||
gulp.task('build:copy', gulp.parallel('build:copy:views', 'build:copy:locales', () =>
|
||||
gulp.task('build:copy:fonts', () =>
|
||||
gulp.src('./node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/client/assets/fonts/'))
|
||||
);
|
||||
|
||||
gulp.task('build:copy', gulp.parallel('build:copy:views', 'build:copy:locales', 'build:copy:fonts', () =>
|
||||
gulp.src([
|
||||
'./src/emojilist.json',
|
||||
'./src/server/web/views/**/*',
|
||||
@ -93,14 +98,4 @@ gulp.task('build', gulp.parallel(
|
||||
'build:client',
|
||||
));
|
||||
|
||||
gulp.task('mocha', () =>
|
||||
gulp.src('./test/**/*.ts')
|
||||
.pipe(mocha({
|
||||
exit: true,
|
||||
require: 'ts-node/register'
|
||||
} as any))
|
||||
);
|
||||
|
||||
gulp.task('test', gulp.task('mocha'));
|
||||
|
||||
gulp.task('default', gulp.task('build'));
|
||||
|
411
locales/ar-SA.yml
Normal file
@ -0,0 +1,411 @@
|
||||
---
|
||||
_lang_: "العربية"
|
||||
monthAndDay: "{day}/{month}"
|
||||
search: "البحث"
|
||||
notifications: "الإشعارات"
|
||||
username: "اسم المستخدم"
|
||||
password: "الكلمة السرية"
|
||||
fetchingAsApObject: "جارٍ جلبه مِن الفديفرس…"
|
||||
ok: " حسناً"
|
||||
gotIt: "فهِمت"
|
||||
cancel: " إلغاء"
|
||||
enterUsername: "أدخِل إسم مسخدم"
|
||||
noNotes: "لم يتم العثور على أية ملاحظات"
|
||||
noNotifications: "ليس هناك أية اشعارات"
|
||||
instance: "مثيل الخادم"
|
||||
settings: "الاعدادات"
|
||||
profile: "الملف التعريفي"
|
||||
timeline: "الخيط الزمني"
|
||||
login: "لِج"
|
||||
loggingIn: "جارٍ تسجيل الدخول"
|
||||
logout: "الخروج"
|
||||
signup: "أنشئ حسابًا"
|
||||
uploading: "عملية الإرسال جارية"
|
||||
save: "حفظ"
|
||||
users: "المستخدمون"
|
||||
addUser: "اضافة مستخدم"
|
||||
favorite: "إضافة إلى المفضلة"
|
||||
favorites: "المفضلات"
|
||||
unfavorite: "إزالة من المفضلة"
|
||||
pin: "دبّسها على الصفحة الشخصية"
|
||||
delete: "حذف"
|
||||
deleteAndEdit: "إزالة وإعادة الصياغة"
|
||||
addToList: "أضفه إلى قائمة"
|
||||
reply: "رد"
|
||||
loadMore: "عرض المزيد"
|
||||
youGotNewFollower: "يتابعك"
|
||||
import: "استيراد"
|
||||
export: "تصدير"
|
||||
files: "الملفات"
|
||||
download: "تنزيل"
|
||||
lists: "القوائم"
|
||||
noLists: "ليس لديك أية قائمة"
|
||||
note: "ملاحظة"
|
||||
notes: "الملاحظات"
|
||||
following: "المتابَعون"
|
||||
followers: "المتابِعين"
|
||||
followsYou: "يتابعك"
|
||||
createList: "إنشاء قائمة"
|
||||
manageLists: "إدارة القوائم"
|
||||
error: "حدث خطأ ما"
|
||||
retry: "حاول مجددًا"
|
||||
enterListName: "اسم القائمة"
|
||||
privacy: "الخصوصية"
|
||||
makeFollowManuallyApprove: "القبول يدويا طلبات الإشتراك"
|
||||
follow: "تابِع"
|
||||
followRequest: "طلب اشتراك"
|
||||
followRequests: "طلبات الإشتراك"
|
||||
unfollow: "إلغاء الاشتراك"
|
||||
followRequestPending: "طلبات الإشتراك المعلّقة"
|
||||
quote: "اقتبس"
|
||||
pinnedNote: "ملاحظة مدبسة"
|
||||
you: "أنت"
|
||||
clickToShow: "اضغط للعرض"
|
||||
sensitive: "محتوى حساس"
|
||||
add: "إضافة"
|
||||
enterFileName: "ادخل اسم الملف"
|
||||
mute: "اكتم"
|
||||
unmute: "إلغاء الكتم"
|
||||
block: "احجب"
|
||||
unblock: "إلغاء الحجب"
|
||||
selectList: "اختر قائمة"
|
||||
customEmojis: "إيموجي مخصص"
|
||||
addEmoji: "إضافة إيموجي"
|
||||
addAcount: "إضافة حساب"
|
||||
general: "الرئيسية"
|
||||
wallpaper: "خلفية الشاشة"
|
||||
setWallpaper: "استخدم خلفية الشاشة"
|
||||
removeWallpaper: "إزالة خلفية الشاشة"
|
||||
searchWith: "البحث: {q}"
|
||||
youHaveNoLists: "لا تمتلك أية قائمة"
|
||||
proxyAccount: "حساب وكيل البروكسي"
|
||||
host: "المضيف"
|
||||
selectUser: "حدّد مستخدمًا"
|
||||
recipient: "المرسَل إليه·ها"
|
||||
annotation: "التعليقات"
|
||||
federation: "الفديرالية"
|
||||
instances: "مثيل الخادم"
|
||||
latestRequestSentAt: "آخر طلب أرسِل في"
|
||||
charts: "المنحنيات البيانية"
|
||||
perHour: "في الساعة"
|
||||
perDay: "في اليوم"
|
||||
stopActivityDelivery: "وقف إرسال النشاط"
|
||||
blockThisInstance: "احجب مثيل الخادم هذا"
|
||||
operations: "الإجراءات"
|
||||
software: "البرنامج"
|
||||
version: "الإصدار"
|
||||
metadata: "البيانات الوصفية"
|
||||
withNFiles: "{n} ملف (ملفات)"
|
||||
monitor: "شاشة التحكم"
|
||||
jobQueue: "قائمة الانتظار"
|
||||
cpuAndMemory: "وحدة المعالجة المركزية والذاكرة"
|
||||
network: "الشبكة"
|
||||
disk: "قرص التخزين"
|
||||
instanceInfo: "معلومات مثيل الخادم"
|
||||
statistics: "الإحصائيات"
|
||||
clearQueue: "تفريغ قائمة الإنتظار"
|
||||
muteAndBlock: "تم كتمها / تم حجبها"
|
||||
mutedUsers: "الحسابات التي تم كتمها"
|
||||
blockedUsers: "الحسابات التي تم حظرها"
|
||||
noUsers: "ليس هناك مستخدمون"
|
||||
editProfile: "تعديل الملف التعريفي"
|
||||
noteDeleteConfirm: "هل تريد حذف هذه الملاحظة؟"
|
||||
pinLimitExceeded: "لا يمكنك تدبيس الملاحظات بعد الآن."
|
||||
intro: "لقد انتهت عملية تنصيب Misskey. الرجاء إنشاء حساب إداري."
|
||||
done: "تمّ"
|
||||
processing: "المعالجة جارية"
|
||||
preview: "معاينة"
|
||||
default: "افتراضي"
|
||||
noCustomEmojis: "ليس هناك إيموجيات"
|
||||
customEmojisOfRemote: "الإيموجيات القادمة مِن مثيلات الخوادم الأخرى"
|
||||
federating: "الفديرالية جارية"
|
||||
blocked: "محجوب"
|
||||
suspended: "مُعلّق"
|
||||
all: "الكل"
|
||||
notResponding: "لا يستجيب"
|
||||
security: "الأمان"
|
||||
more: "المزيد!"
|
||||
lookup: "البحث"
|
||||
announcements: "الإعلانات"
|
||||
imageUrl: "عنوان URL للصورة"
|
||||
remove: "حذف"
|
||||
removed: "تم حذفه بنجاح"
|
||||
messaging: "الدردشة"
|
||||
upload: "تحميل"
|
||||
fromDrive: "من المخزن"
|
||||
fromUrl: "من عنوان URL"
|
||||
explore: "استكشاف"
|
||||
games: "ألعاب Misskey"
|
||||
messageRead: "مقروءة"
|
||||
tos: "شروط الخدمة"
|
||||
start: "البداية"
|
||||
home: "الرئيسي"
|
||||
activity: "النشاط"
|
||||
images: "الصور"
|
||||
yearsOld: "{age} سنة"
|
||||
registeredDate: "انظم في"
|
||||
location: "المكان"
|
||||
theme: "المظهر"
|
||||
themeForLightMode: "الحلة في الوضع الفاتح"
|
||||
themeForDarkMode: "الحلة في الوضع الداكن"
|
||||
light: "فاتح"
|
||||
dark: "داكن"
|
||||
lightThemes: "الحلة الفاتحة"
|
||||
darkThemes: "الحلة الداكنة"
|
||||
addFile: "إضافة ملف"
|
||||
inputNewFileName: "ادخل الإسم الجديد للملف"
|
||||
inputNewFolderName: "ادخل الإسم الجديد للمجلد"
|
||||
rename: "إعادة التسمية"
|
||||
avatar: "الصورة الرمزية"
|
||||
banner: "الصورة الرأسية"
|
||||
nsfw: "محتوى حساس"
|
||||
reload: "انعش"
|
||||
doNothing: "تجاهل"
|
||||
watch: "راقب"
|
||||
unwatch: "إلغاء المراقبة"
|
||||
accept: "السماح"
|
||||
reject: "رفض"
|
||||
normal: "عادي"
|
||||
instanceName: "اسم مثيل الخادم"
|
||||
instanceDescription: "وصف مثيل الخادم"
|
||||
maintainerName: "المدير"
|
||||
maintainerEmail: "عنوان بريد المدير الإلكتروني"
|
||||
tosUrl: "عنوان URL لشروط الخدمة"
|
||||
thisYear: "هذا العام"
|
||||
thisMonth: "هذا الشهر"
|
||||
today: "اليوم"
|
||||
dayX: "{day}"
|
||||
monthX: "{month}"
|
||||
yearX: "{year}"
|
||||
pages: "الصفحات"
|
||||
connectSerice: "أوصل"
|
||||
disconnectSerice: "قطع الاتصال"
|
||||
enableLocalTimeline: "تفعيل الخيط المحلي"
|
||||
enableGlobalTimeline: "تفعيل الخيط الزمني الشامل"
|
||||
registration: "إنشاء حساب"
|
||||
enableRegistration: "تفعيل إنشاء الحسابات الجديدة"
|
||||
invite: "دعوة"
|
||||
basicInfo: "المعلومات الأساسية "
|
||||
hcaptchaSiteKey: "مفتاح الموقع"
|
||||
hcaptchaSecretKey: "المفتاح السري"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "تمكين reCAPTCHA"
|
||||
recaptchaSiteKey: "مفتاح الموقع"
|
||||
recaptchaSecretKey: "المفتاح السري"
|
||||
antennas: "الهوائيات"
|
||||
manageAntennas: "إدارة الهوائيات"
|
||||
name: "الإسم"
|
||||
antennaSource: "مصدر الهوائي"
|
||||
antennaKeywords: "الكلمات المفتاحية للإستقبال"
|
||||
notesAndReplies: "الملاحظات والردود"
|
||||
withFiles: "بالمرفقات"
|
||||
silence: "اكتم"
|
||||
unsilence: "إلغاء الكتم"
|
||||
popularUsers: "المستخدمون الشائعون"
|
||||
exploreFediverse: "استكشف الفديفرس"
|
||||
userList: "القوائم"
|
||||
about: "عن"
|
||||
aboutMisskey: "عن Misskey"
|
||||
patrons: "الداعمون"
|
||||
administrator: "المدير"
|
||||
token: "الرمز المميز"
|
||||
twoStepAuthentication: "الإستيثاق بعاملَيْن"
|
||||
moderator: "مشرِف"
|
||||
securityKey: "مفتاح الأمان"
|
||||
securityKeyName: "اسم المفتاح"
|
||||
lastUsed: "آخر استخدام"
|
||||
passwordLessLogin: "لِج مِن دون كلمة سرية"
|
||||
resetPassword: "أعد تعيين كلمتك السرية"
|
||||
newPasswordIs: "كلمتك السرية الجديدة هي {password}"
|
||||
share: "شارِك"
|
||||
notFound: "غير موجود"
|
||||
help: "المساعدة"
|
||||
inputMessageHere: "اكتب رسالتك هنا"
|
||||
close: "اغلق"
|
||||
group: "الفريق"
|
||||
groups: "الفِرَق"
|
||||
createGroup: "انشئ فريقًا"
|
||||
invites: "دعوة"
|
||||
groupName: "اسم الفريق"
|
||||
members: "الأعضاء"
|
||||
transfer: "نقل"
|
||||
title: "العنوان"
|
||||
text: "النص"
|
||||
enable: "تشغيل"
|
||||
next: "التالية"
|
||||
retype: "أعد الكتابة"
|
||||
noteOf: "ملاحظات {user}"
|
||||
inviteToGroup: "دعوة إلى فريق"
|
||||
invitationCode: "رمز الدعوة"
|
||||
checking: "التحقق جارٍ"
|
||||
available: "متوفر"
|
||||
unavailable: "غير متوفر"
|
||||
tooShort: "قصير جدًا"
|
||||
tooLong: "طويل جدًا"
|
||||
weakPassword: "الكلمة السرية ضعيفة"
|
||||
normalPassword: "الكلمة السرية جيدة"
|
||||
strongPassword: "الكلمة السرية قوية"
|
||||
passwordMatched: "التطابق صحيح!"
|
||||
passwordNotMatched: "غير متطابقتان"
|
||||
signinWith: "الولوج عبر {x}"
|
||||
or: "أو"
|
||||
uiLanguage: "لغة واجهة المستخدم"
|
||||
doing: "انتظر لحظة"
|
||||
category: "الفئات"
|
||||
tags: "الوسوم"
|
||||
docSource: "مصدر هذا المستند"
|
||||
createAccount: "أنشئ حسابًا"
|
||||
existingAcount: "الحسابات الموجودة"
|
||||
regenerate: "أعِد التوليد"
|
||||
fontSize: "حجم الخط"
|
||||
dashboard: "لوحة التحكم"
|
||||
local: "المحلي"
|
||||
remote: "بُعدي"
|
||||
total: "المجموع"
|
||||
weekOverWeekChanges: "أسبوعيا"
|
||||
dayOverDayChanges: "يوميا"
|
||||
clinetSettings: "إعدادات التطبيق"
|
||||
accountSettings: "إعدادات الحساب"
|
||||
promotion: "ترقية"
|
||||
promote: "روِّج"
|
||||
numberOfDays: "عدد الأيام"
|
||||
hideThisNote: "إخفاء هذه الملاحظة"
|
||||
deleteAll: "حذف الكل"
|
||||
sounds: "الرنات"
|
||||
listen: "استمع"
|
||||
none: "لا شيء"
|
||||
volume: "مستوى الصوت"
|
||||
details: "التفاصيل"
|
||||
chooseEmoji: "اختر إيموجي"
|
||||
recentUsed: "المستخدمة مؤخرا"
|
||||
install: "التثبيت"
|
||||
uninstall: "إلغاء التثبيت"
|
||||
installedApps: "التطبيقات المُخوّلة"
|
||||
lastUsedDate: "آخر استخدام"
|
||||
state: "الحالة"
|
||||
sort: "ترتيب حسب"
|
||||
output: "الخارجة"
|
||||
sidebar: "الشريط الجانبي"
|
||||
addItem: "إضافة عنصر"
|
||||
rooms: "الغرفة"
|
||||
relays: "المُرَحلات"
|
||||
addRelay: "إضافة مُرحّل"
|
||||
addedRelays: "المرحلات التي تم إضافتها"
|
||||
_theme:
|
||||
explore: "استكشف قوالب المظهر"
|
||||
_sfx:
|
||||
note: "الملاحظات"
|
||||
notification: "الإشعارات"
|
||||
chat: "الدردشة"
|
||||
_ago:
|
||||
unknown: "مجهول"
|
||||
future: "المستقبَل"
|
||||
justNow: "اللحظة"
|
||||
secondsAgo: "منذ {n} ثوانٍ"
|
||||
minutesAgo: "منذ {n} دقائق"
|
||||
hoursAgo: "منذ {n} ساعة"
|
||||
daysAgo: "منذ {n} أيام"
|
||||
weeksAgo: "منذ {n} أسابيع"
|
||||
monthsAgo: "منذ {n} أشهر"
|
||||
yearsAgo: "منذ {n} سنوات"
|
||||
_time:
|
||||
second: "ثا"
|
||||
minute: "د"
|
||||
hour: "سا"
|
||||
day: "ي"
|
||||
_tutorial:
|
||||
title: "كيف تستخدم Misskey"
|
||||
step1_1: "مرحبًا!"
|
||||
_2fa:
|
||||
registerKey: "تسجيل مفتاح أمان جديد"
|
||||
_permissions:
|
||||
"write:account": "تعديل معلومات حسابك"
|
||||
"read:notifications": "اظهر الإشعارات"
|
||||
_weekday:
|
||||
sunday: "الأحد"
|
||||
monday: "الإثنين"
|
||||
tuesday: "الثلاثاء"
|
||||
wednesday: "الأربعاء"
|
||||
thursday: "الخميس"
|
||||
friday: "الجمعة"
|
||||
saturday: "السبت"
|
||||
_widgets:
|
||||
memo: "ملاحظة لاصقة"
|
||||
notifications: "الإشعارات"
|
||||
timeline: "الخيط الزمني"
|
||||
calendar: "التقويم"
|
||||
trends: "المتداوَلة"
|
||||
clock: "الساعة"
|
||||
rss: "تدفق RSS"
|
||||
activity: "النشاط"
|
||||
photos: "الصور"
|
||||
_cw:
|
||||
hide: "إخفاء"
|
||||
show: "عرض المزيد"
|
||||
chars: "{count} أحرف"
|
||||
files: "{count} ملفات"
|
||||
_poll:
|
||||
at: "تاريخ الإنتهاء"
|
||||
deadlineDate: "تاريخ الانتهاء"
|
||||
deadlineTime: "سا"
|
||||
duration: "المدة"
|
||||
vote: "قم بالتصويت"
|
||||
showResult: "اعرض النتائج"
|
||||
closed: "انتهى"
|
||||
remainingDays: "{d} أيام و {h} ساعات متبقية"
|
||||
remainingHours: "{h} ساعات و {m} دقائق متبقية"
|
||||
remainingMinutes: "{m} دقائق و {s} ثوانٍ متبقية"
|
||||
remainingSeconds: "{s} ثوانٍ متبقية"
|
||||
_visibility:
|
||||
public: "للعامة"
|
||||
home: "الرئيسي"
|
||||
followers: "المتابِعين"
|
||||
specified: "مباشرة"
|
||||
localOnly: "المحلي فقط"
|
||||
_postForm:
|
||||
replyPlaceholder: "رد على هذه الملاحظة…"
|
||||
quotePlaceholder: "اقتبس هذه الملاحظة…"
|
||||
_profile:
|
||||
name: "الإسم"
|
||||
username: "اسم المستخدم"
|
||||
_exportOrImport:
|
||||
followingList: "المتابَعون"
|
||||
muteList: "اكتم"
|
||||
blockingList: "احجب"
|
||||
userLists: "القوائم"
|
||||
_timelines:
|
||||
home: "الرئيسي"
|
||||
local: "المحلي"
|
||||
social: "الاجتماعي"
|
||||
global: "الشامل"
|
||||
_rooms:
|
||||
_roomType:
|
||||
default: "افتراضي"
|
||||
_furnitures:
|
||||
monitor: "شاشة التحكم"
|
||||
_pages:
|
||||
blocks:
|
||||
image: "الصور"
|
||||
script:
|
||||
categories:
|
||||
list: "القوائم"
|
||||
blocks:
|
||||
_join:
|
||||
arg1: "القوائم"
|
||||
arg2: "فاصل"
|
||||
add: "إضافة"
|
||||
_randomPick:
|
||||
arg1: "القوائم"
|
||||
_dailyRandomPick:
|
||||
arg1: "القوائم"
|
||||
_seedRandomPick:
|
||||
arg2: "القوائم"
|
||||
_pick:
|
||||
arg1: "القوائم"
|
||||
_listLen:
|
||||
arg1: "القوائم"
|
||||
types:
|
||||
array: "القوائم"
|
||||
_notification:
|
||||
youWereFollowed: "يتابعك"
|
||||
|
@ -1,2 +1,3 @@
|
||||
---
|
||||
_lang_: "Čeština"
|
||||
|
||||
|
@ -1,2 +1,3 @@
|
||||
---
|
||||
_lang_: "Dansk"
|
||||
|
||||
|
@ -27,7 +27,7 @@ uploading: "Upload läuft"
|
||||
save: "Speichern"
|
||||
users: "Benutzer"
|
||||
addUser: "Benutzer hinzufügen"
|
||||
favorite: "Favorit"
|
||||
favorite: "Zu Favoriten hinzufügen"
|
||||
favorites: "Favoriten"
|
||||
unfavorite: "Aus Favoriten entfernen"
|
||||
pin: "Anheften"
|
||||
@ -37,21 +37,22 @@ copyLink: "Link kopieren"
|
||||
delete: "Löschen"
|
||||
deleteAndEdit: "Löschen und Bearbeiten"
|
||||
deleteAndEditConfirm: "Möchtest du diese Notiz wirklich löschen und bearbeiten? Alle Reaktionen, Renotes und Antworten dieser Notiz werden verloren gehen."
|
||||
addToList: "Zur Liste hinzufügen"
|
||||
addToList: "Zu Liste hinzufügen"
|
||||
sendMessage: "Nachricht senden"
|
||||
copyUsername: "Benutzernamen kopieren"
|
||||
reply: "Antworten"
|
||||
loadMore: "Zeige mehr"
|
||||
youGotNewFollower: "Sie haben einen neuen Follower"
|
||||
receiveFollowRequest: "Follow-Anfrage erhalten."
|
||||
loadMore: "Mehr anzeigen"
|
||||
youGotNewFollower: "Du hast einen neuen Follower"
|
||||
receiveFollowRequest: "Follow-Anfrage erhalten"
|
||||
followRequestAccepted: "Follow-Anfrage akzeptiert"
|
||||
mention: "Erwähnung"
|
||||
mentions: "Erwähnungen"
|
||||
directNotes: "Direktnachrichten"
|
||||
importAndExport: "Importieren und Exportieren"
|
||||
import: "Importieren"
|
||||
export: "Exportieren"
|
||||
files: "Dateien"
|
||||
download: "Download"
|
||||
download: "Herunterladen"
|
||||
driveFileDeleteConfirm: "Möchtest du die Datei \"{name}\" löschen? Die zugehörige Notiz wird ebenso verschwinden."
|
||||
unfollowConfirm: "Möchtest du {name} nicht mehr folgen?"
|
||||
exportRequested: "Du hast einen Export angefragt. Dies kann etwas Zeit in Anspruch nehmen. Sobald der Export abgeschlossen ist, wird er deiner Drive hinzugefügt."
|
||||
@ -60,8 +61,8 @@ lists: "Listen"
|
||||
noLists: "Du hast keine Listen"
|
||||
note: "Notiz"
|
||||
notes: "Notizen"
|
||||
following: "Folgen"
|
||||
followers: "Folgende"
|
||||
following: "Folgt"
|
||||
followers: "Gefolgt von"
|
||||
followsYou: "Folgt dir"
|
||||
createList: "Liste erstellen"
|
||||
manageLists: "Listen verwalten"
|
||||
@ -73,7 +74,7 @@ makeFollowManuallyApprove: "Follow-Anfragen benötigen Bestätigung"
|
||||
defaultNoteVisibility: "Standardsichtbarkeit"
|
||||
follow: "Folgen"
|
||||
followRequest: "Follow-Anfrage"
|
||||
followRequests: "Follower-Anfragen"
|
||||
followRequests: "Follow-Anfragen"
|
||||
unfollow: "Nicht mehr folgen"
|
||||
followRequestPending: "Ausstehende Follow-Anfrage"
|
||||
enterEmoji: "Gib ein Emoji ein"
|
||||
@ -82,13 +83,13 @@ unrenote: "Renote zurücknehmen"
|
||||
quote: "Zitieren"
|
||||
pinnedNote: "Angepinnte Notiz"
|
||||
you: "Du"
|
||||
clickToShow: "Klicke um diesen Inhalt anzusehen"
|
||||
clickToShow: "Klicke, um diesen Inhalt anzusehen"
|
||||
sensitive: "Dieser Inhalt ist NSFW"
|
||||
add: "Hinzufügen"
|
||||
reaction: "Reaktionen"
|
||||
reactionSettingDescription: "Gib deine Lieblingsreaktionen ein, um sie der Reaktionsauswahl hinzuzufügen."
|
||||
rememberNoteVisibility: "Notizsichtbarkeit merken"
|
||||
attachCancel: "Anhängen abbrechen"
|
||||
attachCancel: "Anhang entfernen"
|
||||
markAsSensitive: "Als sensitiv markieren"
|
||||
unmarkAsSensitive: "Markierung als sensitiv zurücknehmen"
|
||||
enterFileName: "Dateinamen eingeben"
|
||||
@ -104,9 +105,11 @@ suspendConfirm: "Möchtest du diesen Benutzer wirklich sperren?"
|
||||
unsuspendConfirm: "Möchtest du die Sperrung dieses Benutzers wirklich aufheben?"
|
||||
selectList: "Wähle eine Liste aus"
|
||||
customEmojis: "Benutzerdefinierte Emojis"
|
||||
emoji: "Emoji"
|
||||
emojiName: "Emojiname"
|
||||
emojiUrl: "Emoji-URL"
|
||||
addEmoji: "Emoji hinzufügen"
|
||||
settingGuide: "Empfohlene Einstellung"
|
||||
cacheRemoteFiles: "Dateien von anderen Instanzen im Cache speichern"
|
||||
cacheRemoteFilesDescription: "Wenn diese Einstellung deaktiviert ist, werden Dateien anderer Instanzen direkt von dort geladen. Hierdurch wird Speicherplatz gespart, aber mehr Bandbreite verbraucht, da keine Vorschaubilder generiert werden."
|
||||
flagAsBot: "Als Bot markieren"
|
||||
@ -192,7 +195,7 @@ newPassword: "Neues Passwort"
|
||||
newPasswordRetype: "Neues Passwort (wiederholen)"
|
||||
attachFile: "Datei anhängen"
|
||||
more: "Mehr!"
|
||||
featured: "Hervorgehoben"
|
||||
featured: "Beliebt"
|
||||
usernameOrUserId: "Benutzername oder Benutzer-ID"
|
||||
noSuchUser: "Benutzer nicht gefunden"
|
||||
lookup: "Abfragen"
|
||||
@ -239,6 +242,8 @@ drive: "Drive"
|
||||
fileName: "Dateiname"
|
||||
selectFile: "Datei auswählen"
|
||||
selectFiles: "Dateien auswählen"
|
||||
selectFolder: "Wähle einen Ordner"
|
||||
selectFolders: "Wähle Ordner"
|
||||
renameFile: "Datei umbenennen"
|
||||
folderName: "Ordnername"
|
||||
createFolder: "Ordner erstellen"
|
||||
@ -265,6 +270,7 @@ watch: "Beobachten"
|
||||
unwatch: "Nicht mehr beobachten"
|
||||
accept: "Akzeptieren"
|
||||
reject: "Ablehnen"
|
||||
normal: "Normal"
|
||||
instanceName: "Name der Instanz"
|
||||
instanceDescription: "Beschreibung der Instanz"
|
||||
maintainerName: "Betreiber"
|
||||
@ -296,10 +302,15 @@ bannerUrl: "Banner-URL"
|
||||
basicInfo: "Basisdaten"
|
||||
pinnedUsers: "Angepinnte Benutzer"
|
||||
pinnedUsersDescription: "Gib einen Benutzernamen pro Zeile ein. Diese werden im \"Erkunden\" Tab angezeigt."
|
||||
hcaptcha: "hCaptcha"
|
||||
enableHcaptcha: "hCaptcha aktivieren"
|
||||
hcaptchaSiteKey: "Site key"
|
||||
hcaptchaSecretKey: "Secret key"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "reCAPTCHA aktivieren"
|
||||
recaptchaSiteKey: "Site key"
|
||||
recaptchaSecretKey: "Secret key"
|
||||
avoidMultiCaptchaConfirm: "Das Verwenden von mehreren Captcha-Systemen kann zu Störungen führen. Möchtest du die anderen Systeme deaktivieren? Du kannst mehrere aktiviert lassen, in dem du auf Abbrechen drückst."
|
||||
antennas: "Antennen"
|
||||
manageAntennas: "Antennen verwalten"
|
||||
name: "Name"
|
||||
@ -316,9 +327,10 @@ caseSensitive: "Groß-/Kleinschreibung unterscheiden"
|
||||
withReplies: "Antworten beinhalten"
|
||||
connectedTo: "Mit folgenden Benutzerkonten verknüpft"
|
||||
notesAndReplies: "Notizen und Antworten"
|
||||
withFiles: "Dateien beinhalten"
|
||||
withFiles: "Notizen mit Dateien"
|
||||
silence: "Instanzweit stummschalten"
|
||||
silenceConfirm: "Möchtest du diesen Benutzer wirklich instanzweit stummschalten?"
|
||||
unsilence: "Instanzweite Stummschaltung aufheben"
|
||||
unsilenceConfirm: "Möchtest du die instanzweite Stummschaltung dieses Benutzers wirklich aufheben?"
|
||||
popularUsers: "Beliebte Benutzer"
|
||||
recentlyUpdatedUsers: "Vor kurzem aktive Benutzer"
|
||||
@ -331,7 +343,7 @@ userList: "Listen"
|
||||
about: "Über"
|
||||
aboutMisskey: "Über Misskey"
|
||||
aboutMisskeyText: "Misskey ist Open-Source-Software die von syuilo seit 2014 entwickelt wird."
|
||||
misskeyMembers: "Sie wird momentan von den unten aufgelisteten Mitgliedern weiterentwickelt und instand gehalten:"
|
||||
misskeyMembers: "Misskey wird momentan von den unten aufgelisteten Mitgliedern weiterentwickelt und instand gehalten:"
|
||||
misskeySource: "Der Quelltext ist hier verfügbar:"
|
||||
misskeyTranslation: "Hilf dabei, Misskey zu übersetzen:"
|
||||
misskeyDonate: "Spende an Misskey, um die Weiterentwicklung zu unterstützen:"
|
||||
@ -341,7 +353,7 @@ administrator: "Administrator"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Zwei-Faktor-Authentifizierung"
|
||||
moderator: "Moderator"
|
||||
nUsersMentioned: "{n} Benutzer erwähnt"
|
||||
nUsersMentioned: "{n} Benutzer reden darüber"
|
||||
securityKey: "Sicherheitsschlüssel"
|
||||
securityKeyName: "Schlüsselname"
|
||||
registerSecurityKey: "Sicherheitsschlüssel registrieren"
|
||||
@ -350,10 +362,8 @@ unregister: "Deaktivieren"
|
||||
passwordLessLogin: "Passwortloses Anmelden einrichten"
|
||||
resetPassword: "Passwort zurücksetzen"
|
||||
newPasswordIs: "Das neue Passwort ist \"{password}\""
|
||||
post: "Beitrag"
|
||||
posted: "Gesendet"
|
||||
autoReloadWhenDisconnected: "Automatisch aktualisieren wenn die Serververbindung getrennt wird"
|
||||
autoNoteWatch: "Notiz automatisch beobachten"
|
||||
autoNoteWatch: "Notizen automatisch beobachten"
|
||||
autoNoteWatchDescription: "Werde über Notizen, auf die du reagiert oder geantwortet hast, informiert"
|
||||
reduceUiAnimation: "Animationen der Benutzeroberfläche reduzieren"
|
||||
share: "Teilen"
|
||||
@ -372,7 +382,7 @@ groups: "Gruppen"
|
||||
createGroup: "Gruppe erstellen"
|
||||
ownedGroups: "Eigene Gruppen"
|
||||
joinedGroups: "Beigetretene Gruppen"
|
||||
invites: "Einladen"
|
||||
invites: "Einladungen"
|
||||
groupName: "Gruppenname"
|
||||
members: "Mitglieder"
|
||||
transfer: "Übertragen"
|
||||
@ -454,10 +464,12 @@ objectStorageRegion: "Region"
|
||||
objectStorageRegionDesc: "Gib eine Region (wie z.B. \"xx-east-1\") an. Falls dein Anbieter nicht zwischen Regionen unterscheidet, lass dieses Feld leer oder gib \"us-east-1\" an."
|
||||
objectStorageUseSSL: "SSL verwenden"
|
||||
objectStorageUseSSLDesc: "Deaktiviere dies falls du für die API-Verbindungen kein HTTPS verwenden wirst"
|
||||
objectStorageUseProxy: "Über Proxy verbinden"
|
||||
objectStorageUseProxyDesc: "Deaktiviere dies falls du keinen Proxy für den Objektspeicher verwenden wirst"
|
||||
serverLogs: "Serverprotokolle"
|
||||
deleteAll: "Alle löschen"
|
||||
showFixedPostForm: "Bereich zum Schreiben neuer Notizen am Anfang der Chronik anzeigen"
|
||||
newNoteRecived: "Du hast eine neue Notiz empfangen"
|
||||
newNoteRecived: "Es gibt neue Notizen"
|
||||
sounds: "Töne"
|
||||
listen: "Anhören"
|
||||
none: "Keine"
|
||||
@ -476,6 +488,33 @@ state: "Status"
|
||||
sort: "Sortieren"
|
||||
ascendingOrder: "Aufsteigende Reihenfolge"
|
||||
descendingOrder: "Absteigende Reihenfolge"
|
||||
scratchpad: "Testumgebung"
|
||||
scratchpadDescription: "Die Testumgebung bietet eine experimentale Umgebung für AiScript. Dort kannst du AiScript schreiben, ausführen sowie dessen Auswirkungen auf Misskey überprüfen."
|
||||
output: "Ausgabe"
|
||||
script: "Skript"
|
||||
disablePagesScript: "AiScript auf Seiten deaktivieren"
|
||||
updateRemoteUser: "Informationen über den Benutzer der fremder Instanz aktualisieren"
|
||||
deleteAllFiles: "Alle Dateien löschen"
|
||||
deleteAllFilesConfirm: "Möchtest du wirklich alle Dateien löschen?"
|
||||
removeAllFollowing: "Allen gefolgten Benutzern entfolgen"
|
||||
removeAllFollowingDescription: "Allen Benutzerkonten von {host} entfolgen. Bitte führe dies durch, falls diese Instanz nicht mehr existiert."
|
||||
userSuspended: "Dieser Benutzer wurde gesperrt."
|
||||
userSilenced: "Dieser Benutzer wurde instanzweit stummgeschaltet."
|
||||
sidebar: "Seitenleiste"
|
||||
divider: "Trenner"
|
||||
addItem: "Element hinzufügen"
|
||||
rooms: "Raum"
|
||||
relays: "Relays"
|
||||
addRelay: "Relay hinzufügen"
|
||||
inboxUrl: "inbox-URL"
|
||||
addedRelays: "Hinzugefügte Relays"
|
||||
serviceworkerInfo: "Muss für Push-Benachrichtigungen aktiviert sein."
|
||||
deletedNote: "Gelöschte Notiz"
|
||||
invisibleNote: "Private Notiz"
|
||||
enableInfiniteScroll: "Automatisch mehr Notizen laden"
|
||||
visibility: "Sichtbarkeit"
|
||||
poll: "Umfrage"
|
||||
useCw: "Inhalt verstecken"
|
||||
_theme:
|
||||
explore: "Themen erforschen"
|
||||
install: "Thema installieren"
|
||||
@ -503,10 +542,10 @@ _ago:
|
||||
monthsAgo: "vor {n} Monat(en)"
|
||||
yearsAgo: "vor {n} Jahr(en)"
|
||||
_time:
|
||||
second: "Sekunde"
|
||||
minute: "Minute"
|
||||
hour: "Stunde"
|
||||
day: "t"
|
||||
second: "Sekunde(n)"
|
||||
minute: "Minute(n)"
|
||||
hour: "Stunde(n)"
|
||||
day: "Tag(en)"
|
||||
_tutorial:
|
||||
title: "Wie du Misskey verwendest"
|
||||
step1_1: "Willkommen!"
|
||||
@ -599,10 +638,9 @@ _widgets:
|
||||
photos: "Fotos"
|
||||
_cw:
|
||||
hide: "Ausblenden"
|
||||
show: "Zeige mehr"
|
||||
show: "Mehr anzeigen"
|
||||
chars: "{count} Zeichen"
|
||||
files: "{count} Dateien"
|
||||
poll: "Umfrage"
|
||||
_poll:
|
||||
noOnlyOneChoice: "Mindestens zwei Antwortmöglichkeiten werden benötigt."
|
||||
choiceN: "Auswahl {n}"
|
||||
@ -613,7 +651,7 @@ _poll:
|
||||
at: "Beenden am..."
|
||||
after: "Beenden nach..."
|
||||
deadlineDate: "Abstimmungsende"
|
||||
deadlineTime: "Stunde"
|
||||
deadlineTime: "Zeit"
|
||||
duration: "Laufzeit"
|
||||
votesCount: "{n} Stimmen"
|
||||
totalVotes: "Insgesamt {n} Stimmen"
|
||||
@ -635,6 +673,7 @@ _visibility:
|
||||
specified: "Direkt"
|
||||
specifiedDescription: "Nur für bestimmte Benutzer sichtbar"
|
||||
localOnly: "Nur Lokal"
|
||||
localOnlyDescription: "Unsichtbar für Benutzer anderer Instanzen"
|
||||
_postForm:
|
||||
replyPlaceholder: "Dieser Notiz antworten..."
|
||||
quotePlaceholder: "Diese Notiz zitieren..."
|
||||
@ -655,9 +694,9 @@ _profile:
|
||||
metadataContent: "Inhalt"
|
||||
_exportOrImport:
|
||||
allNotes: "Alle Notizen"
|
||||
followingList: "Folgen"
|
||||
muteList: "Stummschalten"
|
||||
blockingList: "Blockieren"
|
||||
followingList: "Gefolgte Benutzer"
|
||||
muteList: "Stummschaltungen"
|
||||
blockingList: "Blockierungen"
|
||||
userLists: "Listen"
|
||||
_charts:
|
||||
federationInstancesIncDec: "Unterschied in der Anzahl von förderierenden Instanzen"
|
||||
@ -667,7 +706,7 @@ _charts:
|
||||
activeUsers: "Aktive Benutzer"
|
||||
notesIncDec: "Unterschied in der Anzahl von Notizen"
|
||||
localNotesIncDec: "Unterschied in der Anzahl von lokalen Notizen"
|
||||
remoteNotesIncDec: "Differenz in Anzahl der Notizen von anderen Instanzen"
|
||||
remoteNotesIncDec: "Unterschied in Anzahl der Notizen von anderen Instanzen"
|
||||
notesTotal: "Anzahl aller Notizen"
|
||||
filesIncDec: "Unterschied in der Anzahl von Dateien"
|
||||
filesTotal: "Anzahl aller Dateien"
|
||||
@ -690,6 +729,68 @@ _timelines:
|
||||
local: "Lokal"
|
||||
social: "Sozial"
|
||||
global: "Global"
|
||||
_rooms:
|
||||
roomOf: "{user}'s Raum"
|
||||
addFurniture: "Möbel hinzufügen"
|
||||
translate: "Bewegen"
|
||||
rotate: "Drehen"
|
||||
exit: "Zurück"
|
||||
remove: "Entfernen"
|
||||
clear: "Aufräumen"
|
||||
clearConfirm: "Möchtest du wirklich alle Möbel entfernen?"
|
||||
leaveConfirm: "Es gibt ungespeicherte Änderungen. Möchtest du wirklich gehen?"
|
||||
chooseImage: "Bild auswählen"
|
||||
roomType: "Raumtyp"
|
||||
carpetColor: "Teppichfarbe"
|
||||
_roomType:
|
||||
default: "Standard"
|
||||
washitsu: "Japanischer Stil"
|
||||
_furnitures:
|
||||
milk: "Milchkarton"
|
||||
bed: "Bett"
|
||||
low-table: "Niedrigtisch"
|
||||
desk: "Schreibtisch"
|
||||
chair: "Stuhl"
|
||||
chair2: "Stuhl 2"
|
||||
fan: "Ventilator"
|
||||
pc: "Computer"
|
||||
plant: "Deko-Pflanze"
|
||||
plant2: "Deko-Pflanze 2"
|
||||
eraser: "Radiergummi"
|
||||
pencil: "Bleistift"
|
||||
pudding: "Pudding"
|
||||
cardboard-box: "Pappkarton"
|
||||
cardboard-box2: "Pappkarton 2"
|
||||
cardboard-box3: "Pappkarton 3"
|
||||
book: "Buch"
|
||||
book2: "Buch 2"
|
||||
piano: "Piano"
|
||||
facial-tissue: "Taschentücher"
|
||||
server: "Server"
|
||||
moon: "Mond"
|
||||
corkboard: "Pinnwand"
|
||||
mousepad: "Mauspad"
|
||||
monitor: "Monitor"
|
||||
keyboard: "Tastatur"
|
||||
carpet-stripe: "Gestreifter Teppich"
|
||||
mat: "Matte"
|
||||
color-box: "Regal"
|
||||
wall-clock: "Wanduhr"
|
||||
photoframe: "Bilderrahmen"
|
||||
cube: "Würfel"
|
||||
tv: "Fernseher"
|
||||
pinguin: "Pinguin"
|
||||
rubik-cube: "Zauberwürfel"
|
||||
poster-h: "Poster (Horizontal)"
|
||||
poster-v: "Poster (Vertikal)"
|
||||
sofa: "Sofa"
|
||||
spiral: "Spiraltreppe"
|
||||
bin: "Papierkorb"
|
||||
cup-noodle: "Instantnudeln"
|
||||
holo-display: "Holographischer Bildschirm"
|
||||
energy-drink: "Energy Drink"
|
||||
doll-ai: "Ai-Puppe"
|
||||
banknote: "Geldscheine"
|
||||
_pages:
|
||||
newPage: "Seite erstellen"
|
||||
editPage: "Diese Seite bearbeiten"
|
||||
@ -739,6 +840,8 @@ _pages:
|
||||
post: "Neue Notiz anfertigen"
|
||||
_post:
|
||||
text: "Inhalt"
|
||||
attachCanvasImage: "Leinwand als Bild anfügen"
|
||||
canvasId: "Leinwand-ID"
|
||||
textInput: "Texteingabe"
|
||||
_textInput:
|
||||
name: "Variablenname"
|
||||
@ -754,6 +857,11 @@ _pages:
|
||||
name: "Variablenname"
|
||||
text: "Titel"
|
||||
default: "Standardwert"
|
||||
canvas: "Leinwand"
|
||||
_canvas:
|
||||
id: "Leinwand-ID"
|
||||
width: "Breite"
|
||||
height: "Höhe"
|
||||
switch: "Fallunterscheidung"
|
||||
_switch:
|
||||
name: "Variablenname"
|
||||
@ -779,6 +887,9 @@ _pages:
|
||||
message: "Nachricht, die bei Aktivierung gezeigt werden soll"
|
||||
variable: "Variable, die gesendet werden soll"
|
||||
no-variable: "Keine"
|
||||
callAiScript: "AiScript ausführen"
|
||||
_callAiScript:
|
||||
functionName: "Funktionsname"
|
||||
radioButton: "Optionsfeld"
|
||||
_radioButton:
|
||||
name: "Variablenname"
|
||||
@ -939,6 +1050,7 @@ _pages:
|
||||
_splitStrByLine:
|
||||
arg1: "Text"
|
||||
ref: "Variablen"
|
||||
aiScriptVar: "AiScript Variablen"
|
||||
fn: "Funktionen"
|
||||
_fn:
|
||||
slots: "Slots"
|
||||
@ -960,3 +1072,21 @@ _pages:
|
||||
enviromentVariables: "Umgebungsvariable"
|
||||
pageVariables: "Seitenelement"
|
||||
argVariables: "Eingabe-Slot"
|
||||
_relayStatus:
|
||||
requesting: "Ausstehend"
|
||||
accepted: "Akzeptiert"
|
||||
rejected: "Abgelehnt"
|
||||
_notification:
|
||||
fileUploaded: "Datei erfolgreich hochgeladen"
|
||||
youGotMention: "{name} hat dich erwähnt"
|
||||
youGotReply: "{name} hat dir geantwortet"
|
||||
youGotQuote: "{name} hat dich zitiert"
|
||||
youRenoted: "Renote deiner Notiz von {name}"
|
||||
youGotPoll: "{name} hat auf deiner Umfrage abgestimmt"
|
||||
youGotMessagingMessageFromUser: "{name} hat dir eine Privatnachricht gesendet"
|
||||
youGotMessagingMessageFromGroup: "In die Gruppe {name} wurde eine Privatnachricht gesendet"
|
||||
youWereFollowed: "Du hast einen neuen Follower"
|
||||
youReceivedFollowRequest: "Du hast eine Follow-Anfrage erhalten"
|
||||
yourFollowRequestAccepted: "Deine Follow-Anfrage wurde akzeptiert"
|
||||
youWereInvitedToGroup: "Du wurdest in eine Gruppe eingeladen"
|
||||
|
||||
|
@ -45,6 +45,7 @@ loadMore: "Load more"
|
||||
youGotNewFollower: "Followed you"
|
||||
receiveFollowRequest: "Follow request received"
|
||||
followRequestAccepted: "Follow request accepted"
|
||||
mention: "Mention"
|
||||
mentions: "Mentions"
|
||||
directNotes: "Direct notes"
|
||||
importAndExport: "Import / Export"
|
||||
@ -104,9 +105,11 @@ suspendConfirm: "Are you sure that you want to suspend this account?"
|
||||
unsuspendConfirm: "Are you sure you that want to unsuspend this account?"
|
||||
selectList: "Select a list"
|
||||
customEmojis: "Custom Emoji"
|
||||
emoji: "Emoji"
|
||||
emojiName: "Emoji name"
|
||||
emojiUrl: "Emoji URL"
|
||||
addEmoji: "Add an emoji"
|
||||
settingGuide: "Suggested Configuration"
|
||||
cacheRemoteFiles: "Cache remote files"
|
||||
cacheRemoteFilesDescription: "When this setting is disabled, remote files are loaded directly from the remote instance. Disabling this will decrease storage usage, but will increase traffic, because thumbnails will not be generated."
|
||||
flagAsBot: "This account is a bot"
|
||||
@ -239,6 +242,8 @@ drive: "Drive"
|
||||
fileName: "Filename"
|
||||
selectFile: "Select a file"
|
||||
selectFiles: "Select files"
|
||||
selectFolder: "Select a folder"
|
||||
selectFolders: "Select folders"
|
||||
renameFile: "Rename file"
|
||||
folderName: "Folder name"
|
||||
createFolder: "Create a folder"
|
||||
@ -265,6 +270,7 @@ watch: "Watch"
|
||||
unwatch: "Undo Watch"
|
||||
accept: "Accept"
|
||||
reject: "Reject"
|
||||
normal: "Normal"
|
||||
instanceName: "Instance name"
|
||||
instanceDescription: "Instance description"
|
||||
maintainerName: "Maintainer"
|
||||
@ -296,10 +302,15 @@ bannerUrl: "Banner image URL"
|
||||
basicInfo: "Basic info"
|
||||
pinnedUsers: "Pinned user"
|
||||
pinnedUsersDescription: "List one username per line. Users listed here will be pinned under \"Explore\" tab."
|
||||
hcaptcha: "hCaptcha"
|
||||
enableHcaptcha: "Enable hCaptcha"
|
||||
hcaptchaSiteKey: "Site key"
|
||||
hcaptchaSecretKey: "Secret key"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Enable reCAPTCHA"
|
||||
recaptchaSiteKey: "Site key"
|
||||
recaptchaSecretKey: "Secret key"
|
||||
avoidMultiCaptchaConfirm: "Using multiple Captchas may cause interference. Would you like to disable the other Captcha? You can leave multiple Captchas enabled by press cancel."
|
||||
antennas: "Antennas"
|
||||
manageAntennas: "Manage Antennas"
|
||||
name: "Name"
|
||||
@ -319,6 +330,7 @@ notesAndReplies: "Notes and replies"
|
||||
withFiles: "Media"
|
||||
silence: "Silence"
|
||||
silenceConfirm: "Are you sure that you want to silence this user?"
|
||||
unsilence: "Unsilence"
|
||||
unsilenceConfirm: "Are you sure that you want to undo silence of this user?"
|
||||
popularUsers: "Trending users"
|
||||
recentlyUpdatedUsers: "Users with recent activity"
|
||||
@ -350,8 +362,6 @@ unregister: "Unregister"
|
||||
passwordLessLogin: "Set up password-less login"
|
||||
resetPassword: "Reset password"
|
||||
newPasswordIs: "The new password is \"{password}\""
|
||||
post: "Post"
|
||||
posted: "Posted!"
|
||||
autoReloadWhenDisconnected: "Auto refresh when disconnected from server"
|
||||
autoNoteWatch: "Watch note automatically"
|
||||
autoNoteWatchDescription: "Get notified about the notes which you reactioned or replied."
|
||||
@ -454,6 +464,8 @@ objectStorageRegion: "Region"
|
||||
objectStorageRegionDesc: "Specify a region like 'xx-east-1'. If your service does not have distinction about regions, leave it blank or fill with 'us-east-1'."
|
||||
objectStorageUseSSL: "Use SSL"
|
||||
objectStorageUseSSLDesc: "Turn off this if you are not going to use HTTPS for API connection"
|
||||
objectStorageUseProxy: "Connect over Proxy"
|
||||
objectStorageUseProxyDesc: "Turn off this if you are not going to use Proxy for ObjectStorage connection"
|
||||
serverLogs: "Server logs"
|
||||
deleteAll: "Delete all"
|
||||
showFixedPostForm: "Display the posting form at the top of the timeline"
|
||||
@ -476,6 +488,33 @@ state: "State"
|
||||
sort: "Sort"
|
||||
ascendingOrder: "Ascending"
|
||||
descendingOrder: "Descending"
|
||||
scratchpad: "Scratch pad"
|
||||
scratchpadDescription: "Scratchpad provides experimental environment for AiScript. You can write, execute, and check the results that interact with Misskey."
|
||||
output: "Output"
|
||||
script: "Script"
|
||||
disablePagesScript: "Disable AiScript on Pages"
|
||||
updateRemoteUser: "Update remote user information"
|
||||
deleteAllFiles: "Delete All Files"
|
||||
deleteAllFilesConfirm: "Are you sure that you want to delete all files?"
|
||||
removeAllFollowing: "Withhold All Followings"
|
||||
removeAllFollowingDescription: "Unfollow all accounts from {host}. Please run this if the instance no longer exists."
|
||||
userSuspended: "This user has been suspended."
|
||||
userSilenced: "This user has been silenced."
|
||||
sidebar: "Sidebar"
|
||||
divider: "Divider"
|
||||
addItem: "Add Item"
|
||||
rooms: "Room"
|
||||
relays: "Relays"
|
||||
addRelay: "Add Relay"
|
||||
inboxUrl: "Inbox URL"
|
||||
addedRelays: "Added Relays"
|
||||
serviceworkerInfo: "Must be enabled for push notifications."
|
||||
deletedNote: "Deleted note"
|
||||
invisibleNote: "Invisible note"
|
||||
enableInfiniteScroll: "Enable infinite scrolling"
|
||||
visibility: "Visiblility"
|
||||
poll: "Poll"
|
||||
useCw: "Hide content"
|
||||
_theme:
|
||||
explore: "Explore Themes"
|
||||
install: "Install theme"
|
||||
@ -602,7 +641,6 @@ _cw:
|
||||
show: "Load more"
|
||||
chars: "{count} characters"
|
||||
files: "{count} file(s)"
|
||||
poll: "Poll"
|
||||
_poll:
|
||||
noOnlyOneChoice: "At least two choices are needed"
|
||||
choiceN: "Choice {n}"
|
||||
@ -635,6 +673,7 @@ _visibility:
|
||||
specified: "Direct"
|
||||
specifiedDescription: "Post to specified users only"
|
||||
localOnly: "Local only"
|
||||
localOnlyDescription: "Not visible to remote users"
|
||||
_postForm:
|
||||
replyPlaceholder: "Reply to this note..."
|
||||
quotePlaceholder: "Quote this note..."
|
||||
@ -690,6 +729,68 @@ _timelines:
|
||||
local: "Local"
|
||||
social: "Social"
|
||||
global: "Global"
|
||||
_rooms:
|
||||
roomOf: "{user}'s room"
|
||||
addFurniture: "Place furniture"
|
||||
translate: "Move"
|
||||
rotate: "Rotate"
|
||||
exit: "Back"
|
||||
remove: "Remove"
|
||||
clear: "Remove All"
|
||||
clearConfirm: "Are you sure to remove all furnitures in your room?"
|
||||
leaveConfirm: "There are unsaved changes. Do you really want to leave?"
|
||||
chooseImage: "Select an image"
|
||||
roomType: "Room type"
|
||||
carpetColor: "Color of carpet"
|
||||
_roomType:
|
||||
default: "Default"
|
||||
washitsu: "Japanese-style"
|
||||
_furnitures:
|
||||
milk: "Milk carton"
|
||||
bed: "Bed"
|
||||
low-table: "Low Table"
|
||||
desk: "Desk"
|
||||
chair: "Chair"
|
||||
chair2: "Chair 2"
|
||||
fan: "Fan"
|
||||
pc: "Computer"
|
||||
plant: "Houseplant"
|
||||
plant2: "Houseplant 2"
|
||||
eraser: "Eraser"
|
||||
pencil: "Pencil"
|
||||
pudding: "Pudding"
|
||||
cardboard-box: "Cardboard Box"
|
||||
cardboard-box2: "Cardboard Box 2"
|
||||
cardboard-box3: "Cardboard Box 3"
|
||||
book: "Book"
|
||||
book2: "Book 2"
|
||||
piano: "Piano"
|
||||
facial-tissue: "Facial tissue"
|
||||
server: "Servers"
|
||||
moon: "Moon"
|
||||
corkboard: "Cork board"
|
||||
mousepad: "Mousepad"
|
||||
monitor: "Monitor"
|
||||
keyboard: "Keyboard"
|
||||
carpet-stripe: "Carpet (stripe)"
|
||||
mat: "Mat"
|
||||
color-box: "Bookshelf"
|
||||
wall-clock: "Wall clock"
|
||||
photoframe: "Picture frame"
|
||||
cube: "Cube"
|
||||
tv: "TV"
|
||||
pinguin: "Penguin"
|
||||
rubik-cube: "Rubik's Cube"
|
||||
poster-h: "Poster (Horizontal)"
|
||||
poster-v: "Poster (Vertical)"
|
||||
sofa: "Sofa"
|
||||
spiral: "Spiral Staircase"
|
||||
bin: "Waste bin"
|
||||
cup-noodle: "Cup noodle"
|
||||
holo-display: "Holographic display"
|
||||
energy-drink: "Energy drink"
|
||||
doll-ai: "Ai doll"
|
||||
banknote: "Pile of money"
|
||||
_pages:
|
||||
newPage: "Create a page"
|
||||
editPage: "Edit this page"
|
||||
@ -739,6 +840,8 @@ _pages:
|
||||
post: "Compose a note"
|
||||
_post:
|
||||
text: "Content"
|
||||
attachCanvasImage: "Post with Canvas as Image"
|
||||
canvasId: "Canvas ID"
|
||||
textInput: "Text input"
|
||||
_textInput:
|
||||
name: "Variable name"
|
||||
@ -754,6 +857,11 @@ _pages:
|
||||
name: "Variable name"
|
||||
text: "Title"
|
||||
default: "Default value"
|
||||
canvas: "Canvas"
|
||||
_canvas:
|
||||
id: "Canvas ID"
|
||||
width: "Width"
|
||||
height: "Height"
|
||||
switch: "Switch"
|
||||
_switch:
|
||||
name: "Variable name"
|
||||
@ -779,6 +887,9 @@ _pages:
|
||||
message: "Message to display when activated"
|
||||
variable: "Variable to send"
|
||||
no-variable: "None"
|
||||
callAiScript: "Invoke AiScript"
|
||||
_callAiScript:
|
||||
functionName: "Function name"
|
||||
radioButton: "Choice"
|
||||
_radioButton:
|
||||
name: "Variable name"
|
||||
@ -939,6 +1050,7 @@ _pages:
|
||||
_splitStrByLine:
|
||||
arg1: "Text"
|
||||
ref: "Variables"
|
||||
aiScriptVar: "Variable of AiScript"
|
||||
fn: "Functions"
|
||||
_fn:
|
||||
slots: "Slots"
|
||||
@ -960,3 +1072,21 @@ _pages:
|
||||
enviromentVariables: "Environment variable"
|
||||
pageVariables: "Page element"
|
||||
argVariables: "Input slot"
|
||||
_relayStatus:
|
||||
requesting: "Pending"
|
||||
accepted: "Accepted"
|
||||
rejected: "Rejected"
|
||||
_notification:
|
||||
fileUploaded: "File successfully uploaded"
|
||||
youGotMention: "{name} mentioned you"
|
||||
youGotReply: "{name} replied to you"
|
||||
youGotQuote: "{name} quoted you"
|
||||
youRenoted: "{name} renoted you"
|
||||
youGotPoll: "{name} voted on your poll"
|
||||
youGotMessagingMessageFromUser: "{name} sent you a message"
|
||||
youGotMessagingMessageFromGroup: "A message was sent to the {name} group"
|
||||
youWereFollowed: "Followed you"
|
||||
youReceivedFollowRequest: "You've received a follow request"
|
||||
yourFollowRequestAccepted: "Your follow request was accepted"
|
||||
youWereInvitedToGroup: "Invited to group"
|
||||
|
||||
|
@ -45,6 +45,7 @@ loadMore: "Ver más"
|
||||
youGotNewFollower: "te ha seguido"
|
||||
receiveFollowRequest: "Recibiste una solicitud de seguimiento"
|
||||
followRequestAccepted: "La solicitud de seguimiento fue aceptada"
|
||||
mention: "Menciones"
|
||||
mentions: "Menciones"
|
||||
directNotes: "Notas directas"
|
||||
importAndExport: "Importar y Exportar"
|
||||
@ -60,7 +61,7 @@ lists: "Listas"
|
||||
noLists: "No tiene listas"
|
||||
note: "Notas"
|
||||
notes: "Notas"
|
||||
following: "Sigue"
|
||||
following: "Siguiendo"
|
||||
followers: "Seguidores"
|
||||
followsYou: "Te sigue"
|
||||
createList: "Crear lista"
|
||||
@ -104,9 +105,11 @@ suspendConfirm: "¿Quiere suspender esta cuenta?"
|
||||
unsuspendConfirm: "¿Quiere dejar de suspender esta cuenta?"
|
||||
selectList: "Seleccione una lista"
|
||||
customEmojis: "Emojis personalizados"
|
||||
emoji: "Emoji"
|
||||
emojiName: "Nombre del emoji"
|
||||
emojiUrl: "URL de la imágen del emoji"
|
||||
addEmoji: "Añadir emoji"
|
||||
settingGuide: "Configuración sugerida"
|
||||
cacheRemoteFiles: "Mantener en cache los archivos remotos"
|
||||
cacheRemoteFilesDescription: "Si desactiva esta configuración, Los archivos remotos se cargarán desde el link directo sin usar la caché. Con eso se puede ahorrar almacenamiento del servidor, pero eso aumentará el tráfico al no crear miniaturas."
|
||||
flagAsBot: "Esta cuenta es un bot"
|
||||
@ -239,6 +242,8 @@ drive: "Drive"
|
||||
fileName: "Nombre de archivo"
|
||||
selectFile: "Elegir archivo"
|
||||
selectFiles: "Elegir archivos"
|
||||
selectFolder: "Seleccione una carpeta"
|
||||
selectFolders: "Seleccione carpetas"
|
||||
renameFile: "Renombrar archivo"
|
||||
folderName: "Nombre de la carpeta"
|
||||
createFolder: "Crear carpeta"
|
||||
@ -265,6 +270,7 @@ watch: "Ver"
|
||||
unwatch: "Dejar de ver"
|
||||
accept: "Aceptar"
|
||||
reject: "Rechazar"
|
||||
normal: "Normal"
|
||||
instanceName: "Nombre de la instancia"
|
||||
instanceDescription: "Descripción de la instancia"
|
||||
maintainerName: "Nombre del administrador"
|
||||
@ -296,10 +302,15 @@ bannerUrl: "URL de la imagen del banner"
|
||||
basicInfo: "Información básica"
|
||||
pinnedUsers: "Usuarios fijados"
|
||||
pinnedUsersDescription: "Describir los usuarios que quiere fijar en la página \"Descubrir\" separados por una linea nueva"
|
||||
hcaptcha: "hCaptcha"
|
||||
enableHcaptcha: "Habilitar hCaptcha"
|
||||
hcaptchaSiteKey: "Clave del sitio"
|
||||
hcaptchaSecretKey: "Clave secreta"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "activar reCAPTCHA"
|
||||
recaptchaSiteKey: "Clave del sitio"
|
||||
recaptchaSecretKey: "Clave secreta"
|
||||
avoidMultiCaptchaConfirm: "El uso de múltiples Captchas puede causar interferencia. ¿Desea desactivar el otro Captcha? Puede dejar múltiples Captchas habilitadas presionando cancelar."
|
||||
antennas: "Antenas"
|
||||
manageAntennas: "Administrar antenas"
|
||||
name: "Nombre"
|
||||
@ -319,6 +330,7 @@ notesAndReplies: "Notas y respuestas"
|
||||
withFiles: "Adjuntos"
|
||||
silence: "Silenciar"
|
||||
silenceConfirm: "¿Desea silenciar al usuario?"
|
||||
unsilence: "Dejar de silenciar"
|
||||
unsilenceConfirm: "¿Desea dejar de silenciar al usuario?"
|
||||
popularUsers: "Usuarios populares"
|
||||
recentlyUpdatedUsers: "Usuarios activos recientemente"
|
||||
@ -350,8 +362,6 @@ unregister: "Cancelar registro"
|
||||
passwordLessLogin: "Iniciar sesión sin contraseña"
|
||||
resetPassword: "Resetear contraseña"
|
||||
newPasswordIs: "La nueva contraseña es \"{password}\""
|
||||
post: "Nota"
|
||||
posted: "Posteado"
|
||||
autoReloadWhenDisconnected: "Recargar automáticamente cuando el servidor está desconectado"
|
||||
autoNoteWatch: "Ver nota automáticamente"
|
||||
autoNoteWatchDescription: "Recibe notificaciones sobre las notas de otros usuarios que a los que respondiste y reaccionaste"
|
||||
@ -454,6 +464,8 @@ objectStorageRegion: "Region"
|
||||
objectStorageRegionDesc: "Especifique una región como 'xx-east-1'. Si su servicio no tiene distinción sobre regiones, déjelo en blanco o complete con 'us-east-1'."
|
||||
objectStorageUseSSL: "Usar SSL"
|
||||
objectStorageUseSSLDesc: "Desactive esto si no va a usar HTTPS para la conexión API"
|
||||
objectStorageUseProxy: "Conectarse a través de Proxy"
|
||||
objectStorageUseProxyDesc: "Desactive esto si no va a usar Proxy para la conexión de Almacenamiento de objetos"
|
||||
serverLogs: "Registros del servidor"
|
||||
deleteAll: "Eliminar todos"
|
||||
showFixedPostForm: "Mostrar el formulario de las entradas encima de la línea de tiempo"
|
||||
@ -476,6 +488,33 @@ state: "Estado"
|
||||
sort: "Ordenar"
|
||||
ascendingOrder: "Ascendente"
|
||||
descendingOrder: "Descendente"
|
||||
scratchpad: "Scratch pad"
|
||||
scratchpadDescription: "Scratchpad proporciona un entorno experimental para AiScript. Puede escribir, ejecutar y verificar los resultados que interactúan con Misskey."
|
||||
output: "Salida"
|
||||
script: "Script"
|
||||
disablePagesScript: "Deshabilitar AiScript en Páginas"
|
||||
updateRemoteUser: "Actualizar información de usuario remoto"
|
||||
deleteAllFiles: "Borrar todos los archivos"
|
||||
deleteAllFilesConfirm: "¿Desea borrar todos los archivos?"
|
||||
removeAllFollowing: "Retener todos los siguientes"
|
||||
removeAllFollowingDescription: "Cancelar todos los siguientes del servidor {host}. Ejecutar en caso de que esta instancia haya dejado de existir"
|
||||
userSuspended: "Este usuario ha sido suspendido."
|
||||
userSilenced: "Este usuario ha sido silenciado."
|
||||
sidebar: "Barra lateral"
|
||||
divider: "Divisor"
|
||||
addItem: "Agregar elemento"
|
||||
rooms: "Cuartos"
|
||||
relays: "Relés"
|
||||
addRelay: "Agregar relé"
|
||||
inboxUrl: "Inbox URL"
|
||||
addedRelays: "Relés añadidos"
|
||||
serviceworkerInfo: "Se necesita activar para usar las notificaciones push"
|
||||
deletedNote: "Nota eliminada"
|
||||
invisibleNote: "Nota oculta"
|
||||
enableInfiniteScroll: "Activar scroll infinito"
|
||||
visibility: "Visibilidad"
|
||||
poll: "Encuesta"
|
||||
useCw: "Esconder contenidos"
|
||||
_theme:
|
||||
explore: "Explorar temas"
|
||||
install: "Instalar tema"
|
||||
@ -602,7 +641,6 @@ _cw:
|
||||
show: "Ver más"
|
||||
chars: "{count} caracteres"
|
||||
files: "{count} archivos"
|
||||
poll: "Encuesta"
|
||||
_poll:
|
||||
noOnlyOneChoice: "Se necesitan al menos 2 opciones"
|
||||
choiceN: "Opción {n}"
|
||||
@ -635,6 +673,7 @@ _visibility:
|
||||
specified: "Mensaje directo"
|
||||
specifiedDescription: "Visible sólo para los usuarios elegidos"
|
||||
localOnly: "Solo local"
|
||||
localOnlyDescription: "Oculto para usuarios remotos"
|
||||
_postForm:
|
||||
replyPlaceholder: "Responder a esta nota"
|
||||
quotePlaceholder: "Citar esta nota"
|
||||
@ -690,6 +729,68 @@ _timelines:
|
||||
local: "Local"
|
||||
social: "Social"
|
||||
global: "Global"
|
||||
_rooms:
|
||||
roomOf: "Cuarto de {user}"
|
||||
addFurniture: "Colocar muebles"
|
||||
translate: "Mover"
|
||||
rotate: "Rotar"
|
||||
exit: "Deseleccionar"
|
||||
remove: "Quitar"
|
||||
clear: "Quitar todo"
|
||||
clearConfirm: "¿Quiere quitar todos los muebles?"
|
||||
leaveConfirm: "Hay modificaciones sin guardar. ¿Desea irse?"
|
||||
chooseImage: "Escoger una imagen"
|
||||
roomType: "Estilo de cuarto"
|
||||
carpetColor: "Color de piso"
|
||||
_roomType:
|
||||
default: "Predeterminado"
|
||||
washitsu: "Estilo japonés"
|
||||
_furnitures:
|
||||
milk: "Cartón de leche"
|
||||
bed: "Cama"
|
||||
low-table: "Mesa chica"
|
||||
desk: "Escritorio"
|
||||
chair: "Silla"
|
||||
chair2: "Silla 2"
|
||||
fan: "Ventilador"
|
||||
pc: "Computadora"
|
||||
plant: "Planta decorativa"
|
||||
plant2: "Planta decorativa 2"
|
||||
eraser: "Goma de borrar"
|
||||
pencil: "lápiz"
|
||||
pudding: "Pudín"
|
||||
cardboard-box: "Caja de cartón"
|
||||
cardboard-box2: "Caja de cartón 2"
|
||||
cardboard-box3: "Caja de cartón 3"
|
||||
book: "Libro"
|
||||
book2: "Libro 2"
|
||||
piano: "Piano"
|
||||
facial-tissue: "Caja de pañuelos"
|
||||
server: "Servidor"
|
||||
moon: "Luna"
|
||||
corkboard: "Pizarra de corcho"
|
||||
mousepad: "Alfombrilla de ratón"
|
||||
monitor: "Monitor"
|
||||
keyboard: "Teclado"
|
||||
carpet-stripe: "Alfombra (a rayas)"
|
||||
mat: "Tapete"
|
||||
color-box: "Caja de colores"
|
||||
wall-clock: "Reloj de pared"
|
||||
photoframe: "Fotograma"
|
||||
cube: "Cubo"
|
||||
tv: "Televisor"
|
||||
pinguin: "Pinguino"
|
||||
rubik-cube: "Cubo rubik"
|
||||
poster-h: "Poster (horizontal)"
|
||||
poster-v: "Poster (vertical)"
|
||||
sofa: "Sillón"
|
||||
spiral: "Escalera en espiral"
|
||||
bin: "Papelera"
|
||||
cup-noodle: "Taza de sopa de fideos"
|
||||
holo-display: "Poster holográfico"
|
||||
energy-drink: "Bebida energética"
|
||||
doll-ai: "Muñeca"
|
||||
banknote: "Billetes"
|
||||
_pages:
|
||||
newPage: "Crear página"
|
||||
editPage: "Editar página"
|
||||
@ -739,6 +840,8 @@ _pages:
|
||||
post: "Formulario"
|
||||
_post:
|
||||
text: "Contenido"
|
||||
attachCanvasImage: "Nota con lienzo como imagen"
|
||||
canvasId: "Lienzo ID"
|
||||
textInput: "Entrada de texto"
|
||||
_textInput:
|
||||
name: "Nombre de variable"
|
||||
@ -754,6 +857,11 @@ _pages:
|
||||
name: "Nombre de variable"
|
||||
text: "Título"
|
||||
default: "Valor predeterminado"
|
||||
canvas: "Lienzo"
|
||||
_canvas:
|
||||
id: "Lienzo ID"
|
||||
width: "Ancho"
|
||||
height: "Altura"
|
||||
switch: "Interruptor"
|
||||
_switch:
|
||||
name: "Nombre de variable"
|
||||
@ -779,6 +887,9 @@ _pages:
|
||||
message: "Mensaje mostrado al apretar"
|
||||
variable: "Variable a enviar"
|
||||
no-variable: "Ninguna"
|
||||
callAiScript: "Invocar AiScript"
|
||||
_callAiScript:
|
||||
functionName: "Nombre de la función"
|
||||
radioButton: "Botón de opción"
|
||||
_radioButton:
|
||||
name: "Nombre de variable"
|
||||
@ -939,6 +1050,7 @@ _pages:
|
||||
_splitStrByLine:
|
||||
arg1: "Texto"
|
||||
ref: "Variables"
|
||||
aiScriptVar: "Variable de AiScript"
|
||||
fn: "funciones"
|
||||
_fn:
|
||||
slots: "Slots"
|
||||
@ -960,3 +1072,21 @@ _pages:
|
||||
enviromentVariables: "Variables de entorno"
|
||||
pageVariables: "Items de la página"
|
||||
argVariables: "Slot de entrada"
|
||||
_relayStatus:
|
||||
requesting: "Pendiente"
|
||||
accepted: "Aceptar"
|
||||
rejected: "Rechazada"
|
||||
_notification:
|
||||
fileUploaded: "Archivo subido"
|
||||
youGotMention: "Mención de {name}"
|
||||
youGotReply: "Respuesta de {name}"
|
||||
youGotQuote: "Citado por {name}"
|
||||
youRenoted: "Renotado por {name}"
|
||||
youGotPoll: "Encuestado por {name}"
|
||||
youGotMessagingMessageFromUser: "{name} comenzó un chat contigo"
|
||||
youGotMessagingMessageFromGroup: "Tienes un chat de {name}"
|
||||
youWereFollowed: "te ha seguido"
|
||||
youReceivedFollowRequest: "Has mandado una solicitud de seguimiento"
|
||||
yourFollowRequestAccepted: "Tu solicitud de seguimiento fue aceptada"
|
||||
youWereInvitedToGroup: "Invitado al grupo"
|
||||
|
||||
|
@ -1,28 +1,28 @@
|
||||
---
|
||||
_lang_: "Français"
|
||||
introMisskey: "Bienvenue! Misskey est un service de microblogage décentralisé open source.\nÉcrivez des «notes» pour partager ce qui vous arrive maintenant ou pour parler de vous à tout le monde 📡\nAvec la fonction «réactions», vous pouvez également ajouter une réaction rapide aux notes de chacun 👍\nExplorez un nouveau monde 🚀"
|
||||
introMisskey: "Bienvenue ! Misskey est un service de microblogage décentralisé, libre et ouvert.\nÉcrivez des « notes » et partagez ce qui se passe à l’instant présent, autour de vous avec les autres 📡\nLa fonction « réactions », vous permet également d’ajouter une réaction rapide aux notes des autres utilisateur·rice·s 👍\nExplorons un nouveau monde 🚀"
|
||||
monthAndDay: "{day}/{month}"
|
||||
search: "Rechercher"
|
||||
notifications: "Notifications"
|
||||
username: "Nom d'utilisateur·rice"
|
||||
username: "Nom d’utilisateur·rice"
|
||||
password: "Mot de passe"
|
||||
fetchingAsApObject: "Récupération depuis le fédiverse"
|
||||
ok: "D'accord"
|
||||
gotIt: "J'ai compris !"
|
||||
fetchingAsApObject: "Récupération depuis le fédiverse …"
|
||||
ok: "OK"
|
||||
gotIt: "J’ai compris !"
|
||||
cancel: "Annuler"
|
||||
enterUsername: "Entrer un nom d'utilisateur·rice"
|
||||
enterUsername: "Entrer un nom d’utilisateur·rice"
|
||||
renotedBy: "Renoté par {user}"
|
||||
noNotes: "Pas de notes"
|
||||
noNotifications: "Pas de notifications"
|
||||
noNotes: "Aucune note"
|
||||
noNotifications: "Aucune notification"
|
||||
instance: "Instance"
|
||||
settings: "Paramètres"
|
||||
profile: "Profil"
|
||||
timeline: "Fil d'actualité"
|
||||
noAccountDescription: "L'utilisateur·rice n'a pas renseigné de présentation sur son profil"
|
||||
timeline: "Fil"
|
||||
noAccountDescription: "L’utilisateur·rice n’a pas encore renseigné de biographie de présentation sur son profil."
|
||||
login: "Se connecter"
|
||||
loggingIn: "Connexion en cours"
|
||||
logout: "Se déconnecter"
|
||||
signup: "S'enregistrer"
|
||||
signup: "S’inscrire"
|
||||
uploading: "Envoi en cours"
|
||||
save: "Enregistrer"
|
||||
users: "Utilisateur·rice·s"
|
||||
@ -36,29 +36,30 @@ copyContent: "Copier le contenu"
|
||||
copyLink: "Copier le lien"
|
||||
delete: "Supprimer"
|
||||
deleteAndEdit: "Supprimer et réécrire"
|
||||
deleteAndEditConfirm: "Êtes-vous sûr de vouloir effacer cette note et la modifier ? Vous perdrez toutes les réactions, renotes et réponses."
|
||||
deleteAndEditConfirm: "Êtes-vous sûr·e de vouloir supprimer cette note et la reformuler ? Vous perdrez toutes les réactions, renotes et réponses y afférentes."
|
||||
addToList: "Ajouter à une liste"
|
||||
sendMessage: "Envoyer un message"
|
||||
copyUsername: "Copier le nom d'utilisateur"
|
||||
copyUsername: "Copier le nom d’utilisateur·rice"
|
||||
reply: "Répondre"
|
||||
loadMore: "Voir plus"
|
||||
loadMore: "Afficher plus …"
|
||||
youGotNewFollower: "Vous suit"
|
||||
receiveFollowRequest: "Demande de suivi reçue"
|
||||
followRequestAccepted: "L'abonne la demande acceptée"
|
||||
receiveFollowRequest: "Demande d’abonnement reçue"
|
||||
followRequestAccepted: "La demande d’abonnement a été acceptée"
|
||||
mention: "Mentionner"
|
||||
mentions: "Mentions"
|
||||
directNotes: "Messages directs"
|
||||
directNotes: "Notes directes"
|
||||
importAndExport: "Import et export"
|
||||
import: "Importer"
|
||||
export: "Exporter"
|
||||
files: "Fichier·s"
|
||||
files: "Fichiers"
|
||||
download: "Télécharger"
|
||||
driveFileDeleteConfirm: "Êtes-vous sûr·e de vouloir supprimer le fichier \"{name}\" ? Les notes avec ce fichier joint seront aussi supprimées."
|
||||
unfollowConfirm: "Se désabonner de {name} ?"
|
||||
exportRequested: "Vous avez demandé une exportation. Cela pourrait prendre un peu de temps. Une fois l'exportation terminée, le fichier résultant sera ajouté dans le Drive."
|
||||
unfollowConfirm: "Désirez-vous vous désabonner de {name} ?"
|
||||
exportRequested: "Vous avez demandé une exportation. L’opération pourrait prendre un peu de temps. Une terminée, le fichier résultant sera ajouté au Drive."
|
||||
importRequested: "Vous avez initié un import. Cela pourrait prendre un peu de temps."
|
||||
lists: "Listes"
|
||||
noLists: "Aucune liste"
|
||||
note: "Note"
|
||||
noLists: "Vous n’avez aucune liste"
|
||||
note: "Notes"
|
||||
notes: "Notes"
|
||||
following: "Abonnements"
|
||||
followers: "Abonné·e·s"
|
||||
@ -68,27 +69,27 @@ manageLists: "Gérer les listes"
|
||||
error: "Une erreur est survenue"
|
||||
retry: "Réessayer"
|
||||
enterListName: "Nom de la liste"
|
||||
privacy: "Vie privée"
|
||||
makeFollowManuallyApprove: "Demandes d’suivi requiert l'approbation"
|
||||
privacy: "Confidentialité"
|
||||
makeFollowManuallyApprove: "Accepter manuellement les demandes d’abonnement"
|
||||
defaultNoteVisibility: "Visibilité par défaut"
|
||||
follow: "Suivre"
|
||||
followRequest: "Demande d’suivre"
|
||||
follow: "S’abonner"
|
||||
followRequest: "Demande d’abonnement"
|
||||
followRequests: "Demandes d’abonnement"
|
||||
unfollow: "Se désabonner"
|
||||
followRequestPending: "En attente d’approbation"
|
||||
enterEmoji: "ou entrez un émoji"
|
||||
renote: "Renote"
|
||||
unrenote: "Annuler Renote"
|
||||
quote: "Citation"
|
||||
quote: "Citer"
|
||||
pinnedNote: "Note épinglée"
|
||||
you: "Vous"
|
||||
clickToShow: "Cliquer pour afficher"
|
||||
sensitive: "Contenu sensible"
|
||||
add: "Ajouter"
|
||||
reaction: "Réactions"
|
||||
reactionSettingDescription: "Attribuez vos réactions préférées qui souhaitent épingler le sélecteur de réaction."
|
||||
reactionSettingDescription: "Choisissez vos réactions préférées que vous souhaitez épingler dans le sélecteur de réactions."
|
||||
rememberNoteVisibility: "Se souvenir de la visibilité des notes"
|
||||
attachCancel: "Enlever le fichier attaché"
|
||||
attachCancel: "Supprimer le fichier attaché"
|
||||
markAsSensitive: "Marquer comme sensible"
|
||||
unmarkAsSensitive: "Enlever le marquage comme sensible"
|
||||
enterFileName: "Entrer le nom du fichier"
|
||||
@ -98,32 +99,34 @@ block: "Bloquer"
|
||||
unblock: "Débloquer"
|
||||
suspend: "Suspendre"
|
||||
unsuspend: "Annuler la suspension"
|
||||
blockConfirm: "Désirez-vous bloquer ce compte ?"
|
||||
unblockConfirm: "Désirez-vous débloquer ce compte ?"
|
||||
suspendConfirm: "Désirez-vous suspendre ce compte ?"
|
||||
unsuspendConfirm: "Désirez-vous annuler la suspension de ce compte ?"
|
||||
blockConfirm: "Êtes-vous sûr·e de vouloir bloquer ce compte ?"
|
||||
unblockConfirm: "Êtes-vous sûr·e de vouloir débloquer ce compte ?"
|
||||
suspendConfirm: "Êtes-vous sûr·e de vouloir suspendre ce compte ?"
|
||||
unsuspendConfirm: "Êtes-vous sûr·e de vouloir annuler la suspension de ce compte ?"
|
||||
selectList: "Sélectionner une liste"
|
||||
customEmojis: "Émojis personnalisés"
|
||||
emoji: "Émoji"
|
||||
emojiName: "Nom de l’émoji"
|
||||
emojiUrl: "URL de l’émoji"
|
||||
addEmoji: "Ajouter un émoji"
|
||||
cacheRemoteFiles: "Mettre en cache des fichiers distants"
|
||||
cacheRemoteFilesDescription: "Quand ce paramètre est désactivé, les fichiers distants sont chargés directement de l'instance distante. Désactiver cela diminuera l'utilisation du stockage mais augmentera le trafic parce les miniatures ne seront pas générées."
|
||||
settingGuide: "Configuration proposée"
|
||||
cacheRemoteFiles: "Mise en cache des fichiers distants"
|
||||
cacheRemoteFilesDescription: "Lorsque cette option est désactivée, les fichiers distants sont chargés directement depuis l’instance distante. La désactiver diminuera certes l’utilisation de l’espace de stockage local mais augmentera le trafic réseau puisque les miniatures ne seront plus générées."
|
||||
flagAsBot: "Ce compte est un robot"
|
||||
flagAsCat: "Ce compte est un chat"
|
||||
autoAcceptFollowed: "Approuver automatiquement les abonnements des utilisateurs abonné·e·s"
|
||||
autoAcceptFollowed: "Accepter automatiquement les demandes d’abonnement venant d’utilisateur·rice·s que vous suivez"
|
||||
addAcount: "Ajouter un compte"
|
||||
loginFailed: "Échec de la connexion"
|
||||
showOnRemote: "Voir sur l'instance distante"
|
||||
showOnRemote: "Voir sur l’instance distante"
|
||||
general: "Général"
|
||||
wallpaper: "Arrière plan"
|
||||
setWallpaper: "Définir le fond d'écran"
|
||||
removeWallpaper: "Supprimer l'arrière plan"
|
||||
wallpaper: "Fond d’écran"
|
||||
setWallpaper: "Définir le fond d’écran"
|
||||
removeWallpaper: "Supprimer le fond d’écran"
|
||||
searchWith: "Recherche : {q}"
|
||||
youHaveNoLists: "Vous n'avez aucune liste"
|
||||
followConfirm: "Désirez-vous suivre {name} ?"
|
||||
followConfirm: "Êtes-vous sûr·e de vouloir suivre {name} ?"
|
||||
proxyAccount: "Compte proxy"
|
||||
proxyAccountDescription: "Un compte proxy se comporte, dans certaines conditions, comme un·e abonné·e distant pour les utilisateurs d'autres instances.\nExemple : quand un·e utilisateur·rice distant·e est ajouté·e à une liste, ses notes ne serait pas visibles sur l'instance si personne ne le·la abonné. Le compte proxy va donc le·la abonne pour que ses notes soient acheminées."
|
||||
proxyAccountDescription: "Un compte proxy se comporte, dans certaines conditions, comme un·e abonné·e distant·e pour les utilisateurs d'autres instances. Par exemple, quand un·e utilisateur·rice ajoute un·e utilisateur·rice distant·e à une liste, ses notes ne seront pas visibles sur l'instance si personne ne suit cet·te utilisateur·rice. Le compte proxy va donc suivre cet·te utilisateur·rice pour que ses notes soient acheminées."
|
||||
host: "Hôte"
|
||||
selectUser: "Sélectionner un·e utilisateur·rice"
|
||||
recipient: "Correspondant·e"
|
||||
@ -133,13 +136,13 @@ instances: "Instance"
|
||||
registeredAt: "Premier contact le"
|
||||
latestRequestSentAt: "Dernière requête envoyée"
|
||||
latestRequestReceivedAt: "Dernière requête reçue"
|
||||
latestStatus: "Dernière statut"
|
||||
latestStatus: "Dernier statut"
|
||||
storageUsage: "Stockage utilisé"
|
||||
charts: "Graphiques"
|
||||
perHour: "par heure"
|
||||
perDay: "par jour"
|
||||
stopActivityDelivery: "Arrêter l'envoi d'activités"
|
||||
blockThisInstance: "Bloquer cette instnce"
|
||||
stopActivityDelivery: "Arrêter l’envoi de l’activité"
|
||||
blockThisInstance: "Bloquer cette instance"
|
||||
operations: "Opérations"
|
||||
software: "Logiciel"
|
||||
version: "Version"
|
||||
@ -150,7 +153,7 @@ jobQueue: "File d’attente"
|
||||
cpuAndMemory: "Processeur et mémoire"
|
||||
network: "Réseau"
|
||||
disk: "Disque"
|
||||
instanceInfo: "Informations sur l'instance"
|
||||
instanceInfo: "Informations sur l’instance"
|
||||
statistics: "Statistiques"
|
||||
clearQueue: "Vider la file d'attente"
|
||||
clearQueueConfirmTitle: "Êtes-vous sûr·e de vouloir vider la file d'attente ?"
|
||||
@ -158,43 +161,43 @@ clearQueueConfirmText: "Les notes non distribuées ne seront pas livrées. Norma
|
||||
clearCachedFiles: "Vider le cache"
|
||||
clearCachedFilesConfirm: "Êtes-vous sûr·e de vouloir vider le cache de fichiers distants ?"
|
||||
blockedInstances: "Instances bloquées"
|
||||
blockedInstancesDescription: "Listez les instance que vous désirez bloquer, une par ligne. Ces instances bloquées ne seront pas capable d'interagir avec cette instance."
|
||||
muteAndBlock: "Masqués / Bloqués"
|
||||
blockedInstancesDescription: "Listez les instances que vous désirez bloquer, une par ligne. Ces instances ne seront plus en capacité d'interagir avec votre instance."
|
||||
muteAndBlock: "Masqué·e·s / Bloqué·e·s"
|
||||
mutedUsers: "Utilisateur·rice·s en sourdine"
|
||||
blockedUsers: "Utilisateur·rice·s bloqué·e·s"
|
||||
noUsers: "Il n'y a aucun utilisateur·rice"
|
||||
noUsers: "Il n’y a pas d’utilisateur·rice·s"
|
||||
editProfile: "Modifier votre profil"
|
||||
noteDeleteConfirm: "Confirmez-vous la suppression de cette note ?"
|
||||
pinLimitExceeded: "Je ne peux plus épingler"
|
||||
intro: "L'installation de Misskey est terminée! Créons le compte administrateur."
|
||||
noteDeleteConfirm: "Êtes-vous sûr·e de vouloir supprimer cette note ?"
|
||||
pinLimitExceeded: "Vous ne pouvez plus épingler d'autres notes."
|
||||
intro: "L’installation de Misskey est terminée ! Veuillez créer un compte administrateur."
|
||||
done: "Terminé"
|
||||
processing: "Traitement en cours"
|
||||
preview: "Prévisualisation"
|
||||
default: "Par défaut"
|
||||
noCustomEmojis: "Il a pas d’émoji"
|
||||
customEmojisOfRemote: "Émojis l'instance distante"
|
||||
noCustomEmojis: "Il n'y a pas d’émoji"
|
||||
customEmojisOfRemote: "Émojis venant des autres instances"
|
||||
noJobs: "Il n'y a aucune tâche planifiée"
|
||||
federating: "En cours de fédération"
|
||||
blocked: "Bloqué"
|
||||
suspended: "Suspendu"
|
||||
blocked: "Bloqué·e"
|
||||
suspended: "Suspendu·e"
|
||||
all: "Tous"
|
||||
subscribing: "Abonné"
|
||||
publishing: "Publié"
|
||||
notResponding: "Ne répond pas"
|
||||
instanceFollowing: "Abonnements une instance"
|
||||
instanceFollowers: "Abonné·e·s de l'instance"
|
||||
instanceUsers: "Utilisateur·e·s de l'instance"
|
||||
instanceFollowers: "Abonné·e·s de l’instance"
|
||||
instanceUsers: "Utilisateur·rice·s de cette l’instance"
|
||||
changePassword: "Modifier votre mot de passe"
|
||||
security: "Sécurité"
|
||||
retypedNotMatch: "Les saisies ne correspondent pas."
|
||||
currentPassword: "Mot de passe actuel"
|
||||
newPassword: "Nouveau mot de passe"
|
||||
newPasswordRetype: "Nouveau mot de passe (répéter)"
|
||||
newPasswordRetype: "Répéter le nouveau mot de passe"
|
||||
attachFile: "Joindre un fichier"
|
||||
more: "Plus !"
|
||||
featured: "Tendances"
|
||||
usernameOrUserId: "Nom d'utilisateur ou ID utilisateur"
|
||||
noSuchUser: "Utilisateur non trouvé"
|
||||
noSuchUser: "Utilisateur·rice non trouvé"
|
||||
lookup: "Recherche"
|
||||
announcements: "Annonces"
|
||||
imageUrl: "URL de l’image"
|
||||
@ -203,9 +206,9 @@ removed: "Supprimé"
|
||||
removeAreYouSure: "Supprimer «{x}» ?"
|
||||
saved: "Enregistré"
|
||||
messaging: "Discuter"
|
||||
upload: "Téléchargez"
|
||||
upload: "Téléverser"
|
||||
fromDrive: "Depuis le Drive"
|
||||
fromUrl: "De l'URL"
|
||||
fromUrl: "Depuis une URL"
|
||||
uploadFromUrl: "Téléverser via une URL"
|
||||
uploadFromUrlDescription: "URL du fichier que vous souhaitez téléverser"
|
||||
uploadFromUrlRequested: "Téléversement demandé"
|
||||
@ -213,32 +216,34 @@ uploadFromUrlMayTakeTime: "Le téléversement de votre fichier peut prendre un c
|
||||
explore: "Découvrir"
|
||||
games: "Jeux de Misskey"
|
||||
messageRead: "Lus"
|
||||
noMoreHistory: "Plus d'histoire passée"
|
||||
noMoreHistory: "Il n'y a plus d'historique"
|
||||
startMessaging: "Commencer à discuter"
|
||||
nUsersRead: "{n} personnes ont lu"
|
||||
agreeTo: "D'accord {0}"
|
||||
tos: "Conditions d'utilisation"
|
||||
nUsersRead: "Lu par {n} personnes"
|
||||
agreeTo: "J'accepte {0}"
|
||||
tos: "les conditions d’utilisation"
|
||||
start: "Commencer"
|
||||
home: "Principal"
|
||||
remoteUserCaution: "Les informations sont incomplètes en raison de l'utilisateur distant."
|
||||
activity: "Activités"
|
||||
remoteUserCaution: "Les informations de ce compte risqueraient d’être incomplètes du fait que l’utilisateur·rice provient d’une instance distante."
|
||||
activity: "Activité"
|
||||
images: "Images"
|
||||
birthday: "Date de naissance"
|
||||
yearsOld: "{age} ans"
|
||||
registeredDate: "Date de création"
|
||||
registeredDate: "Inscrit le"
|
||||
location: "Localisation"
|
||||
theme: "Thème"
|
||||
themeForLightMode: "Thème à utiliser en Mode Lumière"
|
||||
themeForLightMode: "Thème à utiliser en Mode Clair"
|
||||
themeForDarkMode: "Thème à utiliser en Mode Sombre"
|
||||
light: "Lumière"
|
||||
light: "Clair"
|
||||
dark: "Sombre"
|
||||
lightThemes: "Thème lumineux"
|
||||
lightThemes: "Thème clair"
|
||||
darkThemes: "Thème sombre"
|
||||
syncDeviceDarkMode: "Synchronisez le mode sombre avec les paramètres de votre appareil"
|
||||
drive: "Drive"
|
||||
fileName: "Nom du fichier"
|
||||
selectFile: "Choisir le fichier"
|
||||
selectFiles: "Choisir le fichiers"
|
||||
selectFiles: "Choisir les fichiers"
|
||||
selectFolder: "Sélectionnez un dossier"
|
||||
selectFolders: "Sélectionnez des dossiers"
|
||||
renameFile: "Renommer le ficher"
|
||||
folderName: "Nom du dossier"
|
||||
createFolder: "Créer un dossier"
|
||||
@ -251,89 +256,96 @@ unableToDelete: "Ne peut pas être supprimé"
|
||||
inputNewFileName: "Entrez un nouveau nom de fichier"
|
||||
inputNewFolderName: "Entrez un nouveau nom de dossier"
|
||||
circularReferenceFolder: "Le dossier de destination est un sous-dossier du dossier que vous souhaitez déplacer."
|
||||
hasChildFilesOrFolders: "Ce dossier n'est pas vide, il ne peut pas être supprimé"
|
||||
hasChildFilesOrFolders: "Ce dossier n'est pas vide, il ne peut donc pas être supprimé"
|
||||
copyUrl: "Copier l’URL"
|
||||
rename: "Renommer"
|
||||
avatar: "Avatar"
|
||||
banner: "Bannière"
|
||||
nsfw: "Contenu sensible"
|
||||
disconnectedFromServer: "Déconnecté du serveur"
|
||||
disconnectedFromServer: "Déconnecté·e du serveur"
|
||||
reload: "Rafraîchir"
|
||||
doNothing: "Ignorer"
|
||||
reloadConfirm: "Voulez-vous recharger?"
|
||||
reloadConfirm: "Voulez-vous recharger le fil ?"
|
||||
watch: "Surveiller"
|
||||
unwatch: "Ne plus surveiller"
|
||||
accept: "Autoriser"
|
||||
reject: "Refuser"
|
||||
normal: "Normal"
|
||||
instanceName: "Nom de l’instance"
|
||||
instanceDescription: "Description de l’instance"
|
||||
maintainerName: "Nom d'administrateur"
|
||||
maintainerEmail: "Email de l'administrateur"
|
||||
tosUrl: "URL des conditions d'utilisation"
|
||||
maintainerName: "L’administrateur·rice"
|
||||
maintainerEmail: "Email de l’administrateur·rice"
|
||||
tosUrl: "URL des conditions d’utilisation"
|
||||
thisYear: "Cette année"
|
||||
thisMonth: "Ce mois-ci"
|
||||
today: "Aujourd'hui"
|
||||
dayX: "{day} jour"
|
||||
monthX: "{month} mois"
|
||||
yearX: "{year} année"
|
||||
today: "Aujourd’hui"
|
||||
dayX: "{day}"
|
||||
monthX: "{month}"
|
||||
yearX: "{year}"
|
||||
pages: "Pages"
|
||||
integration: "Intégrations"
|
||||
connectSerice: "Connecter"
|
||||
disconnectSerice: "Déconnecter"
|
||||
enableLocalTimeline: "Activer le fil local"
|
||||
enableGlobalTimeline: "Activer le fil global"
|
||||
disablingTimelinesInfo: "Si vous désactivez ces le fils, les administrateurs et les modérateurs pourront toujours y accéder pour plus de commodité."
|
||||
registration: "S'inscrire"
|
||||
enableRegistration: "Autoriser n’importe qui à s’enregistrés"
|
||||
disablingTimelinesInfo: "Si vous désactivez ces fils, les administrateurs et les modérateurs pourront toujours y accéder."
|
||||
registration: "S’inscrire"
|
||||
enableRegistration: "Autoriser les nouvelles inscriptions"
|
||||
invite: "Inviter"
|
||||
proxyRemoteFiles: "Proxy fichiers distants"
|
||||
proxyRemoteFilesDescription: "Si vous activez ce paramètre, les fichiers distants non stockés ou supprimés en raison d'une capacité excédentaire seront affichés via un proxy local et généreront une miniature. Cela n'affectera pas le stockage du serveur."
|
||||
driveCapacityPerLocalAccount: "Volume du Drive par utilisateur local"
|
||||
driveCapacityPerRemoteAccount: "Volume du Drive par utilisateur distant"
|
||||
inMb: "en mégaoctets"
|
||||
iconUrl: "URL de l'image de l'icône"
|
||||
bannerUrl: "URL de l'image de la bannière"
|
||||
iconUrl: "URL de l’image de l’avatar"
|
||||
bannerUrl: "URL de l’image de la bannière"
|
||||
basicInfo: "Informations basiques"
|
||||
pinnedUsers: "Utilisateur·rice épinglé·e"
|
||||
pinnedUsersDescription: "Décrivez les utilisateurs que vous souhaitez définir sur la page \"Découvrir\" séparés par une nouvelle ligne"
|
||||
pinnedUsersDescription: "Listez les utilisateur·rice·s que vous souhaitez voir épinglé·e·s sur la page \"Découvrir\", un·e par ligne."
|
||||
hcaptcha: "hCaptcha"
|
||||
enableHcaptcha: "Activer hCaptcha"
|
||||
hcaptchaSiteKey: "Clé du site"
|
||||
hcaptchaSecretKey: "Clé secrète"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Activation de reCAPTCHA"
|
||||
enableRecaptcha: "Activer reCAPTCHA"
|
||||
recaptchaSiteKey: "Clé du site"
|
||||
recaptchaSecretKey: "Clé secrète"
|
||||
antennas: "Antenne"
|
||||
manageAntennas: "Gestion d'antenne"
|
||||
avoidMultiCaptchaConfirm: "L’utilisation de plusieurs Captchas peut provoquer des interférences. Souhaitez-vous désactiver l’autre Captcha ? Vous pouvez laisser plusieurs Captcha activés en appuyant sur Annuler."
|
||||
antennas: "Antennes"
|
||||
manageAntennas: "Gestion des antennes"
|
||||
name: "Nom"
|
||||
antennaSource: "Recevoir la source"
|
||||
antennaSource: "Source de l’antenne"
|
||||
antennaKeywords: "Mots clés à recevoir"
|
||||
antennaExcludeKeywords: "Mots clés à exclure"
|
||||
antennaKeywordsDescription: "Lorsqu'il est séparé par un espace, il devient une spécification ET, et lorsqu'il est séparé par un saut de ligne, il devient une spécification OU."
|
||||
notifyAntenna: "Notifier les nouvelles notes"
|
||||
withFileAntenna: "Notes uniquement avec fichiers joints"
|
||||
antennaKeywordsDescription: "Séparer avec des espaces pour la condition AND. Séparer avec un saut de ligne pour une condition OR."
|
||||
notifyAntenna: "Me notifier pour les nouvelles notes"
|
||||
withFileAntenna: "Notes ayant des attachements uniquement"
|
||||
serviceworker: "ServiceWorker"
|
||||
enableServiceworker: "Activer ServiceWorker"
|
||||
antennaUsersDescription: "Spécifiez les noms d'utilisateurs séparés par des sauts de ligne"
|
||||
antennaUsersDescription: "Saisissez un seul nom d’utilisateur·rice par ligne"
|
||||
caseSensitive: "Sensible à la casse"
|
||||
withReplies: "Y compris répondres"
|
||||
withReplies: "Inclure les réponses"
|
||||
connectedTo: "Vous êtes connectés aux services suivants"
|
||||
notesAndReplies: "Notes et Répondres"
|
||||
notesAndReplies: "Notes et Réponses"
|
||||
withFiles: "Avec fichiers joints"
|
||||
silence: "Mettre en masquer"
|
||||
silenceConfirm: "Mettre l'utilisateur sous masquer ?"
|
||||
unsilenceConfirm: "Voulez-vous annuler le masquer ?"
|
||||
silence: "Mettre en sourdine"
|
||||
silenceConfirm: "Êtes-vous sûr·e de vouloir mettre l’utilisateur·rice en sourdine ?"
|
||||
unsilence: "Annuler la mise en sourdine"
|
||||
unsilenceConfirm: "Êtes-vous sûr·e de vouloir annuler la mise en sourdine de cette utilisateur·rice ?"
|
||||
popularUsers: "Utilisateur·rice·s populaires"
|
||||
recentlyUpdatedUsers: "Utilisateur·rice·s actif·ve·s récemment"
|
||||
recentlyRegisteredUsers: "Utilisateur·rice·s récemment enregistrés"
|
||||
recentlyRegisteredUsers: "Utilisateur·rice·s récemment inscrit·e·s"
|
||||
recentlyDiscoveredUsers: "Utilisateur·rice·s récemment découverts"
|
||||
exploreUsersCount: "Il y a {count} utilisateur·rice·s"
|
||||
exploreFediverse: "Explorer le Fédiverse"
|
||||
exploreFediverse: "Explorer le Fediverse"
|
||||
popularTags: "Mots-clés populaires"
|
||||
userList: "Listes"
|
||||
about: "Informations"
|
||||
aboutMisskey: "À propos de Misskey"
|
||||
aboutMisskeyText: "Misskey est un logiciel open source, développé par syuilo depuis 2014."
|
||||
aboutMisskeyText: "Misskey est un logiciel libre et ouvert, développé par syuilo depuis 2014."
|
||||
misskeyMembers: "Il est développé et maintenu par les membres listés ci-dessous :"
|
||||
misskeySource: "Le code source est disponible ici:"
|
||||
misskeyTranslation: "Aidez-nous avec votre contribution à traduire Misskey:"
|
||||
misskeyTranslation: "Aidez-nous en contribuant à traduire Misskey :"
|
||||
misskeyDonate: "Vous pouvez contribuer au développement de Misskey en faisant un don ici:"
|
||||
morePatrons: "Nous apprécions vraiment le soutien de nombreuses autres personnes non mentionnées ici. Merci à toutes et à tous ! 🥰"
|
||||
patrons: "Supporteurs"
|
||||
@ -350,20 +362,18 @@ unregister: "Se désinscrire"
|
||||
passwordLessLogin: "Connectez-vous sans mot de passe"
|
||||
resetPassword: "Réinitialiser mot de passe"
|
||||
newPasswordIs: "Votre nouveau mot de passe est \"{password}\""
|
||||
post: "Publier"
|
||||
posted: "Publié !"
|
||||
autoReloadWhenDisconnected: "Rechargement automatique lorsque le serveur se déconnecte"
|
||||
autoNoteWatch: "Surveiller automatique pour les notes"
|
||||
autoNoteWatch: "Surveiller les notes automatiquement"
|
||||
autoNoteWatchDescription: "Soyez informé des notes auxquelles vous avez réagi ou répondu."
|
||||
reduceUiAnimation: "Réduire l'animation de l'interface"
|
||||
reduceUiAnimation: "Réduire les animations dans l’interface"
|
||||
share: "Partager"
|
||||
notFound: "Non trouvé"
|
||||
notFoundDescription: "Aucune page ne correspond à l'URL spécifiée."
|
||||
notFoundDescription: "Aucune page ne correspond à l’URL spécifiée."
|
||||
uploadFolder: "Emplacement de téléversement par défaut"
|
||||
cacheClear: "Vider le cache"
|
||||
markAsReadAllNotifications: "Marquer toutes les notifications comme lues"
|
||||
markAsReadAllUnreadNotes: "Marquer toutes les notes comme lues"
|
||||
markAsReadAllTalkMessages: "Marquer toutes les discutez comme lues"
|
||||
markAsReadAllTalkMessages: "Marquer toutes les discussions comme lues"
|
||||
help: "Aide"
|
||||
inputMessageHere: "Tapez ici votre message"
|
||||
close: "Fermer"
|
||||
@ -390,7 +400,7 @@ quoteAttached: "Avec citation"
|
||||
quoteQuestion: "Souhaitez-vous ajoutez une citation ?"
|
||||
noMessagesYet: "Pas encore discuté"
|
||||
newMessageExists: "Vous avez un nouveau message"
|
||||
onlyOneFileCanBeAttached: "Vous ne pouvez joindre qu'un seul fichier au message"
|
||||
onlyOneFileCanBeAttached: "Vous ne pouvez joindre qu’un seul fichier au message"
|
||||
signinRequired: "Veuillez vous connecter"
|
||||
invitationCode: "Code d’invitation"
|
||||
checking: "Vérification"
|
||||
@ -402,20 +412,20 @@ tooLong: "Est trop long"
|
||||
weakPassword: "Faible mot de passe"
|
||||
normalPassword: "Bon mot de passe"
|
||||
strongPassword: "Fort mot de passe"
|
||||
passwordMatched: "Correcte"
|
||||
passwordMatched: "Combinaison correcte !"
|
||||
passwordNotMatched: "Ne correspond pas"
|
||||
signinWith: "Connectez-vous avec {x}"
|
||||
signinFailed: "Échec d’authentification. Veuillez vérifier que votre nom d’utilisateur et mot de passe sont corrects."
|
||||
tapSecurityKey: "Touchez la clé de sécurité"
|
||||
or: "OU"
|
||||
uiLanguage: "Langue d'affichage de l'interface"
|
||||
uiLanguage: "Langue d’affichage de l’interface"
|
||||
groupInvited: "Invité au groupe"
|
||||
aboutX: "À propos de {x}"
|
||||
useOsNativeEmojis: "Utilisez les emojis natifs de la plateforme"
|
||||
useOsNativeEmojis: "Utiliser les émojis natifs du système"
|
||||
youHaveNoGroups: "Vous n'avez aucune groupe"
|
||||
joinOrCreateGroup: "Soyez invité à rejoindre les groupes ou vous pouvez créer votre propre groupe."
|
||||
noHistory: "Pas d'historique"
|
||||
disableAnimatedMfm: "Désactiver MFM qui a des animations"
|
||||
disableAnimatedMfm: "Désactiver MFM ayant des animations"
|
||||
doing: "Attends une seconde"
|
||||
category: "Catégories"
|
||||
tags: "Étiquettes"
|
||||
@ -425,7 +435,7 @@ existingAcount: "Comptes existants"
|
||||
regenerate: "Régénérer"
|
||||
fontSize: "Taille de la police"
|
||||
noFollowRequests: "Vous n’avez aucune demande d’abonnement en attente"
|
||||
openImageInNewTab: "Ouvrir l'image dans un nouvel onglet"
|
||||
openImageInNewTab: "Ouvrir les images dans un nouvel onglet"
|
||||
dashboard: "Tableau de bord"
|
||||
local: "Local"
|
||||
remote: "Distant"
|
||||
@ -443,7 +453,7 @@ showFeaturedNotesInTimeline: "Afficher les notes en vedette dans fil d'actualit
|
||||
objectStorage: "Stockage d'objets"
|
||||
useObjectStorage: "Utiliser le stockage d'objets"
|
||||
objectStorageBaseUrl: "Base URL"
|
||||
objectStorageBaseUrlDesc: "Préfixe d'URL utilisé pour construire l'URL vers le référencement d'objet (média). Spécifiez son URL si vous utilisez un CDN ou un proxy, sinon spécifiez l'adresse accessible au public selon le guide de service que vous allez utiliser. i.g 'https://<bucket>.s3.amazonaws.com' pour AWS S3 et 'https://storage.googleapis.com/<bucket>' pour GCS."
|
||||
objectStorageBaseUrlDesc: "Préfixe d’URL utilisé pour construire l’URL vers le référencement d’objet (média). Spécifiez son URL si vous utilisez un CDN ou un proxy, sinon spécifiez l’adresse accessible au public selon le guide de service que vous allez utiliser. P.ex. 'https://<bucket>.s3.amazonaws.com' pour AWS S3 et 'https://storage.googleapis.com/<bucket>' pour GCS."
|
||||
objectStorageBucket: "Bucket"
|
||||
objectStorageBucketDesc: "Veuillez spécifier le nom du compartiment utilisé sur le service configuré."
|
||||
objectStoragePrefix: "Prefix"
|
||||
@ -454,6 +464,8 @@ objectStorageRegion: "Region"
|
||||
objectStorageRegionDesc: "Spécifiez une région comme 'xx-east-1'. Si votre service ne fait pas de distinction entre les régions, laissez-le vide ou remplissez 'us-east-1'."
|
||||
objectStorageUseSSL: "Utiliser SSL"
|
||||
objectStorageUseSSLDesc: "Désactivez-le si vous n'utilisez pas HTTPS pour la connexion API"
|
||||
objectStorageUseProxy: "Se connecter via proxy"
|
||||
objectStorageUseProxyDesc: "Désactivez-le si vous n'utilisez pas Proxy pour la connexion de stockage d'objets"
|
||||
serverLogs: "Journaux serveur"
|
||||
deleteAll: "Supprimer tout"
|
||||
showFixedPostForm: "Afficher le formulaire en haut du fil d'actualité"
|
||||
@ -463,8 +475,8 @@ listen: "Écouter"
|
||||
none: "Rien"
|
||||
volume: "Volume"
|
||||
details: "Détails"
|
||||
chooseEmoji: "Choisissez des emojis"
|
||||
unableToProcess: "L'opération n'a pas pu être complétée"
|
||||
chooseEmoji: "Choisissez un émoji"
|
||||
unableToProcess: "L’opération n’a pas pu être complétée."
|
||||
recentUsed: "Récemment utilisé"
|
||||
install: "Installation"
|
||||
uninstall: "Désinstaller"
|
||||
@ -476,6 +488,32 @@ state: "État"
|
||||
sort: "Trier"
|
||||
ascendingOrder: "Ascendant"
|
||||
descendingOrder: "Descendant"
|
||||
scratchpad: "Scratch pad"
|
||||
scratchpadDescription: "Scratchpad fournit un environnement expérimental pour AiScript. Vous pouvez écrire, exécuter et vérifier les résultats qui interagissent avec Misskey."
|
||||
output: "Sortie"
|
||||
script: "Script"
|
||||
disablePagesScript: "Désactiver AiScript sur les Pages"
|
||||
updateRemoteUser: "Mettre à jour les informations de l’utilisateur·rice distant·e"
|
||||
deleteAllFiles: "Supprimer tous les fichiers"
|
||||
deleteAllFilesConfirm: "Êtes vous surs de vouloir supprimer tous les fichiers ?"
|
||||
removeAllFollowing: "Retenir tous les abonnements"
|
||||
removeAllFollowingDescription: "Se désabonner de tous les comptes de {host}. Veuillez lancer cette action uniquement si l’instance n’existe plus."
|
||||
userSuspended: "Cette utilisateur·trice a été suspendue."
|
||||
userSilenced: "Cette utilisateur·trice a été masquer."
|
||||
sidebar: "Barre latérale"
|
||||
divider: "Séparateur"
|
||||
addItem: "Ajouter élément"
|
||||
rooms: "Chambre"
|
||||
relays: "Relais"
|
||||
addRelay: "Ajouter un relais"
|
||||
inboxUrl: "Inbox URL"
|
||||
addedRelays: "Relais ajoutés"
|
||||
serviceworkerInfo: "Devrait être activé pour les notifications push."
|
||||
deletedNote: "Note supprimée"
|
||||
invisibleNote: "Note invisible"
|
||||
visibility: "Visibilité"
|
||||
poll: "Sondage"
|
||||
useCw: "Masquer le contenu"
|
||||
_theme:
|
||||
explore: "Explorer les thèmes"
|
||||
install: "Installer un thème"
|
||||
@ -490,7 +528,7 @@ _sfx:
|
||||
notification: "Notifications"
|
||||
chat: "Discuter"
|
||||
chatBg: "Discuter (De fond)"
|
||||
antenna: "Réception d'antenne"
|
||||
antenna: "Réception de l’antenne"
|
||||
_ago:
|
||||
unknown: "Inconnu"
|
||||
future: "Futur"
|
||||
@ -510,33 +548,33 @@ _time:
|
||||
_tutorial:
|
||||
title: "Comment utiliser Misskey"
|
||||
step1_1: "Bienvenue,"
|
||||
step1_2: "Cette page est appelée \"fil d'actualité\". Elle montre les \"notes\" des personnes que vous \"abonne\" dans l'ordre chronologique."
|
||||
step1_3: "Vous n'avez pas encore publier de notes et personne n'est encore abonnements, vous ne devriez donc rien voir dans fil d'actualité."
|
||||
step2_1: "Finissons de créer votre profil avant d'écrire une note ou de abonne quelqu'un."
|
||||
step2_2: "En fournissant quelques informations sur vous, il sera plus facile pour les autres de vous abonne."
|
||||
step1_2: "Cette page est appelée « un fil ». Elle affiche les « notes » des personnes auxquelles vous êtes abonné dans un ordre chronologique."
|
||||
step1_3: "Votre fil est actuellement vide vu que vous ne suivez aucun compte et que vous n’avez publié aucune note, pour l’instant."
|
||||
step2_1: "Procédons d’abord à la préparation de votre profil avant d’écrire une note et/ou de vous abonner à un compte."
|
||||
step2_2: "En fournissant quelques informations sur vous, il sera plus facile pour les autres de s’abonner à votre compte."
|
||||
step3_1: "Vous avez fini de créer votre profil ?"
|
||||
step3_2: "L’étape suivante consiste à créer une note. Vous pouvez commencer en cliquant sur l’icône crayon sur l’écran."
|
||||
step3_3: "Remplissez le cadran et cliquez sur le bouton en haut à droite pour envoyer."
|
||||
step3_4: "Vous n'avez rien à dire ? Essayez de dire \"J'ai commencé à utiliser Misskey\"."
|
||||
step4_1: "Avez-vous posté votre première notes ?"
|
||||
step4_2: "Votre première note est maintenant affiché sur votre fil d'actualité."
|
||||
step5_1: "Ensuite, abonnons-nous d'autres personnes et rendre la fil d'actualité en savoir plus vivante."
|
||||
step5_2: "{featured} affiche les notes en tendance sur cette instance. {explore} vous permet de trouver les utilisateur·rice·s en tendance. Essayez de vous abonner aux gens que vous aimez !"
|
||||
step5_3: "Pour abonne un utilisateur, cliquez sur l'icône de l'utilisateur pour afficher la page de l'utilisateur et appuyez sur le bouton \"Abonnement\"."
|
||||
step5_4: "Selon l'utilisateur, il peut s'écouler un certain temps avant que la abonner ne soit approuvé."
|
||||
step6_1: "Si vous voyez la notes d'un autre utilisateur sur fil d'actualité, c'était réussi."
|
||||
step6_2: "Vous pouvez ajouter des \"réactions\" aux notes des autres afin de pouvoir facilement dire votre émotion."
|
||||
step6_3: "Pour ajouter une réaction, cliquez sur la marque \"+\" sur la note et sélectionnez la réaction souhaitée."
|
||||
step7_1: "Tu as bien travaillé ! Ceci conclut l'explication de l'utilisation de base de Misskey."
|
||||
step7_2: "Pour plus d'informations sur Misskey, voir {help}."
|
||||
step7_3: "Alors, profitez de Misskey 🚀"
|
||||
step3_4: "Vous n’avez rien à dire ? Essayez d’écrire « J’ai commencé à utiliser Misskey »."
|
||||
step4_1: "Avez-vous publié votre première note ?"
|
||||
step4_2: "Youpi ! Celle-ci est maintenant affiché sur votre fil d’actualité."
|
||||
step5_1: "Maintenant, essayons de nous abonner à d’autres personnes afin de rendre votre fil plus vivant."
|
||||
step5_2: "La page {featured} affiche les notes en tendance sur la présente instance et {explore} vous permet de trouver des utilisateur·rice·s en tendance. Essayez de vous abonner aux gens que vous aimez !"
|
||||
step5_3: "Pour pouvoir suivre d’autres utilisateur·rice, cliquez sur leur avatar afin d’afficher la page du profil utilisateur ensuite appuyez sur le bouton « S’abonner »."
|
||||
step5_4: "Si l’autre utilisateur possède une icône sous forme d’un cadenas à côté de son nom, il devra accepter votre demande d’abonnement manuellement."
|
||||
step6_1: "Maintenant, vous êtes en mesure de voir s’afficher les notes des autres utilisateur·rice·s sur votre propre fil."
|
||||
step6_2: "Vous avez également la possibilité d’intéragir rapidement avec les notes des autres utilisateur·rice·s en ajoutant des « réactions »."
|
||||
step6_3: "Pour ajouter une réaction à une note, cliquez sur le signe « + » de celle-ci et sélectionnez l’émoji souhaité."
|
||||
step7_1: "Félicitations ! Vous avez atteint la fin du tutoriel de base pour l’utilisation de Misskey."
|
||||
step7_2: "Si vous désirez en savoir plus sur Misskey, jetez un œil sur la section {help}."
|
||||
step7_3: "Bon courage et amusez-vous bien sur Misskey 🚀"
|
||||
_2fa:
|
||||
alreadyRegistered: "Cette étape à déjà été complétée"
|
||||
registerDevice: "Ajouter un appareil"
|
||||
registerDevice: "Ajouter un nouvel appareil"
|
||||
registerKey: "S’inscrire la clé"
|
||||
step1: "Tout d'abord, installez une application d'authentification, telle que {a} ou {b}, sur votre appareil."
|
||||
step2: "Ensuite, scannez le code QR affiché avec l'application."
|
||||
step3: "Entrez le jeton affiché sur l'application et vous avez terminé."
|
||||
step2: "Ensuite, scannez le code QR affiché sur l’écran."
|
||||
step3: "Entrez le jeton affiché sur votre application pour compléter la configuration."
|
||||
step4: "Lorsque vous vous connectez, entrez le jeton de la même manière."
|
||||
securityKeyInfo: "Vous pouvez configurer l'authentification WebAuthN pour sécuriser davantage le processus de connexion avec non seulement la clé de sécurité matérielle qui prend en charge FIDO2, mais également l'authentification par empreinte digitale ou PIN sur votre appareil."
|
||||
_permissions:
|
||||
@ -548,7 +586,7 @@ _permissions:
|
||||
"write:drive": "Écrire sur le Drive"
|
||||
"read:favorites": "Afficher les favoris"
|
||||
"write:favorites": "Écrire des favoris"
|
||||
"read:following": "Voir les informations de l'abonné"
|
||||
"read:following": "Voir les informations de vos abonnements"
|
||||
"write:following": "Abonnements/Se désabonner"
|
||||
"read:messaging": "Cherche à discuter"
|
||||
"write:messaging": "Contrôler le discuter"
|
||||
@ -562,23 +600,23 @@ _permissions:
|
||||
"write:votes": "Voter"
|
||||
"read:pages": "Afficher la page"
|
||||
"write:pages": "Mettre à jour les Pages"
|
||||
"read:page-likes": "Lire les favoris sur les Pages"
|
||||
"read:page-likes": "Voir les favoris sur les Pages"
|
||||
"write:page-likes": "Mettre à jour les favoris sur les Pages"
|
||||
"read:user-groups": "Voir les groupes d'utilisateur·rice·s"
|
||||
"write:user-groups": "Éditer les groupes des utilisateur·rice·s"
|
||||
_auth:
|
||||
shareAccess: "Autoriser \"{name}\" à accéder à votre compte ?"
|
||||
shareAccessAsk: "Voulez-vous vraiment autoriser cette application à accéder à votre compte?"
|
||||
permissionAsk: "Cette application nécessite les autorisations suivantes "
|
||||
pleaseGoBack: "Veillez retourner à l'application"
|
||||
permissionAsk: "Cette application nécessite les autorisations suivantes :"
|
||||
pleaseGoBack: "Veuillez retourner à l’application"
|
||||
callback: "Retour vers l’application"
|
||||
denied: "Accès refusé"
|
||||
_antennaSources:
|
||||
all: "Toutes les notes"
|
||||
homeTimeline: "Notes de l'utilisateur auquel je m'abonne"
|
||||
users: "Notes des un ou plusieurs utilisateurs spécifiés"
|
||||
userList: "Notes pour les utilisateurs de la liste spécifiée"
|
||||
userGroup: "Notes pour les utilisateurs de la groupe spécifiée"
|
||||
homeTimeline: "Notes venant des utilisateur·rice·s auxquel·les je suis abonné"
|
||||
users: "Notes venant de la part d’utilisateur·rice·s précis"
|
||||
userList: "Notes venant d’une liste spécifique"
|
||||
userGroup: "Notes venant d’utilisateur·rice·s du groupe spécifié"
|
||||
_weekday:
|
||||
sunday: "Dimanche"
|
||||
monday: "Lundi"
|
||||
@ -590,19 +628,18 @@ _weekday:
|
||||
_widgets:
|
||||
memo: "Note collante"
|
||||
notifications: "Notifications"
|
||||
timeline: "Fil d'actualité"
|
||||
timeline: "Fil"
|
||||
calendar: "Calendrier"
|
||||
trends: "Tendances"
|
||||
clock: "Horloge"
|
||||
rss: "Lecteur de flux RSS"
|
||||
activity: "Activités"
|
||||
activity: "Activité"
|
||||
photos: "Photos"
|
||||
_cw:
|
||||
hide: "Masquer"
|
||||
show: "Voir plus"
|
||||
show: "Afficher plus …"
|
||||
chars: "{count} caractères"
|
||||
files: "{count} fichiers"
|
||||
poll: "Sondage"
|
||||
_poll:
|
||||
noOnlyOneChoice: "Au moins 2 réponses nécéssaires"
|
||||
choiceN: "Choix {n}"
|
||||
@ -611,7 +648,7 @@ _poll:
|
||||
expiration: "Fin du sondage"
|
||||
infinite: "Illimité"
|
||||
at: "Choisir une date"
|
||||
after: "Chosir une durée"
|
||||
after: "Choisir la durée"
|
||||
deadlineDate: "Date de fin"
|
||||
deadlineTime: "Heure de fin"
|
||||
duration: "Durée"
|
||||
@ -639,7 +676,7 @@ _postForm:
|
||||
replyPlaceholder: "Répondre à cette note ..."
|
||||
quotePlaceholder: "Citez cette note ..."
|
||||
_placeholders:
|
||||
a: "Qu'est-ce qu'il se passe ?"
|
||||
a: "Quoi de neuf ?"
|
||||
b: "Quoi de neuf ?"
|
||||
c: "Qu’avez-vous en tête ?"
|
||||
d: "Désirez-vous publier quelques mots ?"
|
||||
@ -647,7 +684,7 @@ _postForm:
|
||||
f: "En attente de vos écrits ..."
|
||||
_profile:
|
||||
name: "Nom"
|
||||
username: "Nom d'utilisateur·rice"
|
||||
username: "Nom d’utilisateur·rice"
|
||||
description: "À propos de moi"
|
||||
youCanIncludeHashtags: "Vous pouvez également inclure des hashtags."
|
||||
metadata: "Informations complémentaires"
|
||||
@ -665,10 +702,10 @@ _charts:
|
||||
usersIncDec: "Variation du nombre d'utilisateur·rice·s"
|
||||
usersTotal: "Nombre d'utilisateur·rice·s au total"
|
||||
activeUsers: "Utilisateur·rice·s actif·ve·s"
|
||||
notesIncDec: "Variation du nombre d'notes"
|
||||
notesIncDec: "Variation du nombre des notes"
|
||||
localNotesIncDec: "Variation du nombre de notes local"
|
||||
remoteNotesIncDec: "Variation du nombre d’notes distant"
|
||||
notesTotal: "Nombre d'notes au total"
|
||||
notesTotal: "Nombre total des notes"
|
||||
filesIncDec: "Variation du nombre de fichiers"
|
||||
filesTotal: "Nombre de fichiers au total"
|
||||
storageUsageIncDec: "Variation de l'utilisation du stockage"
|
||||
@ -677,8 +714,8 @@ _instanceCharts:
|
||||
requests: "Requêtes"
|
||||
users: "Variation du nombre d'utilisateur·rice·s"
|
||||
usersTotal: "Nombre d'utilisateur·rice·s au total cumulé"
|
||||
notes: "Variation du nombre d'notes"
|
||||
notesTotal: "Nombre d'notes au total cumulé"
|
||||
notes: "Variation du nombre des notes"
|
||||
notesTotal: "Nombre total cumulé des notes"
|
||||
ff: "Variation des abonné·e·s"
|
||||
ffTotal: "Nombre d'abonné·e·s au total cumulé"
|
||||
cacheSize: "Variation de la taille du cache"
|
||||
@ -690,6 +727,68 @@ _timelines:
|
||||
local: "Local"
|
||||
social: "Social"
|
||||
global: "Global"
|
||||
_rooms:
|
||||
roomOf: "Chambre de {user}"
|
||||
addFurniture: "Placer des meubles"
|
||||
translate: "Déplacer"
|
||||
rotate: "Pivoter"
|
||||
exit: "Retour"
|
||||
remove: "Enlever"
|
||||
clear: "Tout enlever"
|
||||
clearConfirm: "Désirez-vous enlever tout les meubles de votre chambre ?"
|
||||
leaveConfirm: "Vous avez des modifications non-sauvegardées. Voulez-vous vraiment quitter ?"
|
||||
chooseImage: "Sélectionnez une image"
|
||||
roomType: "Type de chambre"
|
||||
carpetColor: "Couleur du tapis"
|
||||
_roomType:
|
||||
default: "Par défaut"
|
||||
washitsu: "Style japonnais"
|
||||
_furnitures:
|
||||
milk: "Lait en carton"
|
||||
bed: "Lit"
|
||||
low-table: "Table basse"
|
||||
desk: "Bureau"
|
||||
chair: "Chaise"
|
||||
chair2: "Chaise 2"
|
||||
fan: "Ventilateur"
|
||||
pc: "Ordinateur"
|
||||
plant: "Plante d’intérieur"
|
||||
plant2: "Plante d’intérieur 2"
|
||||
eraser: "Gomme"
|
||||
pencil: "Crayon"
|
||||
pudding: "Pudding"
|
||||
cardboard-box: "Boîte en carton"
|
||||
cardboard-box2: "Boîte en carton 2"
|
||||
cardboard-box3: "Boîte en carton 3"
|
||||
book: "Livre"
|
||||
book2: "Livre 2"
|
||||
piano: "Piano"
|
||||
facial-tissue: "Mouchoirs en papier"
|
||||
server: "Serveurs"
|
||||
moon: "Lune"
|
||||
corkboard: "Tableau en liège"
|
||||
mousepad: "Tapis de souris"
|
||||
monitor: "Écran de contrôle"
|
||||
keyboard: "Clavier"
|
||||
carpet-stripe: "Tapis (zébré)"
|
||||
mat: "Tapis"
|
||||
color-box: "Étagère"
|
||||
wall-clock: "Horloge murale"
|
||||
photoframe: "Cadre photo"
|
||||
cube: "Cube"
|
||||
tv: "Téléviseur"
|
||||
pinguin: "Pingouin"
|
||||
rubik-cube: "Cube de Rubik"
|
||||
poster-h: "Affiche (horizontale)"
|
||||
poster-v: "Affiche (verticale)"
|
||||
sofa: "Canapé"
|
||||
spiral: "Escaliers en spirale"
|
||||
bin: "Corbeille"
|
||||
cup-noodle: "Bol de nouilles"
|
||||
holo-display: "Affichage holographique"
|
||||
energy-drink: "Boisson énergétique"
|
||||
doll-ai: "Poupée Ai"
|
||||
banknote: "Billets de banque"
|
||||
_pages:
|
||||
newPage: "Créer une page"
|
||||
editPage: "Modifier une page"
|
||||
@ -699,14 +798,14 @@ _pages:
|
||||
deleted: "La page a bien été supprimée"
|
||||
nameAlreadyExists: "La URL de page spécifiée existe déjà"
|
||||
invalidNameTitle: "La URL de la page spécifiée n’est pas valide"
|
||||
invalidNameText: "Assurez-vous qu'il n'est pas vide"
|
||||
invalidNameText: "Assurez-vous qu’il n’est pas vide"
|
||||
editThisPage: "Éditer cette page"
|
||||
viewSource: "Afficher la source"
|
||||
viewPage: "Afficher la page"
|
||||
like: "Favori"
|
||||
unlike: "Je n’favoris pas"
|
||||
unlike: "Je n’aime pas"
|
||||
my: "Mes pages"
|
||||
liked: "Pages favoris"
|
||||
liked: "Pages favorites"
|
||||
inspector: "Inspecteur"
|
||||
content: "Bloc de page"
|
||||
variables: "Variables"
|
||||
@ -722,7 +821,7 @@ _pages:
|
||||
eyeCatchingImageRemove: "Supprimer une image attirante"
|
||||
chooseBlock: "Ajouter un bloc"
|
||||
selectType: "Choisir un type"
|
||||
enterVariableName: "Veuillez entrer un nom de variable"
|
||||
enterVariableName: "Veuillez entrer un nom pour votre variable"
|
||||
variableNameIsAlreadyUsed: "Cette variable est déjà utilisée"
|
||||
contentBlocks: "Contenu"
|
||||
inputBlocks: "Entrée"
|
||||
@ -739,6 +838,8 @@ _pages:
|
||||
post: "Formulaire à publier"
|
||||
_post:
|
||||
text: "Contenu"
|
||||
attachCanvasImage: "Publier avec Toile comme image"
|
||||
canvasId: "Toile ID"
|
||||
textInput: "Entrée de textuelle"
|
||||
_textInput:
|
||||
name: "Nom de la variable"
|
||||
@ -754,6 +855,11 @@ _pages:
|
||||
name: "Nom de la variable"
|
||||
text: "Titre"
|
||||
default: "Valeur par défaut"
|
||||
canvas: "Toile"
|
||||
_canvas:
|
||||
id: "Toile ID"
|
||||
width: "Largeur"
|
||||
height: "Hauteur"
|
||||
switch: "Basculer"
|
||||
_switch:
|
||||
name: "Nom de la variable"
|
||||
@ -775,10 +881,13 @@ _pages:
|
||||
resetRandom: "Réinitialiser le nombre aléatoire"
|
||||
pushEvent: "Envoyer un évènement"
|
||||
_pushEvent:
|
||||
event: "Nom de l'évènement"
|
||||
event: "Nom de l’évènement"
|
||||
message: "Message à afficher lorsque appuyé"
|
||||
variable: "Variable à envoyer"
|
||||
no-variable: "Rien"
|
||||
callAiScript: "Appeler AiScript"
|
||||
_callAiScript:
|
||||
functionName: "Nom de la fonction"
|
||||
radioButton: "Choix"
|
||||
_radioButton:
|
||||
name: "Nom de la variable"
|
||||
@ -802,8 +911,8 @@ _pages:
|
||||
multiLineText: "Texte (Multi-lignes)"
|
||||
textList: "Liste de texte"
|
||||
_textList:
|
||||
info: "Veuillez séparer chacun avec une nouvelle ligne"
|
||||
strLen: "Longueur d'un texte"
|
||||
info: "Veuillez séparer chaque entrée avec un saut de ligne"
|
||||
strLen: "Longueur du texte"
|
||||
_strLen:
|
||||
arg1: "Texte"
|
||||
strPick: "Extraire un caractère"
|
||||
@ -939,6 +1048,7 @@ _pages:
|
||||
_splitStrByLine:
|
||||
arg1: "Texte"
|
||||
ref: "Variables"
|
||||
aiScriptVar: "Variable d'AiScript"
|
||||
fn: "Fonction"
|
||||
_fn:
|
||||
slots: "Slots"
|
||||
@ -960,3 +1070,20 @@ _pages:
|
||||
enviromentVariables: "Variables d'environnement"
|
||||
pageVariables: "Élément de page"
|
||||
argVariables: "Entrée slot"
|
||||
_relayStatus:
|
||||
requesting: "En attente"
|
||||
accepted: "Accepté"
|
||||
rejected: "Refusée"
|
||||
_notification:
|
||||
fileUploaded: "Le fichier a été téléversé !"
|
||||
youGotMention: "{name} vous a mentionné"
|
||||
youGotReply: "Réponse de {name}"
|
||||
youGotQuote: "Cité·e par {name}"
|
||||
youGotPoll: "{name} a participé à votre sondage"
|
||||
youGotMessagingMessageFromUser: "{name} vous envoyé un message"
|
||||
youGotMessagingMessageFromGroup: "Un message a été envoyé au groupe {name}"
|
||||
youWereFollowed: "Vous suit"
|
||||
youReceivedFollowRequest: "Vous avez reçu une demande d’abonnement"
|
||||
yourFollowRequestAccepted: "Votre demande d’abonnement a été accepté"
|
||||
youWereInvitedToGroup: "Invité au groupe"
|
||||
|
||||
|
@ -14,6 +14,7 @@ const merge = (...args) => args.reduce((a, c) => ({
|
||||
}), {});
|
||||
|
||||
const languages = [
|
||||
'ar-SA',
|
||||
//'cs-CZ',
|
||||
//'da-DK',
|
||||
'de-DE',
|
||||
|
@ -45,6 +45,7 @@ loadMore: "もっと見る"
|
||||
youGotNewFollower: "フォローされました"
|
||||
receiveFollowRequest: "フォローリクエストされました"
|
||||
followRequestAccepted: "フォローが承認されました"
|
||||
mention: "メンション"
|
||||
mentions: "あなた宛て"
|
||||
directNotes: "ダイレクト投稿"
|
||||
importAndExport: "インポートとエクスポート"
|
||||
@ -104,9 +105,11 @@ suspendConfirm: "凍結しますか?"
|
||||
unsuspendConfirm: "解凍しますか?"
|
||||
selectList: "リストを選択"
|
||||
customEmojis: "カスタム絵文字"
|
||||
emoji: "絵文字"
|
||||
emojiName: "絵文字名"
|
||||
emojiUrl: "絵文字画像URL"
|
||||
addEmoji: "絵文字を追加"
|
||||
settingGuide: "おすすめ設定"
|
||||
cacheRemoteFiles: "リモートのファイルをキャッシュする"
|
||||
cacheRemoteFilesDescription: "この設定を無効にすると、リモートファイルをキャッシュせず直リンクするようになります。サーバーのストレージを節約できますが、サムネイルが生成されないので通信量が増加します。"
|
||||
flagAsBot: "Botとして設定"
|
||||
@ -239,6 +242,8 @@ drive: "ドライブ"
|
||||
fileName: "ファイル名"
|
||||
selectFile: "ファイルを選択"
|
||||
selectFiles: "ファイルを選択"
|
||||
selectFolder: "フォルダーを選択"
|
||||
selectFolders: "フォルダーを選択"
|
||||
renameFile: "ファイル名を変更"
|
||||
folderName: "フォルダー名"
|
||||
createFolder: "フォルダーを作成"
|
||||
@ -265,6 +270,7 @@ watch: "ウォッチ"
|
||||
unwatch: "ウォッチ解除"
|
||||
accept: "許可"
|
||||
reject: "拒否"
|
||||
normal: "正常"
|
||||
instanceName: "インスタンス名"
|
||||
instanceDescription: "インスタンスの紹介"
|
||||
maintainerName: "管理者の名前"
|
||||
@ -296,10 +302,15 @@ bannerUrl: "バナー画像のURL"
|
||||
basicInfo: "基本情報"
|
||||
pinnedUsers: "ピン留めユーザー"
|
||||
pinnedUsersDescription: "「みつける」ページなどにピン留めしたいユーザーを改行で区切って記述します。"
|
||||
hcaptcha: "hCaptcha"
|
||||
enableHcaptcha: "hCaptchaを有効にする"
|
||||
hcaptchaSiteKey: "サイトキー"
|
||||
hcaptchaSecretKey: "シークレットキー"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "reCAPTCHAを有効にする"
|
||||
recaptchaSiteKey: "サイトキー"
|
||||
recaptchaSecretKey: "シークレットキー"
|
||||
avoidMultiCaptchaConfirm: "複数のCaptchaを使用すると干渉を起こす可能性があります。他のCaptchaを無効にしますか?キャンセルして複数のCaptchaを有効化したままにすることも可能です。"
|
||||
antennas: "アンテナ"
|
||||
manageAntennas: "アンテナの管理"
|
||||
name: "名前"
|
||||
@ -319,6 +330,7 @@ notesAndReplies: "投稿と返信"
|
||||
withFiles: "ファイル付き"
|
||||
silence: "サイレンス"
|
||||
silenceConfirm: "サイレンスしますか?"
|
||||
unsilence: "サイレンス解除"
|
||||
unsilenceConfirm: "サイレンス解除しますか?"
|
||||
popularUsers: "人気のユーザー"
|
||||
recentlyUpdatedUsers: "最近投稿したユーザー"
|
||||
@ -350,8 +362,6 @@ unregister: "登録を解除"
|
||||
passwordLessLogin: "パスワード無しログイン"
|
||||
resetPassword: "パスワードをリセット"
|
||||
newPasswordIs: "新しいパスワードは「{password}」です"
|
||||
post: "投稿"
|
||||
posted: "投稿しました"
|
||||
autoReloadWhenDisconnected: "サーバー切断時に自動リロード"
|
||||
autoNoteWatch: "ノートの自動ウォッチ"
|
||||
autoNoteWatchDescription: "あなたがリアクションしたり返信したりした他のユーザーのノートに関する通知を受け取るようにします。"
|
||||
@ -406,7 +416,7 @@ passwordMatched: "一致しました"
|
||||
passwordNotMatched: "一致していません"
|
||||
signinWith: "{x}でログイン"
|
||||
signinFailed: "ログインできませんでした。ユーザー名とパスワードを確認してください。"
|
||||
tapSecurityKey: "セキュリティーキーにタッチ"
|
||||
tapSecurityKey: "セキュリティキーにタッチ"
|
||||
or: "もしくは"
|
||||
uiLanguage: "UIの表示言語"
|
||||
groupInvited: "グループに招待されました"
|
||||
@ -454,6 +464,8 @@ objectStorageRegion: "Region"
|
||||
objectStorageRegionDesc: "'xx-east-1'のようなregionを指定してください。使用サービスにregionの概念がない場合は、空または'us-east-1'にしてください。"
|
||||
objectStorageUseSSL: "SSLを使用する"
|
||||
objectStorageUseSSLDesc: "API接続にhttpsを使用しない場合はオフにしてください"
|
||||
objectStorageUseProxy: "Proxyを利用する"
|
||||
objectStorageUseProxyDesc: "API接続にproxyを利用しない場合はオフにしてください"
|
||||
serverLogs: "サーバーログ"
|
||||
deleteAll: "全て削除"
|
||||
showFixedPostForm: "タイムライン上部に投稿フォームを表示する"
|
||||
@ -479,6 +491,30 @@ descendingOrder: "降順"
|
||||
scratchpad: "スクラッチパッド"
|
||||
scratchpadDescription: "スクラッチパッドは、AiScriptの実験環境を提供します。Misskeyと対話するコードの記述、実行、結果の確認ができます。"
|
||||
output: "出力"
|
||||
script: "スクリプト"
|
||||
disablePagesScript: "Pagesのスクリプトを無効にする"
|
||||
updateRemoteUser: "リモートユーザー情報の更新"
|
||||
deleteAllFiles: "すべてのファイルを削除"
|
||||
deleteAllFilesConfirm: "すべてのファイルを削除しますか?"
|
||||
removeAllFollowing: "フォローを全解除"
|
||||
removeAllFollowingDescription: "{host}からのフォローをすべて解除します。そのインスタンスがもう存在しなくなった場合などに実行してください。"
|
||||
userSuspended: "このユーザーは凍結されています。"
|
||||
userSilenced: "このユーザーはサイレンスされています。"
|
||||
sidebar: "サイドバー"
|
||||
divider: "分割線"
|
||||
addItem: "項目を追加"
|
||||
rooms: "ルーム"
|
||||
relays: "リレー"
|
||||
addRelay: "リレーの追加"
|
||||
inboxUrl: "inboxのURL"
|
||||
addedRelays: "追加済みのリレー"
|
||||
serviceworkerInfo: "プッシュ通知を行うには有効する必要があります。"
|
||||
deletedNote: "削除された投稿"
|
||||
invisibleNote: "非公開の投稿"
|
||||
enableInfiniteScroll: "自動でもっと見る"
|
||||
visibility: "公開範囲"
|
||||
poll: "アンケート"
|
||||
useCw: "内容を隠す"
|
||||
|
||||
_theme:
|
||||
explore: "テーマを探す"
|
||||
@ -617,7 +653,6 @@ _cw:
|
||||
show: "もっと見る"
|
||||
chars: "{count}文字"
|
||||
files: "{count}ファイル"
|
||||
poll: "アンケート"
|
||||
|
||||
_poll:
|
||||
noOnlyOneChoice: "選択肢は最低2つ必要です"
|
||||
@ -652,6 +687,7 @@ _visibility:
|
||||
specified: "ダイレクト"
|
||||
specifiedDescription: "指定したユーザーのみに公開"
|
||||
localOnly: "ローカルのみ"
|
||||
localOnlyDescription: "リモートユーザーには非公開"
|
||||
|
||||
_postForm:
|
||||
replyPlaceholder: "このノートに返信..."
|
||||
@ -714,6 +750,69 @@ _timelines:
|
||||
social: "ソーシャル"
|
||||
global: "グローバル"
|
||||
|
||||
_rooms:
|
||||
roomOf: "{user}のルーム"
|
||||
addFurniture: "家具を置く"
|
||||
translate: "移動"
|
||||
rotate: "回転"
|
||||
exit: "戻る"
|
||||
remove: "しまう"
|
||||
clear: "片付け"
|
||||
clearConfirm: "全ての家具をしまいますか?"
|
||||
leaveConfirm: "未保存の変更があります、移動しますか?"
|
||||
chooseImage: "画像を選択"
|
||||
roomType: "部屋のタイプ"
|
||||
carpetColor: "床の色"
|
||||
_roomType:
|
||||
default: "デフォルト"
|
||||
washitsu: "和室"
|
||||
_furnitures:
|
||||
milk: "牛乳パック"
|
||||
bed: "ベッド"
|
||||
low-table: "ローテーブル"
|
||||
desk: "デスク"
|
||||
chair: "チェア"
|
||||
chair2: "チェア2"
|
||||
fan: "換気扇"
|
||||
pc: "パソコン"
|
||||
plant: "観葉植物"
|
||||
plant2: "観葉植物2"
|
||||
eraser: "消しゴム"
|
||||
pencil: "鉛筆"
|
||||
pudding: "プリン"
|
||||
cardboard-box: "段ボール箱"
|
||||
cardboard-box2: "段ボール箱2"
|
||||
cardboard-box3: "段ボール箱3"
|
||||
book: "本"
|
||||
book2: "本2"
|
||||
piano: "ピアノ"
|
||||
facial-tissue: "ティッシュボックス"
|
||||
server: "サーバー"
|
||||
moon: "月"
|
||||
corkboard: "コルクボード"
|
||||
mousepad: "マウスパッド"
|
||||
monitor: "モニター"
|
||||
keyboard: "キーボード"
|
||||
carpet-stripe: "カーペット(縞)"
|
||||
mat: "マット"
|
||||
color-box: "カラーボックス"
|
||||
wall-clock: "壁掛け時計"
|
||||
photoframe: "額縁"
|
||||
cube: "キューブ"
|
||||
tv: "テレビ"
|
||||
pinguin: "ピンギン"
|
||||
rubik-cube: "ルービックキューブ"
|
||||
poster-h: "ポスター(横長)"
|
||||
poster-v: "ポスター(縦長)"
|
||||
sofa: "ソファ"
|
||||
spiral: "螺旋階段"
|
||||
bin: "ゴミ箱"
|
||||
cup-noodle: "カップ麺"
|
||||
holo-display: "ホログラフィックディスプレイ"
|
||||
energy-drink: "エナジードリンク"
|
||||
doll-ai: "藍ちゃん人形"
|
||||
banknote: "札束"
|
||||
|
||||
_pages:
|
||||
newPage: "ページの作成"
|
||||
editPage: "ページの編集"
|
||||
@ -765,6 +864,8 @@ _pages:
|
||||
post: "投稿フォーム"
|
||||
_post:
|
||||
text: "内容"
|
||||
attachCanvasImage: "キャンバスの画像を添付する"
|
||||
canvasId: "キャンバスID"
|
||||
|
||||
textInput: "テキスト入力"
|
||||
_textInput:
|
||||
@ -784,6 +885,12 @@ _pages:
|
||||
text: "タイトル"
|
||||
default: "デフォルト値"
|
||||
|
||||
canvas: "キャンバス"
|
||||
_canvas:
|
||||
id: "キャンバスID"
|
||||
width: "幅"
|
||||
height: "高さ"
|
||||
|
||||
switch: "スイッチ"
|
||||
_switch:
|
||||
name: "変数名"
|
||||
@ -811,6 +918,9 @@ _pages:
|
||||
message: "押したときに表示するメッセージ"
|
||||
variable: "送信する変数"
|
||||
no-variable: "なし"
|
||||
callAiScript: "AiScript呼び出し"
|
||||
_callAiScript:
|
||||
functionName: "関数名"
|
||||
|
||||
radioButton: "選択肢"
|
||||
_radioButton:
|
||||
@ -973,6 +1083,7 @@ _pages:
|
||||
_splitStrByLine:
|
||||
arg1: "テキスト"
|
||||
ref: "変数"
|
||||
aiScriptVar: "AiScript変数"
|
||||
fn: "関数"
|
||||
_fn:
|
||||
slots: "スロット"
|
||||
@ -994,3 +1105,23 @@ _pages:
|
||||
enviromentVariables: "環境変数"
|
||||
pageVariables: "ページ要素"
|
||||
argVariables: "入力スロット"
|
||||
|
||||
_relayStatus:
|
||||
requesting: "承認待ち"
|
||||
accepted: "承認済み"
|
||||
rejected: "拒否済み"
|
||||
|
||||
_notification:
|
||||
fileUploaded: "ファイルがアップロードされました"
|
||||
youGotMention: "{name}からのメンション"
|
||||
youGotReply: "{name}からのリプライ"
|
||||
youGotQuote: "{name}による引用"
|
||||
youRenoted: "{name}がRenoteしました"
|
||||
youGotPoll: "{name}が投票しました"
|
||||
youGotMessagingMessageFromUser: "{name}からのチャットがあります"
|
||||
youGotMessagingMessageFromGroup: "{name}のチャットがあります"
|
||||
youWereFollowed: "フォローされました"
|
||||
youReceivedFollowRequest: "フォローリクエストが来ました"
|
||||
yourFollowRequestAccepted: "フォローリクエストが承認されました"
|
||||
youWereInvitedToGroup: "グループに招待されました"
|
||||
|
||||
|
@ -35,19 +35,38 @@ unpin: "ピン留めやめる"
|
||||
copyContent: "内容をコピー"
|
||||
copyLink: "リンクをコピー"
|
||||
delete: "ほかす"
|
||||
deleteAndEdit: "ほかして直す"
|
||||
deleteAndEditConfirm: "このノートをほかしてもっかい直す?このノートへのリアクション、Remote、返信も全部消えんで"
|
||||
addToList: "リストに入れたる"
|
||||
sendMessage: "メッセージを送る"
|
||||
copyUsername: "ユーザー名をコピー"
|
||||
reply: "返す"
|
||||
loadMore: "もっとあるやろ!"
|
||||
youGotNewFollower: "フォローされたで"
|
||||
receiveFollowRequest: "フォローリクエストされたで"
|
||||
followRequestAccepted: "フォローが承認されたで"
|
||||
mentions: "あんた宛て"
|
||||
directNotes: "ダイレクト投稿"
|
||||
importAndExport: "インポートとエクスポート"
|
||||
import: "インポート"
|
||||
export: "エクスポート"
|
||||
files: "ファイル"
|
||||
download: "ダウンロード"
|
||||
driveFileDeleteConfirm: "ファイル「{name}」を消してしもうてええか?このファイルを添付したノートも消えてまうで。"
|
||||
unfollowConfirm: "{name}のフォローを解除してもええんか?"
|
||||
exportRequested: "エクスポートしてな、ってリクエストしたけど、これ多分めっちゃ時間かかるで。エクスポート終わったら「ドライブ」に突っ込んどくで。"
|
||||
importRequested: "インポートしてな、ってリクエストしたけど、これ多分めっちゃ時間かかるで。"
|
||||
lists: "リスト"
|
||||
noLists: "リストはあらへん"
|
||||
note: "ノート"
|
||||
notes: "ノート"
|
||||
following: "フォロー"
|
||||
followers: "フォロワー"
|
||||
followsYou: "フォローされとるで"
|
||||
createList: "リスト作る"
|
||||
manageLists: "リストの管理"
|
||||
error: "問題が発生してん"
|
||||
retry: "もっぺんやってみる"
|
||||
enterListName: "リスト名を入れてや"
|
||||
privacy: "プライバシーってなんや?オカンの年齢か?"
|
||||
makeFollowManuallyApprove: "他人のフォローは許可してからや!"
|
||||
@ -55,13 +74,20 @@ defaultNoteVisibility: "もとからの公開範囲"
|
||||
follow: "フォロー"
|
||||
followRequest: "フォロー許してくれや!言うてみる"
|
||||
followRequests: "フォロー許してくれや!"
|
||||
unfollow: "フォローやめる"
|
||||
followRequestPending: "フォロー許してくれるん待っとる"
|
||||
enterEmoji: "絵文字を入れてや"
|
||||
renote: "Renote"
|
||||
unrenote: "Renoteやめる"
|
||||
quote: "引用"
|
||||
pinnedNote: "ピン留めされたノート"
|
||||
you: "あんた"
|
||||
clickToShow: "押してみ、見せたるわ"
|
||||
sensitive: "見たらあかんで"
|
||||
add: "増やす"
|
||||
reaction: "リアクション"
|
||||
reactionSettingDescription: "リアクションピッカーに出しとくリアクションを選んでや。"
|
||||
rememberNoteVisibility: "公開範囲覚えといて"
|
||||
attachCancel: "くっつけるのやめよか"
|
||||
markAsSensitive: "ちょっと見せられへんわ"
|
||||
unmarkAsSensitive: "別にええんじゃね?"
|
||||
@ -72,45 +98,264 @@ block: "ブロック"
|
||||
unblock: "ブロックやめたる"
|
||||
suspend: "凍結"
|
||||
unsuspend: "溶かす"
|
||||
blockConfirm: "ブロックしてしもうてええか?"
|
||||
unblockConfirm: "ブロックすんのやめるけどええか?"
|
||||
suspendConfirm: "凍結してしもうてええか?"
|
||||
unsuspendConfirm: "解凍するけどええか?"
|
||||
selectList: "リストを選ぶ"
|
||||
customEmojis: "カスタム絵文字"
|
||||
emojiName: "絵文字名"
|
||||
emojiUrl: "絵文字画像URL"
|
||||
addEmoji: "絵文字を追加"
|
||||
settingGuide: "ええ感じの設定"
|
||||
cacheRemoteFiles: "リモートのファイルをキャッシュする"
|
||||
cacheRemoteFilesDescription: "この設定をチャラにすると、リモートファイルをキャッシュせず直リンクするようになります。サーバーのストレージを節約できますが、サムネイルが生成されへんので通信量が増加します。"
|
||||
flagAsBot: "Botやでと言っとく"
|
||||
flagAsCat: "Catやでと言っとく"
|
||||
autoAcceptFollowed: "フォローしとるユーザーからのフォロリクは全部勝手にええでって言うで"
|
||||
addAcount: "アカウント追加"
|
||||
loginFailed: "ログインに失敗してん"
|
||||
showOnRemote: "リモートで見る"
|
||||
general: "全般"
|
||||
wallpaper: "壁紙"
|
||||
setWallpaper: "壁紙を設定"
|
||||
removeWallpaper: "壁紙ほかす"
|
||||
searchWith: "検索: {q}"
|
||||
youHaveNoLists: "リストはあらへん"
|
||||
followConfirm: "{name}をフォローしてええか?"
|
||||
proxyAccount: "プロキシアカウント"
|
||||
proxyAccountDescription: "プロキシアカウントは、代わりにフォローしてくれるアカウントや。例えば、551に豚まんが無いときやったり、ユーザーがリモートユーザーをアカウントに入れたとき、リストに入れられたユーザーが誰からもフォローされてないと寂しいやん。寂しいし、アクティビティも配達されへんから、プロキシアカウントがフォローしてくれるで。ええやつやん…"
|
||||
host: "ホスト"
|
||||
selectUser: "ユーザーを選ぶ"
|
||||
recipient: "宛先"
|
||||
annotation: "注釈"
|
||||
federation: "連合"
|
||||
instances: "インスタンス"
|
||||
registeredAt: "一見さんになった日"
|
||||
latestRequestSentAt: "ちょっと前のリクエスト送信"
|
||||
latestRequestReceivedAt: "ちょっと前のリクエスト受信"
|
||||
latestStatus: "ちょっと前のステータス"
|
||||
storageUsage: "ストレージ使うた量"
|
||||
charts: "チャート"
|
||||
perHour: "1時間ごと"
|
||||
perDay: "1日ごと"
|
||||
stopActivityDelivery: "アクティビティの配送をやめる"
|
||||
blockThisInstance: "このインスタンスをブロック"
|
||||
operations: "操作"
|
||||
software: "ソフトウェア"
|
||||
version: "バージョン"
|
||||
metadata: "メタデータ"
|
||||
withNFiles: "{n}個のファイル"
|
||||
monitor: "モニター"
|
||||
jobQueue: "ジョブキュー"
|
||||
cpuAndMemory: "CPUとメモリ"
|
||||
network: "ネットワーク"
|
||||
disk: "ディスク"
|
||||
instanceInfo: "インスタンス情報"
|
||||
statistics: "統計"
|
||||
clearQueue: "キューにさいなら"
|
||||
clearQueueConfirmTitle: "キューをクリアしまっか?"
|
||||
clearQueueConfirmText: "未配達の投稿は配送されなくなるで。通常この操作を行う必要はあらへんや。"
|
||||
clearCachedFiles: "キャッシュにさいなら"
|
||||
clearCachedFilesConfirm: "キャッシュされとるリモートファイルを全部削除しまっか?"
|
||||
blockedInstances: "インスタンスブロック"
|
||||
blockedInstancesDescription: "ブロックしたいインスタンスのホストを改行で区切って設定してな。ブロックされてもうたインスタンスとはもう金輪際やり取りできひんくなるで。"
|
||||
muteAndBlock: "ミュートとブロック"
|
||||
mutedUsers: "ミュートしたユーザー"
|
||||
blockedUsers: "ブロックしたユーザー"
|
||||
noUsers: "ユーザーはおらへん"
|
||||
editProfile: "プロフィールをいじる"
|
||||
noteDeleteConfirm: "このノートを削除しまっか?"
|
||||
pinLimitExceeded: "これ以上ピン留めできひん"
|
||||
intro: "Misskeyのインストールが完了してん!管理者アカウントを作ってや。"
|
||||
done: "でけた"
|
||||
processing: "処理しとる"
|
||||
preview: "プレビュー"
|
||||
default: "デフォルト"
|
||||
noCustomEmojis: "絵文字はあらへん"
|
||||
customEmojisOfRemote: "リモートの絵文字"
|
||||
noJobs: "ジョブはあらへん"
|
||||
federating: "連合しとる"
|
||||
blocked: "ブロックしとる"
|
||||
suspended: "配信せぇへん"
|
||||
all: "みな"
|
||||
subscribing: "購読しとる"
|
||||
publishing: "配信しとる"
|
||||
notResponding: "応答してへんで"
|
||||
instanceFollowing: "インスタンスのフォロー"
|
||||
instanceFollowers: "インスタンスのフォロワー\n"
|
||||
instanceUsers: "インスタンスのユーザー"
|
||||
changePassword: "パスワード変える"
|
||||
security: "セキュリティ"
|
||||
retypedNotMatch: "そやないねん。"
|
||||
currentPassword: "今のパスワード"
|
||||
newPassword: "今度のパスワード"
|
||||
newPasswordRetype: "今度のパスワード(もっぺん入れて)"
|
||||
attachFile: "ファイルくっつけて"
|
||||
more: "他ないんか!"
|
||||
featured: "ハイライト"
|
||||
usernameOrUserId: "ユーザー名かユーザーID"
|
||||
noSuchUser: "ユーザーが見つからへんで"
|
||||
lookup: "見てきて"
|
||||
announcements: "これ知っといてな"
|
||||
imageUrl: "画像URL"
|
||||
remove: "ほかす"
|
||||
removed: "削除したで!"
|
||||
removeAreYouSure: "「{x}」はなおしてしもてええか?"
|
||||
saved: "保存したで!"
|
||||
messaging: "チャット"
|
||||
upload: "アップロード"
|
||||
fromDrive: "ドライブから"
|
||||
fromUrl: "URLから"
|
||||
uploadFromUrl: "URLアップロード"
|
||||
uploadFromUrlDescription: "このURLのファイルをアップロードしたいねん"
|
||||
uploadFromUrlRequested: "アップロードしたい言うといたで"
|
||||
uploadFromUrlMayTakeTime: "アップロード終わるんにちょい時間かかるかもしれへんわ。"
|
||||
explore: "みつける"
|
||||
games: "Misskey Games"
|
||||
messageRead: "もう読んだ"
|
||||
noMoreHistory: "これより過去の履歴はあらへんで"
|
||||
startMessaging: "チャットやるで"
|
||||
nUsersRead: "{n}人が読んでもうた"
|
||||
agreeTo: "{0}はええで"
|
||||
tos: "利用規約"
|
||||
start: "始める"
|
||||
home: "ホーム"
|
||||
remoteUserCaution: "リモートユーザーやから、ちゃんとした情報とちゃうで。"
|
||||
activity: "アクティビティ"
|
||||
images: "画像"
|
||||
birthday: "生まれた日"
|
||||
yearsOld: "{age}歳"
|
||||
registeredDate: "始めた日"
|
||||
location: "場所"
|
||||
theme: "テーマ"
|
||||
themeForLightMode: "ライトモードではこのテーマつこて"
|
||||
themeForDarkMode: "ダークモードではこのテーマつこて"
|
||||
light: "ライト"
|
||||
dark: "ダーク"
|
||||
lightThemes: "デイゲーム"
|
||||
darkThemes: "ナイトゲーム"
|
||||
syncDeviceDarkMode: "試合開始時間はデバイスのダークモードと一緒や"
|
||||
drive: "ドライブ"
|
||||
fileName: "ファイル名"
|
||||
selectFile: "ファイル選んでや"
|
||||
selectFiles: "ファイル選んでや"
|
||||
selectFolder: "フォルダ選んでや"
|
||||
selectFolders: "フォルダ選んでや"
|
||||
renameFile: "ファイル名をいらう"
|
||||
folderName: "フォルダー名"
|
||||
createFolder: "フォルダー作る"
|
||||
renameFolder: "フォルダー名を変える"
|
||||
deleteFolder: "フォルダーを消してまう"
|
||||
addFile: "ファイルを追加"
|
||||
emptyDrive: "ドライブにはなんも残っとらん"
|
||||
emptyFolder: "ふぉろだーにはなんも残っとらん"
|
||||
unableToDelete: "消そうおもってんけどな、あかんかったわ"
|
||||
inputNewFileName: "今度のファイル名は何にするん?"
|
||||
inputNewFolderName: "今度のフォルダ名は何にするん?"
|
||||
circularReferenceFolder: "移動先のフォルダーは、移動するフォルダーのサブフォルダーや。"
|
||||
hasChildFilesOrFolders: "このフォルダ、まだなんか入っとるから消されへん"
|
||||
copyUrl: "URLをコピー"
|
||||
rename: "名前を変えるで"
|
||||
avatar: "アイコン"
|
||||
banner: "バナー"
|
||||
nsfw: "見たらあかんで"
|
||||
disconnectedFromServer: "サーバーが機嫌悪いねん"
|
||||
reload: "リロード"
|
||||
doNothing: "何もせんとく"
|
||||
reloadConfirm: "リロードしてええか?"
|
||||
watch: "ウォッチ"
|
||||
unwatch: "ウォッチやめる"
|
||||
accept: "ええで"
|
||||
reject: "あかん"
|
||||
normal: "ええ感じ"
|
||||
instanceName: "インスタンス名"
|
||||
instanceDescription: "インスタンスの紹介"
|
||||
maintainerName: "管理者の名前"
|
||||
maintainerEmail: "管理者のメールアドレス"
|
||||
tosUrl: "利用規約のURL"
|
||||
thisYear: "今年"
|
||||
thisMonth: "今月"
|
||||
today: "今日"
|
||||
dayX: "{day}日"
|
||||
monthX: "{month}月"
|
||||
yearX: "{year}年"
|
||||
pages: "ページ"
|
||||
integration: "つないで"
|
||||
connectSerice: "つなげる"
|
||||
disconnectSerice: "切ってまう"
|
||||
enableLocalTimeline: "ローカルタイムラインを使えるようにする"
|
||||
enableGlobalTimeline: "グローバルタイムラインを使えるようにする"
|
||||
disablingTimelinesInfo: "ここらへんのタイムラインを使えんようにしてしもても、管理者とモデレーターは使えるままになってるで、そうやなかったら不便やからな。"
|
||||
registration: "登録"
|
||||
enableRegistration: "一見さんでも誰でもいらっしゃ~い"
|
||||
invite: "来てや"
|
||||
proxyRemoteFiles: "リモートのファイルをプロキシする"
|
||||
proxyRemoteFilesDescription: "この設定を入れると、保存しとらんかったり、お腹いっぱいになってしもたせいで保存できんかったリモートファイルをローカルでプロキシして、サムネイル作ってもらうことができるで。サーバーの腹具合には影響せんけどな。"
|
||||
driveCapacityPerLocalAccount: "ローカルユーザーひとりあたりのドライブ容量"
|
||||
driveCapacityPerRemoteAccount: "リモートユーザーひとりあたりのドライブ容量"
|
||||
inMb: "メガバイト単位"
|
||||
avoidMultiCaptchaConfirm: "ぎょうさんのCaptchaをつこてしまうと、仲良うせんことがあるんや。他のCaptchaをなおしとこか?別にキャンセルしてもろうたらCaptchaは消されへんで済むけど知らんで。"
|
||||
antennas: "アンテナ"
|
||||
manageAntennas: "アンテナいじる"
|
||||
name: "名前"
|
||||
antennaSource: "受信ソース(このソースは食われへん)"
|
||||
antennaKeywords: "受信キーワード"
|
||||
antennaExcludeKeywords: "除外キーワード"
|
||||
antennaKeywordsDescription: "スペースで区切ったるとAND指定で、改行で区切ったるとOR指定や"
|
||||
notifyAntenna: "新しいノートを追加すんで"
|
||||
withFileAntenna: "なんか添付されたノートだけ"
|
||||
serviceworker: "ServiceWorker"
|
||||
enableServiceworker: "ServiceWorkerをつこて"
|
||||
antennaUsersDescription: "ユーザー名を改行で区切ったってな"
|
||||
caseSensitive: "大文字と小文字は別もんや"
|
||||
withReplies: "返信も入れたって"
|
||||
connectedTo: "次のアカウントに繋がっとるで"
|
||||
notesAndReplies: "投稿と返信"
|
||||
withFiles: "ファイル付いとる"
|
||||
silence: "サイレンス"
|
||||
silenceConfirm: "サイレンスしよか?"
|
||||
unsilence: "サイレンスやめるで"
|
||||
unsilenceConfirm: "サイレンスやめよか?"
|
||||
popularUsers: "人気のユーザー"
|
||||
recentlyUpdatedUsers: "ちょっと前に投稿したばっかりのユーザー"
|
||||
recentlyRegisteredUsers: "ちょっと前に始めたばっかりのユーザー"
|
||||
recentlyDiscoveredUsers: "最近見っけたユーザー"
|
||||
exploreUsersCount: "{count}もユーザーおるで"
|
||||
exploreFediverse: "Fediverseを探ってみる"
|
||||
popularTags: "人気のタグ"
|
||||
userList: "リスト"
|
||||
about: "情報"
|
||||
aboutMisskey: "Misskeyってなんや?"
|
||||
aboutMisskeyText: "Misskeyはsyuiloいう人が2014年からずっと作ってはる、オープンソースなソフトウェアや。"
|
||||
misskeyMembers: "今んとここんだけのメンバーが作って、メンテナンスしてはる:"
|
||||
misskeySource: "ソースコードはこっから見てな:"
|
||||
misskeyTranslation: "Misskeyの翻訳手伝うてくれへん?:"
|
||||
misskeyDonate: "Misskeyにお金あげたら開発のサポートになるで:"
|
||||
morePatrons: "他にもぎょうさんの人からサポートしてもろてんねん。ほんまおおきに🥰"
|
||||
patrons: "支援者"
|
||||
administrator: "管理者"
|
||||
token: "トークン"
|
||||
twoStepAuthentication: "二段階認証"
|
||||
moderator: "モデレーター"
|
||||
nUsersMentioned: "{n}人が投稿"
|
||||
securityKey: "セキュリティキー"
|
||||
securityKeyName: "キーの名前"
|
||||
registerSecurityKey: "セキュリティキーを登録するで"
|
||||
lastUsed: "最後につこうた日"
|
||||
unregister: "登録やめる"
|
||||
passwordLessLogin: "パスワード無くてもログインできるようにする"
|
||||
resetPassword: "パスワードをリセット"
|
||||
newPasswordIs: "今度のパスワードは「{password}」や"
|
||||
autoReloadWhenDisconnected: "サーバーが調子悪いときには自動でリロードしたる"
|
||||
notFoundDescription: "指定されたURLに該当するページはあらへんやった。"
|
||||
close: "さいなら"
|
||||
joinedGroups: "参加しとるグループ"
|
||||
invites: "来てや"
|
||||
_sfx:
|
||||
note: "ノート"
|
||||
notification: "通知"
|
||||
chat: "チャット"
|
||||
_ago:
|
||||
unknown: "謎"
|
||||
future: "未来"
|
||||
@ -137,6 +382,7 @@ _antennaSources:
|
||||
_widgets:
|
||||
notifications: "通知"
|
||||
timeline: "タイムライン"
|
||||
activity: "アクティビティ"
|
||||
_cw:
|
||||
show: "もっとあるやろ!"
|
||||
_poll:
|
||||
@ -144,14 +390,27 @@ _poll:
|
||||
deadlineTime: "時間"
|
||||
_visibility:
|
||||
publicDescription: "みなのユーザーに公開"
|
||||
home: "ホーム"
|
||||
followers: "フォロワー"
|
||||
_profile:
|
||||
name: "名前"
|
||||
username: "ユーザー名"
|
||||
_exportOrImport:
|
||||
allNotes: "全てのノート"
|
||||
followingList: "フォロー"
|
||||
muteList: "ミュート"
|
||||
blockingList: "ブロック"
|
||||
userLists: "リスト"
|
||||
_timelines:
|
||||
home: "ホーム"
|
||||
_rooms:
|
||||
_roomType:
|
||||
default: "デフォルト"
|
||||
_furnitures:
|
||||
monitor: "モニター"
|
||||
_pages:
|
||||
blocks:
|
||||
image: "画像"
|
||||
script:
|
||||
categories:
|
||||
list: "リスト"
|
||||
@ -170,3 +429,6 @@ _pages:
|
||||
arg1: "リスト"
|
||||
types:
|
||||
array: "リスト"
|
||||
_notification:
|
||||
youWereFollowed: "フォローされたで"
|
||||
|
||||
|
@ -63,3 +63,6 @@ _cw:
|
||||
show: "ಇನ್ನಷ್ಟು ನೋಡು"
|
||||
_profile:
|
||||
username: "ಬಳಕೆಹೆಸರು"
|
||||
_notification:
|
||||
youWereFollowed: "ಹಿಂಬಾಲಿಸಿದರು"
|
||||
|
||||
|
@ -107,6 +107,7 @@ customEmojis: "커스텀 이모지"
|
||||
emojiName: "이모지 이름"
|
||||
emojiUrl: "이모지 URL"
|
||||
addEmoji: "이모지 추가"
|
||||
settingGuide: "추천 설정"
|
||||
cacheRemoteFiles: "리모트 파일을 캐시"
|
||||
cacheRemoteFilesDescription: "이 설정을 해지하면 리모트 파일을 캐시하지 않고 해당 파일을 직접 링크하게 됩니다. 그에 따라 서버의 저장 공간을 절약할 수 있지만, 썸네일이 생성되지 않기 때문에 통신량이 증가합니다."
|
||||
flagAsBot: "나는 봇입니다"
|
||||
@ -239,6 +240,8 @@ drive: "드라이브"
|
||||
fileName: "파일명"
|
||||
selectFile: "파일 선택"
|
||||
selectFiles: "파일 선택"
|
||||
selectFolder: "폴더 선택"
|
||||
selectFolders: "폴더 선택"
|
||||
renameFile: "파일 이름 변경"
|
||||
folderName: "폴더명"
|
||||
createFolder: "폴더 만들기"
|
||||
@ -265,6 +268,7 @@ watch: "지켜보기"
|
||||
unwatch: "지켜보기 해제"
|
||||
accept: "허가"
|
||||
reject: "거부"
|
||||
normal: "정상"
|
||||
instanceName: "인스턴스 이름"
|
||||
instanceDescription: "인스턴스 소개"
|
||||
maintainerName: "관리자 이름"
|
||||
@ -296,10 +300,15 @@ bannerUrl: "배너 이미지 URL"
|
||||
basicInfo: "기본 정보"
|
||||
pinnedUsers: "고정된 유저"
|
||||
pinnedUsersDescription: "\"발견하기\" 페이지 등에 고정하고 싶은 유저를 한 줄에 한 명씩 적습니다."
|
||||
hcaptcha: "hCaptcha"
|
||||
enableHcaptcha: "hCaptcha 활성화"
|
||||
hcaptchaSiteKey: "사이트 키"
|
||||
hcaptchaSecretKey: "시크릿 키"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "reCAPTCHA 활성화"
|
||||
recaptchaSiteKey: "사이트 키"
|
||||
recaptchaSecretKey: "시크릿 키"
|
||||
avoidMultiCaptchaConfirm: "여러 Captcha를 사용하는 경우 간섭이 발생할 가능성이 있습니다. 다른 Captcha를 비활성화하시겠습니까? 취소를 눌러 여러 Captcha를 활성화한 상태로 두는 것도 가능합니다."
|
||||
antennas: "안테나"
|
||||
manageAntennas: "안테나 관리"
|
||||
name: "이름"
|
||||
@ -319,6 +328,7 @@ notesAndReplies: "글과 답글"
|
||||
withFiles: "미디어"
|
||||
silence: "사일런스"
|
||||
silenceConfirm: "이 계정을 사일런스로 설정하시겠습니까?"
|
||||
unsilence: "사일런스 해제"
|
||||
unsilenceConfirm: "이 계정의 사일런스를 해제하시겠습니까?"
|
||||
popularUsers: "인기 유저"
|
||||
recentlyUpdatedUsers: "최근 활동한 유저"
|
||||
@ -350,8 +360,6 @@ unregister: "등록 해제"
|
||||
passwordLessLogin: "비밀번호 없이 로그인"
|
||||
resetPassword: "비밀번호 재설정"
|
||||
newPasswordIs: "새로운 비밀번호는 \"{password}\" 입니다"
|
||||
post: "작성"
|
||||
posted: "게시하였습니다"
|
||||
autoReloadWhenDisconnected: "서버와의 연결이 끊기면 자동 새로고침"
|
||||
autoNoteWatch: "노트를 자동으로 지켜보기"
|
||||
autoNoteWatchDescription: "리액션하거나 답글을 남긴 다른 유저의 노트에 대한 알림을 받습니다."
|
||||
@ -454,6 +462,8 @@ objectStorageRegion: "Region"
|
||||
objectStorageRegionDesc: "'xx-east-1'와 같이 region을 지정해주세요. 사용하는 서비스에 region 개념이 없는 경우, 비워 두거나 'us-east-1'으로 설정해 주세요."
|
||||
objectStorageUseSSL: "SSL 사용"
|
||||
objectStorageUseSSLDesc: "API 호출시 HTTPS 를 사용하지 않는 경우 OFF 로 설정해 주세요"
|
||||
objectStorageUseProxy: "연결에 프록시를 사용"
|
||||
objectStorageUseProxyDesc: "오브젝트 스토리지 API 호출시 프록시를 사용하지 않는 경우 OFF 로 설정해 주세요"
|
||||
serverLogs: "서버 로그"
|
||||
deleteAll: "모두 삭제"
|
||||
showFixedPostForm: "타임라인 상단에 글 작성란을 표시"
|
||||
@ -476,6 +486,26 @@ state: "상태"
|
||||
sort: "정렬"
|
||||
ascendingOrder: "오름차순"
|
||||
descendingOrder: "내림차순"
|
||||
scratchpad: "스크래치 패드"
|
||||
scratchpadDescription: "스크래치 패드는 AiScript 의 테스트 환경을 제공합니다. Misskey 와 상호 작용하는 코드를 작성, 실행 및 결과를 확인할 수 있습니다."
|
||||
output: "출력"
|
||||
script: "스크립트"
|
||||
disablePagesScript: "Pages 에서 AiScript 를 사용하지 않음"
|
||||
updateRemoteUser: "리모트 유저 정보 갱신"
|
||||
deleteAllFiles: "모든 파일 삭제"
|
||||
deleteAllFilesConfirm: "모든 파일을 삭제하시겠습니까?"
|
||||
removeAllFollowing: "모든 팔로잉 해제"
|
||||
removeAllFollowingDescription: "{host}(으)로부터 모든 팔로잉을 해제합니다. 해당 인스턴스가 더 이상 존재하지 않게 된 경우 등에 실행해 주세요."
|
||||
userSuspended: "이 계정은 정지된 상태입니다."
|
||||
userSilenced: "이 계정은 사일런스된 상태입니다."
|
||||
sidebar: "사이드바"
|
||||
divider: "구분선"
|
||||
addItem: "항목 추가"
|
||||
rooms: "방"
|
||||
relays: "릴레이"
|
||||
addRelay: "릴레이 추가"
|
||||
inboxUrl: "Inbox 주소"
|
||||
addedRelays: "추가된 릴레이"
|
||||
_theme:
|
||||
explore: "테마 찾아보기"
|
||||
install: "테마 설치"
|
||||
@ -602,7 +632,6 @@ _cw:
|
||||
show: "더 보기"
|
||||
chars: "{count} 문자"
|
||||
files: "{count} 파일"
|
||||
poll: "투표"
|
||||
_poll:
|
||||
noOnlyOneChoice: "투표 항목이 최소 2개 필요합니다"
|
||||
choiceN: "선택지 {n}"
|
||||
@ -690,6 +719,68 @@ _timelines:
|
||||
local: "로컬"
|
||||
social: "소셜"
|
||||
global: "글로벌"
|
||||
_rooms:
|
||||
roomOf: "{user}의 방"
|
||||
addFurniture: "가구를 배치"
|
||||
translate: "이동"
|
||||
rotate: "회전"
|
||||
exit: "뒤로"
|
||||
remove: "치우기"
|
||||
clear: "모두 치우기"
|
||||
clearConfirm: "정말 방 안의 모든 가구를 치우시겠습니까?"
|
||||
leaveConfirm: "저장되지 않은 변경 사항이 있습니다. 정말 나가시겠습니까?"
|
||||
chooseImage: "이미지 선택"
|
||||
roomType: "방 스타일"
|
||||
carpetColor: "바닥 색상"
|
||||
_roomType:
|
||||
default: "기본값"
|
||||
washitsu: "일본식"
|
||||
_furnitures:
|
||||
milk: "우유 팩"
|
||||
bed: "침대"
|
||||
low-table: "낮은 테이블"
|
||||
desk: "책상"
|
||||
chair: "의자"
|
||||
chair2: "의자 2"
|
||||
fan: "환기구"
|
||||
pc: "컴퓨터"
|
||||
plant: "관엽식물"
|
||||
plant2: "관엽식물 2"
|
||||
eraser: "지우개"
|
||||
pencil: "연필"
|
||||
pudding: "푸딩"
|
||||
cardboard-box: "골판지 상자"
|
||||
cardboard-box2: "골판지 상자 2"
|
||||
cardboard-box3: "골판지 상자 3"
|
||||
book: "책"
|
||||
book2: "책 2"
|
||||
piano: "피아노"
|
||||
facial-tissue: "휴지 상자"
|
||||
server: "서버"
|
||||
moon: "달"
|
||||
corkboard: "게시판"
|
||||
mousepad: "마우스 패드"
|
||||
monitor: "모니터"
|
||||
keyboard: "키보드"
|
||||
carpet-stripe: "카페트 (줄무늬)"
|
||||
mat: "매트"
|
||||
color-box: "책장"
|
||||
wall-clock: "벽걸이 시계"
|
||||
photoframe: "액자"
|
||||
cube: "큐브"
|
||||
tv: "TV"
|
||||
pinguin: "펭귄"
|
||||
rubik-cube: "루빅스 큐브"
|
||||
poster-h: "포스터 (가로)"
|
||||
poster-v: "포스터 (세로)"
|
||||
sofa: "소파"
|
||||
spiral: "나선형 계단"
|
||||
bin: "휴지통"
|
||||
cup-noodle: "컵라면"
|
||||
holo-display: "홀로그램"
|
||||
energy-drink: "에너지 드링크"
|
||||
doll-ai: "아이쨩 인형"
|
||||
banknote: "지폐뭉치"
|
||||
_pages:
|
||||
newPage: "페이지 만들기"
|
||||
editPage: "페이지 수정"
|
||||
@ -739,6 +830,8 @@ _pages:
|
||||
post: "글 입력란"
|
||||
_post:
|
||||
text: "내용"
|
||||
attachCanvasImage: "캔버스의 이미지와 함께 게시하기"
|
||||
canvasId: "캔버스 ID"
|
||||
textInput: "텍스트 입력"
|
||||
_textInput:
|
||||
name: "변수명"
|
||||
@ -754,6 +847,11 @@ _pages:
|
||||
name: "변수명"
|
||||
text: "제목"
|
||||
default: "기본값"
|
||||
canvas: "캔버스"
|
||||
_canvas:
|
||||
id: "캔버스 ID"
|
||||
width: "폭"
|
||||
height: "높이"
|
||||
switch: "스위치"
|
||||
_switch:
|
||||
name: "변수명"
|
||||
@ -779,6 +877,9 @@ _pages:
|
||||
message: "눌렀을 때 표시할 페이지"
|
||||
variable: "보낼 변수"
|
||||
no-variable: "없음"
|
||||
callAiScript: "AiScript 호출"
|
||||
_callAiScript:
|
||||
functionName: "함수명"
|
||||
radioButton: "선택지"
|
||||
_radioButton:
|
||||
name: "변수명"
|
||||
@ -939,6 +1040,7 @@ _pages:
|
||||
_splitStrByLine:
|
||||
arg1: "텍스트"
|
||||
ref: "변수"
|
||||
aiScriptVar: "AiScript 변수"
|
||||
fn: "함수"
|
||||
_fn:
|
||||
slots: "슬롯"
|
||||
@ -960,3 +1062,11 @@ _pages:
|
||||
enviromentVariables: "환경 변수"
|
||||
pageVariables: "페이지 요소"
|
||||
argVariables: "입력 슬롯"
|
||||
_relayStatus:
|
||||
requesting: "대기 중"
|
||||
accepted: "승인됨"
|
||||
rejected: "거절됨"
|
||||
_notification:
|
||||
youWereFollowed: "새로운 팔로워가 있습니다"
|
||||
youWereInvitedToGroup: "그룹에 초대되었습니다"
|
||||
|
||||
|
@ -1,2 +1,3 @@
|
||||
---
|
||||
_lang_: "Nederlands"
|
||||
|
||||
|
@ -1,2 +1,3 @@
|
||||
---
|
||||
_lang_: "Norsk Bokmål"
|
||||
|
||||
|
@ -1,2 +1,3 @@
|
||||
---
|
||||
_lang_: "język polski"
|
||||
|
||||
|
@ -1,2 +1,3 @@
|
||||
---
|
||||
_lang_: "Português"
|
||||
|
||||
|
@ -34,3 +34,4 @@ _widgets:
|
||||
timeline: "Лента"
|
||||
_cw:
|
||||
show: "Показать еще"
|
||||
|
||||
|
4
locales/ug-CN.yml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
_lang_: "ياپونچە"
|
||||
search: "ئىزدەش"
|
||||
|
@ -36,7 +36,7 @@ copyContent: "复制内容"
|
||||
copyLink: "复制链接"
|
||||
delete: "删除"
|
||||
deleteAndEdit: "删除和编辑"
|
||||
deleteAndEditConfirm: "要删除此帖并再次编辑吗?对此帖的所有回应,转推和回复也将被删除。"
|
||||
deleteAndEditConfirm: "要删除此帖并再次编辑吗?对此帖的所有回应,转发和回复也将被删除。"
|
||||
addToList: "添加至列表"
|
||||
sendMessage: "发送"
|
||||
copyUsername: "复制用户名"
|
||||
@ -45,6 +45,7 @@ loadMore: "查看更多"
|
||||
youGotNewFollower: "你有新的关注者"
|
||||
receiveFollowRequest: "收到关注请求"
|
||||
followRequestAccepted: "同意关注请求"
|
||||
mention: "提及"
|
||||
mentions: "提及"
|
||||
directNotes: "指定用户可见"
|
||||
importAndExport: "导入和导出"
|
||||
@ -104,9 +105,11 @@ suspendConfirm: "要冻结吗?"
|
||||
unsuspendConfirm: "要解除冻结吗?"
|
||||
selectList: "选择列表"
|
||||
customEmojis: "自定义Emoji"
|
||||
emoji: "表情符号"
|
||||
emojiName: "Emoji 名称"
|
||||
emojiUrl: "emoji 地址"
|
||||
addEmoji: "添加Emoji"
|
||||
settingGuide: "推荐配置"
|
||||
cacheRemoteFiles: "远程文件缓存"
|
||||
cacheRemoteFilesDescription: "当禁用此设定时远程文件将直接从远程实例载入。禁用后会减小储存空间需求,但是会增加流量,因为缩略图不会被生成。"
|
||||
flagAsBot: "这个账户是Bot"
|
||||
@ -209,7 +212,7 @@ fromUrl: "从 URL"
|
||||
uploadFromUrl: "从网址上传"
|
||||
uploadFromUrlDescription: "要上传的文件的URL"
|
||||
uploadFromUrlRequested: "请求上传"
|
||||
uploadFromUrlMayTakeTime: "上传完成可能需要一些时间。"
|
||||
uploadFromUrlMayTakeTime: "上传可能需要一些时间完成。"
|
||||
explore: "发现"
|
||||
games: "Misskey游戏"
|
||||
messageRead: "已读"
|
||||
@ -228,17 +231,19 @@ yearsOld: "{age}岁"
|
||||
registeredDate: "注册于"
|
||||
location: "位置"
|
||||
theme: "主题"
|
||||
themeForLightMode: "在轻便模式下使用的主题"
|
||||
themeForDarkMode: "在黑暗模式下使用的主题"
|
||||
themeForLightMode: "在浅色模式下使用的主题"
|
||||
themeForDarkMode: "在深色模式下使用的主题"
|
||||
light: "浅色"
|
||||
dark: "深色"
|
||||
lightThemes: "亮色主题"
|
||||
darkThemes: "暗色主题"
|
||||
syncDeviceDarkMode: "将黑暗模式与设备设置同步"
|
||||
syncDeviceDarkMode: "将深色模式与设备设置同步"
|
||||
drive: "网盘"
|
||||
fileName: "文件名称"
|
||||
selectFile: "选择文件"
|
||||
selectFiles: "选择文件"
|
||||
selectFolder: "选择文件夹"
|
||||
selectFolders: "选择多个文件夹"
|
||||
renameFile: "重命名文件"
|
||||
folderName: "文件夹名称"
|
||||
createFolder: "创建文件夹"
|
||||
@ -265,6 +270,7 @@ watch: "关注"
|
||||
unwatch: "取消关注"
|
||||
accept: "允许"
|
||||
reject: "拒绝"
|
||||
normal: "正常"
|
||||
instanceName: "实例名称"
|
||||
instanceDescription: "实例介绍"
|
||||
maintainerName: "管理员名称"
|
||||
@ -296,10 +302,15 @@ bannerUrl: "Banner URL"
|
||||
basicInfo: "基本信息"
|
||||
pinnedUsers: "置顶用户"
|
||||
pinnedUsersDescription: "在「发现」页面中使用换行标记想要置顶的用户。"
|
||||
hcaptcha: "hCaptcha"
|
||||
enableHcaptcha: "启用 hCaptcha"
|
||||
hcaptchaSiteKey: "网站密钥"
|
||||
hcaptchaSecretKey: "密钥"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "启用 reCAPTCHA\n(请注意, 此功能在中国大陆不可用. 如果启用, 可能导致无法正常使用登录或注册等功能)"
|
||||
recaptchaSiteKey: "网站密钥"
|
||||
recaptchaSecretKey: "reCAPTCHA 密钥"
|
||||
avoidMultiCaptchaConfirm: "使用多种验证方式可能会造成干扰,您要禁用其他验证方式吗?您可以按“取消”按钮,仍然保持启用多种验证方式。"
|
||||
antennas: "天线"
|
||||
manageAntennas: "天线管理"
|
||||
name: "名称"
|
||||
@ -319,6 +330,7 @@ notesAndReplies: "帖子与回复"
|
||||
withFiles: "附件"
|
||||
silence: "禁言"
|
||||
silenceConfirm: "确认要禁言吗?"
|
||||
unsilence: "解除禁言"
|
||||
unsilenceConfirm: "要解除禁言吗?"
|
||||
popularUsers: "热门用户"
|
||||
recentlyUpdatedUsers: "最近投稿用户"
|
||||
@ -350,8 +362,6 @@ unregister: "删除账户"
|
||||
passwordLessLogin: "无密码登录"
|
||||
resetPassword: "重置密码"
|
||||
newPasswordIs: "新的密码是「{password}」"
|
||||
post: "投稿"
|
||||
posted: "已投稿"
|
||||
autoReloadWhenDisconnected: "断开连接时自动重新加载"
|
||||
autoNoteWatch: "自动关注帖子"
|
||||
autoNoteWatchDescription: "让您能够收到关于「反应」和回复其他用户的帖子的通知。"
|
||||
@ -405,15 +415,15 @@ strongPassword: "密码强度:强"
|
||||
passwordMatched: "密码一致"
|
||||
passwordNotMatched: "密码不一致"
|
||||
signinWith: "以{x}登录"
|
||||
signinFailed: "无法登录。请检查您的用户名和密码。"
|
||||
tapSecurityKey: "点击安全密钥"
|
||||
signinFailed: "无法登录,请检查您的用户名和密码。"
|
||||
tapSecurityKey: "轻触硬件安全密钥"
|
||||
or: "或者"
|
||||
uiLanguage: "显示语言"
|
||||
groupInvited: "群组招待"
|
||||
aboutX: "关于 {x}"
|
||||
useOsNativeEmojis: "使用OS原生Emoji"
|
||||
youHaveNoGroups: "没有组"
|
||||
joinOrCreateGroup: "加入或者创建群组"
|
||||
youHaveNoGroups: "没有群组"
|
||||
joinOrCreateGroup: "请加入一个现有的群组,或者创建新群组。"
|
||||
noHistory: "没有历史记录"
|
||||
disableAnimatedMfm: "禁用MFM动画"
|
||||
doing: "正在进行"
|
||||
@ -447,13 +457,15 @@ objectStorageBaseUrlDesc: "供参考的URL。如果使用CDN或Proxy,则其URL
|
||||
objectStorageBucket: "存储桶"
|
||||
objectStorageBucketDesc: "请指定使用的对象存储服务的存储桶名称。"
|
||||
objectStoragePrefix: "前缀"
|
||||
objectStoragePrefixDesc: "它将存储在此前缀的目录下。"
|
||||
objectStoragePrefixDesc: "文件将存储在此前缀的目录下。"
|
||||
objectStorageEndpoint: "端点"
|
||||
objectStorageEndpointDesc: "S3默认情况下为空,否则请为每个服务指定端点。 指定为“<host>”或“<host>:<port>”。"
|
||||
objectStorageRegion: "可用区"
|
||||
objectStorageRegionDesc: "指定一个可用区,例如“xx-east-1”。 如果您的对象存储服务没有可用区概念,请将其留空或填写“us-east-1”。"
|
||||
objectStorageUseSSL: "使用SSL"
|
||||
objectStorageUseSSLDesc: "如果不使用https进行API连接,请关闭。"
|
||||
objectStorageUseProxy: "使用代理"
|
||||
objectStorageUseProxyDesc: "如果您不使用代理进行API连接,请将其关闭。"
|
||||
serverLogs: "服务器日志"
|
||||
deleteAll: "删除全部"
|
||||
showFixedPostForm: "在时间线顶部显示帖子表单"
|
||||
@ -476,6 +488,33 @@ state: "状态"
|
||||
sort: "排序"
|
||||
ascendingOrder: "升序"
|
||||
descendingOrder: "降序"
|
||||
scratchpad: "暂存器"
|
||||
scratchpadDescription: "暂存器为AiScript提供了实验环境。您可以编写代码以与Misskey交互,运行它并查看结果。"
|
||||
output: "输出"
|
||||
script: "脚本"
|
||||
disablePagesScript: "禁用页面脚本"
|
||||
updateRemoteUser: "更新远程用户信息"
|
||||
deleteAllFiles: "删除所有文件"
|
||||
deleteAllFilesConfirm: "要删除所有文件吗?"
|
||||
removeAllFollowing: "取消所有关注"
|
||||
removeAllFollowingDescription: "取消{host}的所有关注者。当实例不存在时执行。"
|
||||
userSuspended: "该用户已被冻结。"
|
||||
userSilenced: "该用户已被禁言。"
|
||||
sidebar: "侧边栏"
|
||||
divider: "分割线"
|
||||
addItem: "添加项"
|
||||
rooms: "房间"
|
||||
relays: "中继"
|
||||
addRelay: "添加中继"
|
||||
inboxUrl: "Inbox URL"
|
||||
addedRelays: "已添加的中继"
|
||||
serviceworkerInfo: "您需要启用推送通知"
|
||||
deletedNote: "已删除的帖子"
|
||||
invisibleNote: "隐藏的帖子"
|
||||
enableInfiniteScroll: "启用自动滚动页面模式"
|
||||
visibility: "可见性"
|
||||
poll: "调查问卷"
|
||||
useCw: "隐藏内容"
|
||||
_theme:
|
||||
explore: "寻找主题"
|
||||
install: "安装主题"
|
||||
@ -602,7 +641,6 @@ _cw:
|
||||
show: "查看更多"
|
||||
chars: "{count}个字符"
|
||||
files: "{count} 个文件"
|
||||
poll: "投票"
|
||||
_poll:
|
||||
noOnlyOneChoice: "需要至少两个选项"
|
||||
choiceN: "选择{n}"
|
||||
@ -635,6 +673,7 @@ _visibility:
|
||||
specified: "指定用户"
|
||||
specifiedDescription: "仅发送至指定用户"
|
||||
localOnly: "仅限本地"
|
||||
localOnlyDescription: "对远程用户不可见"
|
||||
_postForm:
|
||||
replyPlaceholder: "回复这个帖子..."
|
||||
quotePlaceholder: "引用这个帖子..."
|
||||
@ -690,6 +729,68 @@ _timelines:
|
||||
local: "本地"
|
||||
social: "社交"
|
||||
global: "全局"
|
||||
_rooms:
|
||||
roomOf: "{user}的房间"
|
||||
addFurniture: "放置家具"
|
||||
translate: "移动"
|
||||
rotate: "旋转"
|
||||
exit: "返回"
|
||||
remove: "移除"
|
||||
clear: "清理"
|
||||
clearConfirm: "是否清除所有家具?"
|
||||
leaveConfirm: "有尚未保存的修改。是否离开?"
|
||||
chooseImage: "选择图片"
|
||||
roomType: "房间类型"
|
||||
carpetColor: "地板颜色"
|
||||
_roomType:
|
||||
default: "默认"
|
||||
washitsu: "和式房间"
|
||||
_furnitures:
|
||||
milk: "牛奶纸箱"
|
||||
bed: "床"
|
||||
low-table: "矮桌"
|
||||
desk: "书桌"
|
||||
chair: "椅子"
|
||||
chair2: "椅子2"
|
||||
fan: "换气扇"
|
||||
pc: "电脑"
|
||||
plant: "观叶植物"
|
||||
plant2: "观叶植物2"
|
||||
eraser: "橡皮擦"
|
||||
pencil: "铅笔"
|
||||
pudding: "布丁"
|
||||
cardboard-box: "纸箱"
|
||||
cardboard-box2: "纸箱2"
|
||||
cardboard-box3: "纸箱3"
|
||||
book: "书"
|
||||
book2: "书2"
|
||||
piano: "钢琴"
|
||||
facial-tissue: "纸巾盒"
|
||||
server: "服务器"
|
||||
moon: "月亮"
|
||||
corkboard: "软木板"
|
||||
mousepad: "鼠标垫"
|
||||
monitor: "显示器"
|
||||
keyboard: "键盘"
|
||||
carpet-stripe: "地毯(条纹)"
|
||||
mat: "垫子"
|
||||
color-box: "收纳柜"
|
||||
wall-clock: "挂钟"
|
||||
photoframe: "相框"
|
||||
cube: "立方体"
|
||||
tv: "电视"
|
||||
pinguin: "企鹅君"
|
||||
rubik-cube: "魔方"
|
||||
poster-h: "海报(横向)"
|
||||
poster-v: "海报(纵向)"
|
||||
sofa: "沙发"
|
||||
spiral: "螺旋楼梯"
|
||||
bin: "垃圾箱"
|
||||
cup-noodle: "杯面"
|
||||
holo-display: "全息显示器"
|
||||
energy-drink: "能量饮料"
|
||||
doll-ai: "小蓝的玩偶"
|
||||
banknote: "钞票"
|
||||
_pages:
|
||||
newPage: "创建页面"
|
||||
editPage: "编辑页面"
|
||||
@ -739,6 +840,8 @@ _pages:
|
||||
post: "投稿窗口"
|
||||
_post:
|
||||
text: "内容"
|
||||
attachCanvasImage: "附加画布图像"
|
||||
canvasId: "画布ID"
|
||||
textInput: "文本输入"
|
||||
_textInput:
|
||||
name: "变量名"
|
||||
@ -754,6 +857,11 @@ _pages:
|
||||
name: "变量名"
|
||||
text: "标题"
|
||||
default: "默认值"
|
||||
canvas: "画布"
|
||||
_canvas:
|
||||
id: "画布ID"
|
||||
width: "宽度"
|
||||
height: "高度"
|
||||
switch: "开关"
|
||||
_switch:
|
||||
name: "变量名"
|
||||
@ -779,6 +887,9 @@ _pages:
|
||||
message: "按下时显示的消息"
|
||||
variable: "发送的变量"
|
||||
no-variable: "空"
|
||||
callAiScript: "调用AiScript"
|
||||
_callAiScript:
|
||||
functionName: "函数名"
|
||||
radioButton: "选择项"
|
||||
_radioButton:
|
||||
name: "变量名"
|
||||
@ -939,6 +1050,7 @@ _pages:
|
||||
_splitStrByLine:
|
||||
arg1: "文本"
|
||||
ref: "变量"
|
||||
aiScriptVar: "AiScript变量"
|
||||
fn: "函数"
|
||||
_fn:
|
||||
slots: "槽函数"
|
||||
@ -960,3 +1072,21 @@ _pages:
|
||||
enviromentVariables: "环境变量"
|
||||
pageVariables: "页面元素"
|
||||
argVariables: "输入变量"
|
||||
_relayStatus:
|
||||
requesting: "待批准"
|
||||
accepted: "已批准"
|
||||
rejected: "已拒绝"
|
||||
_notification:
|
||||
fileUploaded: "文件已上传"
|
||||
youGotMention: "来自{name}的提及"
|
||||
youGotReply: "来自{name}的回复"
|
||||
youGotQuote: "来自{name}的引用"
|
||||
youRenoted: "来自{name}的转发"
|
||||
youGotPoll: "来自{name}的投票"
|
||||
youGotMessagingMessageFromUser: "来自{name}的聊天"
|
||||
youGotMessagingMessageFromGroup: "来自{name}的群聊"
|
||||
youWereFollowed: "您有新的关注者"
|
||||
youReceivedFollowRequest: "您有新的关注请求"
|
||||
yourFollowRequestAccepted: "您的关注请求已通过"
|
||||
youWereInvitedToGroup: "您有新的群组邀请"
|
||||
|
||||
|
@ -235,6 +235,8 @@ iconUrl: "圖像URL"
|
||||
bannerUrl: "橫幅圖片URL"
|
||||
basicInfo: "基本資訊"
|
||||
pinnedUsers: "置頂用戶"
|
||||
hcaptchaSiteKey: "網站金鑰"
|
||||
hcaptchaSecretKey: "金鑰"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "啟用 reCAPTCHA"
|
||||
recaptchaSiteKey: "網站金鑰"
|
||||
@ -256,8 +258,6 @@ userList: "清單"
|
||||
passwordLessLogin: "設置無密碼登入"
|
||||
resetPassword: "重置密碼"
|
||||
newPasswordIs: "新密碼為「{password}」"
|
||||
post: "投稿"
|
||||
posted: "投稿完成"
|
||||
autoReloadWhenDisconnected: "和伺服器斷線時自動重新載入"
|
||||
autoNoteWatch: "自動關注筆記"
|
||||
autoNoteWatchDescription: "收到反應或回覆過的筆記的通知"
|
||||
@ -369,6 +369,9 @@ _exportOrImport:
|
||||
userLists: "清單"
|
||||
_timelines:
|
||||
home: "首頁"
|
||||
_rooms:
|
||||
_furnitures:
|
||||
monitor: "監視器"
|
||||
_pages:
|
||||
script:
|
||||
categories:
|
||||
@ -388,3 +391,6 @@ _pages:
|
||||
arg1: "清單"
|
||||
types:
|
||||
array: "清單"
|
||||
_notification:
|
||||
youWereFollowed: "您有新的追隨者"
|
||||
|
||||
|
14
migration/1586624197029-AddObjectStorageUseProxy.ts
Normal file
@ -0,0 +1,14 @@
|
||||
import {MigrationInterface, QueryRunner} from 'typeorm';
|
||||
|
||||
export class AddObjectStorageUseProxy1586624197029 implements MigrationInterface {
|
||||
name = 'AddObjectStorageUseProxy1586624197029'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageUseProxy" boolean NOT NULL DEFAULT true`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageUseProxy"`, undefined);
|
||||
}
|
||||
|
||||
}
|
12
migration/1586641139527-remote-reaction.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class remoteReaction1586641139527 implements MigrationInterface {
|
||||
name = 'remoteReaction1586641139527'
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(260)`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(130)`, undefined);
|
||||
}
|
||||
}
|
14
migration/1586708940386-pageAiScript.ts
Normal file
@ -0,0 +1,14 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class pageAiScript1586708940386 implements MigrationInterface {
|
||||
name = 'pageAiScript1586708940386'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "page" ADD "script" character varying(16384) NOT NULL DEFAULT ''`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "script"`, undefined);
|
||||
}
|
||||
|
||||
}
|
18
migration/1588044505511-hCaptcha.ts
Normal file
@ -0,0 +1,18 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class hCaptcha1588044505511 implements MigrationInterface {
|
||||
name = 'hCaptcha1588044505511'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "enableHcaptcha" boolean NOT NULL DEFAULT false`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "hcaptchaSiteKey" character varying(64)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "hcaptchaSecretKey" character varying(64)`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "hcaptchaSecretKey"`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "hcaptchaSiteKey"`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableHcaptcha"`, undefined);
|
||||
}
|
||||
|
||||
}
|
18
migration/1589023282116-pubRelay.ts
Normal file
@ -0,0 +1,18 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class pubRelay1589023282116 implements MigrationInterface {
|
||||
name = 'pubRelay1589023282116'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`CREATE TYPE "relay_status_enum" AS ENUM('requesting', 'accepted', 'rejected')`, undefined);
|
||||
await queryRunner.query(`CREATE TABLE "relay" ("id" character varying(32) NOT NULL, "inbox" character varying(512) NOT NULL, "status" "relay_status_enum" NOT NULL, CONSTRAINT "PK_78ebc9cfddf4292633b7ba57aee" PRIMARY KEY ("id"))`, undefined);
|
||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_0d9a1738f2cf7f3b1c3334dfab" ON "relay" ("inbox") `, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`DROP INDEX "IDX_0d9a1738f2cf7f3b1c3334dfab"`, undefined);
|
||||
await queryRunner.query(`DROP TABLE "relay"`, undefined);
|
||||
await queryRunner.query(`DROP TYPE "relay_status_enum"`, undefined);
|
||||
}
|
||||
|
||||
}
|
179
package.json
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "misskey",
|
||||
"author": "syuilo <syuilotan@yahoo.co.jp>",
|
||||
"version": "12.30.0",
|
||||
"version": "12.39.1",
|
||||
"codename": "indigo",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@ -24,42 +24,47 @@
|
||||
"clean": "gulp clean",
|
||||
"cleanall": "gulp cleanall",
|
||||
"lint": "tslint 'src/**/*.ts'",
|
||||
"test": "cross-env TS_NODE_FILES=true gulp test",
|
||||
"test": "cross-env TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_COMPILER_OPTIONS=\"{\\\"target\\\":\\\"es2017\\\",\\\"module\\\":\\\"commonjs\\\",\\\"typeRoots\\\":[\\\"node_modules/@types\\\",\\\"src/@types\\\"]}\" mocha",
|
||||
"format": "gulp format"
|
||||
},
|
||||
"resolutions": {
|
||||
"https-proxy-agent": "^3.0.0",
|
||||
"lodash": "^4.17.13"
|
||||
"chokidar": "^3.3.1",
|
||||
"constantinople": "^4.0.1",
|
||||
"core-js": "^3.6.5",
|
||||
"lodash": "^4.17.15",
|
||||
"mocha": "^7.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@elastic/elasticsearch": "7.6.1",
|
||||
"@babel/plugin-transform-runtime": "7.9.6",
|
||||
"@elastic/elasticsearch": "7.7.1",
|
||||
"@fortawesome/fontawesome-svg-core": "1.2.28",
|
||||
"@fortawesome/free-brands-svg-icons": "5.13.0",
|
||||
"@fortawesome/free-regular-svg-icons": "5.13.0",
|
||||
"@fortawesome/free-solid-svg-icons": "5.13.0",
|
||||
"@fortawesome/vue-fontawesome": "0.1.9",
|
||||
"@juggle/resize-observer": "3.1.3",
|
||||
"@koa/cors": "3.0.0",
|
||||
"@koa/cors": "3.1.0",
|
||||
"@koa/multer": "2.0.2",
|
||||
"@koa/router": "8.0.8",
|
||||
"@syuilo/aiscript": "0.0.2",
|
||||
"@sinonjs/fake-timers": "6.0.1",
|
||||
"@syuilo/aiscript": "0.6.1",
|
||||
"@types/bcryptjs": "2.4.2",
|
||||
"@types/bull": "3.12.1",
|
||||
"@types/bull": "3.13.0",
|
||||
"@types/cbor": "5.0.0",
|
||||
"@types/dateformat": "3.0.1",
|
||||
"@types/double-ended-queue": "2.1.1",
|
||||
"@types/escape-regexp": "0.0.0",
|
||||
"@types/glob": "7.1.1",
|
||||
"@types/gulp": "4.0.6",
|
||||
"@types/gulp-mocha": "0.0.32",
|
||||
"@types/gulp-rename": "0.0.33",
|
||||
"@types/gulp-replace": "0.0.31",
|
||||
"@types/is-url": "1.2.28",
|
||||
"@types/js-yaml": "3.12.3",
|
||||
"@types/jsdom": "16.2.0",
|
||||
"@types/js-yaml": "3.12.4",
|
||||
"@types/jsdom": "16.2.3",
|
||||
"@types/jsonld": "1.5.1",
|
||||
"@types/katex": "0.11.0",
|
||||
"@types/koa": "2.11.3",
|
||||
"@types/koa-bodyparser": "4.3.0",
|
||||
"@types/koa-compress": "2.0.9",
|
||||
"@types/koa-cors": "0.0.0",
|
||||
"@types/koa-favicon": "2.0.19",
|
||||
"@types/koa-logger": "3.1.1",
|
||||
@ -69,128 +74,126 @@
|
||||
"@types/koa__cors": "3.0.1",
|
||||
"@types/koa__multer": "2.0.1",
|
||||
"@types/koa__router": "8.0.2",
|
||||
"@types/lolex": "5.1.0",
|
||||
"@types/markdown-it": "0.0.9",
|
||||
"@types/markdown-it": "10.0.1",
|
||||
"@types/mocha": "7.0.2",
|
||||
"@types/node": "13.11.0",
|
||||
"@types/node-fetch": "2.5.5",
|
||||
"@types/node": "14.0.5",
|
||||
"@types/node-fetch": "2.5.7",
|
||||
"@types/nodemailer": "6.4.0",
|
||||
"@types/nprogress": "0.2.0",
|
||||
"@types/oauth": "0.9.1",
|
||||
"@types/parse5": "5.0.2",
|
||||
"@types/parsimmon": "1.10.1",
|
||||
"@types/parse5": "5.0.3",
|
||||
"@types/parsimmon": "1.10.2",
|
||||
"@types/portscanner": "2.1.0",
|
||||
"@types/pug": "2.0.4",
|
||||
"@types/qrcode": "1.3.4",
|
||||
"@types/random-seed": "0.3.3",
|
||||
"@types/ratelimiter": "2.1.28",
|
||||
"@types/redis": "2.8.17",
|
||||
"@types/redis": "2.8.21",
|
||||
"@types/rename": "1.0.1",
|
||||
"@types/request-stats": "3.0.0",
|
||||
"@types/rimraf": "2.0.3",
|
||||
"@types/rimraf": "3.0.0",
|
||||
"@types/seedrandom": "2.4.28",
|
||||
"@types/sharp": "0.24.0",
|
||||
"@types/showdown": "1.9.3",
|
||||
"@types/sharp": "0.25.0",
|
||||
"@types/sinonjs__fake-timers": "6.0.1",
|
||||
"@types/speakeasy": "2.0.5",
|
||||
"@types/systeminformation": "3.54.1",
|
||||
"@types/tinycolor2": "1.4.2",
|
||||
"@types/tmp": "0.1.0",
|
||||
"@types/uuid": "7.0.2",
|
||||
"@types/tmp": "0.2.0",
|
||||
"@types/uuid": "8.0.0",
|
||||
"@types/web-push": "3.3.0",
|
||||
"@types/webpack": "4.41.10",
|
||||
"@types/webpack-stream": "3.2.10",
|
||||
"@types/webpack": "4.41.13",
|
||||
"@types/webpack-stream": "3.2.11",
|
||||
"@types/websocket": "1.0.0",
|
||||
"@types/ws": "7.2.3",
|
||||
"@typescript-eslint/parser": "2.26.0",
|
||||
"@types/ws": "7.2.4",
|
||||
"@typescript-eslint/parser": "2.33.0",
|
||||
"abort-controller": "3.0.0",
|
||||
"animejs": "3.1.0",
|
||||
"apexcharts": "3.17.1",
|
||||
"apexcharts": "3.19.2",
|
||||
"autobind-decorator": "2.4.0",
|
||||
"autosize": "4.0.2",
|
||||
"autwh": "0.1.0",
|
||||
"aws-sdk": "2.653.0",
|
||||
"aws-sdk": "2.683.0",
|
||||
"bcryptjs": "2.4.3",
|
||||
"bull": "3.13.0",
|
||||
"bull": "3.14.0",
|
||||
"cafy": "15.2.1",
|
||||
"cbor": "5.0.1",
|
||||
"chai": "4.2.0",
|
||||
"cbor": "5.0.2",
|
||||
"chalk": "4.0.0",
|
||||
"chart.js": "2.9.3",
|
||||
"cli-highlight": "2.1.4",
|
||||
"commander": "4.1.1",
|
||||
"content-disposition": "0.5.3",
|
||||
"core-js": "3.6.5",
|
||||
"crc-32": "1.2.0",
|
||||
"css-loader": "3.4.2",
|
||||
"css-loader": "3.5.3",
|
||||
"cssnano": "4.1.10",
|
||||
"dateformat": "3.0.3",
|
||||
"deep-entries": "3.1.0",
|
||||
"diskusage": "1.1.3",
|
||||
"double-ended-queue": "2.1.0-0",
|
||||
"escape-regexp": "0.0.1",
|
||||
"eslint": "6.8.0",
|
||||
"eslint-plugin-vue": "6.2.2",
|
||||
"eventemitter3": "4.0.0",
|
||||
"eventemitter3": "4.0.4",
|
||||
"feed": "4.1.0",
|
||||
"fibers": "4.0.2",
|
||||
"file-type": "14.1.4",
|
||||
"fibers": "5.0.0",
|
||||
"file-type": "14.5.0",
|
||||
"fluent-ffmpeg": "2.1.2",
|
||||
"glob": "7.1.6",
|
||||
"gulp": "4.0.2",
|
||||
"gulp-clean-css": "4.3.0",
|
||||
"gulp-dart-sass": "1.0.0",
|
||||
"gulp-mocha": "7.0.2",
|
||||
"gulp-dart-sass": "1.0.2",
|
||||
"gulp-rename": "2.0.0",
|
||||
"gulp-replace": "1.0.0",
|
||||
"gulp-sourcemaps": "2.6.5",
|
||||
"gulp-terser": "1.2.0",
|
||||
"gulp-tslint": "8.1.4",
|
||||
"gulp-typescript": "5.0.1",
|
||||
"gulp-typescript": "6.0.0-alpha.1",
|
||||
"hard-source-webpack-plugin": "0.13.1",
|
||||
"hcaptcha": "0.0.1",
|
||||
"html-minifier": "4.0.0",
|
||||
"http-proxy-agent": "4.0.1",
|
||||
"http-signature": "1.3.4",
|
||||
"https-proxy-agent": "5.0.0",
|
||||
"idb-keyval": "3.2.0",
|
||||
"insert-text-at-cursor": "0.3.0",
|
||||
"is-root": "2.1.0",
|
||||
"is-svg": "4.2.1",
|
||||
"js-yaml": "3.13.1",
|
||||
"js-yaml": "3.14.0",
|
||||
"jsdom": "16.2.2",
|
||||
"json5": "2.1.2",
|
||||
"json5-loader": "3.0.0",
|
||||
"jsrsasign": "8.0.13",
|
||||
"json5": "2.1.3",
|
||||
"json5-loader": "4.0.0",
|
||||
"jsonld": "3.1.1",
|
||||
"jsrsasign": "8.0.15",
|
||||
"katex": "0.11.1",
|
||||
"koa": "2.11.0",
|
||||
"koa": "2.12.0",
|
||||
"koa-bodyparser": "4.3.0",
|
||||
"koa-compress": "3.0.0",
|
||||
"koa-favicon": "2.1.0",
|
||||
"koa-json-body": "5.3.0",
|
||||
"koa-logger": "3.2.1",
|
||||
"koa-mount": "4.0.0",
|
||||
"koa-send": "5.0.0",
|
||||
"koa-slow": "2.1.0",
|
||||
"koa-views": "6.2.1",
|
||||
"koa-views": "6.2.2",
|
||||
"langmap": "0.0.16",
|
||||
"lolex": "5.1.2",
|
||||
"lookup-dns-cache": "2.1.0",
|
||||
"markdown-it": "10.0.0",
|
||||
"markdown-it-anchor": "5.2.7",
|
||||
"mocha": "7.1.1",
|
||||
"markdown-it": "11.0.0",
|
||||
"markdown-it-anchor": "5.3.0",
|
||||
"mocha": "7.2.0",
|
||||
"moji": "0.5.1",
|
||||
"ms": "2.1.2",
|
||||
"multer": "1.4.2",
|
||||
"nested-property": "1.0.4",
|
||||
"nested-property": "2.0.0",
|
||||
"node-fetch": "2.6.0",
|
||||
"nodemailer": "6.4.6",
|
||||
"nprogress": "0.2.0",
|
||||
"object-assign-deep": "0.4.0",
|
||||
"os-utils": "0.0.14",
|
||||
"parse5": "5.1.1",
|
||||
"parse5": "6.0.0",
|
||||
"parsimmon": "1.13.0",
|
||||
"pg": "8.0.0",
|
||||
"pg": "8.2.1",
|
||||
"portal-vue": "2.1.7",
|
||||
"portscanner": "2.2.0",
|
||||
"postcss-loader": "3.0.0",
|
||||
"prismjs": "1.19.0",
|
||||
"prismjs": "1.20.0",
|
||||
"probe-image-size": "5.0.0",
|
||||
"progress-bar-webpack-plugin": "2.1.0",
|
||||
"promise-limit": "2.7.0",
|
||||
"promise-sequential": "1.1.1",
|
||||
"pug": "2.0.4",
|
||||
@ -205,68 +208,68 @@
|
||||
"redis": "3.0.2",
|
||||
"redis-lock": "0.1.4",
|
||||
"reflect-metadata": "0.1.13",
|
||||
"regenerator-runtime": "0.13.5",
|
||||
"rename": "1.0.4",
|
||||
"request-stats": "3.0.0",
|
||||
"require-all": "3.0.0",
|
||||
"rimraf": "3.0.2",
|
||||
"rndstr": "1.0.0",
|
||||
"s-age": "1.1.2",
|
||||
"sass": "1.26.3",
|
||||
"sass": "1.26.5",
|
||||
"sass-loader": "8.0.2",
|
||||
"seedrandom": "3.0.5",
|
||||
"sharp": "0.25.2",
|
||||
"showdown": "1.9.1",
|
||||
"showdown-highlightjs-extension": "0.1.2",
|
||||
"sharp": "0.25.3",
|
||||
"speakeasy": "2.0.0",
|
||||
"stringz": "2.1.0",
|
||||
"style-loader": "1.1.3",
|
||||
"summaly": "2.3.1",
|
||||
"style-loader": "1.2.1",
|
||||
"summaly": "2.4.0",
|
||||
"syslog-pro": "1.0.0",
|
||||
"systeminformation": "4.23.1",
|
||||
"systeminformation": "4.26.4",
|
||||
"syuilo-password-strength": "0.0.1",
|
||||
"terser-webpack-plugin": "2.3.5",
|
||||
"textarea-caret": "3.1.0",
|
||||
"three": "0.115.0",
|
||||
"three": "0.116.1",
|
||||
"tinycolor2": "1.4.1",
|
||||
"tmp": "0.1.0",
|
||||
"ts-loader": "6.2.2",
|
||||
"ts-node": "8.8.1",
|
||||
"tslint": "6.1.1",
|
||||
"tmp": "0.2.1",
|
||||
"ts-loader": "7.0.4",
|
||||
"ts-node": "8.10.1",
|
||||
"tslint": "6.1.2",
|
||||
"tslint-sonarts": "1.9.0",
|
||||
"typeorm": "0.2.24",
|
||||
"typescript": "3.8.3",
|
||||
"typeorm": "0.2.25",
|
||||
"typescript": "3.9.3",
|
||||
"ulid": "2.3.0",
|
||||
"url-loader": "3.0.0",
|
||||
"uuid": "7.0.3",
|
||||
"url-loader": "4.1.0",
|
||||
"uuid": "8.1.0",
|
||||
"v-animate-css": "0.0.3",
|
||||
"v-debounce": "0.1.2",
|
||||
"vue": "2.6.11",
|
||||
"vue-color": "2.7.1",
|
||||
"vue-content-loading": "1.6.0",
|
||||
"vue-cropperjs": "4.0.1",
|
||||
"vue-i18n": "8.16.0",
|
||||
"vue-cropperjs": "4.1.0",
|
||||
"vue-i18n": "8.17.7",
|
||||
"vue-json-pretty": "1.6.3",
|
||||
"vue-loader": "15.9.1",
|
||||
"vue-loader": "15.9.2",
|
||||
"vue-marquee-text-component": "1.1.1",
|
||||
"vue-meta": "2.3.3",
|
||||
"vue-prism-component": "1.1.1",
|
||||
"vue-prism-editor": "0.5.1",
|
||||
"vue-router": "3.1.6",
|
||||
"vue-prism-component": "1.2.0",
|
||||
"vue-prism-editor": "0.6.1",
|
||||
"vue-router": "3.2.0",
|
||||
"vue-style-loader": "4.1.2",
|
||||
"vue-svg-inline-loader": "1.5.0",
|
||||
"vue-svg-inline-loader-corejs3": "1.5.0",
|
||||
"vue-template-compiler": "2.6.11",
|
||||
"vuedraggable": "2.23.2",
|
||||
"vuex": "3.1.3",
|
||||
"vuex": "3.4.0",
|
||||
"vuex-persistedstate": "3.0.1",
|
||||
"web-push": "3.4.3",
|
||||
"webpack": "4.42.1",
|
||||
"web-push": "3.4.4",
|
||||
"webpack": "5.0.0-beta.16",
|
||||
"webpack-cli": "3.3.11",
|
||||
"websocket": "1.0.31",
|
||||
"ws": "7.2.3",
|
||||
"ws": "7.3.0",
|
||||
"xev": "2.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/fluent-ffmpeg": "2.1.12",
|
||||
"cross-env": "6.0.3"
|
||||
"@types/chai": "4.2.11",
|
||||
"@types/fluent-ffmpeg": "2.1.14",
|
||||
"chai": "4.2.0",
|
||||
"cross-env": "7.0.2"
|
||||
}
|
||||
}
|
||||
|
11
src/@types/hcaptcha.d.ts
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
declare module 'hcaptcha' {
|
||||
interface IVerifyResponse {
|
||||
success: boolean;
|
||||
challenge_ts: string;
|
||||
hostname: string;
|
||||
credit?: boolean;
|
||||
'error-codes'?: unknown[];
|
||||
}
|
||||
|
||||
export function verify(secret: string, token: string): Promise<IVerifyResponse>;
|
||||
}
|
4
src/@types/http-signature.d.ts
vendored
@ -19,10 +19,12 @@ declare module 'http-signature' {
|
||||
clockSkew?: number;
|
||||
}
|
||||
|
||||
interface IParsedSignature {
|
||||
interface IParsedSignature {
|
||||
scheme: string;
|
||||
params: ISignature;
|
||||
signingString: string;
|
||||
algorithm: string;
|
||||
keyId: string;
|
||||
}
|
||||
|
||||
type RequestSignerConstructorOptions =
|
||||
|
@ -3,6 +3,7 @@ import * as cluster from 'cluster';
|
||||
import * as chalk from 'chalk';
|
||||
import * as portscanner from 'portscanner';
|
||||
import * as isRoot from 'is-root';
|
||||
import { getConnection } from 'typeorm';
|
||||
|
||||
import Logger from '../services/logger';
|
||||
import loadConfig from '../config/load';
|
||||
@ -31,7 +32,7 @@ function greet() {
|
||||
console.log(chalk.keyword('orange')(' If you like Misskey, please donate to support development. https://www.patreon.com/syuilo'));
|
||||
|
||||
console.log('');
|
||||
console.log(chalk`< ${os.hostname()} {gray (PID: ${process.pid.toString()})} >`);
|
||||
console.log(chalk`--- ${os.hostname()} {gray (PID: ${process.pid.toString()})} ---`);
|
||||
}
|
||||
|
||||
bootLogger.info('Welcome to Misskey!');
|
||||
@ -75,13 +76,13 @@ export async function masterMain() {
|
||||
await spawnWorkers(config.clusterLimit);
|
||||
}
|
||||
|
||||
bootLogger.succ(`Now listening on port ${config.port} on ${config.url}`, null, true);
|
||||
|
||||
if (!program.noDaemons) {
|
||||
require('../daemons/server-stats').default();
|
||||
require('../daemons/queue-stats').default();
|
||||
require('../daemons/janitor').default();
|
||||
}
|
||||
|
||||
bootLogger.succ(`Now listening on port ${config.port} on ${config.url}`, null, true);
|
||||
}
|
||||
|
||||
const runningNodejsVersion = process.version.slice(1).split('.').map(x => parseInt(x, 10));
|
||||
@ -115,6 +116,8 @@ function showEnvironment(): void {
|
||||
async function init(): Promise<Config> {
|
||||
showEnvironment();
|
||||
|
||||
await showMachineInfo(bootLogger);
|
||||
|
||||
const nodejsLogger = bootLogger.createSubLogger('nodejs');
|
||||
|
||||
nodejsLogger.info(`Version ${runningNodejsVersion.join('.')}`);
|
||||
@ -124,8 +127,6 @@ async function init(): Promise<Config> {
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
await showMachineInfo(bootLogger);
|
||||
|
||||
const configLogger = bootLogger.createSubLogger('config');
|
||||
let config;
|
||||
|
||||
@ -145,13 +146,17 @@ async function init(): Promise<Config> {
|
||||
|
||||
configLogger.succ('Loaded');
|
||||
|
||||
const dbLogger = bootLogger.createSubLogger('db');
|
||||
|
||||
// Try to connect to DB
|
||||
try {
|
||||
bootLogger.info('Connecting database...');
|
||||
dbLogger.info('Connecting...');
|
||||
await initDb();
|
||||
const v = await getConnection().query('SHOW server_version').then(x => x[0].server_version);
|
||||
dbLogger.succ(`Connected: v${v}`);
|
||||
} catch (e) {
|
||||
bootLogger.error('Cannot connect to database', null, true);
|
||||
bootLogger.error(e);
|
||||
dbLogger.error('Cannot connect', null, true);
|
||||
dbLogger.error(e);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
|
@ -49,44 +49,20 @@
|
||||
<router-link class="item index" active-class="active" to="/" exact v-else>
|
||||
<fa :icon="faHome" fixed-width/><span class="text">{{ $store.getters.isSignedIn ? $t('timeline') : $t('home') }}</span>
|
||||
</router-link>
|
||||
<template v-if="$store.getters.isSignedIn">
|
||||
<router-link class="item notifications" active-class="active" to="/my/notifications" ref="notificationButton">
|
||||
<fa :icon="faBell" fixed-width/><span class="text">{{ $t('notifications') }}</span>
|
||||
<i v-if="$store.state.i.hasUnreadNotification"><fa :icon="faCircle"/></i>
|
||||
</router-link>
|
||||
<router-link class="item" active-class="active" to="/my/messaging">
|
||||
<fa :icon="faComments" fixed-width/><span class="text">{{ $t('messaging') }}</span>
|
||||
<i v-if="$store.state.i.hasUnreadMessagingMessage"><fa :icon="faCircle"/></i>
|
||||
</router-link>
|
||||
<router-link class="item" active-class="active" to="/my/drive">
|
||||
<fa :icon="faCloud" fixed-width/><span class="text">{{ $t('drive') }}</span>
|
||||
</router-link>
|
||||
<router-link class="item" active-class="active" to="/my/follow-requests" v-if="$store.state.i.isLocked">
|
||||
<fa :icon="faUserClock" fixed-width/><span class="text">{{ $t('followRequests') }}</span>
|
||||
<i v-if="$store.state.i.hasPendingReceivedFollowRequest"><fa :icon="faCircle"/></i>
|
||||
</router-link>
|
||||
<template v-for="item in menu">
|
||||
<div v-if="item === '-'" class="divider"></div>
|
||||
<component v-else-if="menuDef[item].show !== false" :is="menuDef[item].to ? 'router-link' : 'button'" class="item _button" :class="item" active-class="active" @click="() => { if (menuDef[item].action) menuDef[item].action() }" :to="menuDef[item].to">
|
||||
<fa :icon="menuDef[item].icon" fixed-width/><span class="text">{{ $t(menuDef[item].title) }}</span>
|
||||
<i v-if="menuDef[item].indicated"><fa :icon="faCircle"/></i>
|
||||
</component>
|
||||
</template>
|
||||
<div class="divider"></div>
|
||||
<router-link class="item" active-class="active" to="/featured">
|
||||
<fa :icon="faFireAlt" fixed-width/><span class="text">{{ $t('featured') }}</span>
|
||||
</router-link>
|
||||
<router-link class="item" active-class="active" to="/explore">
|
||||
<fa :icon="faHashtag" fixed-width/><span class="text">{{ $t('explore') }}</span>
|
||||
</router-link>
|
||||
<router-link class="item" active-class="active" to="/announcements">
|
||||
<fa :icon="faBroadcastTower" fixed-width/><span class="text">{{ $t('announcements') }}</span>
|
||||
<i v-if="$store.getters.isSignedIn && $store.state.i.hasUnreadAnnouncement"><fa :icon="faCircle"/></i>
|
||||
</router-link>
|
||||
<button class="item _button" @click="search()">
|
||||
<fa :icon="faSearch" fixed-width/><span class="text">{{ $t('search') }}</span>
|
||||
</button>
|
||||
<div class="divider"></div>
|
||||
<button class="item _button" :class="{ active: $route.path === '/instance' || $route.path.startsWith('/instance/') }" v-if="$store.getters.isSignedIn && ($store.state.i.isAdmin || $store.state.i.isModerator)" @click="oepnInstanceMenu">
|
||||
<fa :icon="faServer" fixed-width/><span class="text">{{ $t('instance') }}</span>
|
||||
</button>
|
||||
<button class="item _button" @click="more">
|
||||
<fa :icon="faEllipsisH" fixed-width/><span class="text">{{ $t('more') }}</span>
|
||||
<i v-if="$store.getters.isSignedIn && ($store.state.i.hasUnreadMentions || $store.state.i.hasUnreadSpecifiedNotes)"><fa :icon="faCircle"/></i>
|
||||
<i v-if="otherNavItemIndicated"><fa :icon="faCircle"/></i>
|
||||
</button>
|
||||
<router-link class="item" active-class="active" to="/preferences">
|
||||
<fa :icon="faCog" fixed-width/><span class="text">{{ $t('settings') }}</span>
|
||||
@ -141,10 +117,10 @@
|
||||
</div>
|
||||
|
||||
<div class="buttons">
|
||||
<button class="button nav _button" @click="showNav = true" ref="navButton"><fa :icon="faBars"/><i v-if="$store.getters.isSignedIn && ($store.state.i.hasUnreadSpecifiedNotes || $store.state.i.hasPendingReceivedFollowRequest || $store.state.i.hasUnreadMessagingMessage || $store.state.i.hasUnreadAnnouncement)"><fa :icon="faCircle"/></i></button>
|
||||
<button class="button nav _button" @click="showNav = true" ref="navButton"><fa :icon="faBars"/><i v-if="navIndicated"><fa :icon="faCircle"/></i></button>
|
||||
<button v-if="$route.name === 'index'" class="button home _button" @click="top()"><fa :icon="faHome"/></button>
|
||||
<button v-else class="button home _button" @click="$router.push('/')"><fa :icon="faHome"/></button>
|
||||
<button v-if="$store.getters.isSignedIn" class="button notifications _button" @click="$router.push('/my/notifications')" ref="notificationButton2"><fa :icon="faBell"/><i v-if="$store.state.i.hasUnreadNotification"><fa :icon="faCircle"/></i></button>
|
||||
<button v-if="$store.getters.isSignedIn" class="button notifications _button" @click="$router.push('/my/notifications')"><fa :icon="faBell"/><i v-if="$store.state.i.hasUnreadNotification"><fa :icon="faCircle"/></i></button>
|
||||
<button v-if="$store.getters.isSignedIn" class="button post _buttonPrimary" @click="post()"><fa :icon="faPencilAlt"/></button>
|
||||
</div>
|
||||
|
||||
@ -156,20 +132,16 @@
|
||||
|
||||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import { faTerminal, faGripVertical, faChevronLeft, faHashtag, faBroadcastTower, faFireAlt, faEllipsisH, faPencilAlt, faBars, faTimes, faSearch, faUserCog, faCog, faUser, faHome, faStar, faCircle, faAt, faListUl, faPlus, faUserClock, faUsers, faTachometerAlt, faExchangeAlt, faGlobe, faChartBar, faCloud, faGamepad, faServer, faFileAlt, faSatellite, faInfoCircle, faQuestionCircle } from '@fortawesome/free-solid-svg-icons';
|
||||
import { faGripVertical, faChevronLeft, faHashtag, faBroadcastTower, faFireAlt, faEllipsisH, faPencilAlt, faBars, faTimes, faSearch, faUserCog, faCog, faUser, faHome, faStar, faCircle, faAt, faListUl, faPlus, faUserClock, faUsers, faTachometerAlt, faExchangeAlt, faGlobe, faChartBar, faCloud, faServer, faInfoCircle, faQuestionCircle, faProjectDiagram } from '@fortawesome/free-solid-svg-icons';
|
||||
import { faBell, faEnvelope, faLaugh, faComments } from '@fortawesome/free-regular-svg-icons';
|
||||
import { ResizeObserver } from '@juggle/resize-observer';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
import i18n from './i18n';
|
||||
import { host, instanceName } from './config';
|
||||
import { search } from './scripts/search';
|
||||
import MkToast from './components/toast.vue';
|
||||
|
||||
const DESKTOP_THRESHOLD = 1100;
|
||||
|
||||
export default Vue.extend({
|
||||
i18n,
|
||||
|
||||
components: {
|
||||
XClock: () => import('./components/header-clock.vue').then(m => m.default),
|
||||
MkButton: () => import('./components/ui/button.vue').then(m => m.default),
|
||||
@ -188,10 +160,13 @@ export default Vue.extend({
|
||||
searchQuery: '',
|
||||
searchWait: false,
|
||||
widgetsEditMode: false,
|
||||
menuDef: this.$store.getters.nav({
|
||||
search: this.search
|
||||
}),
|
||||
isDesktop: window.innerWidth >= DESKTOP_THRESHOLD,
|
||||
canBack: false,
|
||||
wallpaper: localStorage.getItem('wallpaper') != null,
|
||||
faGripVertical, faChevronLeft, faComments, faHashtag, faBroadcastTower, faFireAlt, faEllipsisH, faPencilAlt, faBars, faTimes, faBell, faSearch, faUserCog, faCog, faUser, faHome, faStar, faCircle, faAt, faEnvelope, faListUl, faPlus, faUserClock, faLaugh, faUsers, faTachometerAlt, faExchangeAlt, faGlobe, faChartBar, faCloud, faServer
|
||||
faGripVertical, faChevronLeft, faComments, faHashtag, faBroadcastTower, faFireAlt, faEllipsisH, faPencilAlt, faBars, faTimes, faBell, faSearch, faUserCog, faCog, faUser, faHome, faStar, faCircle, faAt, faEnvelope, faListUl, faPlus, faUserClock, faLaugh, faUsers, faTachometerAlt, faExchangeAlt, faGlobe, faChartBar, faCloud, faServer, faProjectDiagram
|
||||
};
|
||||
},
|
||||
|
||||
@ -207,6 +182,29 @@ export default Vue.extend({
|
||||
|
||||
widgets(): any[] {
|
||||
return this.$store.state.deviceUser.widgets;
|
||||
},
|
||||
|
||||
menu(): string[] {
|
||||
return this.$store.state.deviceUser.menu;
|
||||
},
|
||||
|
||||
otherNavItemIndicated(): boolean {
|
||||
if (!this.$store.getters.isSignedIn) return false;
|
||||
for (const def in this.menuDef) {
|
||||
if (this.menu.includes(def)) continue;
|
||||
if (this.menuDef[def].indicated) return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
navIndicated(): boolean {
|
||||
if (!this.$store.getters.isSignedIn) return false;
|
||||
for (const def in this.menuDef) {
|
||||
if (def === 'timeline') continue;
|
||||
if (def === 'notifications') continue;
|
||||
if (this.menuDef[def].indicated) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
@ -412,6 +410,11 @@ export default Vue.extend({
|
||||
text: this.$t('federation'),
|
||||
to: '/instance/federation',
|
||||
icon: faGlobe,
|
||||
}, {
|
||||
type: 'link',
|
||||
text: this.$t('relays'),
|
||||
to: '/instance/relays',
|
||||
icon: faProjectDiagram,
|
||||
}, {
|
||||
type: 'link',
|
||||
text: this.$t('announcements'),
|
||||
@ -426,55 +429,16 @@ export default Vue.extend({
|
||||
},
|
||||
|
||||
more(ev) {
|
||||
const items = Object.keys(this.menuDef).filter(k => !this.menu.includes(k)).map(k => this.menuDef[k]).filter(def => def.show == null ? true : def.show).map(def => ({
|
||||
type: def.to ? 'link' : 'button',
|
||||
text: this.$t(def.title),
|
||||
icon: def.icon,
|
||||
to: def.to,
|
||||
action: def.action,
|
||||
indicate: def.indicated,
|
||||
}));
|
||||
this.$root.menu({
|
||||
items: [...(this.$store.getters.isSignedIn ? [{
|
||||
type: 'link',
|
||||
text: this.$t('lists'),
|
||||
to: '/my/lists',
|
||||
icon: faListUl,
|
||||
}, {
|
||||
type: 'link',
|
||||
text: this.$t('groups'),
|
||||
to: '/my/groups',
|
||||
icon: faUsers,
|
||||
}, {
|
||||
type: 'link',
|
||||
text: this.$t('antennas'),
|
||||
to: '/my/antennas',
|
||||
icon: faSatellite,
|
||||
}, {
|
||||
type: 'link',
|
||||
text: this.$t('mentions'),
|
||||
to: '/my/mentions',
|
||||
icon: faAt,
|
||||
indicate: this.$store.state.i.hasUnreadMentions
|
||||
}, {
|
||||
type: 'link',
|
||||
text: this.$t('directNotes'),
|
||||
to: '/my/messages',
|
||||
icon: faEnvelope,
|
||||
indicate: this.$store.state.i.hasUnreadSpecifiedNotes
|
||||
}, {
|
||||
type: 'link',
|
||||
text: this.$t('favorites'),
|
||||
to: '/my/favorites',
|
||||
icon: faStar,
|
||||
}, {
|
||||
type: 'link',
|
||||
text: this.$t('pages'),
|
||||
to: '/my/pages',
|
||||
icon: faFileAlt,
|
||||
}, {
|
||||
type: 'link',
|
||||
text: this.$t('games'),
|
||||
to: '/games',
|
||||
icon: faGamepad,
|
||||
}, null] : []), {
|
||||
type: 'link',
|
||||
text: this.$t('scratchpad'),
|
||||
to: '/scratchpad',
|
||||
icon: faTerminal,
|
||||
}, null, {
|
||||
items: [...items, null, {
|
||||
type: 'link',
|
||||
text: this.$t('help'),
|
||||
to: '/docs',
|
||||
@ -535,14 +499,13 @@ export default Vue.extend({
|
||||
});
|
||||
},
|
||||
|
||||
onNotification(notification) {
|
||||
// TODO: ユーザーが画面を見てないと思われるとき(ブラウザやタブがアクティブじゃないなど)は送信しない
|
||||
if (true) {
|
||||
async onNotification(notification) {
|
||||
if (document.visibilityState === 'visible') {
|
||||
this.$root.stream.send('readNotification', {
|
||||
id: notification.id
|
||||
});
|
||||
|
||||
this.$root.new(MkToast, {
|
||||
this.$root.new(await import('./components/toast.vue').then(m => m.default), {
|
||||
notification
|
||||
});
|
||||
}
|
||||
|
BIN
src/client/assets/room/furnitures/banknote/banknote.blend
Normal file
BIN
src/client/assets/room/furnitures/banknote/banknote.glb
Normal file
BIN
src/client/assets/room/furnitures/banknote/tex.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
src/client/assets/room/furnitures/bed/bed.blend
Normal file
BIN
src/client/assets/room/furnitures/bed/bed.glb
Normal file
BIN
src/client/assets/room/furnitures/bin/bin.blend
Normal file
BIN
src/client/assets/room/furnitures/bin/bin.glb
Normal file
BIN
src/client/assets/room/furnitures/book/book.blend
Normal file
BIN
src/client/assets/room/furnitures/book/book.glb
Normal file
BIN
src/client/assets/room/furnitures/book2/barcode.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
src/client/assets/room/furnitures/book2/book2.blend
Normal file
BIN
src/client/assets/room/furnitures/book2/book2.glb
Normal file
BIN
src/client/assets/room/furnitures/book2/texture.afdesign
Normal file
BIN
src/client/assets/room/furnitures/book2/texture.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
src/client/assets/room/furnitures/book2/uv.png
Normal file
After Width: | Height: | Size: 8.4 KiB |
BIN
src/client/assets/room/furnitures/cardboard-box2/texture.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
src/client/assets/room/furnitures/cardboard-box2/uv.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
src/client/assets/room/furnitures/cardboard-box3/texture.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
src/client/assets/room/furnitures/cardboard-box3/texture.xcf
Normal file
BIN
src/client/assets/room/furnitures/cardboard-box3/uv.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
src/client/assets/room/furnitures/chair/chair.blend
Normal file
BIN
src/client/assets/room/furnitures/chair/chair.glb
Normal file
BIN
src/client/assets/room/furnitures/chair2/chair2.blend
Normal file
BIN
src/client/assets/room/furnitures/chair2/chair2.glb
Normal file
BIN
src/client/assets/room/furnitures/color-box/color-box.blend
Normal file
BIN
src/client/assets/room/furnitures/color-box/color-box.glb
Normal file
BIN
src/client/assets/room/furnitures/corkboard/corkboard.blend
Normal file
BIN
src/client/assets/room/furnitures/corkboard/corkboard.glb
Normal file
BIN
src/client/assets/room/furnitures/cube/cube.blend
Normal file
BIN
src/client/assets/room/furnitures/cube/cube.glb
Normal file
BIN
src/client/assets/room/furnitures/cup-noodle/cup-noodle.blend
Normal file
BIN
src/client/assets/room/furnitures/cup-noodle/cup-noodle.glb
Normal file
BIN
src/client/assets/room/furnitures/cup-noodle/noodle.png
Normal file
After Width: | Height: | Size: 290 KiB |
BIN
src/client/assets/room/furnitures/desk/desk.blend
Normal file
BIN
src/client/assets/room/furnitures/desk/desk.glb
Normal file
BIN
src/client/assets/room/furnitures/doll-ai/doll-ai.blend
Normal file
BIN
src/client/assets/room/furnitures/doll-ai/doll-ai.glb
Normal file
BIN
src/client/assets/room/furnitures/doll-ai/doll_ai_tex.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
src/client/assets/room/furnitures/energy-drink/energy-drink.glb
Normal file
BIN
src/client/assets/room/furnitures/energy-drink/texture.afdesign
Normal file
BIN
src/client/assets/room/furnitures/energy-drink/texture.png
Normal file
After Width: | Height: | Size: 124 KiB |
BIN
src/client/assets/room/furnitures/energy-drink/uv.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
src/client/assets/room/furnitures/eraser/cover.png
Normal file
After Width: | Height: | Size: 8.1 KiB |
BIN
src/client/assets/room/furnitures/eraser/cover.psd
Normal file
BIN
src/client/assets/room/furnitures/eraser/eraser-uv.png
Normal file
After Width: | Height: | Size: 11 KiB |