Compare commits
196 Commits
Author | SHA1 | Date | |
---|---|---|---|
75c087b79f | |||
300785923c | |||
00982d2742 | |||
4f208b99ff | |||
fa36b88af4 | |||
8223a069fe | |||
8de8de7669 | |||
705b46b3a0 | |||
e46e88344c | |||
5c8561c903 | |||
5fe2e8a59a | |||
c722225c80 | |||
584ceb3714 | |||
902bed4db3 | |||
e617ced1d3 | |||
22464c434e | |||
f33ded3107 | |||
a82ff360c6 | |||
14fa8b177d | |||
e46bb2f948 | |||
3eef0a65c2 | |||
bcd188a0e0 | |||
f38b6a1806 | |||
4cc2a561d5 | |||
f3e29c4f6a | |||
2fc58a780e | |||
561b0fc10e | |||
b8f42fca56 | |||
e8005c8d3a | |||
335e4bd213 | |||
0d21083c9a | |||
698e0d08a1 | |||
8e0108a0b8 | |||
d9775c147f | |||
b4ebf254c8 | |||
dec7c4f722 | |||
aaba43e754 | |||
9604ad3dc1 | |||
8e04bd12cf | |||
270df5c5b0 | |||
f5bea67515 | |||
1ec4156b49 | |||
5e33ca3da0 | |||
b9a57715e8 | |||
24681bbe10 | |||
a0c6ae2cba | |||
9a51ae5def | |||
f7c21868fe | |||
5d968afa74 | |||
b6e3f1c490 | |||
cb4d65b5c9 | |||
a902576334 | |||
1c6463e66f | |||
1cf5198372 | |||
a9a5673069 | |||
9d67857a34 | |||
25fde3b5eb | |||
0e3ca41b3c | |||
318759cfa4 | |||
73b5c12927 | |||
c850cef711 | |||
12fad68f58 | |||
037db7c5ef | |||
ea9aeef9d8 | |||
63415f1074 | |||
dded3912f8 | |||
d35f0247a2 | |||
76a7b5f067 | |||
c864d700d2 | |||
50e1040f1e | |||
8a40026c5c | |||
974250da6c | |||
7042933b3b | |||
8b7f5be878 | |||
01afdc410e | |||
7f5299cf46 | |||
ac7f04e669 | |||
65740da979 | |||
4ab773eb92 | |||
66b512af5d | |||
0f9a6417b0 | |||
6a9e52d83c | |||
1161d6cae2 | |||
187696c973 | |||
4b7b51d5cc | |||
0e3213ff6d | |||
9b092e918a | |||
cfa38e875c | |||
9ea7d75aa4 | |||
165d272552 | |||
9b876b30b2 | |||
5e82064a7d | |||
90fade8e72 | |||
c038892795 | |||
926eb34680 | |||
e6e33faefb | |||
0a2e046b28 | |||
36a632dc02 | |||
c9ce150fe8 | |||
6496835515 | |||
b404ce463f | |||
b875b0faa2 | |||
4786214e2a | |||
0484976afa | |||
19cc9f7fb0 | |||
7706c38d3d | |||
9acc36185b | |||
be89516707 | |||
e5acd1afb9 | |||
f6e7f389d6 | |||
b9eaf906e7 | |||
84df0714d8 | |||
c7650846a2 | |||
ea97d6a028 | |||
0e4a111f81 | |||
037837b551 | |||
c5eb3021c0 | |||
3b8b03d8b4 | |||
1afe46b19a | |||
fe281f1786 | |||
24ef4d3da2 | |||
68192126e6 | |||
a28c515ef6 | |||
07526ada45 | |||
71d9c2a53d | |||
c0144db75c | |||
5e8c95bde8 | |||
8630542146 | |||
a674657bcb | |||
c625a3fa5b | |||
ae6f0d49c2 | |||
575a8bd9c8 | |||
3db7551ad3 | |||
37b535df30 | |||
f30df92597 | |||
9b18104343 | |||
e2862ed097 | |||
1c38c7010d | |||
34ea3cf226 | |||
944250f7fd | |||
ab0253ab07 | |||
758e054c92 | |||
187b44c7f3 | |||
587ea5b424 | |||
1a883f4f05 | |||
540e6e4f99 | |||
baf3d8f3ee | |||
7a66c9b5f3 | |||
15cd563612 | |||
e2556189de | |||
9236a8fd6c | |||
303c5abfb4 | |||
fc65190ef7 | |||
f47a564819 | |||
fa0814f939 | |||
ddd931a0a3 | |||
46010187c3 | |||
877bd52ed7 | |||
d964c5f27f | |||
d35b02fa23 | |||
21ece52a9f | |||
c2ae160d23 | |||
9c74c5c5dc | |||
2e80cebc11 | |||
f418eaecf9 | |||
901436a095 | |||
a905188e95 | |||
a21070c01b | |||
5d0ee544f4 | |||
e52a9e0a65 | |||
67bf6ff3ce | |||
000bee6327 | |||
19a232cad7 | |||
a744f75eb9 | |||
5cf07fc50f | |||
1143606bc8 | |||
09f4885f89 | |||
dfd92efa89 | |||
c3fcfad910 | |||
652588abed | |||
2b4d5b73b9 | |||
c08d959b59 | |||
7783c1e0e1 | |||
6afa67089a | |||
26928ab407 | |||
4f04421cb3 | |||
4d1c723496 | |||
ae5d537197 | |||
2d21685d22 | |||
d4c0d85cbc | |||
781b57585b | |||
a0b036a119 | |||
c6afc61c94 | |||
4168addbb2 | |||
600394458c | |||
f33785a09c |
@ -1,49 +0,0 @@
|
||||
version: 2.1
|
||||
|
||||
executors:
|
||||
docker:
|
||||
working_directory: /tmp/workspace
|
||||
docker:
|
||||
- image: docker:latest
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
parameters:
|
||||
with_deploy:
|
||||
type: boolean
|
||||
default: false
|
||||
executor: docker
|
||||
steps:
|
||||
- checkout
|
||||
- setup_remote_docker:
|
||||
version: 19.03.13
|
||||
- run:
|
||||
name: Build
|
||||
command: |
|
||||
docker build -t misskey/misskey .
|
||||
- when:
|
||||
condition: <<parameters.with_deploy>>
|
||||
steps:
|
||||
- run:
|
||||
name: Deploy
|
||||
command: |
|
||||
if [ "$DOCKERHUB_USERNAME$DOCKERHUB_PASSWORD" ]
|
||||
then
|
||||
apk update && apk add jq
|
||||
docker tag misskey/misskey misskey/misskey:$(cat package.json | jq -r .version)
|
||||
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
|
||||
docker push -a misskey/misskey
|
||||
else
|
||||
echo -e '\033[0;33mAborted deploying to Docker Hub\033[0;39m'
|
||||
fi
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
docker:
|
||||
jobs:
|
||||
- docker:
|
||||
name: auto-build
|
||||
with_deploy: true
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
@ -1,12 +0,0 @@
|
||||
url: 'http://misskey.local'
|
||||
port: 8080
|
||||
db:
|
||||
host: localhost
|
||||
port: 5432
|
||||
db: test-misskey
|
||||
user: postgres
|
||||
pass: ''
|
||||
redis:
|
||||
host: localhost
|
||||
port: 6379
|
||||
id: aid
|
@ -1,12 +0,0 @@
|
||||
url: 'http://misskey.local'
|
||||
port: 8080
|
||||
db:
|
||||
host: localhost
|
||||
port: 5432
|
||||
db: test-misskey
|
||||
user: postgres
|
||||
pass: ''
|
||||
redis:
|
||||
host: localhost
|
||||
port: 6379
|
||||
id: aid
|
13
.eslintrc
13
.eslintrc
@ -1,13 +0,0 @@
|
||||
{
|
||||
"parserOptions": {
|
||||
"parser": "@typescript-eslint/parser"
|
||||
},
|
||||
"extends": [
|
||||
"eslint:recommended"
|
||||
],
|
||||
"rules": {
|
||||
"no-console": 0,
|
||||
"no-unused-vars": 0,
|
||||
"no-empty": 0
|
||||
}
|
||||
}
|
38
.github/CODEOWNERS
vendored
38
.github/CODEOWNERS
vendored
@ -1,38 +0,0 @@
|
||||
# PATH OWNERS
|
||||
/.autogen/ @acid-chicken
|
||||
/.circleci/ @syuilo @acid-chicken
|
||||
/.config/ @syuilo @AyaMorisawa @mei23 @acid-chicken @rinsuki
|
||||
# /.config/mongo_initdb_example.js @khws4v1
|
||||
/.github/ @syuilo @AyaMorisawa @acid-chicken
|
||||
/.vscode/ @acid-chicken
|
||||
/assets/ @syuilo # @tamaina
|
||||
/docs/ @syuilo
|
||||
/docs/*.en.md @AyaMorisawa # @skid9000
|
||||
# /docs/*.fr.md @BoFFire
|
||||
# /docs/docker.*.md @khws4v1
|
||||
/locales/ @syuilo
|
||||
/src/ @syuilo @AyaMorisawa @mei23 @acid-chicken @rinsuki
|
||||
# /src/crypto_key.cc @akihikodaki
|
||||
# /src/crypto_key.d.ts @akihikodaki
|
||||
/.dockerignore @syuilo # @khws4v1
|
||||
/.editorconfig @syuilo @AyaMorisawa
|
||||
/.eslintrc @syuilo
|
||||
/.gitattributes @syuilo
|
||||
/.gitignore @syuilo
|
||||
/.npmrc @syuilo
|
||||
/.vsls.json @AyaMorisawa
|
||||
/CHANGELOG.md @syuilo
|
||||
/CODE_OF_CONDUCT.md @syuilo
|
||||
/CONTRIBUTING.md @syuilo
|
||||
/Dockerfile @syuilo @AyaMorisawa @acid-chicken # @khws4v1
|
||||
/LICENSE @syuilo
|
||||
/README.md @syuilo @AyaMorisawa @acid-chicken # @nikhiljha
|
||||
# /binding.gyp @akihikodaki
|
||||
/crowdin.yml @syuilo
|
||||
# /docker-compose.yml @khws4v1
|
||||
/gulpfile.ts @syuilo @AyaMorisawa
|
||||
/jsconfig.json @syuilo @AyaMorisawa
|
||||
/package.json @syuilo @AyaMorisawa
|
||||
/tsconfig.json @syuilo @AyaMorisawa
|
||||
/tslint.json @syuilo @AyaMorisawa
|
||||
/webpack.config.ts @syuilo @AyaMorisawa
|
3
test/test.yml → .github/misskey/test.yml
vendored
3
test/test.yml → .github/misskey/test.yml
vendored
@ -1,5 +1,8 @@
|
||||
url: 'http://misskey.local'
|
||||
|
||||
# ローカルでテストするときにポートを被らないようにするためデフォルトのものとは変える(以下同じ)
|
||||
port: 61812
|
||||
|
||||
db:
|
||||
host: localhost
|
||||
port: 54312
|
25
.github/workflows/lint.yml
vendored
Normal file
25
.github/workflows/lint.yml
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
name: Lint
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.x
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
|
||||
- run: yarn install
|
||||
- run: yarn lint
|
59
.github/workflows/nodejs.yml
vendored
59
.github/workflows/nodejs.yml
vendored
@ -1,59 +0,0 @@
|
||||
name: Node.js CI
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
build_and_test:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x, 16.x]
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:12.2-alpine
|
||||
ports:
|
||||
- 54312:5432
|
||||
env:
|
||||
POSTGRES_DB: test-misskey
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
redis:
|
||||
image: redis:4.0-alpine
|
||||
ports:
|
||||
- 56312:6379
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Install dependencies
|
||||
run: yarn install
|
||||
- name: Check yarn.lock
|
||||
run: git diff --exit-code yarn.lock
|
||||
- name: Copy Configure
|
||||
run: cp test/test.yml .config
|
||||
- name: Build
|
||||
run: yarn build
|
||||
- name: Test
|
||||
run: yarn test
|
||||
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.x
|
||||
- run: yarn install
|
||||
- run: yarn lint
|
91
.github/workflows/test.yml
vendored
Normal file
91
.github/workflows/test.yml
vendored
Normal file
@ -0,0 +1,91 @@
|
||||
name: Test
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
mocha:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [16.x]
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:12.2-alpine
|
||||
ports:
|
||||
- 54312:5432
|
||||
env:
|
||||
POSTGRES_DB: test-misskey
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
redis:
|
||||
image: redis:4.0-alpine
|
||||
ports:
|
||||
- 56312:6379
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Install dependencies
|
||||
run: yarn install
|
||||
- name: Check yarn.lock
|
||||
run: git diff --exit-code yarn.lock
|
||||
- name: Copy Configure
|
||||
run: cp .github/misskey/test.yml .config
|
||||
- name: Build
|
||||
run: yarn build
|
||||
- name: Test
|
||||
run: yarn mocha
|
||||
|
||||
e2e:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [16.x]
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:12.2-alpine
|
||||
ports:
|
||||
- 54312:5432
|
||||
env:
|
||||
POSTGRES_DB: test-misskey
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
redis:
|
||||
image: redis:4.0-alpine
|
||||
ports:
|
||||
- 56312:6379
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
|
||||
- name: Install dependencies
|
||||
run: yarn install
|
||||
- name: Check yarn.lock
|
||||
run: git diff --exit-code yarn.lock
|
||||
- name: Copy Configure
|
||||
run: cp .github/misskey/test.yml .config
|
||||
- name: Build
|
||||
run: yarn build
|
||||
- name: Test
|
||||
run: yarn e2e
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -6,7 +6,7 @@
|
||||
/.idea
|
||||
|
||||
# Node.js
|
||||
/node_modules
|
||||
node_modules
|
||||
report.*.json
|
||||
|
||||
# Cypress
|
||||
@ -20,7 +20,7 @@ cypress/videos
|
||||
|
||||
# misskey
|
||||
/build
|
||||
/built
|
||||
built
|
||||
/data
|
||||
/.cache-loader
|
||||
/db
|
||||
|
@ -1,5 +0,0 @@
|
||||
{
|
||||
"ignoredFiles": [
|
||||
"test/resources/*"
|
||||
]
|
||||
}
|
2
.vscode/extensions.json
vendored
2
.vscode/extensions.json
vendored
@ -3,7 +3,7 @@
|
||||
"editorconfig.editorconfig",
|
||||
"eg2.vscode-npm-script",
|
||||
"ms-vscode.typescript-javascript-grammar",
|
||||
"ms-vscode.vscode-typescript-tslint-plugin",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"johnsoncodehk.volar",
|
||||
"sysoev.language-stylus"
|
||||
]
|
||||
|
104
CHANGELOG.md
104
CHANGELOG.md
@ -7,6 +7,110 @@
|
||||
|
||||
-->
|
||||
|
||||
## 12.98.0 (2021/12/03)
|
||||
|
||||
### Improvements
|
||||
- API: /antennas/notes API で日付による絞り込みができるように
|
||||
- クライアント: アンケートに投票する際に確認ダイアログを出すように
|
||||
- クライアント: Renoteなノート詳細ページから元のノートページに遷移できるように
|
||||
- クライアント: 画像ポップアップでクリックで閉じられるように
|
||||
- クライアント: デザインの調整
|
||||
- フォロワーを解除できる機能
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: LTLやGTLが無効になっている場合でもUI上にタブが表示される問題を修正
|
||||
- クライアント: ログインにおいてパスワードが誤っている際のエラーメッセージが正しく表示されない問題を修正
|
||||
- クライアント: リアクションツールチップ、Renoteツールチップのユーザーの並び順を修正
|
||||
- クライアント: サウンドのマスターボリュームが正しく保存されない問題を修正
|
||||
- クライアント: 一部環境において通知が表示されると操作不能になる問題を修正
|
||||
- クライアント: モバイルでタップしたときにツールチップが表示される問題を修正
|
||||
- クライアント: リモートインスタンスのノートに返信するとき、対象のノートにそのリモートインスタンス内のユーザーへのメンションが含まれていると、返信テキスト内にローカルユーザーへのメンションとして引き継がれてしまう場合がある問題を修正
|
||||
- クライアント: 画像ビューワーで全体表示した時に上側の一部しか表示されない画像がある問題を修正
|
||||
- API: ユーザーを取得時に条件によっては内部エラーになる問題を修正
|
||||
|
||||
### Changes
|
||||
- クライアント: ノートにモデレーターバッジを表示するのを廃止
|
||||
|
||||
## 12.97.0 (2021/11/19)
|
||||
|
||||
### Improvements
|
||||
- クライアント: 返信先やRenoteに対しても自動折りたたみされるように
|
||||
- クライアント: 長いスレッドの表示を改善
|
||||
- クライアント: 翻訳にもMFMを適用し、元の文章の改行などを保持するように
|
||||
- クライアント: アカウント削除に確認ダイアログを出すように
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: ユーザー検索の「全て」が動作しない問題を修正
|
||||
- クライアント: リアクション一覧、Renote一覧ツールチップのスタイルを修正
|
||||
|
||||
## 12.96.1 (2021/11/13)
|
||||
### Improvements
|
||||
- npm scriptの互換性を向上
|
||||
|
||||
## 12.96.0 (2021/11/13)
|
||||
|
||||
### Improvements
|
||||
- フォロー/フォロワーを非公開にできるように
|
||||
- インスタンスプロフィールレンダリング ready
|
||||
- 通知のリアクションアイコンをホバーで拡大できるように
|
||||
- RenoteボタンをホバーでRenoteしたユーザー一覧を表示するように
|
||||
- 返信の際にメンションを含めるように
|
||||
- 通報があったときに管理者へEメールで通知されるように
|
||||
- メールアドレスのバリデーションを強化
|
||||
|
||||
### Bugfixes
|
||||
- アカウント削除処理があると高負荷になる問題を修正
|
||||
- クライアント: 長いメニューが画面からはみ出す問題を修正
|
||||
- クライアント: コントロールパネルのジョブキューに個々のジョブが表示されないのを修正
|
||||
- クライアント: fix missing i18n string
|
||||
- fix html conversion issue with code blocks
|
||||
|
||||
### Changes
|
||||
- ノートにモバイルからの投稿か否かの情報を含めないように
|
||||
|
||||
## 12.95.0 (2021/10/31)
|
||||
|
||||
### Improvements
|
||||
- スレッドミュート機能
|
||||
|
||||
### Bugfixes
|
||||
- リレー向けのActivityが一部実装で除外されてしまうことがあるのを修正
|
||||
- 削除したノートやユーザーがリモートから参照されると復活することがあるのを修正
|
||||
- クライアント: ページ編集時のドロップダウンメニューなどが動作しない問題を修正
|
||||
- クライアント: コントロールパネルのカスタム絵文字タブが切り替わらないように見える問題を修正
|
||||
- API: ユーザー情報の hasUnreadChannel が常に false になっている問題を修正
|
||||
|
||||
## 12.94.1 (2021/10/25)
|
||||
|
||||
### Improvements
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: ユーザーページのナビゲーションが失敗する問題を修正
|
||||
|
||||
## 12.94.0 (2021/10/25)
|
||||
|
||||
### Improvements
|
||||
- クライアント: 画像ビューアを強化
|
||||
- クライアント: メンションにユーザーのアバターを表示するように
|
||||
- クライアント: デザインの調整
|
||||
- クライアント: twemojiをセルフホスティングするように
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: CWで画像が隠されたとき、画像の高さがおかしいことになる問題を修正
|
||||
|
||||
### NOTE
|
||||
- このバージョンから、iOS 15未満のサポートがされなくなります。対象のバージョンをお使いの方は、iOSのバージョンアップを行ってください。
|
||||
|
||||
## 12.93.2 (2021/10/23)
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: ウィジェットを追加できない問題を修正
|
||||
|
||||
## 12.93.1 (2021/10/23)
|
||||
|
||||
### Bugfixes
|
||||
- クライアント: 通知上でローカルのリアクションが表示されないのを修正
|
||||
|
||||
## 12.93.0 (2021/10/23)
|
||||
|
||||
### Improvements
|
||||
|
@ -49,9 +49,10 @@ If your language is not listed in Crowdin, please open an issue.
|
||||
|
||||

|
||||
|
||||
## Documentation
|
||||
* Documents for instance admins are located in [`/docs`](/docs).
|
||||
* Documents for end users are located in [`/src/docs`](/src/docs).
|
||||
## Development
|
||||
During development, it is useful to use the `npm run dev` command.
|
||||
This command monitors the server-side and client-side source files and automatically builds them if they are modified.
|
||||
In addition, it will also automatically start the Misskey server process.
|
||||
|
||||
## Testing
|
||||
- Test codes are located in [`/test`](/test).
|
||||
@ -180,7 +181,7 @@ MongoDBは`null`で返してきてたので、その感覚で`if (x === null)`
|
||||
|
||||
### Migration作成方法
|
||||
```
|
||||
npx ts-node ./node_modules/typeorm/cli.js migration:generate -n 変更の名前
|
||||
npx ts-node ./node_modules/typeorm/cli.js migration:generate -n 変更の名前 -o
|
||||
```
|
||||
|
||||
作成されたスクリプトは不必要な変更を含むため除去してください。
|
||||
|
@ -26,6 +26,9 @@ ENTRYPOINT ["/sbin/tini", "--"]
|
||||
|
||||
COPY --from=builder /misskey/node_modules ./node_modules
|
||||
COPY --from=builder /misskey/built ./built
|
||||
COPY --from=builder /misskey/packages/backend/node_modules ./packages/backend/node_modules
|
||||
COPY --from=builder /misskey/packages/backend/built ./packages/backend/built
|
||||
COPY --from=builder /misskey/packages/client/node_modules ./packages/client/node_modules
|
||||
COPY . ./
|
||||
|
||||
CMD ["npm", "run", "migrateandstart"]
|
||||
|
130
README.md
130
README.md
@ -1,117 +1,57 @@
|
||||
[](https://join.misskey.page/)
|
||||
|
||||
<h1 align="center">Misskey</h1>
|
||||
[](https://join.misskey.page/)
|
||||
|
||||
<div align="center">
|
||||
|
||||
[](https://circleci.com/gh/misskey-dev/misskey)
|
||||
[](https://david-dm.org/misskey-dev/misskey)
|
||||
[](http://makeapullrequest.com)
|
||||
[](https://github.com/humanetech-community/awesome-humane-tech)
|
||||
**🌎 A forever evolving, interplanetary microblogging platform. 🚀**
|
||||
|
||||
**A forever evolving, interplanetary microblogging platform.**
|
||||
**Misskey** is a distributed microblogging platform with advanced features such as Reactions and a highly customizable UI.
|
||||
|
||||
<a href="https://join.misskey.page/">Misskey</a> is a decentralized microblogging platform born on Earth.
|
||||
Since it exists within the Fediverse (a universe where various social media platforms are organized),
|
||||
it is mutually linked with other social media platforms.
|
||||
Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet? <a href="https://join.misskey.page/">Find an instance!</a>
|
||||
[Learn more](https://misskey-hub.net/)
|
||||
|
||||
---
|
||||
|
||||
[✨ Find an instance](https://misskey-hub.net/instances.html)
|
||||
•
|
||||
[📦 Create your own instance](https://misskey-hub.net/docs/install.html)
|
||||
•
|
||||
[🛠️ Contribute](./CONTRIBUTING.md)
|
||||
•
|
||||
[🚀 Join the community](https://discord.gg/Wp8gVStHW3)
|
||||
|
||||
---
|
||||
|
||||
<a href="https://www.patreon.com/syuilo"><img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" alt="Become a Patron!" width="160" /></a>
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
<div>
|
||||
|
||||
Do you have a question? Or are you experiencing trouble?
|
||||
Visit [our forum](https://forum.misskey.io/)!
|
||||
<a href="https://xn--931a.moe/"><img src="https://github.com/misskey-dev/misskey/blob/develop/assets/ai.png?raw=true" align="right" height="320px"/></a>
|
||||
|
||||
---
|
||||
## ✨ Features
|
||||
- **ActivityPub support**\
|
||||
It is possible to interact with other software.
|
||||
- **Reactions**\
|
||||
You can add "reactions" to each post, making it easy for you to express your feelings.
|
||||
- **Drive**\
|
||||
An interface to manage uploaded files such as images, videos, sounds, etc.
|
||||
You can also organize your favorite content into folders, making it easy to share again.
|
||||
- **Rich Web UI**\
|
||||
Misskey has a rich WebUI by default.
|
||||
It is highly customizable by flexibly changing the layout and installing various widgets and themes.
|
||||
Furthermore, plug-ins can be created using AiScript, a original programming language.
|
||||
- and more...
|
||||
|
||||

|
||||
</div>
|
||||
|
||||
:sparkles: Features
|
||||
----------------------------------------------------------------
|
||||
<a href="https://xn--931a.moe/"><img src="https://github.com/misskey-dev/misskey/blob/develop/assets/ai-orig.png?raw=true" align="right" height="320px"/></a>
|
||||
<div style="clear: both;"></div>
|
||||
|
||||
<h3>Posting</h3>
|
||||
<p>
|
||||
Post your ideas, discussion topics, fun moments, or anything else you want to share! Misskey supports text, emoji, pictures, videos, and polls!
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
<h3 >Reactions</h3>
|
||||
<p>
|
||||
Reactions are the simplest way to respond to others' posts. Simply pick a reaction emote from the list! Reactions on Misskey are much more expressive than other social media services which only allow “liking”.
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
<h3>Interface</h3>
|
||||
<p>
|
||||
Customize the UI to your own tastes! No UI will work for everyone, so Misskey is completely customizable. Make Misskey *yours* by editing the style, adjusting timeline layouts, and placing widgets.
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
<h3>Misskey Drive</h3>
|
||||
<p>
|
||||
Organize and store your files! Want to post a picture you have already uploaded? Wish you could organize your files into folders? Misskey Drive is a solution!
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
...and more!
|
||||
|
||||
:package: Create your own instance
|
||||
----------------------------------------------------------------
|
||||
Please see the [Setup and Installation Guide](https://misskey-hub.net/docs/install/install.html).
|
||||
|
||||
:wrench: Contribution
|
||||
----------------------------------------------------------------
|
||||
Please see the [Contribution Guide](./CONTRIBUTING.md).
|
||||
|
||||
### Collaborators
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="https://avatars3.githubusercontent.com/u/4439005?s=460&v=4" alt="syuilo" width="100"></td>
|
||||
<td><img src="https://avatars0.githubusercontent.com/u/10798641?s=460&v=4" alt="AyaMorisawa" width="100"></td>
|
||||
<td><img src="https://avatars1.githubusercontent.com/u/30769358?s=460&v=4" alt="mei23" width="100"></td>
|
||||
<td><img src="https://avatars2.githubusercontent.com/u/20679825?s=460&v=4" alt="acid-chicken" width="100"></td>
|
||||
<td><img src="https://avatars2.githubusercontent.com/u/6533808?s=460&v=4" alt="rinsuki" width="100"></td>
|
||||
<td><img src="https://avatars0.githubusercontent.com/u/7973572?s=460&v=4" alt="tamaina" width="100"></td>
|
||||
<td><img src="https://avatars1.githubusercontent.com/u/7106976?s=460&v=4" alt="Xeltica" width="100"></td>
|
||||
<td><img src="https://avatars1.githubusercontent.com/u/17376330?s=460&v=4" alt="u1-liquid" width="100"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><a href="https://github.com/syuilo">@syuilo</a></td>
|
||||
<td align="center"><a href="https://github.com/AyaMorisawa">@AyaMorisawa</a></td>
|
||||
<td align="center"><a href="https://github.com/mei23">@mei23</a></td>
|
||||
<td align="center"><a href="https://github.com/acid-chicken">@acid-chicken</a></td>
|
||||
<td align="center"><a href="https://github.com/rinsuki">@rinsuki</a></td>
|
||||
<td align="center"><a href="https://github.com/tamaina">@tamaina</a></td>
|
||||
<td align="center"><a href="https://github.com/Xeltica">@Xeltica</a></td>
|
||||
<td align="center"><a href="https://github.com/u1-liquid">@u1-liquid</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
---
|
||||
|
||||
To receive updates of this repo, follow [@repo@misskey.io](https://misskey.io/@repo) on fediverse.
|
||||
|
||||
Related projects
|
||||
----------------------------------------------------------------
|
||||
- [misskey.js](https://github.com/misskey-dev/misskey.js) - Misskey SDK for JavaScript
|
||||
- [mfm.js](https://github.com/misskey-dev/mfm.js) - MFM parser
|
||||
|
||||
Sponsors
|
||||
----------------------------------------------------------------
|
||||
## Sponsors
|
||||
<div align="center">
|
||||
<a class="rss3" title="RSS3" href="https://rss3.io/" target="_blank" style="display: inline-block;"><img src="https://rss3.io/assets/images/Logo.svg" alt="RSS3" style="display: inline-block; height: 60px;"></a>
|
||||
</div>
|
||||
|
||||
:heart: Backers
|
||||
----------------------------------------------------------------
|
||||
## Backers
|
||||
<!-- PATREON_START -->
|
||||
<table><tr>
|
||||
<td><img src="https://c8.patreon.com/2/200/20832595" alt="Roujo " width="100"></td>
|
||||
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 38 KiB |
@ -2,6 +2,3 @@ files:
|
||||
- source: /locales/ja-JP.yml
|
||||
translation: /locales/%locale%.yml
|
||||
update_option: update_as_unapproved
|
||||
- source: /src/docs/ja-JP/**/*.md
|
||||
translation: /src/docs/%locale%/**/%original_file_name%
|
||||
update_option: update_as_unapproved
|
||||
|
@ -1,3 +1,3 @@
|
||||
{
|
||||
"baseUrl": "http://localhost"
|
||||
"baseUrl": "http://localhost:61812"
|
||||
}
|
||||
|
@ -128,7 +128,8 @@ describe('After user signup', () => {
|
||||
cy.get('[data-cy-signin-username] input').type('alice');
|
||||
cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
|
||||
|
||||
cy.contains('アカウントが凍結されています');
|
||||
// TODO: cypressにブラウザの言語指定できる機能が実装され次第英語のみテストするようにする
|
||||
cy.contains(/アカウントが凍結されています|This account has been suspended due to/gi);
|
||||
});
|
||||
});
|
||||
|
||||
|
62
gulpfile.js
Normal file
62
gulpfile.js
Normal file
@ -0,0 +1,62 @@
|
||||
/**
|
||||
* Gulp tasks
|
||||
*/
|
||||
|
||||
const fs = require('fs');
|
||||
const gulp = require('gulp');
|
||||
const replace = require('gulp-replace');
|
||||
const terser = require('gulp-terser');
|
||||
const cssnano = require('gulp-cssnano');
|
||||
|
||||
const locales = require('./locales');
|
||||
const meta = require('./package.json');
|
||||
|
||||
gulp.task('copy:backend:views', () =>
|
||||
gulp.src('./packages/backend/src/server/web/views/**/*').pipe(gulp.dest('./packages/backend/built/server/web/views'))
|
||||
);
|
||||
|
||||
gulp.task('copy:client:fonts', () =>
|
||||
gulp.src('./packages/client/node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/_client_dist_/fonts/'))
|
||||
);
|
||||
|
||||
gulp.task('copy:client:locales', cb => {
|
||||
fs.mkdirSync('./built/_client_dist_/locales', { recursive: true });
|
||||
|
||||
const v = { '_version_': meta.version };
|
||||
|
||||
for (const [lang, locale] of Object.entries(locales)) {
|
||||
fs.writeFileSync(`./built/_client_dist_/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8');
|
||||
}
|
||||
|
||||
cb();
|
||||
});
|
||||
|
||||
gulp.task('build:backend:script', () => {
|
||||
return gulp.src(['./packages/backend/src/server/web/boot.js', './packages/backend/src/server/web/bios.js', './packages/backend/src/server/web/cli.js'])
|
||||
.pipe(replace('VERSION', JSON.stringify(meta.version)))
|
||||
.pipe(replace('LANGS', JSON.stringify(Object.keys(locales))))
|
||||
.pipe(terser({
|
||||
toplevel: true
|
||||
}))
|
||||
.pipe(gulp.dest('./packages/backend/built/server/web/'));
|
||||
});
|
||||
|
||||
gulp.task('build:backend:style', () => {
|
||||
return gulp.src(['./packages/backend/src/server/web/style.css', './packages/backend/src/server/web/bios.css', './packages/backend/src/server/web/cli.css'])
|
||||
.pipe(cssnano({
|
||||
zindex: false
|
||||
}))
|
||||
.pipe(gulp.dest('./packages/backend/built/server/web/'));
|
||||
});
|
||||
|
||||
gulp.task('build', gulp.parallel(
|
||||
'copy:client:locales', 'copy:backend:views', 'build:backend:script', 'build:backend:style', 'copy:client:fonts'
|
||||
));
|
||||
|
||||
gulp.task('default', gulp.task('build'));
|
||||
|
||||
gulp.task('watch', () => {
|
||||
gulp.watch([
|
||||
'./packages/*/src/**/*',
|
||||
], { ignoreInitial: false }, gulp.task('build'));
|
||||
});
|
80
gulpfile.ts
80
gulpfile.ts
@ -1,80 +0,0 @@
|
||||
/**
|
||||
* Gulp tasks
|
||||
*/
|
||||
|
||||
import * as fs from 'fs';
|
||||
import * as gulp from 'gulp';
|
||||
import rimraf from 'rimraf';
|
||||
const replace = require('gulp-replace');
|
||||
const terser = require('gulp-terser');
|
||||
const cssnano = require('gulp-cssnano');
|
||||
|
||||
const locales: { [x: string]: any } = require('./locales');
|
||||
const meta = require('./package.json');
|
||||
|
||||
gulp.task('build:copy:views', () =>
|
||||
gulp.src('./src/server/web/views/**/*').pipe(gulp.dest('./built/server/web/views'))
|
||||
);
|
||||
|
||||
gulp.task('build:copy:fonts', () =>
|
||||
gulp.src('./node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/assets/fonts/'))
|
||||
);
|
||||
|
||||
gulp.task('build:copy:locales', cb => {
|
||||
fs.mkdirSync('./built/assets/locales', { recursive: true });
|
||||
|
||||
const v = { '_version_': meta.version };
|
||||
|
||||
for (const [lang, locale] of Object.entries(locales)) {
|
||||
fs.writeFileSync(`./built/assets/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8');
|
||||
}
|
||||
|
||||
cb();
|
||||
});
|
||||
|
||||
gulp.task('build:client:script', () => {
|
||||
return gulp.src(['./src/server/web/boot.js', './src/server/web/bios.js', './src/server/web/cli.js'])
|
||||
.pipe(replace('VERSION', JSON.stringify(meta.version)))
|
||||
.pipe(replace('LANGS', JSON.stringify(Object.keys(locales))))
|
||||
.pipe(terser({
|
||||
toplevel: true
|
||||
}))
|
||||
.pipe(gulp.dest('./built/server/web/'));
|
||||
});
|
||||
|
||||
gulp.task('build:client:style', () => {
|
||||
return gulp.src(['./src/server/web/style.css', './src/server/web/bios.css', './src/server/web/cli.css'])
|
||||
.pipe(cssnano({
|
||||
zindex: false
|
||||
}))
|
||||
.pipe(gulp.dest('./built/server/web/'));
|
||||
});
|
||||
|
||||
gulp.task('build:copy', gulp.parallel('build:copy:locales', 'build:copy:views', 'build:client:script', 'build:client:style', 'build:copy:fonts', () =>
|
||||
gulp.src([
|
||||
'./src/emojilist.json',
|
||||
'./src/**/assets/**/*',
|
||||
'!./src/client/assets/**/*'
|
||||
]).pipe(gulp.dest('./built/'))
|
||||
));
|
||||
|
||||
gulp.task('clean', cb =>
|
||||
rimraf('./built', cb)
|
||||
);
|
||||
|
||||
gulp.task('cleanall', gulp.parallel('clean', cb =>
|
||||
rimraf('./node_modules', cb)
|
||||
));
|
||||
|
||||
gulp.task('build', gulp.parallel(
|
||||
'build:copy',
|
||||
));
|
||||
|
||||
gulp.task('default', gulp.task('build'));
|
||||
|
||||
gulp.task('watch', () => {
|
||||
gulp.watch([
|
||||
'./src/**/*',
|
||||
'!./src/client/**/*'
|
||||
], { ignoreInitial: false }, gulp.task('build'));
|
||||
});
|
17
index.js
17
index.js
@ -1,17 +0,0 @@
|
||||
/*
|
||||
import * as fs from 'fs';
|
||||
|
||||
if (fs.existsSync('./built')) {
|
||||
import('./built/index.js').then(built => built());
|
||||
} else {
|
||||
console.log('Built code is not found. Probably an error occurred during a build or you just forgot to build.');
|
||||
}
|
||||
*/
|
||||
|
||||
const fs = require('fs');
|
||||
|
||||
if (fs.existsSync('./built')) {
|
||||
require('./built').default();
|
||||
} else {
|
||||
console.log('Built code is not found. Probably an error occurred during a build or you just forgot to build.');
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -52,6 +52,7 @@ searchUser: "Vyhledat uživatele"
|
||||
reply: "Odpovědět"
|
||||
loadMore: "Zobrazit více"
|
||||
showMore: "Zobrazit více"
|
||||
youGotNewFollower: "Máte nového následovníka"
|
||||
mention: "Zmínění"
|
||||
mentions: "Zmínění"
|
||||
importAndExport: "Import a export"
|
||||
@ -163,6 +164,7 @@ clearQueue: "Vyčistit frontu"
|
||||
clearQueueConfirmTitle: "Jste si jisti že zrušit všechny úlohy ve frontě?"
|
||||
clearCachedFiles: "Vyprázdnit mezipaměť"
|
||||
blockedInstances: "Blokované instance"
|
||||
noUsers: "Žádní uživatelé"
|
||||
editProfile: "Upravit můj profil"
|
||||
pinLimitExceeded: "Nemůžete připnout další poznámky."
|
||||
intro: "Instalace Misskey byla dokončena! Prosím vytvořte admina."
|
||||
@ -170,6 +172,7 @@ done: "Hotovo"
|
||||
processing: "Zpracovávám"
|
||||
preview: "Náhled"
|
||||
default: "Výchozí"
|
||||
noCustomEmojis: "Bez Emoji"
|
||||
blocked: "Blokováno"
|
||||
suspended: "Suspendováno"
|
||||
all: "Vše"
|
||||
@ -402,6 +405,9 @@ smtpPass: "Heslo"
|
||||
clearCache: "Vyprázdnit mezipaměť"
|
||||
info: "Informace"
|
||||
user: "Uživatelé"
|
||||
_email:
|
||||
_follow:
|
||||
title: "Máte nového následovníka"
|
||||
_mfm:
|
||||
mention: "Zmínění"
|
||||
quote: "Citovat"
|
||||
@ -464,6 +470,7 @@ _pages:
|
||||
types:
|
||||
array: "Seznamy"
|
||||
_notification:
|
||||
youWereFollowed: "Máte nového následovníka"
|
||||
youWereInvitedToGroup: "Pozvat do skupiny"
|
||||
_types:
|
||||
follow: "Sledovaní"
|
||||
|
@ -620,6 +620,8 @@ reportAbuse: "Melden"
|
||||
reportAbuseOf: "{name} melden"
|
||||
fillAbuseReportDescription: "Bitte gib zusätzliche Informationen zu dieser Meldung an. Falls es sich um eine spezielle Notiz handelt, bitte gib dessen URL an."
|
||||
abuseReported: "Die Meldung wurde versendet. Vielen Dank."
|
||||
reporteeOrigin: "Herkunft des Gemeldeten"
|
||||
reporterOrigin: "Herkunft des Meldenden"
|
||||
send: "Senden"
|
||||
abuseMarkAsResolved: "Meldung als gelöst markieren"
|
||||
openInNewTab: "In neuem Tab öffnen"
|
||||
@ -790,15 +792,35 @@ pubSub: "Pub/Sub Benutzerkonten"
|
||||
lastCommunication: "Letzte Kommunikation"
|
||||
resolved: "Gelöst"
|
||||
unresolved: "Ungelöst"
|
||||
breakFollow: "Follower entfernen"
|
||||
itsOn: "Eingeschaltet"
|
||||
itsOff: "Ausgeschaltet"
|
||||
emailRequiredForSignup: "Angaben einer Email-Adresse als benötigt markieren"
|
||||
unread: "Ungelesen"
|
||||
filter: "Filter"
|
||||
controllPanel: "Systemsteuerung"
|
||||
controlPanel: "Systemsteuerung"
|
||||
manageAccounts: "Benutzerkonten verwalten"
|
||||
makeReactionsPublic: "Reaktionsverlauf veröffentlichen"
|
||||
makeReactionsPublicDescription: "Jeder wird die Liste deiner gesendeten Reaktionen einsehen können."
|
||||
classic: "Classic"
|
||||
muteThread: "Thread stummschalten"
|
||||
unmuteThread: "Threadstummschaltung aufheben"
|
||||
ffVisibility: "Sichtbarkeit von Gefolgten/Followern"
|
||||
ffVisibilityDescription: "Konfiguriere wer sehen kann, wem du folgst sowie wer dir folgt."
|
||||
continueThread: "Weiteren Threadverlauf anzeigen"
|
||||
deleteAccountConfirm: "Dein Benutzerkonto wird unwiderruflich gelöscht. Trotzdem fortfahren?"
|
||||
incorrectPassword: "Falsches Passwort."
|
||||
voteConfirm: "Wirklich für \"{choice}\" abstimmen?"
|
||||
_emailUnavailable:
|
||||
used: "Diese Email-Adresse wird bereits verwendet"
|
||||
format: "Das Format dieser Email-Adresse ist ungültig"
|
||||
disposable: "Wegwerf-Email-Adressen können nicht verwendet werden"
|
||||
mx: "Dieser Email-Server ist ungültig"
|
||||
smtp: "Dieser Email-Server antwortet nicht"
|
||||
_ffVisibility:
|
||||
public: "Öffentlich"
|
||||
followers: "Nur für Follower sichtbar"
|
||||
private: "Privat"
|
||||
_signup:
|
||||
almostThere: "Fast geschafft"
|
||||
emailAddressInfo: "Bitte gib deine Email-Adresse ein."
|
||||
@ -810,13 +832,6 @@ _accountDelete:
|
||||
requestAccountDelete: "Löschung des Benutzerkontos anfordern"
|
||||
started: "Löschung wurde eingeleitet."
|
||||
inProgress: "Löschung in Bearbeitung"
|
||||
_docs:
|
||||
continueReading: "Mehr lesen"
|
||||
features: "Funktionen"
|
||||
generalTopics: "Allgemeine Themen"
|
||||
advancedTopics: "Erweiterte Themen"
|
||||
admin: "Administration"
|
||||
translateWarn: "Dies ist ein übersetztes Dokument. Es kann zu Unterschieden mit dem Original kommen."
|
||||
_ad:
|
||||
back: "Zurück"
|
||||
reduceFrequencyOfThisAd: "Diese Werbung weniger anzeigen"
|
||||
@ -919,6 +934,8 @@ _mfm:
|
||||
rainbowDescription: "Lässt den Inhalt in Regenbogenfarben erscheinen."
|
||||
sparkle: "Glitzer"
|
||||
sparkleDescription: "Verleiht Inhalt einen glitzernden Partikeleffekt."
|
||||
rotate: "Drehen"
|
||||
rotateDescription: "Dreht den Inhalt um einen angegebenen Winkel"
|
||||
_reversi:
|
||||
reversi: "Reversi"
|
||||
gameSettings: "Spieleinstellungen"
|
||||
|
@ -620,6 +620,8 @@ reportAbuse: "Report"
|
||||
reportAbuseOf: "Report {name}"
|
||||
fillAbuseReportDescription: "Please fill in details regarding this report. If it is about a specific note, please include its URL."
|
||||
abuseReported: "Your report has been sent. Thank you very much."
|
||||
reporteeOrigin: "Reportee Origin"
|
||||
reporterOrigin: "Reporter Origin"
|
||||
send: "Send"
|
||||
abuseMarkAsResolved: "Mark report as resolved"
|
||||
openInNewTab: "Open in new tab"
|
||||
@ -795,10 +797,29 @@ itsOff: "Disabled"
|
||||
emailRequiredForSignup: "Require email address for sign-up"
|
||||
unread: "Unread"
|
||||
filter: "Filter"
|
||||
controllPanel: "Control Panel"
|
||||
controlPanel: "Control Panel"
|
||||
manageAccounts: "Manage Accounts"
|
||||
makeReactionsPublic: "Set reaction history to public"
|
||||
makeReactionsPublicDescription: "This will make the list of all your past reactions publicly visible."
|
||||
classic: "Classic"
|
||||
muteThread: "Mute thread"
|
||||
unmuteThread: "Unmute thread"
|
||||
ffVisibility: "Follows/Followers Visibility"
|
||||
ffVisibilityDescription: "Allows you to configure who can see who you follow and who follows you."
|
||||
continueThread: "View thread continuation"
|
||||
deleteAccountConfirm: "This will irreversibly delete your account. Proceed?"
|
||||
incorrectPassword: "Incorrect password."
|
||||
voteConfirm: "Confirm your vote for \"{choice}\"?"
|
||||
_emailUnavailable:
|
||||
used: "This email address is already being used"
|
||||
format: "The format of this email address is invalid"
|
||||
disposable: "Disposable email addresses may not be used"
|
||||
mx: "This email server is invalid"
|
||||
smtp: "This email server is not responding"
|
||||
_ffVisibility:
|
||||
public: "Public"
|
||||
followers: "Visible to followers only"
|
||||
private: "Private"
|
||||
_signup:
|
||||
almostThere: "Almost there"
|
||||
emailAddressInfo: "Please enter your email address."
|
||||
@ -810,13 +831,6 @@ _accountDelete:
|
||||
requestAccountDelete: "Request account deletion"
|
||||
started: "Deletion has been started."
|
||||
inProgress: "Deletion is currently in progress"
|
||||
_docs:
|
||||
continueReading: "Read more"
|
||||
features: "Features"
|
||||
generalTopics: "General topics"
|
||||
advancedTopics: "Advanced Topics"
|
||||
admin: "Administration"
|
||||
translateWarn: "This is a translated document. Its contents may differ from the original."
|
||||
_ad:
|
||||
back: "Back"
|
||||
reduceFrequencyOfThisAd: "Show this ad less"
|
||||
@ -919,6 +933,8 @@ _mfm:
|
||||
rainbowDescription: "Makes the content appear in rainbow colors."
|
||||
sparkle: "Sparkle"
|
||||
sparkleDescription: "Gives content a sparkling particle effect."
|
||||
rotate: "Rotate"
|
||||
rotateDescription: "Turns content by a specified angle."
|
||||
_reversi:
|
||||
reversi: "Reversi"
|
||||
gameSettings: "Game settings"
|
||||
|
@ -2,18 +2,18 @@
|
||||
_lang_: "Esperanto"
|
||||
headlineMisskey: "Jen la reto konektata de notoj"
|
||||
introMisskey: "Bonvenon! Misskey estas malfermitkoda malcentraliza etbloga servo.\nKreu \"noto\"n por paroli vian penson al iuj ĉirkaŭ vi. 📡\nLa funkcion \"reago\" ebligas esprimi rapide vian senton pri ies noto en Fediverso. 👍\nBonvole esploru novan mondon. 🚀"
|
||||
monthAndDay: "{{day}}/{{month}}"
|
||||
monthAndDay: "la {day}a de la {month}a"
|
||||
search: "Serĉi"
|
||||
notifications: "Sciigoj"
|
||||
username: "Uzantnomo"
|
||||
password: "Pasvorto"
|
||||
forgotPassword: "Ĉu vi forgesis pasvorton?"
|
||||
fetchingAsApObject: "Informpetado de kunfederaĵo…"
|
||||
ok: "Akcepteble"
|
||||
gotIt: "Mi komprenas"
|
||||
fetchingAsApObject: "Informpetado de la Fediverso…"
|
||||
ok: "OK"
|
||||
gotIt: "Kompreni"
|
||||
cancel: "Nuligi"
|
||||
enterUsername: "Entajpu uzantnomon"
|
||||
renotedBy: "Noto plusendita de {user}"
|
||||
renotedBy: "Plusendita de {user}"
|
||||
noNotes: "Neniu noto!"
|
||||
noNotifications: "Vi ne havas sciigojn."
|
||||
instance: "Nodo"
|
||||
@ -23,7 +23,7 @@ otherSettings: "Aliaj agordoj"
|
||||
openInWindow: "Malfermi en fenestro"
|
||||
profile: "Profilo"
|
||||
timeline: "Templinio"
|
||||
noAccountDescription: "Neniu priskribo"
|
||||
noAccountDescription: "Neniu sinprezento"
|
||||
login: "Ensaluti"
|
||||
loggingIn: "Ensalutado…"
|
||||
logout: "Elsaluti"
|
||||
@ -35,28 +35,28 @@ addUser: "Aldoni uzanton"
|
||||
favorite: "Preferi"
|
||||
favorites: "Preferaĵoj"
|
||||
unfavorite: "Malpreferi"
|
||||
favorited: "Aldonita al via listo de preferaĵoj."
|
||||
alreadyFavorited: "Ĝi jam estis aldonita al via listo de preferaĵoj."
|
||||
cantFavorite: "Ne aldonita al via listo de preferaĵoj."
|
||||
favorited: "Aldonita al viaj preferaĵoj."
|
||||
alreadyFavorited: "Jam aldonita al viaj preferaĵoj."
|
||||
cantFavorite: "Oni ne povis aldoni al viaj preferaĵoj."
|
||||
pin: "Alpingli"
|
||||
unpin: "Depingli"
|
||||
copyContent: "Kopii enhavon"
|
||||
copyLink: "Kopii ligilon"
|
||||
delete: "Forviŝi"
|
||||
deleteAndEdit: "Redakti foriginte"
|
||||
deleteAndEditConfirm: "Ĉu vi certas, ke vi volas forigi kaj redakti la noton? Tio forviŝos reagojn, plusendojn, kaj respondojn ĉiujn de ĝi."
|
||||
deleteAndEdit: "Forviŝi kaj redakti"
|
||||
deleteAndEditConfirm: "Ĉu vi certas ke vi volas redakti foriginte la noton? Tio forviŝos reagojn, plusendojn, kaj respondojn ĉiujn apartenantajn al ĝi."
|
||||
addToList: "Aldoni al listo"
|
||||
sendMessage: "Sendi mesaĝon"
|
||||
copyUsername: "Kopii uzantnomon"
|
||||
searchUser: "Serĉi uzanton"
|
||||
reply: "Respondi"
|
||||
loadMore: "Vidu pli"
|
||||
loadMore: "Vidi pli"
|
||||
showMore: "Vidi pli"
|
||||
youGotNewFollower: "eksekvis vin"
|
||||
receiveFollowRequest: "Peto de sekvado estas ricevita"
|
||||
followRequestAccepted: "La peto de sekvado akceptita"
|
||||
mention: "Mencioj"
|
||||
mentions: "Al vi"
|
||||
mentions: "Mencioj"
|
||||
directNotes: "Rekte senditaj"
|
||||
importAndExport: "Importi/eksporti"
|
||||
import: "Importi"
|
||||
@ -77,19 +77,22 @@ manageLists: "Administri liston"
|
||||
error: "Eraro"
|
||||
somethingHappened: "Problemo okazis"
|
||||
retry: "Provi denove"
|
||||
serverIsDead: "La servilo ne respondas. Vole atendu iom kaj penu denove."
|
||||
enterListName: "Entajpu nomon de la listo"
|
||||
privacy: "Privateco"
|
||||
defaultNoteVisibility: "Implicitaĵo de videbleco"
|
||||
makeFollowManuallyApprove: "Eksekvi vin devas peti al vi"
|
||||
defaultNoteVisibility: "Implicita videbleco de la noto"
|
||||
follow: "Sekvi"
|
||||
followRequest: "Peti de sekvado"
|
||||
followRequests: "Petoj de sekvado"
|
||||
unfollow: "Ne plu sekvi"
|
||||
followRequestPending: "Atendado akcepti vian peton de eksekvado"
|
||||
enterEmoji: "Entajpu emoĵion"
|
||||
renote: "Plusendi la noton"
|
||||
unrenote: "Malfari plusendadon"
|
||||
unrenote: "Malfari plusendon"
|
||||
renoted: "Sukcese plusendita"
|
||||
cantRenote: "Oni ne povas plusendi la noton."
|
||||
cantReRenote: "Plusendo de noto ne estas plusendebla."
|
||||
cantReRenote: "Plusendo ne estas plusendebla."
|
||||
quote: "Citi"
|
||||
pinnedNote: "Alpinglita noto"
|
||||
pinned: "Alpingli"
|
||||
@ -98,11 +101,12 @@ clickToShow: "Klaku por malkaŝu"
|
||||
sensitive: "Enhavo ne estas deca por laborejo (NSFW)"
|
||||
add: "Aldoni"
|
||||
reaction: "Reagoj"
|
||||
rememberNoteVisibility: "Rememoru videblecon de la noto laste sendita "
|
||||
reactionSettingDescription: "Agordi la reagojn kiujn vi volas prefere montrigi ĉe la elektilo de reagoj"
|
||||
rememberNoteVisibility: "Rememori la agordon de videbleco de la laste sendita"
|
||||
attachCancel: "Deigi aldonaĵon"
|
||||
markAsSensitive: "Troviĝi NSFW"
|
||||
unmarkAsSensitive: "Ne troviĝi NSFW"
|
||||
enterFileName: "Entajpu nomon de dosiero"
|
||||
enterFileName: "Entajpu nomon de la dosiero"
|
||||
mute: "Silentigi"
|
||||
unmute: "Malsilentigi"
|
||||
block: "Bloki"
|
||||
@ -118,16 +122,16 @@ selectAntenna: "Elekti antenon"
|
||||
selectWidget: "Elekti enestraĵon"
|
||||
editWidgets: "Redakti fenestraĵon"
|
||||
editWidgetsExit: "Fini la redaktadon"
|
||||
customEmojis: "Personecigitaj emoĵioj"
|
||||
emoji: "Emoĵio"
|
||||
emojis: "Emoĵio"
|
||||
emojiName: "Nomo de emoĵio"
|
||||
emojiName: "Nomo de la emoĵio"
|
||||
emojiUrl: "URL de la emoĵio"
|
||||
addEmoji: "Aldoni emoĵion"
|
||||
settingGuide: "Agordaj rekomendoj"
|
||||
cacheRemoteFiles: "Stapli transajn dosierojn"
|
||||
flagAsBot: "Agordo por robota uzanto"
|
||||
flagAsCat: "Agordo de katiĝa uzanto"
|
||||
cacheRemoteFiles: "Stapli forajn dosierojn"
|
||||
flagAsBot: "Fari la flagon por robota uzanto"
|
||||
flagAsCat: "Fari la flagon por kat-iĝi"
|
||||
autoAcceptFollowed: "Aŭtomate akcepti la peton de sekvado far uzantoj kiujn vi sekvas"
|
||||
addAccount: "Aldoni konton"
|
||||
showOnRemote: "Vidi ĉe la surloka nodo"
|
||||
general: "Ĝenerala"
|
||||
@ -137,17 +141,18 @@ removeWallpaper: "Forviŝi ekranfonon. "
|
||||
searchWith: "Serĉi: {q}"
|
||||
youHaveNoLists: "Vi ne havas listojn."
|
||||
followConfirm: "Ĉu vi certas ke vi volas sekvi {name}'(o)n?"
|
||||
host: "Gastigo"
|
||||
host: "Nodo"
|
||||
selectUser: "Elekti uzanton"
|
||||
recipient: "Ricevonto"
|
||||
annotation: "Komentarioj"
|
||||
federation: "Kunfederaĵo"
|
||||
federation: "Federaĵo"
|
||||
instances: "Nodoj"
|
||||
latestRequestSentAt: "Lastatempa sendo"
|
||||
latestRequestReceivedAt: "Lastatempa ricevo"
|
||||
latestStatus: "Laŭstato"
|
||||
perHour: "Po horo"
|
||||
perDay: "Po tago"
|
||||
charts: "Diagramoj"
|
||||
perHour: "por horo"
|
||||
perDay: "por tago"
|
||||
blockThisInstance: "Bloki la nodon"
|
||||
operations: "Agoj"
|
||||
software: "Programaro"
|
||||
@ -156,75 +161,86 @@ metadata: "Metadatumoj"
|
||||
withNFiles: "{n} dosiero(j)"
|
||||
monitor: "Monitoro"
|
||||
network: "Reto"
|
||||
disk: "Diskilo"
|
||||
disk: "Disko"
|
||||
instanceInfo: "Informoj pri la nodo"
|
||||
statistics: "Statistikoj"
|
||||
clearCachedFiles: "Malplenigi la staplon"
|
||||
clearCachedFilesConfirm: "Ĉu vi certas, ke vi volas forviŝi ĉiujn transajn dosierojn en la staplo?"
|
||||
clearCachedFilesConfirm: "Ĉu vi certas, ke vi volas forviŝi ĉiujn forajn dosierojn en la staplo?"
|
||||
blockedInstances: "Blokitaj nodoj"
|
||||
muteAndBlock: "Silentigitoj kaj blokitoj"
|
||||
muteAndBlock: "Silentigi / Bloki"
|
||||
mutedUsers: "Silentigitaj uzantoj"
|
||||
blockedUsers: "Blokitaj uzantoj"
|
||||
noUsers: "Sen uzantoj"
|
||||
noUsers: "Neniu uzanto"
|
||||
editProfile: "Redakti profilon"
|
||||
noteDeleteConfirm: "Ĉu vi certas ke vi volas forviŝi la noton?"
|
||||
pinLimitExceeded: "Vi povas alpingli ne pli noton."
|
||||
pinLimitExceeded: "Vi ne povas alpingli pli"
|
||||
done: "Fini"
|
||||
processing: "Prilaborado…"
|
||||
preview: "Antaŭmontro"
|
||||
default: "Implicitaĵo"
|
||||
noCustomEmojis: "Neniu emoĵio"
|
||||
federating: "Nun kunfederanta"
|
||||
blocked: "Blokita"
|
||||
suspended: "Suspendita"
|
||||
noJobs: "Neniu laboro"
|
||||
federating: "Federantaj"
|
||||
blocked: "Blokitaj"
|
||||
suspended: "Suspenditaj"
|
||||
all: "Ĉiuj"
|
||||
subscribing: "Abonata"
|
||||
publishing: "Al kiu dissendas"
|
||||
subscribing: "Abonitaj"
|
||||
publishing: "Abonintaj"
|
||||
notResponding: "Alvokato ne disponeblas"
|
||||
instanceFollowing: "Sekvatoj en la nodo"
|
||||
instanceFollowers: "Sekvantoj el la nodo"
|
||||
instanceUsers: "Uzantoj de tiu ĉi nodo"
|
||||
instanceUsers: "Uzantoj de la nodo"
|
||||
changePassword: "Ŝanĝi pasvorton"
|
||||
security: "Sekureco"
|
||||
retypedNotMatch: "Enigitoj ne estas konformaj."
|
||||
retypedNotMatch: "La enigitoj ne estas konformaj."
|
||||
currentPassword: "Aktuala pasvorto"
|
||||
newPassword: "Nova pasvorto"
|
||||
newPasswordRetype: "Reentajpu la novan pasvorton"
|
||||
attachFile: "Aldoni dosieron"
|
||||
more: "Plu!"
|
||||
more: "Pli!"
|
||||
featured: "Maksimumi"
|
||||
usernameOrUserId: "Uzantnomo aŭ identigilo de uzanto"
|
||||
noSuchUser: "Neniuj uzantoj trovitaj."
|
||||
noSuchUser: "Neniuj uzantoj trovitaj"
|
||||
lookup: "Informpeti"
|
||||
announcements: "Novaĵoj"
|
||||
imageUrl: "URL de bildo"
|
||||
imageUrl: "URL de la bildo"
|
||||
remove: "Forigi"
|
||||
removed: "Forviŝis"
|
||||
removeAreYouSure: "Ĉu vi certas ke vi volas forigi \"{x}\"'(o)n?"
|
||||
deleteAreYouSure: "Ĉu vi certas ke vi volas forviŝi \"{x}\"'(o)n?"
|
||||
removed: "Forigita"
|
||||
removeAreYouSure: "Ĉu vi certas ke vi volas forigi \"{x}\"n?"
|
||||
deleteAreYouSure: "Ĉu vi certas ke vi volas forviŝi \"{x}\"'?"
|
||||
resetAreYouSure: "Ĉu vi certas restarigi?"
|
||||
saved: "Konservita"
|
||||
messaging: "Retbabili"
|
||||
upload: "Alŝuti"
|
||||
fromDrive: "De la disko"
|
||||
fromUrl: "De URL"
|
||||
uploadFromUrl: "Alŝuti de URL"
|
||||
uploadFromUrlDescription: "URL de dosiero kiun vi volas alŝuti"
|
||||
uploadFromUrlDescription: "URL de la dosiero kiun vi volas alŝuti"
|
||||
uploadFromUrlRequested: "La alŝutado estis patita"
|
||||
explore: "Esplori"
|
||||
games: "Miskiaj Ludoj"
|
||||
messageRead: "Legita"
|
||||
noMoreHistory: "Ne plu de la historio"
|
||||
startMessaging: "Komenci babiladon"
|
||||
nUsersRead: "Legita de {n} homoj"
|
||||
agreeTo: "Mi akceptas {0}'(o)n"
|
||||
tos: "Kondiĉoj de uzado"
|
||||
start: "Komenciĝi"
|
||||
home: "Hejma"
|
||||
remoteUserCaution: "Ĉi tiuj infomoj ne estas tute ekzaktaj pro transa uzanto."
|
||||
remoteUserCaution: "Ĉi tiuj infomoj de la uzanto el fora nodo, ne estas tute ekzaktaj."
|
||||
activity: "Aktiveco"
|
||||
images: "Bildoj"
|
||||
birthday: "Naskiĝdato"
|
||||
yearsOld: "{age} jaroj aĝa"
|
||||
registeredDate: "Dato de registriĝo"
|
||||
location: "Loko"
|
||||
location: "Kie"
|
||||
theme: "Koloraro"
|
||||
themeForLightMode: "Luma kolararo en la luma modo"
|
||||
themeForDarkMode: "Malluma kolararo en la malluma modo"
|
||||
light: "Luma"
|
||||
dark: "Malluma"
|
||||
lightThemes: "Luma koloraro"
|
||||
darkThemes: "Malluma koloraro"
|
||||
drive: "Disko"
|
||||
fileName: "Dosiernomo"
|
||||
selectFile: "Elekti dosieron"
|
||||
@ -239,19 +255,24 @@ deleteFolder: "Forviŝi dosierujon"
|
||||
addFile: "Aldoni dosieron"
|
||||
emptyDrive: "La disko malplenas"
|
||||
emptyFolder: "La dosierujo malplenas"
|
||||
unableToDelete: "Ne forigebla"
|
||||
inputNewFileName: "Entajpu nova nomon de la dosiero"
|
||||
inputNewFolderName: "Entajpu nova nomon de la dosierujo"
|
||||
unableToDelete: "Ne forviŝebla"
|
||||
inputNewFileName: "Entajpu novan nomon de la dosiero"
|
||||
inputNewDescription: "Entajpu novan priskribon"
|
||||
inputNewFolderName: "Entajpu novan nomon de la dosierujo"
|
||||
hasChildFilesOrFolders: "La dosierujo ne estas forviŝebla, ĉar ĝi ne malplenas."
|
||||
copyUrl: "Kopii URL"
|
||||
rename: "Alinomi"
|
||||
avatar: "Ikono"
|
||||
banner: "Standardo"
|
||||
nsfw: "Enhavo ne estas deca por laborejo (NSFW)"
|
||||
disconnectedFromServer: "Malkonektita de servilo"
|
||||
reload: "Reŝargi"
|
||||
doNothing: "Ignori"
|
||||
reloadConfirm: "Ĉu vi volas reŝargi?"
|
||||
watch: "Observi"
|
||||
unwatch: "Malobservi"
|
||||
accept: "Permesi"
|
||||
reject: "Malakcepti"
|
||||
normal: "Normala"
|
||||
instanceName: "Nomo de la nodo"
|
||||
instanceDescription: "Priskribo de la nodo "
|
||||
@ -265,6 +286,7 @@ dayX: "{day}a"
|
||||
monthX: "La {month}a monato"
|
||||
yearX: "La jaro {year}"
|
||||
pages: "Paĝoj"
|
||||
integration: "Integri"
|
||||
connectService: "Konekti"
|
||||
disconnectService: "Farkonektiĝi"
|
||||
enableLocalTimeline: "Ebligi lokan templinion"
|
||||
@ -273,23 +295,28 @@ registration: "Registri"
|
||||
enableRegistration: "Ebligi novan uzanton registriĝon"
|
||||
invite: "Inviti"
|
||||
driveCapacityPerLocalAccount: "Volumo de disko po unu loka uzanto"
|
||||
driveCapacityPerRemoteAccount: "Volumo de disko po unu transa uzanto"
|
||||
driveCapacityPerRemoteAccount: "Volumo de disko po unu fora uzanto"
|
||||
iconUrl: "URL de la ikono (retpaĝsimbolo, ktp)"
|
||||
bannerUrl: "URL de standardo"
|
||||
backgroundImageUrl: "URL de fona bildo"
|
||||
basicInfo: "Baza informo"
|
||||
pinnedUsers: "Alpinglita uzanto"
|
||||
pinnedUsersDescription: "Listigu uzantnomojn apartige en ĉiu linio por alpingli al la paĝoj ekz \"Esplori\"."
|
||||
pinnedPages: "Alpinglitaj paĝoj"
|
||||
pinnedPagesDescription: "Listigu dosierindiko apartige en ĉiu linio por alpingli al la ĉefpaĝo de la nodo."
|
||||
pinnedNotes: "Alpinglita noto"
|
||||
hcaptcha: "hCaptcha"
|
||||
enableHcaptcha: "Ebligi hCaptcha"
|
||||
hcaptchaSiteKey: "Reteja ŝlosilo"
|
||||
hcaptchaSecretKey: "Sekreta ŝlosilo"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Ebligi reCAPTCHA'on"
|
||||
enableRecaptcha: "Ebligi reCAPTCHA"
|
||||
recaptchaSiteKey: "Reteja ŝlosilo"
|
||||
recaptchaSecretKey: "Sekreta ŝlosilo"
|
||||
antennas: "Antenoj"
|
||||
manageAntennas: "Administri antenojn"
|
||||
name: "Nomo"
|
||||
antennaSource: "Fonto de la anteno"
|
||||
notifyAntenna: "Oni sciigos novajn notojn"
|
||||
withFileAntenna: "Nur kun aldonaĵo"
|
||||
withReplies: "Inkluzive respondoj"
|
||||
@ -311,29 +338,35 @@ userList: "Listoj"
|
||||
about: "Informoj"
|
||||
aboutMisskey: "Pri Misskey"
|
||||
administrator: "Administranto"
|
||||
token: "Ĵetono"
|
||||
twoStepAuthentication: "Dua-faktora aŭtentiko"
|
||||
moderator: "Kontrolisto"
|
||||
nUsersMentioned: "{n} uzanto(j) menciis"
|
||||
securityKey: "Sekureca ŝlosilo"
|
||||
securityKeyName: "Nomo de la ŝlosilo"
|
||||
registerSecurityKey: "Registri ŝlosilon de sekureco"
|
||||
lastUsed: "Plej malnove uzita"
|
||||
unregister: "Malregistriĝi"
|
||||
passwordLessLogin: "Ensaluti sen pasvorto"
|
||||
resetPassword: "Restarigi pasvorton"
|
||||
newPasswordIs: "La nova pasvorto estas {password}."
|
||||
share: "Diskonigi"
|
||||
reduceUiAnimation: "Redukti la animacioj de la fasado"
|
||||
share: "Kundividi"
|
||||
notFound: "Ne trovita"
|
||||
cacheClear: "Malplenigi staplon"
|
||||
markAsReadAllNotifications: "Marki ĉiujn sciigojn kiel legito"
|
||||
markAsReadAllNotifications: "Marki ĉiujn sciigojn kiel legita"
|
||||
help: "Manlibro de uzado"
|
||||
inputMessageHere: "Entajpu masaĝo tie ĉi"
|
||||
close: "Fermi"
|
||||
group: "Grupo"
|
||||
groups: "Grupoj"
|
||||
createGroup: "Krei grupon"
|
||||
ownedGroups: "Administrataj grupoj"
|
||||
joinedGroups: "Al grupoj kiuj vi aliĝis"
|
||||
invites: "Inviti"
|
||||
groupName: "Grupa nomo"
|
||||
members: "Membroj"
|
||||
transfer: "Movi"
|
||||
messagingWithUser: "Babili private"
|
||||
messagingWithGroup: "Babili grupe"
|
||||
title: "Titolo"
|
||||
@ -342,6 +375,7 @@ enable: "Ebligi"
|
||||
next: "Sekve"
|
||||
retype: "Retajpu"
|
||||
noteOf: "Noto de {user}"
|
||||
inviteToGroup: "Inviti al grupo"
|
||||
quoteAttached: "Kun citaĵo"
|
||||
quoteQuestion: "Ĉu vi aldonas citaĵon?"
|
||||
noMessagesYet: "Ankoraŭ neniu mesaĝo"
|
||||
@ -350,27 +384,38 @@ onlyOneFileCanBeAttached: "Oni povas aldoni nur unu dosieron po mesaĝo."
|
||||
signinRequired: "Bonvolu ensaluti"
|
||||
invitations: "Inviti"
|
||||
invitationCode: "Invita kodo"
|
||||
available: "Disposabla"
|
||||
unavailable: "Ne disponebla"
|
||||
usernameInvalidFormat: "La uzantnomo povas enhavi minusklajn kaj majusklajn literojn, numerojn, nur kaj '_'."
|
||||
tooShort: "Tro mallonga"
|
||||
tooLong: "Tro longa"
|
||||
weakPassword: "Malforta pasvorto"
|
||||
normalPassword: "Normala pasvorto"
|
||||
strongPassword: "Forta pasvorto"
|
||||
passwordMatched: "Konforma"
|
||||
passwordNotMatched: "Nekonforma"
|
||||
signinWith: "Ensaluti kun {x}"
|
||||
or: "Aŭ"
|
||||
language: "Lingvo"
|
||||
uiLanguage: "Lingvo de fasado"
|
||||
aboutX: "Pri {x}"
|
||||
useOsNativeEmojis: "Oni uzas la emoĵioj de la denaska sistemo"
|
||||
useOsNativeEmojis: "Uzi la emoĵiojn implicitan de la operaciumo"
|
||||
youHaveNoGroups: "Neniuj grupoj"
|
||||
noHistory: "Neniom historio"
|
||||
signinHistory: "Historio de aliroj al la konto"
|
||||
doing: "Traktado..."
|
||||
category: "Kategorio"
|
||||
tags: "Etikedoj"
|
||||
docSource: "Fonto de la dokumento"
|
||||
createAccount: "Krei konton"
|
||||
existingAccount: "Ekzista konto"
|
||||
regenerate: "Regeneri"
|
||||
fontSize: "Tipara grando"
|
||||
noFollowRequests: "Vi ne havas peto de sekvado"
|
||||
openImageInNewTab: "Fermi la bildon en nova tablo"
|
||||
openImageInNewTab: "Malfermi la bildojn en nova tablo"
|
||||
dashboard: "Stirpanelo"
|
||||
local: "Loka"
|
||||
remote: "Transa"
|
||||
remote: "Fora"
|
||||
total: "Entute"
|
||||
appearance: "Eksteraĵo"
|
||||
clientSettings: "Agordoj de kliento"
|
||||
@ -378,6 +423,7 @@ accountSettings: "Agordoj de konto"
|
||||
numberOfDays: "Nombro de tagoj"
|
||||
hideThisNote: "Kaŝi la noton"
|
||||
objectStorageBaseUrl: "Baza URL"
|
||||
objectStoragePrefix: "Prefix"
|
||||
objectStorageRegion: "Regiono"
|
||||
objectStorageUseSSL: "Oni uzas SSL"
|
||||
serverLogs: "Servila protokolo"
|
||||
@ -390,8 +436,9 @@ showInPage: "Vidi en paĝo"
|
||||
popout: "Superigi"
|
||||
volume: "Laŭteco"
|
||||
masterVolume: "Baza laŭteco"
|
||||
details: "Detaloj"
|
||||
chooseEmoji: "Elekti emoĵion"
|
||||
recentUsed: "Lastatempaj uzitaj"
|
||||
recentUsed: "Lastatempe uzitaj"
|
||||
install: "Instali"
|
||||
uninstall: "Malinstali"
|
||||
installedApps: "Instalita programo"
|
||||
@ -400,18 +447,23 @@ installedDate: "Dato de instalado"
|
||||
lastUsedDate: "Lastfoje uzita je"
|
||||
state: "Stato"
|
||||
sort: "Ordigado"
|
||||
ascendingOrder: "Kreski"
|
||||
descendingOrder: "Malkreski"
|
||||
scratchpad: "Malneta redaktilo"
|
||||
output: "Elmeto"
|
||||
script: "Skripto"
|
||||
disablePagesScript: "Malebligi AiScripto en la paĝoj"
|
||||
disablePagesScript: "Malebligi AiScript en la paĝoj"
|
||||
deleteAllFiles: "Forviŝi ĉiujn dosierojn"
|
||||
deleteAllFilesConfirm: "Ĉu vi certas, ke vi volas forviŝi ĉiujn dosierojn?"
|
||||
removeAllFollowing: "Ĉesi sekvi ĉiujn sekvatojn"
|
||||
userSuspended: "Ĉi tiu uzanto estas flostigita."
|
||||
userSilenced: "Ĉi tiu uzanto estas mutigita."
|
||||
menu: "Menuo"
|
||||
addItem: "Aldoni novaĵon"
|
||||
rooms: "Ĉambro"
|
||||
deletedNote: "Forviŝita noto"
|
||||
invisibleNote: "Malpublika noto"
|
||||
invisibleNote: "Malpublikigita noto"
|
||||
enableInfiniteScroll: "Ebligi infinitan rulumon"
|
||||
visibility: "Videbleco"
|
||||
poll: "Balotujo"
|
||||
useCw: "Kaŝi enhavo"
|
||||
@ -426,16 +478,23 @@ author: "Aŭtoro"
|
||||
manage: "Administro"
|
||||
plugins: "Kromaĵoj"
|
||||
deck: "Kartaro"
|
||||
useFullReactionPicker: "Uzi la tuton de la elektilon de reagoj"
|
||||
width: "Larĝeco"
|
||||
height: "Alteco"
|
||||
large: "Granda"
|
||||
medium: "Meza"
|
||||
small: "Malgranda"
|
||||
generateAccessToken: "Generi ĵetonon de aliro"
|
||||
permission: "Permesoj"
|
||||
enableAll: "Ebligi ĉiujn"
|
||||
disableAll: "Malebligi ĉiujn"
|
||||
notificationType: "Tipo de sciigoj"
|
||||
edit: "Redakti"
|
||||
emailServer: "Retpoŝta servilo"
|
||||
email: "Retpoŝto"
|
||||
emailAddress: "Retpoŝta adreso"
|
||||
smtpConfig: "Agordoj de SMTP servilo"
|
||||
smtpHost: "Gastigo"
|
||||
smtpHost: "Transa servilo"
|
||||
smtpPort: "Pordo"
|
||||
smtpUser: "Uzantnomo"
|
||||
smtpPass: "Pasvorto"
|
||||
@ -444,13 +503,20 @@ userSaysSomething: "{name} parolis ion"
|
||||
makeActive: "Aktivigi"
|
||||
display: "Vidi"
|
||||
copy: "Kopii"
|
||||
metrics: "mezurciferoj"
|
||||
overview: "Resumo"
|
||||
logs: "Protokoloj"
|
||||
delayed: "Prokrasto "
|
||||
database: "Datumbazo"
|
||||
channel: "Kanalo"
|
||||
create: "Krei"
|
||||
notificationSetting: "Agordoj de sciigoj"
|
||||
useGlobalSetting: "Oni uzas malloka agordo"
|
||||
other: "Aliaj"
|
||||
regenerateLoginToken: "Regeneri la ĵetonon de aliro"
|
||||
fileIdOrUrl: "Dosiera identigilo aŭ URL"
|
||||
chatOpenBehavior: "Konduto por malfermi la fenestron de babilejo"
|
||||
behavior: "Konduto"
|
||||
sample: "Ekzemplo"
|
||||
abuseReports: "Signaloj"
|
||||
reportAbuse: "Signalo"
|
||||
@ -458,20 +524,21 @@ reportAbuseOf: "Signali kontraŭ {name}'(o)"
|
||||
send: "Sendi"
|
||||
openInNewTab: "Malfermi en nova langeto"
|
||||
editTheseSettingsMayBreakAccount: "Redakti ĉi tiujn agordojn povas damaĝi vian konton."
|
||||
instanceTicker: "Informoj pri la nodo kiu dissendas la noton"
|
||||
instanceTicker: "Nomo de la nodo sendinta notojn"
|
||||
waitingFor: "Atendado pro {x}"
|
||||
random: "Hazarde"
|
||||
system: "Sistemo"
|
||||
desktop: "Labortablo"
|
||||
createNew: "Krei novan"
|
||||
optional: "Opciaj"
|
||||
public: "Publika"
|
||||
i18nInfo: "Misskey estas tradukata en diversaj lingvoj far volontuloj. Oni povas kontribui por la tradukado ĉe {link}."
|
||||
i18nInfo: "Misskey estas tradukata en diversaj lingvoj de volontuloj. Oni povas kontribui ĉe {link}."
|
||||
accountInfo: "Kontaj Informoj"
|
||||
notesCount: "La nombro de notoj"
|
||||
repliesCount: "La nombro de respondoj senditaj"
|
||||
renotesCount: "La nombro de notoj kiujn la uzanto plusendis"
|
||||
renotesCount: "La nombro de notoj plusenditaj de la uzanto"
|
||||
repliedCount: "La nombro de respondoj ricevitaj"
|
||||
renotedCount: "La nombro de uzantulaj notoj plusenditaj"
|
||||
renotedCount: "La nombro de plusendoj de la notoj skribitaj de la uzanto"
|
||||
followingCount: "La nombro de sekvatoj"
|
||||
followersCount: "La nombro de sekvantoj"
|
||||
sentReactionsCount: "La nombro de la reagoj senditaj"
|
||||
@ -485,10 +552,15 @@ noteFavoritesCount: "La nombro de notoj preferataj"
|
||||
pageLikesCount: "La nombro de paĝoj kiun la uzanto preferas"
|
||||
pageLikedCount: "La nombro de uzantoj, kiuj preferas paĝon de ĉi tiu uzanto"
|
||||
contact: "Kontakto"
|
||||
useSystemFont: "Uzi la tiparon implicitan de la sistemo"
|
||||
developer: "Evoluiganto"
|
||||
makeExplorable: "Videbligi konton sur la paĝo \"Esplori\""
|
||||
makeExplorableDescription: "Se vi elŝaltas tiun, via konto ne montros en la paĝo \"Esplori\"."
|
||||
duplicate: "Duobligi"
|
||||
left: "Maldekstra"
|
||||
center: "Centra"
|
||||
wide: "Vasta"
|
||||
narrow: "Malvasta"
|
||||
showTitlebar: "Videbligi titolan stangon"
|
||||
clearCache: "Malplenigi staplon"
|
||||
onlineUsersCount: "{n} uzanto(j) estas surlinea"
|
||||
@ -498,9 +570,11 @@ myTheme: "Miaj koloraroj"
|
||||
backgroundColor: "Fona koloro"
|
||||
textColor: "Teksto"
|
||||
saveAs: "Konservi kiel…"
|
||||
advanced: "Altnivela"
|
||||
value: "Valoro"
|
||||
createdAt: "Kreita je"
|
||||
updatedAt: "Laste ĝisdatigita"
|
||||
saveConfirm: "Ĉu vi konservas la ŝanĝon?"
|
||||
deleteConfirm: "Ĉu certas forviŝi?"
|
||||
closeAccount: "Forigi konton"
|
||||
currentVersion: "Nuna versio"
|
||||
@ -511,9 +585,10 @@ inUse: "Uzata"
|
||||
editCode: "Redakti kodon"
|
||||
emailNotification: "Sciigoj per retpoŝto"
|
||||
inChannelSearch: "Serĉi en kanalo"
|
||||
useReactionPickerForContextMenu: "Malfermi reago-elektilon per dekstro-klaki"
|
||||
typingUsers: "{users} nun entajpas…"
|
||||
useReactionPickerForContextMenu: "Dekstre-klaki por malfermi la elektilon de reagoj"
|
||||
typingUsers: "{users} nun skribas…"
|
||||
clear: "Vakigi"
|
||||
markAllAsRead: "Marki ĉiujn kiel legito"
|
||||
goBack: "Reiri antaŭ"
|
||||
addDescription: "Priskribi"
|
||||
info: "Informoj"
|
||||
@ -532,7 +607,7 @@ memo: "Memorigilo"
|
||||
high: "Alta"
|
||||
middle: "Meza"
|
||||
low: "Malalta"
|
||||
customCss: "Uzantula CSS"
|
||||
customCss: "Personecigita CSS"
|
||||
global: "Malloka"
|
||||
sent: "Sendi"
|
||||
received: "Ricevita"
|
||||
@ -542,13 +617,31 @@ troubleshooting: "Problemsolvi"
|
||||
learnMore: "Lernu pli"
|
||||
translate: "Traduki"
|
||||
translatedFrom: "Tradukita el {x}"
|
||||
controllPanel: "Ŝaltpodio"
|
||||
_docs:
|
||||
continueReading: "Legi plu"
|
||||
features: "Funkcioj"
|
||||
admin: "Administro"
|
||||
itsOn: "Ŝaltita"
|
||||
unread: "Nelegita"
|
||||
controlPanel: "Ŝaltpodio"
|
||||
classic: "Klasika"
|
||||
ffVisibility: "Videbleco pri viaj sekvataro/sekvantaro\n"
|
||||
ffVisibilityDescription: "Agordi la videblecon kiu povas vidi tiujn kiujn vi sekvas kaj tiujn kiuj sekvas vin."
|
||||
continueThread: "Vidi pli mesaĝarojn"
|
||||
incorrectPassword: "Nevalida pasvorto"
|
||||
_emailUnavailable:
|
||||
used: "La retpoŝto jam estas uzita."
|
||||
format: "Nevalida formato."
|
||||
disposable: "Dumtempa retpoŝto ne estas uzebla."
|
||||
smtp: "Tiu retpoŝta servilo ne respondas"
|
||||
_ffVisibility:
|
||||
public: "Publika"
|
||||
followers: "Afiŝi nur al sekvantoj"
|
||||
private: "Malpublikigita"
|
||||
_signup:
|
||||
emailAddressInfo: "Entajpu vian retpoŝton"
|
||||
_accountDelete:
|
||||
accountDelete: "Forigi konton"
|
||||
_ad:
|
||||
back: "Nuligi"
|
||||
_forgotPassword:
|
||||
enterEmail: "Entajpu la retpoŝton kiun vi registrigis al via konto. Ligilo por restarigi pasvorton estos sendita al la retpoŝto."
|
||||
_gallery:
|
||||
liked: "Ŝatitaj notoj"
|
||||
like: "Ŝati"
|
||||
@ -570,7 +663,7 @@ _aboutMisskey:
|
||||
contributors: "Precipaj kontribuantoj"
|
||||
allContributors: "Ĉiuj kontribuantoj"
|
||||
source: "Fontkodo"
|
||||
translation: "Traduki Misskey'on"
|
||||
translation: "Traduki Misskey"
|
||||
patrons: "Mecenatoj"
|
||||
_mfm:
|
||||
dummy: "Misskey evoluigas la mondon de Fediverso"
|
||||
@ -586,19 +679,21 @@ _mfm:
|
||||
inlineMath: "Formulo (en linio)"
|
||||
blockMath: "Formulo (bloko)"
|
||||
quote: "Citi"
|
||||
emoji: "Personecigitaj emoĵioj"
|
||||
search: "Serĉi"
|
||||
flip: "Inversa"
|
||||
x2: "Granda"
|
||||
x3: "Grandega"
|
||||
x4: "Pli grandega"
|
||||
font: "Presliteraro"
|
||||
rotate: "Orientiĝo"
|
||||
_reversi:
|
||||
total: "Entute"
|
||||
_instanceTicker:
|
||||
none: "Ne montri"
|
||||
remote: "Montri al transaj uzantoj"
|
||||
remote: "Montri al foraj uzantoj"
|
||||
always: "Ĉiam montri"
|
||||
_serverDisconnectedBehavior:
|
||||
reload: "Aŭtomate reŝargi"
|
||||
_channel:
|
||||
create: "Krei kanalon"
|
||||
edit: "Redakti kanalon"
|
||||
@ -612,13 +707,14 @@ _menuDisplay:
|
||||
hide: "Kaŝi"
|
||||
_wordMute:
|
||||
muteWords: "Silentigitaj vortoj"
|
||||
soft: "En kliento"
|
||||
hard: "En servilo"
|
||||
soft: "Per la kliento"
|
||||
hard: "Per la servilo"
|
||||
mutedNotes: "Silentigitaj notoj"
|
||||
_theme:
|
||||
manage: "Administri kolorarojn"
|
||||
code: "Kolorara kodo"
|
||||
description: "Priskribo"
|
||||
defaultValue: "Implicitaĵa valoro"
|
||||
color: "Koloro"
|
||||
darken: "Malbrileco"
|
||||
lighten: "Brileco"
|
||||
@ -629,7 +725,7 @@ _theme:
|
||||
hashtag: "Kradvorto"
|
||||
mention: "Mencioj"
|
||||
mentionMe: "Mencio al vi"
|
||||
renote: "Noto plusendita"
|
||||
renote: "Plusendita"
|
||||
buttonBg: "Fono de butono"
|
||||
driveFolderBg: "Fono de dosierujo de la disko"
|
||||
messageBg: "Fono de retbabilejo"
|
||||
@ -647,7 +743,7 @@ _ago:
|
||||
secondsAgo: "Antaŭ {n} sekundo(j)"
|
||||
minutesAgo: "Antaŭ {n} minutoj"
|
||||
hoursAgo: "Antaŭ {n} horo(j)"
|
||||
daysAgo: "Antaŭ {n} tagoj"
|
||||
daysAgo: "Antaŭ {n} tago(j)"
|
||||
weeksAgo: "Antaŭ {n} semajnoj"
|
||||
monthsAgo: "Antaŭ {n} monatoj"
|
||||
yearsAgo: "Antaŭ {n} jaroj"
|
||||
@ -660,7 +756,7 @@ _tutorial:
|
||||
title: "Uzado de Misskey"
|
||||
step1_1: "Bonvenon."
|
||||
step7_2: "Se vi volas scii pli pri Misskey, rigardu la fakon {help}."
|
||||
step7_3: "Do, bonvolu amuziĝi Misskey'on🚀"
|
||||
step7_3: "Do, bonvolu amuziĝi sur Misskey🚀"
|
||||
_2fa:
|
||||
registerKey: "Nove registri ŝlosilon"
|
||||
_permissions:
|
||||
@ -701,13 +797,13 @@ _widgets:
|
||||
timeline: "Templinio"
|
||||
clock: "Horloĝo"
|
||||
activity: "Aktiveco"
|
||||
federation: "Kunfederaĵo"
|
||||
federation: "Federaĵo"
|
||||
slideshow: "Bildoprezento"
|
||||
button: "Butono"
|
||||
onlineUsers: "Surkonektita uzanto"
|
||||
onlineUsers: "Surkonektitaj uzantoj"
|
||||
aichan: "Ai"
|
||||
_cw:
|
||||
show: "Vidu pli"
|
||||
show: "Vidi pli"
|
||||
files: "{count} dosiero(j)"
|
||||
_poll:
|
||||
choiceN: "Balotilo {n}"
|
||||
@ -719,15 +815,15 @@ _poll:
|
||||
closed: "Oni jam balotis ĝin"
|
||||
_visibility:
|
||||
public: "Publika"
|
||||
publicDescription: "Via noto estos videbla de ĉiuj uzantoj"
|
||||
publicDescription: "Afiŝi al ĉiuj en la Fediverso"
|
||||
home: "Hejma"
|
||||
homeDescription: "Dissendi nur sur hejma templinio"
|
||||
followers: "Nur al sekvantoj"
|
||||
followersDescription: "Publiki nur al viaj sekvantoj"
|
||||
followersDescription: "Afiŝi nur al sekvantoj"
|
||||
specified: "Rekte"
|
||||
specifiedDescription: "Montri nur al specifaj uzantoj"
|
||||
specifiedDescription: "Afiŝi nur al specifaj uzantoj"
|
||||
localOnly: "Nur loka"
|
||||
localOnlyDescription: "Ne montri al transaj uzantoj"
|
||||
localOnlyDescription: "Ne afiŝi al foraj uzantoj"
|
||||
_postForm:
|
||||
replyPlaceholder: "Respondi la noton…"
|
||||
quotePlaceholder: "Citi la noton…"
|
||||
@ -760,6 +856,8 @@ _timelines:
|
||||
_rooms:
|
||||
translate: "Movi"
|
||||
chooseImage: "Elekti bildon"
|
||||
_roomType:
|
||||
default: "Implicitaĵo"
|
||||
_furnitures:
|
||||
bed: "Lito"
|
||||
low-table: "Malaltotablo"
|
||||
@ -789,10 +887,12 @@ _pages:
|
||||
featured: "Ravaĵoj"
|
||||
contents: "Enhavo"
|
||||
content: "Paĝo en bloko"
|
||||
title: "Temlinio"
|
||||
url: "URL de paĝo"
|
||||
alignCenter: "Centrigi"
|
||||
chooseBlock: "Aldoni blokon"
|
||||
contentBlocks: "Enhavo"
|
||||
inputBlocks: "Enigo"
|
||||
blocks:
|
||||
text: "Teksto"
|
||||
textarea: "Areo de teksto"
|
||||
@ -801,14 +901,24 @@ _pages:
|
||||
_post:
|
||||
canvasId: "Kanvasa identigilo"
|
||||
textInput: "Enmeto el teksto"
|
||||
_textInput:
|
||||
text: "Titolo"
|
||||
default: "Implicitaĵa valoro"
|
||||
textareaInput: "Enmeto el teksto en multaj linioj"
|
||||
_textareaInput:
|
||||
text: "Titolo"
|
||||
default: "Implicitaĵa valoro"
|
||||
numberInput: "Nombra enmeto"
|
||||
_numberInput:
|
||||
text: "Titolo"
|
||||
default: "Implicitaĵa valoro"
|
||||
_canvas:
|
||||
id: "Kanvasa identigilo"
|
||||
_note:
|
||||
id: "Identigilo de noto"
|
||||
_switch:
|
||||
text: "Titolo"
|
||||
default: "Implicitaĵa valoro"
|
||||
_counter:
|
||||
text: "Titolo"
|
||||
_button:
|
||||
@ -816,6 +926,9 @@ _pages:
|
||||
_action:
|
||||
_pushEvent:
|
||||
event: "Nomo de la evento"
|
||||
_radioButton:
|
||||
title: "Titolo"
|
||||
default: "Implicitaĵa valoro"
|
||||
script:
|
||||
categories:
|
||||
text: "Manipulo de teksto"
|
||||
@ -834,6 +947,7 @@ _pages:
|
||||
arg1: "Teksto"
|
||||
_join:
|
||||
arg1: "Listoj"
|
||||
arg2: "apartigilo"
|
||||
_randomPick:
|
||||
arg1: "Listoj"
|
||||
_dailyRandomPick:
|
||||
@ -861,6 +975,10 @@ _pages:
|
||||
stringArray: "List de teksto"
|
||||
emptySlot: "Malplena junto"
|
||||
argVariables: "Eniga junto"
|
||||
_relayStatus:
|
||||
requesting: "Atendado de aprobon"
|
||||
accepted: "Konfirmita"
|
||||
rejected: "Malakceptita"
|
||||
_notification:
|
||||
fileUploaded: "La dosiero sukcese alŝutiĝis."
|
||||
youGotMention: "{name} mencis"
|
||||
@ -875,13 +993,13 @@ _notification:
|
||||
yourFollowRequestAccepted: "Via peto de sekvado estis akceptita."
|
||||
_types:
|
||||
all: "Ĉio"
|
||||
follow: "Nova sekvatoj"
|
||||
follow: "Novaj sekvatoj"
|
||||
mention: "Mencioj"
|
||||
reply: "Respondoj"
|
||||
renote: "Notoj plusenditaj"
|
||||
renote: "Plusendoj"
|
||||
quote: "Citi"
|
||||
reaction: "Reagoj"
|
||||
receiveFollowRequest: "Ricevita peton de sekvado"
|
||||
receiveFollowRequest: "Ricevi peton de sekvado"
|
||||
followRequestAccepted: "Akceptita peto por sekvado"
|
||||
_deck:
|
||||
profile: "Agordaro"
|
||||
@ -890,5 +1008,5 @@ _deck:
|
||||
tl: "Templinio"
|
||||
antenna: "Antenoj"
|
||||
list: "Listoj"
|
||||
mentions: "Al vi"
|
||||
mentions: "Mencioj"
|
||||
direct: "Rekte"
|
||||
|
@ -737,10 +737,9 @@ pubSub: "Cuentas Pub/Sub"
|
||||
lastCommunication: "Última comunicación"
|
||||
resolved: "Resuelto"
|
||||
unresolved: "Sin resolver"
|
||||
controlPanel: "Panel de control"
|
||||
_accountDelete:
|
||||
accountDelete: "Eliminar Cuenta"
|
||||
_docs:
|
||||
admin: "Administrar"
|
||||
_ad:
|
||||
back: "Deseleccionar"
|
||||
_gallery:
|
||||
@ -769,6 +768,7 @@ _mfm:
|
||||
flip: "Echar de un capirotazo"
|
||||
flipDescription: "Voltea el contenido hacia arriba / abajo o hacia la izquierda / derecha."
|
||||
font: "Fuente"
|
||||
rotate: "Rotar"
|
||||
_reversi:
|
||||
reversi: "Reversi"
|
||||
gameSettings: "Configuración del juego"
|
||||
|
@ -795,8 +795,17 @@ itsOff: "Désactivé"
|
||||
emailRequiredForSignup: "Une adresse e-mail est nécessaire pour créer un compte"
|
||||
unread: "Non lu"
|
||||
filter: "Filtre"
|
||||
controllPanel: "Panneau de contrôle"
|
||||
controlPanel: "Panneau de contrôle"
|
||||
manageAccounts: "Gérer les comptes"
|
||||
classic: "Classique"
|
||||
_emailUnavailable:
|
||||
format: "Le format de cette adresse de courriel est invalide"
|
||||
mx: "Ce serveur de courriels est invalide"
|
||||
smtp: "Ce serveur de courriels ne répond pas"
|
||||
_ffVisibility:
|
||||
public: "Public"
|
||||
followers: "Visible uniquement pour les abonné·e·s"
|
||||
private: "Privé"
|
||||
_signup:
|
||||
almostThere: "Bientôt fini"
|
||||
emailAddressInfo: "Insérez votre adresse e-mail."
|
||||
@ -808,13 +817,6 @@ _accountDelete:
|
||||
requestAccountDelete: "Demander la suppression de votre compte"
|
||||
started: "La procédure de suppression a commencé."
|
||||
inProgress: "Suppression en cours"
|
||||
_docs:
|
||||
continueReading: "Lire plus"
|
||||
features: "Fonctionnalités"
|
||||
generalTopics: "Sujets généraux"
|
||||
advancedTopics: "Sujets avancés"
|
||||
admin: "Gestion"
|
||||
translateWarn: "Ceci est une traduction dont le contenu peut différer du texte original."
|
||||
_ad:
|
||||
back: "Retour"
|
||||
reduceFrequencyOfThisAd: "Voir cette publicité moins souvent"
|
||||
@ -917,6 +919,7 @@ _mfm:
|
||||
rainbowDescription: "Permet d'afficher le contenu en couleurs arc-en-ciel."
|
||||
sparkle: "Paillettes"
|
||||
sparkleDescription: "Ajoute un effet scintillant au contenu."
|
||||
rotate: "Pivoter"
|
||||
_reversi:
|
||||
reversi: "Reversi"
|
||||
gameSettings: "Réglages de la partie"
|
||||
|
@ -81,6 +81,8 @@ somethingHappened: "Terjadi kesalahan"
|
||||
retry: "Coba lagi"
|
||||
pageLoadError: "Gagal memuat halaman."
|
||||
pageLoadErrorDescription: "Umumnya disebabkan jaringan atau tembolok perambah. Cobalah bersihkan tembolok peramban lalu tunggu sesaat sebelum mencoba kembali."
|
||||
serverIsDead: "Tidak ada respon dari server. Mohon tunggu dan coba beberapa saat lagi."
|
||||
youShouldUpgradeClient: "Untuk melihat halaman ini, mohon muat ulang untuk memutakhirkan klienmu."
|
||||
enterListName: "Masukkan nama daftar"
|
||||
privacy: "Privasi"
|
||||
makeFollowManuallyApprove: "Permintaan mengikuti membutuhkan persetujuan"
|
||||
@ -529,6 +531,8 @@ removeAllFollowing: "Tahan semua mengikuti"
|
||||
removeAllFollowingDescription: "Batal mengikuti semua akun dari {host}. Mohon jalankan ini ketika instansi sudah tidak ada lagi."
|
||||
userSuspended: "Pengguna ini telah dibekukan."
|
||||
userSilenced: "Pengguna ini telah dibungkam."
|
||||
yourAccountSuspendedTitle: "Akun ini dibekukan"
|
||||
yourAccountSuspendedDescription: "Akun ini dibekukan karena melanggar ketentuan penggunaan layanan server atau semacamnya. Hubungi admin apabila ingin tahu alasan lebih lanjut. Mohon untuk tidak membuat akun baru."
|
||||
menu: "Menu"
|
||||
divider: "Pembagi"
|
||||
addItem: "Tambahkan item"
|
||||
@ -616,6 +620,8 @@ reportAbuse: "Laporkan"
|
||||
reportAbuseOf: "Laporkan {name}"
|
||||
fillAbuseReportDescription: "Mohon isi rincian laporan. Jika laporan ini mengenai catatan yang spesifik, mohon lampirkan serta URL catatan tersebut."
|
||||
abuseReported: "Laporan kamu telah dikirimkan. Terima kasih."
|
||||
reporteeOrigin: "Yang dilaporkan"
|
||||
reporterOrigin: "Pelapor"
|
||||
send: "Kirim"
|
||||
abuseMarkAsResolved: "Tandai laporan sebagai selesai"
|
||||
openInNewTab: "Buka di tab baru"
|
||||
@ -762,6 +768,7 @@ middle: "Sedang"
|
||||
low: "Rendah"
|
||||
emailNotConfiguredWarning: "Alamat surel tidak disetel."
|
||||
ratio: "Rasio"
|
||||
previewNoteText: "Tampilkan pratinjau"
|
||||
customCss: "Custom CSS"
|
||||
customCssWarn: "Pengaturan ini seharusnya digunakan jika kamu tahu cara kerjanya. Memasukkan nilai yang tidak tepat dapat menyebabkan klien tidak berfungsi semestinya."
|
||||
global: "Global"
|
||||
@ -779,8 +786,44 @@ translate: "Terjemahkan"
|
||||
translatedFrom: "Terjemahkan dari {x}"
|
||||
accountDeletionInProgress: "Penghapusan akun sedang dalam proses"
|
||||
usernameInfo: "Nama yang mengidentifikasikan akun kamu dari yang lain pada server ini. Kamu dapat menggunakan alfabet (a~z, A~Z), digit (0~9) atau garis bawah (_). Username tidak dapat diubah setelahnya."
|
||||
aiChanMode: "Mode Ai"
|
||||
keepCw: "Biarkan Peringatan Konten"
|
||||
controllPanel: "Panel kontrol"
|
||||
pubSub: "Akun Pub/Sub"
|
||||
lastCommunication: "Komunikasi terakhir"
|
||||
resolved: "Selesai"
|
||||
unresolved: "Belum selesai"
|
||||
itsOn: "Aktif"
|
||||
itsOff: "Nonaktif"
|
||||
emailRequiredForSignup: "Membutuhkan alamat surel untuk mendaftar"
|
||||
unread: "Belum dibaca"
|
||||
filter: "Saring"
|
||||
controlPanel: "Panel kontrol"
|
||||
manageAccounts: "Kelola Akun"
|
||||
makeReactionsPublic: "Tampilkan riwayat reaksi ke publik"
|
||||
makeReactionsPublicDescription: "Pengaturan ini akan membuat daftar dari semua reaksi masa lalu kamu ditampilkan secara publik."
|
||||
classic: "Klasik"
|
||||
muteThread: "Bisukan thread"
|
||||
unmuteThread: "Suarakan thread"
|
||||
ffVisibility: "Visibilitas Mengikuti/Pengikut"
|
||||
ffVisibilityDescription: "Mengatur siapa yang dapat melihat pengikutmu dan yang kamu ikuti."
|
||||
continueThread: "Lihat lanjutan thread"
|
||||
deleteAccountConfirm: "Akun akan dihapus. Apakah kamu yakin?"
|
||||
incorrectPassword: "Kata sandi salah."
|
||||
voteConfirm: "Konfirmasi suara kamu untuk ({choice})?"
|
||||
_emailUnavailable:
|
||||
used: "Alamat surel ini telah digunakan"
|
||||
format: "Format tidak valid."
|
||||
disposable: "Alamat surel temporer tidak dapat digunakan"
|
||||
mx: "Server alamat surel ini tidak valid"
|
||||
smtp: "Server alamat surel ini tidak merespon"
|
||||
_ffVisibility:
|
||||
public: "Terbitkan"
|
||||
followers: "Tampil untuk pengikut saja"
|
||||
private: "Tersembunyi"
|
||||
_signup:
|
||||
almostThere: "Hampir selesai"
|
||||
emailAddressInfo: "Mohon masukkan alamat surel kamu."
|
||||
emailSent: "Konfirmasi surel telah dikirimkan ke alamat surel kamu ({email}). Mohon klik tautan yang tercantum di dalamnya untuk menyelesaikan pembuatan akun."
|
||||
_accountDelete:
|
||||
accountDelete: "Hapus akun"
|
||||
mayTakeTime: "Karena penghapusan akun merupakan proses yang berat dan intensif, kemungkinan dapat membutuhkan waktu untuk menyelesaikan tergantung daripada berapa banyak konten yang kamu buat dan berapa banyak berkas yang telah kamu unggah."
|
||||
@ -788,13 +831,6 @@ _accountDelete:
|
||||
requestAccountDelete: "Minta penghapusan akun"
|
||||
started: "Penghapusan telah dimulai"
|
||||
inProgress: "Penghapusan sedang dalam proses"
|
||||
_docs:
|
||||
continueReading: "Baca lebih lanjut"
|
||||
features: "Fitur"
|
||||
generalTopics: "Topik umum"
|
||||
advancedTopics: "Topik tingkat lanjut"
|
||||
admin: "Manajemen"
|
||||
translateWarn: "Ini merupakan dokumen terjemahan. Konten di dalamnya kemungkinan dapat berbeda dari yang aslinya."
|
||||
_ad:
|
||||
back: "Kembali"
|
||||
reduceFrequencyOfThisAd: "Tampilkan iklan ini lebih sedikit"
|
||||
@ -895,6 +931,10 @@ _mfm:
|
||||
fontDescription: "Setel font yang ditampilkan untuk konten."
|
||||
rainbow: "Pelangi"
|
||||
rainbowDescription: "Membuat konten muncul dalam warna pelangi."
|
||||
sparkle: "Kelap-kelip"
|
||||
sparkleDescription: "Memberikan konten efek partikel kelap-kelip."
|
||||
rotate: "Putar"
|
||||
rotateDescription: "Putar konten sesuai sudut yang ditentukan."
|
||||
_reversi:
|
||||
reversi: "Reversi"
|
||||
gameSettings: "Pengaturan permainan"
|
||||
@ -1121,6 +1161,10 @@ _permissions:
|
||||
"write:user-groups": "Sunting atau hapus grup pengguna"
|
||||
"read:channels": "Lihat saluran"
|
||||
"write:channels": "Sunting saluran"
|
||||
"read:gallery": "Lihat galeri"
|
||||
"write:gallery": "Sunting galeri"
|
||||
"read:gallery-likes": "Lihat daftar postingan galeri yang disukai"
|
||||
"write:gallery-likes": "Sunting daftar postingan galeri yang disukai"
|
||||
_auth:
|
||||
shareAccess: "Apakah kamu ingin mengijinkan \"{name}\" untuk mengakses akun ini?"
|
||||
shareAccessAsk: "Apakah kamu ingin mengijinkan aplikasi ini untuk mengakses akun kamu?"
|
||||
|
@ -19,9 +19,11 @@ const languages = [
|
||||
'da-DK',
|
||||
'de-DE',
|
||||
'en-US',
|
||||
'eo-UY',
|
||||
'es-ES',
|
||||
'fr-FR',
|
||||
'id-ID',
|
||||
'it-IT',
|
||||
'ja-JP',
|
||||
'ja-KS',
|
||||
'kab-KAB',
|
||||
|
@ -745,10 +745,8 @@ global: "Federata"
|
||||
sent: "Inviare"
|
||||
hashtags: "Hashtag"
|
||||
troubleshooting: "Risoluzione problemi"
|
||||
_docs:
|
||||
continueReading: "Leggi di più"
|
||||
features: "Funzionalità"
|
||||
admin: "Gestione"
|
||||
_ffVisibility:
|
||||
public: "Pubblico"
|
||||
_ad:
|
||||
back: "Indietro"
|
||||
reduceFrequencyOfThisAd: "Visualizza questa pubblicità meno spesso"
|
||||
@ -808,6 +806,7 @@ _mfm:
|
||||
font: "Tipo di carattere"
|
||||
fontDescription: "Puoi scegliere il tipo di carattere per il contenuto."
|
||||
rainbow: "Arcobaleno"
|
||||
rotate: "Ruota"
|
||||
_reversi:
|
||||
reversi: "Reversi"
|
||||
gameSettings: "Impostazioni di gioco"
|
||||
|
@ -620,6 +620,8 @@ reportAbuse: "通報"
|
||||
reportAbuseOf: "{name}を通報する"
|
||||
fillAbuseReportDescription: "通報理由の詳細を記入してください。対象のノートがある場合はそのURLも記入してください。"
|
||||
abuseReported: "内容が送信されました。ご報告ありがとうございました。"
|
||||
reporteeOrigin: "通報先"
|
||||
reporterOrigin: "通報元"
|
||||
send: "送信"
|
||||
abuseMarkAsResolved: "対応済みにする"
|
||||
openInNewTab: "新しいタブで開く"
|
||||
@ -790,19 +792,41 @@ pubSub: "Pub/Subのアカウント"
|
||||
lastCommunication: "直近の通信"
|
||||
resolved: "解決済み"
|
||||
unresolved: "未解決"
|
||||
breakFollow: "フォロワーを解除"
|
||||
itsOn: "オンになっています"
|
||||
itsOff: "オフになっています"
|
||||
emailRequiredForSignup: "アカウント登録にメールアドレスを必須にする"
|
||||
unread: "未読"
|
||||
filter: "フィルタ"
|
||||
controllPanel: "コントロールパネル"
|
||||
controlPanel: "コントロールパネル"
|
||||
manageAccounts: "アカウントを管理"
|
||||
makeReactionsPublic: "リアクション一覧を公開する"
|
||||
makeReactionsPublicDescription: "あなたがしたリアクション一覧を誰でも見れるようにします。"
|
||||
classic: "クラシック"
|
||||
muteThread: "スレッドをミュート"
|
||||
unmuteThread: "スレッドのミュートを解除"
|
||||
ffVisibility: "つながりの公開範囲"
|
||||
ffVisibilityDescription: "自分のフォロー/フォロワー情報の公開範囲を設定できます。"
|
||||
continueThread: "さらにスレッドを見る"
|
||||
deleteAccountConfirm: "アカウントが削除されます。よろしいですか?"
|
||||
incorrectPassword: "パスワードが間違っています。"
|
||||
voteConfirm: "「{choice}」に投票しますか?"
|
||||
|
||||
_emailUnavailable:
|
||||
used: "既に使用されています"
|
||||
format: "形式が正しくありません"
|
||||
disposable: "恒久的に使用可能なアドレスではありません"
|
||||
mx: "正しいメールサーバーではありません"
|
||||
smtp: "メールサーバーが応答しません"
|
||||
|
||||
_ffVisibility:
|
||||
public: "公開"
|
||||
followers: "フォロワーだけに公開"
|
||||
private: "非公開"
|
||||
|
||||
_signup:
|
||||
almostThere: "ほとんど完了です"
|
||||
emailAddressInfo: "あなたが使っているメールアドレスを入力してください。"
|
||||
emailAddressInfo: "あなたが使っているメールアドレスを入力してください。メールアドレスが公開されることはありません。"
|
||||
emailSent: "入力されたメールアドレス({email})宛に確認のメールが送信されました。メールに記載されたリンクにアクセスすると、アカウントの作成が完了します。"
|
||||
|
||||
_accountDelete:
|
||||
@ -813,14 +837,6 @@ _accountDelete:
|
||||
started: "削除処理が開始されました。"
|
||||
inProgress: "削除が進行中"
|
||||
|
||||
_docs:
|
||||
continueReading: "続きを読む"
|
||||
features: "機能"
|
||||
generalTopics: "一般的なトピック"
|
||||
advancedTopics: "高度なトピック"
|
||||
admin: "管理"
|
||||
translateWarn: "このドキュメントは翻訳されたものです。オリジナルとは内容が異なる場合があります。"
|
||||
|
||||
_ad:
|
||||
back: "戻る"
|
||||
reduceFrequencyOfThisAd: "この広告の表示頻度を下げる"
|
||||
@ -931,6 +947,8 @@ _mfm:
|
||||
rainbowDescription: "内容をレインボーにします。"
|
||||
sparkle: "キラキラ"
|
||||
sparkleDescription: "キラキラしたパーティクルのエフェクトを追加します。"
|
||||
rotate: "回転"
|
||||
rotateDescription: "指定した角度で回転させます。"
|
||||
|
||||
_reversi:
|
||||
reversi: "リバーシ"
|
||||
|
@ -653,8 +653,6 @@ low: "低い"
|
||||
global: "グローバル"
|
||||
sent: "送信"
|
||||
hashtags: "ハッシュタグ"
|
||||
_docs:
|
||||
admin: "管理"
|
||||
_ad:
|
||||
back: "戻る"
|
||||
_gallery:
|
||||
@ -702,6 +700,7 @@ _mfm:
|
||||
spin: "アニメーション(回転)"
|
||||
blur: "ぼかし"
|
||||
font: "フォント"
|
||||
rotate: "回転"
|
||||
_reversi:
|
||||
reversi: "リバーシ"
|
||||
gameSettings: "対局の設定"
|
||||
|
@ -787,7 +787,9 @@ pubSub: "Pub/Sub 계정"
|
||||
lastCommunication: "마지막 통신"
|
||||
resolved: "해결됨"
|
||||
unresolved: "해결되지 않음"
|
||||
controllPanel: "제어판"
|
||||
controlPanel: "제어판"
|
||||
_ffVisibility:
|
||||
public: "게시"
|
||||
_accountDelete:
|
||||
accountDelete: "계정 삭제"
|
||||
mayTakeTime: "계정 삭제는 서버에 부하를 가하기 때문에, 작성한 콘텐츠나 업로드한 파일의 수가 많으면 완료까지 시간이 걸릴 수 있습니다."
|
||||
@ -795,13 +797,6 @@ _accountDelete:
|
||||
requestAccountDelete: "계정 삭제 요청"
|
||||
started: "삭제 작업이 시작되었습니다."
|
||||
inProgress: "삭제 진행 중"
|
||||
_docs:
|
||||
continueReading: "계속 읽기"
|
||||
features: "기능"
|
||||
generalTopics: "일반 주제"
|
||||
advancedTopics: "심화 주제"
|
||||
admin: "관리"
|
||||
translateWarn: "이 문서는 번역되었기 때문에 원본과는 내용이 다를 수 있습니다."
|
||||
_ad:
|
||||
back: "뒤로"
|
||||
reduceFrequencyOfThisAd: "이 광고의 표시 빈도 낮추기"
|
||||
@ -904,6 +899,7 @@ _mfm:
|
||||
rainbowDescription: "내용을 무지개로 표시합니다."
|
||||
sparkle: "반짝반짝"
|
||||
sparkleDescription: "반짝이는 파티클 효과를 추가합니다."
|
||||
rotate: "회전"
|
||||
_reversi:
|
||||
reversi: "리버시"
|
||||
gameSettings: "대국 설정"
|
||||
|
@ -1,3 +1,193 @@
|
||||
---
|
||||
_lang_: "Nederlands"
|
||||
headlineMisskey: "Netwerk verbonden door notities"
|
||||
introMisskey: "Welkom! Misskey is een open source, gedecentraliseerde microblogdienst.\nMaak \"notities\" om je gedachten te delen met iedereen om je heen. 📡\nMet \"reacties\" kun je ook snel je mening geven over berichten van anderen. 👍\nLaten we een nieuwe wereld verkennen! 🚀"
|
||||
monthAndDay: "{day} {month}"
|
||||
search: "Zoeken"
|
||||
notifications: "Meldingen"
|
||||
username: "Gebruikersnaam"
|
||||
password: "Wachtwoord"
|
||||
forgotPassword: "Wachtwoord vergeten"
|
||||
fetchingAsApObject: "Ophalen vanuit de Fediverse"
|
||||
ok: "Ok"
|
||||
gotIt: "Begrepen"
|
||||
cancel: "Annuleren"
|
||||
enterUsername: "Voer een gebruikersnaam in"
|
||||
renotedBy: "Hergedeeld door {user}"
|
||||
noNotes: "Geen notities"
|
||||
noNotifications: "Geen meldingen"
|
||||
instance: "Server"
|
||||
settings: "Instellingen"
|
||||
basicSettings: "Basisinstellingen"
|
||||
otherSettings: "Overige instellingen"
|
||||
openInWindow: "In een venster openen"
|
||||
profile: "Profiel"
|
||||
timeline: "Tijdlijn"
|
||||
noAccountDescription: "Deze gebruiker heeft nog geen bio geschreven"
|
||||
login: "Inloggen"
|
||||
loggingIn: "Aan het inloggen"
|
||||
logout: "Afmelden"
|
||||
signup: "Registreren"
|
||||
uploading: "Bezig met uploaden"
|
||||
save: "Opslaan"
|
||||
users: "Gebruikers"
|
||||
addUser: "Toevoegen gebruiker"
|
||||
favorite: "Favorieten"
|
||||
favorites: "Toevoegen aan favorieten"
|
||||
unfavorite: "Verwijderen uit favorieten"
|
||||
favorited: "Toegevoegd aan favorieten."
|
||||
alreadyFavorited: "Al toegevoegd aan favorieten"
|
||||
cantFavorite: "Kon niet toevoegen aan favorieten"
|
||||
pin: "Vastmaken aan profielpagina"
|
||||
unpin: "Losmaken van profielpagina"
|
||||
copyContent: "Kopiëren inhoud"
|
||||
copyLink: "Kopiëren link"
|
||||
delete: "Verwijderen"
|
||||
deleteAndEdit: "Verwijderen en bewerken"
|
||||
deleteAndEditConfirm: "Weet je zeker dat je deze notitie wilt verwijderen en dan bewerken? Je verliest alle reacties, herdelingen en antwoorden erop."
|
||||
addToList: "Aan lijst toevoegen"
|
||||
sendMessage: "Verstuur bericht"
|
||||
copyUsername: "Kopiëren gebruikersnaam "
|
||||
searchUser: "Zoeken een gebruiker"
|
||||
reply: "Antwoord"
|
||||
loadMore: "Laad meer"
|
||||
showMore: "Toon meer"
|
||||
youGotNewFollower: "volgde jou"
|
||||
receiveFollowRequest: "Volgverzoek ontvangen"
|
||||
followRequestAccepted: "Volgverzoek geaccepteerd"
|
||||
mention: "Vermelding"
|
||||
mentions: "Vermeldingen"
|
||||
directNotes: "Directe notities"
|
||||
importAndExport: "Import / export"
|
||||
import: "Import"
|
||||
export: "Export"
|
||||
files: "Bestanden"
|
||||
download: "Downloaden"
|
||||
driveFileDeleteConfirm: "Weet je zeker dat je het bestand \"{name}\" wilt verwijderen? Notities met dit bestand als bijlage worden ook verwijderd."
|
||||
unfollowConfirm: "Weet je zeker dat je {name} wilt ontvolgen?"
|
||||
exportRequested: "Je hebt een export aangevraagd. Dit kan een tijdje duren. Het wordt toegevoegd aan je Drive zodra het is voltooid."
|
||||
importRequested: "Je hebt een import aangevraagd. Dit kan even duren."
|
||||
lists: "Lijsten"
|
||||
noLists: "Je hebt geen lijsten"
|
||||
note: "Notitie"
|
||||
notes: "Notities"
|
||||
following: "Volgend"
|
||||
followers: "Volgers"
|
||||
followsYou: "Volgt jou"
|
||||
createList: "Creëer lijst"
|
||||
manageLists: "Beheren lijsten"
|
||||
error: "Fout"
|
||||
somethingHappened: "Er is iets misgegaan."
|
||||
retry: "Probeer opnieuw"
|
||||
pageLoadError: "Pagina laden mislukt"
|
||||
pageLoadErrorDescription: "Dit wordt normaal gesproken veroorzaakt door netwerkfouten of door de cache van de browser. Probeer de cache te wissen en probeer het na een tijdje wachten opnieuw."
|
||||
serverIsDead: "De server reageert niet. Wacht even en probeer het opnieuw."
|
||||
youShouldUpgradeClient: "Werk je client bij om deze pagina te zien."
|
||||
enterListName: "Voer de naam van de lijst in"
|
||||
privacy: "Privacy"
|
||||
makeFollowManuallyApprove: "Volgverzoeken vergen een goedkeuring"
|
||||
defaultNoteVisibility: "Standaard zichtbaarheid"
|
||||
follow: "Volgen"
|
||||
followRequest: "Verzoek om te mogen volgen"
|
||||
followRequests: "Volgverzoeken"
|
||||
unfollow: "Ontvolgen"
|
||||
followRequestPending: "Wachten op goedkeuring volgverzoek"
|
||||
enterEmoji: "Voer een emoji in"
|
||||
renote: "Herdelen"
|
||||
unrenote: "Stop herdelen"
|
||||
renoted: "Herdeeld"
|
||||
cantRenote: "Dit bericht kan niet worden herdeeld"
|
||||
cantReRenote: "Een herdeling kan niet worden herdeeld"
|
||||
quote: "Quote"
|
||||
pinnedNote: "Vastgemaakte notitie"
|
||||
pinned: "Vastmaken aan profielpagina"
|
||||
you: "Jij"
|
||||
clickToShow: "Klik om te bekijken"
|
||||
sensitive: "NSFW"
|
||||
add: "Toevoegen"
|
||||
reaction: "Reacties"
|
||||
reactionSettingDescription: "Configureer welke reacties je wilt weergeven in de reactiekiezer."
|
||||
reactionSettingDescription2: "Sleep om opnieuw te ordenen, Klik om te verwijderen, Druk op \"+\" om toe te voegen"
|
||||
rememberNoteVisibility: "Vergeet niet de notitie zichtbaarheidsinstellingen"
|
||||
attachCancel: "Verwijder bijlage"
|
||||
markAsSensitive: "Markeren als NSFW"
|
||||
unmarkAsSensitive: "Geen NSFW"
|
||||
enterFileName: "Invoeren bestandsnaam"
|
||||
mute: "Dempen"
|
||||
unmute: "Stop dempen"
|
||||
block: "Blokkeren"
|
||||
unblock: "Deblokkeren"
|
||||
suspend: "Opschorten"
|
||||
unsuspend: "Heractiveren"
|
||||
blockConfirm: "Weet je zeker dat je dit account wil blokkeren?"
|
||||
instances: "Server"
|
||||
remove: "Verwijderen"
|
||||
nsfw: "NSFW"
|
||||
pinnedNotes: "Vastgemaakte notitie"
|
||||
userList: "Lijsten"
|
||||
smtpUser: "Gebruikersnaam"
|
||||
smtpPass: "Wachtwoord"
|
||||
user: "Gebruikers"
|
||||
muteThread: "Discussies dempen "
|
||||
unmuteThread: "Dempen van discussie ongedaan maken"
|
||||
_email:
|
||||
_follow:
|
||||
title: "volgde jou"
|
||||
_mfm:
|
||||
mention: "Vermelding"
|
||||
quote: "Quote"
|
||||
search: "Zoeken"
|
||||
_theme:
|
||||
keys:
|
||||
mention: "Vermelding"
|
||||
renote: "Herdelen"
|
||||
_sfx:
|
||||
note: "Notities"
|
||||
notification: "Meldingen"
|
||||
_widgets:
|
||||
notifications: "Meldingen"
|
||||
timeline: "Tijdlijn"
|
||||
_cw:
|
||||
show: "Laad meer"
|
||||
_visibility:
|
||||
followers: "Volgers"
|
||||
_profile:
|
||||
username: "Gebruikersnaam"
|
||||
_exportOrImport:
|
||||
followingList: "Volgend"
|
||||
muteList: "Dempen"
|
||||
blockingList: "Blokkeren"
|
||||
userLists: "Lijsten"
|
||||
_pages:
|
||||
script:
|
||||
categories:
|
||||
list: "Lijsten"
|
||||
blocks:
|
||||
_join:
|
||||
arg1: "Lijsten"
|
||||
_randomPick:
|
||||
arg1: "Lijsten"
|
||||
_dailyRandomPick:
|
||||
arg1: "Lijsten"
|
||||
_seedRandomPick:
|
||||
arg2: "Lijsten"
|
||||
_pick:
|
||||
arg1: "Lijsten"
|
||||
_listLen:
|
||||
arg1: "Lijsten"
|
||||
types:
|
||||
array: "Lijsten"
|
||||
_notification:
|
||||
youWereFollowed: "volgde jou"
|
||||
_types:
|
||||
follow: "Volgend"
|
||||
mention: "Vermelding"
|
||||
renote: "Herdelen"
|
||||
quote: "Quote"
|
||||
reaction: "Reacties"
|
||||
_deck:
|
||||
_columns:
|
||||
notifications: "Meldingen"
|
||||
tl: "Tijdlijn"
|
||||
list: "Lijsten"
|
||||
mentions: "Vermeldingen"
|
||||
|
@ -738,8 +738,8 @@ ratio: "Stosunek"
|
||||
global: "Globalna"
|
||||
sent: "Wyślij"
|
||||
hashtags: "Hashtag"
|
||||
_docs:
|
||||
admin: "Zarządzanie"
|
||||
_ffVisibility:
|
||||
public: "Publikuj"
|
||||
_ad:
|
||||
back: "Wróć"
|
||||
reduceFrequencyOfThisAd: "Pokazuj tę reklamę rzadziej"
|
||||
@ -815,6 +815,7 @@ _mfm:
|
||||
blur: "Rozmycie"
|
||||
font: "Czcionka"
|
||||
fontDescription: "Wybiera czcionkę do wyświetlania treści."
|
||||
rotate: "Obróć"
|
||||
_reversi:
|
||||
reversi: "Reversi"
|
||||
gameSettings: "Ustawienia gry"
|
||||
|
@ -1,22 +1,33 @@
|
||||
---
|
||||
_lang_: "Português"
|
||||
headlineMisskey: "Rede conectada por notas"
|
||||
monthAndDay: "{day}/{month}"
|
||||
search: "Pesquisar"
|
||||
notifications: "Notificações"
|
||||
username: "Nome de usuário"
|
||||
password: "Senha"
|
||||
forgotPassword: "Esqueci a senha"
|
||||
fetchingAsApObject: "Buscando no Fediverso"
|
||||
ok: "OK"
|
||||
gotIt: "Entendi"
|
||||
cancel: "Cancelar"
|
||||
enterUsername: "Digite o nome de usuário"
|
||||
renotedBy: "Repostado por {user}"
|
||||
noNotes: "Sem posts"
|
||||
noNotifications: "Sem notificações"
|
||||
instance: "Instância"
|
||||
settings: "Configurações"
|
||||
basicSettings: "Configurações básicas"
|
||||
otherSettings: "Outras configurações"
|
||||
openInWindow: "Abrir numa janela"
|
||||
profile: "Perfil"
|
||||
timeline: "Timeline"
|
||||
login: "Iniciar sessão"
|
||||
loggingIn: "Iniciando sessão…"
|
||||
logout: "Sair"
|
||||
signup: "Registrar-se"
|
||||
uploading: "Enviando…"
|
||||
save: "Guardar"
|
||||
users: "Usuários"
|
||||
favorite: "Favoritar"
|
||||
favorites: "Favoritar"
|
||||
|
@ -620,6 +620,8 @@ reportAbuse: "Жалоба"
|
||||
reportAbuseOf: "Пожаловаться на пользователя {name}"
|
||||
fillAbuseReportDescription: "Опишите, пожалуйста, причину жалобы подробнее. Если речь о конкретной заметке, будьте добры приложить ссылку на неё."
|
||||
abuseReported: "Жалоба отправлена. Большое спасибо за информацию."
|
||||
reporteeOrigin: "Куда сообщать"
|
||||
reporterOrigin: "Сообщено"
|
||||
send: "Отправить"
|
||||
abuseMarkAsResolved: "Отметить жалобу как решённую"
|
||||
openInNewTab: "Открыть в новой вкладке"
|
||||
@ -766,6 +768,7 @@ middle: "Средне"
|
||||
low: "Низкий"
|
||||
emailNotConfiguredWarning: "Не указан адрес электронной почты"
|
||||
ratio: "Соотношение"
|
||||
previewNoteText: "Предварительный просмотр текста"
|
||||
customCss: "Индивидуальный CSS"
|
||||
customCssWarn: "Используйте эту настройку только если знаете, что делаете. Ошибки здесь чреваты тем, что сайт перестанет нормально работать у вас."
|
||||
global: "Всеобщая"
|
||||
@ -780,19 +783,43 @@ learnMore: "Подробнее"
|
||||
misskeyUpdated: "Misskey обновился!"
|
||||
whatIsNew: "Что новенького?"
|
||||
translate: "Перевод"
|
||||
translatedFrom: "{x}Перевод с английского"
|
||||
accountDeletionInProgress: "В настоящее время выполняется удаление учетной записи"
|
||||
usernameInfo: "Имя, которое отличает вашу учетную запись от других на этом сервере. Вы можете использовать алфавит (a~z, A~Z), цифры (0~9) или символы подчеркивания (_). Имена пользователей не могут быть изменены позже."
|
||||
aiChanMode: "ИИ режим"
|
||||
keepCw: "Сохраняйте Предупреждения о содержимом"
|
||||
controllPanel: "Панель управления"
|
||||
lastCommunication: "Последнее сообщение"
|
||||
resolved: "Решен"
|
||||
unresolved: "Неразрешенные"
|
||||
itsOff: "Он выключен!"
|
||||
emailRequiredForSignup: "Требуется адрес электронной почты для регистрации аккаунта"
|
||||
unread: "Непрочитанное"
|
||||
filter: "Фильтры"
|
||||
controlPanel: "Панель управления"
|
||||
manageAccounts: "Управление аккаунтом"
|
||||
_docs:
|
||||
continueReading: "Читать подробнее"
|
||||
features: "Возможности"
|
||||
generalTopics: "Основные темы"
|
||||
advancedTopics: "Дополнительные темы"
|
||||
admin: "Управление"
|
||||
translateWarn: "Это перевод документа. Он может неточно отражать содержимое оригинала."
|
||||
makeReactionsPublic: "Опубликовать список реакций"
|
||||
makeReactionsPublicDescription: "Список сделанных вами реакций доступен для просмотра всем желающим."
|
||||
classic: "Классика"
|
||||
unmuteThread: "Отключить звук"
|
||||
ffVisibilityDescription: "Вы можете установить объем вашей следующей/последней информации."
|
||||
_emailUnavailable:
|
||||
used: "Уже используется"
|
||||
format: "Неправильный формат"
|
||||
smtp: "Почтовый сервер не отвечает"
|
||||
_ffVisibility:
|
||||
public: "Опубликовать"
|
||||
private: "Частный"
|
||||
_signup:
|
||||
almostThere: "Почти готово!"
|
||||
emailAddressInfo: "Пожалуйста, введите адрес электронной почты, который вы используете."
|
||||
emailSent: "На указанный вами адрес электронной почты ({email}) было отправлено письмо с подтверждением. Перейдите по ссылке в электронном письме, чтобы завершить создание учетной записи."
|
||||
_accountDelete:
|
||||
accountDelete: "Удалить свой аккаунт"
|
||||
mayTakeTime: "Удаление учетной записи - это тяжелый процесс, который может занять много времени, если у вас создано много контента или загружено много файлов."
|
||||
sendEmail: "Мы отправим уведомление на зарегистрированный вами адрес электронной почты, когда ваша учетная запись будет удалена."
|
||||
requestAccountDelete: "Запросить удаление вашей учетной записи"
|
||||
started: "Процесс удаления начался."
|
||||
inProgress: "Удаление в процессе"
|
||||
_ad:
|
||||
back: "Выход"
|
||||
reduceFrequencyOfThisAd: "Реже показывать эту рекламу"
|
||||
@ -893,6 +920,9 @@ _mfm:
|
||||
fontDescription: "Так можно писать произвольным шрифтом."
|
||||
rainbow: "Радуга"
|
||||
rainbowDescription: "Заставлять содержимое отображаться в цветах радуги."
|
||||
sparkle: "Блеск"
|
||||
sparkleDescription: "Добавьте эффект искрящихся частиц."
|
||||
rotate: "Повернуть"
|
||||
_reversi:
|
||||
reversi: "Реверси"
|
||||
gameSettings: "Настройки игры"
|
||||
@ -1119,6 +1149,10 @@ _permissions:
|
||||
"write:user-groups": "Изменять и удалять группы пользователей"
|
||||
"read:channels": "Смотреть каналы"
|
||||
"write:channels": "Изменять каналы"
|
||||
"read:gallery": "Смотреть галерею"
|
||||
"write:gallery": "Работа с галереей"
|
||||
"read:gallery-likes": "Посмотреть галерею лайков"
|
||||
"write:gallery-likes": "Манипулируйте понравившейся галереей"
|
||||
_auth:
|
||||
shareAccess: "Дать доступ для «{name}» к вашей учётной записи?"
|
||||
shareAccessAsk: "Уверены, что хотите дать приложению доступ к своей учётной записи?"
|
||||
|
62
locales/tr-TR.yml
Normal file
62
locales/tr-TR.yml
Normal file
@ -0,0 +1,62 @@
|
||||
---
|
||||
_lang_: "Türkçe"
|
||||
introMisskey: "Açık kaynaklı bir dağıtılmış mikroblog hizmeti olan Misskey'e hoş geldiniz.\nMisskey, neler olup bittiğini paylaşmak ve herkese sizden bahsetmek için \"notlar\" oluşturmanıza olanak tanıyan, açık kaynaklı, dağıtılmış bir mikroblog hizmetidir.\nHerkesin notlarına kendi tepkilerinizi hızlıca eklemek için \"Tepkiler\" özelliğini de kullanabilirsiniz👍.\nYeni bir dünyayı keşfedin🚀."
|
||||
monthAndDay: "{month}Ay {day}Gün"
|
||||
search: "Arama"
|
||||
notifications: "Bildirim"
|
||||
username: "Kullanıcı Adı"
|
||||
password: "Şifre"
|
||||
forgotPassword: "şifremi unuttum"
|
||||
ok: "TAMAM"
|
||||
gotIt: "Anladım"
|
||||
cancel: "İptal"
|
||||
enterUsername: "Kullanıcı adınızı giriniz"
|
||||
noNotes: "Notlar mevcut değil."
|
||||
noNotifications: "Bildirim bulunmuyor"
|
||||
settings: "Ayarlar"
|
||||
basicSettings: "Temel Ayarlar"
|
||||
otherSettings: "Diğer Ayarlar"
|
||||
openInWindow: "Bir pencere ile aç"
|
||||
profile: "Profil"
|
||||
timeline: "Zaman çizelgesi"
|
||||
noAccountDescription: "Bu kullanıcı henüz biyografisini yazmadı"
|
||||
login: "Giriş Yap "
|
||||
logout: "Çıkış Yap"
|
||||
signup: "Kayıt Ol"
|
||||
uploading: "Yükleniyor"
|
||||
users: "Kullanıcı"
|
||||
addUser: "Kullanıcı Ekle"
|
||||
favorite: "Favoriler"
|
||||
favorites: "Favoriler"
|
||||
unfavorite: "Favorilerden Kaldır"
|
||||
favorited: "Favorilerime eklendi."
|
||||
alreadyFavorited: "Zaten favorilerinizde kayıtlı."
|
||||
pin: "Sabitlenmiş"
|
||||
unpin: "Sabitlemeyi kaldır"
|
||||
copyContent: "İçeriği kopyala"
|
||||
copyLink: "Bağlantıyı Kopyala"
|
||||
delete: "Sil"
|
||||
deleteAndEdit: "Sil ve yeniden düzenle"
|
||||
deleteAndEditConfirm: "Bu notu silip yeniden düzenlemek istiyor musunuz? Bu nota ilişkin tüm Tepkiler, Yeniden Notlar ve Yanıtlar da silinecektir."
|
||||
addToList: "Listeye ekle"
|
||||
sendMessage: "Mesaj Gönder"
|
||||
copyUsername: "Kullanıcı Adını Kopyala"
|
||||
searchUser: "Kullanıcıları ara"
|
||||
pinned: "Sabitlenmiş"
|
||||
remove: "Sil"
|
||||
smtpUser: "Kullanıcı Adı"
|
||||
smtpPass: "Şifre"
|
||||
user: "Kullanıcı"
|
||||
_mfm:
|
||||
search: "Arama"
|
||||
_sfx:
|
||||
notification: "Bildirim"
|
||||
_widgets:
|
||||
notifications: "Bildirim"
|
||||
timeline: "Zaman çizelgesi"
|
||||
_profile:
|
||||
username: "Kullanıcı Adı"
|
||||
_deck:
|
||||
_columns:
|
||||
notifications: "Bildirim"
|
||||
tl: "Zaman çizelgesi"
|
@ -692,8 +692,6 @@ middle: "Середній"
|
||||
global: "Глобальна"
|
||||
sent: "Відправити"
|
||||
hashtags: "Хештеґ"
|
||||
_docs:
|
||||
admin: "Управління"
|
||||
_ad:
|
||||
back: "Назад"
|
||||
_gallery:
|
||||
@ -773,6 +771,7 @@ _mfm:
|
||||
blurDescription: "Цей ефект зробить контент розмитим. Контент можна зробити чітким, якщо навести на нього вказівник миші."
|
||||
font: "Шрифт"
|
||||
fontDescription: "Встановлює шрифт для контенту."
|
||||
rotate: "Обертати"
|
||||
_reversi:
|
||||
reversi: "Реверсі"
|
||||
gameSettings: "Налаштування гри"
|
||||
|
@ -1,20 +1,20 @@
|
||||
---
|
||||
_lang_: "中文(简体)"
|
||||
headlineMisskey: "通过帖子连接在一起的网络"
|
||||
introMisskey: "欢迎!Misskey是一个开源的、去中心化的“微博客”服务。\n通过编写「帖子」来和大家分享你的以及你周围的事情吧!📡\n通过「回应」功能,可以让你快速地对大家的帖子表达反馈👍\n来探索新的世界吧!🚀"
|
||||
introMisskey: "欢迎!Misskey是一个开源的、去中心化的“微博客”服务。\n通过编写「帖文」来和大家分享你的以及你周围的事情吧!📡\n通过「回应」功能,可以让你快速地对大家的帖文表达反馈👍\n来探索新的世界吧!🚀"
|
||||
monthAndDay: "{month}月 {day}日"
|
||||
search: "搜索"
|
||||
notifications: "通知"
|
||||
username: "用户名"
|
||||
password: "密码"
|
||||
forgotPassword: "重置密码"
|
||||
fetchingAsApObject: "联合查询中"
|
||||
forgotPassword: "忘记密码"
|
||||
fetchingAsApObject: "联合查询"
|
||||
ok: "OK"
|
||||
gotIt: "我明白了"
|
||||
cancel: "取消"
|
||||
enterUsername: "输入用户名"
|
||||
renotedBy: "{user} 转发了"
|
||||
noNotes: "没有帖子"
|
||||
renotedBy: "由 {user} 转推"
|
||||
noNotes: "没有帖文"
|
||||
noNotifications: "无通知"
|
||||
instance: "实例"
|
||||
settings: "设置"
|
||||
@ -124,9 +124,9 @@ unblockConfirm: "确定要解除拉黑吗?"
|
||||
suspendConfirm: "要冻结吗?"
|
||||
unsuspendConfirm: "要解除冻结吗?"
|
||||
selectList: "选择列表"
|
||||
selectAntenna: "天线选择"
|
||||
selectAntenna: "选择天线"
|
||||
selectWidget: "选择小工具"
|
||||
editWidgets: "编辑小工具"
|
||||
editWidgets: "编辑部件"
|
||||
editWidgetsExit: "完成编辑"
|
||||
customEmojis: "自定义表情符号"
|
||||
emoji: "表情符号"
|
||||
@ -139,9 +139,9 @@ cacheRemoteFiles: "远程文件缓存"
|
||||
cacheRemoteFilesDescription: "当禁用此设定时远程文件将直接从远程实例载入。禁用后会减小储存空间需求,但是会增加流量,因为缩略图不会被生成。"
|
||||
flagAsBot: "这是一个机器人账号"
|
||||
flagAsBotDescription: "如果此帐户由程序控制,请启用此项。启用后,此标志可以帮助其他开发人员防止机器人之间产生无限互动的行为,并让Misskey的内部系统将此帐户识别为机器人。"
|
||||
flagAsCat: "这个账户是一只猫"
|
||||
flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。\n开启后,会在您的头像上出现猫耳朵,并将你的帖子中的「na」替换为「nya」,日文同理。"
|
||||
autoAcceptFollowed: "自动允许关注者的关注"
|
||||
flagAsCat: "将这个账户设定为一只猫"
|
||||
flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。"
|
||||
autoAcceptFollowed: "自动允许关注"
|
||||
addAccount: "添加账户"
|
||||
loginFailed: "登录失败"
|
||||
showOnRemote: "转到所在实例显示"
|
||||
@ -620,6 +620,8 @@ reportAbuse: "举报"
|
||||
reportAbuseOf: "举报{name}"
|
||||
fillAbuseReportDescription: "请填写举报的详细原因。如果有对方发的帖子,请同时填写URL地址。"
|
||||
abuseReported: "内容已发送。感谢您的报告。"
|
||||
reporteeOrigin: "举报来源"
|
||||
reporterOrigin: "举报者来源"
|
||||
send: "发送"
|
||||
abuseMarkAsResolved: "处理完毕"
|
||||
openInNewTab: "在新标签页中打开"
|
||||
@ -790,13 +792,35 @@ pubSub: "Pub/Sub账户"
|
||||
lastCommunication: "最近通信"
|
||||
resolved: "已解决"
|
||||
unresolved: "未解决"
|
||||
breakFollow: "移除关注者"
|
||||
itsOn: "已开启"
|
||||
itsOff: "已关闭"
|
||||
emailRequiredForSignup: "注册账户需要电子邮件地址"
|
||||
unread: "未读"
|
||||
filter: "筛选"
|
||||
controllPanel: "控制面板"
|
||||
controlPanel: "控制面板"
|
||||
manageAccounts: "管理账户"
|
||||
makeReactionsPublic: "将回应设置为公开"
|
||||
makeReactionsPublicDescription: "将您发表过的回应设置成公开可见。"
|
||||
classic: "经典"
|
||||
muteThread: "屏蔽帖子列表"
|
||||
unmuteThread: "取消屏蔽帖子列表"
|
||||
ffVisibility: "连接的可见范围"
|
||||
ffVisibilityDescription: "您可以设置您的关注/关注者信息的公开范围"
|
||||
continueThread: "查看更多帖子"
|
||||
deleteAccountConfirm: "将要删除账户。是否确认?"
|
||||
incorrectPassword: "密码错误"
|
||||
voteConfirm: "确定投给“{choice}” ?"
|
||||
_emailUnavailable:
|
||||
used: "已经被使用过"
|
||||
format: "无效的格式"
|
||||
disposable: "不是永久可用的地址"
|
||||
mx: "邮件服务器不正确"
|
||||
smtp: "邮件服务器没有响应"
|
||||
_ffVisibility:
|
||||
public: "发布"
|
||||
followers: "只有关注你的用户能看到"
|
||||
private: "私密"
|
||||
_signup:
|
||||
almostThere: "即将完成"
|
||||
emailAddressInfo: "请输入您所使用的电子邮件地址"
|
||||
@ -808,13 +832,6 @@ _accountDelete:
|
||||
requestAccountDelete: "请求删除账户"
|
||||
started: "账户删除过程已开始。"
|
||||
inProgress: "正在删除"
|
||||
_docs:
|
||||
continueReading: "继续阅读"
|
||||
features: "特性"
|
||||
generalTopics: "通常提示"
|
||||
advancedTopics: "进阶提示"
|
||||
admin: "管理"
|
||||
translateWarn: "本文档是翻译后的文档。内容可能与原文有所不同。"
|
||||
_ad:
|
||||
back: "返回"
|
||||
reduceFrequencyOfThisAd: "减少此广告的频率"
|
||||
@ -917,6 +934,8 @@ _mfm:
|
||||
rainbowDescription: "用彩虹色来显示内容。"
|
||||
sparkle: "闪光"
|
||||
sparkleDescription: "添加发光粒子效果。"
|
||||
rotate: "旋转"
|
||||
rotateDescription: "旋转指定的角度。"
|
||||
_reversi:
|
||||
reversi: "黑白棋"
|
||||
gameSettings: "对局设置"
|
||||
|
@ -754,8 +754,8 @@ ratio: "%"
|
||||
global: "公開"
|
||||
sent: "發送"
|
||||
hashtags: "#tag"
|
||||
_docs:
|
||||
admin: "管理"
|
||||
_ffVisibility:
|
||||
public: "發佈"
|
||||
_ad:
|
||||
back: "返回"
|
||||
reduceFrequencyOfThisAd: "降低此廣告的頻率 "
|
||||
@ -840,6 +840,7 @@ _mfm:
|
||||
blur: "模糊"
|
||||
font: "字型"
|
||||
fontDescription: "您可以設定顯示內容的字型"
|
||||
rotate: "旋轉"
|
||||
_reversi:
|
||||
reversi: "黑白棋"
|
||||
gameSettings: "對弈設定"
|
||||
|
@ -1,13 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class PinnedUsers1557476068003 implements MigrationInterface {
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedUsers" character varying(256) array NOT NULL DEFAULT '{}'::varchar[]`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedUsers"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class UserListJoining1558266512381 implements MigrationInterface {
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_90f7da835e4c10aca6853621e1" ON "user_list_joining" ("userId", "userListId") `);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`DROP INDEX "IDX_90f7da835e4c10aca6853621e1"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class PasswordLessLogin1562422242907 implements MigrationInterface {
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD COLUMN "usePasswordLessLogin" boolean DEFAULT false NOT NULL`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "usePasswordLessLogin"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class PageTitleHideOption1562448332510 implements MigrationInterface {
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "page" ADD "hideTitleWhenPinned" boolean NOT NULL DEFAULT false`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "hideTitleWhenPinned"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class room1565634203341 implements MigrationInterface {
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "room" jsonb NOT NULL DEFAULT '{}'`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "room"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class CustomEmojiCategory1571220798684 implements MigrationInterface {
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "emoji" ADD "category" character varying(128)`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "emoji" DROP COLUMN "category"`, undefined);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class TalkFederationId1576269851876 implements MigrationInterface {
|
||||
name = 'TalkFederationId1576269851876'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "messaging_message" ADD "uri" character varying(512)`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "messaging_message" DROP COLUMN "uri"`, undefined);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class ProxyRemoteFiles1576869585998 implements MigrationInterface {
|
||||
name = 'ProxyRemoteFiles1576869585998'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "proxyRemoteFiles" boolean NOT NULL DEFAULT false`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "proxyRemoteFiles"`, undefined);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class v1221579270193251 implements MigrationInterface {
|
||||
name = 'v1221579270193251'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "announcement_read" ADD "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "announcement_read" DROP COLUMN "createdAt"`, undefined);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class v1231579282808087 implements MigrationInterface {
|
||||
name = 'v1231579282808087'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "announcement" ADD "updatedAt" TIMESTAMP WITH TIME ZONE`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "announcement" DROP COLUMN "updatedAt"`, undefined);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class v1291580154400017 implements MigrationInterface {
|
||||
name = 'v1291580154400017'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "antenna" ADD "withReplies" boolean NOT NULL DEFAULT false`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "withReplies"`, undefined);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class v12131580543501339 implements MigrationInterface {
|
||||
name = 'v12131580543501339'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`CREATE INDEX "IDX_NOTE_TAGS" ON "note" USING gin ("tags")`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`DROP INDEX "IDX_NOTE_TAGS"`, undefined);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class driveUserFolderIdIndex1581708415836 implements MigrationInterface {
|
||||
name = 'driveUserFolderIdIndex1581708415836'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`CREATE INDEX "IDX_55720b33a61a7c806a8215b825" ON "drive_file" ("userId", "folderId", "id") `, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`DROP INDEX "IDX_55720b33a61a7c806a8215b825"`, undefined);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class featuredInjecttion1582019042083 implements MigrationInterface {
|
||||
name = 'featuredInjecttion1582019042083'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "injectFeaturedNote" boolean NOT NULL DEFAULT true`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "injectFeaturedNote"`, undefined);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class antennaExclude1582210532752 implements MigrationInterface {
|
||||
name = 'antennaExclude1582210532752'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "antenna" ADD "excludeKeywords" jsonb NOT NULL DEFAULT '[]'`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "excludeKeywords"`, undefined);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class noteReactionLength1582875306439 implements MigrationInterface {
|
||||
name = 'noteReactionLength1582875306439'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(130)`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(128)`, undefined);
|
||||
}
|
||||
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
/* tslint:disable:quotemark class-name indent */
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class apUrl1585772678853 implements MigrationInterface {
|
||||
name = 'apUrl1585772678853'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "note" ADD "url" character varying(512)`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<any> {
|
||||
await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "url"`, undefined);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
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);
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class blurhash1595075960584 implements MigrationInterface {
|
||||
name = 'blurhash1595075960584'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "drive_file" ADD "blurhash" character varying(128)`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "drive_file" DROP COLUMN "blurhash"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class instanceIconUrl1595676934834 implements MigrationInterface {
|
||||
name = 'instanceIconUrl1595676934834'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "instance" ADD "iconUrl" character varying(256) DEFAULT null`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "iconUrl"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class channel21596786425167 implements MigrationInterface {
|
||||
name = 'channel21596786425167'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "channel_following" ADD "readCursor" TIMESTAMP WITH TIME ZONE NOT NULL`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "channel_following" DROP COLUMN "readCursor"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class objectStorageSetPublicRead1597230137744 implements MigrationInterface {
|
||||
name = 'objectStorageSetPublicRead1597230137744'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageSetPublicRead" boolean NOT NULL DEFAULT false`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageSetPublicRead"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class addSensitiveIndex1597385880794 implements MigrationInterface {
|
||||
name = 'addSensitiveIndex1597385880794'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`CREATE INDEX "IDX_a7eba67f8b3fa27271e85d2e26" ON "drive_file" ("isSensitive") `);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`DROP INDEX "IDX_a7eba67f8b3fa27271e85d2e26"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class ChannelNoteIdDescIndex1597893996136 implements MigrationInterface {
|
||||
name = 'ChannelNoteIdDescIndex1597893996136'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`DROP INDEX "IDX_f22169eb10657bded6d875ac8f"`);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_note_on_channelId_and_id_desc" ON "note" ("channelId", "id" desc)`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`DROP INDEX "IDX_note_on_channelId_and_id_desc"`);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_f22169eb10657bded6d875ac8f" ON "note" ("channelId") `);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class instanceThemeColor1603776877564 implements MigrationInterface {
|
||||
name = 'instanceThemeColor1603776877564'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "instance" ADD "themeColor" character varying(64) DEFAULT null`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "themeColor"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class instanceFavicon1603781553011 implements MigrationInterface {
|
||||
name = 'instanceFavicon1603781553011'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "instance" ADD "faviconUrl" character varying(256) DEFAULT null`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "faviconUrl"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class deleteAutoWatch1604821689616 implements MigrationInterface {
|
||||
name = 'deleteAutoWatch1604821689616'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "autoWatch"`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "autoWatch" boolean NOT NULL DEFAULT false`);
|
||||
}
|
||||
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class clipDescription1605408848373 implements MigrationInterface {
|
||||
name = 'clipDescription1605408848373'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "clip" ADD "description" character varying(2048) DEFAULT null`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
|
||||
await queryRunner.query(`ALTER TABLE "clip" DROP COLUMN "description"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class instancePinnedPages1605585339718 implements MigrationInterface {
|
||||
name = 'instancePinnedPages1605585339718'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedPages" character varying(512) array NOT NULL DEFAULT '{"/featured", "/channels", "/explore", "/pages", "/about-misskey"}'::varchar[]`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedPages"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class instancePinnedClip1607151207216 implements MigrationInterface {
|
||||
name = 'instancePinnedClip1607151207216'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedClipId" character varying(32)`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedClipId"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class registry31610283021566 implements MigrationInterface {
|
||||
name = 'registry31610283021566'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "registry_item" ALTER COLUMN "value" DROP NOT NULL`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "registry_item" ALTER COLUMN "value" SET NOT NULL`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class objectStorageS3ForcePathStyle1611547387175 implements MigrationInterface {
|
||||
name = 'objectStorageS3ForcePathStyle1611547387175'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageS3ForcePathStyle" boolean NOT NULL DEFAULT true`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageS3ForcePathStyle"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class announcementEmail1612619156584 implements MigrationInterface {
|
||||
name = 'announcementEmail1612619156584'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "receiveAnnouncementEmail" boolean NOT NULL DEFAULT true`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "receiveAnnouncementEmail"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class emailNotificationTypes1613155914446 implements MigrationInterface {
|
||||
name = 'emailNotificationTypes1613155914446'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "emailNotificationTypes" jsonb NOT NULL DEFAULT '["follow","receiveFollowRequest","groupInvited"]'`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "emailNotificationTypes"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class userLang1613181457597 implements MigrationInterface {
|
||||
name = 'userLang1613181457597'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "lang" character varying(32)`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "lang"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class useBigintForDriveUsage1613503367223 implements MigrationInterface {
|
||||
name = 'useBigintForDriveUsage1613503367223'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "instance" ALTER COLUMN "driveUsage" TYPE bigint`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "driveUsage"`);
|
||||
await queryRunner.query(`ALTER TABLE "instance" ADD "driveUsage" integer NOT NULL DEFAULT 0`);
|
||||
}
|
||||
|
||||
}
|
@ -1,218 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class chartV21615965918224 implements MigrationInterface {
|
||||
name = 'chartV21615965918224'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`DELETE FROM "__chart__active_users" WHERE "span" = 'day'`);
|
||||
await queryRunner.query(`DELETE FROM "__chart__drive" WHERE "span" = 'day'`);
|
||||
await queryRunner.query(`DELETE FROM "__chart__federation" WHERE "span" = 'day'`);
|
||||
await queryRunner.query(`DELETE FROM "__chart__hashtag" WHERE "span" = 'day'`);
|
||||
await queryRunner.query(`DELETE FROM "__chart__instance" WHERE "span" = 'day'`);
|
||||
await queryRunner.query(`DELETE FROM "__chart__network" WHERE "span" = 'day'`);
|
||||
await queryRunner.query(`DELETE FROM "__chart__notes" WHERE "span" = 'day'`);
|
||||
await queryRunner.query(`DELETE FROM "__chart__per_user_drive" WHERE "span" = 'day'`);
|
||||
await queryRunner.query(`DELETE FROM "__chart__per_user_following" WHERE "span" = 'day'`);
|
||||
await queryRunner.query(`DELETE FROM "__chart__per_user_notes" WHERE "span" = 'day'`);
|
||||
await queryRunner.query(`DELETE FROM "__chart__per_user_reaction" WHERE "span" = 'day'`);
|
||||
await queryRunner.query(`DELETE FROM "__chart__test" WHERE "span" = 'day'`);
|
||||
await queryRunner.query(`DELETE FROM "__chart__test_grouped" WHERE "span" = 'day'`);
|
||||
await queryRunner.query(`DELETE FROM "__chart__test_unique" WHERE "span" = 'day'`);
|
||||
await queryRunner.query(`DELETE FROM "__chart__users" WHERE "span" = 'day'`);
|
||||
|
||||
await queryRunner.query(`DROP INDEX "IDX_15e91a03aeeac9dbccdf43fc06"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_20f57cc8f142c131340ee16742"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_c26e2c1cbb6e911e0554b27416"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_3fa0d0f17ca72e3dc80999a032"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_6e1df243476e20cbf86572ecc0"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_06690fc959f1c9fdaf21928222"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_e447064455928cf627590ef527"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_2d416e6af791a82e338c79d480"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_e9cd07672b37d8966cf3709283"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_fcc181fb8283009c61cc4083ef"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_49975586f50ed7b800fdd88fbd"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_6d6f156ceefc6bc5f273a0e370"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_c12f0af4a66cdd30c2287ce8aa"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_d0a4f79af5a97b08f37b547197"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_f5448d9633cff74208d850aabe"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_f8dd01baeded2ffa833e0a610a"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_08fac0eb3b11f04c200c0b40dd"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_9ff6944f01acb756fdc92d7563"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_e69096589f11e3baa98ddd64d0"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_0c9a159c5082cbeef3ca6706b5"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_924fc196c80ca24bae01dd37e4"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_328f259961e60c4fa0bfcf55ca"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_42ea9381f0fda8dfe0fa1c8b53"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_f2aeafde2ae6fbad38e857631b"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_f92dd6d03f8d994f29987f6214"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_57b5458d0d3d6d1e7f13d4e57f"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_4db3b84c7be0d3464714f3e0b1"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_8d2cbbc8114d90d19b44d626b6"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_046feeb12e9ef5f783f409866a"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_f68a5ab958f9f5fa17a32ac23b"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_65633a106bce43fc7c5c30a5c7"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_edeb73c09c3143a81bcb34d569"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_e316f01a6d24eb31db27f88262"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_2be7ec6cebddc14dc11e206686"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_a5133470f4825902e170328ca5"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_84e661abb7bd1e51b690d4b017"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_5c73bf61da4f6e6f15bae88ed1"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_d70c86baedc68326be11f9c0ce"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_66e1e1ecd2f29e57778af35b59"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_92255988735563f0fe4aba1f05"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_c5870993e25c3d5771f91f5003"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_f170de677ea75ad4533de2723e"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_7c184198ecf66a8d3ecb253ab3"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_f091abb24193d50c653c6b77fc"`);
|
||||
await queryRunner.query(`DROP INDEX "IDX_a770a57c70e668cc61590c9161"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "span"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."__chart__active_users_span_enum"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "unique"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "___local_count"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" DROP COLUMN "___remote_count"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__drive" DROP COLUMN "span"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."__chart__drive_span_enum"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__drive" DROP COLUMN "unique"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__federation" DROP COLUMN "span"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."__chart__federation_span_enum"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__federation" DROP COLUMN "unique"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "span"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."__chart__hashtag_span_enum"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "unique"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "___local_count"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__hashtag" DROP COLUMN "___remote_count"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__instance" DROP COLUMN "span"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."__chart__instance_span_enum"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__instance" DROP COLUMN "unique"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__network" DROP COLUMN "span"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."__chart__network_span_enum"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__network" DROP COLUMN "unique"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__notes" DROP COLUMN "span"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."__chart__notes_span_enum"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__notes" DROP COLUMN "unique"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" DROP COLUMN "span"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."__chart__per_user_drive_span_enum"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" DROP COLUMN "unique"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_following" DROP COLUMN "span"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."__chart__per_user_following_span_enum"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_following" DROP COLUMN "unique"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" DROP COLUMN "span"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."__chart__per_user_notes_span_enum"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" DROP COLUMN "unique"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" DROP COLUMN "span"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."__chart__per_user_reaction_span_enum"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" DROP COLUMN "unique"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__test_grouped" DROP COLUMN "span"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."__chart__test_grouped_span_enum"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__test_grouped" DROP COLUMN "unique"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__test_unique" DROP COLUMN "span"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."__chart__test_unique_span_enum"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__test_unique" DROP COLUMN "unique"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__test_unique" DROP COLUMN "___foo"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__test" DROP COLUMN "span"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."__chart__test_span_enum"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__test" DROP COLUMN "unique"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__users" DROP COLUMN "span"`);
|
||||
await queryRunner.query(`DROP TYPE "public"."__chart__users_span_enum"`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__users" DROP COLUMN "unique"`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "__chart__users" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`CREATE TYPE "public"."__chart__users_span_enum" AS ENUM('hour', 'day')`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__users" ADD "span" "__chart__users_span_enum" NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__test" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`CREATE TYPE "public"."__chart__test_span_enum" AS ENUM('hour', 'day')`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__test" ADD "span" "__chart__test_span_enum" NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__test_unique" ADD "___foo" bigint NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__test_unique" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`CREATE TYPE "public"."__chart__test_unique_span_enum" AS ENUM('hour', 'day')`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__test_unique" ADD "span" "__chart__test_unique_span_enum" NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__test_grouped" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`CREATE TYPE "public"."__chart__test_grouped_span_enum" AS ENUM('hour', 'day')`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__test_grouped" ADD "span" "__chart__test_grouped_span_enum" NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_reaction_span_enum" AS ENUM('hour', 'day')`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_reaction" ADD "span" "__chart__per_user_reaction_span_enum" NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_notes_span_enum" AS ENUM('hour', 'day')`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_notes" ADD "span" "__chart__per_user_notes_span_enum" NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_following" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_following_span_enum" AS ENUM('hour', 'day')`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_following" ADD "span" "__chart__per_user_following_span_enum" NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`CREATE TYPE "public"."__chart__per_user_drive_span_enum" AS ENUM('hour', 'day')`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__per_user_drive" ADD "span" "__chart__per_user_drive_span_enum" NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__notes" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`CREATE TYPE "public"."__chart__notes_span_enum" AS ENUM('hour', 'day')`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__notes" ADD "span" "__chart__notes_span_enum" NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__network" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`CREATE TYPE "public"."__chart__network_span_enum" AS ENUM('hour', 'day')`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__network" ADD "span" "__chart__network_span_enum" NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__instance" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`CREATE TYPE "public"."__chart__instance_span_enum" AS ENUM('hour', 'day')`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__instance" ADD "span" "__chart__instance_span_enum" NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "___remote_count" bigint NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "___local_count" bigint NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`CREATE TYPE "public"."__chart__hashtag_span_enum" AS ENUM('hour', 'day')`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__hashtag" ADD "span" "__chart__hashtag_span_enum" NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__federation" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`CREATE TYPE "public"."__chart__federation_span_enum" AS ENUM('hour', 'day')`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__federation" ADD "span" "__chart__federation_span_enum" NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__drive" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`CREATE TYPE "public"."__chart__drive_span_enum" AS ENUM('hour', 'day')`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__drive" ADD "span" "__chart__drive_span_enum" NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "___remote_count" bigint NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "___local_count" bigint NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "unique" jsonb NOT NULL DEFAULT '{}'`);
|
||||
await queryRunner.query(`CREATE TYPE "public"."__chart__active_users_span_enum" AS ENUM('hour', 'day')`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" ADD "span" "__chart__active_users_span_enum" NOT NULL`);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_a770a57c70e668cc61590c9161" ON "__chart__users" ("date", "group", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_f091abb24193d50c653c6b77fc" ON "__chart__users" ("date", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_7c184198ecf66a8d3ecb253ab3" ON "__chart__users" ("span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_f170de677ea75ad4533de2723e" ON "__chart__test" ("date", "group", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_c5870993e25c3d5771f91f5003" ON "__chart__test" ("date", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_92255988735563f0fe4aba1f05" ON "__chart__test" ("span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_66e1e1ecd2f29e57778af35b59" ON "__chart__test_unique" ("date", "group", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_d70c86baedc68326be11f9c0ce" ON "__chart__test_unique" ("date", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_5c73bf61da4f6e6f15bae88ed1" ON "__chart__test_unique" ("span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_84e661abb7bd1e51b690d4b017" ON "__chart__test_grouped" ("date", "group", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_a5133470f4825902e170328ca5" ON "__chart__test_grouped" ("date", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_2be7ec6cebddc14dc11e206686" ON "__chart__test_grouped" ("span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_e316f01a6d24eb31db27f88262" ON "__chart__per_user_reaction" ("date", "group", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_edeb73c09c3143a81bcb34d569" ON "__chart__per_user_reaction" ("date", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_65633a106bce43fc7c5c30a5c7" ON "__chart__per_user_reaction" ("span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_f68a5ab958f9f5fa17a32ac23b" ON "__chart__per_user_notes" ("date", "group", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_046feeb12e9ef5f783f409866a" ON "__chart__per_user_notes" ("date", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_8d2cbbc8114d90d19b44d626b6" ON "__chart__per_user_notes" ("span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_4db3b84c7be0d3464714f3e0b1" ON "__chart__per_user_following" ("date", "group", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_57b5458d0d3d6d1e7f13d4e57f" ON "__chart__per_user_following" ("date", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_f92dd6d03f8d994f29987f6214" ON "__chart__per_user_following" ("span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_f2aeafde2ae6fbad38e857631b" ON "__chart__per_user_drive" ("date", "group", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_42ea9381f0fda8dfe0fa1c8b53" ON "__chart__per_user_drive" ("date", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_328f259961e60c4fa0bfcf55ca" ON "__chart__per_user_drive" ("span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_924fc196c80ca24bae01dd37e4" ON "__chart__notes" ("date", "group", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_0c9a159c5082cbeef3ca6706b5" ON "__chart__notes" ("date", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_e69096589f11e3baa98ddd64d0" ON "__chart__notes" ("span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_9ff6944f01acb756fdc92d7563" ON "__chart__network" ("date", "group", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_08fac0eb3b11f04c200c0b40dd" ON "__chart__network" ("date", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_f8dd01baeded2ffa833e0a610a" ON "__chart__network" ("span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_f5448d9633cff74208d850aabe" ON "__chart__instance" ("date", "group", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_d0a4f79af5a97b08f37b547197" ON "__chart__instance" ("date", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_c12f0af4a66cdd30c2287ce8aa" ON "__chart__instance" ("span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_6d6f156ceefc6bc5f273a0e370" ON "__chart__hashtag" ("date", "group", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_49975586f50ed7b800fdd88fbd" ON "__chart__hashtag" ("date", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_fcc181fb8283009c61cc4083ef" ON "__chart__hashtag" ("span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_e9cd07672b37d8966cf3709283" ON "__chart__federation" ("date", "group", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_2d416e6af791a82e338c79d480" ON "__chart__federation" ("date", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_e447064455928cf627590ef527" ON "__chart__federation" ("span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_06690fc959f1c9fdaf21928222" ON "__chart__drive" ("date", "group", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_6e1df243476e20cbf86572ecc0" ON "__chart__drive" ("date", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_3fa0d0f17ca72e3dc80999a032" ON "__chart__drive" ("span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_c26e2c1cbb6e911e0554b27416" ON "__chart__active_users" ("date", "group", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_20f57cc8f142c131340ee16742" ON "__chart__active_users" ("date", "span") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_15e91a03aeeac9dbccdf43fc06" ON "__chart__active_users" ("span") `);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class userHideOnlineStatus1618639857000 implements MigrationInterface {
|
||||
name = 'userHideOnlineStatus1618639857000'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user" ADD "hideOnlineStatus" boolean NOT NULL DEFAULT false`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "hideOnlineStatus"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class ad21620364649428 implements MigrationInterface {
|
||||
name = 'ad21620364649428'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "ad" ADD "ratio" integer NOT NULL DEFAULT '1'`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "ad" DROP COLUMN "ratio"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class addNoteIndexes1621479946000 implements MigrationInterface {
|
||||
name = 'addNoteIndexes1621479946000'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`CREATE INDEX "IDX_NOTE_MENTIONS" ON "note" USING gin ("mentions")`, undefined);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_NOTE_VISIBLE_USER_IDS" ON "note" USING gin ("visibleUserIds")`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`DROP INDEX "IDX_NOTE_MENTIONS"`, undefined);
|
||||
await queryRunner.query(`DROP INDEX "IDX_NOTE_VISIBLE_USER_IDS"`, undefined);
|
||||
}
|
||||
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class userProfileDescriptionLength1622679304522 implements MigrationInterface {
|
||||
name = 'userProfileDescriptionLength1622679304522';
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "description" TYPE character varying(2048)`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "description" TYPE character varying(1024)`, undefined);
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class logMessageLength1622681548499 implements MigrationInterface {
|
||||
name = 'logMessageLength1622681548499';
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "log" ALTER COLUMN "message" TYPE character varying(2048)`, undefined);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "log" ALTER COLUMN "message" TYPE character varying(1024)`, undefined);
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class deeplIntegration1629024377804 implements MigrationInterface {
|
||||
name = 'deeplIntegration1629024377804'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "deeplAuthKey" character varying(128)`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "deeplAuthKey"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class fixChannelUserId1629288472000 implements MigrationInterface {
|
||||
name = 'fixChannelUserId1629288472000'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "channel" ALTER COLUMN "userId" DROP NOT NULL;`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "channel" ALTER COLUMN "userId" SET NOT NULL;`);
|
||||
}
|
||||
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class isUserDeleted1629512953000 implements MigrationInterface {
|
||||
name = 'isUserDeleted1629512953000'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user" ADD "isDeleted" boolean NOT NULL DEFAULT false`);
|
||||
await queryRunner.query(`COMMENT ON COLUMN "user"."isDeleted" IS 'Whether the User is deleted.'`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "isDeleted"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class deeplIntegration21629778475000 implements MigrationInterface {
|
||||
name = 'deeplIntegration21629778475000'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "deeplIsPro" boolean NOT NULL DEFAULT false`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "deeplIsPro"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class emailRequiredForSignup1633068642000 implements MigrationInterface {
|
||||
name = 'emailRequiredForSignup1633068642000'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "emailRequiredForSignup" boolean NOT NULL DEFAULT false`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "emailRequiredForSignup"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class userPublicReactions1634486652000 implements MigrationInterface {
|
||||
name = 'userPublicReactions1634486652000'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" ADD "publicReactions" boolean NOT NULL DEFAULT false`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "publicReactions"`);
|
||||
}
|
||||
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
import {MigrationInterface, QueryRunner} from "typeorm";
|
||||
|
||||
export class deleteLog1634902659689 implements MigrationInterface {
|
||||
name = 'deleteLog1634902659689'
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
await queryRunner.query(`DROP TABLE "log"`);
|
||||
}
|
||||
|
||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||
}
|
||||
|
||||
}
|
255
package.json
255
package.json
@ -1,260 +1,53 @@
|
||||
{
|
||||
"name": "misskey",
|
||||
"author": "syuilo <syuilotan@yahoo.co.jp>",
|
||||
"version": "12.93.0",
|
||||
"version": "12.98.0",
|
||||
"codename": "indigo",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/misskey-dev/misskey.git"
|
||||
},
|
||||
"main": "./index.js",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"start": "node --experimental-json-modules ./index.js",
|
||||
"start:test": "cross-env NODE_ENV=test node --experimental-json-modules ./index.js",
|
||||
"postinstall": "node ./scripts/install-packages.js",
|
||||
"build": "node ./scripts/build.js",
|
||||
"start": "cd packages/backend && node --experimental-json-modules ./built/index.js",
|
||||
"start:test": "cd packages/backend && cross-env NODE_ENV=test node --experimental-json-modules ./built/index.js",
|
||||
"init": "npm run migrate",
|
||||
"ormconfig": "node ./built/ormconfig.js",
|
||||
"migrate": "ts-node ./node_modules/typeorm/cli.js migration:run",
|
||||
"ormconfig": "node ./packages/backend/ormconfig.js",
|
||||
"migrate": "cd packages/backend && npx typeorm migration:run",
|
||||
"migrateandstart": "npm run migrate && npm run start",
|
||||
"build": "npm run build-webpack && npm run build-ts && npm run build-gulp",
|
||||
"build-webpack": "webpack",
|
||||
"build-ts": "tsc -p src/tsconfig.json || echo done. && tsc-alias -p src/tsconfig.json",
|
||||
"build-gulp": "gulp build",
|
||||
"watch": "concurrently \"npm:watch-*\"",
|
||||
"watch-webpack": "webpack --watch",
|
||||
"watch-ts": "tsc -w -p src/tsconfig.json && tsc-alias -w -p src/tsconfig.json",
|
||||
"watch-gulp": "gulp watch",
|
||||
"clean": "gulp clean",
|
||||
"cleanall": "gulp cleanall",
|
||||
"lint": "tslint 'src/**/*.ts'",
|
||||
"gulp": "gulp build",
|
||||
"watch": "npm run dev",
|
||||
"dev": "node ./scripts/dev.js",
|
||||
"lint": "node ./scripts/lint.js",
|
||||
"cy:open": "cypress open",
|
||||
"cy:run": "cypress run",
|
||||
"e2e": "start-server-and-test start:test http://localhost cy:run",
|
||||
"test": "cross-env TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT=\"./test/tsconfig.json\" mocha",
|
||||
"format": "gulp format"
|
||||
},
|
||||
"resolutions": {
|
||||
"chokidar": "^3.3.1",
|
||||
"lodash": "^4.17.21"
|
||||
"e2e": "start-server-and-test start:test http://localhost:61812 cy:run",
|
||||
"mocha": "cd packages/backend && cross-env TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT=\"./test/tsconfig.json\" npx mocha",
|
||||
"test": "npm run mocha",
|
||||
"format": "gulp format",
|
||||
"clean": "node ./scripts/clean.js",
|
||||
"clean-all": "node ./scripts/clean-all.js",
|
||||
"cleanall": "npm run clean-all"
|
||||
},
|
||||
"dependencies": {
|
||||
"@elastic/elasticsearch": "7.11.0",
|
||||
"@koa/cors": "3.1.0",
|
||||
"@koa/multer": "3.0.0",
|
||||
"@koa/router": "9.0.1",
|
||||
"@sentry/browser": "5.29.2",
|
||||
"@sentry/tracing": "5.29.2",
|
||||
"@sinonjs/fake-timers": "7.1.2",
|
||||
"@syuilo/aiscript": "0.11.1",
|
||||
"@types/bcryptjs": "2.4.2",
|
||||
"@types/bull": "3.15.5",
|
||||
"@types/cbor": "6.0.0",
|
||||
"@types/dateformat": "3.0.1",
|
||||
"@types/escape-regexp": "0.0.0",
|
||||
"@types/glob": "7.1.4",
|
||||
"@types/gulp": "4.0.9",
|
||||
"@types/gulp-rename": "2.0.1",
|
||||
"@types/is-url": "1.2.30",
|
||||
"@types/js-yaml": "4.0.3",
|
||||
"@types/jsdom": "16.2.13",
|
||||
"@types/jsonld": "1.5.6",
|
||||
"@types/katex": "0.11.1",
|
||||
"@types/koa": "2.13.4",
|
||||
"@types/koa__cors": "3.0.3",
|
||||
"@types/koa__multer": "2.0.3",
|
||||
"@types/koa__router": "8.0.8",
|
||||
"@types/koa-bodyparser": "4.3.3",
|
||||
"@types/koa-cors": "0.0.2",
|
||||
"@types/koa-favicon": "2.0.21",
|
||||
"@types/koa-logger": "3.1.2",
|
||||
"@types/koa-mount": "4.0.1",
|
||||
"@types/koa-send": "4.1.3",
|
||||
"@types/koa-views": "7.0.0",
|
||||
"@types/markdown-it": "12.2.3",
|
||||
"@types/matter-js": "0.17.5",
|
||||
"@types/mocha": "8.2.3",
|
||||
"@types/node": "16.10.3",
|
||||
"@types/node-fetch": "2.5.12",
|
||||
"@types/nodemailer": "6.4.4",
|
||||
"@types/nprogress": "0.2.0",
|
||||
"@types/oauth": "0.9.1",
|
||||
"@types/parse5": "6.0.1",
|
||||
"@types/parsimmon": "1.10.6",
|
||||
"@types/portscanner": "2.1.1",
|
||||
"@types/pug": "2.0.5",
|
||||
"@types/punycode": "2.1.0",
|
||||
"@types/qrcode": "1.4.1",
|
||||
"@types/random-seed": "0.3.3",
|
||||
"@types/ratelimiter": "3.4.2",
|
||||
"@types/redis": "2.8.32",
|
||||
"@types/rename": "1.0.4",
|
||||
"@types/request-stats": "3.0.0",
|
||||
"@types/rimraf": "3.0.2",
|
||||
"@types/seedrandom": "2.4.28",
|
||||
"@types/sharp": "0.29.2",
|
||||
"@types/sinonjs__fake-timers": "6.0.4",
|
||||
"@types/speakeasy": "2.0.6",
|
||||
"@types/throttle-debounce": "2.1.0",
|
||||
"@types/tinycolor2": "1.4.3",
|
||||
"@types/tmp": "0.2.1",
|
||||
"@types/uuid": "8.3.1",
|
||||
"@types/web-push": "3.3.2",
|
||||
"@types/webpack": "5.28.0",
|
||||
"@types/webpack-stream": "3.2.12",
|
||||
"@types/websocket": "1.0.4",
|
||||
"@types/ws": "8.2.0",
|
||||
"@typescript-eslint/parser": "5.0.0",
|
||||
"@vue/compiler-sfc": "3.2.20",
|
||||
"abort-controller": "3.0.0",
|
||||
"apexcharts": "3.28.3",
|
||||
"autobind-decorator": "2.4.0",
|
||||
"autosize": "4.0.4",
|
||||
"autwh": "0.1.0",
|
||||
"aws-sdk": "2.1003.0",
|
||||
"bcryptjs": "2.4.3",
|
||||
"blurhash": "1.1.4",
|
||||
"broadcast-channel": "4.2.0",
|
||||
"bull": "3.29.3",
|
||||
"cacheable-lookup": "6.0.3",
|
||||
"cafy": "15.2.1",
|
||||
"cbor": "8.0.2",
|
||||
"chalk": "4.1.2",
|
||||
"chart.js": "3.5.1",
|
||||
"chartjs-adapter-date-fns": "2.0.0",
|
||||
"chartjs-plugin-zoom": "1.1.1",
|
||||
"cli-highlight": "2.1.11",
|
||||
"compare-versions": "3.6.0",
|
||||
"concurrently": "6.3.0",
|
||||
"content-disposition": "0.5.3",
|
||||
"crc-32": "1.2.0",
|
||||
"css-loader": "6.4.0",
|
||||
"cssnano": "5.0.8",
|
||||
"date-fns": "2.25.0",
|
||||
"dateformat": "4.5.1",
|
||||
"escape-regexp": "0.0.1",
|
||||
"eslint": "8.0.1",
|
||||
"eslint-plugin-vue": "7.19.1",
|
||||
"eventemitter3": "4.0.7",
|
||||
"feed": "4.2.2",
|
||||
"file-type": "16.5.3",
|
||||
"fluent-ffmpeg": "2.1.2",
|
||||
"glob": "7.2.0",
|
||||
"got": "11.8.2",
|
||||
"execa": "5.1.1",
|
||||
"gulp": "4.0.2",
|
||||
"gulp-cssnano": "2.1.3",
|
||||
"gulp-rename": "2.0.0",
|
||||
"gulp-replace": "1.1.3",
|
||||
"gulp-terser": "2.1.0",
|
||||
"gulp-tslint": "8.1.4",
|
||||
"hpagent": "0.1.2",
|
||||
"http-signature": "1.3.5",
|
||||
"idb-keyval": "5.1.3",
|
||||
"insert-text-at-cursor": "0.3.0",
|
||||
"ip-cidr": "3.0.4",
|
||||
"is-svg": "4.3.1",
|
||||
"js-yaml": "4.1.0",
|
||||
"jsdom": "16.7.0",
|
||||
"json5": "2.2.0",
|
||||
"json5-loader": "4.0.1",
|
||||
"jsonld": "5.2.0",
|
||||
"jsrsasign": "8.0.20",
|
||||
"katex": "0.13.18",
|
||||
"koa": "2.13.3",
|
||||
"koa-bodyparser": "4.3.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.1",
|
||||
"koa-slow": "2.1.0",
|
||||
"koa-views": "7.0.1",
|
||||
"langmap": "0.0.16",
|
||||
"markdown-it": "12.2.0",
|
||||
"markdown-it-anchor": "7.1.0",
|
||||
"matter-js": "0.17.1",
|
||||
"mfm-js": "0.20.0",
|
||||
"misskey-js": "0.0.6",
|
||||
"mocha": "8.4.0",
|
||||
"ms": "2.1.3",
|
||||
"multer": "1.4.3",
|
||||
"nested-property": "4.0.0",
|
||||
"node-fetch": "2.6.1",
|
||||
"nodemailer": "6.7.0",
|
||||
"os-utils": "0.0.14",
|
||||
"parse5": "6.0.1",
|
||||
"pg": "8.7.1",
|
||||
"portscanner": "2.2.0",
|
||||
"postcss": "8.3.9",
|
||||
"postcss-loader": "6.2.0",
|
||||
"prismjs": "1.25.0",
|
||||
"private-ip": "2.3.0",
|
||||
"probe-image-size": "7.2.1",
|
||||
"promise-limit": "2.7.0",
|
||||
"pug": "3.0.2",
|
||||
"punycode": "2.1.1",
|
||||
"pureimage": "0.3.5",
|
||||
"qrcode": "1.4.4",
|
||||
"random-seed": "0.3.0",
|
||||
"ratelimiter": "3.4.1",
|
||||
"re2": "1.16.0",
|
||||
"redis": "3.1.2",
|
||||
"redis-lock": "0.1.4",
|
||||
"reflect-metadata": "0.1.13",
|
||||
"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.43.2",
|
||||
"sass-loader": "12.2.0",
|
||||
"seedrandom": "3.0.5",
|
||||
"sharp": "0.29.1",
|
||||
"speakeasy": "2.0.0",
|
||||
"strict-event-emitter-types": "2.0.0",
|
||||
"stringz": "2.1.0",
|
||||
"style-loader": "3.3.0",
|
||||
"summaly": "2.4.1",
|
||||
"syslog-pro": "1.0.0",
|
||||
"systeminformation": "5.9.7",
|
||||
"syuilo-password-strength": "0.0.1",
|
||||
"textarea-caret": "3.1.0",
|
||||
"three": "0.117.1",
|
||||
"throttle-debounce": "3.0.1",
|
||||
"tinycolor2": "1.4.2",
|
||||
"tmp": "0.2.1",
|
||||
"ts-loader": "9.2.6",
|
||||
"ts-node": "10.3.0",
|
||||
"tsc-alias": "1.3.10",
|
||||
"tsconfig-paths": "3.11.0",
|
||||
"tslint": "6.1.3",
|
||||
"tslint-sonarts": "1.9.0",
|
||||
"twemoji-parser": "13.1.0",
|
||||
"typeorm": "0.2.38",
|
||||
"typescript": "4.4.4",
|
||||
"ulid": "2.3.0",
|
||||
"uuid": "8.3.2",
|
||||
"v-debounce": "0.1.2",
|
||||
"vanilla-tilt": "1.7.2",
|
||||
"vue": "3.2.20",
|
||||
"vue-loader": "16.7.0",
|
||||
"vue-prism-editor": "2.0.0-alpha.2",
|
||||
"vue-router": "4.0.5",
|
||||
"vue-style-loader": "4.1.3",
|
||||
"vue-svg-loader": "0.17.0-beta.2",
|
||||
"vuedraggable": "4.0.1",
|
||||
"web-push": "3.4.5",
|
||||
"webpack": "5.58.2",
|
||||
"webpack-cli": "4.9.0",
|
||||
"websocket": "1.0.34",
|
||||
"ws": "8.2.3",
|
||||
"xev": "2.0.1"
|
||||
"js-yaml": "4.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@redocly/openapi-core": "1.0.0-beta.54",
|
||||
"@types/fluent-ffmpeg": "2.1.17",
|
||||
"@typescript-eslint/parser": "5.4.0",
|
||||
"cross-env": "7.0.3",
|
||||
"cypress": "8.5.0",
|
||||
"start-server-and-test": "1.14.0"
|
||||
"cypress": "9.1.0",
|
||||
"start-server-and-test": "1.14.0",
|
||||
"typescript": "4.5.2"
|
||||
}
|
||||
}
|
||||
|
4
packages/backend/.eslintignore
Normal file
4
packages/backend/.eslintignore
Normal file
@ -0,0 +1,4 @@
|
||||
node_modules
|
||||
/built
|
||||
/.eslintrc.js
|
||||
/@types/**/*
|
9
packages/backend/.eslintrc.js
Normal file
9
packages/backend/.eslintrc.js
Normal file
@ -0,0 +1,9 @@
|
||||
module.exports = {
|
||||
parserOptions: {
|
||||
tsconfigRootDir: __dirname,
|
||||
project: ['./tsconfig.json'],
|
||||
},
|
||||
extends: [
|
||||
'../shared/.eslintrc.js',
|
||||
],
|
||||
};
|
2
packages/backend/.npmrc
Normal file
2
packages/backend/.npmrc
Normal file
@ -0,0 +1,2 @@
|
||||
save-exact = true
|
||||
package-lock = false
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user