mirror of
https://github.com/kokonect-link/cherrypick
synced 2024-11-27 14:28:53 +09:00
Merge remote-branch 'ltlapy/develop-v13'
This commit is contained in:
commit
a3ea3bba41
@ -51,6 +51,23 @@ db:
|
||||
#extra:
|
||||
# ssl: true
|
||||
|
||||
dbReplications: false
|
||||
|
||||
# You can configure any number of replicas here
|
||||
#dbSlaves:
|
||||
# -
|
||||
# host:
|
||||
# port:
|
||||
# db:
|
||||
# user:
|
||||
# pass:
|
||||
# -
|
||||
# host:
|
||||
# port:
|
||||
# db:
|
||||
# user:
|
||||
# pass:
|
||||
|
||||
# ┌─────────────────────┐
|
||||
#───┘ Redis configuration └─────────────────────────────────────
|
||||
|
||||
@ -62,15 +79,30 @@ redis:
|
||||
#prefix: example-prefix
|
||||
#db: 1
|
||||
|
||||
# ┌─────────────────────────────┐
|
||||
#───┘ Elasticsearch configuration └─────────────────────────────
|
||||
#redisForPubsub:
|
||||
# host: redis
|
||||
# port: 6379
|
||||
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
# #pass: example-pass
|
||||
# #prefix: example-prefix
|
||||
# #db: 1
|
||||
|
||||
#elasticsearch:
|
||||
# host: localhost
|
||||
# port: 9200
|
||||
# ssl: false
|
||||
# user:
|
||||
# pass:
|
||||
#redisForJobQueue:
|
||||
# host: redis
|
||||
# port: 6379
|
||||
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
# #pass: example-pass
|
||||
# #prefix: example-prefix
|
||||
# #db: 1
|
||||
|
||||
# ┌───────────────────────────┐
|
||||
#───┘ MeiliSearch configuration └─────────────────────────────
|
||||
|
||||
#meilisearch:
|
||||
# host: meilisearch
|
||||
# port: 7700
|
||||
# apiKey: ''
|
||||
# ssl: true
|
||||
|
||||
# ┌───────────────┐
|
||||
#───┘ ID generation └───────────────────────────────────────────
|
||||
|
@ -51,6 +51,23 @@ db:
|
||||
#extra:
|
||||
# ssl: true
|
||||
|
||||
dbReplications: false
|
||||
|
||||
# You can configure any number of replicas here
|
||||
#dbSlaves:
|
||||
# -
|
||||
# host:
|
||||
# port:
|
||||
# db:
|
||||
# user:
|
||||
# pass:
|
||||
# -
|
||||
# host:
|
||||
# port:
|
||||
# db:
|
||||
# user:
|
||||
# pass:
|
||||
|
||||
# ┌─────────────────────┐
|
||||
#───┘ Redis configuration └─────────────────────────────────────
|
||||
|
||||
@ -62,15 +79,30 @@ redis:
|
||||
#prefix: example-prefix
|
||||
#db: 1
|
||||
|
||||
# ┌─────────────────────────────┐
|
||||
#───┘ Elasticsearch configuration └─────────────────────────────
|
||||
|
||||
#elasticsearch:
|
||||
#redisForPubsub:
|
||||
# host: localhost
|
||||
# port: 9200
|
||||
# ssl: false
|
||||
# user:
|
||||
# pass:
|
||||
# port: 6379
|
||||
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
# #pass: example-pass
|
||||
# #prefix: example-prefix
|
||||
# #db: 1
|
||||
|
||||
#redisForJobQueue:
|
||||
# host: localhost
|
||||
# port: 6379
|
||||
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
# #pass: example-pass
|
||||
# #prefix: example-prefix
|
||||
# #db: 1
|
||||
|
||||
# ┌───────────────────────────┐
|
||||
#───┘ MeiliSearch configuration └─────────────────────────────
|
||||
|
||||
#meilisearch:
|
||||
# host: localhost
|
||||
# port: 7700
|
||||
# apiKey: ''
|
||||
# ssl: true
|
||||
|
||||
# ┌───────────────┐
|
||||
#───┘ ID generation └───────────────────────────────────────────
|
||||
@ -100,16 +132,20 @@ id: 'aid'
|
||||
#clusterLimit: 1
|
||||
|
||||
# Job concurrency per worker
|
||||
# deliverJobConcurrency: 128
|
||||
# inboxJobConcurrency: 16
|
||||
#deliverJobConcurrency: 128
|
||||
#inboxJobConcurrency: 16
|
||||
#relashionshipJobConcurrency: 16
|
||||
# What's relashionshipJob?:
|
||||
# Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations.
|
||||
|
||||
# Job rate limiter
|
||||
# deliverJobPerSec: 128
|
||||
# inboxJobPerSec: 16
|
||||
#deliverJobPerSec: 128
|
||||
#inboxJobPerSec: 16
|
||||
#relashionshipJobPerSec: 64
|
||||
|
||||
# Job attempts
|
||||
# deliverJobMaxAttempts: 12
|
||||
# inboxJobMaxAttempts: 8
|
||||
#deliverJobMaxAttempts: 12
|
||||
#inboxJobMaxAttempts: 8
|
||||
|
||||
# IP address family used for outgoing request (ipv4, ipv6 or dual)
|
||||
#outgoingAddressFamily: ipv4
|
||||
|
@ -4,8 +4,24 @@
|
||||
"service": "app",
|
||||
"workspaceFolder": "/workspace",
|
||||
"features": {
|
||||
"ghcr.io/devcontainers-contrib/features/pnpm:2": {}
|
||||
"ghcr.io/devcontainers-contrib/features/pnpm:2": {},
|
||||
"ghcr.io/devcontainers/features/node:1": {
|
||||
"version": "18.16.0"
|
||||
}
|
||||
},
|
||||
"forwardPorts": [3000],
|
||||
"postCreateCommand": "sudo chmod 755 .devcontainer/init.sh && .devcontainer/init.sh"
|
||||
"postCreateCommand": "sudo chmod 755 .devcontainer/init.sh && .devcontainer/init.sh",
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"editorconfig.editorconfig",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"Vue.volar",
|
||||
"Vue.vscode-typescript-vue-plugin",
|
||||
"Orta.vscode-jest",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"mrmlnc.vscode-json5"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -51,6 +51,23 @@ db:
|
||||
#extra:
|
||||
# ssl: true
|
||||
|
||||
dbReplications: false
|
||||
|
||||
# You can configure any number of replicas here
|
||||
#dbSlaves:
|
||||
# -
|
||||
# host:
|
||||
# port:
|
||||
# db:
|
||||
# user:
|
||||
# pass:
|
||||
# -
|
||||
# host:
|
||||
# port:
|
||||
# db:
|
||||
# user:
|
||||
# pass:
|
||||
|
||||
# ┌─────────────────────┐
|
||||
#───┘ Redis configuration └─────────────────────────────────────
|
||||
|
||||
@ -62,15 +79,30 @@ redis:
|
||||
#prefix: example-prefix
|
||||
#db: 1
|
||||
|
||||
# ┌─────────────────────────────┐
|
||||
#───┘ Elasticsearch configuration └─────────────────────────────
|
||||
#redisForPubsub:
|
||||
# host: redis
|
||||
# port: 6379
|
||||
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
# #pass: example-pass
|
||||
# #prefix: example-prefix
|
||||
# #db: 1
|
||||
|
||||
#elasticsearch:
|
||||
# host: localhost
|
||||
# port: 9200
|
||||
# ssl: false
|
||||
# user:
|
||||
# pass:
|
||||
#redisForJobQueue:
|
||||
# host: redis
|
||||
# port: 6379
|
||||
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
# #pass: example-pass
|
||||
# #prefix: example-prefix
|
||||
# #db: 1
|
||||
|
||||
# ┌───────────────────────────┐
|
||||
#───┘ MeiliSearch configuration └─────────────────────────────
|
||||
|
||||
#meilisearch:
|
||||
# host: meilisearch
|
||||
# port: 7700
|
||||
# apiKey: ''
|
||||
# ssl: true
|
||||
|
||||
# ┌───────────────┐
|
||||
#───┘ ID generation └───────────────────────────────────────────
|
||||
|
@ -16,7 +16,7 @@ services:
|
||||
- external_network
|
||||
|
||||
redis:
|
||||
restart: always
|
||||
restart: unless-stopped
|
||||
image: redis:7-alpine
|
||||
networks:
|
||||
- internal_network
|
||||
|
@ -4,6 +4,7 @@ set -xe
|
||||
|
||||
sudo chown -R node /workspace
|
||||
git submodule update --init
|
||||
pnpm config set store-dir /home/node/.local/share/pnpm/store
|
||||
pnpm install --frozen-lockfile
|
||||
cp .devcontainer/devcontainer.yml .config/default.yml
|
||||
pnpm build
|
||||
|
@ -8,7 +8,6 @@ build/
|
||||
built/
|
||||
db/
|
||||
docker-compose.yml
|
||||
elasticsearch/
|
||||
node_modules/
|
||||
packages/*/node_modules
|
||||
redis/
|
||||
@ -25,6 +24,10 @@ fluent-emojis/
|
||||
!.yarn/sdks
|
||||
!.yarn/versions
|
||||
|
||||
.pnpm-store
|
||||
|
||||
.idea/
|
||||
packages/*/.vscode/
|
||||
packages/backend/test/docker-compose.yml
|
||||
|
||||
.pnpm-store/
|
||||
|
@ -7,5 +7,5 @@ charset = utf-8
|
||||
insert_final_newline = true
|
||||
end_of_line = lf
|
||||
|
||||
[*.yml]
|
||||
[*.{yml,yaml}]
|
||||
indent_style = space
|
||||
|
3
.github/ISSUE_TEMPLATE/01_bug-report.md
vendored
3
.github/ISSUE_TEMPLATE/01_bug-report.md
vendored
@ -37,7 +37,10 @@ Please include errors from the developer console and/or server log files if you
|
||||
## 📌 Environment
|
||||
|
||||
<!-- Tell us where on the platform it happens -->
|
||||
<!-- DO NOT WRITE "latest". Please provide the specific version. -->
|
||||
|
||||
CherryPick version:
|
||||
PostgreSQL version:
|
||||
Redis version:
|
||||
Your OS:
|
||||
Your browser:
|
||||
|
@ -4,14 +4,20 @@ Thank you for your PR! Before creating a PR, please check the contribution guide
|
||||
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
|
||||
-->
|
||||
|
||||
# What
|
||||
## What
|
||||
<!-- このPRで何をしたのか? どう変わるのか? -->
|
||||
<!-- What did you do with this PR? How will it change things? -->
|
||||
|
||||
# Why
|
||||
## Why
|
||||
<!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? -->
|
||||
<!-- Why do you do it? What are your intentions? What is the problem? -->
|
||||
|
||||
# Additional info (optional)
|
||||
## Additional info (optional)
|
||||
<!-- テスト観点など -->
|
||||
<!-- Test perspective, etc -->
|
||||
|
||||
## Checklist
|
||||
- [ ] Read the [contribution guide](https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md)
|
||||
- [ ] Test working in a local environment
|
||||
- [ ] (If needed) Update CHANGELOG.md
|
||||
- [ ] (If possible) Add tests
|
23
.github/PULL_REQUEST_TEMPLATE/02_enhance.md
vendored
Normal file
23
.github/PULL_REQUEST_TEMPLATE/02_enhance.md
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
<!-- ℹ お読みください / README
|
||||
PRありがとうございます! PRを作成する前に、コントリビューションガイドをご確認ください:
|
||||
Thank you for your PR! Before creating a PR, please check the contribution guide:
|
||||
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
|
||||
-->
|
||||
|
||||
## What
|
||||
<!-- このPRで何をしたのか? どう変わるのか? -->
|
||||
<!-- What did you do with this PR? How will it change things? -->
|
||||
|
||||
## Why
|
||||
<!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? -->
|
||||
<!-- Why do you do it? What are your intentions? What is the problem? -->
|
||||
|
||||
## Additional info (optional)
|
||||
<!-- テスト観点など -->
|
||||
<!-- Test perspective, etc -->
|
||||
|
||||
## Checklist
|
||||
- [ ] Read the [contribution guide](https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md)
|
||||
- [ ] Test working in a local environment
|
||||
- [ ] (If needed) Update CHANGELOG.md
|
||||
- [ ] (If possible) Add tests
|
20
.github/PULL_REQUEST_TEMPLATE/03_release.md
vendored
Normal file
20
.github/PULL_REQUEST_TEMPLATE/03_release.md
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
## Summary
|
||||
This is a release PR.
|
||||
|
||||
For more information on the release instructions, please see:
|
||||
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md#release
|
||||
|
||||
## For reviewers
|
||||
- CHANGELOGに抜け漏れは無いか
|
||||
- バージョンの上げ方は適切か
|
||||
- 他にこのリリースに含めなければならない変更は無いか
|
||||
- 全体的な変更内容を俯瞰し問題は無いか
|
||||
- レビューされていないコミットがある場合は、それが問題ないか
|
||||
- 最終的な動作確認を行い問題は無いか
|
||||
|
||||
などを確認し、リリースする準備が整っていると思われる場合は approve してください。
|
||||
|
||||
## Checklist
|
||||
- [ ] package.jsonのバージョンが正しく更新されている
|
||||
- [ ] CHANGELOGが過不足無く更新されている
|
||||
- [ ] CIが全て通っている
|
25
.github/labeler.yml
vendored
25
.github/labeler.yml
vendored
@ -1,12 +1,21 @@
|
||||
'⚙️Server':
|
||||
'packages/backend':
|
||||
- packages/backend/**/*
|
||||
|
||||
'🖥️Client':
|
||||
- packages/frontend/**/*
|
||||
|
||||
'🧪Test':
|
||||
- cypress/**/*
|
||||
'packages/backend:test':
|
||||
- packages/backend/test/**/*
|
||||
|
||||
'‼️ wrong locales':
|
||||
- any: ['locales/*.yml', '!locales/ja-JP.yml']
|
||||
'packages/frontend':
|
||||
- packages/frontend/**/*
|
||||
|
||||
'packages/frontend:test':
|
||||
- cypress/**/*
|
||||
|
||||
'packages/sw':
|
||||
- packages/sw/**/*
|
||||
|
||||
'packages/misskey-js':
|
||||
- packages/misskey-js/**/*
|
||||
|
||||
'packages/misskey-js:test':
|
||||
- packages/misskey-js/test/**/*
|
||||
- packages/misskey-js/test-d/**/*
|
||||
|
24
.github/pull_request_template.md
vendored
Normal file
24
.github/pull_request_template.md
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
<!-- ℹ お読みください / README
|
||||
PRありがとうございます! PRを作成する前に、コントリビューションガイドをご確認ください:
|
||||
Thank you for your PR! Before creating a PR, please check the contribution guide:
|
||||
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
|
||||
-->
|
||||
|
||||
## What
|
||||
<!-- このPRで何をしたのか? どう変わるのか? -->
|
||||
<!-- What did you do with this PR? How will it change things? -->
|
||||
|
||||
## Why
|
||||
<!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? -->
|
||||
<!-- Why do you do it? What are your intentions? What is the problem? -->
|
||||
|
||||
## Additional info (optional)
|
||||
<!-- テスト観点など -->
|
||||
<!-- Test perspective, etc -->
|
||||
|
||||
## Checklist
|
||||
- [ ] Read the [contribution guide](https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md)
|
||||
- [ ] Test working in a local environment
|
||||
- [ ] (If needed) Add story of storybook
|
||||
- [ ] (If needed) Update CHANGELOG.md
|
||||
- [ ] (If possible) Add tests
|
10
.github/reviewer-lottery.yml
vendored
Normal file
10
.github/reviewer-lottery.yml
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
groups:
|
||||
- name: devs
|
||||
reviewers: 2
|
||||
internal_reviewers: 1
|
||||
usernames:
|
||||
- syuilo
|
||||
- acid-chicken
|
||||
- EbiseLutica
|
||||
- rinsuki
|
||||
- tamaina
|
36
.github/workflows/api-misskey-js.yml
vendored
Normal file
36
.github/workflows/api-misskey-js.yml
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
name: API report (misskey.js)
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
report:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3.3.0
|
||||
|
||||
- run: corepack enable
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v3.6.0
|
||||
with:
|
||||
node-version-file: '.node-version'
|
||||
cache: 'pnpm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm i --frozen-lockfile
|
||||
|
||||
- name: Build
|
||||
run: pnpm --filter misskey-js build
|
||||
|
||||
- name: Check files
|
||||
run: ls packages/misskey-js/built
|
||||
|
||||
- name: API report
|
||||
run: pnpm --filter misskey-js api-prod
|
||||
|
||||
- name: Show report
|
||||
if: always()
|
||||
run: cat packages/misskey-js/temp/misskey-js.api.md
|
35
.github/workflows/lint.yml
vendored
35
.github/workflows/lint.yml
vendored
@ -17,11 +17,11 @@ jobs:
|
||||
submodules: true
|
||||
- uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 7
|
||||
version: 8
|
||||
run_install: false
|
||||
- uses: actions/setup-node@v3.6.0
|
||||
with:
|
||||
node-version: 18.x
|
||||
node-version-file: '.node-version'
|
||||
cache: 'pnpm'
|
||||
- run: corepack enable
|
||||
- run: pnpm i --frozen-lockfile
|
||||
@ -36,6 +36,7 @@ jobs:
|
||||
- backend
|
||||
- frontend
|
||||
- sw
|
||||
- misskey-js
|
||||
steps:
|
||||
- uses: actions/checkout@v3.3.0
|
||||
with:
|
||||
@ -47,8 +48,34 @@ jobs:
|
||||
run_install: false
|
||||
- uses: actions/setup-node@v3.6.0
|
||||
with:
|
||||
node-version: 18.x
|
||||
node-version-file: '.node-version'
|
||||
cache: 'pnpm'
|
||||
- run: corepack enable
|
||||
- run: pnpm i --frozen-lockfile
|
||||
- run: pnpm --filter ${{ matrix.workspace }} run lint
|
||||
- run: pnpm --filter ${{ matrix.workspace }} run eslint
|
||||
|
||||
typecheck:
|
||||
needs: [pnpm_install]
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
strategy:
|
||||
matrix:
|
||||
workspace:
|
||||
- backend
|
||||
- misskey-js
|
||||
steps:
|
||||
- uses: actions/checkout@v3.3.0
|
||||
with:
|
||||
fetch-depth: 0
|
||||
submodules: true
|
||||
- uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 7
|
||||
run_install: false
|
||||
- uses: actions/setup-node@v3.6.0
|
||||
with:
|
||||
node-version-file: '.node-version'
|
||||
cache: 'pnpm'
|
||||
- run: corepack enable
|
||||
- run: pnpm i --frozen-lockfile
|
||||
- run: pnpm --filter ${{ matrix.workspace }} run typecheck
|
||||
|
34
.github/workflows/pr-preview-destroy.yml
vendored
34
.github/workflows/pr-preview-destroy.yml
vendored
@ -9,14 +9,46 @@ name: Destroy preview environment
|
||||
jobs:
|
||||
destroy-preview-environment:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == github.event.pull_request.head.repo.full_name
|
||||
steps:
|
||||
- uses: actions/github-script@v6.3.3
|
||||
id: check-conclusion
|
||||
env:
|
||||
number: ${{ github.event.number }}
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
result-encoding: string
|
||||
script: |
|
||||
const { data: pull } = await github.rest.pulls.get({
|
||||
...context.repo,
|
||||
pull_number: process.env.number
|
||||
});
|
||||
const ref = pull.head.sha;
|
||||
|
||||
const { data: checks } = await github.rest.checks.listForRef({
|
||||
...context.repo,
|
||||
ref
|
||||
});
|
||||
|
||||
const check = checks.check_runs.filter(c => c.name === 'deploy-preview-environment');
|
||||
|
||||
if (check.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const { data: result } = await github.rest.checks.get({
|
||||
...context.repo,
|
||||
check_run_id: check[0].id,
|
||||
});
|
||||
|
||||
return result.conclusion;
|
||||
- name: Context
|
||||
if: steps.check-conclusion.outputs.result == 'success'
|
||||
uses: okteto/context@latest
|
||||
with:
|
||||
token: ${{ secrets.OKTETO_TOKEN }}
|
||||
|
||||
- name: Destroy preview environment
|
||||
if: steps.check-conclusion.outputs.result == 'success'
|
||||
uses: okteto/destroy-preview@latest
|
||||
with:
|
||||
name: pr-${{ github.event.number }}-syuilo
|
||||
|
13
.github/workflows/reviewer_lottery.yml
vendored
Normal file
13
.github/workflows/reviewer_lottery.yml
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
name: "Reviewer lottery"
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, ready_for_review, reopened]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: uesteibar/reviewer-lottery@v2
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
94
.github/workflows/storybook.yml
vendored
Normal file
94
.github/workflows/storybook.yml
vendored
Normal file
@ -0,0 +1,94 @@
|
||||
name: Storybook
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
pull_request_target:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
env:
|
||||
NODE_OPTIONS: "--max_old_space_size=7168"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3.3.0
|
||||
with:
|
||||
fetch-depth: 0
|
||||
submodules: true
|
||||
- name: Checkout HEAD
|
||||
if: github.event_name == 'pull_request'
|
||||
run: git checkout ${{ github.head_ref }}
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 8
|
||||
run_install: false
|
||||
- name: Use Node.js 18.x
|
||||
uses: actions/setup-node@v3.6.0
|
||||
with:
|
||||
node-version-file: '.node-version'
|
||||
cache: 'pnpm'
|
||||
- run: corepack enable
|
||||
- run: pnpm i --frozen-lockfile
|
||||
- name: Check pnpm-lock.yaml
|
||||
run: git diff --exit-code pnpm-lock.yaml
|
||||
- name: Build misskey-js
|
||||
run: pnpm --filter misskey-js build
|
||||
- name: Build storybook
|
||||
run: pnpm --filter frontend build-storybook
|
||||
- name: Publish to Chromatic
|
||||
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/master'
|
||||
run: pnpm --filter frontend chromatic --exit-once-uploaded -d storybook-static
|
||||
env:
|
||||
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
|
||||
- name: Publish to Chromatic
|
||||
if: github.event_name != 'pull_request' && github.ref != 'refs/heads/master'
|
||||
id: chromatic_push
|
||||
run: |
|
||||
DIFF="${{ github.event.before }} HEAD"
|
||||
if [ "$DIFF" = "0000000000000000000000000000000000000000 HEAD" ]; then
|
||||
DIFF="HEAD"
|
||||
fi
|
||||
CHROMATIC_PARAMETER="$(node packages/frontend/.storybook/changes.js $(git diff-tree --no-commit-id --name-only -r $(echo "$DIFF") | xargs))"
|
||||
if [ "$CHROMATIC_PARAMETER" = " --skip" ]; then
|
||||
echo "skip=true" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
pnpm --filter frontend chromatic --exit-once-uploaded -d storybook-static $(echo "$CHROMATIC_PARAMETER")
|
||||
env:
|
||||
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
|
||||
- name: Publish to Chromatic
|
||||
if: github.event_name == 'pull_request'
|
||||
id: chromatic_pull_request
|
||||
run: |
|
||||
DIFF="${{ github.base_ref }} HEAD"
|
||||
if [ "$DIFF" = "0000000000000000000000000000000000000000 HEAD" ]; then
|
||||
DIFF="HEAD"
|
||||
fi
|
||||
CHROMATIC_PARAMETER="$(node packages/frontend/.storybook/changes.js $(git diff-tree --no-commit-id --name-only -r $(echo "$DIFF") | xargs))"
|
||||
if [ "$CHROMATIC_PARAMETER" = " --skip" ]; then
|
||||
echo "skip=true" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
pnpm --filter frontend chromatic --exit-once-uploaded -d storybook-static $(echo "$CHROMATIC_PARAMETER")
|
||||
env:
|
||||
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
|
||||
- name: Notify that Chromatic will skip testing
|
||||
uses: actions/github-script@v6.4.0
|
||||
if: github.event_name == 'pull_request' && steps.chromatic_pull_request.outputs.skip == 'true'
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
script: |
|
||||
github.rest.issues.createComment({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
body: 'Chromatic will skip testing but you may still have to [review the changes on Chromatic](https://www.chromatic.com/pullrequests?appId=6428f7d7b962f0b79f97d6e4).'
|
||||
})
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: storybook
|
||||
path: packages/frontend/storybook-static
|
59
.github/workflows/test-backend.yml
vendored
Normal file
59
.github/workflows/test-backend.yml
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
name: Test (backend)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
jest:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [18.x]
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:13
|
||||
ports:
|
||||
- 54312:5432
|
||||
env:
|
||||
POSTGRES_DB: test-misskey
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
redis:
|
||||
image: redis:7
|
||||
ports:
|
||||
- 56312:6379
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3.3.0
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 8
|
||||
run_install: false
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3.6.0
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'pnpm'
|
||||
- run: corepack enable
|
||||
- run: pnpm i --frozen-lockfile
|
||||
- name: Check pnpm-lock.yaml
|
||||
run: git diff --exit-code pnpm-lock.yaml
|
||||
- name: Copy Configure
|
||||
run: cp .github/misskey/test.yml .config
|
||||
- name: Build
|
||||
run: pnpm build
|
||||
- name: Test
|
||||
run: pnpm jest-and-coverage
|
||||
- name: Upload Coverage
|
||||
uses: codecov/codecov-action@v3
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
files: ./packages/backend/coverage/coverage-final.json
|
@ -1,4 +1,4 @@
|
||||
name: Test
|
||||
name: Test (frontend)
|
||||
|
||||
on:
|
||||
push:
|
||||
@ -8,26 +8,13 @@ on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
jest:
|
||||
vitest:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [18.x]
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:13
|
||||
ports:
|
||||
- 54312:5432
|
||||
env:
|
||||
POSTGRES_DB: test-cherrypick
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
redis:
|
||||
image: redis:6
|
||||
ports:
|
||||
- 56312:6379
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3.3.0
|
||||
with:
|
||||
@ -35,7 +22,7 @@ jobs:
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 7
|
||||
version: 8
|
||||
run_install: false
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3.6.0
|
||||
@ -51,12 +38,12 @@ jobs:
|
||||
- name: Build
|
||||
run: pnpm build
|
||||
- name: Test
|
||||
run: pnpm jest-and-coverage
|
||||
run: pnpm --filter frontend test-and-coverage
|
||||
- name: Upload Coverage
|
||||
uses: codecov/codecov-action@v3
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
files: ./packages/backend/coverage/coverage-final.json
|
||||
files: ./packages/frontend/coverage/coverage-final.json
|
||||
|
||||
e2e:
|
||||
runs-on: ubuntu-latest
|
||||
@ -76,7 +63,7 @@ jobs:
|
||||
POSTGRES_DB: test-cherrypick
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
redis:
|
||||
image: redis:6
|
||||
image: redis:7
|
||||
ports:
|
||||
- 56312:6379
|
||||
|
||||
@ -119,7 +106,7 @@ jobs:
|
||||
install: false
|
||||
start: pnpm start:test
|
||||
wait-on: 'http://localhost:61812'
|
||||
headless: false
|
||||
headed: true
|
||||
browser: ${{ matrix.browser }}
|
||||
- uses: actions/upload-artifact@v2
|
||||
if: failure()
|
52
.github/workflows/test-misskey-js.yml
vendored
Normal file
52
.github/workflows/test-misskey-js.yml
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
|
||||
|
||||
name: Test (misskey.js)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ develop ]
|
||||
pull_request:
|
||||
branches: [ develop ]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [18.x]
|
||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3.3.0
|
||||
|
||||
- run: corepack enable
|
||||
|
||||
- name: Setup Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3.6.0
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'pnpm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm i --frozen-lockfile
|
||||
|
||||
- name: Check pnpm-lock.yaml
|
||||
run: git diff --exit-code pnpm-lock.yaml
|
||||
|
||||
- name: Build
|
||||
run: pnpm --filter misskey-js build
|
||||
|
||||
- name: Test
|
||||
run: pnpm --filter misskey-js test
|
||||
env:
|
||||
CI: true
|
||||
|
||||
- name: Upload Coverage
|
||||
uses: codecov/codecov-action@v3
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
files: ./packages/misskey-js/coverage/coverage-final.json
|
42
.github/workflows/test-production.yml
vendored
Normal file
42
.github/workflows/test-production.yml
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
name: Test (production install and build)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
pull_request:
|
||||
|
||||
env:
|
||||
NODE_ENV: production
|
||||
|
||||
jobs:
|
||||
production:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [18.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3.3.0
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 8
|
||||
run_install: false
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v3.6.0
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: 'pnpm'
|
||||
- run: corepack enable
|
||||
- run: pnpm i --frozen-lockfile
|
||||
- name: Check pnpm-lock.yaml
|
||||
run: git diff --exit-code pnpm-lock.yaml
|
||||
- name: Copy Configure
|
||||
run: cp .github/misskey/test.yml .config/default.yml
|
||||
- name: Build
|
||||
run: pnpm build
|
10
.gitignore
vendored
10
.gitignore
vendored
@ -20,6 +20,9 @@ packages/frontend/.yarn/cache
|
||||
packages/backend/.yarn/cache
|
||||
packages/sw/.yarn/cache
|
||||
|
||||
# pnpm
|
||||
.pnpm-store
|
||||
|
||||
# Cypress
|
||||
cypress/screenshots
|
||||
cypress/videos
|
||||
@ -41,7 +44,7 @@ built
|
||||
/data
|
||||
/.cache-loader
|
||||
/db
|
||||
/elasticsearch
|
||||
/meili_data
|
||||
npm-debug.log
|
||||
*.pem
|
||||
run.bat
|
||||
@ -52,6 +55,8 @@ api-docs.json
|
||||
.DS_Store
|
||||
/files
|
||||
ormconfig.json
|
||||
temp
|
||||
/packages/frontend/src/**/*.stories.ts
|
||||
|
||||
# blender backups
|
||||
*.blend1
|
||||
@ -59,3 +64,6 @@ ormconfig.json
|
||||
*.blend3
|
||||
*.blend4
|
||||
*.blend5
|
||||
|
||||
.pnpm-store/
|
||||
|
||||
|
@ -1 +1 @@
|
||||
v18.13.0
|
||||
18.16.0
|
||||
|
6
.vscode/extensions.json
vendored
6
.vscode/extensions.json
vendored
@ -1,9 +1,11 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"editorconfig.editorconfig",
|
||||
"eg2.vscode-npm-script",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"Vue.volar",
|
||||
"Vue.vscode-typescript-vue-plugin"
|
||||
"Vue.vscode-typescript-vue-plugin",
|
||||
"Orta.vscode-jest",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"mrmlnc.vscode-json5"
|
||||
]
|
||||
}
|
||||
|
8
.vscode/settings.json
vendored
8
.vscode/settings.json
vendored
@ -1,5 +1,11 @@
|
||||
{
|
||||
"search.exclude": {
|
||||
"**/node_modules": true
|
||||
}
|
||||
},
|
||||
"typescript.tsdk": "node_modules/typescript/lib",
|
||||
"files.associations": {
|
||||
"*.test.ts": "typescript"
|
||||
},
|
||||
"jest.jestCommandLine": "pnpm run jest",
|
||||
"jest.autoRun": "off"
|
||||
}
|
415
CHANGELOG.md
415
CHANGELOG.md
@ -1,20 +1,415 @@
|
||||
<!--
|
||||
## 13.x.x (unreleased)
|
||||
|
||||
### General
|
||||
-
|
||||
|
||||
### Client
|
||||
-
|
||||
|
||||
### Server
|
||||
-
|
||||
|
||||
-->
|
||||
|
||||
## 13.12.1
|
||||
|
||||
### Client
|
||||
- プロフィール画面におけるモデレーションノートの表示を調整
|
||||
- Fix: 一部ダイアログが表示されない問題を修正
|
||||
- Fix: MkUserInfoのフォローボタンが変な位置にある問題を修正
|
||||
|
||||
### Server
|
||||
- Fix: リモートサーバーの情報が更新できない問題を修正
|
||||
- Fix: 13.11を経験しない状態で13.12にアップデートした場合ユーザープロフィール関連の画像が消失する問題を修正
|
||||
|
||||
## 13.12.0
|
||||
|
||||
### NOTE
|
||||
- Node.js 18.6.0以上が必要になりました
|
||||
|
||||
### General
|
||||
- アカウントの引っ越し(フォロワー引き継ぎ)に対応
|
||||
- Meilisearchを全文検索に使用できるようになりました
|
||||
- 新規登録前に簡潔なルールをユーザーに表示できる、サーバールール機能を追加
|
||||
- ユーザーへの自分用メモ機能
|
||||
* ユーザーに対して、自分だけが見られるメモを追加できるようになりました。
|
||||
(自分自身に対してもメモを追加できます。)
|
||||
* ユーザーメニューから追加できます。
|
||||
(デスクトップ表示ではusernameの右側のボタンからも追加可能)
|
||||
- チャンネルに色を設定できるようになりました。各ノートに設定した色のインジケーターが表示されます。
|
||||
- チャンネルをアーカイブできるようになりました。
|
||||
* アーカイブすると、チャンネル一覧や検索結果に表示されなくなり、新たな書き込みもできなくなります。
|
||||
- アンテナのエクスポート・インポートができるようになりました
|
||||
- ロールタイムラインをロールごとに表示するかどうかの選択できるようになりました。
|
||||
* デフォルトがオフになるので、ロールタイムラインを表示する場合はオンにしてください。
|
||||
- ロールに強制的にNSFWを付与するポリシーを追加
|
||||
* アップロード済みのファイルはNSFWにならない為注意してください。
|
||||
- モデレーションノートがユーザーのプロフィールページからも閲覧および編集できるようになりました。
|
||||
- カスタム絵文字のライセンスを複数でセットできるようになりました。
|
||||
- 管理者が予約ユーザー名を設定できるようになりました。
|
||||
- Fix: フォローリクエストの通知が残る問題を修正
|
||||
|
||||
### Client
|
||||
- アカウント作成時に初期設定ウィザードを表示するように
|
||||
- チャンネル内検索ができるように
|
||||
- チャンネル検索ですべてのチャンネルの取得/表示ができるように
|
||||
- 通知の表示をカスタマイズできるように
|
||||
- ドライブのファイル一覧から直接ノートを作成できるように
|
||||
- ノートメニューからRenoteしたユーザーの一覧を見れるように
|
||||
- コントロールパネルのカスタム絵文字ページおよびaboutのカスタム絵文字の検索インプットで、`:emojiname1::emojiname2:`のように検索して絵文字を検索できるように
|
||||
* 絵文字ピッカーから入力可能になります
|
||||
- データセーバーモードを追加
|
||||
* 画像が全て隠れた状態で表示されるようになります
|
||||
- 閲覧注意設定された画像は表示した状態でもそれが閲覧注意だと分かる表示をするように
|
||||
- モデレーターはノートに添付された画像上から直接NSFW設定できるように
|
||||
- プロフィール設定「追加情報」の項目の削除と並び替えができるように
|
||||
- 新しい実績を追加
|
||||
- AiScriptを0.13.2に更新
|
||||
- Fix: AiScript APIのMk:dialogで何も返していなかったのをNULLを返すように修正
|
||||
- Fix: 1:1ではない画像のリアクション通知バッジが左や上に寄ってしまっていたのを中央に来るように修正
|
||||
- Fix: リアクションをホバーした時のユーザーリストで猫耳が切れてしまっていた問題を修正
|
||||
- Fix: NSFWメディアの上に表示された「もっと見る」ボタンが押しづらい問題を修正
|
||||
|
||||
### Server
|
||||
- channel/searchのqueryが空の場合に全てのチャンネルを返すように変更
|
||||
- 環境変数MISSKEY_CONFIG_YMLで設定ファイルをdefault.ymlから変更可能に
|
||||
- Fix: 他のサーバーの情報が取得できないことがある問題を修正
|
||||
- Fix: エクスポートデータの拡張子がunknownになる問題を修正
|
||||
- Fix: Content-Dispositionのパースでエラーが発生した場合にダウンロードが完了しない問題を修正
|
||||
- Fix: API: i/update avatarIdとbannerIdにnullを渡した時、画像がリセットされない問題を修正
|
||||
- Fix: .wav, .flacが再生できない問題を修正(新しくアップロードされたファイルのみ修正が適用されます)
|
||||
- Fix: 凍結されたユーザーが一部APIのレスポンスに含まれる問題を修正
|
||||
- Fix: メモリの使用量を`used - buffers - cached`ではなく`total - available`で求めるように(環境によって正常に計測できていなかったため)
|
||||
|
||||
## 13.11.3
|
||||
|
||||
### General
|
||||
- 指定したロールを持つユーザーのノートのみが流れるロールタイムラインを追加
|
||||
- Deckのカラムとしても追加可能
|
||||
- カスタム絵文字関連の改善
|
||||
* ノートなどに含まれるemojis(populateEmojiの結果)は(プロキシされたURLではなく)オリジナルのURLを指すように
|
||||
* MFMでx3/x4もしくはscale.x/yが2.5以上に指定されていた場合にはオリジナル品質の絵文字を使用するように
|
||||
- カスタム絵文字でリアクションできないことがある問題を修正
|
||||
|
||||
### Client
|
||||
- チャンネルのピン留めされたノートの順番が正しくない問題を修正
|
||||
|
||||
### Server
|
||||
- フォローインポートなどでの大量のフォロー等操作をキューイングするように #10544 @nmkj-io
|
||||
- Misskey Webでのサーバーサイドエラー画面を改善
|
||||
- Misskey Webでのサーバーサイドエラーのログが残るように
|
||||
- ノート作成時のアンテナ追加パフォーマンスを改善
|
||||
- アンテナとロールTLのuntil/sinceプロパティが動くように
|
||||
|
||||
## 13.11.2
|
||||
|
||||
### Note
|
||||
- 13.11.0または13.11.1から13.11.2以降にアップデートする場合、Redisのカスタム絵文字のキャッシュを削除する必要があります(https://github.com/misskey-dev/misskey/issues/10502#issuecomment-1502790755 参照)
|
||||
|
||||
### General
|
||||
- チャンネルの検索用ページの追加
|
||||
|
||||
### Client
|
||||
- 常に広告を見られるオプションを追加
|
||||
- ユーザーページの画像一覧が表示されない問題を修正
|
||||
- webhook, 連携アプリ一覧でコンテンツが重複して表示される問題を修正
|
||||
- iPhoneで絵文字ピッカーの表示が崩れる問題を修正
|
||||
- iPhoneでウィジェットドロワーの「ウィジェットを編集」が押しにくい問題を修正
|
||||
- 投稿フォームのデザインを調整
|
||||
- ギャラリーの人気の投稿が無限にページングされる問題を修正
|
||||
|
||||
### Server
|
||||
- channels/search Endpoint APIの追加
|
||||
- APIパラメータサイズ上限を32kbから1mbに緩和
|
||||
- プッシュ通知送信時のパフォーマンスを改善
|
||||
- ローカルのカスタム絵文字のキャッシュが効いていなかった問題を修正
|
||||
- アンテナのノート、チャンネルのノート、通知が正常に作成できないことがある問題を修正
|
||||
- ストリーミングのLTLチャンネルでサーバー側にエラーログが出るのを修正
|
||||
|
||||
### Service Worker
|
||||
- 「通知が既読になったらプッシュ通知を削除する」を復活
|
||||
* 「プッシュ通知が更新されました」の挙動を変えた(ホストとバージョンを表示するようにし、一定時間後の削除は行わないように)
|
||||
- プッシュ通知が実績を解除 (achievementEarned) に対応
|
||||
- プッシュ通知のアクションから既存のクライアントの投稿フォームを開くことになった際の挙動を修正
|
||||
- たくさんのプッシュ通知を閉じた際、その通知の数だけnotifications/mark-all-as-readを叩くのをやめるように
|
||||
|
||||
## 13.11.1
|
||||
|
||||
### General
|
||||
- チャンネルの投稿を過去までさかのぼれるように
|
||||
|
||||
### Client
|
||||
- PWA時の絵文字ピッカーの位置をホームバーに重ならないように調整
|
||||
- リスト管理の画面でリストが無限に読み込まれる問題を修正
|
||||
- 自分のクリップが無限に読み込まれる問題を修正
|
||||
- チャンネルのお気に入りが無限に読み込まれる問題を修正
|
||||
- さがすのローカルユーザー(ピンどめ)が無限に生成される問題を修正
|
||||
- チャンネルを新規作成できない問題を修正
|
||||
- ユーザープレビューが表示されない問題を修正
|
||||
|
||||
### Server
|
||||
- 通知読み込みでエラーが発生する場合がある問題を修正
|
||||
- リアクションできないことがある問題を修正
|
||||
- IDをaid以外に設定している場合の問題を修正
|
||||
- 連合しているインスタンスについて予期せず配送が全て停止されることがある問題を修正
|
||||
|
||||
## 13.11.0
|
||||
|
||||
### NOTE
|
||||
- このバージョンからRedis 7.xが必要です。
|
||||
- アップデートを行うと全ての通知およびアンテナのノートはリセットされます。
|
||||
|
||||
### General
|
||||
- チャンネルをお気に入りに登録できるように
|
||||
- タイムラインのアンテナ選択などでは、フォローしているアンテナの代わりにお気に入りしたアンテナが表示されるようになっています。チャンネルをお気に入りに登録するには、当該チャンネルのページ→概要→⭐️のボタンを押します。
|
||||
- チャンネルにノートをピン留めできるように
|
||||
|
||||
### Client
|
||||
- 投稿フォームのデザインを改善
|
||||
- 検索ページでURLを入力した際に照会したときと同等の挙動をするように
|
||||
- ノートのリアクションを大きく表示するオプションを追加
|
||||
- ギャラリー一覧にメディア表示と同じように NSFW 設定を反映するように(ホバーで表示)
|
||||
- オブジェクトストレージの設定画面を分かりやすく
|
||||
- 広告・お知らせが新規登録時に増殖しないように
|
||||
- 「にゃああああああああああああああ!!!!!!!!!!!!」 (`isCat`) 有効時にアバターに表示される猫耳について挙動を変更
|
||||
- 「UIにぼかし効果を使用」 (`useBlurEffect`) で次の挙動が有効になります
|
||||
- 猫耳のアバター内部部分をぼかしでマスク表示してより猫耳っぽく見えるように
|
||||
- 「UIのアニメーションを減らす」 (`reduceAnimation`) で猫耳を撫でられなくなります
|
||||
- Add Minimizing ("folding") of windows
|
||||
- 「データセーバー」モードを追加
|
||||
- 非NSFWメディアが隠れている際にも「閲覧注意」が出てしまう問題を修正
|
||||
|
||||
### Server
|
||||
- PostgreSQLのレプリケーション対応
|
||||
- 設定ファイルの `dbReplications` および `dbSlaves` にて設定できます
|
||||
- イベント用Redisを別サーバーに分離できるように
|
||||
- ジョブキュー用Redisを別サーバーに分離できるように
|
||||
- サーバーの全体的なパフォーマンスを向上
|
||||
- ノート作成時のパフォーマンスを向上
|
||||
- アンテナのタイムライン取得時のパフォーマンスを向上
|
||||
- チャンネルのタイムライン取得時のパフォーマンスを向上
|
||||
- 通知に関する全体的なパフォーマンスを向上
|
||||
- webhookがcontent-type text/plain;charset=UTF-8 で飛んでくる問題を修正
|
||||
|
||||
## 13.10.3
|
||||
|
||||
### Changes
|
||||
- オブジェクトストレージのリージョン指定が必須になりました
|
||||
- リージョンの指定の無いサービスは us-east-1 を設定してください
|
||||
- 値が空の場合は設定ファイルまたは環境変数の使用を試みます
|
||||
- e.g. ~/aws/config, AWS_REGION
|
||||
|
||||
### General
|
||||
- コンディショナルロールの条件に「投稿数が~以下」「投稿数が~以上」を追加
|
||||
- リアクション非対応AP実装からのLikeアクティビティの解釈を👍から♥に
|
||||
|
||||
### Client
|
||||
- クリップボタンをノートアクションに追加できるように
|
||||
- センシティブワードの一覧にピン留めユーザーのIDが表示される問題を修正
|
||||
|
||||
### Server
|
||||
- リモートユーザーのチャート生成を無効にするオプションを追加
|
||||
- リモートサーバーのチャート生成を無効にするオプションを追加
|
||||
- ドライブのチャートはローカルユーザーのみ生成するように
|
||||
- 空のアンテナが作成できるのを修正
|
||||
|
||||
## 13.10.2
|
||||
|
||||
### Server
|
||||
- 絵文字を編集すると保存できないことがある問題を修正
|
||||
|
||||
### Client
|
||||
- ドライブファイルのメニューが正常に動作しない問題を修正
|
||||
|
||||
## 13.10.1
|
||||
|
||||
### Client
|
||||
- Misskey PlayのPlayボタンを押した時にエラーが発生する問題を修正
|
||||
|
||||
## 13.10.0
|
||||
|
||||
### General
|
||||
- ユーザーごとにRenoteをミュートできるように
|
||||
- ノートごとに絵文字リアクションを受け取るか設定できるように
|
||||
- クリップをお気に入りに登録できるように
|
||||
- ノート検索の利用可否をロールで制御可能に(デフォルトでオフ)
|
||||
- ロールの並び順を設定可能に
|
||||
- カスタム絵文字にライセンス情報を付与できるように
|
||||
- 指定した文字列を含む投稿の公開範囲をホームにできるように
|
||||
- 使われてないアンテナは自動停止されるように
|
||||
|
||||
### Client
|
||||
- 設定から自分のロールを確認できるように
|
||||
- 広告一覧ページを追加
|
||||
- ドライブクリーナーを追加
|
||||
- DM作成時にメンションも含むように
|
||||
- フォロー申請のボタンのデザインを改善
|
||||
- 付箋ウィジェットの高さを設定可能に
|
||||
- APオブジェクトを入力してフェッチする機能とユーザーやノートの検索機能を分離
|
||||
- ナビゲーションバーの項目に「プロフィール」を追加できるように
|
||||
- ナビゲーションバーのカスタマイズをドラッグ&ドロップで行えるように
|
||||
- ジョブキューの再試行をワンクリックでできるように
|
||||
- AiScriptを0.13.1に更新
|
||||
- oEmbedをサポートしているウェブサイトのプレビューができるように
|
||||
- YouTubeをoEmbedでロードし、プレビューで共有ボタンを押すとOSの共有画面がでるように
|
||||
- ([FirefoxでSpotifyのプレビューを開けるとフルサイズじゃなくプレビューサイズだけ再生できる問題](https://bugzilla.mozilla.org/show_bug.cgi?id=1792395)があります)
|
||||
- (すでにブラウザーでキャッシュされたリンクに対しては以前のプレビュー行動が行われてます。その場合、ブラウザーのキャッシュをクリアしてまた試してください。)
|
||||
- プロフィールで設定した情報が削除できない問題を修正
|
||||
- ロールで広告を無効にするとadmin/adsでプレビューがでてこない問題を修正
|
||||
- /api-consoleページにアクセスすると404が出る問題を修正
|
||||
- Safariでプラグインが複数ある場合に正常に読み込まれない問題を修正
|
||||
- Bookwyrmのユーザーのプロフィールページで「リモートで表示」をタップしても反応がない問題を修正
|
||||
- 非ログイン時の「Misskeyについて」の表示を修正
|
||||
- PC版にて「設定」「コントロールパネル」のリンクを2度以上続けてクリックした際に空白のページが表示される問題を修正
|
||||
|
||||
### Server
|
||||
- OpenAPIエンドポイントを復旧
|
||||
- WebP/AVIF/JPEGのweb公開用画像は、サーバーサイドではJPEGではなくWebPに変換するように
|
||||
- アニメーション画像のサムネイルを生成するように
|
||||
- アクティブユーザー数チャートの記録上限値を拡張
|
||||
- Playのソースコード上限文字数を2倍に拡張
|
||||
- 配送先サーバーが410 Goneで応答してきた場合は自動で配送停止をするように
|
||||
- avatarBlurHash/bannerBlurHashの型をstringに限定
|
||||
- タイムライン取得時のパフォーマンスを改善
|
||||
- SMTP Login id length is too short
|
||||
- API上で`visibility`を`followers`に設定してrenoteすると連合や削除で不具合が発生する問題を修正
|
||||
- AWS S3からのファイル削除でNoSuchKeyエラーが出ると進めらない状態になる問題を修正
|
||||
- `disableCache: true`を設定している場合に絵文字管理操作でエラーが出る問題を修正
|
||||
- リテンション分析が上手く機能しないことがあるのを修正
|
||||
- 空のアンテナが作成できないように修正
|
||||
- 特定の条件で通報が見れない問題を修正
|
||||
- 絵文字の名前に任意の文字が使用できる問題を修正
|
||||
|
||||
## 13.9.2 (2023/03/06)
|
||||
|
||||
### Improvements
|
||||
- クリップ、チャンネルページに共有ボタンを追加
|
||||
- チャンネルでタイムライン上部に投稿フォームを表示するかどうかのオプションを追加
|
||||
- ブラウザでメディアプロキシ(/proxy)からファイルを保存した際に、なるべくオリジナルのファイル名を継承するように
|
||||
- ドライブの「URLからアップロード」で、content-dispositionのfilenameがあればそれをファイル名に
|
||||
- Identiconがローカルとリモートで同じになるように
|
||||
- これまでのIdenticonは異なる画像になります
|
||||
- サーバーのパフォーマンスを改善
|
||||
|
||||
### Bugfixes
|
||||
- ロールの権限で「一般ユーザー」のロールがいきなり設定できない問題を修正
|
||||
- ユーザーページのバッジ表示を適切に折り返すように @arrow2nd
|
||||
- fix(client): みつけるのロール一覧でコンディショナルロールが含まれるのを修正
|
||||
- macOSでDev Containerが動作しない問題を修正 @RyotaK
|
||||
|
||||
## 13.9.1 (2023/03/03)
|
||||
|
||||
### Bugfixes
|
||||
- ノートに添付したファイルが表示されない場合があるのを修正
|
||||
|
||||
## 13.9.0 (2023/03/03)
|
||||
|
||||
### Improvements
|
||||
- 時限ロール
|
||||
- アンテナでCWも検索対象にするように
|
||||
- ノートの操作部をホバー時のみ表示するオプションを追加
|
||||
- サウンドを追加
|
||||
- サーバーのパフォーマンスを改善
|
||||
|
||||
### Bugfixes
|
||||
- 外部メディアプロキシ使用時にアバタークロップができない問題を修正
|
||||
- fix(server): メールアドレス更新時にバリデーションが正しく行われていないのを修正
|
||||
- fix(server): チャンネルでミュートが正しく機能していないのを修正
|
||||
- プッシュ通知でカスタム絵文字リアクションを表示できなかった問題を修正
|
||||
|
||||
## 13.8.1 (2023/02/26)
|
||||
|
||||
### Bugfixes
|
||||
- モバイルでドロワーメニューが表示されない問題を修正
|
||||
|
||||
## 13.8.0 (2023/02/26)
|
||||
|
||||
### Improvements
|
||||
- チャンネル内ハイライト
|
||||
- ホームタイムラインのパフォーマンスを改善
|
||||
- renoteした際の表示を改善
|
||||
- バックグラウンドで一定時間経過したらページネーションのアイテム更新をしない
|
||||
- enhance(client): MkUrlPreviewの閉じるボタンを見やすく
|
||||
- Add dialog to remove follower
|
||||
- enhance(client): improve clip menu ux
|
||||
- 検索画面の統合
|
||||
- enhance(client): ノートメニューからユーザーメニューを開けるように
|
||||
- photoswipe 表示時に戻る操作をしても前の画面に戻らないように
|
||||
|
||||
### Bugfixes
|
||||
- Windows環境でswcを使うと正しくビルドできない問題の修正
|
||||
- fix(client): Android ChromeでPWAとしてインストールできない問題を修正
|
||||
- 未知のユーザーが deleteActor されたら処理をスキップする
|
||||
- fix(server): notes/createで、fileIdsと見つかったファイルの数が異なる場合はエラーにする
|
||||
- fix(server): notes/createのバリデーションが機能していないのを修正
|
||||
- fix(server): エラーのスタックトレースは返さないように
|
||||
|
||||
## 13.7.5 (2023/02/24)
|
||||
|
||||
### Note
|
||||
13.7.0以前から直接このバージョンにアップデートする場合は全ての通知が削除**されません。**
|
||||
|
||||
### Improvements
|
||||
- 紛らわしいため公開範囲の「ローカルのみ」オプションの名称を「連合なし」に変更
|
||||
- Frontend: スマホ・タブレットの場合、チャンネルの投稿フォームに自動でフォーカスしないように
|
||||
|
||||
### Bugfixes
|
||||
- 全ての通知が削除されてしまうのを修正
|
||||
|
||||
## 13.7.3 (2023/02/23)
|
||||
|
||||
### Note
|
||||
~~13.7.0以前から直接このバージョンにアップデートする場合は全ての通知が削除**されません。**~~
|
||||
|
||||
### Improvements
|
||||
|
||||
### Bugfixes
|
||||
-
|
||||
- Client: 「キャッシュを削除」した後、ローカルのカスタム絵文字が表示されなくなるされなくなる問題を修正
|
||||
- Client: 通知設定画面で以前からグループの招待を有効化していた場合、通知の表示に失敗する問題の修正
|
||||
- Client: 通知設定画面に古いトグルが残っていた問題を修正
|
||||
|
||||
You should also include the user name that made the change.
|
||||
-->
|
||||
## 13.x.x (unreleased)
|
||||
## 13.7.2 (2023/02/23)
|
||||
|
||||
### Note
|
||||
13.7.0以前からアップデートする場合は全ての通知が削除されます。
|
||||
|
||||
### Improvements
|
||||
- enhance: make pwa icon maskable
|
||||
- chore(client): tweak custom emoji size
|
||||
|
||||
### Bugfixes
|
||||
- マイグレーションが失敗することがあるのを修正
|
||||
|
||||
## 13.7.1 (2023/02/23)
|
||||
|
||||
### Improvements
|
||||
- pnpm buildではswcを使うように
|
||||
|
||||
### Bugfixes
|
||||
- NODE_ENV=productionでビルドできないのを修正
|
||||
|
||||
## 13.7.0 (2023/02/22)
|
||||
|
||||
### Changes
|
||||
- チャット機能が削除されました
|
||||
|
||||
### Improvements
|
||||
- Server: URLプレビュー(summaly)はプロキシを通すように
|
||||
- Client: 2FA設定のUIをまともにした
|
||||
- セキュリティキーの名前を変更できるように
|
||||
- enhance(client): add quiz preset for play
|
||||
- 広告開始時期を設定できるように
|
||||
- みつけるで公開ロール一覧とそのメンバーを閲覧できるように
|
||||
- enhance(client): MFMのx3, x4が含まれていたらノートをたたむように
|
||||
- enhance(client): make possible to reload page of window
|
||||
|
||||
### Bugfixes
|
||||
-
|
||||
- ユーザー検索ダイアログでローカルユーザーを絞って検索できない問題を修正
|
||||
- fix(client): MkHeader及びデッキのカラムでチャンネル一覧を選択したとき、最大5個までしか表示されない
|
||||
- 管理画面の広告を10個以上見えるように
|
||||
- Moderation note が保存できない
|
||||
- ユーザーのハッシュタグ検索が機能していないのを修正
|
||||
|
||||
## 13.6.1 (2023/02/12)
|
||||
|
||||
@ -122,8 +517,8 @@ You should also include the user name that made the change.
|
||||
## 13.3.2 (2023/02/04)
|
||||
|
||||
### Improvements
|
||||
- 外部メディアプロキシへの対応を強化しました
|
||||
外部メディアプロキシのFastify実装を作りました
|
||||
- 外部メディアプロキシへの対応を強化しました
|
||||
外部メディアプロキシのFastify実装を作りました
|
||||
https://github.com/misskey-dev/media-proxy
|
||||
- Server: improve performance
|
||||
|
||||
@ -286,7 +681,7 @@ You should also include the user name that made the change.
|
||||
- ユーザーごとのドライブ容量設定はロールに統合されました。
|
||||
- インスタンスデフォルトのドライブ容量設定はロールに統合されました。アップデート後、ベースロールもしくはコンディショナルロールでドライブ容量を編集してください。
|
||||
- LTL/GTLの解放状態はロールに統合されました。
|
||||
- Dockerの実行をrootで行わないようにしました。Dockerかつオブジェクトストレージを使用していない場合は`chown -hR 991.991 ./files`を実行してください。
|
||||
- Dockerの実行をrootで行わないようにしました。Dockerかつオブジェクトストレージを使用していない場合は`chown -hR 991.991 ./files`を実行してください。
|
||||
https://github.com/misskey-dev/misskey/pull/9560
|
||||
|
||||
#### For users
|
||||
@ -514,7 +909,7 @@ You should also include the user name that made the change.
|
||||
## 12.112.2 (2022/07/08)
|
||||
|
||||
### Bugfixes
|
||||
- Fix Docker doesn't work @mei23
|
||||
- Fix Docker doesn't work @mei23
|
||||
Still not working on arm64 environment. (See 12.112.0)
|
||||
|
||||
## 12.112.1 (2022/07/07)
|
||||
@ -556,7 +951,7 @@ same as 12.112.0
|
||||
- Improve player detection in URL preview @mei23
|
||||
- Add Badge Image to Push Notification #8012 @tamaina
|
||||
- Server: Improve performance
|
||||
- Server: Supports IPv6 on Redis transport. @mei23
|
||||
- Server: Supports IPv6 on Redis transport. @mei23
|
||||
IPv4/IPv6 is used by default. You can tune this behavior via `redis.family`.
|
||||
- Server: Add possibility to log IP addresses of users @syuilo
|
||||
- Add additional drive capacity change support @CyberRex0
|
||||
|
153
CONTRIBUTING.md
153
CONTRIBUTING.md
@ -15,7 +15,7 @@ Before creating an issue, please check the following:
|
||||
- To avoid duplication, please search for similar issues before creating a new issue.
|
||||
- Do not use Issues to ask questions or troubleshooting.
|
||||
- Issues should only be used to feature requests, suggestions, and bug tracking.
|
||||
- Please ask questions or troubleshooting in the [Misskey Forum](https://forum.misskey.io/) or [Discord](https://discord.gg/Wp8gVStHW3).
|
||||
- Please ask questions or troubleshooting in ~~the [Misskey Forum](https://forum.misskey.io/)~~ [GitHub Discussions](https://github.com/misskey-dev/misskey/discussions) or [Discord](https://discord.gg/Wp8gVStHW3).
|
||||
|
||||
> **Warning**
|
||||
> Do not close issues that are about to be resolved. It should remain open until a commit that actually resolves it is merged.
|
||||
@ -83,11 +83,18 @@ An actual domain will be assigned so you can test the federation.
|
||||
- The title must be in the format `Release: x.y.z`.
|
||||
- `x.y.z` is the new version you are trying to release.
|
||||
3. Deploy and perform a simple QA check. Also verify that the tests passed.
|
||||
4. Merge it.
|
||||
4. Merge it. (Do not squash commit)
|
||||
5. Create a [release of GitHub](https://github.com/misskey-dev/misskey/releases)
|
||||
- The target branch must be `master`
|
||||
- The tag name must be the version
|
||||
|
||||
> **Note**
|
||||
> Why this instruction is necessary:
|
||||
> - To perform final QA checks
|
||||
> - To distribute responsibility
|
||||
> - To check direct commits to develop
|
||||
> - To celebrate the release together 🎉
|
||||
|
||||
## Localization (l10n)
|
||||
Misskey uses [Crowdin](https://crowdin.com/project/misskey) for localization management.
|
||||
You can improve our translations with your Crowdin account.
|
||||
@ -158,6 +165,11 @@ pnpm jest -- foo.ts
|
||||
### e2e tests
|
||||
TODO
|
||||
|
||||
## Environment Variable
|
||||
|
||||
- `MISSKEY_CONFIG_YML`: Specify the file path of config.yml instead of default.yml (e.g. `2nd.yml`).
|
||||
- `MISSKEY_WEBFINGER_USE_HTTP`: If it's set true, WebFinger requests will be http instead of https, useful for testing federation between servers in localhost. NEVER USE IN PRODUCTION.
|
||||
|
||||
## Continuous integration
|
||||
Misskey uses GitHub Actions for executing automated tests.
|
||||
Configuration files are located in [`/.github/workflows`](/.github/workflows).
|
||||
@ -196,6 +208,115 @@ niraxは、Misskeyで使用しているオリジナルのフロントエンド
|
||||
vue-routerとの最大の違いは、niraxは複数のルーターが存在することを許可している点です。
|
||||
これにより、アプリ内ウィンドウでブラウザとは個別にルーティングすることなどが可能になります。
|
||||
|
||||
## Storybook
|
||||
|
||||
Misskey uses [Storybook](https://storybook.js.org/) for UI development.
|
||||
|
||||
### Setup & Run
|
||||
|
||||
#### Universal
|
||||
|
||||
##### Setup
|
||||
|
||||
```bash
|
||||
pnpm --filter misskey-js build
|
||||
pnpm --filter frontend tsc -p .storybook && (node packages/frontend/.storybook/preload-locale.js & node packages/frontend/.storybook/preload-theme.js)
|
||||
```
|
||||
|
||||
##### Run
|
||||
|
||||
```bash
|
||||
node packages/frontend/.storybook/generate.js && pnpm --filter frontend storybook dev
|
||||
```
|
||||
|
||||
#### macOS & Linux
|
||||
|
||||
##### Setup
|
||||
|
||||
```bash
|
||||
pnpm --filter misskey-js build
|
||||
```
|
||||
|
||||
##### Run
|
||||
|
||||
```bash
|
||||
pnpm --filter frontend storybook-dev
|
||||
```
|
||||
|
||||
### Usage
|
||||
|
||||
When you create a new component (in this example, `MyComponent.vue`), the story file (`MyComponent.stories.ts`) will be automatically generated by the `.storybook/generate.js` script.
|
||||
You can override the default story by creating a impl story file (`MyComponent.stories.impl.ts`).
|
||||
|
||||
```ts
|
||||
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
||||
import { StoryObj } from '@storybook/vue3';
|
||||
import MyComponent from './MyComponent.vue';
|
||||
export const Default = {
|
||||
render(args) {
|
||||
return {
|
||||
components: {
|
||||
MyComponent,
|
||||
},
|
||||
setup() {
|
||||
return {
|
||||
args,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
props() {
|
||||
return {
|
||||
...this.args,
|
||||
};
|
||||
},
|
||||
},
|
||||
template: '<MyComponent v-bind="props" />',
|
||||
};
|
||||
},
|
||||
args: {
|
||||
foo: 'bar',
|
||||
},
|
||||
parameters: {
|
||||
layout: 'centered',
|
||||
},
|
||||
} satisfies StoryObj<typeof MkAvatar>;
|
||||
```
|
||||
|
||||
If you want to opt-out from the automatic generation, create a `MyComponent.stories.impl.ts` file and add the following line to the file.
|
||||
|
||||
```ts
|
||||
import MyComponent from './MyComponent.vue';
|
||||
void MyComponent;
|
||||
```
|
||||
|
||||
You can override the component meta by creating a meta story file (`MyComponent.stories.meta.ts`).
|
||||
|
||||
```ts
|
||||
export const argTypes = {
|
||||
scale: {
|
||||
control: {
|
||||
type: 'range',
|
||||
min: 1,
|
||||
max: 4,
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
Also, you can use msw to mock API requests in the storybook. Creating a `MyComponent.stories.msw.ts` file to define the mock handlers.
|
||||
|
||||
```ts
|
||||
import { rest } from 'msw';
|
||||
export const handlers = [
|
||||
rest.post('/api/notes/timeline', (req, res, ctx) => {
|
||||
return res(
|
||||
ctx.json([]),
|
||||
);
|
||||
}),
|
||||
];
|
||||
```
|
||||
|
||||
Don't forget to re-run the `.storybook/generate.js` script after adding, editing, or removing the above files.
|
||||
|
||||
## Notes
|
||||
### How to resolve conflictions occurred at pnpm-lock.yaml?
|
||||
|
||||
@ -278,9 +399,10 @@ SQLでは配列のインデックスは**1始まり**。
|
||||
### null IN
|
||||
nullが含まれる可能性のあるカラムにINするときは、そのままだとおかしくなるのでORなどでnullのハンドリングをしよう。
|
||||
|
||||
### `undefined`にご用心
|
||||
MongoDBの時とは違い、findOneでレコードを取得する時に対象レコードが存在しない場合 **`undefined`** が返ってくるので注意。
|
||||
MongoDBは`null`で返してきてたので、その感覚で`if (x === null)`とか書くとバグる。代わりに`if (x == null)`と書いてください
|
||||
### enumの削除は気をつける
|
||||
enumの列挙の内容の削除は、その値をもつレコードを全て削除しないといけない
|
||||
|
||||
削除が重たかったり不可能だったりする場合は、削除しないでおく
|
||||
|
||||
### Migration作成方法
|
||||
packages/backendで:
|
||||
@ -291,6 +413,27 @@ pnpm dlx typeorm migration:generate -d ormconfig.js -o <migration name>
|
||||
- 生成後、ファイルをmigration下に移してください
|
||||
- 作成されたスクリプトは不必要な変更を含むため除去してください
|
||||
|
||||
### JSON SchemaのobjectでanyOfを使うとき
|
||||
JSON Schemaで、objectに対してanyOfを使う場合、anyOfの中でpropertiesを定義しないこと。
|
||||
バリデーションが効かないため。(SchemaTypeもそのように作られており、objectのanyOf内のpropertiesは捨てられます)
|
||||
https://github.com/misskey-dev/misskey/pull/10082
|
||||
|
||||
テキストhogeおよびfugaについて、片方を必須としつつ両方の指定もありうる場合:
|
||||
|
||||
```
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
hoge: { type: 'string', minLength: 1 },
|
||||
fuga: { type: 'string', minLength: 1 },
|
||||
},
|
||||
anyOf: [
|
||||
{ required: ['hoge'] },
|
||||
{ required: ['fuga'] },
|
||||
],
|
||||
} as const;
|
||||
```
|
||||
|
||||
### コネクションには`markRaw`せよ
|
||||
**Vueのコンポーネントのdataオプションとして**misskey.jsのコネクションを設定するとき、必ず`markRaw`でラップしてください。インスタンスが不必要にリアクティブ化されることで、misskey.js内の処理で不具合が発生するとともに、パフォーマンス上の問題にも繋がる。なお、Composition APIを使う場合はこの限りではない(リアクティブ化はマニュアルなため)。
|
||||
|
||||
|
51
Dockerfile
51
Dockerfile
@ -1,8 +1,10 @@
|
||||
# syntax = docker/dockerfile:1.4
|
||||
|
||||
ARG NODE_VERSION=18.13.0-bullseye
|
||||
ARG NODE_VERSION=18.16.0-bullseye
|
||||
|
||||
FROM node:${NODE_VERSION} AS builder
|
||||
# build assets & compile TypeScript
|
||||
|
||||
FROM --platform=$BUILDPLATFORM node:${NODE_VERSION} AS native-builder
|
||||
|
||||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
||||
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
||||
@ -21,6 +23,7 @@ COPY --link ["scripts", "./scripts"]
|
||||
COPY --link ["packages/backend/package.json", "./packages/backend/"]
|
||||
COPY --link ["packages/frontend/package.json", "./packages/frontend/"]
|
||||
COPY --link ["packages/sw/package.json", "./packages/sw/"]
|
||||
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
|
||||
|
||||
RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \
|
||||
pnpm i --frozen-lockfile --aggregate-output
|
||||
@ -33,33 +36,49 @@ RUN git submodule update --init
|
||||
RUN pnpm build
|
||||
RUN rm -rf .git/
|
||||
|
||||
FROM node:${NODE_VERSION}-slim AS runner
|
||||
# build native dependencies for target platform
|
||||
|
||||
FROM --platform=$TARGETPLATFORM node:${NODE_VERSION} AS target-builder
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -yqq --no-install-recommends \
|
||||
build-essential
|
||||
|
||||
RUN corepack enable
|
||||
|
||||
WORKDIR /misskey
|
||||
|
||||
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
|
||||
COPY --link ["scripts", "./scripts"]
|
||||
COPY --link ["packages/backend/package.json", "./packages/backend/"]
|
||||
|
||||
RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \
|
||||
pnpm i --frozen-lockfile --aggregate-output
|
||||
|
||||
FROM --platform=$TARGETPLATFORM node:${NODE_VERSION}-slim AS runner
|
||||
|
||||
ARG UID="991"
|
||||
ARG GID="991"
|
||||
|
||||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
||||
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
||||
rm -f /etc/apt/apt.conf.d/docker-clean \
|
||||
; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache \
|
||||
&& apt-get update \
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
ffmpeg tini curl \
|
||||
&& corepack enable \
|
||||
&& groupadd -g "${GID}" misskey \
|
||||
&& useradd -l -u "${UID}" -g "${GID}" -m -d /misskey misskey \
|
||||
&& find / -type f -perm /u+s -ignore_readdir_race -exec chmod u-s {} \; \
|
||||
&& find / -type f -perm /g+s -ignore_readdir_race -exec chmod g-s {} \;
|
||||
&& find / -type d -path /proc -prune -o -type f -perm /u+s -ignore_readdir_race -exec chmod u-s {} \; \
|
||||
&& find / -type d -path /proc -prune -o -type f -perm /g+s -ignore_readdir_race -exec chmod g-s {} \; \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists
|
||||
|
||||
USER misskey
|
||||
WORKDIR /misskey
|
||||
|
||||
COPY --chown=misskey:misskey --from=builder /misskey/node_modules ./node_modules
|
||||
COPY --chown=misskey:misskey --from=builder /misskey/built ./built
|
||||
COPY --chown=misskey:misskey --from=builder /misskey/packages/backend/node_modules ./packages/backend/node_modules
|
||||
COPY --chown=misskey:misskey --from=builder /misskey/packages/backend/built ./packages/backend/built
|
||||
COPY --chown=misskey:misskey --from=builder /misskey/packages/frontend/node_modules ./packages/frontend/node_modules
|
||||
COPY --chown=misskey:misskey --from=builder /misskey/fluent-emojis /misskey/fluent-emojis
|
||||
COPY --chown=misskey:misskey --from=target-builder /misskey/node_modules ./node_modules
|
||||
COPY --chown=misskey:misskey --from=target-builder /misskey/packages/backend/node_modules ./packages/backend/node_modules
|
||||
COPY --chown=misskey:misskey --from=native-builder /misskey/built ./built
|
||||
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/backend/built ./packages/backend/built
|
||||
COPY --chown=misskey:misskey --from=native-builder /misskey/fluent-emojis /misskey/fluent-emojis
|
||||
COPY --chown=misskey:misskey . ./
|
||||
|
||||
ENV NODE_ENV=production
|
||||
|
19
README.md
19
README.md
@ -54,6 +54,25 @@ With Misskey's built in drive, you get cloud storage right in your social media,
|
||||
Misskey Documentation can be found at [Misskey Hub](https://misskey-hub.net/), some of the links and graphics above also lead to specific portions of it.
|
||||
|
||||
## Sponsors
|
||||
|
||||
<div align="center">
|
||||
<a class="rss3" title="RSS3" href="https://rss3.io/" target="_blank"><img src="https://rss3.mypinata.cloud/ipfs/QmUG6H3Z7D5P511shn7sB4CPmpjH5uZWu4m5mWX7U3Gqbu" alt="RSS3" height="60"></a>
|
||||
</div>
|
||||
|
||||
## Thanks
|
||||
|
||||
<a href="https://www.chromatic.com/"><img src="https://user-images.githubusercontent.com/321738/84662277-e3db4f80-af1b-11ea-88f5-91d67a5e59f6.png" height="30" alt="Chromatic" /></a>
|
||||
|
||||
Thanks to [Chromatic](https://www.chromatic.com/) for providing the visual testing platform that helps us review UI changes and catch visual regressions.
|
||||
|
||||
<a href="https://about.codecov.io/for/open-source/"><img src="https://about.codecov.io/wp-content/themes/codecov/assets/brand/sentry-cobranding/logos/codecov-by-sentry-logo.svg" height="30" alt="Codecov" /></a>
|
||||
|
||||
Thanks to [Codecov](https://about.codecov.io/for/open-source/) for providing the code coverage platform that helps us improve our test coverage.
|
||||
|
||||
<a href="https://crowdin.com/"><img src="https://user-images.githubusercontent.com/20679825/230709597-1299a011-171a-4294-a91e-355a9b37c672.svg" height="30" alt="Crowdin" /></a>
|
||||
|
||||
Thanks to [Crowdin](https://crowdin.com/) for providing the localization platform that helps us translate Misskey into many languages.
|
||||
|
||||
<a href="https://hub.docker.com/"><img src="https://user-images.githubusercontent.com/20679825/230148221-f8e73a32-a49b-47c3-9029-9a15c3824f92.png" height="30" alt="Docker" /></a>
|
||||
|
||||
Thanks to [Docker](https://hub.docker.com/) for providing the container platform that helps us run Misskey in production.
|
||||
|
@ -5,9 +5,9 @@ Also, the later tasks are more indefinite and are subject to change as developme
|
||||
## (1) Improve maintainability \<current phase\>
|
||||
This is the phase we are at now. We need to make a high-maintenance environment that can withstand future development.
|
||||
|
||||
- Make the number of type errors zero (backend)
|
||||
- ~~Make the number of type errors zero (backend)~~ → Done ✔️
|
||||
- Improve CI
|
||||
- Fix tests
|
||||
- ~~Fix tests~~ → Done ✔️
|
||||
- Fix random test failures - https://github.com/misskey-dev/misskey/issues/7985 and https://github.com/misskey-dev/misskey/issues/7986
|
||||
- Add more tests
|
||||
- ~~May need to implement a mechanism that allows for DI~~ → Done ✔️
|
||||
|
@ -72,25 +72,58 @@ db:
|
||||
#extra:
|
||||
# ssl: true
|
||||
|
||||
dbReplications: false
|
||||
|
||||
# You can configure any number of replicas here
|
||||
#dbSlaves:
|
||||
# -
|
||||
# host:
|
||||
# port:
|
||||
# db:
|
||||
# user:
|
||||
# pass:
|
||||
# -
|
||||
# host:
|
||||
# port:
|
||||
# db:
|
||||
# user:
|
||||
# pass:
|
||||
|
||||
# ┌─────────────────────┐
|
||||
#───┘ Redis configuration └─────────────────────────────────────
|
||||
|
||||
redis:
|
||||
host: localhost
|
||||
port: 6379
|
||||
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
#pass: example-pass
|
||||
#prefix: example-prefix
|
||||
#db: 1
|
||||
|
||||
# ┌─────────────────────────────┐
|
||||
#───┘ Elasticsearch configuration └─────────────────────────────
|
||||
|
||||
#elasticsearch:
|
||||
#redisForPubsub:
|
||||
# host: localhost
|
||||
# port: 9200
|
||||
# ssl: false
|
||||
# user:
|
||||
# pass:
|
||||
# port: 6379
|
||||
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
# #pass: example-pass
|
||||
# #prefix: example-prefix
|
||||
# #db: 1
|
||||
|
||||
#redisForJobQueue:
|
||||
# host: localhost
|
||||
# port: 6379
|
||||
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
# #pass: example-pass
|
||||
# #prefix: example-prefix
|
||||
# #db: 1
|
||||
|
||||
# ┌───────────────────────────┐
|
||||
#───┘ MeiliSearch configuration └─────────────────────────────
|
||||
|
||||
#meilisearch:
|
||||
# host: localhost
|
||||
# port: 7700
|
||||
# apiKey: ''
|
||||
# ssl: true
|
||||
|
||||
# ┌───────────────┐
|
||||
#───┘ ID generation └───────────────────────────────────────────
|
||||
|
@ -3,16 +3,16 @@ kind: Deployment
|
||||
metadata:
|
||||
name: {{ include "misskey.fullname" . }}
|
||||
labels:
|
||||
{{- include "misskey.labels" . | nindent 4 }}
|
||||
{{- include "misskey.labels" . | nindent 4 }}
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "misskey.selectorLabels" . | nindent 6 }}
|
||||
{{- include "misskey.selectorLabels" . | nindent 6 }}
|
||||
replicas: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "misskey.selectorLabels" . | nindent 8 }}
|
||||
{{- include "misskey.selectorLabels" . | nindent 8 }}
|
||||
spec:
|
||||
containers:
|
||||
- name: cherrypick
|
||||
|
@ -11,4 +11,4 @@ spec:
|
||||
protocol: TCP
|
||||
name: http
|
||||
selector:
|
||||
{{- include "misskey.selectorLabels" . | nindent 4 }}
|
||||
{{- include "misskey.selectorLabels" . | nindent 4 }}
|
||||
|
4
codecov.yml
Normal file
4
codecov.yml
Normal file
@ -0,0 +1,4 @@
|
||||
coverage:
|
||||
status:
|
||||
project: false
|
||||
patch: false
|
@ -1,4 +1,4 @@
|
||||
files:
|
||||
- source: /locales/ja-JP.yml
|
||||
- source: /locales/ko-KR.yml
|
||||
translation: /locales/%locale%.yml
|
||||
update_option: update_as_unapproved
|
||||
|
@ -10,14 +10,14 @@ describe('Before setup instance', () => {
|
||||
});
|
||||
|
||||
it('successfully loads', () => {
|
||||
cy.visit('/');
|
||||
cy.visitHome();
|
||||
});
|
||||
|
||||
it('setup instance', () => {
|
||||
cy.visit('/');
|
||||
cy.visitHome();
|
||||
|
||||
cy.intercept('POST', '/api/admin/accounts/create').as('signup');
|
||||
|
||||
|
||||
cy.get('[data-cy-admin-username] input').type('admin');
|
||||
cy.get('[data-cy-admin-password] input').type('admin1234');
|
||||
cy.get('[data-cy-admin-ok]').click();
|
||||
@ -43,22 +43,49 @@ describe('After setup instance', () => {
|
||||
});
|
||||
|
||||
it('successfully loads', () => {
|
||||
cy.visit('/');
|
||||
cy.visitHome();
|
||||
});
|
||||
|
||||
it('signup', () => {
|
||||
cy.visit('/');
|
||||
cy.visitHome();
|
||||
|
||||
cy.intercept('POST', '/api/signup').as('signup');
|
||||
|
||||
cy.get('[data-cy-signup]').click();
|
||||
cy.get('[data-cy-signup-rules-continue]').should('be.disabled');
|
||||
cy.get('[data-cy-signup-rules-notes-agree] [data-cy-switch-toggle]').click();
|
||||
cy.get('[data-cy-signup-rules-continue]').should('not.be.disabled');
|
||||
cy.get('[data-cy-signup-rules-continue]').click();
|
||||
|
||||
cy.get('[data-cy-signup-submit]').should('be.disabled');
|
||||
cy.get('[data-cy-signup-username] input').type('alice');
|
||||
cy.get('[data-cy-signup-submit]').should('be.disabled');
|
||||
cy.get('[data-cy-signup-password] input').type('alice1234');
|
||||
cy.get('[data-cy-signup-submit]').should('be.disabled');
|
||||
cy.get('[data-cy-signup-password-retype] input').type('alice1234');
|
||||
cy.get('[data-cy-signup-submit]').should('not.be.disabled');
|
||||
cy.get('[data-cy-signup-submit]').click();
|
||||
|
||||
cy.wait('@signup');
|
||||
});
|
||||
|
||||
it('signup with duplicated username', () => {
|
||||
cy.registerUser('alice', 'alice1234');
|
||||
|
||||
cy.visitHome();
|
||||
|
||||
// ユーザー名が重複している場合の挙動確認
|
||||
cy.get('[data-cy-signup]').click();
|
||||
cy.get('[data-cy-signup-rules-continue]').should('be.disabled');
|
||||
cy.get('[data-cy-signup-rules-notes-agree] [data-cy-switch-toggle]').click();
|
||||
cy.get('[data-cy-signup-rules-continue]').should('not.be.disabled');
|
||||
cy.get('[data-cy-signup-rules-continue]').click();
|
||||
|
||||
cy.get('[data-cy-signup-username] input').type('alice');
|
||||
cy.get('[data-cy-signup-password] input').type('alice1234');
|
||||
cy.get('[data-cy-signup-password-retype] input').type('alice1234');
|
||||
cy.get('[data-cy-signup-submit]').should('be.disabled');
|
||||
});
|
||||
});
|
||||
|
||||
describe('After user signup', () => {
|
||||
@ -79,11 +106,11 @@ describe('After user signup', () => {
|
||||
});
|
||||
|
||||
it('successfully loads', () => {
|
||||
cy.visit('/');
|
||||
cy.visitHome();
|
||||
});
|
||||
|
||||
it('signin', () => {
|
||||
cy.visit('/');
|
||||
cy.visitHome();
|
||||
|
||||
cy.intercept('POST', '/api/signin').as('signin');
|
||||
|
||||
@ -101,7 +128,7 @@ describe('After user signup', () => {
|
||||
userId: this.alice.id,
|
||||
});
|
||||
|
||||
cy.visit('/');
|
||||
cy.visitHome();
|
||||
|
||||
cy.get('[data-cy-signin]').click();
|
||||
cy.get('[data-cy-signin-username] input').type('alice');
|
||||
@ -112,7 +139,7 @@ describe('After user signup', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('After user singed in', () => {
|
||||
describe('After user signed in', () => {
|
||||
beforeEach(() => {
|
||||
cy.resetState();
|
||||
|
||||
@ -132,15 +159,73 @@ describe('After user singed in', () => {
|
||||
});
|
||||
|
||||
it('successfully loads', () => {
|
||||
cy.get('[data-cy-open-post-form]').should('be.visible');
|
||||
cy.get('[data-cy-user-setup-continue]').should('be.visible');
|
||||
});
|
||||
|
||||
it('account setup wizard', () => {
|
||||
cy.get('[data-cy-user-setup-continue]').click();
|
||||
|
||||
cy.get('[data-cy-user-setup-user-name] input').type('ありす');
|
||||
cy.get('[data-cy-user-setup-user-description] textarea').type('ほげ');
|
||||
// TODO: アイコン設定テスト
|
||||
|
||||
cy.get('[data-cy-user-setup-continue]').click();
|
||||
|
||||
// フォローはスキップ
|
||||
|
||||
cy.get('[data-cy-user-setup-continue]').click();
|
||||
|
||||
// プッシュ通知設定はスキップ
|
||||
|
||||
cy.get('[data-cy-user-setup-continue]').click();
|
||||
|
||||
cy.get('[data-cy-user-setup-continue]').click();
|
||||
});
|
||||
});
|
||||
|
||||
describe('After user setup', () => {
|
||||
beforeEach(() => {
|
||||
cy.resetState();
|
||||
|
||||
// インスタンス初期セットアップ
|
||||
cy.registerUser('admin', 'pass', true);
|
||||
|
||||
// ユーザー作成
|
||||
cy.registerUser('alice', 'alice1234');
|
||||
|
||||
cy.login('alice', 'alice1234');
|
||||
|
||||
// アカウント初期設定ウィザード
|
||||
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]').click();
|
||||
cy.get('[data-cy-modal-dialog-ok]').click();
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
|
||||
// waitを入れることでそれを防止できる
|
||||
cy.wait(1000);
|
||||
});
|
||||
|
||||
it('note', () => {
|
||||
cy.get('[data-cy-open-post-form]').should('be.visible');
|
||||
cy.get('[data-cy-open-post-form]').click();
|
||||
cy.get('[data-cy-post-form-text]').type('Hello, Misskey!');
|
||||
cy.get('[data-cy-open-post-form-submit]').click();
|
||||
|
||||
cy.contains('Hello, Misskey!');
|
||||
});
|
||||
|
||||
it('open note form with hotkey', () => {
|
||||
// Wait until the page loads
|
||||
cy.get('[data-cy-open-post-form]').should('be.visible');
|
||||
// Use trigger() to give different `code` to test if hotkeys also work on non-QWERTY keyboards.
|
||||
cy.document().trigger("keydown", { eventConstructor: 'KeyboardEvent', key: "n", code: "KeyL" });
|
||||
// See if the form is opened
|
||||
cy.get('[data-cy-post-form-text]').should('be.visible');
|
||||
// Close it
|
||||
cy.focused().trigger("keydown", { eventConstructor: 'KeyboardEvent', key: "Escape", code: "Escape" });
|
||||
// See if the form is closed
|
||||
cy.get('[data-cy-post-form-text]').should('not.be.visible');
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -10,6 +10,10 @@ describe('After user signed in', () => {
|
||||
cy.registerUser('alice', 'alice1234');
|
||||
|
||||
cy.login('alice', 'alice1234');
|
||||
|
||||
// アカウント初期設定ウィザード
|
||||
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]').click();
|
||||
cy.get('[data-cy-modal-dialog-ok]').click();
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
@ -19,27 +23,27 @@ describe('After user signed in', () => {
|
||||
});
|
||||
|
||||
it('widget edit toggle is visible', () => {
|
||||
cy.get('.mk-widget-edit').should('be.visible');
|
||||
cy.get('[data-cy-widget-edit]').should('be.visible');
|
||||
});
|
||||
|
||||
it('widget select should be visible in edit mode', () => {
|
||||
cy.get('.mk-widget-edit').click();
|
||||
cy.get('.mk-widget-select').should('be.visible');
|
||||
cy.get('[data-cy-widget-edit]').click();
|
||||
cy.get('[data-cy-widget-select]').should('be.visible');
|
||||
});
|
||||
|
||||
it('first widget should be removed', () => {
|
||||
cy.get('.mk-widget-edit').click();
|
||||
cy.get('.data-cy-customize-container:first-child .data-cy-customize-container-remove._button').click();
|
||||
cy.get('.data-cy-customize-container').should('have.length', 2);
|
||||
cy.get('[data-cy-widget-edit]').click();
|
||||
cy.get('[data-cy-customize-container]:first-child [data-cy-customize-container-remove]._button').click();
|
||||
cy.get('[data-cy-customize-container]').should('have.length', 2);
|
||||
});
|
||||
|
||||
function buildWidgetTest(widgetName) {
|
||||
it(`${widgetName} widget should get added`, () => {
|
||||
cy.get('.mk-widget-edit').click();
|
||||
cy.get('.mk-widget-select select').select(widgetName, { force: true });
|
||||
cy.get('.data-cy-bg._modalBg.data-cy-transparent').click({ multiple: true, force: true });
|
||||
cy.get('.mk-widget-add').click({ force: true });
|
||||
cy.get(`.data-cy-mkw-${widgetName}`).should('exist');
|
||||
cy.get('[data-cy-widget-edit]').click();
|
||||
cy.get('[data-cy-widget-select] select').select(widgetName, { force: true });
|
||||
cy.get('[data-cy-bg]._modalBg[data-cy-transparent]').click({ multiple: true, force: true });
|
||||
cy.get('[data-cy-widget-add]').click({ force: true });
|
||||
cy.get(`[data-cy-mkw-${widgetName}]`).should('exist');
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,11 @@
|
||||
// -- This will overwrite an existing command --
|
||||
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
|
||||
|
||||
Cypress.Commands.add('visitHome', () => {
|
||||
cy.visit('/');
|
||||
cy.get('button', { timeout: 30000 }).should('be.visible');
|
||||
})
|
||||
|
||||
Cypress.Commands.add('resetState', () => {
|
||||
cy.window(win => {
|
||||
win.indexedDB.deleteDatabase('keyval-store');
|
||||
@ -43,7 +48,7 @@ Cypress.Commands.add('registerUser', (username, password, isAdmin = false) => {
|
||||
});
|
||||
|
||||
Cypress.Commands.add('login', (username, password) => {
|
||||
cy.visit('/');
|
||||
cy.visitHome();
|
||||
|
||||
cy.intercept('POST', '/api/signin').as('signin');
|
||||
|
||||
|
@ -7,7 +7,7 @@ services:
|
||||
links:
|
||||
- db
|
||||
- redis
|
||||
# - es
|
||||
# - meilisearch
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
@ -48,16 +48,18 @@ services:
|
||||
interval: 5s
|
||||
retries: 20
|
||||
|
||||
# es:
|
||||
# meilisearch:
|
||||
# restart: always
|
||||
# image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.4.2
|
||||
# image: getmeili/meilisearch:v1.1.1
|
||||
# environment:
|
||||
# - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
||||
# - "TAKE_FILE_OWNERSHIP=111"
|
||||
# - MEILI_NO_ANALYTICS=true
|
||||
# - MEILI_ENV=production
|
||||
# env_file:
|
||||
# - .config/meilisearch.env
|
||||
# networks:
|
||||
# - internal_network
|
||||
# volumes:
|
||||
# - ./elasticsearch:/usr/share/elasticsearch/data
|
||||
# - ./meili_data:/meili_data
|
||||
|
||||
networks:
|
||||
internal_network:
|
||||
|
@ -45,7 +45,7 @@ gulp.task('build:backend:script', () => {
|
||||
});
|
||||
|
||||
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'])
|
||||
return gulp.src(['./packages/backend/src/server/web/style.css', './packages/backend/src/server/web/bios.css', './packages/backend/src/server/web/cli.css', './packages/backend/src/server/web/error.css'])
|
||||
.pipe(cssnano({
|
||||
zindex: false
|
||||
}))
|
||||
|
@ -19,6 +19,7 @@ noNotes: "لم يُعثر على أية ملاحظات"
|
||||
noNotifications: "ليس هناك أية اشعارات"
|
||||
instance: "مثيل الخادم"
|
||||
settings: "الاعدادات"
|
||||
notificationSettings: "إعدادات الإشعارات"
|
||||
basicSettings: "الاعدادات الأساسية"
|
||||
otherSettings: "إعدادات أخرى"
|
||||
openInWindow: "افتح في نافذة جديدة"
|
||||
@ -127,6 +128,7 @@ unblockConfirm: "أمتأكد من إلغاء حجب هذا الحساب؟"
|
||||
suspendConfirm: "أمتأكد من تعليق الحساب؟"
|
||||
unsuspendConfirm: "أمتأكد من إلغاء تعليق؟"
|
||||
selectList: "اختر قائمة"
|
||||
selectChannel: "اختر قناة"
|
||||
selectAntenna: "اختر هوائيًا"
|
||||
selectWidget: "اختر ودجة"
|
||||
editWidgets: "عدّل الودجات"
|
||||
@ -250,12 +252,15 @@ noMoreHistory: "لا يوجد المزيد من التاريخ"
|
||||
startMessaging: "ابدأ محادثة"
|
||||
nUsersRead: "قرأه {n}"
|
||||
agreeTo: "اوافق على {0}"
|
||||
tos: "شروط الخدمة"
|
||||
agree: "أقبل"
|
||||
basicNotesBeforeCreateAccount: "ملاحظات مهمة"
|
||||
termsOfService: "شروط الخدمة"
|
||||
start: "البداية"
|
||||
home: "الرئيسي"
|
||||
remoteUserCaution: "هذه المعلومات قد لا تكون مكتملة بما أن المستخدم من مثيل بعيد."
|
||||
activity: "النشاط"
|
||||
images: "الصور"
|
||||
image: "الصور"
|
||||
birthday: "تاريخ الميلاد"
|
||||
yearsOld: "{age} سنة"
|
||||
registeredDate: "انضم في"
|
||||
@ -379,13 +384,12 @@ about: "عن"
|
||||
aboutMisskey: "عن CherryPick"
|
||||
administrator: "المدير"
|
||||
token: "الرمز المميز"
|
||||
twoStepAuthentication: "الإستيثاق بعاملَيْن"
|
||||
2fa: "الاستيثاق بعاملَيْن"
|
||||
totp: "تطبيق استيثاق"
|
||||
moderator: "مشرِف"
|
||||
moderation: "الإشراف"
|
||||
nUsersMentioned: "{n} مستخدمين أُشير إليهم"
|
||||
securityKey: "مفتاح الأمان"
|
||||
securityKeyName: "اسم المفتاح"
|
||||
registerSecurityKey: "سجل مفتاح أمان"
|
||||
lastUsed: "آخر استخدام"
|
||||
unregister: "إلغاء التسجيل"
|
||||
passwordLessLogin: "لِج مِن دون كلمة سرية"
|
||||
@ -442,7 +446,6 @@ passwordMatched: "التطابق صحيح!"
|
||||
passwordNotMatched: "غير متطابقتان"
|
||||
signinWith: "الولوج عبر {x}"
|
||||
signinFailed: "فشل الولوج، خطأ في اسم المستخدم أو كلمة المرور."
|
||||
tapSecurityKey: "أنقر مفتاح الأمان"
|
||||
or: "أو"
|
||||
language: "اللغة"
|
||||
uiLanguage: "لغة واجهة المستخدم"
|
||||
@ -522,6 +525,7 @@ userSuspended: "عُلق هذا المستخدم."
|
||||
userSilenced: "كُتم هذا المستخدم."
|
||||
yourAccountSuspendedTitle: "هذا الحساب معلق"
|
||||
yourAccountSuspendedDescription: "عُلق الحساب بسبب انتهاك شروط خدمة المثيل و ما شابه. إذا أردت معرفة التفصيل تواصل مع مدير المثيل. رجاءً لا تنشئ حساب جديد."
|
||||
accountDeleted: "حُذف الحساب"
|
||||
menu: "القائمة"
|
||||
divider: "فاصل"
|
||||
addItem: "إضافة عنصر"
|
||||
@ -561,7 +565,6 @@ tokenRequested: "منح حق الوصول إلى الحساب"
|
||||
pluginTokenRequestedDescription: "ستتمكن الإضافة من استخدام هذه الأذونات."
|
||||
notificationType: "أنواع الإشعارات"
|
||||
edit: "التعديل"
|
||||
useStarForReactionFallback: "استخدم ★ كبديل إذا كان التفاعل مجهولًا"
|
||||
emailServer: "خادم البريد الإلكتروني"
|
||||
emailConfigInfo: "يستخدم لتأكيد عنوان بريدك الإلكتروني ولإعادة تعيين كلمة المرور إن نسيتها."
|
||||
email: "البريد الإلكتروني "
|
||||
@ -803,6 +806,7 @@ size: "الحجم"
|
||||
numberOfColumn: "عدد الأعمدة"
|
||||
searchByGoogle: "غوغل"
|
||||
mutePeriod: "مدة الكتم"
|
||||
period: "ينتهي استطلاع الرأي في"
|
||||
indefinitely: "أبدًا"
|
||||
tenMinutes: "10 دقائق"
|
||||
oneHour: "ساعة"
|
||||
@ -819,6 +823,8 @@ cannotLoad: "تعذر التحميل"
|
||||
like: "أعجبني"
|
||||
show: "المظهر"
|
||||
color: "اللون"
|
||||
horizontal: "جانبي"
|
||||
youFollowing: "متابَع"
|
||||
_role:
|
||||
priority: "الأولوية"
|
||||
_priority:
|
||||
@ -989,6 +995,7 @@ _ago:
|
||||
weeksAgo: "منذ {n} أسابيع"
|
||||
monthsAgo: "منذ {n} أشهر"
|
||||
yearsAgo: "منذ {n} سنوات"
|
||||
invalid: "لا يوجد شيء هنا"
|
||||
_time:
|
||||
second: "ثا"
|
||||
minute: "د"
|
||||
@ -1019,12 +1026,11 @@ _tutorial:
|
||||
step7_3: "حظًا سعيدًا واستمتع بوقتك مع ميسكي! 🚀"
|
||||
_2fa:
|
||||
alreadyRegistered: "سجلت سلفًا جهازًا للاستيثاق بعاملين."
|
||||
registerDevice: "سجّل جهازًا جديدًا"
|
||||
registerKey: "تسجيل مفتاح أمان جديد"
|
||||
step1: "أولًا ثبّت تطبيق استيثاق على جهازك (مثل {a} و{b})."
|
||||
step2: "امسح رمز الاستجابة السريعة الموجد على الشاشة."
|
||||
step3: "أدخل الرمز الموجود في تطبيقك لإكمال التثبيت."
|
||||
step4: "من هذه اللحظة أثناء ولوجك سيُطلب منك الرمز."
|
||||
renewTOTPCancel: "ليس اﻵن"
|
||||
_permissions:
|
||||
"read:account": "اعرض معلومات حسابك"
|
||||
"write:account": "تعديل معلومات حسابك"
|
||||
@ -1133,8 +1139,6 @@ _visibility:
|
||||
followersDescription: "اجعلها مرئية لمتابِعيك فقط"
|
||||
specified: "مباشرة"
|
||||
specifiedDescription: "اجعلها مرئية لمستخدمين محددين"
|
||||
localOnly: "المحلي فقط"
|
||||
localOnlyDescription: "ليس مرئيًا للمستخدمين البِعاد"
|
||||
_postForm:
|
||||
replyPlaceholder: "رد على هذه الملاحظة…"
|
||||
quotePlaceholder: "اقتبس هذه الملاحظة…"
|
||||
@ -1298,3 +1302,6 @@ _deck:
|
||||
channel: "القنوات"
|
||||
mentions: "الإشارات"
|
||||
direct: "مباشرة"
|
||||
_webhookSettings:
|
||||
name: "الإسم"
|
||||
active: "مفعّل"
|
||||
|
@ -252,12 +252,12 @@ noMoreHistory: "আর কোন ইতিহাস নেই"
|
||||
startMessaging: "চ্যাট শুরু করুন"
|
||||
nUsersRead: "{n} জন পড়েছেন"
|
||||
agreeTo: "{0} এর প্রতি আমি সম্মত"
|
||||
tos: "পরিষেবার শর্তাদি"
|
||||
start: "শুরু করুন"
|
||||
home: "মূল পাতা"
|
||||
remoteUserCaution: "এই ব্যাবহারকারী রিমোট ইন্সট্যান্সের, নিম্নক্ত তথ্য অসম্পূর্ণ হতে পারে।"
|
||||
activity: "কার্যকলাপ"
|
||||
images: "ছবি"
|
||||
image: "ছবি"
|
||||
birthday: "জন্মদিন"
|
||||
yearsOld: "{age} বছর"
|
||||
registeredDate: "যোগদানের তারিখ"
|
||||
@ -382,12 +382,9 @@ about: "আপনার সম্পর্কে"
|
||||
aboutMisskey: "CherryPick সম্পর্কে"
|
||||
administrator: "প্রশাসক"
|
||||
token: "টোকেন"
|
||||
twoStepAuthentication: "২-ধাপ প্রমাণীকরণ"
|
||||
moderator: "মডারেটর"
|
||||
nUsersMentioned: "{n} জনকে উল্লেখ করা হয়েছে"
|
||||
securityKey: "সিকিউরিটি কী"
|
||||
securityKeyName: "কী'র নাম"
|
||||
registerSecurityKey: "সিকিউরিটি কী নিবন্ধন করুন"
|
||||
lastUsed: "শেষ ব্যাবহার করা হয়েছে"
|
||||
unregister: "নিবন্ধনমুক্ত হন"
|
||||
passwordLessLogin: "পাসওয়ার্ড-বিহীন লগইন সেট আপ করুন"
|
||||
@ -444,7 +441,6 @@ passwordMatched: "মিলেছে"
|
||||
passwordNotMatched: "মিলেনি"
|
||||
signinWith: "{x} এর সাহায্যে সাইন ইন করুন"
|
||||
signinFailed: "লগ ইন করা যায়নি। আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড চেক করুন."
|
||||
tapSecurityKey: "সিকিউরিটি কী স্পর্শ করুন"
|
||||
or: "অথবা"
|
||||
language: "ভাষা"
|
||||
uiLanguage: "UI এর ভাষা"
|
||||
@ -578,7 +574,6 @@ tokenRequested: "অ্যাকাউন্টে অ্যাক্সেস
|
||||
pluginTokenRequestedDescription: "এই প্লাগইনটি এখানে দেওয়া অনুমুতিসমূহ ব্যাবহার করবে"
|
||||
notificationType: "বিজ্ঞপ্তির ধরন"
|
||||
edit: "সম্পাদনা"
|
||||
useStarForReactionFallback: "রিঅ্যাকশনের ইমোজি না জানলে ★ ব্যবহার করুন"
|
||||
emailServer: "ইমেইল সার্ভার"
|
||||
enableEmail: "ইমেইল বিতরণ চালু করুন"
|
||||
emailConfigInfo: "আপনার ইমেল ঠিকানা নিশ্চিত করতে এবং আপনার পাসওয়ার্ড পুনরায় সেট করতে ব্যবহৃত হয়"
|
||||
@ -837,6 +832,7 @@ instanceDefaultLightTheme: "ইন্সট্যান্সের ডিফল
|
||||
instanceDefaultDarkTheme: "ইন্সট্যান্সের ডিফল্ট ডার্ক থিম"
|
||||
instanceDefaultThemeDescription: "অবজেক্ট ফরম্যাটে থিম কোড লিখুন"
|
||||
mutePeriod: "মিউটের সময়কাল"
|
||||
period: "পোলের সময়সীমা"
|
||||
indefinitely: "অনির্দিষ্ট"
|
||||
tenMinutes: "১০ মিনিট"
|
||||
oneHour: "১ ঘণ্টা"
|
||||
@ -854,6 +850,8 @@ account: "অ্যাকাউন্টগুলি"
|
||||
like: "পছন্দ করা"
|
||||
show: "প্রদর্শন"
|
||||
color: "রং"
|
||||
horizontal: "পাশে"
|
||||
youFollowing: "অনুসরণ করা হচ্ছে"
|
||||
_role:
|
||||
priority: "অগ্রাধিকার"
|
||||
_priority:
|
||||
@ -1115,6 +1113,7 @@ _ago:
|
||||
weeksAgo: "{n} সপ্তাহ আগে"
|
||||
monthsAgo: "{n} মাস আগে"
|
||||
yearsAgo: "{n} বছর আগে"
|
||||
invalid: "এখানে কিছুই নাই"
|
||||
_time:
|
||||
second: "সেকেন্ড"
|
||||
minute: "মিনিট"
|
||||
@ -1145,8 +1144,6 @@ _tutorial:
|
||||
step7_3: "এখন CherryPick উপভোগ করুন 🚀"
|
||||
_2fa:
|
||||
alreadyRegistered: "আপনি ইতিমধ্যে একটি 2-ফ্যাক্টর অথেনটিকেশন ডিভাইস নিবন্ধন করেছেন৷"
|
||||
registerDevice: "নতুন ডিভাইস নিবন্ধন করুন"
|
||||
registerKey: "সিকিউরিটি কী নিবন্ধন করুন"
|
||||
step1: "প্রথমে, আপনার ডিভাইসে {a} বা {b} এর মতো একটি অথেনটিকেশন অ্যাপ ইনস্টল করুন৷"
|
||||
step2: "এরপরে, অ্যাপের সাহায্যে প্রদর্শিত QR কোডটি স্ক্যান করুন।"
|
||||
step2Url: "ডেস্কটপ অ্যাপে, নিম্নলিখিত URL লিখুন:"
|
||||
@ -1267,8 +1264,6 @@ _visibility:
|
||||
followersDescription: "শুধুমাত্র আপনার অনুসরণকারীদের নিকট পোস্ট করুন"
|
||||
specified: "ডাইরেক্ট নোট"
|
||||
specifiedDescription: "শুধুমাত্র নির্দিষ্ট ব্যাবহারকারীর নিকট পাঠান"
|
||||
localOnly: "শুধুমাত্র লোকাল"
|
||||
localOnlyDescription: "রিমোট ব্যাবহারকারীদের নিকট দৃশ্যমান নয়"
|
||||
_postForm:
|
||||
replyPlaceholder: "নোটটির জবাব দিন..."
|
||||
quotePlaceholder: "নোটটিকে উদ্ধৃত করুন..."
|
||||
@ -1443,3 +1438,6 @@ _deck:
|
||||
channel: "চ্যানেলগুলি"
|
||||
mentions: "উল্লেখসমূহ"
|
||||
direct: "ডাইরেক্ট নোটগুলি"
|
||||
_webhookSettings:
|
||||
name: "নাম"
|
||||
active: "চালু"
|
||||
|
@ -216,6 +216,7 @@ instanceFollowers: "Seguidors del servidor"
|
||||
instanceUsers: "Usuaris del servidor"
|
||||
changePassword: "Canvia la contrasenya"
|
||||
security: "Seguretat"
|
||||
retypedNotMatch: "L'entrada no coincideix"
|
||||
currentPassword: "Contrasenya actual"
|
||||
newPassword: "Contrasenya nova"
|
||||
newPasswordRetype: "Contrasenya nou (repeteix-la)"
|
||||
@ -239,6 +240,7 @@ start: "Comença"
|
||||
home: "Inici"
|
||||
activity: "Activitat"
|
||||
images: "Imatges"
|
||||
image: "Imatges"
|
||||
birthday: "Aniversari"
|
||||
yearsOld: "{age} anys"
|
||||
registeredDate: "Data de registre"
|
||||
@ -315,13 +317,10 @@ userList: "Llistes"
|
||||
about: "Informació"
|
||||
aboutMisskey: "Quant a CherryPick"
|
||||
administrator: "Administrador/a"
|
||||
twoStepAuthentication: "Verificació en dos passos"
|
||||
moderator: "Moderador/a"
|
||||
moderation: "Moderació"
|
||||
nUsersMentioned: "{n} usuaris mencionats"
|
||||
securityKey: "Clau de seguretat"
|
||||
securityKeyName: "Nom de la clau"
|
||||
registerSecurityKey: "Registra la clau de seguretat"
|
||||
unregister: "Cancel·la el registre"
|
||||
passwordLessLogin: "Inici de sessió sense contrasenya"
|
||||
resetPassword: "Restableix la contrasenya"
|
||||
@ -334,7 +333,6 @@ help: "Ajuda"
|
||||
invites: "Convida"
|
||||
next: "Següent"
|
||||
noteOf: "Publicació de: {user}"
|
||||
inviteToGroup: "Convida'l al grup"
|
||||
invitations: "Convida"
|
||||
tags: "Etiquetes"
|
||||
docSource: "Font del document"
|
||||
@ -393,7 +391,6 @@ _antennaSources:
|
||||
homeTimeline: "Publicacions dels usuaris seguits"
|
||||
users: "Publicacions d'usuaris específics"
|
||||
userList: "Publicacions d'una llista d'usuaris"
|
||||
userGroup: "Publicacions d'usuaris d'un grup"
|
||||
_widgets:
|
||||
profile: "Perfil"
|
||||
instanceInfo: "Informació del fitxer d'instal·lació"
|
||||
|
@ -12,12 +12,14 @@ fetchingAsApObject: "Načítám data z Fediversu..."
|
||||
ok: "Potvrdit"
|
||||
gotIt: "Rozumím!"
|
||||
cancel: "Zrušit"
|
||||
noThankYou: "Ne děkuji"
|
||||
enterUsername: "Zadej uživatelské jméno"
|
||||
renotedBy: "{user} přeposla/a"
|
||||
noNotes: "Žádné poznámky"
|
||||
noNotifications: "Žádná oznámení"
|
||||
instance: "Instance"
|
||||
settings: "Nastavení"
|
||||
notificationSettings: "Nastavení oznámení"
|
||||
basicSettings: "Obecná nastavení"
|
||||
otherSettings: "Rozšířená nastavení"
|
||||
openInWindow: "Otevřít v novém okně"
|
||||
@ -236,12 +238,12 @@ noMoreHistory: "To je vše"
|
||||
startMessaging: "Zahájit chat"
|
||||
nUsersRead: "přečteno {n} uživateli"
|
||||
agreeTo: "Souhlasím s {0}"
|
||||
tos: "Podmínky užívání"
|
||||
start: "Začít"
|
||||
home: "Domů"
|
||||
remoteUserCaution: "Tyto informace nemusí být aktuální jelikož uživatel je ze vzdálené instance."
|
||||
activity: "Aktivita"
|
||||
images: "Obrázky"
|
||||
image: "Obrázky"
|
||||
birthday: "Datum narození"
|
||||
yearsOld: "{age} let"
|
||||
registeredDate: "Datum registrace"
|
||||
@ -337,12 +339,9 @@ about: "Informace"
|
||||
aboutMisskey: "O CherryPick"
|
||||
administrator: "Administrátor"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Dvoufaktorová autentikace"
|
||||
moderator: "Moderátor"
|
||||
nUsersMentioned: "{n} uživatelů zmínilo"
|
||||
securityKey: "Bezpečnostní klíč"
|
||||
securityKeyName: "Název klíče"
|
||||
registerSecurityKey: "Registrovat bezpečnostní klíč"
|
||||
lastUsed: "Naposledy použito"
|
||||
unregister: "Odstranit"
|
||||
resetPassword: "Resetovat heslo"
|
||||
@ -359,13 +358,7 @@ markAsReadAllTalkMessages: "Označit všechny zprávy za přečtené"
|
||||
help: "Nápověda"
|
||||
inputMessageHere: "Sem zadejte zprávu"
|
||||
close: "Zavřít"
|
||||
group: "Skupina"
|
||||
groups: "Skupiny"
|
||||
createGroup: "Vytvořit skupinu"
|
||||
ownedGroups: "Vlastněné skupiny"
|
||||
joinedGroups: "Členství ve skupinách"
|
||||
invites: "Pozvat"
|
||||
groupName: "Název skupiny"
|
||||
members: "Členové"
|
||||
transfer: "Převod"
|
||||
title: "Titulek"
|
||||
@ -374,7 +367,6 @@ enable: "Povolit"
|
||||
next: "Další"
|
||||
retype: "Zadejte znovu"
|
||||
noteOf: "{user} poznámky"
|
||||
inviteToGroup: "Pozvat do skupiny"
|
||||
quoteAttached: "Citace"
|
||||
quoteQuestion: "Přiložit jako citaci?"
|
||||
noMessagesYet: "Zatím tu nejsou žádné zprávy"
|
||||
@ -396,14 +388,10 @@ passwordMatched: "Hesla se schodují"
|
||||
passwordNotMatched: "Hesla se neschodují"
|
||||
signinWith: "Přihlásit se s {x}"
|
||||
signinFailed: "Nelze se přihlásit. Zkontrolujte prosím své uživatelské jméno a heslo."
|
||||
tapSecurityKey: "Ťukněte na bezpečnostní klíč"
|
||||
or: "Nebo"
|
||||
language: "Jazyk"
|
||||
uiLanguage: "Jazyk uživatelského rozhraní"
|
||||
groupInvited: "Pozvat do skupiny"
|
||||
aboutX: "O {x}"
|
||||
youHaveNoGroups: "Nemáte žádné skupiny"
|
||||
joinOrCreateGroup: "Můžete požádat o pozvání do stávající skupiny nebo vytvořit novou."
|
||||
noHistory: "Žádná historie"
|
||||
signinHistory: "Historie přihlášení"
|
||||
category: "Kategorie"
|
||||
@ -673,13 +661,13 @@ _sfx:
|
||||
_ago:
|
||||
future: "Budoucí"
|
||||
justNow: "Teď"
|
||||
invalid: "Nic nebylo nalezeno"
|
||||
_time:
|
||||
second: "Sekund"
|
||||
minute: "Minut"
|
||||
hour: "Hodin"
|
||||
_2fa:
|
||||
registerDevice: "Přidat zařízení"
|
||||
registerKey: "Přidat bezpečnostní klíč"
|
||||
renewTOTPCancel: "Ne děkuji"
|
||||
_weekday:
|
||||
sunday: "Neděle"
|
||||
monday: "Pondělí"
|
||||
@ -773,7 +761,6 @@ _pages:
|
||||
button: "Tlačítko"
|
||||
_notification:
|
||||
youWereFollowed: "Máte nového následovníka"
|
||||
youWereInvitedToGroup: "Pozvat do skupiny"
|
||||
_types:
|
||||
all: "Vše"
|
||||
follow: "Sledovaní"
|
||||
@ -793,3 +780,6 @@ _deck:
|
||||
list: "Seznamy"
|
||||
channel: "Kanály"
|
||||
mentions: "Zmínění"
|
||||
_webhookSettings:
|
||||
name: "Jméno"
|
||||
active: "Zapnuto"
|
||||
|
@ -20,6 +20,7 @@ noNotes: "Keine Notizen gefunden"
|
||||
noNotifications: "Keine Benachrichtigungen gefunden"
|
||||
instance: "Instanz"
|
||||
settings: "Einstellungen"
|
||||
notificationSettings: "Benachrichtigungseinstellungen"
|
||||
basicSettings: "Allgemeine Einstellungen"
|
||||
otherSettings: "Weitere Einstellungen"
|
||||
openInWindow: "In einem Fenster öffnen"
|
||||
@ -67,7 +68,7 @@ import: "Import"
|
||||
export: "Export"
|
||||
files: "Dateien"
|
||||
download: "Herunterladen"
|
||||
driveFileDeleteConfirm: "Möchtest du die Datei „{name}“ wirklich löschen? Notizen mit dieser Datei werden ebenso verschwinden."
|
||||
driveFileDeleteConfirm: "Möchtest du die Datei „{name}“ wirklich löschen? Sie wird in allen Inhalten, die sie verwenden, auch verschwinden."
|
||||
unfollowConfirm: "Möchtest du {name} wirklich nicht mehr folgen?"
|
||||
exportRequested: "Du hast einen Export angefragt. Dies kann etwas Zeit in Anspruch nehmen. Sobald der Export abgeschlossen ist, wird er deiner Drive hinzugefügt."
|
||||
importRequested: "Du hast einen Import angefragt. Dies kann etwas Zeit in Anspruch nehmen."
|
||||
@ -103,6 +104,8 @@ renoted: "Renote getätigt."
|
||||
cantRenote: "Renote dieses Beitrags nicht möglich."
|
||||
cantReRenote: "Renote einer Renote nicht möglich."
|
||||
quote: "Zitieren"
|
||||
inChannelRenote: "Kanal-interner Renote"
|
||||
inChannelQuote: "Kanal-internes Zitat"
|
||||
pinnedNote: "Angeheftete Notiz"
|
||||
pinned: "Angeheftet"
|
||||
you: "Du"
|
||||
@ -120,6 +123,8 @@ unmarkAsSensitive: "Als nicht NSFW markieren"
|
||||
enterFileName: "Dateinamen eingeben"
|
||||
mute: "Stummschalten"
|
||||
unmute: "Stummschaltung aufheben"
|
||||
renoteMute: "Renotes stummschalten"
|
||||
renoteUnmute: "Renote-Stummschaltung aufheben"
|
||||
block: "Blockieren"
|
||||
unblock: "Blockierung aufheben"
|
||||
suspend: "Sperren"
|
||||
@ -151,6 +156,7 @@ flagShowTimelineReplies: "Antworten in der Chronik anzeigen"
|
||||
flagShowTimelineRepliesDescription: "Ist diese Option aktiviert, so werden Antworten von Benutzern auf die Notizen anderer Benutzer in der Chronik angezeigt."
|
||||
autoAcceptFollowed: "Follow-Anfragen von Benutzern, denen du folgst, automatisch akzeptieren"
|
||||
addAccount: "Benutzerkonto hinzufügen"
|
||||
reloadAccountsList: "Benutzerkontoliste aktualisieren"
|
||||
loginFailed: "Anmeldung fehlgeschlagen"
|
||||
showOnRemote: "Auf Ursprungsinstanz ansehen"
|
||||
general: "Allgemein"
|
||||
@ -191,7 +197,7 @@ instanceInfo: "Instanzinformationen"
|
||||
statistics: "Statistiken"
|
||||
clearQueue: "Warteschlange leeren"
|
||||
clearQueueConfirmTitle: "Möchtest du die Warteschlange wirklich leeren?"
|
||||
clearQueueConfirmText: "Hierdurch werden jegliche noch nicht gesendete Notizen nicht förderiert. Normalerweise wird dies nicht benötigt."
|
||||
clearQueueConfirmText: "Hierdurch werden jegliche noch nicht gesendete Notizen nicht föderiert. Normalerweise wird dies nicht benötigt."
|
||||
clearCachedFiles: "Cache leeren"
|
||||
clearCachedFilesConfirm: "Sollen alle im Cache gespeicherten Dateien von anderen Instanzen wirklich gelöscht werden?"
|
||||
blockedInstances: "Blockierte Instanzen"
|
||||
@ -257,14 +263,16 @@ noMoreHistory: "Kein weiterer Verlauf vorhanden"
|
||||
startMessaging: "Neuen Chat erstellen"
|
||||
nUsersRead: "Von {n} Benutzern gelesen"
|
||||
agreeTo: "Ich stimme {0} zu"
|
||||
agree: "Zustimmen"
|
||||
agreeBelow: "Ich stimme Untenstehendem zu"
|
||||
basicNotesBeforeCreateAccount: "Wichtige Infos"
|
||||
tos: "Nutzungsbedingungen"
|
||||
termsOfService: "Nutzungsbedingungen"
|
||||
start: "Anfangen"
|
||||
home: "Startseite"
|
||||
remoteUserCaution: "Diese Informationen sind möglicherweise unvollständig, da der Benutzer von einer fremden Instanz stammt."
|
||||
activity: "Aktivität"
|
||||
images: "Bilder"
|
||||
image: "Bild"
|
||||
birthday: "Geburtstag"
|
||||
yearsOld: "{age} Jahre alt"
|
||||
registeredDate: "Registrationsdatum"
|
||||
@ -343,7 +351,7 @@ basicInfo: "Grundlegende Informationen"
|
||||
pinnedUsers: "Angeheftete Benutzer"
|
||||
pinnedUsersDescription: "Gib durch Leerzeichen getrennte Benutzer an, die an die \"Erkunden\"-Seite angeheftet werden sollen."
|
||||
pinnedPages: "Angeheftete Seiten"
|
||||
pinnedPagesDescription: "Gib durch Leerzeilen getrennte Pfäde zu Seiten an, die an die Startseite dieser Instanz angeheftet werden sollen.\n"
|
||||
pinnedPagesDescription: "Gib durch Leerzeilen getrennte Pfade zu Seiten an, die an die Startseite dieser Instanz angeheftet werden sollen."
|
||||
pinnedClipId: "ID des anzuheftenden Clips"
|
||||
pinnedNotes: "Angeheftete Notizen"
|
||||
hcaptcha: "hCaptcha"
|
||||
@ -391,16 +399,19 @@ about: "Über"
|
||||
aboutMisskey: "Über CherryPick"
|
||||
administrator: "Administrator"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Zwei-Faktor-Authentifizierung"
|
||||
2fa: "Zwei-Faktor-Authentifizierung"
|
||||
totp: "Authentifizierungs-App"
|
||||
totpDescription: "Logge dich via Authentifizierungs-App mit Einmalpasswort ein"
|
||||
moderator: "Moderator"
|
||||
moderation: "Moderation"
|
||||
nUsersMentioned: "Von {n} Benutzern erwähnt"
|
||||
securityKeyAndPasskey: "Security-Tokens und Passkeys"
|
||||
securityKey: "Sicherheitsschlüssel"
|
||||
securityKeyName: "Schlüsselname"
|
||||
registerSecurityKey: "Sicherheitsschlüssel registrieren"
|
||||
lastUsed: "Zuletzt benutzt"
|
||||
lastUsedAt: "Zuletzt verwendet: {t}"
|
||||
unregister: "Deaktivieren"
|
||||
passwordLessLogin: "Passwortloses Anmelden einrichten"
|
||||
passwordLessLogin: "Passwortloses Anmelden"
|
||||
passwordLessLoginDescription: "Ermöglicht passwortfreies Einloggen, nur via Security-Token oder Passkey"
|
||||
resetPassword: "Passwort zurücksetzen"
|
||||
newPasswordIs: "Das neue Passwort ist „{password}“"
|
||||
reduceUiAnimation: "Animationen der Benutzeroberfläche reduzieren"
|
||||
@ -454,7 +465,6 @@ passwordMatched: "Stimmt überein"
|
||||
passwordNotMatched: "Stimmt nicht überein"
|
||||
signinWith: "Mit {x} anmelden"
|
||||
signinFailed: "Anmeldung fehlgeschlagen. Überprüfe Benutzername und Passswort."
|
||||
tapSecurityKey: "Tippe deinen Sicherheitsschlüssel an"
|
||||
or: "Oder"
|
||||
language: "Sprache"
|
||||
uiLanguage: "Sprache der Benutzeroberfläche"
|
||||
@ -465,16 +475,21 @@ native: "Nativ"
|
||||
disableDrawer: "Keine ausfahrbaren Menüs verwenden"
|
||||
youHaveNoGroups: "Keine Gruppen vorhanden"
|
||||
joinOrCreateGroup: "Lass dich zu einer Gruppe einladen oder erstelle deine eigene."
|
||||
showNoteActionsOnlyHover: "Notizmenü nur bei Mouseover anzeigen"
|
||||
noHistory: "Kein Verlauf gefunden"
|
||||
signinHistory: "Anmeldungsverlauf"
|
||||
enableAdvancedMfm: "Erweitertes MFM aktivieren"
|
||||
enableAnimatedMfm: "Animiertes MFM aktivieren"
|
||||
doing: "In Bearbeitung …"
|
||||
category: "Kategorie"
|
||||
tags: "Schlagwörter"
|
||||
tags: "Aliasse"
|
||||
docSource: "Quellcode dieses Dokuments"
|
||||
createAccount: "Benutzerkonto erstellen"
|
||||
existingAccount: "Bestehendes Benutzerkonto"
|
||||
regenerate: "Regenerieren"
|
||||
fontSize: "Schriftgröße"
|
||||
mediaListWithOneImageAppearance: "Höhe von Medienlisten mit nur einem Bild"
|
||||
limitTo: "Auf {x} begrenzen"
|
||||
noFollowRequests: "Keine ausstehenden Follow-Anfragen vorhanden"
|
||||
openImageInNewTab: "Bilder in neuem Tab öffnen"
|
||||
dashboard: "Dashboard"
|
||||
@ -502,15 +517,17 @@ objectStoragePrefixDesc: "Dateien werden in Ordnern unter diesem Prefix gespeich
|
||||
objectStorageEndpoint: "Endpoint"
|
||||
objectStorageEndpointDesc: "Im Falle von S3 leerlassen, für andere Anbieter den relevanten Endpoint im Format „<host>“ oder „<host>:<port>“ angeben."
|
||||
objectStorageRegion: "Region"
|
||||
objectStorageRegionDesc: "Gib eine Region wie z.B. „xx-east-1“ an. Falls dein Anbieter nicht zwischen Regionen unterscheidet, lass dieses Feld leer oder gib „us-east-1“ an."
|
||||
objectStorageRegionDesc: "Gib eine Region wie z.B. „xx-east-1“ an. Falls dein Anbieter nicht zwischen Regionen unterscheidet, gib „us-east-1“ an. Lasse es leer bei Verwendung von AWS Konfigurationsdateien oder Umgebungsvariablen."
|
||||
objectStorageUseSSL: "SSL verwenden"
|
||||
objectStorageUseSSLDesc: "Deaktiviere dies, falls du für API-Verbindungen kein HTTPS verwenden wirst"
|
||||
objectStorageUseProxy: "Über Proxy verbinden"
|
||||
objectStorageUseProxyDesc: "Deaktiviere dies, falls du für Verbindungen zur API keinen Proxy verwenden wirst"
|
||||
objectStorageSetPublicRead: "Bei Upload auf \"public-read\" stellen"
|
||||
s3ForcePathStyleDesc: "Ist s3ForcePathStyle aktiviert, so muss der Bucketname nicht im Hostnamen der URL, sondern im Pfad der URL angeben werden. Diese Option muss eventuell aktiviert werden, wenn Dienste wie z.B. eine selbstbetriebene Minio-Instanz verwendet werden."
|
||||
serverLogs: "Serverprotokolle"
|
||||
deleteAll: "Alle löschen"
|
||||
showFixedPostForm: "Bereich zum Schreiben neuer Notizen am Anfang der Chronik anzeigen"
|
||||
showFixedPostFormInChannel: "Bereich zum Schreiben neuer Notizen am Anfang der Chronik anzeigen (Kanäle)"
|
||||
newNoteRecived: "Es gibt neue Notizen"
|
||||
sounds: "Töne"
|
||||
sound: "Töne"
|
||||
@ -548,9 +565,14 @@ userSuspended: "Dieser Benutzer wurde gesperrt."
|
||||
userSilenced: "Dieser Benutzer wurde instanzweit stummgeschaltet."
|
||||
yourAccountSuspendedTitle: "Dieses Benutzerkonto ist gesperrt"
|
||||
yourAccountSuspendedDescription: "Dieses Benutzerkonto wurde gesperrt, da es gegen die Nutzungsbedingungen dieses Servers verstoßen hat. Trete mit dem Betreiber in Kontakt, falls du weitere Details erfahren möchtest. Bitte erstelle kein neues Benutzerkonto."
|
||||
tokenRevoked: "Ungültiger Token"
|
||||
tokenRevokedDescription: "Der Token ist abgelaufen. Bitte melde dich erneut an."
|
||||
accountDeleted: "Benutzerkonto wurde gelöscht"
|
||||
accountDeletedDescription: "Dieses Konto wurde gelöscht."
|
||||
menu: "Menü"
|
||||
divider: "Trenner"
|
||||
addItem: "Element hinzufügen"
|
||||
rearrange: "Sortieren"
|
||||
relays: "Relays"
|
||||
addRelay: "Relay hinzufügen"
|
||||
inboxUrl: "inbox-URL"
|
||||
@ -591,7 +613,6 @@ tokenRequested: "Zugriff zum Benutzerkonto gewähren"
|
||||
pluginTokenRequestedDescription: "Dieses Plugin wird die hier konfigurierten Berechtigungen verwenden können."
|
||||
notificationType: "Art der Benachrichtigung"
|
||||
edit: "Bearbeiten"
|
||||
useStarForReactionFallback: "Verwende ★ falls das Reaktions-Emoji unbekannt ist"
|
||||
emailServer: "Email-Server"
|
||||
enableEmail: "Email-Versand aktivieren"
|
||||
emailConfigInfo: "Zur Email-Bestätigung bei Registrierung oder zum Zurücksetzen des Passworts verwendet"
|
||||
@ -695,6 +716,8 @@ contact: "Kontakt"
|
||||
useSystemFont: "Standardschriftart des Systems verwenden"
|
||||
clips: "Clips"
|
||||
experimentalFeatures: "Experimentelle Funktionalitäten"
|
||||
experimental: "Experimentell"
|
||||
thisIsExperimentalFeature: "Dies ist eine experimentelle Funktion. Änderungen an ihrer Funktionsweise sind vorbehalten, zudem kann eine Verwendung zu unerwarteten Effekten führen."
|
||||
developer: "Entwickler"
|
||||
makeExplorable: "Benutzerkonto in „Erkunden“ sichtbar machen"
|
||||
makeExplorableDescription: "Wenn diese Option deaktiviert ist, ist dein Benutzerkonto nicht im „Erkunden“-Bereich sichtbar."
|
||||
@ -785,6 +808,7 @@ popularPosts: "Beliebte Beiträge"
|
||||
shareWithNote: "Mit Notiz teilen"
|
||||
ads: "Werbung"
|
||||
expiration: "Frist"
|
||||
startingperiod: "Start"
|
||||
memo: "Merkzettel"
|
||||
priority: "Priorität"
|
||||
high: "Hoch"
|
||||
@ -817,6 +841,7 @@ lastCommunication: "Letzte Kommunikation"
|
||||
resolved: "Gelöst"
|
||||
unresolved: "Ungelöst"
|
||||
breakFollow: "Follower entfernen"
|
||||
breakFollowConfirm: "Diesen Follower wirklich entfernen?"
|
||||
itsOn: "Eingeschaltet"
|
||||
itsOff: "Ausgeschaltet"
|
||||
emailRequiredForSignup: "Angabe einer Email-Adresse als benötigt markieren"
|
||||
@ -853,11 +878,13 @@ instanceDefaultLightTheme: "Instanzweites Standardfarbschema (Hell)"
|
||||
instanceDefaultDarkTheme: "Instanzweites Standardfarbschema (Dunkel)"
|
||||
instanceDefaultThemeDescription: "Gib den Farbschemencode im Objektformat ein."
|
||||
mutePeriod: "Stummschaltungsdauer"
|
||||
period: "Zeitlimit"
|
||||
indefinitely: "Dauerhaft"
|
||||
tenMinutes: "10 Minuten"
|
||||
oneHour: "Eine Stunde"
|
||||
oneDay: "Einen Tag"
|
||||
oneWeek: "Eine Woche"
|
||||
oneMonth: "1 Monat"
|
||||
reflectMayTakeTime: "Es kann etwas dauern, bis sich dies widerspiegelt."
|
||||
failedToFetchAccountInformation: "Benutzerkontoinformationen konnten nicht abgefragt werden"
|
||||
rateLimitExceeded: "Versuchsanzahl überschritten"
|
||||
@ -899,6 +926,7 @@ remoteOnly: "Nur für fremde Instanzen"
|
||||
failedToUpload: "Hochladen fehlgeschlagen"
|
||||
cannotUploadBecauseInappropriate: "Diese Datei kann nicht hochgeladen werden, da Anteile der Datei als möglicherweise NSFW festgestellt wurden."
|
||||
cannotUploadBecauseNoFreeSpace: "Die Datei konnte nicht hochgeladen werden, da dein Drive-Speicherplatz aufgebraucht ist."
|
||||
cannotUploadBecauseExceedsFileSizeLimit: "Diese Datei kann wegen Überschreitung der Maximalgröße nicht hochgeladen werden."
|
||||
beta: "Beta"
|
||||
enableAutoSensitive: "NSFW-Automarkierung"
|
||||
enableAutoSensitiveDescription: "Setzt soweit möglich durch Verwendung von Machine Learning automatisch NSFW-Markierungen für Medien, die NSFW-Anteile beinhalten. Auch wenn du diese Option deaktiviert hast, ist sie möglicherweise auf Instanzebene aktiviert."
|
||||
@ -912,9 +940,10 @@ subscribePushNotification: "Push-Benachrichtigungen aktivieren"
|
||||
unsubscribePushNotification: "Push-Benachrichtigungen deaktivieren"
|
||||
pushNotificationAlreadySubscribed: "Push-Benachrichtigungen sind bereits aktiviert"
|
||||
pushNotificationNotSupported: "Entweder dein Browser oder deine Instanz unterstützt Push-Benachrichtigungen nicht"
|
||||
sendPushNotificationReadMessage: "Push-Benachrichtigungen löschen, sobald die relevanten Benachrichtigungen oder Nachrichten gelesen wurden"
|
||||
sendPushNotificationReadMessageCaption: "Eine Push-Benachrichtigungen mit dem Inhalt \"{emptyPushNotificationMessage}\" wird kurz eingeblendet. Dies kann gegebenenfalls den Batterieverbrauch deines Gerätes erhöhen."
|
||||
sendPushNotificationReadMessage: "Push-Benachrichtigungen löschen, sobald sie gelesen wurden"
|
||||
sendPushNotificationReadMessageCaption: "Dies kann gegebenenfalls den Batterieverbrauch deines Gerätes erhöhen."
|
||||
windowMaximize: "Maximieren"
|
||||
windowMinimize: "Minimieren"
|
||||
windowRestore: "Wiederherstellen"
|
||||
caption: "Beschreibung"
|
||||
loggedInAsBot: "Momentan als Bot angemeldet"
|
||||
@ -931,6 +960,7 @@ didYouLikeMisskey: "Gefällt dir CherryPick?"
|
||||
pleaseDonate: "CherryPick ist die kostenlose Software, die von {host} verwendet wird. Wir würden uns über Spenden freuen, damit dessen Entwicklung weitergeführt werden kann!"
|
||||
roles: "Rollen"
|
||||
role: "Rolle"
|
||||
noRole: "Rolle nicht gefunden"
|
||||
normalUser: "Standardbenutzer"
|
||||
undefined: "Undefiniert"
|
||||
assign: "Zuweisen"
|
||||
@ -940,11 +970,124 @@ manageCustomEmojis: "Kann benutzerdefinierte Emojis verwalten"
|
||||
youCannotCreateAnymore: "Du hast das Erstellungslimit erreicht."
|
||||
cannotPerformTemporary: "Vorübergehend nicht verfügbar"
|
||||
cannotPerformTemporaryDescription: "Diese Aktion ist wegen des Überschreitenes des Ausführungslimits temporär nicht verfügbar. Bitte versuche es nach einiger Zeit erneut."
|
||||
invalidParamError: "Ungültige Parameter"
|
||||
invalidParamErrorDescription: "Die Anfrageparameter sind fehlerhaft. Dies liegt meist an einem Bug, kann aber auch durch eine zu langen Eingabe o.ä. ausgelöst werden."
|
||||
permissionDeniedError: "Aktion verweigert"
|
||||
permissionDeniedErrorDescription: "Dieses Benutzerkonto besitzt nicht die Berechtigung, um diese Aktion auszuführen."
|
||||
preset: "Vorlage"
|
||||
selectFromPresets: "Aus Vorlagen wählen"
|
||||
achievements: "Errungenschaften"
|
||||
gotInvalidResponseError: "Ungültige Antwort des Servers"
|
||||
gotInvalidResponseErrorDescription: "Eventuell ist der Server momentan nicht erreichbar oder untergeht Wartungsarbeiten. Bitte versuche es später noch einmal."
|
||||
thisPostMayBeAnnoying: "Dieser Beitrag stört eventuell andere Benutzer."
|
||||
thisPostMayBeAnnoyingHome: "Zur Startseite schicken"
|
||||
thisPostMayBeAnnoyingCancel: "Abbrechen"
|
||||
thisPostMayBeAnnoyingIgnore: "Trotzdem schicken"
|
||||
collapseRenotes: "Bereits gesehene Renotes verkürzt anzeigen"
|
||||
internalServerError: "Serverinterner Fehler"
|
||||
internalServerErrorDescription: "Im Server ist ein unerwarteter Fehler aufgetreten."
|
||||
copyErrorInfo: "Fehlerdetails kopieren"
|
||||
joinThisServer: "Bei dieser Instanz registrieren"
|
||||
exploreOtherServers: "Eine andere Instanz finden"
|
||||
letsLookAtTimeline: "Die Chronik durchstöbern"
|
||||
disableFederationConfirm: "Föderation wirklich deaktivieren?"
|
||||
disableFederationConfirmWarn: "Auch mit deaktivierter Föderation bleiben Notizen, sofern nicht umgestellt, öffentlich. In den meisten Fällen wird dies nicht benötigt."
|
||||
disableFederationOk: "Deaktivieren"
|
||||
invitationRequiredToRegister: "Diese Instanz ist einladungsbasiert. Du musst einen validen Einladungscode eingeben, um dich zu registrieren."
|
||||
emailNotSupported: "Diese Instanz unterstützt das Versenden von Emails nicht"
|
||||
postToTheChannel: "In Kanal senden"
|
||||
cannotBeChangedLater: "Kann später nicht mehr geändert werden."
|
||||
reactionAcceptance: "Reaktionsannahme"
|
||||
likeOnly: "Nur \"Gefällt mir\""
|
||||
likeOnlyForRemote: "Nur \"Gefällt mir\" für fremde Instanzen"
|
||||
rolesAssignedToMe: "Mir zugewiesene Rollen"
|
||||
resetPasswordConfirm: "Wirklich Passwort zurücksetzen?"
|
||||
sensitiveWords: "Sensible Wörter"
|
||||
sensitiveWordsDescription: "Die Notizsichtbarkeit aller Notizen, die diese Wörter enthalten, wird automatisch auf \"Startseite\" gesetzt. Durch Zeilenumbrüche können mehrere konfiguriert werden."
|
||||
sensitiveWordsDescription2: "Durch die Verwendung von Leerzeichen können AND-Verknüpfungen angegeben werden und durch das Umgeben von Schrägstrichen können reguläre Ausdrücke verwendet werden."
|
||||
notesSearchNotAvailable: "Die Notizsuche ist nicht verfügbar."
|
||||
license: "Lizenz"
|
||||
unfavoriteConfirm: "Wirklich aus Favoriten entfernen?"
|
||||
myClips: "Meine Clips"
|
||||
drivecleaner: "Drive-Reiniger"
|
||||
retryAllQueuesNow: "Sofort Warteschlangen erneut ausführen"
|
||||
retryAllQueuesConfirmTitle: "Wirklich erneut versuchen?"
|
||||
retryAllQueuesConfirmText: "Dies wird zu einer temporären Erhöhung der Serverlast führen."
|
||||
enableChartsForRemoteUser: "Diagramme für Nutzer fremder Instanzen erstellen"
|
||||
enableChartsForFederatedInstances: "Diagramme für fremde Instanzen erstellen"
|
||||
showClipButtonInNoteFooter: "\"Clip\" zum Notizmenu hinzufügen"
|
||||
largeNoteReactions: "Reaktionen vergrößert anzeigen"
|
||||
noteIdOrUrl: "Notiz-ID oder URL"
|
||||
video: "Video"
|
||||
videos: "Videos"
|
||||
dataSaver: "Datensparmodus"
|
||||
accountMigration: "Kontomigration"
|
||||
accountMoved: "Dieser Benutzer ist zu einem neuen Konto migriert:"
|
||||
accountMovedShort: "Dieses Konto wurde migriert."
|
||||
operationForbidden: "Aktion nicht möglich"
|
||||
forceShowAds: "Werbung immer anzeigen"
|
||||
addMemo: "Bemerkung hinzufügen"
|
||||
editMemo: "Bemerkung bearbeiten"
|
||||
reactionsList: "Reaktionen"
|
||||
renotesList: "Renotes"
|
||||
notificationDisplay: "Benachrichtigungen"
|
||||
leftTop: "Oben links"
|
||||
rightTop: "Oben rechts"
|
||||
leftBottom: "Unten links"
|
||||
rightBottom: "Unten rechts"
|
||||
stackAxis: "Stapelrichtung"
|
||||
vertical: "Vertikal"
|
||||
horizontal: "Horizontal"
|
||||
position: "Position"
|
||||
serverRules: "Serverregeln"
|
||||
pleaseConfirmBelowBeforeSignup: "Lies bitte Untenstehendes vor der Registration."
|
||||
pleaseAgreeAllToContinue: "Zum Fortfahren muss allen obigen Feldern zugestimmt werden."
|
||||
continue: "Fortfahren"
|
||||
preservedUsernames: "Reservierte Benutzernamen"
|
||||
preservedUsernamesDescription: "Gib zu reservierende Benutzernamen durch Zeilenumbrüche getrennt an. Diese werden für die Registrierung gesperrt, können aber von Administratoren zur manuellen Erstellung von Konten verwendet werden. Existierende Konten, die diese Namen bereits verwenden, werden nicht beeinträchtigt."
|
||||
createNoteFromTheFile: "Notiz für diese Datei schreiben"
|
||||
archive: "Archivieren"
|
||||
channelArchiveConfirmTitle: "{name} wirklich archivieren?"
|
||||
channelArchiveConfirmDescription: "Ein archivierter Kanal taucht nicht mehr in der Kanalliste oder in Suchergebnissen auf. Zudem können ihm keine Beiträge mehr hinzugefügt werden."
|
||||
thisChannelArchived: "Dieser Kanal wurde archiviert."
|
||||
displayOfNote: "Anzeige von Notizen"
|
||||
initialAccountSetting: "Kontoeinrichtung"
|
||||
youFollowing: "Gefolgt"
|
||||
preventAiLearning: "Verwendung in machinellem Lernen (Generative bzw. Prediktive AI/KI) ablehnen"
|
||||
preventAiLearningDescription: "Fordert Crawler auf, gepostetes Text- oder Bildmaterial usw. nicht in Datensätzen für maschinelles Lernen (Generative bzw. Prediktive AI/KI) zu verwenden. Dies wird durch das Hinzufügen einer \"noai\"-Flag in der HTML-Antwort des jeweiligen Inhalts erreicht. Da diese Flag jedoch ignoriert werden kann, ist eine vollständige Verhinderung hierdurch nicht möglich."
|
||||
options: "Optionen"
|
||||
specifyUser: "Spezifischer Benutzer"
|
||||
_initialAccountSetting:
|
||||
accountCreated: "Dein Konto wurde erfolgreich erstellt!"
|
||||
letsStartAccountSetup: "Lass uns nun dein Konto einrichten."
|
||||
letsFillYourProfile: "Lass uns zuerst dein Profil einrichten."
|
||||
profileSetting: "Profileinstellungen"
|
||||
privacySetting: "Privatsphäreneinstellungen"
|
||||
theseSettingsCanEditLater: "Diese Einstellungen kannst du jederzeit ändern."
|
||||
youCanEditMoreSettingsInSettingsPageLater: "In den Einstellungen findest du noch viele weitere Optionen. Schau dort später mal vorbei."
|
||||
followUsers: "Folge zuerst ein paar Nutzern, um deine Chronik zu füllen."
|
||||
pushNotificationDescription: "Durch die Aktivierung von Push-Benachrichtigungen kannst du von {name} Benachrichtigungen direkt auf dein Gerät erhalten."
|
||||
initialAccountSettingCompleted: "Kontoeinrichtung abgeschlossen!"
|
||||
haveFun: "Viel Spaß mit {name}!"
|
||||
ifYouNeedLearnMore: "Besuche {link}, falls du mehr über {name} (Misskey) lernen möchtest."
|
||||
skipAreYouSure: "Die Kontoeinrichtung wirklich überspringen?"
|
||||
_serverRules:
|
||||
description: "Eine Reihe von Regeln, die vor der Registrierung angezeigt werden. Eine Zusammenfassung der Nutzungsbedingungen anzuzeigen ist empfohlen."
|
||||
_accountMigration:
|
||||
moveFrom: "Von einem anderen Konto zu diesem migrieren"
|
||||
moveFromSub: "Alias für ein anderes Konto erstellen"
|
||||
moveFromLabel: "Migrationsursprung #{n}"
|
||||
moveFromDescription: "Um von einem anderen Konto zu diesem zu migrieren, muss zuvor hier ein Alias eingerichtet werden.\nGib das Konto, von dem migriert werden soll, in folgendem Format ein: @username@server.example.com\n\nZum Löschen des Alias kann das Feld leergelassen werden (nicht empfohlen)."
|
||||
moveTo: "Dieses Konto zu einem neuen migrieren"
|
||||
moveToLabel: "Umzugsziel:"
|
||||
moveCannotBeUndone: "Die Migration eines Benutzerkontos ist unwiderruflich."
|
||||
moveAccountDescription: "Hierdurch wird dein Konto zu einem anderen migriert.\n ・Follower von diesem Konto werden automatisch auf das neue Konto migriert\n ・Dieses Konto wird allen Nutzern, denen es derzeit folgt, nicht mehr folgen\n ・Mit diesem Konto können keine neuen Notizen usw. erstellt werden\n\nWährend die Migration der Follower automatisch erfolgt, muss die Migration der Konten, denen du folgst, manuell vorbereitet werden. Exportiere hierzu die Liste der gefolgten Nutzer über das Einstellungsmenu, und importiere diese Liste im neuen Konto. Das gleiche Verfahren gilt für erstellte Listen und stummgeschaltete oder blockierte Nutzer.\n\n(Diese Erklärung gilt für Misskey v13.12.0 oder später. Die Funktionsweise andere ActivityPub-Software, beispielsweise Mastodon, kann hiervon abweichen.)"
|
||||
moveAccountHowTo: "Um ein Konto zu migrieren, erstelle zuerst auf dem Umzugsziel einen Alias für dieses Konto.\nGib dann das Umzugsziel in folgendem Format ein: @username@server.example.com"
|
||||
startMigration: "Migrieren"
|
||||
migrationConfirm: "Dieses Konto wirklich zu {account} umziehen? Sobald der Umzug beginnt, kann er nicht rückgängig gemacht werden, und dieses Konto nicht wieder im ursprünglichen Zustand verwendet werden."
|
||||
movedAndCannotBeUndone: "\nDieses Konto wurde migriert.\nDiese Aktion ist unwiderruflich."
|
||||
postMigrationNote: "Dieses Konto wird 24 Stunden nach Abschluss der Migration allen Konten, denen es derzeit folgt, nicht mehr folgen.\n\nSowohl die Anzahl der Follower als auch die der Konten, denen dieses Konto folgt, wird dann auf Null gesetzt. Um zu vermeiden, dass Follower dieses Kontos dessen Beiträge, welche nur für Follower bestimmt sind, nicht mehr sehen können, werden sie diesem Konto jedoch weiterhin folgen."
|
||||
movedTo: "Umzugsziel:"
|
||||
_achievements:
|
||||
earnedAt: "Freigeschaltet am"
|
||||
_types:
|
||||
@ -971,7 +1114,7 @@ _achievements:
|
||||
title: "Supernotiz"
|
||||
description: "10.000 Notizen gesendet"
|
||||
_notes20000:
|
||||
title: "Brauche... mehr... Notizen"
|
||||
title: "Brauche... mehr... Notizen..."
|
||||
description: "20.000 Notizen gesendet"
|
||||
_notes30000:
|
||||
title: "Notizen, Notizen, Notizen"
|
||||
@ -1092,7 +1235,7 @@ _achievements:
|
||||
title: "Beliebt"
|
||||
description: "Die Anzahl deiner Follower hat 100 überschritten"
|
||||
_followers300:
|
||||
title: "Stellt euch bitte in einer Reihe auf"
|
||||
title: "Eine geordnete Reihe, bitte!"
|
||||
description: "Die Anzahl deiner Follower hat 300 überschritten"
|
||||
_followers500:
|
||||
title: "Funkmast"
|
||||
@ -1115,7 +1258,10 @@ _achievements:
|
||||
description: "Du hast einen verborgenen Schatz gefunden"
|
||||
_client30min:
|
||||
title: "Kurze Pause"
|
||||
description: "Habe CherryPick für 30 Minuten geöffnet"
|
||||
description: "Habe CherryPick für mindestens 30 Minuten geöffnet"
|
||||
_client60min:
|
||||
title: "Munter mit CherryPick"
|
||||
description: "Habe CherryPick für mindestens 60 Minuten geöffnet"
|
||||
_noteDeletedWithin1min:
|
||||
title: "Ups"
|
||||
description: "Lösche eine Notiz innerhalb von 1 Minute nachdem sie gesendet wurde"
|
||||
@ -1153,7 +1299,7 @@ _achievements:
|
||||
description: "Du hast hier geklickt"
|
||||
_justPlainLucky:
|
||||
title: "Pures Glück"
|
||||
description: "Kann alle 10 Sekunden mit einer Warscheinlichkeit von 0.01% erhalten werden"
|
||||
description: "Kann alle 10 Sekunden mit einer Warscheinlichkeit von 0.005% erhalten werden"
|
||||
_setNameToSyuilo:
|
||||
title: "Gottkomplex"
|
||||
description: "Setze deinen Namen auf \"syuilo\""
|
||||
@ -1204,6 +1350,10 @@ _role:
|
||||
iconUrl: "Icon-URL"
|
||||
asBadge: "Als Abzeichen anzeigen"
|
||||
descriptionOfAsBadge: "Ist dies aktiviert, so wird das Icon dieser Rolle an der Seite der Namen von Benutzern mit dieser Rolle angezeigt."
|
||||
isExplorable: "Rollenchronik veröffentlichen"
|
||||
descriptionOfIsExplorable: "Ist dies aktiviert, so ist die Rollenchronik dieser Rolle frei zugänglich. Die Chronik von Rollen, welche nicht öffentlich sind, wird auch bei Aktivierung nicht veröffentlicht."
|
||||
displayOrder: "Position"
|
||||
descriptionOfDisplayOrder: "Je höher die Nummer, desto höher die UI-Position."
|
||||
canEditMembersByModerator: "Moderatoren können Benutzern diese Rolle zuweisen"
|
||||
descriptionOfCanEditMembersByModerator: "Wenn aktiviert, so können Moderatoren und Adminstratoren anderen Benutzern diese Rolle zuweisen bzw. diese Zuweisung aufheben. Wenn deaktiviert, so ist es nur Administratoren möglich, Zuweisungen dieser Rolle zu verwalten."
|
||||
priority: "Priorität"
|
||||
@ -1215,9 +1365,10 @@ _role:
|
||||
gtlAvailable: "Kann auf die globale Chronik zugreifen"
|
||||
ltlAvailable: "Kann auf die lokale Chronik zugreifen"
|
||||
canPublicNote: "Kann öffentliche Notizen erstellen"
|
||||
canInvite: "Kann Einladungscodes für diese Instanz erstellen"
|
||||
canInvite: "Erstellung von Einladungscodes für diese Instanz"
|
||||
canManageCustomEmojis: "Benutzerdefinierte Emojis verwalten"
|
||||
driveCapacity: "Drive-Kapazität"
|
||||
alwaysMarkNsfw: "Dateien immer als NSFW markieren"
|
||||
pinMax: "Maximale Anzahl an angehefteten Notizen"
|
||||
antennaMax: "Maximale Anzahl an Antennen"
|
||||
wordMuteMax: "Maximale Zeichenlänge für Wortstummschaltungen"
|
||||
@ -1229,6 +1380,7 @@ _role:
|
||||
rateLimitFactor: "Versuchsanzahl"
|
||||
descriptionOfRateLimitFactor: "Je niedriger desto weniger restriktiv, je höher destro restriktiver."
|
||||
canHideAds: "Kann Werbung ausblenden"
|
||||
canSearchNotes: "Nutzung der Notizsuchfunktion"
|
||||
_condition:
|
||||
isLocal: "Lokaler Benutzer"
|
||||
isRemote: "Benutzer fremder Instanz"
|
||||
@ -1238,6 +1390,8 @@ _role:
|
||||
followersMoreThanOrEq: "Hat X oder mehr Follower"
|
||||
followingLessThanOrEq: "Folgt X oder weniger Benutzern"
|
||||
followingMoreThanOrEq: "Folgt X oder mehr Benutzern"
|
||||
notesLessThanOrEq: "Beitragszahl ist kleiner-gleich"
|
||||
notesMoreThanOrEq: "Beitragszahl ist größer-gleich"
|
||||
and: "UND-Bedingung"
|
||||
or: "ODER-Bedingung"
|
||||
not: "NICHT-Bedingung"
|
||||
@ -1413,6 +1567,8 @@ _channel:
|
||||
following: "Gefolgt"
|
||||
usersCount: "{n} Teilnehmer"
|
||||
notesCount: "{n} Notizen"
|
||||
nameAndDescription: "Name und Beschreibung"
|
||||
nameOnly: "Nur Name"
|
||||
_menuDisplay:
|
||||
sideFull: "Seitlich"
|
||||
sideIcon: "Seitlich (Icons)"
|
||||
@ -1431,7 +1587,7 @@ _instanceMute:
|
||||
instanceMuteDescription: "Schaltet alle Notizen/Renotes stumm, die von den gelisteten Instanzen stammen, inklusive Antworten von Benutzern an einen Benutzer einer stummgeschalteten Instanz."
|
||||
instanceMuteDescription2: "Instanzen getrennt durch Zeilenumbrüchen angeben"
|
||||
title: "Blendet Notizen von stummgeschalteten Instanzen aus."
|
||||
heading: "Liste der stummzuschaltenden Instanzen"
|
||||
heading: "Stummzuschaltende Instanzen"
|
||||
_theme:
|
||||
explore: "Farbschemata erforschen"
|
||||
install: "Farbschemata installieren"
|
||||
@ -1524,47 +1680,47 @@ _ago:
|
||||
weeksAgo: "vor {n} Woche(n)"
|
||||
monthsAgo: "vor {n} Monat(en)"
|
||||
yearsAgo: "vor {n} Jahr(en)"
|
||||
invalid: "Ungültig"
|
||||
_time:
|
||||
second: "Sekunde(n)"
|
||||
minute: "Minute(n)"
|
||||
hour: "Stunde(n)"
|
||||
day: "Tag(en)"
|
||||
_tutorial:
|
||||
_timelineTutorial:
|
||||
title: "Wie du CherryPick verwendest"
|
||||
step1_1: "Willkommen!"
|
||||
step1_2: "Diese Seite ist die „Chronik“. Sie zeigt dir deine geschrieben „Notizen“ sowie die aller Benutzer, denen du „folgst“, in chronologischer Reihenfolge."
|
||||
step1_3: "Deine Chronik sollte momentan leer sein, da du bis jetzt noch keine Notizen geschrieben hast und auch noch keinen Benutzern folgst."
|
||||
step2_1: "Lass uns zuerst dein Profil vervollständigen, bevor du Notizen schreibst oder jemandem folgst."
|
||||
step2_2: "Informationen darüber, was für eine Person du bist, macht es anderen leichter zu wissen, ob sie deine Notizen sehen wollen und ob sie dir folgen möchten."
|
||||
step3_1: "Mit dem Einrichten deines Profils fertig?"
|
||||
step3_2: "Dann lass uns als nächstes versuchen, eine Notiz zu schreiben. Dies kannst du tun, indem du auf den Knopf mit dem Stift-Icon auf dem Bildschirm drückst."
|
||||
step3_3: "Fülle das Fenster aus und drücke auf den Knopf oben rechts zum Senden."
|
||||
step3_4: "Fällt dir nichts ein, das du schreiben möchtest? Versuch's mit \"Hallo CherryPick!\""
|
||||
step4_1: "Fertig mit dem Senden deiner ersten Notiz?"
|
||||
step4_2: "Falls deine Notiz nun in deiner Chronik auftaucht, hast du alles richtig gemacht."
|
||||
step5_1: "Lass uns nun deiner Chronik etwas mehr Leben einhauchen, indem du einigen anderen Benutzern folgst."
|
||||
step5_2: "{featured} zeigt dir beliebte Notizen dieser Instanz. In {explore} kannst du beliebte Benutzer finden. Schau dort, ob du Benutzer findest, die dich interessieren."
|
||||
step5_3: "Klicke zum Anzeigen des Profils eines Benutzers auf dessen Profilbild und dann auf den \"Folgen\"-Knopf, um diesem zu folgen."
|
||||
step5_4: "Je nach Benutzer kann es etwas Zeit in Anspruch nehmen, bis dieser deine Follow-Anfrage bestätigt."
|
||||
step6_1: "Wenn du nun auch die Notizen anderer Benutzer in deiner Chronik siehst, hast du auch diesmal alles richtig gemacht."
|
||||
step6_2: "Du kannst ebenso „Reaktionen“ verwenden, um schnell auf Notizen anderer Benutzer zu reagieren."
|
||||
step6_3: "Um eine Reaktion anzufügen, klicke auf das „+“-Symbol in der Notiz und wähle ein Emoji aus, mit dem du reagieren möchtest."
|
||||
step7_1: "Glückwunsch! Du hast die Einführung in die Verwendung von CherryPick abgeschlossen."
|
||||
step7_2: "Wenn du mehr über CherryPick lernen möchtest, schau dich im {help}-Bereich um."
|
||||
step7_3: "Und nun, viel Spaß mit CherryPick! 🚀"
|
||||
step8_1: "Möchtest du abschließend Push-Benachrichtigungen aktivieren?"
|
||||
step8_2: "Push-Benachrichtigungen erlauben es dir, über Reaktionen, Follows oder Erwähnungen usw. zu erfahren, auch wenn CherryPick zu dieser Zeit nicht geöffnet ist."
|
||||
step8_3: "Diese Einstellung kannst du jederzeit ändern."
|
||||
step1_1: "Dieser Bildschirm ist die \"Chronik\". Hier werden alle \"Notizen\" von {name} angezeigt."
|
||||
step1_2: "Es gibt einige verschiedene Chroniken. Beispielsweise werden in der \"Startseite\" alle Notizen von Nutzern, denen du folgst, angezeigt, und in der \"Lokalen Chronik\" werden Notizen aller Nutzer auf {name} angezeigt."
|
||||
step2_1: "Lass uns als nächstes versuchen, eine Notiz zu schreiben. Dies kannst du tun, indem du auf den Knopf mit dem Stift-Icon drückst."
|
||||
step2_2: "Stell dich den anderen vor oder schreibe einfach \"Hallo {name}!\", wenn du darauf keine Lust hast oder dir nichts einfällt."
|
||||
step3_1: "Fertig mit dem Senden deiner ersten Notiz?"
|
||||
step3_2: "Falls deine Notiz nun in deiner Chronik auftaucht, hast du alles richtig gemacht."
|
||||
step4_1: "Notizen können zusätzlich mit \"Reaktionen\" ausgestattet werden."
|
||||
step4_2: "Um eine Reaktion anzufügen, klicke auf das „+“-Symbol einer Notiz und wähle ein Emoji aus, mit dem du reagieren möchtest."
|
||||
_2fa:
|
||||
alreadyRegistered: "Du hast bereits ein Gerät für Zwei-Faktor-Authentifizierung registriert."
|
||||
registerDevice: "Neues Gerät registrieren"
|
||||
registerKey: "Neuen Sicherheitsschlüssel registrieren"
|
||||
registerTOTP: "Authentifizierungs-App registrieren"
|
||||
passwordToTOTP: "Bitte Passwort eingeben"
|
||||
step1: "Installiere zuerst eine Authentifizierungsapp (z.B. {a} oder {b}) auf deinem Gerät."
|
||||
step2: "Dann, scanne den angezeigten QR-Code mit deinem Gerät."
|
||||
step2Click: "Durch Klicken dieses QR-Codes kannst du Verifikation mit deinem Security-Token oder einer App registrieren."
|
||||
step2Url: "Nutzt du ein Desktopprogramm kannst du alternativ diese URL eingeben:"
|
||||
step3Title: "Authentifizierungsscode eingeben"
|
||||
step3: "Gib zum Abschluss den Token ein, der von deiner App angezeigt wird."
|
||||
step4: "Alle folgenden Anmeldungsversuche werden ab sofort die Eingabe eines solchen Tokens benötigen."
|
||||
step4: "Alle folgenden Anmeldeversuche werden ab sofort die Eingabe eines solchen Tokens benötigen."
|
||||
securityKeyNotSupported: "Dein Browser unterstützt keine Security-Tokens."
|
||||
registerTOTPBeforeKey: "Um einen Security-Token oder einen Passkey zu registrieren, musst du zuerst eine Authentifizierungs-App registrieren."
|
||||
securityKeyInfo: "Du kannst neben Fingerabdruck- oder PIN-Authentifizierung auf deinem Gerät auch Anmeldung mit Hilfe eines FIDO2-kompatiblen Hardware-Sicherheitsschlüssels einrichten."
|
||||
chromePasskeyNotSupported: "Chrome-Passkeys werden zur Zeit nicht unterstützt."
|
||||
registerSecurityKey: "Security-Token oder Passkey registrieren"
|
||||
securityKeyName: "Schlüsselname eingeben"
|
||||
tapSecurityKey: "Bitten folge den Anweisungen deines Browsers zur Registrierung"
|
||||
removeKey: "Sicherheitsschlüssel entfernen"
|
||||
removeKeyConfirm: "Den Schlüssel {name} wirklich löschen?"
|
||||
whyTOTPOnlyRenew: "Solange ein Sicherheitsschlüssel registriert ist, kann die Authentifizierungs-App nicht entfernt werden."
|
||||
renewTOTP: "Authentifizierungs-App neu einrichten"
|
||||
renewTOTPConfirm: "Codes der bisherigen App werden hierdurch nutzlos"
|
||||
renewTOTPOk: "Neu einrichten"
|
||||
renewTOTPCancel: "Abbrechen"
|
||||
_permissions:
|
||||
"read:account": "Deine Benutzerkontoinformationen lesen"
|
||||
"write:account": "Deine Benutzerkontoinformationen bearbeiten"
|
||||
@ -1688,8 +1844,8 @@ _visibility:
|
||||
followersDescription: "Nur für Follower sichtbar"
|
||||
specified: "Direkt"
|
||||
specifiedDescription: "Nur für bestimmte Benutzer sichtbar"
|
||||
localOnly: "Nur Lokal"
|
||||
localOnlyDescription: "Unsichtbar für Benutzer anderer Instanzen"
|
||||
disableFederation: "Deföderieren"
|
||||
disableFederationDescription: "Nicht an andere Instanzen übertragen"
|
||||
_postForm:
|
||||
replyPlaceholder: "Dieser Notiz antworten …"
|
||||
quotePlaceholder: "Diese Notiz zitieren …"
|
||||
@ -1849,6 +2005,7 @@ _notification:
|
||||
receiveFollowRequest: "Erhaltene Follow-Anfragen"
|
||||
followRequestAccepted: "Akzeptierte Follow-Anfragen"
|
||||
groupInvited: "Erhaltene Gruppeneinladungen"
|
||||
achievementEarned: "Errungenschaft freigeschaltet"
|
||||
app: "Benachrichtigungen von Apps"
|
||||
_actions:
|
||||
followBack: "folgt dir nun auch"
|
||||
@ -1881,3 +2038,27 @@ _deck:
|
||||
channel: "Kanal"
|
||||
mentions: "Erwähnungen"
|
||||
direct: "Direktnachrichten"
|
||||
roleTimeline: "Rollenchronik"
|
||||
_dialog:
|
||||
charactersExceeded: "Maximallänge überschritten! Momentan {current} von {max}"
|
||||
charactersBelow: "Minimallänge unterschritten! Momentan {current} von {min}"
|
||||
_disabledTimeline:
|
||||
title: "Chronik deaktiviert"
|
||||
description: "Mit deinen jetzigen Rollen ist diese Chronik nicht verfügbar."
|
||||
_drivecleaner:
|
||||
orderBySizeDesc: "Absteigende Dateigrößen"
|
||||
orderByCreatedAtAsc: "Aufsteigendes Erstelldatum"
|
||||
_webhookSettings:
|
||||
createWebhook: "Webhook erstellen"
|
||||
name: "Name"
|
||||
secret: "Secret"
|
||||
events: "Webhook-Ereignisse"
|
||||
active: "Aktiviert"
|
||||
_events:
|
||||
follow: "Wenn du jemandem folgst"
|
||||
followed: "Wenn dir jemand folgt"
|
||||
note: "Wenn du eine Notiz schickst"
|
||||
reply: "Wenn du eine Antwort erhältst"
|
||||
renote: "Wenn du ein Renote erhältst"
|
||||
reaction: "Wenn du eine Reaktion erhältst"
|
||||
mention: "Wenn du erwähnt wirst"
|
||||
|
@ -172,11 +172,11 @@ explore: "Εξερευνήστε"
|
||||
messageRead: "Διαβάστηκε"
|
||||
startMessaging: "Ξεκινήστε μία συνομιλία"
|
||||
nUsersRead: "διαβάστηκε από {n}"
|
||||
tos: "Όροι χρήσης"
|
||||
start: "Ας αρχίσουμε"
|
||||
home: "Κεντρικό"
|
||||
activity: "Δραστηριότητα"
|
||||
images: "Εικόνες"
|
||||
image: "Εικόνες"
|
||||
birthday: "Γενέθλια"
|
||||
registeredDate: "Έγινε μέλος στις"
|
||||
location: "Τοποθεσία"
|
||||
@ -230,21 +230,13 @@ moderator: "Συντονιστής"
|
||||
moderation: "Συντονισμός"
|
||||
cacheClear: "Εκκαθάριση προσωρινής μνήμης"
|
||||
markAsReadAllNotifications: "Όλες οι ειδοποιήσεις διαβάστηκαν"
|
||||
group: "Ομάδα"
|
||||
groups: "Ομάδες"
|
||||
createGroup: "Δημιουργία ομάδας"
|
||||
ownedGroups: "Οι ομάδες σας"
|
||||
groupName: "Όνομα ομάδας"
|
||||
members: "Μέλη"
|
||||
transfer: "Μεταφορά"
|
||||
messagingWithUser: "Ιδιωτική συνομιλία"
|
||||
messagingWithGroup: "Ομαδική συνομιλία"
|
||||
title: "Τίτλος"
|
||||
text: "Κείμενο"
|
||||
enable: "Ενεργοποίηση"
|
||||
next: "Επόμενο"
|
||||
noteOf: "Σημείωμα από {user}"
|
||||
inviteToGroup: "Πρόσκληση στην ομάδα"
|
||||
quoteAttached: "Παράθεση"
|
||||
signinRequired: "Παρακαλούμε δημιουργήστε λογαριασμό ή συνδεθείτε πριν συνεχίσετε"
|
||||
category: "Κατηγορία"
|
||||
@ -337,7 +329,6 @@ _antennaSources:
|
||||
homeTimeline: "Σημειώματα από μέλη που ακολουθείτε"
|
||||
users: "Σημειώματα από συγκεκριμένα μέλη"
|
||||
userList: "Σημειώματα από καθορισμένη λίστα μελών"
|
||||
userGroup: "Σημειώματα από μέλη καθορισμένης ομάδας"
|
||||
_widgets:
|
||||
profile: "Προφίλ"
|
||||
instanceInfo: "Πληροφορίες του instance"
|
||||
@ -382,7 +373,6 @@ _pages:
|
||||
blocks:
|
||||
image: "Εικόνες"
|
||||
_notification:
|
||||
youGotMessagingMessageFromUser: "{name} σάς έστειλε ένα μήνυμα συνομιλίας"
|
||||
youWereFollowed: "σε ακολούθησε"
|
||||
_types:
|
||||
follow: "Νέοι ακόλουθοι"
|
||||
@ -402,3 +392,5 @@ _deck:
|
||||
antenna: "Αντένες"
|
||||
list: "Λίστα"
|
||||
mentions: "Επισημάνσεις"
|
||||
_webhookSettings:
|
||||
name: "Όνομα"
|
||||
|
@ -29,6 +29,7 @@ noNotes: "No notes"
|
||||
noNotifications: "No notifications"
|
||||
instance: "Instance"
|
||||
settings: "Settings"
|
||||
notificationSettings: "Notification Settings"
|
||||
basicSettings: "Basic Settings"
|
||||
otherSettings: "Other Settings"
|
||||
openInWindow: "Open in window"
|
||||
@ -80,7 +81,7 @@ import: "Import"
|
||||
export: "Export"
|
||||
files: "Files"
|
||||
download: "Download"
|
||||
driveFileDeleteConfirm: "Are you sure you want to delete the file \"{name}\"? Notes with this file attached will also be deleted."
|
||||
driveFileDeleteConfirm: "Are you sure you want to delete \"{name}\"? It will also vanish from all contents that use it."
|
||||
unfollowConfirm: "Are you sure you want to unfollow {name}?"
|
||||
exportRequested: "You've requested an export. This may take a while. It will be added to your Drive once completed."
|
||||
importRequested: "You've requested an import. This may take a while."
|
||||
@ -116,6 +117,8 @@ renoted: "Renoted."
|
||||
cantRenote: "This post can't be renoted."
|
||||
cantReRenote: "A renote can't be renoted."
|
||||
quote: "Quote"
|
||||
inChannelRenote: "Channel-only Renote"
|
||||
inChannelQuote: "Channel-only Quote"
|
||||
pinnedNote: "Pinned note"
|
||||
pinned: "Pin to profile"
|
||||
you: "You"
|
||||
@ -133,6 +136,8 @@ unmarkAsSensitive: "Unmark as NSFW"
|
||||
enterFileName: "Enter filename"
|
||||
mute: "Mute"
|
||||
unmute: "Unmute"
|
||||
renoteMute: "Mute Renotes"
|
||||
renoteUnmute: "Unmute Renotes"
|
||||
block: "Block"
|
||||
unblock: "Unblock"
|
||||
suspend: "Suspend"
|
||||
@ -164,6 +169,7 @@ flagShowTimelineReplies: "Show replies in timeline"
|
||||
flagShowTimelineRepliesDescription: "Shows replies of users to notes of other users in the timeline if turned on."
|
||||
autoAcceptFollowed: "Automatically approve follow requests from users you're following"
|
||||
addAccount: "Add account"
|
||||
reloadAccountsList: "Reload account list"
|
||||
loginFailed: "Failed to sign in"
|
||||
showOnRemote: "View on remote instance"
|
||||
general: "General"
|
||||
@ -208,7 +214,7 @@ clearQueueConfirmText: "Any undelivered notes remaining in the queue will not be
|
||||
clearCachedFiles: "Clear cache"
|
||||
clearCachedFilesConfirm: "Are you sure that you want to delete all cached remote files?"
|
||||
blockedInstances: "Blocked Instances"
|
||||
blockedInstancesDescription: "List the hostnames of the instances that you want to block. Listed instances will no longer be able to communicate with this instance."
|
||||
blockedInstancesDescription: "List the hostnames of the instances that you want to block separated by linebreaks. Listed instances will no longer be able to communicate with this instance."
|
||||
muteAndBlock: "Mutes and Blocks"
|
||||
mutedUsers: "Muted users"
|
||||
blockedUsers: "Blocked users"
|
||||
@ -270,14 +276,16 @@ noMoreHistory: "There is no further history"
|
||||
startMessaging: "Start a new chat"
|
||||
nUsersRead: "read by {n}"
|
||||
agreeTo: "I agree to {0}"
|
||||
agree: "Agree"
|
||||
agreeBelow: "I agree to the below"
|
||||
basicNotesBeforeCreateAccount: "Important notes"
|
||||
tos: "Terms of Service"
|
||||
termsOfService: "Terms of Service"
|
||||
start: "Begin"
|
||||
home: "Home"
|
||||
remoteUserCaution: "As this user is from a remote instance, the shown information may be incomplete."
|
||||
activity: "Activity"
|
||||
images: "Images"
|
||||
image: "Image"
|
||||
birthday: "Birthday"
|
||||
yearsOld: "{age} years old"
|
||||
registeredDate: "Joined on"
|
||||
@ -404,16 +412,19 @@ about: "About"
|
||||
aboutMisskey: "About CherryPick"
|
||||
administrator: "Administrator"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Two-factor authentication"
|
||||
2fa: "Two-factor authentication"
|
||||
totp: "Authenticator App"
|
||||
totpDescription: "Use an authenticator app to enter one-time passwords"
|
||||
moderator: "Moderator"
|
||||
moderation: "Moderation"
|
||||
nUsersMentioned: "Mentioned by {n} users"
|
||||
securityKeyAndPasskey: "Security- and passkeys"
|
||||
securityKey: "Security key"
|
||||
securityKeyName: "Key name"
|
||||
registerSecurityKey: "Register a security key"
|
||||
lastUsed: "Last used"
|
||||
lastUsedAt: "Last used: {t}"
|
||||
unregister: "Unregister"
|
||||
passwordLessLogin: "Password-less login"
|
||||
passwordLessLoginDescription: "Allows password-less login using a security- or passkey only"
|
||||
resetPassword: "Reset password"
|
||||
newPasswordIs: "The new password is \"{password}\""
|
||||
reduceUiAnimation: "Reduce UI animations"
|
||||
@ -467,7 +478,6 @@ passwordMatched: "Matches"
|
||||
passwordNotMatched: "Does not match"
|
||||
signinWith: "Sign in with {x}"
|
||||
signinFailed: "Unable to sign in. The entered username or password is incorrect."
|
||||
tapSecurityKey: "Tap your security key"
|
||||
or: "Or"
|
||||
language: "Language"
|
||||
uiLanguage: "User interface language"
|
||||
@ -478,18 +488,21 @@ native: "Native"
|
||||
disableDrawer: "Don't use drawer-style menus"
|
||||
youHaveNoGroups: "You have no groups"
|
||||
joinOrCreateGroup: "Get invited to a group or create your own."
|
||||
showNoteActionsOnlyHover: "Only show note actions on hover"
|
||||
noHistory: "No history available"
|
||||
signinHistory: "Login history"
|
||||
enableAdvancedMfm: "Enable advanced MFM"
|
||||
enableAnimatedMfm: "Enable MFM with animation"
|
||||
enableAnimatedMfm: "Enable animated MFM"
|
||||
doing: "Processing..."
|
||||
category: "Category"
|
||||
tags: "Tags"
|
||||
tags: "Aliases"
|
||||
docSource: "Source of this document"
|
||||
createAccount: "Create account"
|
||||
existingAccount: "Existing account"
|
||||
regenerate: "Regenerate"
|
||||
fontSize: "Font size"
|
||||
mediaListWithOneImageAppearance: "Height of media lists with one image only"
|
||||
limitTo: "Limit to {x}"
|
||||
noFollowRequests: "You don't have any pending follow requests"
|
||||
openImageInNewTab: "Open images in new tab"
|
||||
dashboard: "Dashboard"
|
||||
@ -517,15 +530,17 @@ objectStoragePrefixDesc: "Files will be stored under directories with this prefi
|
||||
objectStorageEndpoint: "Endpoint"
|
||||
objectStorageEndpointDesc: "Leave this empty if you are using AWS S3, otherwise specify the endpoint as '<host>' or '<host>:<port>', depending on the service you are using."
|
||||
objectStorageRegion: "Region"
|
||||
objectStorageRegionDesc: "Specify a region like 'xx-east-1'. If your service does not distinguish between regions, leave this blank or enter 'us-east-1'."
|
||||
objectStorageRegionDesc: "Specify a region like 'xx-east-1'. If your service does not distinguish between regions, enter 'us-east-1'. Leave empty if using AWS configuration files or environment variables."
|
||||
objectStorageUseSSL: "Use SSL"
|
||||
objectStorageUseSSLDesc: "Turn this off if you are not going to use HTTPS for API connections"
|
||||
objectStorageUseProxy: "Connect over Proxy"
|
||||
objectStorageUseProxyDesc: "Turn this off if you are not going to use a Proxy for API connections"
|
||||
objectStorageSetPublicRead: "Set \"public-read\" on upload"
|
||||
s3ForcePathStyleDesc: "If s3ForcePathStyle is enabled, the bucket name has to included in the path of the URL as opposed to the hostname of the URL. You may need to enable this setting when using services such as a self-hosted Minio instance."
|
||||
serverLogs: "Server logs"
|
||||
deleteAll: "Delete all"
|
||||
showFixedPostForm: "Display the posting form at the top of the timeline"
|
||||
showFixedPostFormInChannel: "Display the posting form at the top of the timeline (Channels)"
|
||||
newNoteRecived: "There are new notes"
|
||||
sounds: "Sounds"
|
||||
sound: "Sounds"
|
||||
@ -546,7 +561,7 @@ nothing: "There's nothing to see here"
|
||||
installedDate: "Authorized at"
|
||||
lastUsedDate: "Last used at"
|
||||
state: "State"
|
||||
sort: "Sort"
|
||||
sort: "Sorting order"
|
||||
ascendingOrder: "Ascending"
|
||||
descendingOrder: "Descending"
|
||||
scratchpad: "Scratchpad"
|
||||
@ -563,9 +578,14 @@ userSuspended: "This user has been suspended."
|
||||
userSilenced: "This user is being silenced."
|
||||
yourAccountSuspendedTitle: "This account is suspended"
|
||||
yourAccountSuspendedDescription: "This account has been suspended due to breaking the server's terms of services or similar. Contact the administrator if you would like to know a more detailed reason. Please do not create a new account."
|
||||
tokenRevoked: "Invalid token"
|
||||
tokenRevokedDescription: "This token has expired. Please log in again."
|
||||
accountDeleted: "Account deleted"
|
||||
accountDeletedDescription: "This account has been deleted."
|
||||
menu: "Menu"
|
||||
divider: "Divider"
|
||||
addItem: "Add Item"
|
||||
rearrange: "Rearrange"
|
||||
relays: "Relays"
|
||||
addRelay: "Add Relay"
|
||||
inboxUrl: "Inbox URL"
|
||||
@ -606,7 +626,6 @@ tokenRequested: "Grant access to account"
|
||||
pluginTokenRequestedDescription: "This plugin will be able to use the permissions set here."
|
||||
notificationType: "Notification type"
|
||||
edit: "Edit"
|
||||
useStarForReactionFallback: "Use ★ as fallback if the reaction emoji is unknown"
|
||||
emailServer: "Email server"
|
||||
enableEmail: "Enable email distribution"
|
||||
emailConfigInfo: "Used to confirm your email during sign-up or if you forget your password"
|
||||
@ -710,6 +729,8 @@ contact: "Contact"
|
||||
useSystemFont: "Use the system's default font"
|
||||
clips: "Clips"
|
||||
experimentalFeatures: "Experimental features"
|
||||
experimental: "Experimental"
|
||||
thisIsExperimentalFeature: "This is an experimental feature. Its functionality is subject to change, and it may not operate as intended."
|
||||
developer: "Developer"
|
||||
makeExplorable: "Make account visible in \"Explore\""
|
||||
makeExplorableDescription: "If you turn this off, your account will not show up in the \"Explore\" section."
|
||||
@ -800,6 +821,7 @@ popularPosts: "Popular posts"
|
||||
shareWithNote: "Share with note"
|
||||
ads: "Advertisements"
|
||||
expiration: "Deadline"
|
||||
startingperiod: "Start"
|
||||
memo: "Memo"
|
||||
priority: "Priority"
|
||||
high: "High"
|
||||
@ -832,6 +854,7 @@ lastCommunication: "Last communication"
|
||||
resolved: "Resolved"
|
||||
unresolved: "Unresolved"
|
||||
breakFollow: "Remove follower"
|
||||
breakFollowConfirm: "Really remove this follower?"
|
||||
itsOn: "Enabled"
|
||||
itsOff: "Disabled"
|
||||
emailRequiredForSignup: "Require email address for sign-up"
|
||||
@ -868,11 +891,13 @@ instanceDefaultLightTheme: "Instance-wide default light theme"
|
||||
instanceDefaultDarkTheme: "Instance-wide default dark theme"
|
||||
instanceDefaultThemeDescription: "Enter the theme code in object format."
|
||||
mutePeriod: "Mute duration"
|
||||
period: "Time limit"
|
||||
indefinitely: "Permanently"
|
||||
tenMinutes: "10 minutes"
|
||||
oneHour: "One hour"
|
||||
oneDay: "One day"
|
||||
oneWeek: "One week"
|
||||
oneMonth: "One month"
|
||||
reflectMayTakeTime: "It may take some time for this to be reflected."
|
||||
failedToFetchAccountInformation: "Could not fetch account information"
|
||||
rateLimitExceeded: "Rate limit exceeded"
|
||||
@ -914,6 +939,7 @@ remoteOnly: "Remote only"
|
||||
failedToUpload: "Upload failed"
|
||||
cannotUploadBecauseInappropriate: "This file could not be uploaded because parts of it have been detected as potentially NSFW."
|
||||
cannotUploadBecauseNoFreeSpace: "Upload failed due to lack of Drive capacity."
|
||||
cannotUploadBecauseExceedsFileSizeLimit: "This file cannot be uploaded as it exceeds the file size limit."
|
||||
beta: "Beta"
|
||||
enableAutoSensitive: "Automatic NSFW-Marking"
|
||||
enableAutoSensitiveDescription: "Allows automatic detection and marking of NSFW media through Machine Learning where possible. Even if this option is disabled, it may be enabled instance-wide."
|
||||
@ -927,9 +953,10 @@ subscribePushNotification: "Enable push notifications"
|
||||
unsubscribePushNotification: "Disable push notifications"
|
||||
pushNotificationAlreadySubscribed: "Push notifications are already enabled"
|
||||
pushNotificationNotSupported: "Your browser or instance does not support push notifications"
|
||||
sendPushNotificationReadMessage: "Delete push notifications once the relevant notifications or messages have been read"
|
||||
sendPushNotificationReadMessageCaption: "A notification containing the text \"{emptyPushNotificationMessage}\" will be displayed for a short time. This may increase the battery usage of your device, if applicable."
|
||||
sendPushNotificationReadMessage: "Delete push notifications once they have been read"
|
||||
sendPushNotificationReadMessageCaption: "This may increase the power consumption of your device."
|
||||
windowMaximize: "Maximize"
|
||||
windowMinimize: "Minimize"
|
||||
windowRestore: "Restore"
|
||||
caption: "Caption"
|
||||
loggedInAsBot: "Currently logged in as bot"
|
||||
@ -946,6 +973,7 @@ didYouLikeMisskey: "Have you taken a liking to CherryPick?"
|
||||
pleaseDonate: "{host} uses the free software, CherryPick. We would highly appreciate your donations so development of CherryPick can continue!"
|
||||
roles: "Roles"
|
||||
role: "Role"
|
||||
noRole: "Role not found"
|
||||
normalUser: "Normal user"
|
||||
undefined: "Undefined"
|
||||
assign: "Assign"
|
||||
@ -955,6 +983,10 @@ manageCustomEmojis: "Manage Custom Emojis"
|
||||
youCannotCreateAnymore: "You've hit the creation limit."
|
||||
cannotPerformTemporary: "Temporarily unavailable"
|
||||
cannotPerformTemporaryDescription: "This action cannot be performed temporarily due to exceeding the execution limit. Please wait for a while and then try again."
|
||||
invalidParamError: "Invalid parameters"
|
||||
invalidParamErrorDescription: "The request parameters are invalid. This is normally caused by a bug, but may also be due to inputs exceeding size limits or similar."
|
||||
permissionDeniedError: "Operation denied"
|
||||
permissionDeniedErrorDescription: "This account does not have the permission to perform this action."
|
||||
preset: "Preset"
|
||||
selectFromPresets: "Choose from presets"
|
||||
achievements: "Achievements"
|
||||
@ -964,6 +996,111 @@ thisPostMayBeAnnoying: "This note may annoy others."
|
||||
thisPostMayBeAnnoyingHome: "Post to home timeline"
|
||||
thisPostMayBeAnnoyingCancel: "Cancel"
|
||||
thisPostMayBeAnnoyingIgnore: "Post anyway"
|
||||
collapseRenotes: "Collapse renotes you've already seen"
|
||||
internalServerError: "Internal Server Error"
|
||||
internalServerErrorDescription: "The server has run into an unexpected error."
|
||||
copyErrorInfo: "Copy error details"
|
||||
joinThisServer: "Sign up at this instance"
|
||||
exploreOtherServers: "Look for another instance"
|
||||
letsLookAtTimeline: "Have a look at the timeline"
|
||||
disableFederationConfirm: "Really disable federation?"
|
||||
disableFederationConfirmWarn: "Even if defederated, posts will continue to be public unless set otherwise. You usually do not need to do this."
|
||||
disableFederationOk: "Disable"
|
||||
invitationRequiredToRegister: "This instance is invite-only. You must enter a valid invite code sign up."
|
||||
emailNotSupported: "This instance does not support sending emails"
|
||||
postToTheChannel: "Post to channel"
|
||||
cannotBeChangedLater: "This cannot be changed later."
|
||||
reactionAcceptance: "Reaction Acceptance"
|
||||
likeOnly: "Only likes"
|
||||
likeOnlyForRemote: "Only likes for remote instances"
|
||||
rolesAssignedToMe: "Roles assigned to me"
|
||||
resetPasswordConfirm: "Really reset your password?"
|
||||
sensitiveWords: "Sensitive words"
|
||||
sensitiveWordsDescription: "The visibility of all notes containing any of the configured words will be set to \"Home\" automatically. You can list multiple by separating them via line breaks."
|
||||
sensitiveWordsDescription2: "Using spaces will create AND expressions and surrounding keywords with slashes will turn them into a regular expression."
|
||||
notesSearchNotAvailable: "Note search is unavailable."
|
||||
license: "License"
|
||||
unfavoriteConfirm: "Really remove from favorites?"
|
||||
myClips: "My clips"
|
||||
drivecleaner: "Drive Cleaner"
|
||||
retryAllQueuesNow: "Retry running all queues"
|
||||
retryAllQueuesConfirmTitle: "Really retry all?"
|
||||
retryAllQueuesConfirmText: "This will temporarily increase the server load."
|
||||
enableChartsForRemoteUser: "Generate remote user data charts"
|
||||
enableChartsForFederatedInstances: "Generate remote instance data charts"
|
||||
showClipButtonInNoteFooter: "Add \"Clip\" to note action menu"
|
||||
largeNoteReactions: "Enlargen displayed reactions"
|
||||
noteIdOrUrl: "Note ID or URL"
|
||||
video: "Video"
|
||||
videos: "Videos"
|
||||
dataSaver: "Data Saver"
|
||||
accountMigration: "Account Migration"
|
||||
accountMoved: "This user has moved to a new account:"
|
||||
accountMovedShort: "This account has been migrated."
|
||||
operationForbidden: "Operation forbidden"
|
||||
forceShowAds: "Always show ads"
|
||||
addMemo: "Add memo"
|
||||
editMemo: "Edit memo"
|
||||
reactionsList: "Reactions"
|
||||
renotesList: "Renotes"
|
||||
notificationDisplay: "Notifications"
|
||||
leftTop: "Top left"
|
||||
rightTop: "Top right"
|
||||
leftBottom: "Bottom left"
|
||||
rightBottom: "Bottom right"
|
||||
stackAxis: "Stacking direction"
|
||||
vertical: "Vertical"
|
||||
horizontal: "Horizontal"
|
||||
position: "Position"
|
||||
serverRules: "Server rules"
|
||||
pleaseConfirmBelowBeforeSignup: "Please confirm the below before signing up."
|
||||
pleaseAgreeAllToContinue: "You must agree to all above fields to continue."
|
||||
continue: "Continue"
|
||||
preservedUsernames: "Reserved usernames"
|
||||
preservedUsernamesDescription: "List usernames to reserve separated by linebreaks. These will become unable during normal account creation, but can be used by administrators to manually create accounts. Already existing accounts using these usernames will not be affected."
|
||||
createNoteFromTheFile: "Compose note from this file"
|
||||
archive: "Archive"
|
||||
channelArchiveConfirmTitle: "Really archive {name}?"
|
||||
channelArchiveConfirmDescription: "An archived channel won't appear in the channel list or search results anymore. New posts can also not be added to it anymore."
|
||||
thisChannelArchived: "This channel has been archived."
|
||||
displayOfNote: "Note display"
|
||||
initialAccountSetting: "Profile setup"
|
||||
youFollowing: "Followed"
|
||||
preventAiLearning: "Reject usage in Machine Learning (Generative AI)"
|
||||
preventAiLearningDescription: "Requests crawlers to not use posted text or image material etc. in machine learning (Predictive / Generative AI) data sets. This is achieved by adding a \"noai\" HTML-Response flag to the respective content. A complete prevention can however not be achieved through this flag, as it may simply be ignored."
|
||||
options: "Options"
|
||||
specifyUser: "Specific user"
|
||||
_initialAccountSetting:
|
||||
accountCreated: "Your account was successfully created!"
|
||||
letsStartAccountSetup: "For starters, let's set up your profile."
|
||||
letsFillYourProfile: "First, let's set up your profile."
|
||||
profileSetting: "Profile settings"
|
||||
privacySetting: "Privacy settings"
|
||||
theseSettingsCanEditLater: "You can always change these settings later."
|
||||
youCanEditMoreSettingsInSettingsPageLater: "There are many more settings you can configure from the \"Settings\" page. Be sure to visit it later."
|
||||
followUsers: "Try following some users that interest you to build up your timeline."
|
||||
pushNotificationDescription: "Enabling push notifications will allow you to receive notifications from {name} directly on your device."
|
||||
initialAccountSettingCompleted: "Profile setup complete!"
|
||||
haveFun: "Enjoy {name}!"
|
||||
ifYouNeedLearnMore: "If you'd like to learn more about how to use {name} (Misskey), please visit {link}."
|
||||
skipAreYouSure: "Really skip profile setup?"
|
||||
_serverRules:
|
||||
description: "A set of rules to be displayed before registration. Setting a summary of the Terms of Service is recommended."
|
||||
_accountMigration:
|
||||
moveFrom: "Migrate another account to this one"
|
||||
moveFromSub: "Create alias to another account"
|
||||
moveFromLabel: "Original Account #{n}"
|
||||
moveFromDescription: "You must create an alias for the account to move from on this account.\nEnter the account to migrate from in the following format: @username@server.example.com\nTo delete the alias, leave the field empty (not recommended)."
|
||||
moveTo: "Migrate this account to a different one"
|
||||
moveToLabel: "Account to move to:"
|
||||
moveCannotBeUndone: "Account migration cannot be undone."
|
||||
moveAccountDescription: "This will migrate your account to a different one.\n ・Followers from this account will automatically be migrated to the new account\n ・This account will unfollow all users it is currently following\n ・You will be unable to create new notes etc. on this account\n\nWhile migration of followers is automatic, you must manually prepare some steps to migrate the list of users you are following. To do so, carry out a follows export that you will later import on the new account in the settings menu. The same procedure applies to your lists as well as your muted and blocked users.\n\n(This explanation applies to Misskey v13.12.0 and later. Other ActivityPub software, such as Mastodon, might function differently.)"
|
||||
moveAccountHowTo: "To migrate, first create an alias for this account on the account to move to.\nAfter you have created the alias, enter the account to move to in the following format: @username@server.example.com"
|
||||
startMigration: "Migrate"
|
||||
migrationConfirm: "Really migrate this account to {account}? Once started, this process cannot be stopped or taken back, and you will not be able to use this account in its original state anymore."
|
||||
movedAndCannotBeUndone: "\nThis account has been migrated.\nMigration cannot be reversed."
|
||||
postMigrationNote: "This account will unfollow all accounts it is currently following 24 hours after migration finishes.\nBoth the number of follows and followers will then become zero. To avoid your followers from being unable to see followers only posts of this account, they will however continue following this account."
|
||||
movedTo: "Account to move to:"
|
||||
_achievements:
|
||||
earnedAt: "Unlocked at"
|
||||
_types:
|
||||
@ -1134,7 +1271,10 @@ _achievements:
|
||||
description: "You've found the hidden treasure"
|
||||
_client30min:
|
||||
title: "Short break"
|
||||
description: "Spend 30 minutes on CherryPick"
|
||||
description: "Keep CherryPick opened for at least 30 minutes"
|
||||
_client60min:
|
||||
title: "No \"Miss\" in CherryPick"
|
||||
description: "Keep CherryPick opened for at least 60 minutes"
|
||||
_noteDeletedWithin1min:
|
||||
title: "Nevermind"
|
||||
description: "Delete a note within a minute of posting it"
|
||||
@ -1172,7 +1312,7 @@ _achievements:
|
||||
description: "You've clicked here"
|
||||
_justPlainLucky:
|
||||
title: "Just Plain Lucky"
|
||||
description: "Has a chance to be obtained with a probability of 0.01% every 10 seconds"
|
||||
description: "Has a chance to be obtained with a probability of 0.005% every 10 seconds"
|
||||
_setNameToSyuilo:
|
||||
title: "God Complex"
|
||||
description: "Set your name to \"syuilo\""
|
||||
@ -1215,7 +1355,7 @@ _role:
|
||||
isConditionalRole: "This is a conditional role."
|
||||
isPublic: "Public role"
|
||||
descriptionOfIsPublic: "Anyone will be able to view a list of users assigned to this role. In addition, this role will be displayed in the profiles of assigned users."
|
||||
options: "Role options"
|
||||
options: "Options"
|
||||
policies: "Policies"
|
||||
baseRole: "Role template"
|
||||
useBaseValue: "Use role template value"
|
||||
@ -1223,6 +1363,10 @@ _role:
|
||||
iconUrl: "Icon URL"
|
||||
asBadge: "Show as badge"
|
||||
descriptionOfAsBadge: "This role's icon will be displayed next to the username of users with this role if turned on."
|
||||
isExplorable: "Role timeline is public"
|
||||
descriptionOfIsExplorable: "This role's timeline will become publicly accessible if enabled. Timelines of non-public roles will not be made public even if set."
|
||||
displayOrder: "Position"
|
||||
descriptionOfDisplayOrder: "The higher the number, the higher its UI position."
|
||||
canEditMembersByModerator: "Allow moderators to edit the list of members for this role"
|
||||
descriptionOfCanEditMembersByModerator: "When turned on, moderators as well as administrators will be able to assign and unassign users to this role. When turned off, only administrators will be able to assign users."
|
||||
priority: "Priority"
|
||||
@ -1237,6 +1381,7 @@ _role:
|
||||
canInvite: "Can create instance invite codes"
|
||||
canManageCustomEmojis: "Can manage custom emojis"
|
||||
driveCapacity: "Drive capacity"
|
||||
alwaysMarkNsfw: "Always mark files as NSFW"
|
||||
pinMax: "Maximum number of pinned notes"
|
||||
antennaMax: "Maximum number of antennas"
|
||||
wordMuteMax: "Maximum number of characters allowed in word mutes"
|
||||
@ -1248,6 +1393,7 @@ _role:
|
||||
rateLimitFactor: "Rate limit"
|
||||
descriptionOfRateLimitFactor: "Lower rate limits are less restrictive, higher ones more restrictive. "
|
||||
canHideAds: "Can hide ads"
|
||||
canSearchNotes: "Usage of note search"
|
||||
_condition:
|
||||
isLocal: "Local user"
|
||||
isRemote: "Remote user"
|
||||
@ -1257,6 +1403,8 @@ _role:
|
||||
followersMoreThanOrEq: "Has X or more followers"
|
||||
followingLessThanOrEq: "Follows X or fewer accounts"
|
||||
followingMoreThanOrEq: "Follows X or more accounts"
|
||||
notesLessThanOrEq: "Post count is less than/equal to"
|
||||
notesMoreThanOrEq: "Post count is greater than/equal to"
|
||||
and: "AND-Condition"
|
||||
or: "OR-Condition"
|
||||
not: "NOT-Condition"
|
||||
@ -1446,6 +1594,8 @@ _channel:
|
||||
following: "Followed"
|
||||
usersCount: "{n} Participants"
|
||||
notesCount: "{n} Notes"
|
||||
nameAndDescription: "Name and description"
|
||||
nameOnly: "Name only"
|
||||
_menuDisplay:
|
||||
sideFull: "Side"
|
||||
sideIcon: "Side (Icons)"
|
||||
@ -1557,47 +1707,47 @@ _ago:
|
||||
weeksAgo: "{n}w ago"
|
||||
monthsAgo: "{n}mo ago"
|
||||
yearsAgo: "{n}y ago"
|
||||
invalid: "None"
|
||||
_time:
|
||||
second: "Second(s)"
|
||||
minute: "Minute(s)"
|
||||
hour: "Hour(s)"
|
||||
day: "Day(s)"
|
||||
_tutorial:
|
||||
_timelineTutorial:
|
||||
title: "How to use CherryPick"
|
||||
step1_1: "Welcome!"
|
||||
step1_2: "This page is called the \"timeline\". It shows chronologically ordered \"notes\" of people who you \"follow\"."
|
||||
step1_3: "Your timeline is currently empty, since you have not posted any notes or followed anyone yet."
|
||||
step2_1: "Let's finish setting up your profile before writing a note or following anyone."
|
||||
step2_2: "Providing some information about who you are will make it easier for others to tell if they want to see your notes or follow you."
|
||||
step3_1: "Finished setting up your profile?"
|
||||
step3_2: "Then let's try posting a note next. You can do so by pressing the button with a pencil icon on the screen."
|
||||
step3_3: "Fill in the modal and press the button on the top right to post."
|
||||
step3_4: "Have nothing to say? Try \"just setting up my msky\"!"
|
||||
step4_1: "Finished posting your first note?"
|
||||
step4_2: "Hurray! Now your first note should be displayed on your timeline."
|
||||
step5_1: "Now, let's try making your timeline more lively by following other people."
|
||||
step5_2: "{featured} will show you popular notes in this instance. {explore} will let you find popular users. Try finding people you'd like to follow there!"
|
||||
step5_3: "To follow other users, click on their icon and press the \"Follow\" button on their profile."
|
||||
step5_4: "If the other user has a lock icon next to their name, it may take some time for that user to manually approve your follow request."
|
||||
step6_1: "You should be able to see other users' notes on your timeline now."
|
||||
step6_2: "You can also put \"reactions\" on other people's notes to quickly respond to them."
|
||||
step6_3: "To attach a \"reaction\", press the \"+\" mark on another user's note and choose an emoji you'd like to react with."
|
||||
step7_1: "Congratulations! You have now finished CherryPick's basic tutorial."
|
||||
step7_2: "If you would like to learn more about CherryPick, try the {help} section."
|
||||
step7_3: "Now then, have fun with CherryPick! 🚀"
|
||||
step8_1: "Lastly, would you like to enable push notifications?"
|
||||
step8_2: "Enabling these will allow you to receive notifications for mentions, reactions, follows, etc. even when CherryPick is not opened."
|
||||
step8_3: "You can always change this setting later."
|
||||
step1_1: "This is the \"timeline\". All \"notes\" submitted on {name} will be chronologically displayed here."
|
||||
step1_2: "There are a few different timelines. For example, the \"Home timeline\" will contain notes of users you follow, and the \"Local timeline\" will contain notes from all users of {name}."
|
||||
step2_1: "Let's try posting a note next. You can do so by pressing the button with a pencil icon."
|
||||
step2_2: "How about writing a self-introduction, or just \"Hello {name}!\" if you don't feel like it?"
|
||||
step3_1: "Finished posting your first note?"
|
||||
step3_2: "Your first note should now be displayed on your timeline."
|
||||
step4_1: "You can also attach \"Reactions\" to notes."
|
||||
step4_2: "To attach a reaction, press the \"+\" mark on a note and choose an emoji you'd like to react with."
|
||||
_2fa:
|
||||
alreadyRegistered: "You have already registered a 2-factor authentication device."
|
||||
registerDevice: "Register a new device"
|
||||
registerKey: "Register a security key"
|
||||
registerTOTP: "Register authenticator app"
|
||||
passwordToTOTP: "Enter your password"
|
||||
step1: "First, install an authentication app (such as {a} or {b}) on your device."
|
||||
step2: "Then, scan the QR code displayed on this screen."
|
||||
step2Click: "Clicking on this QR code will allow you to register 2FA to your security key or phone authenticator app."
|
||||
step2Url: "You can also enter this URL if you're using a desktop program:"
|
||||
step3Title: "Enter an authentication code"
|
||||
step3: "Enter the token provided by your app to finish setup."
|
||||
step4: "From now on, any future login attempts will ask for such a login token."
|
||||
securityKeyNotSupported: "Your browser does not support security keys."
|
||||
registerTOTPBeforeKey: "Please set up an authenticator app to register a security or pass key."
|
||||
securityKeyInfo: "Besides fingerprint or PIN authentication, you can also setup authentication via hardware security keys that support FIDO2 to further secure your account."
|
||||
chromePasskeyNotSupported: "Chrome passkeys are currently not supported."
|
||||
registerSecurityKey: "Register a security or pass key"
|
||||
securityKeyName: "Enter a key name"
|
||||
tapSecurityKey: "Please follow your browser to register the security or pass key"
|
||||
removeKey: "Remove security key"
|
||||
removeKeyConfirm: "Really delete the {name} key?"
|
||||
whyTOTPOnlyRenew: "The authenticator app cannot be removed as long as a security key is registered."
|
||||
renewTOTP: "Reconfigure authenticator app"
|
||||
renewTOTPConfirm: "This will cause verification codes from your previous app to stop working"
|
||||
renewTOTPOk: "Reconfigure"
|
||||
renewTOTPCancel: "Cancel"
|
||||
_permissions:
|
||||
"read:account": "View your account information"
|
||||
"write:account": "Edit your account information"
|
||||
@ -1721,8 +1871,8 @@ _visibility:
|
||||
followersDescription: "Make visible to your followers only"
|
||||
specified: "Direct"
|
||||
specifiedDescription: "Make visible for specified users only"
|
||||
localOnly: "Local only"
|
||||
localOnlyDescription: "Not visible to remote users"
|
||||
disableFederation: "Defederate"
|
||||
disableFederationDescription: "Don't transmit to other instances"
|
||||
_postForm:
|
||||
replyPlaceholder: "Reply to this note..."
|
||||
quotePlaceholder: "Quote this note..."
|
||||
@ -1882,6 +2032,7 @@ _notification:
|
||||
receiveFollowRequest: "Received follow requests"
|
||||
followRequestAccepted: "Accepted follow requests"
|
||||
groupInvited: "Group invitations"
|
||||
achievementEarned: "Achievement unlocked"
|
||||
app: "Notifications from linked apps"
|
||||
_actions:
|
||||
followBack: "followed you back"
|
||||
@ -1896,7 +2047,7 @@ _deck:
|
||||
swapRight: "Swap with the right column"
|
||||
swapUp: "Swap with the above column"
|
||||
swapDown: "Swap with the below column"
|
||||
stackLeft: "Stack with the left column"
|
||||
stackLeft: "Stack on left column"
|
||||
popRight: "Pop column to the right"
|
||||
profile: "Profile"
|
||||
newProfile: "New profile"
|
||||
@ -1914,3 +2065,27 @@ _deck:
|
||||
channel: "Channel"
|
||||
mentions: "Mentions"
|
||||
direct: "Direct notes"
|
||||
roleTimeline: "Role Timeline"
|
||||
_dialog:
|
||||
charactersExceeded: "You've exceeded the maximum character limit! Currently at {current} of {max}."
|
||||
charactersBelow: "You're below the minimum character limit! Currently at {current} of {min}."
|
||||
_disabledTimeline:
|
||||
title: "Timeline disabled"
|
||||
description: "You cannot use this timeline under your current roles."
|
||||
_drivecleaner:
|
||||
orderBySizeDesc: "Descending Filesizes"
|
||||
orderByCreatedAtAsc: "Ascending Dates"
|
||||
_webhookSettings:
|
||||
createWebhook: "Create Webhook"
|
||||
name: "Name"
|
||||
secret: "Secret"
|
||||
events: "Webhook Events"
|
||||
active: "Enabled"
|
||||
_events:
|
||||
follow: "When following a user"
|
||||
followed: "When being followed"
|
||||
note: "When posting a note"
|
||||
reply: "When receiving a reply"
|
||||
renote: "When renoted"
|
||||
reaction: "When receiving a reaction"
|
||||
mention: "When being mentioned"
|
||||
|
@ -103,6 +103,8 @@ renoted: "Renotado"
|
||||
cantRenote: "No se puede renotar este post"
|
||||
cantReRenote: "No se puede renotar una renota"
|
||||
quote: "Citar"
|
||||
inChannelRenote: "Renota sólo del canal"
|
||||
inChannelQuote: "Cita sólo del canal"
|
||||
pinnedNote: "Nota fijada"
|
||||
pinned: "Fijar al perfil"
|
||||
you: "Tú"
|
||||
@ -120,6 +122,8 @@ unmarkAsSensitive: "Desmarcar como sensible"
|
||||
enterFileName: "Ingrese el nombre del archivo"
|
||||
mute: "Silenciar"
|
||||
unmute: "Dejar de silenciar"
|
||||
renoteMute: "Silenciar renota"
|
||||
renoteUnmute: "Desilenciar renota"
|
||||
block: "Bloquear"
|
||||
unblock: "Dejar de bloquear"
|
||||
suspend: "Suspender"
|
||||
@ -151,6 +155,7 @@ flagShowTimelineReplies: "Mostrar respuestas a las notas en la biografía"
|
||||
flagShowTimelineRepliesDescription: "Cuando se marca, la línea de tiempo muestra respuestas a otras notas además de las notas del usuario"
|
||||
autoAcceptFollowed: "Aceptar automáticamente las solicitudes de seguimiento de los usuarios que sigues"
|
||||
addAccount: "Agregar Cuenta"
|
||||
reloadAccountsList: "Recargar lista de cuentas"
|
||||
loginFailed: "Error al iniciar sesión."
|
||||
showOnRemote: "Ver en una instancia remota"
|
||||
general: "General"
|
||||
@ -259,12 +264,12 @@ nUsersRead: "Leído por {n} personas"
|
||||
agreeTo: "De acuerdo con {0}"
|
||||
agreeBelow: "Estoy de acuerdo con lo siguiente"
|
||||
basicNotesBeforeCreateAccount: "Notas básicas"
|
||||
tos: "Términos de uso"
|
||||
start: "Comenzar"
|
||||
home: "Inicio"
|
||||
remoteUserCaution: "Para el usuario remoto, la información está incompleta"
|
||||
activity: "Actividad"
|
||||
images: "Imágenes"
|
||||
image: "Imágenes"
|
||||
birthday: "Fecha de nacimiento"
|
||||
yearsOld: "{age} años"
|
||||
registeredDate: "Fecha de registro"
|
||||
@ -391,16 +396,19 @@ about: "Información"
|
||||
aboutMisskey: "Sobre CherryPick"
|
||||
administrator: "Administrador"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Autenticación de dos factores"
|
||||
2fa: "Autenticación de doble factor"
|
||||
totp: "Aplicación autentícadora"
|
||||
totpDescription: "Ingresa una contaseña de un sólo uso usando la aplicación autenticadora"
|
||||
moderator: "Moderador"
|
||||
moderation: "Moderación"
|
||||
nUsersMentioned: "{n} usuarios mencionados"
|
||||
securityKeyAndPasskey: "Clave de seguridad / clave de paso"
|
||||
securityKey: "Clave de seguridad"
|
||||
securityKeyName: "Nombre de la Clave"
|
||||
registerSecurityKey: "Registrar clave de seguridad"
|
||||
lastUsed: "Última vez usado"
|
||||
lastUsedAt: "Último uso: {t}"
|
||||
unregister: "Cancelar registro"
|
||||
passwordLessLogin: "Iniciar sesión sin contraseña"
|
||||
passwordLessLoginDescription: "Iniciar sesión con sólo una clave se seguridad / de paso sin usar una contraseña"
|
||||
resetPassword: "Resetear contraseña"
|
||||
newPasswordIs: "La nueva contraseña es \"{password}\""
|
||||
reduceUiAnimation: "Reducir la animación de la UI"
|
||||
@ -454,7 +462,6 @@ passwordMatched: "Correcto"
|
||||
passwordNotMatched: "Las contraseñas no son las mismas"
|
||||
signinWith: "Inicie sesión con {x}"
|
||||
signinFailed: "Autenticación fallida. Asegúrate de haber usado el nombre de usuario y contraseña correctos."
|
||||
tapSecurityKey: "Toque la clave de seguridad"
|
||||
or: "O"
|
||||
language: "Idioma"
|
||||
uiLanguage: "Idioma de visualización de la interfaz"
|
||||
@ -465,8 +472,11 @@ native: "Nativo"
|
||||
disableDrawer: "No mostrar los menús en cajones"
|
||||
youHaveNoGroups: "Sin grupos"
|
||||
joinOrCreateGroup: "Obtenga una invitación para unirse al grupos o puede crear su propio grupo."
|
||||
showNoteActionsOnlyHover: "Mostrar acciones de la nota sólo al pasar el cursor"
|
||||
noHistory: "No hay datos en el historial"
|
||||
signinHistory: "Historial de ingresos"
|
||||
enableAdvancedMfm: "Habilitar MFM avanzado"
|
||||
enableAnimatedMfm: "Habilitar MFM con movimiento"
|
||||
doing: "Voy en camino"
|
||||
category: "Categoría"
|
||||
tags: "Etiqueta"
|
||||
@ -508,9 +518,11 @@ objectStorageUseSSLDesc: "Desactive esto si no va a usar HTTPS para la conexión
|
||||
objectStorageUseProxy: "Conectarse a través de Proxy"
|
||||
objectStorageUseProxyDesc: "Desactive esto si no va a usar Proxy para la conexión de Almacenamiento de objetos"
|
||||
objectStorageSetPublicRead: "Seleccionar \"public-read\" al subir "
|
||||
s3ForcePathStyleDesc: "Si s3ForcePathStyle esta habilitado el nombre del bucket debe ser especificado como parte de la URL en lugar del nombre de host en la URL. Puede ser necesario activar esta opción cuando se utilice, por ejemplo, Minio en un servidor propio."
|
||||
serverLogs: "Registros del servidor"
|
||||
deleteAll: "Eliminar todos"
|
||||
showFixedPostForm: "Mostrar el formulario de las entradas encima de la línea de tiempo"
|
||||
showFixedPostFormInChannel: "Mostrar el formulario de publicación por encima de la cronología (Canales)"
|
||||
newNoteRecived: "Tienes una nota nueva"
|
||||
sounds: "Sonidos"
|
||||
sound: "Sonidos"
|
||||
@ -548,6 +560,10 @@ userSuspended: "Este usuario ha sido suspendido."
|
||||
userSilenced: "Este usuario ha sido silenciado."
|
||||
yourAccountSuspendedTitle: "Esta cuenta ha sido suspendida"
|
||||
yourAccountSuspendedDescription: "Esta cuenta ha sido suspendida debido a violaciones de los términos de servicio del servidor y otras razones. Para más información, póngase en contacto con el administrador. Por favor, no cree una nueva cuenta."
|
||||
tokenRevoked: "Token inválido"
|
||||
tokenRevokedDescription: "Este token expiró, vuelve a iniciar sesión."
|
||||
accountDeleted: "Cuenta borrada"
|
||||
accountDeletedDescription: "Esta cuenta ha sido borrada."
|
||||
menu: "Menú"
|
||||
divider: "Divisor"
|
||||
addItem: "Agregar elemento"
|
||||
@ -591,7 +607,6 @@ tokenRequested: "Permiso de acceso a la cuenta"
|
||||
pluginTokenRequestedDescription: "Este plugin podrá usar los permisos descritos aquí"
|
||||
notificationType: "Tipo de notificación"
|
||||
edit: "Editar"
|
||||
useStarForReactionFallback: "En caso de que los emojis de reacciones no sean claros, usar en su lugar una estrella"
|
||||
emailServer: "Servidor de correo"
|
||||
enableEmail: "Activar el envío de correos electrónicos"
|
||||
emailConfigInfo: "Usar en caso de validación de correo electrónico y pedido de contraseña"
|
||||
@ -785,6 +800,7 @@ popularPosts: "Más vistos"
|
||||
shareWithNote: "Compartir con una nota"
|
||||
ads: "Anuncios"
|
||||
expiration: "Termina el"
|
||||
startingperiod: "periodo de inicio"
|
||||
memo: "Notas"
|
||||
priority: "Prioridad"
|
||||
high: "Alta"
|
||||
@ -817,6 +833,7 @@ lastCommunication: "Última comunicación"
|
||||
resolved: "Resuelto"
|
||||
unresolved: "Sin resolver"
|
||||
breakFollow: "Dejar de seguir"
|
||||
breakFollowConfirm: "¿Quieres dejar de seguir?"
|
||||
itsOn: "¡Está encendido!"
|
||||
itsOff: "¡Está apagado!"
|
||||
emailRequiredForSignup: "Se requere una dirección de correo electrónico para el registro de la cuenta"
|
||||
@ -853,16 +870,20 @@ instanceDefaultLightTheme: "Tema claro por defecto de la instancia"
|
||||
instanceDefaultDarkTheme: "Tema oscuro por defecto de la instancia"
|
||||
instanceDefaultThemeDescription: "Ingrese el código del tema en formato objeto"
|
||||
mutePeriod: "Período de silenciamiento"
|
||||
period: "Termina el"
|
||||
indefinitely: "Sin límite de tiempo"
|
||||
tenMinutes: "10 minutos"
|
||||
oneHour: "1 hora"
|
||||
oneDay: "1 día"
|
||||
oneWeek: "1 semana"
|
||||
oneMonth: "1 mes"
|
||||
reflectMayTakeTime: "Puede pasar un tiempo hasta que se reflejen los cambios"
|
||||
failedToFetchAccountInformation: "No se pudo obtener información de la cuenta"
|
||||
rateLimitExceeded: "Se excedió el límite de peticiones"
|
||||
cropImage: "Recortar imágen"
|
||||
cropImageAsk: "¿Desea recortar la imagen?"
|
||||
cropYes: "Recortar"
|
||||
cropNo: "Usar como está"
|
||||
file: "Archivos"
|
||||
recentNHours: "Últimas {n} horas"
|
||||
recentNDays: "Últimos {n} días"
|
||||
@ -913,6 +934,7 @@ pushNotificationNotSupported: "El navegador o la instancia no admiten notificaci
|
||||
sendPushNotificationReadMessage: "Eliminar las notificaciones push después de leer las notificaciones y los mensajes"
|
||||
sendPushNotificationReadMessageCaption: "La notificación \"{emptyPushNotificationMessage}\" aparecerá momentáneamente. Esto puede aumentar el consumo de batería del dispositivo."
|
||||
windowMaximize: "Maximizar"
|
||||
windowMinimize: "Minimizar"
|
||||
windowRestore: "Regresar"
|
||||
caption: "Pie de foto"
|
||||
loggedInAsBot: "Inicio sesión como cuenta bot."
|
||||
@ -943,6 +965,58 @@ selectFromPresets: "Escoger desde predefinidos"
|
||||
achievements: "Logros"
|
||||
gotInvalidResponseError: "Respuesta del servidor inválida"
|
||||
gotInvalidResponseErrorDescription: "Puede que el servidor esté caído o en mantenimiento. Favor de intentar más tarde"
|
||||
thisPostMayBeAnnoying: "Ésta publicación puede resultar molesta."
|
||||
thisPostMayBeAnnoyingHome: "Publicar en línea de tiempo 'Inicio'"
|
||||
thisPostMayBeAnnoyingCancel: "detener"
|
||||
thisPostMayBeAnnoyingIgnore: "Publicar de todos modos"
|
||||
collapseRenotes: "Colapsar renotas que ya hayas visto"
|
||||
internalServerError: "Error interno del servidor"
|
||||
internalServerErrorDescription: "El servidor tuvo un error inesperado."
|
||||
copyErrorInfo: "Copiar detalles del error"
|
||||
joinThisServer: "Registrarse en esta instancia"
|
||||
exploreOtherServers: "Buscar otra instancia"
|
||||
letsLookAtTimeline: "Mirar la línea de tiempo local"
|
||||
disableFederationConfirm: "¿Estas seguro que quieres desactivar la federación?"
|
||||
disableFederationConfirmWarn: "Aunque no exista federación los posts no serán marcados como privados. En la mayoría de los casos, no es necesario hacer los posts no federar."
|
||||
disableFederationOk: "Desactivar."
|
||||
invitationRequiredToRegister: "Esta instancia está configurada sólo por invitación, tienes que ingresar un código de invitación válido."
|
||||
emailNotSupported: "Esta instancia no soporta el envío de correo electrónico"
|
||||
postToTheChannel: "Publicar en el canal"
|
||||
cannotBeChangedLater: "Esto no podrá ser cambiado después."
|
||||
reactionAcceptance: "Aceptación de reacciones"
|
||||
likeOnly: "Sólo 'me gusta'"
|
||||
likeOnlyForRemote: "Sólo reacciones de instancias remotas"
|
||||
rolesAssignedToMe: "Roles asignados a mí"
|
||||
resetPasswordConfirm: "¿Realmente quieres cambiar la contraseña?"
|
||||
sensitiveWords: "Palabras sensibles"
|
||||
sensitiveWordsDescription: "La visibilidad de todas las notas que contienen cualquiera de las palabras configuradas serán puestas en \"Inicio\" automáticamente. Puedes enumerás varias separándolas con saltos de línea"
|
||||
notesSearchNotAvailable: "No se puede buscar una nota"
|
||||
license: "Licencia"
|
||||
unfavoriteConfirm: "¿Desea quitar de favoritos?"
|
||||
myClips: "Mis clips"
|
||||
drivecleaner: "Limpiador del Drive"
|
||||
retryAllQueuesNow: "Reintentar inmediatamente todas las colas"
|
||||
retryAllQueuesConfirmTitle: "Desea ¿reintentar inmediatamente todas las colas?"
|
||||
retryAllQueuesConfirmText: "La carga del servidor está incrementándose temporalmente "
|
||||
enableChartsForRemoteUser: "Generar gráficas de usuarios remotos."
|
||||
enableChartsForFederatedInstances: "Generar gráficos de servidores remotos"
|
||||
showClipButtonInNoteFooter: "Añadir \"Clip\" al menú de notas"
|
||||
largeNoteReactions: "Agrandar las reacciones de las notas"
|
||||
noteIdOrUrl: "ID o URL de la nota"
|
||||
accountMigration: "Migración de cuenta"
|
||||
accountMoved: "Este usuario se ha mudado a una nueva cuenta:"
|
||||
horizontal: "Horizontal"
|
||||
youFollowing: "Siguiendo"
|
||||
options: "Opción"
|
||||
_accountMigration:
|
||||
moveFrom: "Trasladar de otra cuenta a ésta"
|
||||
moveFromLabel: "Cuenta desde la que se realiza el traslado:"
|
||||
moveFromDescription: "Si quieres transferir seguidores de otra cuenta a esta cuenta y trasladarlos, tendrás que crear un alias aquí. Asegúrate de crearlo antes de realizar el traslado. Introduce la cuenta desde la que estás moviendo los seguidores así: @person@instance.com"
|
||||
moveTo: "Mover esta cuenta a una nueva"
|
||||
moveToLabel: "Cuenta destino:"
|
||||
moveAccountDescription: "Esta operación no puede deshacerse. En primer lugar, asegúrese de haber creado un alias para esta cuenta en la cuenta a la que se va a trasladar. Después de crear el alias, introduzca la cuenta a la que se está trasladando de la siguiente manera: @person@instance.com"
|
||||
migrationConfirm: "¿Estás seguro de que quieres mover esta cuenta a {account}? Una vez trasladada, no podrás deshacer el traslado y no podrás volver a utilizar la cuenta original.\n\nAdemás, compruebe que ha configurado un alias en el destino del traslado."
|
||||
movedTo: "Cuenta destino:"
|
||||
_achievements:
|
||||
earnedAt: "Desbloqueado el"
|
||||
_types:
|
||||
@ -1202,6 +1276,8 @@ _role:
|
||||
iconUrl: "URL del ícono"
|
||||
asBadge: "Mostrar como emblema"
|
||||
descriptionOfAsBadge: "Este ícono de rol se mostrará a lado del nombre de usuario cuando este rol se encuentre activo."
|
||||
displayOrder: "Posición"
|
||||
descriptionOfDisplayOrder: "Entre más alto el número, mayor es la posición en la interfaz."
|
||||
canEditMembersByModerator: "Permitir a los moderadores editar los miembros"
|
||||
descriptionOfCanEditMembersByModerator: "Si se activa, los moderadores, al igual que los administradores, serán capaces de asignar/quitar usuarios a éste rol. Si se desactiva, sólo los administradores podrán hacerlo."
|
||||
priority: "Prioridad"
|
||||
@ -1227,6 +1303,7 @@ _role:
|
||||
rateLimitFactor: "Limitador"
|
||||
descriptionOfRateLimitFactor: "Límites más bajos son menos restrictivos, más altos menos restrictivos"
|
||||
canHideAds: "Puede ocultar anuncios"
|
||||
canSearchNotes: "Uso de la búsqueda de notas"
|
||||
_condition:
|
||||
isLocal: "Usuario local"
|
||||
isRemote: "Usuario remoto"
|
||||
@ -1236,6 +1313,8 @@ _role:
|
||||
followersMoreThanOrEq: "Tiene X o más seguidores"
|
||||
followingLessThanOrEq: "Sigue X o menos cuentas"
|
||||
followingMoreThanOrEq: "Sigue X o más cuentas"
|
||||
notesLessThanOrEq: "El número de notas es inferior o igual a"
|
||||
notesMoreThanOrEq: "El número de notas es superior o igual a"
|
||||
and: "Condicional AND"
|
||||
or: "Condicional OR"
|
||||
not: "Condicional NOT"
|
||||
@ -1522,47 +1601,37 @@ _ago:
|
||||
weeksAgo: "Hace {n} semanas"
|
||||
monthsAgo: "Hace {n} meses"
|
||||
yearsAgo: "Hace {n} años"
|
||||
invalid: "No hay nada que ver aqui"
|
||||
_time:
|
||||
second: "Segundos"
|
||||
minute: "Minutos"
|
||||
hour: "Horas"
|
||||
day: "Días"
|
||||
_tutorial:
|
||||
title: "Cómo usar CherryPick"
|
||||
step1_1: "Bienvenido"
|
||||
step1_2: "Esta imagen se llama \"Linea de tiempo\" y muestra en orden cronológico las \"notas\" tuyas y de la gente que \"sigues\""
|
||||
step1_3: "Si no estás escribiendo ninguna nota y no estás siguiendo a nadie, es esperable que no se muestre nada en la linea de tiempo"
|
||||
step2_1: "Antes de crear notas y seguir a alguien, primero vamos a crear tu perfil"
|
||||
step2_2: "Si provees información sobre quien eres, será más fácil para que otros usuarios te sigan"
|
||||
step3_1: "¿Has podido crear tu perfil sin problemas?"
|
||||
step3_2: "Con esto, prueba hacer una nota. Aprieta el botón con forma de lápiz que está arriba de la imagen y abre el formulario."
|
||||
step3_3: "Si has escrito el contenido, aprieta el botón que está arriba a la derecha del formulario para postear."
|
||||
step3_4: "¿No se te ocurre un contenido? Prueba con decir \"Empecé a usar CherryPick\""
|
||||
step4_1: "¿Has posteado?"
|
||||
step4_2: "Si tu nota puede verse en la linea de tiempo, fue todo un éxito."
|
||||
step5_1: "Luego, ponte a seguir a otra gente y haz que tu linea de tiempo esté más animada."
|
||||
step5_2: "Puedes ver las notas destacadas en {featured} y desde allí seguir a usuarios que te importan. También puedes buscar usuario destacados en {explore}."
|
||||
step5_3: "Para seguir a un usuario, haz click en su avatar para ver su página de usuario y allí apretar el botón \"seguir\""
|
||||
step5_4: "De esa manera, puede pasar un tiempo hasta que el usuario apruebe al seguidor."
|
||||
step6_1: "Si puedes ver en la linea de tiempo las notas de otros usuarios, fue todo un éxito."
|
||||
step6_2: "En las notas de otros usuarios puedes añadir una \"reacción\", para poder responder rápidamente."
|
||||
step6_3: "Para añadir una reacción, haz click en el botón \"+\" de la nota y elige la reacción que prefieras."
|
||||
step7_1: "Así terminó la explicación del funcionamiento básico de CherryPick. Eso fue todo."
|
||||
step7_2: "Si quieres conocer más sobre CherryPick, prueba con la sección {help}."
|
||||
step7_3: "Así, disfruta de CherryPick 🚀"
|
||||
step8_1: "Por último, ¿por qué no activar las notificaciones emergentes?"
|
||||
step8_2: "Al recibir notificaciones emergentes, estarás al tanto de reacciones, seguimientos y menciones incluso cuando CherryPick no esté abierto."
|
||||
step8_3: "La configuración de las notificaciones puede modificarse posteriormente."
|
||||
_2fa:
|
||||
alreadyRegistered: "Ya has completado la configuración."
|
||||
registerDevice: "Registrar dispositivo"
|
||||
registerKey: "Registrar clave"
|
||||
registerTOTP: "Registrar aplicación autenticadora"
|
||||
passwordToTOTP: "Ingresa tu contraseña"
|
||||
step1: "Primero, instale en su dispositivo la aplicación de autenticación {a} o {b} u otra."
|
||||
step2: "Luego, escanee con la aplicación el código QR mostrado en pantalla."
|
||||
step2Click: "Clicking on this QR code will allow you to register 2FA to your security key or phone authenticator app.\nTocar este código QR te permitirá registrar la autenticación 2FA a tu llave de seguridad o aplicación autenticadora."
|
||||
step2Url: "En una aplicación de escritorio se puede ingresar la siguiente URL:"
|
||||
step3Title: "Ingresa un código de autenticación"
|
||||
step3: "Para terminar, ingrese el token mostrado en la aplicación."
|
||||
step4: "Ahora cuando inicie sesión, ingrese el mismo token"
|
||||
securityKeyNotSupported: "Tu navegador no soporta claves de autenticación."
|
||||
registerTOTPBeforeKey: "Please set up an authenticator app to register a security or pass key.\npor favor. configura una aplicación de autenticación para registrar una llave de seguridad."
|
||||
securityKeyInfo: "Se puede configurar el inicio de sesión usando una clave de seguridad de hardware que soporte FIDO2 o con un certificado de huella digital o con un PIN"
|
||||
chromePasskeyNotSupported: "Las llaves de seguridad de Chrome no son soportadas por el momento."
|
||||
registerSecurityKey: "Registrar una llave de seguridad"
|
||||
securityKeyName: "Ingresa un nombre para la clave"
|
||||
tapSecurityKey: "Por favor, sigue tu navegador para registrar una llave de seguridad"
|
||||
removeKey: "Quitar la llave de seguridad"
|
||||
removeKeyConfirm: "¿Borrar el respaldo \"{name}\"?"
|
||||
whyTOTPOnlyRenew: "The authenticator app cannot be removed as long as a security key is registered.\nLa aplicación autenticadora no puede ser eliminada mientras la llave de seguridad se encuentre registrada."
|
||||
renewTOTP: "Reconfigurar la aplicación autenticadora"
|
||||
renewTOTPConfirm: "This will cause verification codes from your previous app to stop working\nEsto hará que los códigos de verificación de la aplicación anterior dejen de funcionar"
|
||||
renewTOTPOk: "Reconfigurar"
|
||||
renewTOTPCancel: "No gracias"
|
||||
_permissions:
|
||||
"read:account": "Ver información de la cuenta"
|
||||
"write:account": "Editar información de la cuenta"
|
||||
@ -1686,8 +1755,8 @@ _visibility:
|
||||
followersDescription: "Visible sólo para tus seguidores"
|
||||
specified: "Mensaje directo"
|
||||
specifiedDescription: "Visible sólo para los usuarios elegidos"
|
||||
localOnly: "Solo local"
|
||||
localOnlyDescription: "Oculto para usuarios remotos"
|
||||
disableFederation: "No federado"
|
||||
disableFederationDescription: "No enviar a otras instancias"
|
||||
_postForm:
|
||||
replyPlaceholder: "Responder a esta nota"
|
||||
quotePlaceholder: "Citar esta nota"
|
||||
@ -1847,6 +1916,7 @@ _notification:
|
||||
receiveFollowRequest: "Recibió una solicitud de seguimiento"
|
||||
followRequestAccepted: "El seguimiento fue aceptado"
|
||||
groupInvited: "Invitado al grupo"
|
||||
achievementEarned: "Logro desbloqueado"
|
||||
app: "Notificaciones desde aplicaciones"
|
||||
_actions:
|
||||
followBack: "Te sigue de vuelta"
|
||||
@ -1879,3 +1949,26 @@ _deck:
|
||||
channel: "Canal"
|
||||
mentions: "Menciones"
|
||||
direct: "Mensaje directo"
|
||||
_dialog:
|
||||
charactersExceeded: "¡Has excedido el límite de caracteres! Actualmente {current} de {max}."
|
||||
charactersBelow: "¡Estás por debajo del límite de caracteres! Actualmente {current} de {min}."
|
||||
_disabledTimeline:
|
||||
title: "Línea de tiempo deshabilitada"
|
||||
description: "No puedes usar esta línea de tiempo con tus roles actuales."
|
||||
_drivecleaner:
|
||||
orderBySizeDesc: "Más grandes"
|
||||
orderByCreatedAtAsc: "Más antiguos"
|
||||
_webhookSettings:
|
||||
createWebhook: "Crear Webhook"
|
||||
name: "Nombre"
|
||||
secret: "Secreto"
|
||||
events: "Eventos de webhook"
|
||||
active: "Activado"
|
||||
_events:
|
||||
follow: "Cuando se sigue a alguien"
|
||||
followed: "Cuando se es seguido"
|
||||
note: "Cuando se publica una nota"
|
||||
reply: "Cuando se recibe una respuesta"
|
||||
renote: "Cuando reciba un \"re-note\""
|
||||
reaction: "Cuando se recibe una reacción"
|
||||
mention: "Cuando hay una mención"
|
||||
|
@ -20,6 +20,7 @@ noNotes: "Aucune note"
|
||||
noNotifications: "Aucune notification"
|
||||
instance: "Instance"
|
||||
settings: "Paramètres"
|
||||
notificationSettings: "Paramètres des notifications "
|
||||
basicSettings: "Paramètres généraux"
|
||||
otherSettings: "Paramètres avancés"
|
||||
openInWindow: "Ouvrir dans une nouvelle fenêtre"
|
||||
@ -103,6 +104,8 @@ renoted: "Renoté !"
|
||||
cantRenote: "Ce message ne peut pas être renoté."
|
||||
cantReRenote: "Impossible de renoter une Renote."
|
||||
quote: "Citer"
|
||||
inChannelRenote: "Renoter dans le canal"
|
||||
inChannelQuote: "Citer dans le canal"
|
||||
pinnedNote: "Note épinglée"
|
||||
pinned: "Épingler sur le profil"
|
||||
you: "Vous"
|
||||
@ -129,6 +132,7 @@ unblockConfirm: "Êtes-vous sûr·e de vouloir débloquer ce compte ?"
|
||||
suspendConfirm: "Êtes-vous sûr·e de vouloir suspendre ce compte ?"
|
||||
unsuspendConfirm: "Êtes-vous sûr·e de vouloir annuler la suspension de ce compte ?"
|
||||
selectList: "Sélectionner une liste"
|
||||
selectChannel: "Sélectionner un canal"
|
||||
selectAntenna: "Sélectionner une antenne"
|
||||
selectWidget: "Sélectionner un widget"
|
||||
editWidgets: "Modifier les widgets"
|
||||
@ -256,12 +260,12 @@ noMoreHistory: "Il n’y a plus d’historique"
|
||||
startMessaging: "Commencer à discuter"
|
||||
nUsersRead: "Lu par {n} personnes"
|
||||
agreeTo: "J’accepte {0}"
|
||||
tos: "les conditions d’utilisation"
|
||||
start: "Commencer"
|
||||
home: "Principal"
|
||||
remoteUserCaution: "Les informations de ce compte risqueraient d’être incomplètes du fait que l’utilisateur·rice provient d’une instance distante."
|
||||
activity: "Activité"
|
||||
images: "Images"
|
||||
image: "Images"
|
||||
birthday: "Date de naissance"
|
||||
yearsOld: "{age} ans"
|
||||
registeredDate: "Inscrit le"
|
||||
@ -388,13 +392,10 @@ about: "Informations"
|
||||
aboutMisskey: "À propos de CherryPick"
|
||||
administrator: "Administrateur"
|
||||
token: "Jeton"
|
||||
twoStepAuthentication: "Authentification à deux facteurs"
|
||||
moderator: "Modérateur·rice·s"
|
||||
moderation: "Modérations"
|
||||
nUsersMentioned: "{n} utilisateur·rice·s mentionné·e·s"
|
||||
securityKey: "Clé de sécurité"
|
||||
securityKeyName: "Nom de la clé"
|
||||
registerSecurityKey: "Enregistrer une clé de sécurité"
|
||||
lastUsed: "Dernier utilisé"
|
||||
unregister: "Se désinscrire"
|
||||
passwordLessLogin: "Se connecter sans mot de passe"
|
||||
@ -451,7 +452,6 @@ passwordMatched: "Les mots de passe correspondent"
|
||||
passwordNotMatched: "Les mots de passe ne correspondent pas"
|
||||
signinWith: "Se connecter avec {x}"
|
||||
signinFailed: "Échec d’authentification. Veuillez vérifier que votre nom d’utilisateur et mot de passe sont corrects."
|
||||
tapSecurityKey: "Appuyez sur votre clé de sécurité"
|
||||
or: "OU"
|
||||
language: "Langue"
|
||||
uiLanguage: "Langue d’affichage de l’interface"
|
||||
@ -464,6 +464,7 @@ youHaveNoGroups: "Vous n’avez aucun groupe"
|
||||
joinOrCreateGroup: "Vous pouvez être invité·e à rejoindre des groupes existants ou créer votre propre nouveau groupe."
|
||||
noHistory: "Pas d'historique"
|
||||
signinHistory: "Historique de connexion"
|
||||
enableAdvancedMfm: "Activer la MFM avancée"
|
||||
doing: "En cours..."
|
||||
category: "Catégorie"
|
||||
tags: "Étiquettes"
|
||||
@ -540,7 +541,7 @@ updateRemoteUser: "Mettre à jour les informations de l’utilisateur·rice dist
|
||||
deleteAllFiles: "Supprimer tous les fichiers"
|
||||
deleteAllFilesConfirm: "Êtes-vous sûr·e de vouloir supprimer tous les fichiers ?"
|
||||
removeAllFollowing: "Retenir tous les abonnements"
|
||||
removeAllFollowingDescription: "Se désabonner de tous les comptes de {host}. Veuillez lancer cette action uniquement si l’instance n’existe plus."
|
||||
removeAllFollowingDescription: "Se désabonner de tous les comptes de {host}. Veuillez lancer cette action dans les cas où l’instance n’existe plus, etc."
|
||||
userSuspended: "Cet·te utilisateur·rice a été suspendu·e."
|
||||
userSilenced: "Cette utilisateur·trice a été mis·e en sourdine."
|
||||
yourAccountSuspendedTitle: "Ce compte est suspendu"
|
||||
@ -588,7 +589,6 @@ tokenRequested: "Autoriser l'accès au compte"
|
||||
pluginTokenRequestedDescription: "Ce plugin pourra utiliser les autorisations définies ici."
|
||||
notificationType: "Type de notifications"
|
||||
edit: "Editer"
|
||||
useStarForReactionFallback: "Utiliser ★ comme alternative si l’émoji de réaction est inconnu"
|
||||
emailServer: "Serveur mail"
|
||||
enableEmail: "Activer la distribution de courriel"
|
||||
emailConfigInfo: "Utilisé pour confirmer votre adresse de courriel et la réinitialisation de votre mot de passe en cas d’oubli."
|
||||
@ -848,18 +848,23 @@ instanceDefaultLightTheme: "Thème clair par défaut sur toute l’instance"
|
||||
instanceDefaultDarkTheme: "Thème sombre par défaut sur toute l’instance"
|
||||
instanceDefaultThemeDescription: "Saisissez le code du thème en format objet."
|
||||
mutePeriod: "Durée de mise en sourdine"
|
||||
period: "Fin du sondage"
|
||||
indefinitely: "Illimité"
|
||||
tenMinutes: "10 minutes"
|
||||
oneHour: "1 heure"
|
||||
oneDay: "1 jour"
|
||||
oneWeek: "1 semaine"
|
||||
oneMonth: "Un mois"
|
||||
reflectMayTakeTime: "Cela peut prendre un certain temps avant que cela ne se termine."
|
||||
failedToFetchAccountInformation: "Impossible de récupérer les informations du compte."
|
||||
rateLimitExceeded: "Limite de taux dépassée"
|
||||
cropImage: "Recadrer l'image"
|
||||
cropImageAsk: "Voulez-vous recadrer cette image ?"
|
||||
cropYes: "Rogner"
|
||||
cropNo: "Utiliser en l'état"
|
||||
file: "Fichiers"
|
||||
recentNHours: "Dernières {n} heures"
|
||||
recentNDays: "Derniers {n} jours"
|
||||
noEmailServerWarning: "Serveur de courrier non configuré."
|
||||
thereIsUnresolvedAbuseReportWarning: "Il n’y a aucun rapport non résolu."
|
||||
recommended: "Recommandé"
|
||||
@ -915,13 +920,94 @@ numberOfLikes: "Favoris"
|
||||
show: "Affichage"
|
||||
neverShow: "Ne plus afficher"
|
||||
remindMeLater: "Peut-être plus tard"
|
||||
roles: "Rôles"
|
||||
role: "Rôles"
|
||||
normalUser: "Simple utilisateur·rice"
|
||||
assign: "Attribuer"
|
||||
color: "Couleur"
|
||||
manageCustomEmojis: "Gestion des émojis personnalisés"
|
||||
preset: "Préréglage"
|
||||
selectFromPresets: "Sélectionner à partir des préréglages"
|
||||
thisPostMayBeAnnoyingCancel: "Annuler"
|
||||
license: "Licence"
|
||||
video: "Vidéo"
|
||||
videos: "Vidéos"
|
||||
dataSaver: "Économiseur de données"
|
||||
accountMigration: "Migration de compte"
|
||||
accountMoved: "Cet·te utilisateur·rice a migré son compte vers :"
|
||||
notificationDisplay: "Style des notifications"
|
||||
leftTop: "En haut à gauche"
|
||||
rightTop: "En haut à droite"
|
||||
leftBottom: "En bas à gauche"
|
||||
rightBottom: "En bas à droite"
|
||||
vertical: "Vertical"
|
||||
horizontal: "Latéral"
|
||||
serverRules: "Règles du serveur"
|
||||
youFollowing: "Abonné·e"
|
||||
_achievements:
|
||||
_types:
|
||||
_notes1:
|
||||
description: "Publiez votre première note"
|
||||
flavor: "Passez un bon moment avec CherryPick !"
|
||||
_notes100000:
|
||||
title: "ALL YOUR NOTE ARE BELONG TO US"
|
||||
_login3:
|
||||
title: "Débutant Ⅰ"
|
||||
description: "Se connecter pour un total de 3 jours"
|
||||
_login7:
|
||||
title: "Débutant Ⅱ"
|
||||
description: "Se connecter pour un total de 7 jours"
|
||||
_login15:
|
||||
title: "Débutant Ⅲ"
|
||||
description: "Se connecter pour un total de 15 jours"
|
||||
_login30:
|
||||
description: "Se connecter pour un total de 30 jours"
|
||||
_login60:
|
||||
description: "Se connecter pour un total de 60 jours"
|
||||
_login100:
|
||||
description: "Se connecter pour un total de 100 jours"
|
||||
_login200:
|
||||
description: "Se connecter pour un total de 200 jours"
|
||||
_login300:
|
||||
description: "Se connecter pour un total de 300 jours"
|
||||
_login400:
|
||||
description: "Se connecter pour un total de 400 jours"
|
||||
_login500:
|
||||
description: "Se connecter pour un total de 500 jours"
|
||||
_login600:
|
||||
description: "Se connecter pour un total de 600 jours"
|
||||
_login700:
|
||||
description: "Se connecter pour un total de 700 jours"
|
||||
_login800:
|
||||
description: "Se connecter pour un total de 800 jours"
|
||||
_login900:
|
||||
description: "Se connecter pour un total de 900 jours"
|
||||
_login1000:
|
||||
flavor: "Merci d'utiliser CherryPick !"
|
||||
_markedAsCat:
|
||||
title: "Je suis un chat"
|
||||
flavor: "Je n'ai pas encore de nom"
|
||||
_following50:
|
||||
title: "Beaucoup d'amis"
|
||||
_followers10:
|
||||
title: "Abonnez-moi !"
|
||||
_iLoveMisskey:
|
||||
title: "J’adore Misskey"
|
||||
_viewInstanceChart:
|
||||
title: "Analyste"
|
||||
_loggedInOnBirthday:
|
||||
title: "Joyeux Anniversaire !"
|
||||
_loggedInOnNewYearsDay:
|
||||
title: "Bonne année !"
|
||||
_role:
|
||||
assignTarget: "Attribuer"
|
||||
priority: "Priorité"
|
||||
_priority:
|
||||
low: "Basse"
|
||||
middle: "Moyen"
|
||||
high: "Haute"
|
||||
_options:
|
||||
canManageCustomEmojis: "Gestion des émojis personnalisés"
|
||||
_sensitiveMediaDetection:
|
||||
description: "L'apprentissage automatique peut être utilisé pour détecter automatiquement les médias sensibles à modérer. La sollicitation des serveurs augmente légèrement."
|
||||
sensitivity: "Sensibilité de la détection"
|
||||
@ -1205,46 +1291,22 @@ _ago:
|
||||
weeksAgo: "Il y a {n} semaines"
|
||||
monthsAgo: "Il y a {n} mois"
|
||||
yearsAgo: "Il y a {n} ans"
|
||||
invalid: "Il n'y a rien à voir ici"
|
||||
_time:
|
||||
second: "s"
|
||||
minute: "min"
|
||||
hour: "h"
|
||||
day: "j"
|
||||
_tutorial:
|
||||
title: "Comment utiliser CherryPick"
|
||||
step1_1: "Bienvenue,"
|
||||
step1_2: "Cette page est appelée « un fil ». Elle affiche les « notes » des personnes auxquelles vous êtes abonné dans un ordre chronologique."
|
||||
step1_3: "Votre fil est actuellement vide vu que vous ne suivez aucun compte et que vous n’avez publié aucune note, pour l’instant."
|
||||
step2_1: "Procédons d’abord à la préparation de votre profil avant d’écrire une note et/ou de vous abonner à un compte."
|
||||
step2_2: "En fournissant quelques informations sur vous, il sera plus facile pour les autres de s’abonner à votre compte."
|
||||
step3_1: "Vous avez fini de créer votre profil ?"
|
||||
step3_2: "L’étape suivante consiste à créer une note. Vous pouvez commencer en cliquant sur l’icône crayon sur l’écran."
|
||||
step3_3: "Remplissez le cadran et cliquez sur le bouton en haut à droite pour envoyer."
|
||||
step3_4: "Vous n’avez rien à dire ? Essayez d’écrire « J’ai commencé à utiliser CherryPick »."
|
||||
step4_1: "Avez-vous publié votre première note ?"
|
||||
step4_2: "Youpi ! Celle-ci est maintenant affichée sur votre fil d’actualité."
|
||||
step5_1: "Maintenant, essayons de nous abonner à d’autres personnes afin de rendre votre fil plus vivant."
|
||||
step5_2: "La page {featured} affiche les notes en tendance sur la présente instance et {explore} vous permet de trouver des utilisateur·rice·s en tendance. Essayez de vous abonner aux gens que vous aimez !"
|
||||
step5_3: "Pour pouvoir suivre d’autres utilisateur·rice, cliquez sur leur avatar afin d’afficher la page du profil utilisateur ensuite appuyez sur le bouton « S’abonner »."
|
||||
step5_4: "Si l’autre utilisateur possède une icône sous forme d’un cadenas à côté de son nom, il devra accepter votre demande d’abonnement manuellement."
|
||||
step6_1: "Maintenant, vous êtes en mesure de voir s’afficher les notes des autres utilisateur·rice·s sur votre propre fil."
|
||||
step6_2: "Vous avez également la possibilité d’intéragir rapidement avec les notes des autres utilisateur·rice·s en ajoutant des « réactions »."
|
||||
step6_3: "Pour ajouter une réaction à une note, cliquez sur le signe « + » de celle-ci et sélectionnez l’émoji souhaité."
|
||||
step7_1: "Félicitations ! Vous avez atteint la fin du tutoriel de base pour l’utilisation de CherryPick."
|
||||
step7_2: "Si vous désirez en savoir plus sur CherryPick, jetez un œil sur la section {help}."
|
||||
step7_3: "Bon courage et amusez-vous bien sur CherryPick ! 🚀"
|
||||
step8_1: "Enfin, souhaitez-vous activer les notifications push ?"
|
||||
step8_2: "En les activant, vous recevrez des notifications pour les mentions, les réactions, les suivis, etc., même lorsque CherryPick n'est pas ouvert."
|
||||
_2fa:
|
||||
alreadyRegistered: "Configuration déjà achevée."
|
||||
registerDevice: "Ajouter un nouvel appareil"
|
||||
registerKey: "Enregistrer une clef"
|
||||
step1: "Tout d'abord, installez une application d'authentification, telle que {a} ou {b}, sur votre appareil."
|
||||
step2: "Ensuite, scannez le code QR affiché sur l’écran."
|
||||
step2Url: "Vous pouvez également saisir cette URL si vous utilisez un programme de bureau :"
|
||||
step3: "Entrez le jeton affiché sur votre application pour compléter la configuration."
|
||||
step4: "À partir de maintenant, ce même jeton vous sera demandé à chacune de vos connexions."
|
||||
securityKeyInfo: "Vous pouvez configurer l'authentification WebAuthN pour sécuriser davantage le processus de connexion grâce à une clé de sécurité matérielle qui prend en charge FIDO2, ou bien en configurant l'authentification par empreinte digitale ou par code PIN sur votre appareil."
|
||||
removeKeyConfirm: "Voulez-vous supprimer {name} ?"
|
||||
renewTOTPCancel: "Pas maintenant"
|
||||
_permissions:
|
||||
"read:account": "Afficher les informations du compte"
|
||||
"write:account": "Mettre à jour les informations de votre compte"
|
||||
@ -1362,8 +1424,6 @@ _visibility:
|
||||
followersDescription: "Publier à vos abonné·e·s uniquement"
|
||||
specified: "Direct"
|
||||
specifiedDescription: "Publier uniquement aux utilisateur·rice·s mentionné·e·s"
|
||||
localOnly: "Local seulement"
|
||||
localOnlyDescription: "Caché pour les utilisateurs distant"
|
||||
_postForm:
|
||||
replyPlaceholder: "Répondre à cette note ..."
|
||||
quotePlaceholder: "Citez cette note ..."
|
||||
@ -1543,3 +1603,6 @@ _deck:
|
||||
channel: "Canaux"
|
||||
mentions: "Mentions"
|
||||
direct: "Direct"
|
||||
_webhookSettings:
|
||||
name: "Nom"
|
||||
active: "Activé"
|
||||
|
@ -84,7 +84,7 @@ error: "Galat"
|
||||
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."
|
||||
pageLoadErrorDescription: "Umumnya disebabkan jaringan atau tembolok peramban. Cobalah bersihkan tembolok peramban lalu tunggu sesaat sebelum mencoba kembali."
|
||||
serverIsDead: "Tidak ada respon dari peladen. Mohon tunggu dan coba beberapa saat lagi."
|
||||
youShouldUpgradeClient: "Untuk melihat halaman ini, mohon muat ulang untuk memutakhirkan klienmu."
|
||||
enterListName: "Masukkan nama daftar"
|
||||
@ -103,6 +103,8 @@ renoted: "Telah direnote"
|
||||
cantRenote: "Postingan ini tidak dapat direnote"
|
||||
cantReRenote: "Renote tidak dapat direnote"
|
||||
quote: "Kutip"
|
||||
inChannelRenote: "Hanya renote dalam kanal"
|
||||
inChannelQuote: "Hanya kutip dalam kanal"
|
||||
pinnedNote: "Catatan yang disematkan"
|
||||
pinned: "Sematkan ke profil"
|
||||
you: "Kamu"
|
||||
@ -120,6 +122,8 @@ unmarkAsSensitive: "Hapus tanda konten sensitif"
|
||||
enterFileName: "Masukkan nama berkas"
|
||||
mute: "Bisukan"
|
||||
unmute: "Hapus bisukan"
|
||||
renoteMute: "Matikan renote"
|
||||
renoteUnmute: "Batal mematikan renote"
|
||||
block: "Blokir"
|
||||
unblock: "Buka blokir"
|
||||
suspend: "Bekukan"
|
||||
@ -129,6 +133,7 @@ unblockConfirm: "Apakah kamu yakin ingin membuka blokir akun ini?"
|
||||
suspendConfirm: "Apakah kamu yakin ingin membekukan akun ini?"
|
||||
unsuspendConfirm: "Apakah kamu yakin ingin membuka pembekuan akun ini?"
|
||||
selectList: "Pilih daftar"
|
||||
selectChannel: "Pilih kanal"
|
||||
selectAntenna: "Pilih Antena"
|
||||
selectWidget: "Pilih gawit"
|
||||
editWidgets: "Sunting gawit"
|
||||
@ -256,12 +261,14 @@ noMoreHistory: "Tidak ada sejarah lagi"
|
||||
startMessaging: "Mulai mengirim pesan"
|
||||
nUsersRead: "Dibaca oleh {n}"
|
||||
agreeTo: "Saya setuju kepada {0}"
|
||||
tos: "Syarat dan ketentuan"
|
||||
agreeBelow: "Saya setuju dengan di bawah ini"
|
||||
basicNotesBeforeCreateAccount: "Catatan penting"
|
||||
start: "Mulai"
|
||||
home: "Beranda"
|
||||
remoteUserCaution: "Informasi ini mungkin tidak mutakhir, karena pengguna ini berasal dari instansi luar."
|
||||
activity: "Aktivitas"
|
||||
images: "Gambar"
|
||||
image: "Gambar"
|
||||
birthday: "Tanggal lahir"
|
||||
yearsOld: "{age} tahun"
|
||||
registeredDate: "Bergabung pada"
|
||||
@ -388,14 +395,15 @@ about: "Informasi"
|
||||
aboutMisskey: "Tentang CherryPick"
|
||||
administrator: "Admin"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Otentikasi dua faktor"
|
||||
totp: "Aplikasi autentikator"
|
||||
totpDescription: "Gunakan aplikasi autentikator untuk mendapatkan kata sandi sekali pakai"
|
||||
moderator: "Moderator"
|
||||
moderation: "Moderasi"
|
||||
nUsersMentioned: "{n} pengguna disebut"
|
||||
securityKeyAndPasskey: "Security key dan passkey"
|
||||
securityKey: "Kunci keamanan"
|
||||
securityKeyName: "Nama kunci"
|
||||
registerSecurityKey: "Daftarkan kunci keamanan"
|
||||
lastUsed: "Terakhir digunakan"
|
||||
lastUsedAt: "Penggunaan terakhir: {t}"
|
||||
unregister: "Batalkan pendaftaran"
|
||||
passwordLessLogin: "Setel login tanpa kata sandi"
|
||||
resetPassword: "Atur ulang kata sandi"
|
||||
@ -451,7 +459,6 @@ passwordMatched: "Kata sandi sama"
|
||||
passwordNotMatched: "Kata sandi tidak sama"
|
||||
signinWith: "Masuk dengan {x}"
|
||||
signinFailed: "Tidak dapat masuk. Nama pengguna atau kata sandi yang kamu masukkan salah."
|
||||
tapSecurityKey: "Ketuk kunci keamanan kamu"
|
||||
or: "atau"
|
||||
language: "Bahasa"
|
||||
uiLanguage: "Bahasa antarmuka pengguna"
|
||||
@ -464,6 +471,8 @@ youHaveNoGroups: "Kamu tidak memiliki grup"
|
||||
joinOrCreateGroup: "Bergabunglah dengan grup atau kamu dapat membuat grupmu sendiri."
|
||||
noHistory: "Tidak ada riwayat"
|
||||
signinHistory: "Riwayat masuk"
|
||||
enableAdvancedMfm: "Nyalakan MFM tingkat lanjut"
|
||||
enableAnimatedMfm: "Nyalakan animasi MFM"
|
||||
doing: "Sedang berkerja..."
|
||||
category: "Kategori"
|
||||
tags: "Tandai"
|
||||
@ -588,7 +597,6 @@ tokenRequested: "Berikan ijin akses ke akun"
|
||||
pluginTokenRequestedDescription: "Plugin ini dapat menggunakan setelan ijin disini."
|
||||
notificationType: "Jenis pemberitahuan"
|
||||
edit: "Sunting"
|
||||
useStarForReactionFallback: "Gunakan ★ sebagai fallback jika reaksi emoji tidak diketahui"
|
||||
emailServer: "Peladen surel"
|
||||
enableEmail: "Nyalakan distribusi surel"
|
||||
emailConfigInfo: "Digunakan untuk mengonfirmasi surel kamu disaat mendaftar dan lupa kata sandi"
|
||||
@ -850,16 +858,20 @@ instanceDefaultLightTheme: "Bawaan instan tema terang"
|
||||
instanceDefaultDarkTheme: "Bawaan instan tema gelap"
|
||||
instanceDefaultThemeDescription: "Masukkan kode tema di format obyek."
|
||||
mutePeriod: "Batas waktu bisu"
|
||||
period: "Batas akhir"
|
||||
indefinitely: "Selamanya"
|
||||
tenMinutes: "10 Menit"
|
||||
oneHour: "1 Jam"
|
||||
oneDay: "1 Hari"
|
||||
oneWeek: "1 Bulan"
|
||||
oneMonth: "satu bulan"
|
||||
reflectMayTakeTime: "Mungkin perlu beberapa saat untuk dicerminkan."
|
||||
failedToFetchAccountInformation: "Gagal untuk mendapatkan informasi akun"
|
||||
rateLimitExceeded: "Batas sudah terlampaui"
|
||||
cropImage: "potong gambar"
|
||||
cropImageAsk: "Ingin memotong gambar?"
|
||||
cropYes: "Potong"
|
||||
cropNo: "Gunakan apa adanya"
|
||||
file: "Berkas"
|
||||
recentNHours: "{n} jam terakhir"
|
||||
recentNDays: "{n} hari terakhir"
|
||||
@ -910,6 +922,7 @@ pushNotificationNotSupported: "Browser atau instansi kamu tidak mendukung pember
|
||||
sendPushNotificationReadMessage: "Hapus pemberitahuan push ketika pemberitahuan relevan atau pesan telah dibaca"
|
||||
sendPushNotificationReadMessageCaption: "Pemberitahuan berisi teks「{emptyPushNotificationMessage}」akan ditampilkan dalam waktu pendek. Ini mungkin dapat menambah pemakaian baterai pada perangkat kamu."
|
||||
windowMaximize: "Maksimalkan"
|
||||
windowMinimize: "Minimalkan"
|
||||
windowRestore: "Kembalikan"
|
||||
caption: "Keterangan"
|
||||
loggedInAsBot: "Sedang login sebagai bot"
|
||||
@ -926,10 +939,96 @@ didYouLikeMisskey: "Apakah kamu mulai menyukai CherryPick?"
|
||||
pleaseDonate: "{host} menggunakan perangkat lunak bebas yaitu CherryPick. Kami sangat mengapresiasi sekali donasi dari kamu agar pengembangan CherryPick tetap dapat berlanjut!"
|
||||
roles: "Peran"
|
||||
role: "Peran"
|
||||
normalUser: "Pengguna umum"
|
||||
undefined: "Tak terdefinisi"
|
||||
assign: "Tetapkan\n"
|
||||
unassign: "Batalkan penetapan"
|
||||
color: "Warna"
|
||||
manageCustomEmojis: "Kelola Emoji Kustom"
|
||||
youCannotCreateAnymore: "Kamu melewati batas pembuatan."
|
||||
cannotPerformTemporary: "Sementara Tidak Tersedia"
|
||||
cannotPerformTemporaryDescription: "Aksi ini tidak dapat dilakukan sementara karena melewati batas eksekusi. Mohon tunggu sejenak dan coba lagi."
|
||||
preset: "Prasetel"
|
||||
selectFromPresets: "Pilih dari prasetel"
|
||||
achievements: "Pencapaian"
|
||||
gotInvalidResponseError: "Respon peladen tidak valid"
|
||||
gotInvalidResponseErrorDescription: "Peladen tidak dapat dijangkau atau sedang dalam perawatan. Mohon coba lagi nanti."
|
||||
thisPostMayBeAnnoying: "Catatan ini mungkin dapat mengganggu orang lain."
|
||||
thisPostMayBeAnnoyingHome: "Catat ke linimasa beranda"
|
||||
thisPostMayBeAnnoyingCancel: "Batalkan"
|
||||
thisPostMayBeAnnoyingIgnore: "Tetap catat"
|
||||
collapseRenotes: "Tutup renote yang sudah kamu lihat"
|
||||
internalServerError: "Kesalahan internal peladen"
|
||||
internalServerErrorDescription: "Peladen sedang mengalami galat tak terduga"
|
||||
copyErrorInfo: "Salin detil galat"
|
||||
joinThisServer: "Gabung server ini"
|
||||
exploreOtherServers: "Cari server lain"
|
||||
letsLookAtTimeline: "LIhat timeline"
|
||||
disableFederationConfirm: "Matikan federasi?"
|
||||
disableFederationConfirmWarn: "Mematikan federasi tidak membuat kiriman menjadi privat. Umumnya, mematikan federasi tidak diperlukan."
|
||||
disableFederationOk: "Matikan federasi"
|
||||
horizontal: "Horisontal"
|
||||
youFollowing: "Mengikuti"
|
||||
options: "Opsi peran"
|
||||
_achievements:
|
||||
earnedAt: "Terbuka pada"
|
||||
_types:
|
||||
_notes1:
|
||||
title: "Cus, baru gabung CherryPick nih!"
|
||||
description: "Catat catatan pertama kamu"
|
||||
flavor: "Selamat bersenang-senang dengan CherryPick!"
|
||||
_notes10:
|
||||
title: "Beberapa catatan"
|
||||
description: "Catat 10 catatan"
|
||||
_notes100:
|
||||
title: "Banyak catatan"
|
||||
description: "Catat 100 catatan"
|
||||
_notes500:
|
||||
title: "Tertumpuk catatan"
|
||||
description: "Catat 500 catatan"
|
||||
_notes1000:
|
||||
title: "Gunung catatan"
|
||||
description: "Catat 1000 catatan"
|
||||
_notes5000:
|
||||
title: "Luapan catatan"
|
||||
description: "Catat 5000 catatan"
|
||||
_notes10000:
|
||||
title: "Catatan super"
|
||||
description: "Catat 10 ribu catatan"
|
||||
_notes20000:
|
||||
title: "Butuh... banyak... catatan..."
|
||||
description: "Catat 20 ribu catatan"
|
||||
_notes30000:
|
||||
title: "Catat, catat, catat !"
|
||||
description: "Catat 30 ribu catatan"
|
||||
_notes40000:
|
||||
title: "Pabrik catatan"
|
||||
description: "Catat 40 ribu catatan"
|
||||
_notes50000:
|
||||
title: "Planet catatan"
|
||||
description: "Catat 50 ribu catatan"
|
||||
_notes60000:
|
||||
title: "Kuasar catatan"
|
||||
description: "Catat 60 ribu catatan"
|
||||
_notes70000:
|
||||
title: "Lubang hitam catatan"
|
||||
description: "Catat 70 ribu catatan"
|
||||
_notes80000:
|
||||
title: "Galaksi catatan"
|
||||
description: "Catat 80 ribu catatan"
|
||||
_notes90000:
|
||||
title: "Semesta catatan"
|
||||
description: "Catat 90 ribu catatan"
|
||||
_notes100000:
|
||||
title: "ALL YOUR NOTE ARE BELONG TO US"
|
||||
description: "Catat 100 ribu catatan"
|
||||
flavor: "Banyak bacot ya kamu."
|
||||
_login3:
|
||||
title: "Pemula I"
|
||||
description: "Login selama 3 hari"
|
||||
flavor: "Mulai hari ini, panggil gue Misskist"
|
||||
_login7:
|
||||
title: "Pemula II"
|
||||
description: "Login selama 7 hari"
|
||||
flavor: "Sudah mulai terbiasa?"
|
||||
_login15:
|
||||
@ -1002,7 +1101,80 @@ _achievements:
|
||||
_following100:
|
||||
title: "100 Teman"
|
||||
description: "Ikuti 100 pengguna lain"
|
||||
_following300:
|
||||
title: "Kelebihan teman"
|
||||
description: "Mengikuti 300 pengguna lain"
|
||||
_followers1:
|
||||
title: "Pengikut pertama"
|
||||
description: "Dapatkan 1 pengikut"
|
||||
_followers10:
|
||||
title: "Ikuti aku!"
|
||||
description: "Dapatkan 10 pengikut"
|
||||
_followers50:
|
||||
title: "Rame-rame"
|
||||
description: "Dapatkan 50 pengikut"
|
||||
_followers100:
|
||||
title: "Terkenal"
|
||||
description: "Dapatkan 100 pengikut"
|
||||
_followers300:
|
||||
title: "Mohon antri satu baris"
|
||||
description: "Dapatkan 300 pengikut"
|
||||
_followers500:
|
||||
title: "Stasiun Informasi"
|
||||
description: "Dapatkan 500 pengikut"
|
||||
_followers1000:
|
||||
title: "Influencer"
|
||||
description: "Dapatkan 1000 pengikut"
|
||||
_collectAchievements30:
|
||||
title: "Kolektor pencapaian"
|
||||
description: "Dapatkan 30 pencapaian"
|
||||
_viewAchievements3min:
|
||||
title: "Suka Pencapaian"
|
||||
description: "Lugat daftar pencapaianmu setidaknya 3 menit"
|
||||
_iLoveMisskey:
|
||||
title: "I Love CherryPick"
|
||||
description: "Catat \"I ❤ #CherryPick\""
|
||||
flavor: "Tim pengembang cherrypick sangat mengapresiasi dukungan kamu!"
|
||||
_foundTreasure:
|
||||
title: "Berburu Harta Karun"
|
||||
description: "Kamu telah menemukan harta karun tersembunyi"
|
||||
_client30min:
|
||||
title: "Istirahat pendek"
|
||||
description: "Habiskan waktu 30 menit di CherryPick"
|
||||
_noteDeletedWithin1min:
|
||||
title: "Eh, salah coy!"
|
||||
description: "Hapus catatan kurang dari semenit kamu catat"
|
||||
_postedAtLateNight:
|
||||
title: "Nokturnal"
|
||||
description: "Catat catatan di tengah malam hari"
|
||||
flavor: "Udah waktunya boboq."
|
||||
_postedAt0min0sec:
|
||||
title: "Jam ngomong"
|
||||
description: "Catat catatan di jam 00.00"
|
||||
flavor: "Tik Tok Tik Toeeeng"
|
||||
_selfQuote:
|
||||
title: "Rujukan mandiri"
|
||||
description: "Kutip catatanmu sendiri"
|
||||
_htl20npm:
|
||||
title: "Linimasa mengalir"
|
||||
description: "Memiliki linimasa beranda dengan kecepatan melebihi 20 cpm (catatan per menit)"
|
||||
_viewInstanceChart:
|
||||
title: "Analis"
|
||||
description: "Lihat bagan instansimu"
|
||||
_outputHelloWorldOnScratchpad:
|
||||
title: "Halo, dunia!"
|
||||
description: "Munculkan \"hello world\" di Scratchpad"
|
||||
_open3windows:
|
||||
title: "Jendela ganda"
|
||||
description: "Memiliki setidaknya 3 jendela yang terbuka secara bersamaan"
|
||||
_driveFolderCircularReference:
|
||||
title: "Referensi Siklus"
|
||||
description: "Mencoba membuat folder bersarang rekursif di Drive"
|
||||
_reactWithoutRead:
|
||||
title: "Beneran udah dibaca?"
|
||||
description: "Mereaksi catatan dengan 100 karakter panjangnya dalam 3 detik setelah dicatat"
|
||||
_clickedClickHere:
|
||||
title: "Klik di sini"
|
||||
description: "Kamu telah mengeklik disini"
|
||||
_justPlainLucky:
|
||||
title: "Lagi Beruntung"
|
||||
@ -1025,6 +1197,7 @@ _achievements:
|
||||
_loggedInOnNewYearsDay:
|
||||
title: "Selamat Tahun Baru!"
|
||||
description: "Login di hari pertama tahun baru"
|
||||
flavor: "Untuk tahun baru yang berkah bagi instansi ini"
|
||||
_cookieClicked:
|
||||
title: "Permainan dimana kamu mengeklik kue"
|
||||
description: "Mengeklik kue"
|
||||
@ -1053,6 +1226,9 @@ _role:
|
||||
baseRole: "Templat peran"
|
||||
useBaseValue: "Gunakan nilai templat peran"
|
||||
chooseRoleToAssign: "Pilih peran yang ditugaskan"
|
||||
iconUrl: "URL ikon"
|
||||
asBadge: "Tampilkan sebagai lencana"
|
||||
descriptionOfAsBadge: "Ikon peran ini akan ditampilkan bersebelahan dengan username pengguna yang memiliki peran ini jika dinyalakan."
|
||||
canEditMembersByModerator: "Perbolehkan moderator untuk menyunting daftar anggota untuk peran ini"
|
||||
descriptionOfCanEditMembersByModerator: "Ketika dinyalakan, moderator beserta administrator dapat menugaskan ataupun mencabut pengguna ke peran ini. Ketika dimatikan, hanya administrator saja yang dapat menugaskan pengguna ke peran ini."
|
||||
priority: "Prioritas"
|
||||
@ -1068,6 +1244,36 @@ _role:
|
||||
canManageCustomEmojis: "Dapat mengelola Emoji kustom"
|
||||
driveCapacity: "Kapasitas Drive"
|
||||
pinMax: "Jumlah maksimal catatan yang disematkan"
|
||||
antennaMax: "Jumlah maksimum antena"
|
||||
wordMuteMax: "Jumlah maksimum karakter yang diperbolehkan dalam membisukan kata"
|
||||
webhookMax: "Jumlah maksimum Webhook"
|
||||
clipMax: "Jumlah maksimum Klip"
|
||||
noteEachClipsMax: "Jumlah maksimum catatan di dalam Klip"
|
||||
userListMax: "Jumlah maksimum daftar pengguna"
|
||||
userEachUserListsMax: "Jumlah maksimum pengguna dalam dsftar pengguna"
|
||||
rateLimitFactor: "Batas kecepatan"
|
||||
descriptionOfRateLimitFactor: "Batas kecepatan yang rendah tidak begitu membatasi, batas kecepatan tinggi lebih membatasi. "
|
||||
canHideAds: "Dapat menyembunyikan iklan"
|
||||
_condition:
|
||||
isLocal: "Pengguna lokal"
|
||||
isRemote: "Pengguna remote"
|
||||
createdLessThan: "Telah berlalu kurang dari X sejak pembuatan akun"
|
||||
createdMoreThan: "Telah berlalu lebih dari X sejak pembuatan akun"
|
||||
followersLessThanOrEq: "Memiliki pengikut X atau kurang dari tersebut"
|
||||
followersMoreThanOrEq: "Memiliki pengikut X atau lebih dari tersebut"
|
||||
followingLessThanOrEq: "Mengikuti X pengguna atau kurang dari itu"
|
||||
followingMoreThanOrEq: "Mengikuti X pengguna atau lebih dari itu"
|
||||
and: "Kondisi-AND"
|
||||
or: "Kondisi-OR"
|
||||
not: "Kondisi-NOT"
|
||||
_sensitiveMediaDetection:
|
||||
description: "Mengurangi usaha moderasi server dengan mengenali media NSFW srcara otomatis menggunakan Machine Learning. Fungsi ini akan sedikit menaikkan beban peladen."
|
||||
sensitivity: "Sensitivitas deteksi"
|
||||
sensitivityDescription: "Mengurangi sensitivitas akan mengurangi misdeteksi (false positive) sedangkan meningkatkannya akan menambah misdeteksi (false positive)."
|
||||
setSensitiveFlagAutomatically: "Tandai sebagai NSFW"
|
||||
setSensitiveFlagAutomaticallyDescription: "Hasil dari deteksi internal akan dipertahankan meskipun fungsi ini dimatikan."
|
||||
analyzeVideos: "Nyalakan analisis terhadap video"
|
||||
analyzeVideosDescription: "Analisa video sebagai tambahan dari gambar. Ini akan sedikit meningkatkan beban ke peladen."
|
||||
_emailUnavailable:
|
||||
used: "Alamat surel ini telah digunakan"
|
||||
format: "Format tidak valid."
|
||||
@ -1111,6 +1317,24 @@ _plugin:
|
||||
install: "Memasang plugin"
|
||||
installWarn: "Mohon jangan memasang plugin yang tidak dapat dipercayai."
|
||||
manage: "Manajemen plugin"
|
||||
_preferencesBackups:
|
||||
list: "Cadangan yang dibuat"
|
||||
saveNew: "Simpan cadangan baru"
|
||||
loadFile: "Muat dari berkas"
|
||||
apply: "Terapkan pada perangkat ini"
|
||||
save: "Simpan perubahan"
|
||||
inputName: "Mohon masukkan nama untuk cadangan ini"
|
||||
cannotSave: "Gagal menyimpan"
|
||||
nameAlreadyExists: "Cadangan bernama \"{name}\" sudah ada. Mohon gunakan nama lain."
|
||||
applyConfirm: "Apakah kamu yakin untuk menerapkan cadangan \"{name}\" ke perangkat ini? Pengaturan yang sudah ada di perangkat ini nantinya akan ditimpa."
|
||||
saveConfirm: "Simpan cadangan sebagai {name}?"
|
||||
deleteConfirm: "Hapus cadangan {name}?"
|
||||
renameConfirm: "Ganti cadangan ini dari \"{old}\" ke \"{new}\"?"
|
||||
noBackups: "Tidak ada cadangan. Kamu dapat mencadangkan pengaturanmu di peladen ini dengan menggunakan \"Buat cadangan baru\"."
|
||||
createdAt: "Dibuat pada: {date} {time}"
|
||||
updatedAt: "Diperbarui pada: {date} {time}"
|
||||
cannotLoad: "Gagal memuat"
|
||||
invalidFile: "Format berkas tidak valid"
|
||||
_registry:
|
||||
scope: "Lingkup"
|
||||
key: "Kunci"
|
||||
@ -1323,45 +1547,22 @@ _ago:
|
||||
weeksAgo: "{n} minggu lalu"
|
||||
monthsAgo: "{n} bulan lalu"
|
||||
yearsAgo: "{n} tahun lalu"
|
||||
invalid: "Tidak ada sama sekali disini"
|
||||
_time:
|
||||
second: "detik"
|
||||
minute: "menit"
|
||||
hour: "jam"
|
||||
day: "hari"
|
||||
_tutorial:
|
||||
title: "Cara menggunakan CherryPick"
|
||||
step1_1: "Selamat datang!"
|
||||
step1_2: "Halaman ini disebut \"linimasa\". Halaman ini menampilkan \"catatan\" yang diurutkan secara kronologis dari orang-orang yang kamu \"ikuti\"."
|
||||
step1_3: "Linimasa kamu kosong, karena kamu belum mencatat catatan apapun atau mengikuti siapapun."
|
||||
step2_1: "Selesaikan menyetel profilmu sebelum menulis sebuah catatan atau mengikuti seseorang."
|
||||
step2_2: "Menyediakan beberapa informasi tentang siapa kamu akan membuat orang lain mudah untuk mengikutimu kembali."
|
||||
step3_1: "Selesai menyetel profil kamu?"
|
||||
step3_2: "Langkah selanjutnya adalah membuat catatan. Kamu bisa lakukan ini dengan mengklik ikon pensil pada layar kamu."
|
||||
step3_3: "Isilah di dalam modal dan tekan tombol pada atas kanan untuk memcatat catatan kamu."
|
||||
step3_4: "Bingung tidak berpikiran untuk mengatakan sesuatu? Coba saja \"baru aja ikutan bikin akun CherryPick punyaku\"!"
|
||||
step4_1: "Selesai mencatat catatan pertamamu?"
|
||||
step4_2: "Horee! Sekarang catatan pertamamu sudah ditampilkan di linimasa milikmu."
|
||||
step5_1: "Sekarang, mari mencoba untuk membuat linimasamu lebih hidup dengan mengikuti orang lain."
|
||||
step5_2: "{featured} akan memperlihatkan catatan yang sedang tren saat ini untuk kamu. {explore} akan membantumu untuk mencari pengguna yang sedang tren juga saat ini. Coba ikuti seseorang yang kamu suka!"
|
||||
step5_3: "Untuk mengikuti pengguna lain, klik pada ikon mereka dan tekan tombol follow pada profil mereka."
|
||||
step5_4: "Jika pengguna lain memiliki ikon gembok di sebelah nama mereka, maka pengguna rersebut harus menyetujui permintaan mengikuti dari kamu secara manual."
|
||||
step6_1: "Sekarang kamu dapat melihat catatan pengguna lain pada linimasamu."
|
||||
step6_2: "Kamu juga bisa memberikan \"reaksi\" ke catatan orang lain untuk merespon dengan cepat."
|
||||
step6_3: "Untuk memberikan \"reaksi\", tekan tanda \"+\" pada catatan pengguna lain dan pilih emoji yang kamu suka untuk memberikan reaksimu kepada mereka."
|
||||
step7_1: "Yay, Selamat! Kamu sudah menyelesaikan tutorial dasar CherryPick."
|
||||
step7_2: "Jika kamu ingin mempelajari lebih lanjut tentang CherryPick, cobalah berkunjung ke bagian {help}."
|
||||
step7_3: "Semoga berhasil dan bersenang-senanglah! 🚀"
|
||||
step8_3: "Kamu dapat mengganti pengaturan ini nanti."
|
||||
_2fa:
|
||||
alreadyRegistered: "Kamu telah mendaftarkan perangkat otentikasi dua faktor."
|
||||
registerDevice: "Daftarkan perangkat baru"
|
||||
registerKey: "Daftarkan kunci keamanan baru"
|
||||
step1: "Pertama, pasang aplikasi otentikasi (seperti {a} atau {b}) di perangkat kamu."
|
||||
step2: "Lalu, pindai kode QR yang ada di layar."
|
||||
step2Url: "Di aplikasi desktop, masukkan URL berikut:"
|
||||
step3: "Masukkan token yang telah disediakan oleh aplikasimu untuk menyelesaikan pemasangan."
|
||||
step4: "Mulai sekarang, upaya login apapun akan meminta token login dari aplikasi otentikasi kamu."
|
||||
securityKeyInfo: "Kamu dapat memasang otentikasi WebAuthN untuk mengamankan proses login lebih lanjut dengan tidak hanya perangkat keras kunci keamanan yang mendukung FIDO2, namun juga sidik jari atau otentikasi PIN pada perangkatmu."
|
||||
removeKeyConfirm: "Hapus cadangan {name}?"
|
||||
renewTOTPCancel: "Tidak sekarang."
|
||||
_permissions:
|
||||
"read:account": "Lihat informasi akun"
|
||||
"write:account": "Sunting informasi akun"
|
||||
@ -1396,12 +1597,15 @@ _permissions:
|
||||
"read:gallery-likes": "Lihat daftar postingan galeri yang disukai"
|
||||
"write:gallery-likes": "Sunting daftar postingan galeri yang disukai"
|
||||
_auth:
|
||||
shareAccessTitle: "Mendapatkan ijin akses aplikasi"
|
||||
shareAccess: "Apakah kamu ingin mengijinkan \"{name}\" untuk mengakses akun ini?"
|
||||
shareAccessAsk: "Apakah kamu ingin mengijinkan aplikasi ini untuk mengakses akun kamu?"
|
||||
permission: "{name} meminta ijin berikut"
|
||||
permissionAsk: "Aplikasi ini membutuhkan beberapa ijin, yaitu:"
|
||||
pleaseGoBack: "Mohon kembali ke aplikasi kamu"
|
||||
callback: "Mengembalikan kamu ke aplikasi"
|
||||
denied: "Akses ditolak"
|
||||
pleaseLogin: "Mohon masuk untuk otorisasi aplikasi."
|
||||
_antennaSources:
|
||||
all: "Semua catatan"
|
||||
homeTimeline: "Catatan dari pengguna yang diikuti"
|
||||
@ -1482,8 +1686,6 @@ _visibility:
|
||||
followersDescription: "Catat ke pengikut saja"
|
||||
specified: "Langsung"
|
||||
specifiedDescription: "Catat ke pengguna yang ditentukan saja"
|
||||
localOnly: "Hanya lokal"
|
||||
localOnlyDescription: "Hanya dapat dilihat di instansi lokal"
|
||||
_postForm:
|
||||
replyPlaceholder: "Balas ke catatan ini..."
|
||||
quotePlaceholder: "Kutip catatan ini..."
|
||||
@ -1675,3 +1877,6 @@ _deck:
|
||||
channel: "Kanal"
|
||||
mentions: "Sebutan"
|
||||
direct: "Langsung"
|
||||
_webhookSettings:
|
||||
name: "Nama"
|
||||
active: "Aktif"
|
||||
|
@ -11,7 +11,7 @@ password: "Password"
|
||||
forgotPassword: "Hai dimenticato la password?"
|
||||
fetchingAsApObject: "Recuperando dal Fediverso..."
|
||||
ok: "OK"
|
||||
gotIt: "Ho capito"
|
||||
gotIt: "ok!"
|
||||
cancel: "Annulla"
|
||||
noThankYou: "No grazie"
|
||||
enterUsername: "Inserisci un nome utente"
|
||||
@ -20,6 +20,7 @@ noNotes: "Nessuna nota!"
|
||||
noNotifications: "Nessuna notifica"
|
||||
instance: "Istanza"
|
||||
settings: "Impostazioni"
|
||||
notificationSettings: "Preferenze di notifica"
|
||||
basicSettings: "Impostazioni generali"
|
||||
otherSettings: "Altre impostazioni"
|
||||
openInWindow: "Apri in una finestra"
|
||||
@ -46,7 +47,7 @@ copyContent: "Copia il contenuto"
|
||||
copyLink: "Copia il link"
|
||||
delete: "Elimina"
|
||||
deleteAndEdit: "Elimina e modifica"
|
||||
deleteAndEditConfirm: "Vuoi davvero cancellare questa nota e scriverla di nuovo? Verrano eliminate anche tutte le reazioni, Rinote e risposte collegate."
|
||||
deleteAndEditConfirm: "Vuoi davvero cancellare questa nota e scriverla di nuovo? Verranno eliminate anche tutte le reazioni, rinote e risposte collegate."
|
||||
addToList: "Aggiungi alla lista"
|
||||
sendMessage: "Invia messaggio"
|
||||
copyRSS: "Copia RSS"
|
||||
@ -54,8 +55,8 @@ copyUsername: "Copia nome utente"
|
||||
searchUser: "Cerca utente"
|
||||
reply: "Rispondi"
|
||||
loadMore: "Mostra di più"
|
||||
showMore: "Mostra di più"
|
||||
showLess: "Chiudi"
|
||||
showMore: "Espandi"
|
||||
showLess: "Comprimi"
|
||||
youGotNewFollower: "Ha iniziato a seguirti"
|
||||
receiveFollowRequest: "Hai ricevuto una richiesta di follow"
|
||||
followRequestAccepted: "Richiesta di follow accettata"
|
||||
@ -75,8 +76,8 @@ lists: "Liste"
|
||||
noLists: "Nessuna lista"
|
||||
note: "Nota"
|
||||
notes: "Note"
|
||||
following: "Follows"
|
||||
followers: "Followers"
|
||||
following: "Follow"
|
||||
followers: "Follower"
|
||||
followsYou: "Ti segue"
|
||||
createList: "Aggiungi una nuova lista"
|
||||
manageLists: "Gestisci liste"
|
||||
@ -84,17 +85,17 @@ error: "Errore"
|
||||
somethingHappened: "Si è verificato un problema"
|
||||
retry: "Riprova"
|
||||
pageLoadError: "Caricamento pagina non riuscito. "
|
||||
pageLoadErrorDescription: "Questo viene normalmente causato dalla rete o dalla cache del browser. Si prega di pulire la cache, o di attendere e riprovare più tardi."
|
||||
pageLoadErrorDescription: "Questo problema viene normalmente causato da errori di rete o dalla cache del browser. Si prega di pulire la cache, o di attendere e riprovare più tardi."
|
||||
serverIsDead: "Il server non risponde. Si prega di attendere e riprovare più tardi."
|
||||
youShouldUpgradeClient: "Per visualizzare la pagina è necessario aggiornare il client alla nuova versione e ricaricare."
|
||||
enterListName: "Nome della lista"
|
||||
privacy: "Privacy"
|
||||
makeFollowManuallyApprove: "Richiedi di approvare i follower manualmente"
|
||||
makeFollowManuallyApprove: "Approva i follower manualmente"
|
||||
defaultNoteVisibility: "Privacy predefinita delle note"
|
||||
follow: "Segui"
|
||||
followRequest: "Richiesta di follow"
|
||||
followRequests: "Richieste di follow"
|
||||
unfollow: "Smetti di seguire"
|
||||
unfollow: "Non seguire"
|
||||
followRequestPending: "Richiesta in approvazione"
|
||||
enterEmoji: "Inserisci emoji"
|
||||
renote: "Rinota"
|
||||
@ -103,6 +104,8 @@ renoted: "Rinotato!"
|
||||
cantRenote: "È impossibile rinotare questa nota."
|
||||
cantReRenote: "È impossibile rinotare una Rinota."
|
||||
quote: "Cita"
|
||||
inChannelRenote: "Rinota nel canale"
|
||||
inChannelQuote: "Cita nel canale"
|
||||
pinnedNote: "Nota fissata"
|
||||
pinned: "Fissa sul profilo"
|
||||
you: "Tu"
|
||||
@ -119,7 +122,9 @@ markAsSensitive: "Segna come sensibile"
|
||||
unmarkAsSensitive: "Segna come non sensibile"
|
||||
enterFileName: "Nome del file"
|
||||
mute: "Silenzia"
|
||||
unmute: "Riattiva"
|
||||
unmute: "Riattiva l'audio"
|
||||
renoteMute: "Silenzia i Rinota"
|
||||
renoteUnmute: "Non silenziare i Rinota"
|
||||
block: "Blocca"
|
||||
unblock: "Sblocca"
|
||||
suspend: "Sospendi"
|
||||
@ -129,6 +134,7 @@ unblockConfirm: "Vuoi davvero sbloccare il profilo?"
|
||||
suspendConfirm: "Vuoi sospendere questo profilo?"
|
||||
unsuspendConfirm: "Vuoi revocare la sospensione si questo profilo?"
|
||||
selectList: "Seleziona una lista"
|
||||
selectChannel: "Seleziona canale"
|
||||
selectAntenna: "Scegli un'antenna"
|
||||
selectWidget: "Seleziona il riquadro"
|
||||
editWidgets: "Modifica i riquadri"
|
||||
@ -140,7 +146,7 @@ emojiName: "Nome dell'emoji"
|
||||
emojiUrl: "URL dell'emoji"
|
||||
addEmoji: "Aggiungi un emoji"
|
||||
settingGuide: "Configurazione suggerita"
|
||||
cacheRemoteFiles: "Memorizzazione nella cache dei file remoti"
|
||||
cacheRemoteFiles: "Memorizza i file remoti nella cache"
|
||||
cacheRemoteFilesDescription: "Disabilitando questa opzione, i file remoti verranno linkati direttamente senza essere memorizzati nella cache. Sarà possibile risparmiare spazio di archiviazione sul server, ma il traffico aumenterà in quanto non verranno generate anteprime."
|
||||
flagAsBot: "Io sono un robot"
|
||||
flagAsBotDescription: "Attiva questo campo se il profilo esegue principalmente operazioni automatiche. L'attivazione segnala agli altri sviluppatori come comportarsi per evitare catene d’interazione infinite con altri bot. I sistemi interni di CherryPick si adegueranno al fine di trattare questo profilo come bot."
|
||||
@ -150,21 +156,22 @@ flagShowTimelineReplies: "Mostra le risposte alle note sulla timeline."
|
||||
flagShowTimelineRepliesDescription: "Se è attiva, la timeline mostra le risposte alle altre note dell'utente oltre a quelle dell'utente stesso."
|
||||
autoAcceptFollowed: "Accetta automaticamente le richieste di follow da utenti che già segui"
|
||||
addAccount: "Aggiungi profilo"
|
||||
reloadAccountsList: "Ricarica l'elenco dei profili"
|
||||
loginFailed: "Accesso non riuscito"
|
||||
showOnRemote: "Sfoglia sull'istanza remota"
|
||||
showOnRemote: "Leggi sull'istanza remota"
|
||||
general: "Generali"
|
||||
wallpaper: "Sfondo"
|
||||
setWallpaper: "Imposta sfondo"
|
||||
removeWallpaper: "Elimina lo sfondo"
|
||||
searchWith: "Cerca: {q}"
|
||||
youHaveNoLists: "Non hai ancora creato nessuna lista"
|
||||
followConfirm: "Sei sicur@ di voler seguire {name}?"
|
||||
followConfirm: "Vuoi seguire {name}?"
|
||||
proxyAccount: "Profilo proxy"
|
||||
proxyAccountDescription: "Un profilo proxy funziona come follower per i profili remoti, sotto certe condizioni. Ad esempio, quando un profilo locale ne inserisce uno remoto in una lista (senza seguirlo), se nessun altro segue quel profilo remoto, le attività non possono essere distribuite. Dunque, il profilo proxy le seguirà per tutti."
|
||||
host: "Server remoto"
|
||||
selectUser: "Seleziona profilo"
|
||||
recipient: "Destinatario"
|
||||
annotation: "Descrizione"
|
||||
annotation: "Annotazione preventiva"
|
||||
federation: "Federazione"
|
||||
instances: "Istanza"
|
||||
registeredAt: "Registrato presso"
|
||||
@ -213,12 +220,12 @@ noJobs: "Nessun lavoro"
|
||||
federating: "Federazione"
|
||||
blocked: "Bloccato"
|
||||
suspended: "Sospensione"
|
||||
all: "Tutti"
|
||||
all: "Tutte"
|
||||
subscribing: "Iscrizione"
|
||||
publishing: "Pubblicazione"
|
||||
notResponding: "Nessuna risposta"
|
||||
instanceFollowing: "Seguiti dall'istanza"
|
||||
instanceFollowers: "Followers dell'istanza"
|
||||
instanceFollowers: "Follower dell'istanza"
|
||||
instanceUsers: "Utenti dell'istanza"
|
||||
changePassword: "Aggiorna Password"
|
||||
security: "Sicurezza"
|
||||
@ -231,14 +238,14 @@ more: "Di più!"
|
||||
featured: "Tendenze"
|
||||
usernameOrUserId: "Nome utente o ID utente"
|
||||
noSuchUser: "Nessun utente trovato"
|
||||
lookup: "Cercare"
|
||||
lookup: "Ricerca remota"
|
||||
announcements: "Annunci"
|
||||
imageUrl: "URL dell'immagine"
|
||||
remove: "Elimina"
|
||||
removed: "Eliminato con successo"
|
||||
removeAreYouSure: "Vuoi davvero eliminare \"{x}\"?"
|
||||
deleteAreYouSure: "Eliminare \"{x}\"?"
|
||||
resetAreYouSure: "Reimposta"
|
||||
resetAreYouSure: "Ripristinare?"
|
||||
saved: "Salvato"
|
||||
messaging: "Messaggi"
|
||||
upload: "Carica"
|
||||
@ -256,12 +263,16 @@ noMoreHistory: "Non c'è più cronologia da visualizzare"
|
||||
startMessaging: "Nuovo messaggio"
|
||||
nUsersRead: "Letto da {n} persone"
|
||||
agreeTo: "Sono d'accordo con {0}"
|
||||
tos: "Termini di servizio"
|
||||
agree: "D'accordo"
|
||||
agreeBelow: "Accetto quanto riportato sotto"
|
||||
basicNotesBeforeCreateAccount: "Note importanti"
|
||||
termsOfService: "Informativa Privacy"
|
||||
start: "Inizia!"
|
||||
home: "Home"
|
||||
remoteUserCaution: "Può darsi che le informazioni siano incomplete perché questo è un utente remoto."
|
||||
activity: "Attività"
|
||||
images: "Immagini"
|
||||
image: "Immagini"
|
||||
birthday: "Compleanno"
|
||||
yearsOld: "{age} anni"
|
||||
registeredDate: "Iscrizione a.."
|
||||
@ -283,7 +294,7 @@ selectFolders: "Seleziona cartella"
|
||||
renameFile: "Rinomina file"
|
||||
folderName: "Nome della cartella"
|
||||
createFolder: "Nuova cartella"
|
||||
renameFolder: "Rinominare cartella"
|
||||
renameFolder: "Rinomina cartella"
|
||||
deleteFolder: "Elimina cartella"
|
||||
addFile: "Allega"
|
||||
emptyDrive: "Il Drive è vuoto"
|
||||
@ -300,7 +311,7 @@ avatar: "Foto del profilo"
|
||||
banner: "Intestazione"
|
||||
nsfw: "Contenuti sensibili"
|
||||
whenServerDisconnected: "Quando la connessione col server è persa"
|
||||
disconnectedFromServer: "Disconness@ dal server"
|
||||
disconnectedFromServer: "Il server si è disconnesso"
|
||||
reload: "Ricarica"
|
||||
doNothing: "Nessun'azione"
|
||||
reloadConfirm: "Vuoi ricaricare?"
|
||||
@ -311,9 +322,9 @@ reject: "Rifiuta"
|
||||
normal: "Normale"
|
||||
instanceName: "Nome dell'istanza"
|
||||
instanceDescription: "Descrizione dell'istanza"
|
||||
maintainerName: "Nome dell'Amministratore"
|
||||
maintainerEmail: "Indirizzo e-mail dell'Amministratore"
|
||||
tosUrl: "Termini di servizio URL"
|
||||
maintainerName: "Nome dell'amministratore"
|
||||
maintainerEmail: "Indirizzo e-mail dell'amministratore"
|
||||
tosUrl: "URL dei termini del servizio e della privacy"
|
||||
thisYear: "Anno"
|
||||
thisMonth: "Mese"
|
||||
today: "Oggi"
|
||||
@ -322,13 +333,13 @@ monthX: "{month}"
|
||||
yearX: "{year}"
|
||||
pages: "Pagine"
|
||||
integration: "App collegate"
|
||||
connectService: "Connessione"
|
||||
disconnectService: "Disconnessione "
|
||||
enableLocalTimeline: "Abilita Timeline locale"
|
||||
enableGlobalTimeline: "Abilita Timeline federata"
|
||||
connectService: "Connetti"
|
||||
disconnectService: "Disconnetti"
|
||||
enableLocalTimeline: "Abilita la timeline locale"
|
||||
enableGlobalTimeline: "Abilita la timeline federata"
|
||||
disablingTimelinesInfo: "Anche disabilitandole, gli Amministratori e i Moderatori potranno comunque accedervi."
|
||||
registration: "Iscriviti"
|
||||
enableRegistration: "Permettere nuove registrazioni"
|
||||
enableRegistration: "Consenti a chiunque di registrarsi"
|
||||
invite: "Invita"
|
||||
driveCapacityPerLocalAccount: "Capienza del Drive per profilo locale"
|
||||
driveCapacityPerRemoteAccount: "Capienza del Drive per profilo remoto"
|
||||
@ -388,17 +399,20 @@ about: "Informazioni"
|
||||
aboutMisskey: "Informazioni di CherryPick"
|
||||
administrator: "Amministratore"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Autenticazione a due fattori"
|
||||
2fa: "Autenticazione a due fattori"
|
||||
totp: "App di autenticazione"
|
||||
totpDescription: "Inserisci un codice OTP tramite un'app di autenticazione"
|
||||
moderator: "Moderatore"
|
||||
moderation: "moderazione"
|
||||
nUsersMentioned: "{n} profili menzionati"
|
||||
securityKeyAndPasskey: "Chiave di sicurezza e accesso"
|
||||
securityKey: "Chiave di sicurezza"
|
||||
securityKeyName: "Nome della chiave"
|
||||
registerSecurityKey: "Registra una chiave di sicurezza"
|
||||
lastUsed: "Ultima attività"
|
||||
lastUsedAt: "Uso più recente: {t}"
|
||||
unregister: "Annulla l'iscrizione"
|
||||
passwordLessLogin: "Accedi senza password"
|
||||
resetPassword: "Reimposta password"
|
||||
passwordLessLoginDescription: "Accedi senza password, usando la chiave di sicurezza"
|
||||
resetPassword: "Ripristina la password"
|
||||
newPasswordIs: "La tua nuova password è「{password}」"
|
||||
reduceUiAnimation: "Ridurre le animazioni dell'interfaccia"
|
||||
share: "Condividi"
|
||||
@ -451,7 +465,6 @@ passwordMatched: "Corretta"
|
||||
passwordNotMatched: "Le password non corrispondono."
|
||||
signinWith: "Accedi con {x}"
|
||||
signinFailed: "Autenticazione non riuscita. Controlla la tua password e nome utente."
|
||||
tapSecurityKey: "Premi la chiave di sicurezza"
|
||||
or: "oppure"
|
||||
language: "Lingua"
|
||||
uiLanguage: "Lingua di visualizzazione dell'interfaccia"
|
||||
@ -462,8 +475,11 @@ native: "Nativo"
|
||||
disableDrawer: "Non mostrare il menù sul drawer"
|
||||
youHaveNoGroups: "Nessun gruppo"
|
||||
joinOrCreateGroup: "Puoi creare il tuo gruppo o essere invitat@ a gruppi che già esistono."
|
||||
showNoteActionsOnlyHover: "Mostra le azioni delle Note solo al passaggio del mouse"
|
||||
noHistory: "Nessuna cronologia"
|
||||
signinHistory: "Storico degli accessi al profilo"
|
||||
enableAdvancedMfm: "Attiva MFM avanzati"
|
||||
enableAnimatedMfm: "Attiva MFM animati"
|
||||
doing: "In corso..."
|
||||
category: "Categoria"
|
||||
tags: "Tag"
|
||||
@ -472,8 +488,10 @@ createAccount: "Crea il tuo profilo"
|
||||
existingAccount: "Profilo esistente"
|
||||
regenerate: "Generare di nuovo"
|
||||
fontSize: "Dimensione carattere"
|
||||
mediaListWithOneImageAppearance: "Altezza dell'elenco media con una sola immagine "
|
||||
limitTo: "Limita a {x}"
|
||||
noFollowRequests: "Non hai alcuna richiesta di follow"
|
||||
openImageInNewTab: "Aprire immagini in una nuova scheda"
|
||||
openImageInNewTab: "Apri le immagini in un nuovo tab"
|
||||
dashboard: "Pannello di controllo"
|
||||
local: "Locale"
|
||||
remote: "Remoto"
|
||||
@ -505,9 +523,11 @@ objectStorageUseSSLDesc: "Disabilita quest'opzione se non utilizzi HTTPS per le
|
||||
objectStorageUseProxy: "Usa proxy"
|
||||
objectStorageUseProxyDesc: "Disabilita quest'opzione se non usi proxy per la connessione API."
|
||||
objectStorageSetPublicRead: "Imposta \"visibilità pubblica\" al momento di caricare"
|
||||
s3ForcePathStyleDesc: "L'attivazione di s3ForcePathStyle impone di specificare il nome del bucket come parte del percorso nell'URL anziché del nome host. Potrebbe tornare utile quando si utilizzano applicazioni come Minio."
|
||||
serverLogs: "Log del server"
|
||||
deleteAll: "Cancella cronologia"
|
||||
showFixedPostForm: "Visualizzare la finestra di pubblicazione in cima alla timeline"
|
||||
showFixedPostFormInChannel: "Per i canali, mostra il modulo di pubblicazione in cima alla timeline"
|
||||
newNoteRecived: "Vedi le nuove note"
|
||||
sounds: "Impostazioni suoni"
|
||||
sound: "Impostazioni suoni"
|
||||
@ -545,6 +565,10 @@ userSuspended: "L'utente è in sospensione"
|
||||
userSilenced: "L'utente è silenziat@."
|
||||
yourAccountSuspendedTitle: "Questo profilo è sospeso"
|
||||
yourAccountSuspendedDescription: "Questo profilo è stato sospeso a causa di una violazione del regolamento. Per informazioni, contattare l'amministrazione. Si prega di non creare un nuovo account."
|
||||
tokenRevoked: "Il token non è valido"
|
||||
tokenRevokedDescription: "Il token di accesso è scaduto. Per favore, accedi nuovamente."
|
||||
accountDeleted: "Profilo eliminato"
|
||||
accountDeletedDescription: "Questo profilo è stato eliminato."
|
||||
menu: "Menù"
|
||||
divider: "Linea di separazione"
|
||||
addItem: "Aggiungi elemento"
|
||||
@ -558,9 +582,9 @@ invisibleNote: "Nota invisibile"
|
||||
enableInfiniteScroll: "Abilita scorrimento infinito"
|
||||
visibility: "Visibilità"
|
||||
poll: "Sondaggio"
|
||||
useCw: "Nascondere media"
|
||||
enablePlayer: "Apri in lettore video"
|
||||
disablePlayer: "Chiudi lettore video"
|
||||
useCw: "Content Warning"
|
||||
enablePlayer: "Visualizza"
|
||||
disablePlayer: "Chiudi"
|
||||
expandTweet: "Espandi tweet"
|
||||
themeEditor: "Editor di temi"
|
||||
description: "Descrizione"
|
||||
@ -573,7 +597,7 @@ plugins: "Estensioni"
|
||||
preferencesBackups: "Backup delle impostazioni"
|
||||
deck: "Deck"
|
||||
undeck: "Esci dal deck"
|
||||
useBlurEffectForModal: "Utilizza effetto sfocatura per i modali"
|
||||
useBlurEffectForModal: "Utilizza effetto sfocatura per le finestre modali"
|
||||
useFullReactionPicker: "Usa la totalità del pannello di reazioni"
|
||||
width: "Larghezza"
|
||||
height: "Altezza"
|
||||
@ -588,10 +612,9 @@ tokenRequested: "Autorizza accesso al profilo"
|
||||
pluginTokenRequestedDescription: "Il plugin potrà utilizzare le autorizzazioni impostate qui."
|
||||
notificationType: "Tipo di notifiche"
|
||||
edit: "Modifica"
|
||||
useStarForReactionFallback: "Se è sconosciuto l'emoji di reazione, usare la ★ come alternativa."
|
||||
emailServer: "Server email"
|
||||
enableEmail: "Abilita consegna email"
|
||||
emailConfigInfo: "Utilizzato per verificare il tuo indirizzo di posta elettronica e per reimpostare la tua password"
|
||||
emailConfigInfo: "Utilizzato per verificare il tuo indirizzo di posta elettronica e per ripristinare la password"
|
||||
email: "Email"
|
||||
emailAddress: "Indirizzo di posta elettronica"
|
||||
smtpConfig: "Impostazioni del server SMTP"
|
||||
@ -602,7 +625,7 @@ smtpPass: "Password"
|
||||
emptyToDisableSmtpAuth: "Lasciare il nome utente e la password vuoti per disabilitare la verifica SMTP"
|
||||
smtpSecure: "Usare la porta SSL/TLS implicito per le connessioni SMTP"
|
||||
smtpSecureInfo: "Disabilitare quando è attivo STARTTLS."
|
||||
testEmail: "Testare la consegna di posta elettronica"
|
||||
testEmail: "Testa la consegna di posta elettronica"
|
||||
wordMute: "Filtri parole"
|
||||
regexpError: "errore regex"
|
||||
regexpErrorDescription: "Si è verificato un errore nell'espressione regolare alla riga {line} della parola muta {tab}:"
|
||||
@ -615,7 +638,7 @@ metrics: "Statistiche"
|
||||
overview: "Anteprima"
|
||||
logs: "Log"
|
||||
delayed: "Ritardo"
|
||||
database: "Base di dati"
|
||||
database: "Base dati"
|
||||
channel: "Canale"
|
||||
create: "Crea"
|
||||
notificationSetting: "Impostazioni notifiche"
|
||||
@ -704,7 +727,7 @@ narrow: "Stretto"
|
||||
reloadToApplySetting: "Le tue preferenze verranno impostate dopo il ricaricamento della pagina. Vuoi ricaricare adesso?"
|
||||
needReloadToApply: "È necessario riavviare per rendere effettive le modifiche."
|
||||
showTitlebar: "Visualizza la barra del titolo"
|
||||
clearCache: "Svuota cache"
|
||||
clearCache: "Svuota la cache"
|
||||
onlineUsersCount: "{n} utenti online"
|
||||
nUsers: "{n} utenti"
|
||||
nNotes: "{n}Note"
|
||||
@ -729,9 +752,9 @@ currentVersion: "Versione attuale"
|
||||
latestVersion: "Ultima versione"
|
||||
youAreRunningUpToDateClient: "Stai usando la versione più recente del client."
|
||||
newVersionOfClientAvailable: "Una nuova versione del tuo client è disponibile."
|
||||
usageAmount: "In utilizzo"
|
||||
usageAmount: "In uso"
|
||||
capacity: "Capacità"
|
||||
inUse: "In utilizzo"
|
||||
inUse: "In uso"
|
||||
editCode: "Modifica codice"
|
||||
apply: "Applica"
|
||||
receiveAnnouncementFromInstance: "Ricevi i messaggi informativi dall'istanza"
|
||||
@ -780,8 +803,9 @@ gallery: "Galleria"
|
||||
recentPosts: "Le più recenti"
|
||||
popularPosts: "Le più visualizzate"
|
||||
shareWithNote: "Condividere in nota"
|
||||
ads: "Pubblicità"
|
||||
ads: "Banner"
|
||||
expiration: "Scadenza"
|
||||
startingperiod: "Periodo di inizio"
|
||||
memo: "Promemoria"
|
||||
priority: "Priorità"
|
||||
high: "Alta"
|
||||
@ -808,16 +832,17 @@ translatedFrom: "Tradotto da {x}"
|
||||
accountDeletionInProgress: "È in corso l'eliminazione del profilo"
|
||||
usernameInfo: "Un nome per identificare univocamente il tuo profilo sull'istanza. Puoi utilizzare caratteri alfanumerici maiuscoli, minuscoli e il trattino basso (_). Non potrai cambiare nome utente in seguito."
|
||||
aiChanMode: "Modalità Ai"
|
||||
keepCw: "Mantieni il CW"
|
||||
keepCw: "Mantieni il Content Warning"
|
||||
pubSub: "Publish/Subscribe del profilo"
|
||||
lastCommunication: "La comunicazione più recente"
|
||||
resolved: "Risolto"
|
||||
unresolved: "Non risolto"
|
||||
breakFollow: "Smetti di seguire"
|
||||
breakFollow: "Non seguire"
|
||||
breakFollowConfirm: "Vuoi davvero togliere follower?"
|
||||
itsOn: "Abilitato"
|
||||
itsOff: "Disabilitato"
|
||||
emailRequiredForSignup: "L'ndirizzo e-mail è obbligatorio per registrarsi"
|
||||
unread: "Non letto"
|
||||
unread: "Non lette"
|
||||
filter: "Filtri"
|
||||
controlPanel: "Pannello di controllo"
|
||||
manageAccounts: "Gestisci i profili"
|
||||
@ -850,16 +875,20 @@ instanceDefaultLightTheme: "Istanza, tema luminoso predefinito."
|
||||
instanceDefaultDarkTheme: "Istanza, tema scuro predefinito."
|
||||
instanceDefaultThemeDescription: "Compilare il codice del tema nel modulo dell'oggetto."
|
||||
mutePeriod: "Durata del mute"
|
||||
period: "Scadenza"
|
||||
indefinitely: "Non scade"
|
||||
tenMinutes: "10 minuti"
|
||||
oneHour: "1 ora"
|
||||
oneDay: "1 giorno"
|
||||
oneWeek: "1 settimana"
|
||||
oneMonth: "Un mese"
|
||||
reflectMayTakeTime: "Potrebbe essere necessario un po' di tempo perché ciò abbia effetto."
|
||||
failedToFetchAccountInformation: "Impossibile recuperare le informazioni sul profilo"
|
||||
rateLimitExceeded: "Superato il limite di velocità."
|
||||
cropImage: "Ritaglio dell'immagine"
|
||||
cropImageAsk: "Si desidera ritagliare l'immagine?"
|
||||
rateLimitExceeded: "Superato il limite di richieste."
|
||||
cropImage: "Ritaglia l'immagine"
|
||||
cropImageAsk: "Vuoi ritagliare l'immagine?"
|
||||
cropYes: "Ritaglia"
|
||||
cropNo: "Non ritagliare"
|
||||
file: "Allegati"
|
||||
recentNHours: "Ultime {n} ore"
|
||||
recentNDays: "Ultimi {n} giorni"
|
||||
@ -910,6 +939,7 @@ pushNotificationNotSupported: "Il client o il server non supporta le notifiche p
|
||||
sendPushNotificationReadMessage: "Elimina le notifiche push dopo la relativa lettura"
|
||||
sendPushNotificationReadMessageCaption: "Se possibile, verrà mostrata brevemente una notifica con il testo \"{emptyPushNotificationMessage}\". Potrebbe influire negativamente sulla durata della batteria."
|
||||
windowMaximize: "Ingrandisci"
|
||||
windowMinimize: "Contrai finestra"
|
||||
windowRestore: "Ripristina"
|
||||
caption: "Didascalia"
|
||||
loggedInAsBot: "Connessione come Bot"
|
||||
@ -935,9 +965,87 @@ manageCustomEmojis: "Gestisci le emoji personalizzate"
|
||||
youCannotCreateAnymore: "Non puoi creare, hai raggiunto il limite."
|
||||
cannotPerformTemporary: "Indisponibilità temporanea"
|
||||
cannotPerformTemporaryDescription: "L'attività non può essere svolta, poiché si è raggiunto il limite di esecuzioni possibili. Per favore, riprova più tardi."
|
||||
invalidParamError: "Errore, parametro non valido"
|
||||
invalidParamErrorDescription: "Riscontrato un errore nei parametri della richiesta. Solitamente potrebbe essere un malfunzionamento, ma a volte potrebbe essere causato dalla quantità eccessiva di caratteri nel parametro."
|
||||
permissionDeniedError: "Errore, attività non autorizzata"
|
||||
permissionDeniedErrorDescription: "Non si dispone dell'autorizzazione per eseguire questa operazione."
|
||||
preset: "Preimpostato"
|
||||
selectFromPresets: "Seleziona preimpostato"
|
||||
achievements: "Obiettivi raggiunti"
|
||||
gotInvalidResponseError: "Risposta del server non valida"
|
||||
gotInvalidResponseErrorDescription: "Il server potrebbe essere irraggiungibile o in manutenzione. Riprova più tardi."
|
||||
thisPostMayBeAnnoying: "Questa nota potrebbe essere offensiva"
|
||||
thisPostMayBeAnnoyingHome: "Pubblica sulla timeline principale"
|
||||
thisPostMayBeAnnoyingCancel: "Annulla"
|
||||
thisPostMayBeAnnoyingIgnore: "Pubblica lo stesso"
|
||||
collapseRenotes: "Comprimi i Rinota già letti"
|
||||
internalServerError: "Errore interno del server"
|
||||
internalServerErrorDescription: "Si è verificato un errore imprevisto all'interno del server"
|
||||
copyErrorInfo: "Copia le informazioni sull'errore"
|
||||
joinThisServer: "Registrati su questa istanza"
|
||||
exploreOtherServers: "Trova altre istanze"
|
||||
letsLookAtTimeline: "Sbircia la timeline"
|
||||
disableFederationConfirm: "Vuoi davvero disattivare la federazione?"
|
||||
disableFederationConfirmWarn: "Anche se defederate, le Note continueranno ad essere pubbliche, se non diversamente specificato. Di solito, non è necessario far questo."
|
||||
disableFederationOk: "Disabilita federazione"
|
||||
invitationRequiredToRegister: "L'accesso a questa istanza è solo ad invito. Può registrarsi solo chi ha un codice fornito dall'amministrazione."
|
||||
emailNotSupported: "L'istanza non supporta l'invio di email"
|
||||
postToTheChannel: "Pubblica nel canale"
|
||||
cannotBeChangedLater: "Non sarà più modificabile"
|
||||
reactionAcceptance: "Reazioni consentite"
|
||||
likeOnly: "Solo i Like"
|
||||
likeOnlyForRemote: "Solo Like remoti"
|
||||
rolesAssignedToMe: "I miei ruoli"
|
||||
resetPasswordConfirm: "Vuoi davvero ripristinare la password?"
|
||||
sensitiveWords: "Parole sensibili"
|
||||
sensitiveWordsDescription: "Imposta automaticamente \"Home\" alla visibilità delle Note che contengono una qualsiasi parola tra queste configurate. Puoi separarle per riga."
|
||||
notesSearchNotAvailable: "Non è possibile cercare tra le Note."
|
||||
license: "Licenza"
|
||||
unfavoriteConfirm: "Vuoi davvero rimuovere la preferenza?"
|
||||
myClips: "Le mie Clip"
|
||||
drivecleaner: "Drive cleaner"
|
||||
retryAllQueuesNow: "Ritenta di consumare tutte le code"
|
||||
retryAllQueuesConfirmTitle: "Vuoi ritentare adesso?"
|
||||
retryAllQueuesConfirmText: "Potrebbe sovraccaricare il server temporaneamente."
|
||||
enableChartsForRemoteUser: "Abilita i grafici per i profili remoti"
|
||||
enableChartsForFederatedInstances: "Abilita i grafici per le istanze federate"
|
||||
showClipButtonInNoteFooter: "Aggiungi il bottone Clip tra le azioni delle Note"
|
||||
largeNoteReactions: "Ingrandisci le reazioni"
|
||||
noteIdOrUrl: "ID della Nota o URL"
|
||||
video: "Video"
|
||||
videos: "Video"
|
||||
dataSaver: "Risparmia dati"
|
||||
accountMigration: "Migrazione del profilo"
|
||||
accountMoved: "Questo profilo ha migrato altrove:"
|
||||
forceShowAds: "Mostra sempre i banner"
|
||||
addMemo: "Aggiungi Memo"
|
||||
editMemo: "Modifica Memo"
|
||||
notificationDisplay: "Stile delle notifiche"
|
||||
leftTop: "In alto a sinistra"
|
||||
rightTop: "In alto a destra"
|
||||
leftBottom: "In basso a sinistra"
|
||||
rightBottom: "In basso a destra"
|
||||
stackAxis: "Allineamento"
|
||||
vertical: "Verticale"
|
||||
horizontal: "Laterale"
|
||||
position: "Posizione"
|
||||
serverRules: "Regolamento"
|
||||
pleaseConfirmBelowBeforeSignup: "Ai sensi del regolamento EU 679/2016 GDPR, autorizzo il trattamento dati personali come descritto nella informativa Privacy."
|
||||
pleaseAgreeAllToContinue: "Per continuare, occorre selezionare ed essere d'accordo su tutto."
|
||||
continue: "Continua"
|
||||
youFollowing: "Seguiti"
|
||||
options: "Opzioni del ruolo"
|
||||
_serverRules:
|
||||
description: "In Europa è necessario mostrare l'informativa sul trattamento dei dati personali, prima della registrazione al servizio."
|
||||
_accountMigration:
|
||||
moveFrom: "Migra un altro profilo dentro a questo"
|
||||
moveFromLabel: "Profilo da cui migrare:"
|
||||
moveFromDescription: "Se desideri spostare i profili follower da un altro profilo a questo, devi prima creare un alias qui. Assicurati averlo creato PRIMA di eseguire l'attività! Inserisci l'indirizzo del profilo mittente in questo modo: @persona@istanza.it"
|
||||
moveTo: "Migrare questo profilo verso un un altro"
|
||||
moveToLabel: "Profilo verso cui migrare"
|
||||
moveAccountDescription: "Questa attività è irreversibile! Innanzitutto, assicurati di aver creato, nella istanza di destinazione, un alias con l'indirizzo di questo profilo. Successivamente, indica qui il profilo di destinazione in questo modo: @persona@istanza.it"
|
||||
migrationConfirm: "Vuoi davvero migrare questo profilo su {account}? L'azione è irreversibile e non potrai più utilizzare questo profilo nel suo stato originale.\nInoltre, assicurati di aver già creato un alias sull'account a cui ti stai trasferendo."
|
||||
movedTo: "Profilo verso cui migrare"
|
||||
_achievements:
|
||||
earnedAt: "Data di conseguimento"
|
||||
_types:
|
||||
@ -993,53 +1101,53 @@ _achievements:
|
||||
flavor: "Hai molto da scrivere?"
|
||||
_login3:
|
||||
title: "Principiante I"
|
||||
description: "Accedi per un totale di 3 giorni"
|
||||
description: "Hai totalizzato 3 accessi!"
|
||||
flavor: "Da oggi, chiamatemi Misskist"
|
||||
_login7:
|
||||
title: "Principiante II"
|
||||
description: "Accedi per un totale di 7 giorni"
|
||||
description: "Hai totalizzato 7 accessi!"
|
||||
flavor: "Ti sembra di avere la situazione sotto controllo?"
|
||||
_login15:
|
||||
title: "Principiante III"
|
||||
description: "Accedi per un totale di 15 giorni"
|
||||
description: "Hai totalizzato 15 accessi!"
|
||||
_login30:
|
||||
title: "Misskist I"
|
||||
description: "Accedi per un totale di 30 giorni"
|
||||
description: "Hai totalizzato 30 accessi!"
|
||||
_login60:
|
||||
title: "Misskeist II"
|
||||
description: "Accedi per un totale di 60 giorni"
|
||||
description: "Hai totalizzato 60 accessi!"
|
||||
_login100:
|
||||
title: "Misskeist III"
|
||||
description: "Accedi per un totale di 100 giorni"
|
||||
description: "Hai totalizzato 100 accessi!"
|
||||
flavor: "Violent Misskeist"
|
||||
_login200:
|
||||
title: "Regolare I"
|
||||
description: "Accedi per un totale di 200 giorni"
|
||||
title: "Regolare I livello"
|
||||
description: "Hai totalizzato 200 accessi!"
|
||||
_login300:
|
||||
title: "Regolare II"
|
||||
description: "Accedi per un totale di 300 giorni"
|
||||
title: "Regolare II livello"
|
||||
description: "Hai totalizzato 300 accessi!"
|
||||
_login400:
|
||||
title: "Regolare III"
|
||||
description: "Accedi per un totale di 400 giorni"
|
||||
title: "Regolare III livello"
|
||||
description: "Hai totalizzato 400 accessi!"
|
||||
_login500:
|
||||
title: "Professionista I"
|
||||
description: "Accedi per un totale di 500 giorni"
|
||||
title: "Professionista I livello"
|
||||
description: "Hai totalizzato 500 accessi!"
|
||||
flavor: "Amici cari, mi piacciono le Note"
|
||||
_login600:
|
||||
title: "Professionista II"
|
||||
description: "Accedi per un totale di 600 giorni"
|
||||
title: "Professionista II livello"
|
||||
description: "Hai totalizzato 600 accessi!"
|
||||
_login700:
|
||||
title: "Professionista III"
|
||||
description: "Accedi per un totale di 700 giorni"
|
||||
title: "Professionista III livello"
|
||||
description: "Hai totalizzato 700 accessi!"
|
||||
_login800:
|
||||
title: "Maestro di Note I"
|
||||
description: "Accedi per un totale di 800 giorni"
|
||||
title: "Maestro di Note I livello"
|
||||
description: "Hai totalizzato 800 accessi!"
|
||||
_login900:
|
||||
title: "Maestro di Note II"
|
||||
description: "Accedi per un totale di 900 giorni"
|
||||
title: "Maestro di Note II livello"
|
||||
description: "Hai totalizzato 900 accessi!"
|
||||
_login1000:
|
||||
title: "Maestro di Note III"
|
||||
description: "Accedi per un totale di 1.000 giorni"
|
||||
title: "Maestro di Note III livello"
|
||||
description: "Hai totalizzato 1000 accessi!"
|
||||
flavor: "Grazie per aver usato CherryPick!"
|
||||
_noteClipped1:
|
||||
title: "Devo clippare!"
|
||||
@ -1051,7 +1159,7 @@ _achievements:
|
||||
title: "Fornitura stelline"
|
||||
description: "Qualcuno ha preferito una delle tue Note"
|
||||
_profileFilled:
|
||||
title: "Perfettamente"
|
||||
title: "Preparazione perfetta!"
|
||||
description: "Imposta il tuo profilo"
|
||||
_markedAsCat:
|
||||
title: "Io sono un gatto"
|
||||
@ -1074,7 +1182,7 @@ _achievements:
|
||||
description: "Hai seguito 300 profili"
|
||||
_followers1:
|
||||
title: "Il primo profilo tuo Follower"
|
||||
description: "Hai ottenuto il tuo primo Follower"
|
||||
description: "Hai ottenuto il tuo primo profilo Follower"
|
||||
_followers10:
|
||||
title: "Follow me!"
|
||||
description: "Hai ottenuto 10 profili Follower"
|
||||
@ -1109,6 +1217,9 @@ _achievements:
|
||||
_client30min:
|
||||
title: "Piccola grande pausa"
|
||||
description: "Hai passato più di 30 minuti su CherryPick"
|
||||
_client60min:
|
||||
title: "CherryPick negli occhi"
|
||||
description: "Hai letto CherryPick almeno per un'ora"
|
||||
_noteDeletedWithin1min:
|
||||
title: "Ooops!"
|
||||
description: "Hai eliminato una nota entro un minuto dalla sua pubblicazione"
|
||||
@ -1197,6 +1308,10 @@ _role:
|
||||
iconUrl: "URL dell'icona"
|
||||
asBadge: "Mostra come badge"
|
||||
descriptionOfAsBadge: "Se indicato, accanto al nome utente viene visualizzata l'icona del ruolo."
|
||||
isExplorable: "La timeline del ruolo è pubblica"
|
||||
descriptionOfIsExplorable: "Selezionandolo, la timeline del ruolo diventerà accessibile pubblicamente. Tranne se il ruolo non è pubblico."
|
||||
displayOrder: "Ordine di visualizzazione"
|
||||
descriptionOfDisplayOrder: "I valori più alti vengono visualizzati per primi"
|
||||
canEditMembersByModerator: "Anche i Moderatori assegnano profili a questo ruolo"
|
||||
descriptionOfCanEditMembersByModerator: "Se disattivo, potranno farlo solamente gli Amministratori."
|
||||
priority: "Priorità"
|
||||
@ -1222,6 +1337,7 @@ _role:
|
||||
rateLimitFactor: "Limite del rapporto"
|
||||
descriptionOfRateLimitFactor: "I rapporti più bassi sono meno restrittivi, quelli più alti lo sono di più."
|
||||
canHideAds: "Può nascondere i banner"
|
||||
canSearchNotes: "Ricercare nelle Note"
|
||||
_condition:
|
||||
isLocal: "Profilo locale"
|
||||
isRemote: "Profilo remoto"
|
||||
@ -1231,6 +1347,8 @@ _role:
|
||||
followersMoreThanOrEq: "Ha più di N follower"
|
||||
followingLessThanOrEq: "Segue N profili o meno"
|
||||
followingMoreThanOrEq: "Segue N profili o più"
|
||||
notesLessThanOrEq: "Conteggio Note inferiore o uguale a"
|
||||
notesMoreThanOrEq: "Conteggio Note maggiore o uguale a"
|
||||
and: "E"
|
||||
or: "O"
|
||||
not: "NON"
|
||||
@ -1269,8 +1387,8 @@ _ad:
|
||||
hide: "Nascondi"
|
||||
_forgotPassword:
|
||||
enterEmail: "Inserisci l'indirizzo di posta elettronica che hai registrato nel tuo profilo. Il collegamento necessario per ripristinare la password verrà inviato a questo indirizzo."
|
||||
ifNoEmail: "Se nessun indirizzo e-mail è stato registrato, si prega di contattare l'amministratore·trice dell'istanza."
|
||||
contactAdmin: "Poiché questa istanza non permette l'utilizzo di una mail, si prega di contattare l'amministratore·trice dell'istanza per poter ripristinare la password."
|
||||
ifNoEmail: "Se il tuo indirizzo email non risulta registrato, contatta l'amministrazione dell'istanza."
|
||||
contactAdmin: "Poiché questa istanza non permette di impostare l'indirizzo mail, contatta l'amministrazione per ripristinare la password.\n"
|
||||
_gallery:
|
||||
my: "Le mie pubblicazioni"
|
||||
liked: "Pubblicazioni che mi piacciono"
|
||||
@ -1406,6 +1524,8 @@ _channel:
|
||||
following: "Seguiti"
|
||||
usersCount: "{n} partecipanti"
|
||||
notesCount: "{n} note"
|
||||
nameAndDescription: "Nome e descrizione"
|
||||
nameOnly: "Solo il nome"
|
||||
_menuDisplay:
|
||||
sideFull: "Laterale"
|
||||
sideIcon: "Laterale (solo icone)"
|
||||
@ -1517,58 +1637,48 @@ _ago:
|
||||
weeksAgo: "{n} sett. fa"
|
||||
monthsAgo: "{n} mesi fa"
|
||||
yearsAgo: "{n} anni fa"
|
||||
invalid: "Niente da visualizzare"
|
||||
_time:
|
||||
second: "s"
|
||||
minute: "min"
|
||||
hour: "ore"
|
||||
day: "giorni"
|
||||
_tutorial:
|
||||
title: "Come usare CherryPick"
|
||||
step1_1: "Eccoci!"
|
||||
step1_2: "Questa pagina si chiama una \" Timeline \". Mostra in ordine cronologico le \" note \" delle persone che segui."
|
||||
step1_3: "Attualmente la tua Timeline è vuota perché non segui alcun profilo e non hai pubblicato alcuna nota ancora."
|
||||
step2_1: "Prima di scrivere una «Nota» o di seguire altri profili, prepara il tuo profilo!"
|
||||
step2_2: "Aggiungere qualche informazione su di te aumenterà le tue possibilità di essere seguit@ da altre persone. "
|
||||
step3_1: "Hai finito di impostare il tuo profilo?"
|
||||
step3_2: "Ora puoi pubblicare una «Nota». Proviamo subito! Premi il bottone con l'icona «penna» per iniziare a scrivere in una finestra di dialogo. "
|
||||
step3_3: "Scritto il testo della nota, puoi pubblicarla premendo il pulsante nella parte superiore destra della finestra di dialogo."
|
||||
step3_4: "Non ti viene niente in mente? Perché non scrivi semplicemente \"Ho appena iniziato a usare CherryPick\"?"
|
||||
step4_1: "Hai pubblicato qualcosa?"
|
||||
step4_2: "Se puoi visualizzare la tua nota sulla timeline, ce l'hai fatta!"
|
||||
step5_1: "Adesso, cerca di seguire altre persone per vivacizzare la tua timeline. "
|
||||
step5_2: "La pagina {featured} mostra le note di tendenza su questa istanza, magari ti aiuterà a trovare profili che ti piacciono e che vorrai seguire. Altrimenti potrai trovare utenti popolari anche usando {explore}."
|
||||
step5_3: "Clicca l'immagine per aprire il profilo e premere il bottone \"Seguire\""
|
||||
step5_4: "Se l'altro profilo ha un lucchetto vicino al nome, significa che occorre un po' di tempo prima che approvi manualmente la tua richiesta di follow."
|
||||
step6_1: "Adesso, dovresti essere in grado di vedere le note dagli altri profili sulla tua timeline."
|
||||
step6_2: "Puoi anche rispondere alle note con un click, scegliendo le reazioni immediate."
|
||||
step6_3: "Per inviare una reazione, premi l'icona + della nota e scegli l'emoji che vuoi mandare."
|
||||
step7_1: "Congratulazioni! Hai completato l'esercitazione iniziale su come usare CherryPick."
|
||||
step7_2: "Se vuoi saperne di più su CherryPick, puoi dare un'occhiata alla sezione {help}."
|
||||
step7_3: "Da ultimo, buon divertimento su CherryPick! 🚀"
|
||||
step8_1: "Per concludere, vuoi attivare le notifiche push?"
|
||||
step8_2: "Attivandole, otterrai notifiche di follow, reazioni e menzioni anche quando CherryPick è chiuso."
|
||||
step8_3: "Puoi anche modificare questa impostazione successivamente."
|
||||
_2fa:
|
||||
alreadyRegistered: "La configurazione è stata già completata."
|
||||
registerDevice: "Aggiungi dispositivo"
|
||||
registerKey: "Chiave di registro."
|
||||
registerTOTP: "Registra un'app di autenticazione"
|
||||
passwordToTOTP: "Inserire la password"
|
||||
step1: "Innanzitutto, installare sul dispositivo un'applicazione di autenticazione come {a} o {b}."
|
||||
step2: "Quindi, scansionare il codice QR visualizzato con l'app."
|
||||
step2Click: "Cliccando sul codice QR, puoi registrarlo con l'app di autenticazione o il portachiavi installato sul tuo dispositivo."
|
||||
step2Url: "Nell'applicazione desktop inserire il seguente URL: "
|
||||
step3Title: "Inserisci il codice di verifica"
|
||||
step3: "Inserite il token visualizzato nell'app e il gioco è fatto."
|
||||
step4: "D'ora in poi, quando si accede, si inserisce il token nello stesso modo."
|
||||
securityKeyNotSupported: "Il tuo browser non supporta le chiavi di sicurezza."
|
||||
registerTOTPBeforeKey: "Ti occorre un'app di autenticazione con OTP, prima di registrare la chiave di sicurezza."
|
||||
securityKeyInfo: "È possibile impostare il dispositivo per accedere utilizzando una chiave di sicurezza hardware che supporta FIDO2 o un'impronta digitale o un PIN sul dispositivo."
|
||||
chromePasskeyNotSupported: "Le passkey di Chrome non sono attualmente supportate."
|
||||
registerSecurityKey: "Registra la chiave di sicurezza"
|
||||
securityKeyName: "Inserisci il nome della chiave"
|
||||
tapSecurityKey: "Segui le istruzioni del browser e registra la chiave di sicurezza."
|
||||
removeKey: "Elimina la chiave di sicurezza"
|
||||
removeKeyConfirm: "Vuoi davvero eliminare \"{name}\"?"
|
||||
whyTOTPOnlyRenew: "Se c'è una chiave di sicurezza attiva, non è possibile rimuovere l'app di autenticazione."
|
||||
renewTOTP: "Riconfigura l'app di autenticazione"
|
||||
renewTOTPConfirm: "I codici di verifica nelle app di autenticazione esistenti smetteranno di funzionare"
|
||||
renewTOTPOk: "Ripristina"
|
||||
renewTOTPCancel: "No grazie"
|
||||
_permissions:
|
||||
"read:account": "Visualizzare le informazioni sul profilo"
|
||||
"write:account": "Modificare le informazioni sul profilo"
|
||||
"read:account": "Visualizza le informazioni sul profilo"
|
||||
"write:account": "Modifica le informazioni sul profilo"
|
||||
"read:blocks": "Visualizza i profili bloccati"
|
||||
"write:blocks": "Gestisci i profili bloccati"
|
||||
"read:drive": "Aprire il Drive"
|
||||
"write:drive": "Gestire il Drive"
|
||||
"read:drive": "Apri il Drive"
|
||||
"write:drive": "Gestisci il Drive"
|
||||
"read:favorites": "Visualizza i tuoi preferiti"
|
||||
"write:favorites": "Gestisci i tuoi preferiti"
|
||||
"read:following": "Vedi le informazioni di follow"
|
||||
"write:following": "Seguiti/ Smetti di seguire"
|
||||
"write:following": "Seguire / Non seguire altri profili"
|
||||
"read:messaging": "Visualizzare la chat"
|
||||
"write:messaging": "Gestire la chat"
|
||||
"read:mutes": "Vedi i profili silenziati"
|
||||
@ -1592,12 +1702,15 @@ _permissions:
|
||||
"read:gallery-likes": "Visualizza i contenuti della galleria."
|
||||
"write:gallery-likes": "Manipolazione dei \"Mi piace\" della galleria."
|
||||
_auth:
|
||||
shareAccessTitle: "Permessi dell'applicazione"
|
||||
shareAccess: "Vuoi autorizzare {name} ad accedere al tuo profilo?"
|
||||
shareAccessAsk: "Vuoi autorizzare questa App ad accedere al tuo profilo?"
|
||||
permission: "{name} richiede i permessi seguenti"
|
||||
permissionAsk: "Questa app richiede le seguenti autorizzazioni:"
|
||||
pleaseGoBack: "Si prega di ritornare sulla app"
|
||||
callback: "Ritornando sulla app"
|
||||
denied: "Accesso negato"
|
||||
pleaseLogin: "Per favore accedi al tuo account per cambiare i permessi dell'applicazione"
|
||||
_antennaSources:
|
||||
all: "Tutte le note"
|
||||
homeTimeline: "Note dagli utenti che segui"
|
||||
@ -1644,7 +1757,7 @@ _widgets:
|
||||
clicker: "Cliccaggio"
|
||||
_cw:
|
||||
hide: "Nascondere"
|
||||
show: "Mostra di più"
|
||||
show: "Apri..."
|
||||
chars: "{count} caratteri"
|
||||
files: "{count} file"
|
||||
_poll:
|
||||
@ -1673,24 +1786,24 @@ _visibility:
|
||||
public: "Pubblica"
|
||||
publicDescription: "Visibile per tutti sul Fediverso"
|
||||
home: "Home"
|
||||
homeDescription: "Visibile solo sulla timeline \"Home\""
|
||||
followers: "Followers"
|
||||
followersDescription: "Visibile solo per i tuoi followers"
|
||||
specified: "Diretta"
|
||||
homeDescription: "Visibile solo sulla timeline locale"
|
||||
followers: "Follower"
|
||||
followersDescription: "Visibile solo ai tuoi follower"
|
||||
specified: "Nota diretta"
|
||||
specifiedDescription: "Visibile solo ai profili menzionati"
|
||||
localOnly: "Soltanto locale"
|
||||
localOnlyDescription: "Non visibile ai profili remoti"
|
||||
disableFederation: "Federazione disabilitata"
|
||||
disableFederationDescription: "Non spedire attività alle altre istanze remote"
|
||||
_postForm:
|
||||
replyPlaceholder: "Nota la tua risposta.."
|
||||
quotePlaceholder: "Cita Nota..."
|
||||
channelPlaceholder: "Pubblica in canale"
|
||||
replyPlaceholder: "Rispondi a questa nota..."
|
||||
quotePlaceholder: "Cita questa nota..."
|
||||
channelPlaceholder: "Pubblica sul canale..."
|
||||
_placeholders:
|
||||
a: "Che succede?"
|
||||
b: "È successo qualcosa?"
|
||||
c: "Che cos'hai in mente?"
|
||||
a: "Come va?"
|
||||
b: "Hai qualcosa da raccontare? Inizia pure..."
|
||||
c: "Stai pensando a qualcosa?"
|
||||
d: "Vuoi dire qualcosa?"
|
||||
e: "Scrivi qualcosa qui"
|
||||
f: "Aspettando che scriva..."
|
||||
e: "Puoi scrivere qui..."
|
||||
f: "Inizia pure a scrivere..."
|
||||
_profile:
|
||||
name: "Nome"
|
||||
username: "Nome utente"
|
||||
@ -1706,7 +1819,7 @@ _profile:
|
||||
_exportOrImport:
|
||||
allNotes: "Tutte le note"
|
||||
favoritedNotes: "Note preferite"
|
||||
followingList: "Follows"
|
||||
followingList: "Follow"
|
||||
muteList: "Elenco profili silenziati"
|
||||
blockingList: "Elenco profili bloccati"
|
||||
userLists: "Liste"
|
||||
@ -1721,9 +1834,9 @@ _charts:
|
||||
notesIncDec: "Variazione del numero di note"
|
||||
localNotesIncDec: "Variazione del numero di note locali"
|
||||
remoteNotesIncDec: "Variazione del numero di note distanti"
|
||||
notesTotal: "Conteggio totale di note"
|
||||
notesTotal: "Numero di note in totale"
|
||||
filesIncDec: "Variazione del numero dei file"
|
||||
filesTotal: "Numero totale di file"
|
||||
filesTotal: "Numero di file in totale"
|
||||
storageUsageIncDec: "Variazione dell'utilizzo dell'immagazzinamento"
|
||||
storageUsageTotal: "Utilizzo totale dell'immagazzinamento"
|
||||
_instanceCharts:
|
||||
@ -1815,7 +1928,7 @@ _notification:
|
||||
fileUploaded: "File caricato correttamente"
|
||||
youGotMention: "{name} ti ha menzionato"
|
||||
youGotReply: "{name} ti ha risposto"
|
||||
youGotQuote: "{name} ha citato il tuo Nota e ha detto"
|
||||
youGotQuote: "{name} ha citato la tua Nota e ha detto"
|
||||
youRenoted: "{name} ha rinotato"
|
||||
youGotMessagingMessageFromUser: "{name} ti ha mandato un messaggio"
|
||||
youGotMessagingMessageFromGroup: "{name} ti ha mandato un messaggio nella chat"
|
||||
@ -1839,6 +1952,7 @@ _notification:
|
||||
receiveFollowRequest: "Richiesta di follow ricevuta"
|
||||
followRequestAccepted: "Richiesta di follow accettata"
|
||||
groupInvited: "Invito a un gruppo"
|
||||
achievementEarned: "Risultato raggiunto"
|
||||
app: "Notifiche da applicazioni"
|
||||
_actions:
|
||||
followBack: "Segui"
|
||||
@ -1871,3 +1985,27 @@ _deck:
|
||||
channel: "Canale"
|
||||
mentions: "Menzioni"
|
||||
direct: "Diretta"
|
||||
roleTimeline: "Timeline Ruolo"
|
||||
_dialog:
|
||||
charactersExceeded: "Hai superato il limite di {max} caratteri! ({corrente})"
|
||||
charactersBelow: "Sei al di sotto del minimo di {min} caratteri! ({corrente})"
|
||||
_disabledTimeline:
|
||||
title: "Timeline disabilitata"
|
||||
description: "Il ruolo in cui sei non ti permette di leggere questa timeline"
|
||||
_drivecleaner:
|
||||
orderBySizeDesc: "Dal più grande al più piccolo"
|
||||
orderByCreatedAtAsc: "Dal più vecchio al più recente"
|
||||
_webhookSettings:
|
||||
createWebhook: "Creazione Webhook"
|
||||
name: "Nome"
|
||||
secret: "Segreto"
|
||||
events: "Quando eseguire il Webhook"
|
||||
active: "Attivo"
|
||||
_events:
|
||||
follow: "Quando segui un profilo"
|
||||
followed: "Quando ti segue un profilo"
|
||||
note: "Quando pubblichi una Nota"
|
||||
reply: "Quando rispondono ad una Nota"
|
||||
renote: "Quando la Nota è Rinotata"
|
||||
reaction: "Quando ricevo una reazione"
|
||||
mention: "Quando mi menzionano"
|
||||
|
@ -11,7 +11,7 @@ cherrypickUpdatedCacheClear: "テーマや色、ロケールなどの変更が
|
||||
cherrypickUpdatedCacheClearLater: "あとでキャッシュをクリアするには、<b>設定</b> - <b>キャッシュをクリア</b>でできます!"
|
||||
headlineMisskey: "ノートでつながるネットワーク"
|
||||
introMisskey: "ようこそ!CherryPickは、オープンソースの分散型マイクロブログサービスです。\n「ノート」を作成して、いま起こっていることを共有したり、あなたについて皆に発信しよう📡\n「リアクション」機能で、皆のノートに素早く反応を追加することもできます👍\n新しい世界を探検しよう🚀"
|
||||
poweredByMisskeyDescription: "{name}は、オープンソースのプラットフォーム<b>CherryPick</b>を使ったサービス(CherryPickインスタンスと呼ばれます)のひとつです。"
|
||||
poweredByMisskeyDescription: "{name}は、オープンソースのプラットフォーム<b>CherryPick</b>のサーバーのひとつです。"
|
||||
monthAndDay: "{month}月 {day}日"
|
||||
search: "検索"
|
||||
notifications: "通知"
|
||||
@ -27,8 +27,9 @@ enterUsername: "ユーザー名を入力"
|
||||
renotedBy: "{user}がRenote"
|
||||
noNotes: "ノートはありません"
|
||||
noNotifications: "通知はありません"
|
||||
instance: "インスタンス"
|
||||
instance: "サーバー"
|
||||
settings: "設定"
|
||||
notificationSettings: "通知の設定"
|
||||
basicSettings: "基本設定"
|
||||
otherSettings: "その他の設定"
|
||||
openInWindow: "ウィンドウで開く"
|
||||
@ -80,7 +81,7 @@ import: "インポート"
|
||||
export: "エクスポート"
|
||||
files: "ファイル"
|
||||
download: "ダウンロード"
|
||||
driveFileDeleteConfirm: "ファイル「{name}」を削除しますか?このファイルを添付したノートも消えます。"
|
||||
driveFileDeleteConfirm: "ファイル「{name}」を削除しますか?このファイルを使用した全てのコンテンツからも削除されます。"
|
||||
unfollowConfirm: "{name}のフォローを解除しますか?"
|
||||
exportRequested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、「ドライブ」に追加されます。"
|
||||
importRequested: "インポートをリクエストしました。これには時間がかかる場合があります。"
|
||||
@ -135,6 +136,8 @@ unmarkAsSensitive: "閲覧注意を解除する"
|
||||
enterFileName: "ファイル名を入力"
|
||||
mute: "ミュート"
|
||||
unmute: "ミュート解除"
|
||||
renoteMute: "リノートをミュート"
|
||||
renoteUnmute: "リノートのミュートを解除"
|
||||
block: "ブロック"
|
||||
unblock: "ブロック解除"
|
||||
suspend: "凍結"
|
||||
@ -166,6 +169,7 @@ flagShowTimelineReplies: "タイムラインにノートへの返信を表示す
|
||||
flagShowTimelineRepliesDescription: "オンにすると、タイムラインにユーザーのノート以外にもそのユーザーの他のノートへの返信を表示します。"
|
||||
autoAcceptFollowed: "フォロー中ユーザーからのフォロリクを自動承認"
|
||||
addAccount: "アカウントを追加"
|
||||
reloadAccountsList: "アカウントリストの情報を更新"
|
||||
loginFailed: "ログインに失敗しました"
|
||||
showOnRemote: "リモートで表示"
|
||||
general: "全般"
|
||||
@ -176,13 +180,13 @@ searchWith: "検索: {q}"
|
||||
youHaveNoLists: "リストがありません"
|
||||
followConfirm: "{name}をフォローしますか?"
|
||||
proxyAccount: "プロキシアカウント"
|
||||
proxyAccountDescription: "プロキシアカウントは、特定の条件下でユーザーのリモートフォローを代行するアカウントです。例えば、ユーザーがリモートユーザーをリストに入れたとき、リストに入れられたユーザーを誰もフォローしていないとアクティビティがインスタンスに配達されないため、代わりにプロキシアカウントがフォローするようにします。"
|
||||
proxyAccountDescription: "プロキシアカウントは、特定の条件下でユーザーのリモートフォローを代行するアカウントです。例えば、ユーザーがリモートユーザーをリストに入れたとき、リストに入れられたユーザーを誰もフォローしていないとアクティビティがサーバーに配達されないため、代わりにプロキシアカウントがフォローするようにします。"
|
||||
host: "ホスト"
|
||||
selectUser: "ユーザーを選択"
|
||||
recipient: "宛先"
|
||||
annotation: "注釈"
|
||||
federation: "連合"
|
||||
instances: "インスタンス"
|
||||
instances: "サーバー"
|
||||
registeredAt: "初観測"
|
||||
latestRequestReceivedAt: "直近のリクエスト受信"
|
||||
latestStatus: "直近のステータス"
|
||||
@ -191,7 +195,7 @@ charts: "チャート"
|
||||
perHour: "1時間ごと"
|
||||
perDay: "1日ごと"
|
||||
stopActivityDelivery: "アクティビティの配送を停止"
|
||||
blockThisInstance: "このインスタンスをブロック"
|
||||
blockThisInstance: "このサーバーをブロック"
|
||||
operations: "操作"
|
||||
software: "ソフトウェア"
|
||||
version: "バージョン"
|
||||
@ -202,15 +206,15 @@ jobQueue: "ジョブキュー"
|
||||
cpuAndMemory: "CPUとメモリ"
|
||||
network: "ネットワーク"
|
||||
disk: "ディスク"
|
||||
instanceInfo: "インスタンス情報"
|
||||
instanceInfo: "サーバー情報"
|
||||
statistics: "統計"
|
||||
clearQueue: "キューをクリア"
|
||||
clearQueueConfirmTitle: "キューをクリアしますか?"
|
||||
clearQueueConfirmText: "未配達の投稿は配送されなくなります。通常この操作を行う必要はありません。"
|
||||
clearCachedFiles: "キャッシュをクリア"
|
||||
clearCachedFilesConfirm: "キャッシュされたリモートファイルをすべて削除しますか?"
|
||||
blockedInstances: "ブロックしたインスタンス"
|
||||
blockedInstancesDescription: "ブロックしたいインスタンスのホストを改行で区切って設定します。ブロックされたインスタンスは、このインスタンスとやり取りできなくなります。サブドメインもブロックされます。"
|
||||
blockedInstances: "ブロックしたサーバー"
|
||||
blockedInstancesDescription: "ブロックしたいサーバーのホストを改行で区切って設定します。ブロックされたサーバーは、このサーバーとやり取りできなくなります。サブドメインもブロックされます。"
|
||||
muteAndBlock: "ミュートとブロック"
|
||||
mutedUsers: "ミュートしたユーザー"
|
||||
blockedUsers: "ブロックしたユーザー"
|
||||
@ -233,9 +237,9 @@ all: "全て"
|
||||
subscribing: "購読中"
|
||||
publishing: "配信中"
|
||||
notResponding: "応答なし"
|
||||
instanceFollowing: "インスタンスのフォロー"
|
||||
instanceFollowers: "インスタンスのフォロワー"
|
||||
instanceUsers: "インスタンスのユーザー"
|
||||
instanceFollowing: "サーバーのフォロー"
|
||||
instanceFollowers: "サーバーのフォロワー"
|
||||
instanceUsers: "サーバーのユーザー"
|
||||
changePassword: "パスワードを変更"
|
||||
security: "セキュリティ"
|
||||
retypedNotMatch: "入力が一致しません。"
|
||||
@ -272,14 +276,16 @@ noMoreHistory: "これより過去の履歴はありません"
|
||||
startMessaging: "チャットを開始"
|
||||
nUsersRead: "{n}人が読みました"
|
||||
agreeTo: "{0}に同意"
|
||||
agree: "同意する"
|
||||
agreeBelow: "下記に同意する"
|
||||
basicNotesBeforeCreateAccount: "基本的な注意事項"
|
||||
tos: "利用規約"
|
||||
termsOfService: "利用規約"
|
||||
start: "始める"
|
||||
home: "ホーム"
|
||||
remoteUserCaution: "リモートユーザーのため、情報が不完全です。"
|
||||
activity: "アクティビティ"
|
||||
images: "画像"
|
||||
image: "画像"
|
||||
birthday: "誕生日"
|
||||
yearsOld: "{age}歳"
|
||||
registeredDate: "登録日"
|
||||
@ -327,8 +333,8 @@ unwatch: "ウォッチ解除"
|
||||
accept: "許可"
|
||||
reject: "拒否"
|
||||
normal: "正常"
|
||||
instanceName: "インスタンス名"
|
||||
instanceDescription: "インスタンスの紹介"
|
||||
instanceName: "サーバー名"
|
||||
instanceDescription: "サーバーの紹介"
|
||||
maintainerName: "管理者の名前"
|
||||
maintainerEmail: "管理者のメールアドレス"
|
||||
tosUrl: "利用規約URL"
|
||||
@ -358,7 +364,7 @@ basicInfo: "基本情報"
|
||||
pinnedUsers: "ピン留めユーザー"
|
||||
pinnedUsersDescription: "「みつける」ページなどにピン留めしたいユーザーを改行で区切って記述します。"
|
||||
pinnedPages: "ピン留めページ"
|
||||
pinnedPagesDescription: "インスタンスのトップページにピン留めしたいページのパスを改行で区切って記述します。"
|
||||
pinnedPagesDescription: "サーバーのトップページにピン留めしたいページのパスを改行で区切って記述します。"
|
||||
pinnedClipId: "ピン留めするクリップのID"
|
||||
pinnedNotes: "ピン留めされたノート"
|
||||
hcaptcha: "hCaptcha"
|
||||
@ -405,17 +411,20 @@ userList: "リスト"
|
||||
about: "情報"
|
||||
aboutMisskey: "CherryPickについて"
|
||||
administrator: "管理者"
|
||||
token: "トークン"
|
||||
twoStepAuthentication: "二段階認証"
|
||||
token: "確認コード"
|
||||
2fa: "二要素認証"
|
||||
totp: "認証アプリ"
|
||||
totpDescription: "認証アプリを使ってワンタイムパスワードを入力"
|
||||
moderator: "モデレーター"
|
||||
moderation: "モデレーション"
|
||||
nUsersMentioned: "{n}人が投稿"
|
||||
securityKeyAndPasskey: "セキュリティキー・パスキー"
|
||||
securityKey: "セキュリティキー"
|
||||
securityKeyName: "キーの名前"
|
||||
registerSecurityKey: "セキュリティキーを登録する"
|
||||
lastUsed: "最後の使用"
|
||||
lastUsedAt: "最後の使用: {t}"
|
||||
unregister: "登録を解除"
|
||||
passwordLessLogin: "パスワード無しログイン"
|
||||
passwordLessLogin: "パスワードレスログイン"
|
||||
passwordLessLoginDescription: "パスワードを使用せず、セキュリティキーやパスキーなどのみでログインします"
|
||||
resetPassword: "パスワードをリセット"
|
||||
newPasswordIs: "新しいパスワードは「{password}」です"
|
||||
reduceUiAnimation: "UIのアニメーションを減らす"
|
||||
@ -469,7 +478,6 @@ passwordMatched: "一致しました"
|
||||
passwordNotMatched: "一致していません"
|
||||
signinWith: "{x}でログイン"
|
||||
signinFailed: "ログインできませんでした。ユーザー名とパスワードを確認してください。"
|
||||
tapSecurityKey: "セキュリティキーにタッチ"
|
||||
or: "もしくは"
|
||||
language: "言語"
|
||||
uiLanguage: "UIの表示言語"
|
||||
@ -480,6 +488,7 @@ native: "ネイティブ"
|
||||
disableDrawer: "メニューをドロワーで表示しない"
|
||||
youHaveNoGroups: "グループがありません"
|
||||
joinOrCreateGroup: "既存のグループに招待してもらうか、新しくグループを作成してください。"
|
||||
showNoteActionsOnlyHover: "ノートのアクションをホバー時のみ表示する"
|
||||
noHistory: "履歴はありません"
|
||||
signinHistory: "ログイン履歴"
|
||||
enableAdvancedMfm: "高度なMFMを有効にする"
|
||||
@ -492,6 +501,8 @@ createAccount: "アカウントを作成"
|
||||
existingAccount: "既存のアカウント"
|
||||
regenerate: "再生成"
|
||||
fontSize: "フォントサイズ"
|
||||
mediaListWithOneImageAppearance: "画像が1枚のみのメディアリストの高さ"
|
||||
limitTo: "{x}を上限に"
|
||||
noFollowRequests: "フォロー申請はありません"
|
||||
openImageInNewTab: "画像を新しいタブで開く"
|
||||
dashboard: "ダッシュボード"
|
||||
@ -519,15 +530,17 @@ objectStoragePrefixDesc: "このprefixのディレクトリ下に格納されま
|
||||
objectStorageEndpoint: "Endpoint"
|
||||
objectStorageEndpointDesc: "S3の場合は空、それ以外の場合は各サービスのendpointを指定してください。'<host>'または'<host>:<port>'のように指定します。"
|
||||
objectStorageRegion: "Region"
|
||||
objectStorageRegionDesc: "'xx-east-1'のようなregionを指定してください。使用サービスにregionの概念がない場合は、空または'us-east-1'にしてください。"
|
||||
objectStorageRegionDesc: "'xx-east-1'のようなregionを指定してください。使用サービスにregionの概念がない場合は'us-east-1'にしてください。AWS設定ファイルまたは環境変数を参照する場合は空にしてください。"
|
||||
objectStorageUseSSL: "SSLを使用する"
|
||||
objectStorageUseSSLDesc: "API接続にhttpsを使用しない場合はオフにしてください"
|
||||
objectStorageUseProxy: "Proxyを利用する"
|
||||
objectStorageUseProxyDesc: "API接続にproxyを利用しない場合はオフにしてください"
|
||||
objectStorageSetPublicRead: "アップロード時に'public-read'を設定する"
|
||||
s3ForcePathStyleDesc: "s3ForcePathStyleを有効にすると、バケット名をURLのホスト名ではなくパスの一部として指定することを強制します。セルフホストされたMinioなどの使用時に有効にする必要がある場合があります。"
|
||||
serverLogs: "サーバーログ"
|
||||
deleteAll: "全て削除"
|
||||
showFixedPostForm: "タイムライン上部に投稿フォームを表示する"
|
||||
showFixedPostFormInChannel: "タイムライン上部に投稿フォームを表示する(チャンネル)"
|
||||
newNoteRecived: "新しいノートがあります"
|
||||
sounds: "サウンド"
|
||||
sound: "サウンド"
|
||||
@ -560,14 +573,19 @@ updateRemoteUser: "リモートユーザー情報の更新"
|
||||
deleteAllFiles: "すべてのファイルを削除"
|
||||
deleteAllFilesConfirm: "すべてのファイルを削除しますか?"
|
||||
removeAllFollowing: "フォローを全解除"
|
||||
removeAllFollowingDescription: "{host}からのフォローをすべて解除します。そのインスタンスがもう存在しなくなった場合などに実行してください。"
|
||||
removeAllFollowingDescription: "{host}からのフォローをすべて解除します。そのサーバーがもう存在しなくなった場合などに実行してください。"
|
||||
userSuspended: "このユーザーは凍結されています。"
|
||||
userSilenced: "このユーザーはサイレンスされています。"
|
||||
yourAccountSuspendedTitle: "アカウントが凍結されています"
|
||||
yourAccountSuspendedDescription: "このアカウントは、サーバーの利用規約に違反したなどの理由により、凍結されています。詳細については管理者までお問い合わせください。新しいアカウントを作らないでください。"
|
||||
tokenRevoked: "トークンが無効です"
|
||||
tokenRevokedDescription: "ログイントークンが失効しています。ログインし直してください。"
|
||||
accountDeleted: "アカウントは削除されています"
|
||||
accountDeletedDescription: "このアカウントは削除されています。"
|
||||
menu: "メニュー"
|
||||
divider: "分割線"
|
||||
addItem: "項目を追加"
|
||||
rearrange: "並び替え"
|
||||
relays: "リレー"
|
||||
addRelay: "リレーの追加"
|
||||
inboxUrl: "inboxのURL"
|
||||
@ -608,7 +626,6 @@ tokenRequested: "アカウントへのアクセス許可"
|
||||
pluginTokenRequestedDescription: "このプラグインはここで設定した権限を行使できるようになります。"
|
||||
notificationType: "通知の種類"
|
||||
edit: "編集"
|
||||
useStarForReactionFallback: "リアクション絵文字が不明な場合、代わりに★を使う"
|
||||
emailServer: "メールサーバー"
|
||||
enableEmail: "メール配信機能を有効化する"
|
||||
emailConfigInfo: "メールアドレスの確認やパスワードリセットの際に使います"
|
||||
@ -626,7 +643,7 @@ testEmail: "配信テスト"
|
||||
wordMute: "ワードミュート"
|
||||
regexpError: "正規表現エラー"
|
||||
regexpErrorDescription: "{tab}ワードミュートの{line}行目の正規表現にエラーが発生しました:"
|
||||
instanceMute: "インスタンスミュート"
|
||||
instanceMute: "サーバーミュート"
|
||||
userSaysSomething: "{name}が何かを言いました"
|
||||
makeActive: "アクティブにする"
|
||||
display: "表示"
|
||||
@ -657,15 +674,15 @@ abuseReported: "内容が送信されました。ご報告ありがとうござ
|
||||
reporter: "通報者"
|
||||
reporteeOrigin: "通報先"
|
||||
reporterOrigin: "通報元"
|
||||
forwardReport: "リモートインスタンスに通報を転送する"
|
||||
forwardReportIsAnonymous: "リモートインスタンスからはあなたの情報は見れず、匿名のシステムアカウントとして表示されます。"
|
||||
forwardReport: "リモートサーバーに通報を転送する"
|
||||
forwardReportIsAnonymous: "リモートサーバーからはあなたの情報は見れず、匿名のシステムアカウントとして表示されます。"
|
||||
send: "送信"
|
||||
abuseMarkAsResolved: "対応済みにする"
|
||||
openInNewTab: "新しいタブで開く"
|
||||
openInSideView: "サイドビューで開く"
|
||||
defaultNavigationBehaviour: "デフォルトのナビゲーション"
|
||||
editTheseSettingsMayBreakAccount: "これらの設定を編集するとアカウントが破損する可能性があります。"
|
||||
instanceTicker: "ノートのインスタンス情報"
|
||||
instanceTicker: "ノートのサーバー情報"
|
||||
waitingFor: "{x}を待っています"
|
||||
random: "ランダム"
|
||||
system: "システム"
|
||||
@ -697,7 +714,7 @@ no: "いいえ"
|
||||
driveFilesCount: "ドライブのファイル数"
|
||||
driveUsage: "ドライブ使用量"
|
||||
noCrawle: "クローラーによるインデックスを拒否"
|
||||
noCrawleDescription: "検索エンジンにあなたのユーザーページ、ノート、Pagesなどのコンテンツを登録(インデックス)しないよう要請します。"
|
||||
noCrawleDescription: "外部の検索エンジンにあなたのユーザーページ、ノート、Pagesなどのコンテンツを登録(インデックス)しないよう要求します。"
|
||||
lockedAccountInfo: "フォローを承認制にしても、ノートの公開範囲を「フォロワー」にしない限り、誰でもあなたのノートを見ることができます。"
|
||||
alwaysMarkSensitive: "デフォルトでメディアを閲覧注意にする"
|
||||
loadRawImages: "添付画像のサムネイルをオリジナル画質にする"
|
||||
@ -712,6 +729,8 @@ contact: "連絡先"
|
||||
useSystemFont: "システムのデフォルトのフォントを使う"
|
||||
clips: "クリップ"
|
||||
experimentalFeatures: "実験的機能"
|
||||
experimental: "実験的"
|
||||
thisIsExperimentalFeature: "これは実験的な機能です。仕様が変更されたり、正常に動作しなかったりする可能性があります。"
|
||||
developer: "開発者"
|
||||
makeExplorable: "アカウントを見つけやすくする"
|
||||
makeExplorableDescription: "オフにすると、「みつける」にアカウントが載らなくなります。"
|
||||
@ -754,7 +773,7 @@ capacity: "容量"
|
||||
inUse: "使用中"
|
||||
editCode: "コードを編集"
|
||||
apply: "適用"
|
||||
receiveAnnouncementFromInstance: "インスタンスからのお知らせを受け取る"
|
||||
receiveAnnouncementFromInstance: "サーバーからのお知らせを受け取る"
|
||||
emailNotification: "メール通知"
|
||||
publish: "公開"
|
||||
inChannelSearch: "チャンネル内検索"
|
||||
@ -782,7 +801,7 @@ active: "アクティブ"
|
||||
offline: "オフライン"
|
||||
notRecommended: "非推奨"
|
||||
botProtection: "Botプロテクション"
|
||||
instanceBlocking: "インスタンスブロック"
|
||||
instanceBlocking: "サーバーブロック"
|
||||
selectAccount: "アカウントを選択"
|
||||
switchAccount: "アカウントを切り替え"
|
||||
enabled: "有効"
|
||||
@ -835,8 +854,11 @@ lastCommunication: "直近の通信"
|
||||
resolved: "解決済み"
|
||||
unresolved: "未解決"
|
||||
breakFollow: "フォロワーを解除"
|
||||
breakFollowConfirm: "フォロワー解除しますか?"
|
||||
itsOn: "オンになっています"
|
||||
itsOff: "オフになっています"
|
||||
on: "オン"
|
||||
off: "オフ"
|
||||
emailRequiredForSignup: "アカウント登録にメールアドレスを必須にする"
|
||||
unread: "未読"
|
||||
filter: "フィルタ"
|
||||
@ -867,15 +889,17 @@ themeColor: "テーマカラー"
|
||||
size: "サイズ"
|
||||
numberOfColumn: "列の数"
|
||||
searchByGoogle: "検索"
|
||||
instanceDefaultLightTheme: "インスタンスデフォルトのライトテーマ"
|
||||
instanceDefaultDarkTheme: "インスタンスデフォルトのダークテーマ"
|
||||
instanceDefaultLightTheme: "サーバーデフォルトのライトテーマ"
|
||||
instanceDefaultDarkTheme: "サーバーデフォルトのダークテーマ"
|
||||
instanceDefaultThemeDescription: "オブジェクト形式のテーマコードを記入します。"
|
||||
mutePeriod: "ミュートする期限"
|
||||
period: "期限"
|
||||
indefinitely: "無期限"
|
||||
tenMinutes: "10分"
|
||||
oneHour: "1時間"
|
||||
oneDay: "1日"
|
||||
oneWeek: "1週間"
|
||||
oneMonth: "1ヶ月"
|
||||
reflectMayTakeTime: "反映されるまで時間がかかる場合があります。"
|
||||
failedToFetchAccountInformation: "アカウント情報の取得に失敗しました"
|
||||
rateLimitExceeded: "レート制限を超えました"
|
||||
@ -917,9 +941,10 @@ remoteOnly: "リモートのみ"
|
||||
failedToUpload: "アップロード失敗"
|
||||
cannotUploadBecauseInappropriate: "不適切な内容を含む可能性があると判定されたためアップロードできません。"
|
||||
cannotUploadBecauseNoFreeSpace: "ドライブの空き容量が無いためアップロードできません。"
|
||||
cannotUploadBecauseExceedsFileSizeLimit: "ファイルサイズの制限を超えているためアップロードできません。"
|
||||
beta: "ベータ"
|
||||
enableAutoSensitive: "自動NSFW判定"
|
||||
enableAutoSensitiveDescription: "利用可能な場合は、機械学習を利用して自動でメディアにNSFWフラグを設定します。この機能をオフにしても、インスタンスによっては自動で設定されることがあります。"
|
||||
enableAutoSensitiveDescription: "利用可能な場合は、機械学習を利用して自動でメディアにNSFWフラグを設定します。この機能をオフにしても、サーバーによっては自動で設定されることがあります。"
|
||||
activeEmailValidationDescription: "ユーザーのメールアドレスのバリデーションを、捨てアドかどうかや実際に通信可能かどうかなどを判定しより積極的に行います。オフにすると単に文字列として正しいかどうかのみチェックされます。"
|
||||
navbar: "ナビゲーションバー"
|
||||
shuffle: "シャッフル"
|
||||
@ -929,10 +954,11 @@ pushNotification: "プッシュ通知"
|
||||
subscribePushNotification: "プッシュ通知を有効化"
|
||||
unsubscribePushNotification: "プッシュ通知を停止する"
|
||||
pushNotificationAlreadySubscribed: "プッシュ通知は有効です"
|
||||
pushNotificationNotSupported: "ブラウザかインスタンスがプッシュ通知に非対応"
|
||||
sendPushNotificationReadMessage: "通知やメッセージが既読になったらプッシュ通知を削除する"
|
||||
sendPushNotificationReadMessageCaption: "「{emptyPushNotificationMessage}」という通知が一瞬表示されるようになります。端末の電池消費量が増加する可能性があります。"
|
||||
pushNotificationNotSupported: "ブラウザかサーバーがプッシュ通知に非対応"
|
||||
sendPushNotificationReadMessage: "通知が既読になったらプッシュ通知を削除する"
|
||||
sendPushNotificationReadMessageCaption: "端末の電池消費量が増加する可能性があります。"
|
||||
windowMaximize: "最大化"
|
||||
windowMinimize: "最小化"
|
||||
windowRestore: "元に戻す"
|
||||
caption: "キャプション"
|
||||
loggedInAsBot: "Botアカウントでログイン中"
|
||||
@ -949,6 +975,7 @@ didYouLikeMisskey: "CherryPickを気に入っていただけましたか?"
|
||||
pleaseDonate: "CherryPickは{host}が使用している無料のソフトウェアです。これからも開発を続けられるように、ぜひ寄付をお願いします!"
|
||||
roles: "ロール"
|
||||
role: "ロール"
|
||||
noRole: "ロールはありません"
|
||||
normalUser: "一般ユーザー"
|
||||
undefined: "未定義"
|
||||
assign: "アサイン"
|
||||
@ -958,6 +985,10 @@ manageCustomEmojis: "カスタム絵文字の管理"
|
||||
youCannotCreateAnymore: "これ以上作成することはできません。"
|
||||
cannotPerformTemporary: "一時的に利用できません"
|
||||
cannotPerformTemporaryDescription: "操作回数が制限を超過するため一時的に利用できません。しばらく時間を置いてから再度お試しください。"
|
||||
invalidParamError: "パラメータエラー"
|
||||
invalidParamErrorDescription: "リクエストパラメータに問題があります。通常これはバグですが、入力した文字数が多すぎる等の可能性もあります。"
|
||||
permissionDeniedError: "操作が拒否されました"
|
||||
permissionDeniedErrorDescription: "このアカウントにはこの操作を行うための権限がありません。"
|
||||
preset: "プリセット"
|
||||
selectFromPresets: "プリセットから選択"
|
||||
achievements: "実績"
|
||||
@ -971,6 +1002,110 @@ collapseRenotes: "見たことのあるRenoteを省略して表示"
|
||||
internalServerError: "サーバー内部エラー"
|
||||
internalServerErrorDescription: "サーバー内部で予期しないエラーが発生しました。"
|
||||
copyErrorInfo: "エラー情報をコピー"
|
||||
joinThisServer: "このサーバーに登録する"
|
||||
exploreOtherServers: "他のサーバーを探す"
|
||||
letsLookAtTimeline: "タイムラインを見てみる"
|
||||
disableFederationConfirm: "連合なしにしますか?"
|
||||
disableFederationConfirmWarn: "連合なしにしても投稿は非公開になりません。ほとんどの場合、連合なしにする必要はありません。"
|
||||
disableFederationOk: "連合なしにする"
|
||||
invitationRequiredToRegister: "現在このサーバーは招待制です。招待コードをお持ちの方のみ登録できます。"
|
||||
emailNotSupported: "このサーバーではメール配信はサポートされていません"
|
||||
postToTheChannel: "チャンネルに投稿"
|
||||
cannotBeChangedLater: "後から変更できません。"
|
||||
reactionAcceptance: "リアクションの受け入れ"
|
||||
likeOnly: "いいねのみ"
|
||||
likeOnlyForRemote: "リモートからはいいねのみ"
|
||||
rolesAssignedToMe: "自分に割り当てられたロール"
|
||||
resetPasswordConfirm: "パスワードリセットしますか?"
|
||||
sensitiveWords: "センシティブワード"
|
||||
sensitiveWordsDescription: "設定したワードが含まれるノートの公開範囲をホームにします。改行で区切って複数設定できます。"
|
||||
sensitiveWordsDescription2: "スペースで区切るとAND指定になり、キーワードをスラッシュで囲むと正規表現になります。"
|
||||
notesSearchNotAvailable: "ノート検索は利用できません。"
|
||||
license: "ライセンス"
|
||||
unfavoriteConfirm: "お気に入り解除しますか?"
|
||||
myClips: "自分のクリップ"
|
||||
drivecleaner: "ドライブクリーナー"
|
||||
retryAllQueuesNow: "すべてのキューを今すぐ再試行"
|
||||
retryAllQueuesConfirmTitle: "今すぐ再試行しますか?"
|
||||
retryAllQueuesConfirmText: "一時的にサーバーの負荷が増大することがあります。"
|
||||
enableChartsForRemoteUser: "リモートユーザーのチャートを生成"
|
||||
enableChartsForFederatedInstances: "リモートサーバーのチャートを生成"
|
||||
showClipButtonInNoteFooter: "ノートのアクションにクリップを追加"
|
||||
largeNoteReactions: "ノートのリアクションを大きく表示"
|
||||
noteIdOrUrl: "ノートIDまたはURL"
|
||||
video: "動画"
|
||||
videos: "動画"
|
||||
dataSaver: "データセーバー"
|
||||
accountMigration: "アカウントの移行"
|
||||
accountMoved: "このユーザーは新しいアカウントに移行しました:"
|
||||
accountMovedShort: "このアカウントは移行されています"
|
||||
operationForbidden: "この操作はできません"
|
||||
forceShowAds: "常に広告を表示する"
|
||||
addMemo: "メモを追加"
|
||||
editMemo: "メモを編集"
|
||||
reactionsList: "リアクション一覧"
|
||||
renotesList: "Renote一覧"
|
||||
notificationDisplay: "通知の表示"
|
||||
leftTop: "左上"
|
||||
rightTop: "右上"
|
||||
leftBottom: "左下"
|
||||
rightBottom: "右下"
|
||||
stackAxis: "スタック方向"
|
||||
vertical: "縦"
|
||||
horizontal: "横"
|
||||
position: "位置"
|
||||
serverRules: "サーバールール"
|
||||
pleaseConfirmBelowBeforeSignup: "このサーバーに登録する前に、以下を確認してください。"
|
||||
pleaseAgreeAllToContinue: "続けるには、全ての「同意する」にチェックが入っている必要があります。"
|
||||
continue: "続ける"
|
||||
preservedUsernames: "予約ユーザー名"
|
||||
preservedUsernamesDescription: "予約するユーザー名を改行で列挙します。ここで指定されたユーザー名はアカウント作成時に使えなくなりますが、管理者によるアカウント作成時はこの制限を受けません。また、既に存在するアカウントも影響を受けません。"
|
||||
createNoteFromTheFile: "このファイルからノートを作成"
|
||||
archive: "アーカイブ"
|
||||
channelArchiveConfirmTitle: "{name}をアーカイブしますか?"
|
||||
channelArchiveConfirmDescription: "アーカイブすると、チャンネル一覧や検索結果に表示されなくなり、新たな書き込みもできなくなります。"
|
||||
thisChannelArchived: "このチャンネルはアーカイブされています。"
|
||||
displayOfNote: "ノートの表示"
|
||||
initialAccountSetting: "初期設定"
|
||||
youFollowing: "フォロー中"
|
||||
preventAiLearning: "生成AIによる学習を拒否"
|
||||
preventAiLearningDescription: "外部の文章生成AIや画像生成AIに対して、投稿したノートや画像などのコンテンツを学習の対象にしないように要求します。これはnoaiフラグをHTMLレスポンスに含めることによって実現されますが、この要求に従うかはそのAI次第であるため、学習を完全に防止するものではありません。"
|
||||
options: "オプション"
|
||||
specifyUser: "ユーザー指定"
|
||||
|
||||
_initialAccountSetting:
|
||||
accountCreated: "アカウントの作成が完了しました!"
|
||||
letsStartAccountSetup: "アカウントの初期設定を行いましょう。"
|
||||
letsFillYourProfile: "まずはあなたのプロフィールを設定しましょう。"
|
||||
profileSetting: "プロフィール設定"
|
||||
privacySetting: "プライバシー設定"
|
||||
theseSettingsCanEditLater: "これらの設定は後から変更できます。"
|
||||
youCanEditMoreSettingsInSettingsPageLater: "この他にも様々な設定を「設定」ページから行えます。ぜひ後で確認してみてください。"
|
||||
followUsers: "タイムラインを構築するため、気になるユーザーをフォローしてみましょう。"
|
||||
pushNotificationDescription: "プッシュ通知を有効にすると{name}の通知をお使いのデバイスで受け取ることができます。"
|
||||
initialAccountSettingCompleted: "初期設定が完了しました!"
|
||||
haveFun: "{name}をお楽しみください!"
|
||||
ifYouNeedLearnMore: "{name}(CherryPick)の使い方などを詳しく知るには{link}をご覧ください。"
|
||||
skipAreYouSure: "初期設定をスキップしますか?"
|
||||
|
||||
_serverRules:
|
||||
description: "新規登録前に表示する、サーバーの簡潔なルールを設定します。内容は利用規約の要約とすることを推奨します。"
|
||||
|
||||
_accountMigration:
|
||||
moveFrom: "別のアカウントからこのアカウントに移行"
|
||||
moveFromSub: "別のアカウントへエイリアスを作成"
|
||||
moveFromLabel: "移行元のアカウント #{n}"
|
||||
moveFromDescription: "別のアカウントからこのアカウントに移行したい場合、ここでエイリアスを作成しておく必要があります。\n移行元のアカウントをこのように入力してください: @username@server.example.com\n削除するには、入力欄を空にして保存します(非推奨)。"
|
||||
moveTo: "このアカウントを新しいアカウントへ移行"
|
||||
moveToLabel: "移行先のアカウント:"
|
||||
moveCannotBeUndone: "アカウントを移行すると、取り消すことはできません。"
|
||||
moveAccountDescription: "新しいアカウントへ移行します。\n ・フォロワーが新しいアカウントを自動でフォローします\n ・このアカウントからのフォローは全て解除されます\n ・このアカウントではノートの作成などができなくなります\n\nフォロワーの移行は自動ですが、フォローの移行は手動で行う必要があります。移行前にこのアカウントでフォローエクスポートし、移行後すぐに移行先アカウントでインポートを行なってください。\nリスト・ミュート・ブロックについても同様ですので、手動で移行する必要があります。\n\n(この説明はこのサーバー(CherryPick v13.12.0以降)の仕様です。Mastodonなどの他のActivityPubソフトウェアでは挙動が異なる場合があります。)"
|
||||
moveAccountHowTo: "アカウントの移行には、まずは移行先のアカウントでこのアカウントに対しエイリアスを作成します。\nエイリアス作成後、移行先のアカウントを次のように入力してください: @username@server.example.com"
|
||||
startMigration: "移行する"
|
||||
migrationConfirm: "本当にこのアカウントを {account} に移行しますか?一度移行すると取り消せず、二度とこのアカウントを元の状態で使用できなくなります。"
|
||||
movedAndCannotBeUndone: "\nアカウントは移行されています。\n移行を取り消すことはできません。"
|
||||
postMigrationNote: "このアカウントからのフォロー解除は移行操作から24時間後に実行されます。\nこのアカウントのフォロー・フォロワー数は0になっています。フォロワーの解除はされないため、あなたのフォロワーはこのアカウントのフォロワー向け投稿を引き続き閲覧できます。"
|
||||
movedTo: "移行先のアカウント:"
|
||||
|
||||
_achievements:
|
||||
earnedAt: "獲得日時"
|
||||
@ -1143,6 +1278,9 @@ _achievements:
|
||||
_client30min:
|
||||
title: "ひとやすみ"
|
||||
description: "クライアントを起動してから30分以上経過した"
|
||||
_client60min:
|
||||
title: "CherryPickの見すぎ"
|
||||
description: "クライアントを起動してから60分以上経過した"
|
||||
_noteDeletedWithin1min:
|
||||
title: "いまのなし"
|
||||
description: "投稿してから1分以内にその投稿を削除した"
|
||||
@ -1162,7 +1300,7 @@ _achievements:
|
||||
description: "ホームタイムラインの流速が20npmを越す"
|
||||
_viewInstanceChart:
|
||||
title: "アナリスト"
|
||||
description: "インスタンスのチャートを表示した"
|
||||
description: "サーバーのチャートを表示した"
|
||||
_outputHelloWorldOnScratchpad:
|
||||
title: "Hello, world!"
|
||||
description: "スクラッチパッドで hello world を出力した"
|
||||
@ -1199,7 +1337,7 @@ _achievements:
|
||||
_loggedInOnNewYearsDay:
|
||||
title: "あけましておめでとうございます"
|
||||
description: "元日にログインした"
|
||||
flavor: "今年も弊インスタンスをよろしくお願いします"
|
||||
flavor: "今年も弊サーバーをよろしくお願いします"
|
||||
_cookieClicked:
|
||||
title: "クッキーをクリックするゲーム"
|
||||
description: "クッキーをクリックした"
|
||||
@ -1215,7 +1353,7 @@ _role:
|
||||
name: "ロール名"
|
||||
description: "ロールの説明"
|
||||
permission: "ロールの権限"
|
||||
descriptionOfPermission: "<b>モデレーター</b>は基本的なモデレーションに関する操作を行えます。\n<b>管理者</b>はインスタンスの全ての設定を変更できます。"
|
||||
descriptionOfPermission: "<b>モデレーター</b>は基本的なモデレーションに関する操作を行えます。\n<b>管理者</b>はサーバーの全ての設定を変更できます。"
|
||||
assignTarget: "アサイン"
|
||||
descriptionOfAssignTarget: "<b>マニュアル</b>は誰がこのロールに含まれるかを手動で管理します。\n<b>コンディショナル</b>は条件を設定し、それに合致するユーザーが自動で含まれるようになります。"
|
||||
manual: "マニュアル"
|
||||
@ -1232,6 +1370,10 @@ _role:
|
||||
iconUrl: "アイコン画像のURL"
|
||||
asBadge: "バッジとして表示"
|
||||
descriptionOfAsBadge: "オンにすると、ユーザー名の横にロールのアイコンが表示されます。"
|
||||
isExplorable: "ロールタイムラインを公開"
|
||||
descriptionOfIsExplorable: "オンにすると、ロールのタイムラインを公開します。ロールの公開がオフの場合、タイムラインの公開はされません。"
|
||||
displayOrder: "表示順"
|
||||
descriptionOfDisplayOrder: "数値が大きいほどUI上で先頭に表示されます。"
|
||||
canEditMembersByModerator: "モデレーターのメンバー編集を許可"
|
||||
descriptionOfCanEditMembersByModerator: "オンにすると、管理者に加えてモデレーターもこのロールへユーザーをアサイン/アサイン解除できるようになります。オフにすると管理者のみが行えます。"
|
||||
priority: "優先度"
|
||||
@ -1243,9 +1385,10 @@ _role:
|
||||
gtlAvailable: "グローバルタイムラインの閲覧"
|
||||
ltlAvailable: "ローカルタイムラインの閲覧"
|
||||
canPublicNote: "パブリック投稿の許可"
|
||||
canInvite: "インスタンス招待コードの発行"
|
||||
canInvite: "サーバー招待コードの発行"
|
||||
canManageCustomEmojis: "カスタム絵文字の管理"
|
||||
driveCapacity: "ドライブ容量"
|
||||
alwaysMarkNsfw: "ファイルにNSFWを常に付与"
|
||||
pinMax: "ノートのピン留めの最大数"
|
||||
antennaMax: "アンテナの作成可能数"
|
||||
wordMuteMax: "ワードミュートの最大文字数"
|
||||
@ -1257,6 +1400,7 @@ _role:
|
||||
rateLimitFactor: "レートリミット"
|
||||
descriptionOfRateLimitFactor: "小さいほど制限が緩和され、大きいほど制限が強化されます。"
|
||||
canHideAds: "広告の非表示"
|
||||
canSearchNotes: "ノート検索の利用可否"
|
||||
_condition:
|
||||
isLocal: "ローカルユーザー"
|
||||
isRemote: "リモートユーザー"
|
||||
@ -1266,6 +1410,8 @@ _role:
|
||||
followersMoreThanOrEq: "フォロワー数が~以上"
|
||||
followingLessThanOrEq: "フォロー数が~以下"
|
||||
followingMoreThanOrEq: "フォロー数が~以上"
|
||||
notesLessThanOrEq: "投稿数が~以下"
|
||||
notesMoreThanOrEq: "投稿数が~以上"
|
||||
and: "~かつ~"
|
||||
or: "~または~"
|
||||
not: "~ではない"
|
||||
@ -1317,7 +1463,7 @@ _ad:
|
||||
_forgotPassword:
|
||||
enterEmail: "アカウントに登録したメールアドレスを入力してください。そのアドレス宛てに、パスワードリセット用のリンクが送信されます。"
|
||||
ifNoEmail: "メールアドレスを登録していない場合は、管理者までお問い合わせください。"
|
||||
contactAdmin: "このインスタンスではメールがサポートされていないため、パスワードリセットを行う場合は管理者までお問い合わせください。"
|
||||
contactAdmin: "このサーバーではメールがサポートされていないため、パスワードリセットを行う場合は管理者までお問い合わせください。"
|
||||
|
||||
_gallery:
|
||||
my: "自分の投稿"
|
||||
@ -1474,6 +1620,8 @@ _channel:
|
||||
following: "フォロー中"
|
||||
usersCount: "{n}人が参加中"
|
||||
notesCount: "{n}投稿があります"
|
||||
nameAndDescription: "名前と説明"
|
||||
nameOnly: "名前のみ"
|
||||
|
||||
_menuDisplay:
|
||||
sideFull: "横"
|
||||
@ -1492,10 +1640,10 @@ _wordMute:
|
||||
mutedNotes: "ミュートされたノート"
|
||||
|
||||
_instanceMute:
|
||||
instanceMuteDescription: "ミュートしたインスタンスのユーザーへの返信を含めて、設定したインスタンスの全てのノートとRenoteをミュートします。"
|
||||
instanceMuteDescription: "ミュートしたサーバーのユーザーへの返信を含めて、設定したサーバーの全てのノートとRenoteをミュートします。"
|
||||
instanceMuteDescription2: "改行で区切って設定します"
|
||||
title: "設定したインスタンスのノートを隠します。"
|
||||
heading: "ミュートするインスタンス"
|
||||
title: "設定したサーバーのノートを隠します。"
|
||||
heading: "ミュートするサーバー"
|
||||
|
||||
_theme:
|
||||
explore: "テーマを探す"
|
||||
@ -1592,6 +1740,7 @@ _ago:
|
||||
weeksAgo: "{n}週間前"
|
||||
monthsAgo: "{n}ヶ月前"
|
||||
yearsAgo: "{n}年前"
|
||||
invalid: "ありません"
|
||||
|
||||
_time:
|
||||
second: "秒"
|
||||
@ -1599,43 +1748,42 @@ _time:
|
||||
hour: "時間"
|
||||
day: "日"
|
||||
|
||||
_tutorial:
|
||||
_timelineTutorial:
|
||||
title: "CherryPickの使い方"
|
||||
step1_1: "ようこそ。"
|
||||
step1_2: "この画面は「タイムライン」と呼ばれ、あなたや、あなたが「フォロー」する人の「ノート」が時系列で表示されます。"
|
||||
step1_3: "あなたはまだ何もノートを投稿しておらず、誰もフォローしていないので、タイムラインには何も表示されていないはずです。"
|
||||
step2_1: "ノートを作成したり誰かをフォローしたりする前に、まずあなたのプロフィールを完成させましょう。"
|
||||
step2_2: "あなたがどんな人かわかると、多くの人にノートを見てもらえたり、フォローしてもらいやすくなります。"
|
||||
step3_1: "プロフィール設定はうまくできましたか?"
|
||||
step3_2: "では試しに、何かノートを投稿してみてください。画面上にある鉛筆マークのボタンを押すとフォームが開きます。"
|
||||
step3_3: "内容を書いたら、フォーム右上のボタンを押すと投稿できます。"
|
||||
step3_4: "内容が思いつかない?「CherryPick始めました」というのはいかがでしょう。"
|
||||
step4_1: "投稿できましたか?"
|
||||
step4_2: "あなたのノートがタイムラインに表示されていれば成功です。"
|
||||
step5_1: "次は、他の人をフォローしてタイムラインを賑やかにしたいところです。"
|
||||
step5_2: "{featured}で人気のノートが見れるので、その中から気になった人を選んでフォローしたり、{explore}で人気のユーザーを探すこともできます。"
|
||||
step5_3: "ユーザーをフォローするには、ユーザーのアイコンをクリックしてユーザーページを表示し、「フォロー」ボタンを押します。"
|
||||
step5_4: "ユーザーによっては、フォローが承認されるまで時間がかかる場合があります。"
|
||||
step6_1: "タイムラインに他のユーザーのノートが表示されていれば成功です。"
|
||||
step6_2: "他の人のノートには、「リアクション」を付けることができ、簡単にあなたの反応を伝えられます。"
|
||||
step6_3: "リアクションを付けるには、ノートの「+」マークをクリックして、好きなリアクションを選択します。"
|
||||
step7_1: "これで、CherryPickの基本的な使い方の説明は終わりました。お疲れ様でした。"
|
||||
step7_2: "もっとCherryPickについて知りたいときは、{help}を見てみてください。"
|
||||
step7_3: "では、CherryPickをお楽しみください🚀"
|
||||
step8_1: "最後に、プッシュ通知を有効化してみませんか?"
|
||||
step8_2: "プッシュ通知を受け取ることで、CherryPickを開いていない時にもリアクションやフォロー、メンションなどに気づけます。"
|
||||
step8_3: "通知の設定は後から変更できます。"
|
||||
step1_1: "この画面は「タイムライン」です。{name}に投稿された「ノート」が時系列で表示されます。"
|
||||
step1_2: "タイムラインにはいくつか種類があり、例えば「ホームタイムライン」にはあなたがフォローしている人のノートが流れ、「ローカルタイムライン」には{name}全体のノートが流れます。"
|
||||
step2_1: "試しに、何かノートを投稿してみましょう。画面上にある鉛筆マークのボタンを押すとフォームが開きます。"
|
||||
step2_2: "初めてのノートの内容は、あなたの自己紹介や「{name}始めました」などがおすすめです。"
|
||||
step3_1: "投稿できましたか?"
|
||||
step3_2: "あなたのノートがタイムラインに表示されていれば成功です。"
|
||||
step4_1: "ノートには、「リアクション」を付けることができます。"
|
||||
step4_2: "リアクションを付けるには、ノートの「+」マークをクリックして、好きな絵文字を選択します。"
|
||||
|
||||
_2fa:
|
||||
alreadyRegistered: "既に設定は完了しています。"
|
||||
registerDevice: "デバイスを登録"
|
||||
registerKey: "キーを登録"
|
||||
registerTOTP: "認証アプリの設定を開始"
|
||||
passwordToTOTP: "パスワードを入力してください"
|
||||
step1: "まず、{a}や{b}などの認証アプリをお使いのデバイスにインストールします。"
|
||||
step2: "次に、表示されているQRコードをアプリでスキャンします。"
|
||||
step2Url: "デスクトップアプリでは次のURLを入力します:"
|
||||
step3: "アプリに表示されているトークンを入力して完了です。"
|
||||
step4: "これからログインするときも、同じようにトークンを入力します。"
|
||||
securityKeyInfo: "FIDO2をサポートするハードウェアセキュリティキーもしくは端末の指紋認証やPINを使用してログインするように設定できます。"
|
||||
step2Click: "QRコードをクリックすると、お使いの端末にインストールされている認証アプリやキーリングに登録できます。"
|
||||
step2Url: "デスクトップアプリでは次のURIを入力します:"
|
||||
step3Title: "確認コードを入力"
|
||||
step3: "アプリに表示されている確認コード(トークン)を入力して完了です。"
|
||||
step4: "これからログインするときも、同じように確認コードを入力します。"
|
||||
securityKeyNotSupported: "お使いのブラウザはセキュリティキーに対応していません。"
|
||||
registerTOTPBeforeKey: "セキュリティキー・パスキーを登録するには、まず認証アプリの設定を行なってください。"
|
||||
securityKeyInfo: "FIDO2をサポートするハードウェアセキュリティキー、端末の生体認証やPINロック、パスキーといった、WebAuthn由来の鍵を登録します。"
|
||||
chromePasskeyNotSupported: "Chromeのパスキーは現在サポートしていません。"
|
||||
registerSecurityKey: "セキュリティキー・パスキーを登録する"
|
||||
securityKeyName: "キーの名前を入力"
|
||||
tapSecurityKey: "ブラウザの指示に従い、セキュリティキーやパスキーを登録してください"
|
||||
removeKey: "セキュリティキーを削除"
|
||||
removeKeyConfirm: "{name}を削除しますか?"
|
||||
whyTOTPOnlyRenew: "セキュリティキーが登録されている場合、認証アプリの設定は解除できません。"
|
||||
renewTOTP: "認証アプリを再設定"
|
||||
renewTOTPConfirm: "今までの認証アプリの確認コードは使用できなくなります"
|
||||
renewTOTPOk: "再設定する"
|
||||
renewTOTPCancel: "やめておく"
|
||||
|
||||
_permissions:
|
||||
"read:account": "アカウントの情報を見る"
|
||||
@ -1700,7 +1848,7 @@ _weekday:
|
||||
|
||||
_widgets:
|
||||
profile: "プロフィール"
|
||||
instanceInfo: "インスタンス情報"
|
||||
instanceInfo: "サーバー情報"
|
||||
memo: "付箋"
|
||||
notifications: "通知"
|
||||
timeline: "タイムライン"
|
||||
@ -1714,7 +1862,7 @@ _widgets:
|
||||
digitalClock: "デジタル時計"
|
||||
unixClock: "UNIX時計"
|
||||
federation: "連合"
|
||||
instanceCloud: "インスタンスクラウド"
|
||||
instanceCloud: "サーバークラウド"
|
||||
postForm: "投稿フォーム"
|
||||
slideshow: "スライドショー"
|
||||
button: "ボタン"
|
||||
@ -1767,8 +1915,8 @@ _visibility:
|
||||
followersDescription: "自分のフォロワーのみに公開"
|
||||
specified: "ダイレクト"
|
||||
specifiedDescription: "指定したユーザーのみに公開"
|
||||
localOnly: "ローカルのみ"
|
||||
localOnlyDescription: "リモートユーザーには非公開"
|
||||
disableFederation: "連合なし"
|
||||
disableFederationDescription: "他サーバーへの配信を行いません"
|
||||
|
||||
_postForm:
|
||||
replyPlaceholder: "このノートに返信..."
|
||||
@ -1792,7 +1940,7 @@ _profile:
|
||||
metadataDescription: "プロフィールに表として追加情報を表示することができます。"
|
||||
metadataLabel: "ラベル"
|
||||
metadataContent: "内容"
|
||||
changeAvatar: "アバター画像を変更"
|
||||
changeAvatar: "アイコン画像を変更"
|
||||
changeBanner: "バナー画像を変更"
|
||||
|
||||
_exportOrImport:
|
||||
@ -1940,6 +2088,7 @@ _notification:
|
||||
receiveFollowRequest: "フォロー申請を受け取った"
|
||||
followRequestAccepted: "フォローが受理された"
|
||||
groupInvited: "グループに招待された"
|
||||
achievementEarned: "実績の獲得"
|
||||
app: "連携アプリからの通知"
|
||||
|
||||
_actions:
|
||||
@ -1975,3 +2124,31 @@ _deck:
|
||||
channel: "チャンネル"
|
||||
mentions: "あなた宛て"
|
||||
direct: "ダイレクト"
|
||||
roleTimeline: "ロールタイムライン"
|
||||
|
||||
_dialog:
|
||||
charactersExceeded: "最大文字数を超えています! 現在 {current} / 制限 {max}"
|
||||
charactersBelow: "最小文字数を下回っています! 現在 {current} / 制限 {min}"
|
||||
|
||||
_disabledTimeline:
|
||||
title: "無効化されたタイムライン"
|
||||
description: "現在のロールでは、このタイムラインを使用することはできません。"
|
||||
|
||||
_drivecleaner:
|
||||
orderBySizeDesc: "サイズが大きい順"
|
||||
orderByCreatedAtAsc: "追加日が古い順"
|
||||
|
||||
_webhookSettings:
|
||||
createWebhook: "Webhookを作成"
|
||||
name: "名前"
|
||||
secret: "シークレット"
|
||||
events: "Webhookを実行するタイミング"
|
||||
active: "有効"
|
||||
_events:
|
||||
follow: "フォローしたとき"
|
||||
followed: "フォローされたとき"
|
||||
note: "ノートを投稿したとき"
|
||||
reply: "返信されたとき"
|
||||
renote: "Renoteされたとき"
|
||||
reaction: "リアクションがあったとき"
|
||||
mention: "メンションされたとき"
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -39,10 +39,8 @@ remove: "Kkes"
|
||||
connectService: "Qqen"
|
||||
userList: "Tibdarin"
|
||||
securityKey: "Tasarutt n tɣellist"
|
||||
securityKeyName: "Isem n tsarutt"
|
||||
signinRequired: "Ttxil jerred"
|
||||
signinWith: "Tuqqna s {x}"
|
||||
tapSecurityKey: "Sekcem tasarutt-ik·im n tɣellist"
|
||||
uiLanguage: "Tutlayt n wegrudem"
|
||||
accountSettings: "Iɣewwaṛen n umiḍan"
|
||||
plugins: "Izegrar"
|
||||
|
@ -11,7 +11,7 @@ cherrypickUpdatedCacheClear: "테마 및 색상, 로케일 등의 변경 사항
|
||||
cherrypickUpdatedCacheClearLater: "나중에 캐시를 지우려면 <b>설정</b> - <b>캐시 지우기</b>에서 할 수 있어요!"
|
||||
headlineMisskey: "노트로 연결되는 네트워크"
|
||||
introMisskey: "어서오세요! CherryPick은 오픈 소스 분산형 마이크로 블로그 서비스에요.\n\"노트\" 를 작성해서, 지금 일어나고 있는 일을 공유하거나, 당신만의 이야기를 모두에게 발신할 수 있어요📡\n\"리액션\" 기능으로, 친구의 노트에 총알같이 반응을 추가할 수도 있어요👍\n새로운 세계를 탐험해 보세요🚀"
|
||||
poweredByMisskeyDescription: "{name}은(는) 오픈소스 플랫폼 <b>CherryPick</b>을 사용한 서비스(CherryPick 인스턴스라고 불려요) 중 하나예요."
|
||||
poweredByMisskeyDescription: "{name}은(는) 오픈소스 플랫폼 <b>CherryPick</b>을 사용한 서버 중 하나예요."
|
||||
monthAndDay: "{month}월 {day}일"
|
||||
search: "검색"
|
||||
notifications: "알림"
|
||||
@ -29,6 +29,7 @@ noNotes: "노트가 없어요"
|
||||
noNotifications: "표시할 알림이 없어요"
|
||||
instance: "인스턴스"
|
||||
settings: "설정"
|
||||
notificationSettings: "알림 설정"
|
||||
basicSettings: "기본 설정"
|
||||
otherSettings: "기타 설정"
|
||||
openInWindow: "창으로 열기"
|
||||
@ -116,6 +117,8 @@ renoted: "리노트 했어요!"
|
||||
cantRenote: "이 게시물은 리노트 할 수 없어요."
|
||||
cantReRenote: "리노트된 노트는 리노트 할 수 없어요."
|
||||
quote: "인용"
|
||||
inChannelRenote: "채널 내 리노트"
|
||||
inChannelQuote: "채널 내 인용"
|
||||
pinnedNote: "고정해놓은 노트"
|
||||
pinned: "프로필에 고정"
|
||||
you: "나"
|
||||
@ -133,6 +136,8 @@ unmarkAsSensitive: "열람주의 해제"
|
||||
enterFileName: "파일명 입력"
|
||||
mute: "뮤트"
|
||||
unmute: "뮤트 해제"
|
||||
renoteMute: "리노트 뮤트"
|
||||
renoteUnmute: "리노트 뮤트 해제"
|
||||
block: "차단"
|
||||
unblock: "차단 해제"
|
||||
suspend: "정지"
|
||||
@ -164,6 +169,7 @@ flagShowTimelineReplies: "타임라인에 노트의 답글을 표시하기"
|
||||
flagShowTimelineRepliesDescription: "이 설정을 활성화하면 타임라인에 다른 유저 간의 답글을 표시해요."
|
||||
autoAcceptFollowed: "팔로우 중인 유저로부터의 팔로우 요청을 자동 수락"
|
||||
addAccount: "계정 추가"
|
||||
reloadAccountsList: "계정 리스트 정보 갱신"
|
||||
loginFailed: "로그인에 실패했어요.."
|
||||
showOnRemote: "리모트에서 보기"
|
||||
general: "일반"
|
||||
@ -174,13 +180,13 @@ searchWith: "검색: {q}"
|
||||
youHaveNoLists: "리스트가 없어요"
|
||||
followConfirm: "{name}님을 팔로우 하시겠어요?"
|
||||
proxyAccount: "프록시 계정"
|
||||
proxyAccountDescription: "프록시 계정은 유저의 리모트 팔로우를 대행하는 계정이에요. 예를 들면, 리모트 유저를 리스트에 넣었을 때, 리스트에 들어간 유저를 아무도 팔로우한 적이 없다면 액티비티가 인스턴스로 배달되지 않기 때문에 대신 프록시 계정이 해당 유저를 팔로우해서 문제를 해결해요."
|
||||
proxyAccountDescription: "프록시 계정은 유저의 리모트 팔로우를 대행하는 계정이에요. 예를 들면, 리모트 유저를 리스트에 넣었을 때, 리스트에 들어간 유저를 아무도 팔로우한 적이 없다면 액티비티가 서버로 배달되지 않기 때문에 대신 프록시 계정이 해당 유저를 팔로우해서 문제를 해결해요."
|
||||
host: "호스트"
|
||||
selectUser: "유저 선택"
|
||||
recipient: "수신인"
|
||||
annotation: "내용에 대한 주석"
|
||||
federation: "연합"
|
||||
instances: "인스턴스"
|
||||
instances: "서버"
|
||||
registeredAt: "등록 날짜"
|
||||
latestRequestReceivedAt: "마지막으로 요청을 받은 시간"
|
||||
latestStatus: "마지막 상태"
|
||||
@ -189,7 +195,7 @@ charts: "차트"
|
||||
perHour: "1시간마다"
|
||||
perDay: "1일마다"
|
||||
stopActivityDelivery: "액티비티 보내지 않기"
|
||||
blockThisInstance: "이 인스턴스를 차단"
|
||||
blockThisInstance: "이 서버를 차단"
|
||||
operations: "작업"
|
||||
software: "소프트웨어"
|
||||
version: "버전"
|
||||
@ -200,15 +206,15 @@ jobQueue: "작업 대기열"
|
||||
cpuAndMemory: "CPU 및 메모리"
|
||||
network: "네트워크"
|
||||
disk: "디스크"
|
||||
instanceInfo: "인스턴스 정보"
|
||||
instanceInfo: "서버 정보"
|
||||
statistics: "통계"
|
||||
clearQueue: "대기열 비우기"
|
||||
clearQueueConfirmTitle: "대기열을 비울까요?"
|
||||
clearQueueConfirmText: "아직 대기열에 남아 있는 노트는 연합우주에 전송되지 않게 돼요. 보통은 이 작업이 필요하지 않아요."
|
||||
clearCachedFiles: "캐시 비우기"
|
||||
clearCachedFilesConfirm: "캐시된 리모트 파일을 모두 삭제할까요?"
|
||||
blockedInstances: "차단된 인스턴스"
|
||||
blockedInstancesDescription: "차단하려는 인스턴스의 호스트 이름을 줄바꿈으로 구분하여 설정해요. 차단된 인스턴스는 이 인스턴스와 통신할 수 없게 돼요."
|
||||
blockedInstances: "차단된 서버"
|
||||
blockedInstancesDescription: "차단하려는 서버의 호스트 이름을 줄바꿈으로 구분하여 설정해요. 차단된 인스턴스는 이 인스턴스와 통신할 수 없게 돼요."
|
||||
muteAndBlock: "뮤트 및 차단"
|
||||
mutedUsers: "뮤트한 유저"
|
||||
blockedUsers: "차단한 유저"
|
||||
@ -231,9 +237,9 @@ all: "전체"
|
||||
subscribing: "구독 중"
|
||||
publishing: "배포 중"
|
||||
notResponding: "응답 없음"
|
||||
instanceFollowing: "인스턴스의 팔로잉"
|
||||
instanceFollowers: "인스턴스의 팔로워"
|
||||
instanceUsers: "인스턴스의 유저"
|
||||
instanceFollowing: "서버의 팔로잉"
|
||||
instanceFollowers: "서버의 팔로워"
|
||||
instanceUsers: "서버의 유저"
|
||||
changePassword: "비밀번호 변경"
|
||||
security: "보안"
|
||||
retypedNotMatch: "비밀번호가 일치하지 않아요."
|
||||
@ -270,14 +276,16 @@ noMoreHistory: "타임머신이 더 이상은 돌아갈 수 없대요!"
|
||||
startMessaging: "대화 시작하기"
|
||||
nUsersRead: "{n}명이 읽음"
|
||||
agreeTo: "{0}에 동의"
|
||||
agree: "동의합니다"
|
||||
agreeBelow: "아래 내용에 동의합니다"
|
||||
basicNotesBeforeCreateAccount: "기본적인 주의사항"
|
||||
tos: "이용 약관"
|
||||
termsOfService: "이용 약관"
|
||||
start: "시작하기"
|
||||
home: "홈"
|
||||
remoteUserCaution: "리모트 유저에요! 인스턴스와 정보가 일치하지 않을 수 있어요."
|
||||
activity: "활동"
|
||||
images: "이미지"
|
||||
image: "이미지"
|
||||
birthday: "생일"
|
||||
yearsOld: "{age}세"
|
||||
registeredDate: "등록일"
|
||||
@ -325,8 +333,8 @@ unwatch: "지켜보기 해제"
|
||||
accept: "허가"
|
||||
reject: "거부"
|
||||
normal: "정상"
|
||||
instanceName: "인스턴스 이름"
|
||||
instanceDescription: "인스턴스 소개"
|
||||
instanceName: "서버 이름"
|
||||
instanceDescription: "서버 소개"
|
||||
maintainerName: "관리자 이름"
|
||||
maintainerEmail: "관리자 이메일"
|
||||
tosUrl: "이용약관 URL"
|
||||
@ -356,7 +364,7 @@ basicInfo: "기본 정보"
|
||||
pinnedUsers: "고정된 유저"
|
||||
pinnedUsersDescription: "\"발견하기\" 페이지 등에 고정하고 싶은 유저를 한 줄에 한 명씩 적어주세요."
|
||||
pinnedPages: "고정한 페이지"
|
||||
pinnedPagesDescription: "인스턴스의 대문에 고정하고 싶은 페이지의 경로를 한 줄에 하나씩 적어주세요."
|
||||
pinnedPagesDescription: "서버의 대문에 고정하고 싶은 페이지의 경로를 한 줄에 하나씩 적어주세요."
|
||||
pinnedClipId: "고정할 클립의 ID"
|
||||
pinnedNotes: "고정해놓은 노트"
|
||||
hcaptcha: "hCaptcha"
|
||||
@ -404,16 +412,19 @@ about: "정보"
|
||||
aboutMisskey: "CherryPick에 대하여"
|
||||
administrator: "관리자"
|
||||
token: "토큰"
|
||||
twoStepAuthentication: "2단계 인증"
|
||||
2fa: "2단계 인증"
|
||||
totp: "인증 앱"
|
||||
totpDescription: "인증 앱을 사용하여 일회성 비밀번호 입력"
|
||||
moderator: "모더레이터"
|
||||
moderation: "모더레이션"
|
||||
nUsersMentioned: "{n}명이 언급함"
|
||||
securityKeyAndPasskey: "보안 키 또는 패스 키"
|
||||
securityKey: "보안 키"
|
||||
securityKeyName: "키 이름"
|
||||
registerSecurityKey: "보안 키 등록"
|
||||
lastUsed: "마지막 사용"
|
||||
lastUsedAt: "마지막 사용: {t}"
|
||||
unregister: "등록 해제"
|
||||
passwordLessLogin: "비밀번호 없이 로그인"
|
||||
passwordLessLoginDescription: "비밀번호를 사용하지 않고 보안 키 또는 패스 키 등으로만 로그인합니다."
|
||||
resetPassword: "비밀번호 재설정"
|
||||
newPasswordIs: "새로운 비밀번호는 \"{password}\" 에요!"
|
||||
reduceUiAnimation: "UI 애니메이션 줄이기"
|
||||
@ -467,7 +478,6 @@ passwordMatched: "똑같아요!"
|
||||
passwordNotMatched: "어라? 비밀번호가 다른 것 같아요"
|
||||
signinWith: "{x}로 로그인"
|
||||
signinFailed: "로그인할 수 없었어요. 사용자명과 비밀번호를 다시 확인해 주세요."
|
||||
tapSecurityKey: "보안 키를 터치"
|
||||
or: "혹은"
|
||||
language: "언어"
|
||||
uiLanguage: "UI 표시 언어"
|
||||
@ -478,6 +488,7 @@ native: "네이티브"
|
||||
disableDrawer: "드로어 메뉴를 사용하지 않기"
|
||||
youHaveNoGroups: "그룹이 없어요"
|
||||
joinOrCreateGroup: "다른 그룹의 초대를 받거나, 직접 새 그룹을 만들 수 있어요!"
|
||||
showNoteActionsOnlyHover: "노트 액션 버튼을 마우스를 올렸을 때에만 표시"
|
||||
noHistory: "기록이 없어요"
|
||||
signinHistory: "로그인 기록"
|
||||
enableAdvancedMfm: "고급 MFM을 활성화"
|
||||
@ -490,6 +501,8 @@ createAccount: "계정 만들기"
|
||||
existingAccount: "기존 계정"
|
||||
regenerate: "재생성"
|
||||
fontSize: "글자 크기"
|
||||
mediaListWithOneImageAppearance: "이미지가 1개 뿐인 미디어 목록의 높이"
|
||||
limitTo: "{x}로 제한"
|
||||
noFollowRequests: "아직은 팔로우 요청이 없어요"
|
||||
openImageInNewTab: "새 탭에서 이미지 열기"
|
||||
dashboard: "대시보드"
|
||||
@ -523,9 +536,11 @@ objectStorageUseSSLDesc: "API 호출시 HTTPS 를 사용하지 않는 경우 OFF
|
||||
objectStorageUseProxy: "연결에 프록시 사용"
|
||||
objectStorageUseProxyDesc: "오브젝트 스토리지 API 호출시 프록시를 사용하지 않는 경우 OFF로 설정해 주세요"
|
||||
objectStorageSetPublicRead: "업로드할 때 'public-read'를 설정하기"
|
||||
s3ForcePathStyleDesc: "s3ForcePathStyle을 활성화하면, 버킷 이름을 URL의 호스트명이 아닌 경로의 일부로써 취급해요. 셀프 호스트 Minio와 같은 서비스를 사용할 경우 활성화해야 할 수 있어요."
|
||||
serverLogs: "서버 로그"
|
||||
deleteAll: "모두 삭제"
|
||||
showFixedPostForm: "타임라인 상단에 글 작성란 표시"
|
||||
showFixedPostFormInChannel: "채널 타임라인 상단에 글 작성란 표시"
|
||||
newNoteRecived: "새 노트가 있어요!"
|
||||
newNoteRecivedCount: "{n}개의 새 노트가 있어요!"
|
||||
sounds: "소리"
|
||||
@ -559,14 +574,19 @@ updateRemoteUser: "리모트 유저 정보 갱신"
|
||||
deleteAllFiles: "모든 파일 삭제"
|
||||
deleteAllFilesConfirm: "모든 파일을 삭제할까요?"
|
||||
removeAllFollowing: "모든 팔로잉 해제"
|
||||
removeAllFollowingDescription: "{host}(으)로부터 모든 팔로잉을 해제할 거예요. 해당 인스턴스가 더 이상 존재하지 않게 된 경우에만 실행해 주세요."
|
||||
removeAllFollowingDescription: "{host}(으)로부터 모든 팔로잉을 해제합니다. 해당 서버가 더 이상 존재하지 않게 된 경우 등에 실행해 주세요."
|
||||
userSuspended: "이 계정은 정지된 상태에요."
|
||||
userSilenced: "이 계정은 사일런스된 상태에요."
|
||||
yourAccountSuspendedTitle: "계정이 정지되어 있어요"
|
||||
yourAccountSuspendedDescription: "이 계정은 서버의 이용 약관을 위반했거나, 기타 다른 이유로 인해 정지되었어요. 자세한 사항은 관리자에게 문의해 주시고, 계정을 새로 생성하지 마세요."
|
||||
tokenRevoked: "유효하지 않은 토큰이에요"
|
||||
tokenRevokedDescription: "로그인 토큰이 비활성화되었어요. 다시 로그인해 주세요."
|
||||
accountDeleted: "계정이 정지되었어요"
|
||||
accountDeletedDescription: "이 계정은 삭제되었어요."
|
||||
menu: "메뉴"
|
||||
divider: "구분선"
|
||||
addItem: "항목 추가"
|
||||
rearrange: "정렬"
|
||||
relays: "릴레이"
|
||||
addRelay: "릴레이 추가"
|
||||
inboxUrl: "Inbox 주소"
|
||||
@ -607,7 +627,6 @@ tokenRequested: "계정 접근 허용"
|
||||
pluginTokenRequestedDescription: "이 플러그인은 여기서 설정한 권한을 사용할 수 있어요."
|
||||
notificationType: "알림 유형"
|
||||
edit: "편집"
|
||||
useStarForReactionFallback: "알 수 없는 리액션 이모지 대신 ★ 사용"
|
||||
emailServer: "메일 서버"
|
||||
enableEmail: "이메일 송신 기능 활성화"
|
||||
emailConfigInfo: "가입할 때 메일 주소를 확인하거나, 비밀번호를 재설정할 때 사용해요."
|
||||
@ -625,7 +644,7 @@ testEmail: "이메일 전송 테스트"
|
||||
wordMute: "단어 뮤트"
|
||||
regexpError: "정규 표현식 오류"
|
||||
regexpErrorDescription: "{tab}단어 뮤트 {line}행의 정규 표현식에 오류가 발생했어요:"
|
||||
instanceMute: "인스턴스 뮤트"
|
||||
instanceMute: "서버 뮤트"
|
||||
userSaysSomething: "{name}님이 뭔가 말했어요!"
|
||||
makeActive: "활성화"
|
||||
display: "표시"
|
||||
@ -656,15 +675,15 @@ abuseReported: "신고를 보냈어요! 신고해 주셔서 감사합니다."
|
||||
reporter: "신고자"
|
||||
reporteeOrigin: "피신고자"
|
||||
reporterOrigin: "신고자"
|
||||
forwardReport: "리모트 인스턴스에도 신고 내용 보내기"
|
||||
forwardReportIsAnonymous: "리모트 인스턴스에서는 내 정보를 볼 수 없으며, 익명의 시스템 계정으로 표시돼요."
|
||||
forwardReport: "리모트 서버에도 신고 내용 보내기"
|
||||
forwardReportIsAnonymous: "리모트 서버에서는 내 정보를 볼 수 없으며, 익명의 시스템 계정으로 표시돼요."
|
||||
send: "전송"
|
||||
abuseMarkAsResolved: "해결됨으로 표시"
|
||||
openInNewTab: "새 탭에서 열기"
|
||||
openInSideView: "사이드뷰로 열기"
|
||||
defaultNavigationBehaviour: "기본 탐색 동작"
|
||||
editTheseSettingsMayBreakAccount: "이 설정을 변경하면 계정이 손상될 수 있으니 주의해 주세요!"
|
||||
instanceTicker: "노트의 인스턴스 정보"
|
||||
instanceTicker: "노트의 서버 정보"
|
||||
waitingFor: "{x}을(를) 기다리고 있어요"
|
||||
random: "랜덤"
|
||||
system: "시스템"
|
||||
@ -711,6 +730,8 @@ contact: "연락처"
|
||||
useSystemFont: "시스템 기본 글꼴 사용"
|
||||
clips: "클립"
|
||||
experimentalFeatures: "실험실"
|
||||
experimental: "실험실"
|
||||
thisIsExperimentalFeature: "이 기능은 실험적인 기능입니다. 사양이 변경되거나 정상적으로 동작하지 않을 가능성이 있습니다."
|
||||
developer: "개발자"
|
||||
makeExplorable: "\"발견하기\"에 내 계정 보이기"
|
||||
makeExplorableDescription: "비활성화하면 \"발견하기\"에 내 계정이 표시되지 않아요."
|
||||
@ -753,7 +774,7 @@ capacity: "용량"
|
||||
inUse: "사용 중"
|
||||
editCode: "코드 수정"
|
||||
apply: "적용"
|
||||
receiveAnnouncementFromInstance: "이 인스턴스의 알림을 이메일로 수신하고 싶어요"
|
||||
receiveAnnouncementFromInstance: "이 서버의 알림을 이메일로 수신하고 싶어요"
|
||||
emailNotification: "메일 알림"
|
||||
publish: "게시"
|
||||
inChannelSearch: "채널에서 검색"
|
||||
@ -781,7 +802,7 @@ active: "최근에 활동함"
|
||||
offline: "오프라인"
|
||||
notRecommended: "추천하지 않음"
|
||||
botProtection: "봇 방어"
|
||||
instanceBlocking: "인스턴스 차단"
|
||||
instanceBlocking: "서버 차단"
|
||||
selectAccount: "계정 선택"
|
||||
switchAccount: "계정 바꾸기"
|
||||
enabled: "활성화"
|
||||
@ -801,6 +822,7 @@ popularPosts: "인기 포스트"
|
||||
shareWithNote: "노트로 공유"
|
||||
ads: "광고"
|
||||
expiration: "기한"
|
||||
startingperiod: "시작 기간"
|
||||
memo: "메모"
|
||||
priority: "우선순위"
|
||||
high: "높음"
|
||||
@ -833,6 +855,7 @@ lastCommunication: "마지막 통신"
|
||||
resolved: "해결됨"
|
||||
unresolved: "해결되지 않음"
|
||||
breakFollow: "팔로워 해제"
|
||||
breakFollowConfirm: "이 계정이 더 이상 나를 팔로우 하지 않도록 하시겠어요?"
|
||||
itsOn: "켜짐"
|
||||
itsOff: "꺼짐"
|
||||
emailRequiredForSignup: "가입할 때 이메일 주소를 필수로 입력"
|
||||
@ -865,15 +888,17 @@ themeColor: "테마 컬러"
|
||||
size: "크기"
|
||||
numberOfColumn: "한 줄에 보일 리액션의 수"
|
||||
searchByGoogle: "검색"
|
||||
instanceDefaultLightTheme: "인스턴스 기본 라이트 테마"
|
||||
instanceDefaultDarkTheme: "인스턴스 기본 다크 테마"
|
||||
instanceDefaultLightTheme: "서버 기본 라이트 테마"
|
||||
instanceDefaultDarkTheme: "서버 기본 다크 테마"
|
||||
instanceDefaultThemeDescription: "객체 형식의 테마 코드를 입력해 주세요."
|
||||
mutePeriod: "뮤트할 기간"
|
||||
period: "투표 기한"
|
||||
indefinitely: "무기한"
|
||||
tenMinutes: "10분"
|
||||
oneHour: "1시간"
|
||||
oneDay: "1일"
|
||||
oneWeek: "일주일"
|
||||
oneMonth: "1개월"
|
||||
reflectMayTakeTime: "반영되기까지 시간이 걸릴 수 있어요."
|
||||
failedToFetchAccountInformation: "계정 정보를 가져오지 못했어요"
|
||||
rateLimitExceeded: "요청 제한 횟수를 초과했어요! 나중에 다시 시도해 주세요."
|
||||
@ -915,9 +940,10 @@ remoteOnly: "리모트만"
|
||||
failedToUpload: "업로드 실패"
|
||||
cannotUploadBecauseInappropriate: "이 파일은 부적절한 내용을 포함한다고 판단되어 업로드할 수 없어요!"
|
||||
cannotUploadBecauseNoFreeSpace: "드라이브에 용량이 부족해서 업로드할 수 없었어요.."
|
||||
cannotUploadBecauseExceedsFileSizeLimit: "파일 크기가 너무 크기 때문에 업로드할 수 없어요!"
|
||||
beta: "베타"
|
||||
enableAutoSensitive: "자동으로 NSFW 탐지"
|
||||
enableAutoSensitiveDescription: "사용 가능한 경우, 기계학습을 통해 자동으로 미디어에 NSFW를 설정할 거예요. 이 기능을 해제하더라도, 인스턴스 정책에 따라 자동으로 설정될 수 있어요."
|
||||
enableAutoSensitiveDescription: "사용 가능한 경우, 기계학습을 통해 자동으로 미디어에 NSFW를 설정할 거예요. 이 기능을 해제하더라도, 서버 정책에 따라 자동으로 설정될 수 있어요."
|
||||
activeEmailValidationDescription: "유저가 입력한 메일 주소가 일회용 메일인지, 실제로 통신할 수 있는 지 엄격하게 검사해요. 해제하면 이메일 형식에 대해서만 검사해요."
|
||||
navbar: "내비게이션 바"
|
||||
shuffle: "셔플"
|
||||
@ -927,10 +953,11 @@ pushNotification: "푸시 알림"
|
||||
subscribePushNotification: "푸시 알림 켜기"
|
||||
unsubscribePushNotification: "푸시 알림 끄기"
|
||||
pushNotificationAlreadySubscribed: "푸시 알림이 이미 켜져 있어요!"
|
||||
pushNotificationNotSupported: "브라우저나 인스턴스에서 푸시 알림을 지원하지 않아요.."
|
||||
pushNotificationNotSupported: "브라우저나 서버에서 푸시 알림을 지원하지 않아요.."
|
||||
sendPushNotificationReadMessage: "푸시 알림이나 메시지를 읽은 뒤 푸시 알림을 삭제하기"
|
||||
sendPushNotificationReadMessageCaption: "「{emptyPushNotificationMessage}」이라는 알림이 잠깐 표시돼요. 기기의 전력 소비량이 증가할 수 있어요."
|
||||
windowMaximize: "최대화"
|
||||
windowMinimize: "최소화"
|
||||
windowRestore: "복구"
|
||||
caption: "캡션"
|
||||
loggedInAsBot: "봇 계정으로 로그인 중"
|
||||
@ -947,6 +974,7 @@ didYouLikeMisskey: "CherryPick이 마음에 드시나요?"
|
||||
pleaseDonate: "{host}은(는) 무료 소프트웨어 CherryPick을 사용하고 있어요. 후원을 통해 저희의 개발이 이어질 수 있게 도와주세요!"
|
||||
roles: "역할"
|
||||
role: "역할"
|
||||
noRole: "역할이 없어요"
|
||||
normalUser: "일반 사용자"
|
||||
undefined: "정의되지 않음"
|
||||
assign: "할당"
|
||||
@ -956,6 +984,10 @@ manageCustomEmojis: "커스텀 이모지 관리"
|
||||
youCannotCreateAnymore: "더 이상 생성할 수 없어요."
|
||||
cannotPerformTemporary: "일시적으로 사용할 수 없음"
|
||||
cannotPerformTemporaryDescription: "조작 횟수 제한을 초과하여 일시적으로 사용할 수 없어요. 잠시 후 다시 시도해 주세요."
|
||||
invalidParamError: "매개변수 오류"
|
||||
invalidParamErrorDescription: "요청 매개변수에 문제가 있어요. 대부분의 경우 CherryPick의 버그가 원인이지만, 입력 문자수가 너무 많았을 가능성 등도 있어요."
|
||||
permissionDeniedError: "작업이 거부되었어요"
|
||||
permissionDeniedErrorDescription: "이 작업을 수행할 권한이 없어요."
|
||||
preset: "프리셋"
|
||||
selectFromPresets: "프리셋에서 선택"
|
||||
achievements: "도전 과제"
|
||||
@ -965,6 +997,106 @@ thisPostMayBeAnnoying: "이 게시물은 다른 유저에게 피해를 줄 가
|
||||
thisPostMayBeAnnoyingHome: "홈에 게시"
|
||||
thisPostMayBeAnnoyingCancel: "그만두기"
|
||||
thisPostMayBeAnnoyingIgnore: "이대로 게시"
|
||||
collapseRenotes: "이미 본 리노트를 간략화하기"
|
||||
internalServerError: "내부 서버 오류"
|
||||
internalServerErrorDescription: "내부 서버에서 예기치 않은 오류가 발생했어요."
|
||||
copyErrorInfo: "오류 정보 복사"
|
||||
joinThisServer: "이 서버에 가입"
|
||||
exploreOtherServers: "다른 서버 둘러보기"
|
||||
letsLookAtTimeline: "타임라인 구경하기"
|
||||
disableFederationConfirm: "정말로 연합을 비활성화 할까요?"
|
||||
disableFederationConfirmWarn: "연합을 끄더라도 게시물이 비공개로 전환되는 것은 아니예요. 대부분의 경우 연합을 비활성화할 필요가 없어요."
|
||||
disableFederationOk: "연합 비활성화 하기"
|
||||
invitationRequiredToRegister: "이 서버는 현재 비공개 상태예요. 회원가입을 하려면 초대 코드가 필요해요."
|
||||
emailNotSupported: "이 서버에서는 메일 전송을 지원하지 않아요"
|
||||
postToTheChannel: "채널에 게시하기"
|
||||
cannotBeChangedLater: "나중에 변경할 수 없어요."
|
||||
reactionAcceptance: "리액션 수신"
|
||||
likeOnly: "좋아요만 받기"
|
||||
likeOnlyForRemote: "리모트에서는 좋아요만 받기"
|
||||
rolesAssignedToMe: "나에게 할당된 역할"
|
||||
resetPasswordConfirm: "비밀번호를 재설정할까요?"
|
||||
sensitiveWords: "민감한 단어"
|
||||
sensitiveWordsDescription: "설정한 단어가 포함된 노트의 공개 범위를 '홈'으로 강제해요. 개행으로 구분하여 여러 개를 지정할 수 있어요."
|
||||
notesSearchNotAvailable: "노트 검색을 현재 이용할 수 없어요."
|
||||
license: "라이선스"
|
||||
unfavoriteConfirm: "즐겨찾기를 해제할까요?"
|
||||
myClips: "내 클립"
|
||||
drivecleaner: "드라이브 정리"
|
||||
retryAllQueuesNow: "모든 큐를 다시 시도"
|
||||
retryAllQueuesConfirmTitle: "지금 다시 시도할까요?"
|
||||
retryAllQueuesConfirmText: "일시적으로 서버의 부하가 증가할 수 있어요!"
|
||||
enableChartsForRemoteUser: "리모트 유저의 차트를 생성"
|
||||
enableChartsForFederatedInstances: "리모트 서버의 차트를 생성"
|
||||
showClipButtonInNoteFooter: "노트 동작에 클립을 추가"
|
||||
largeNoteReactions: "노트의 리액션을 크게 표시"
|
||||
noteIdOrUrl: "노트 ID 및 URL"
|
||||
video: "동영상"
|
||||
videos: "동영상"
|
||||
dataSaver: "데이터 절약 모드"
|
||||
accountMigration: "계정 이동"
|
||||
accountMoved: "이 사용자는 다음 계정으로 이사했어요:"
|
||||
accountMovedShort: "이사한 계정이에요"
|
||||
operationForbidden: "사용할 수 없어요"
|
||||
forceShowAds: "광고를 항상 표시"
|
||||
addMemo: "메모 추가"
|
||||
editMemo: "메모 편집"
|
||||
reactionsList: "리액션 목록"
|
||||
renotesList: "Renote 목록"
|
||||
notificationDisplay: "알림 표시"
|
||||
leftTop: "왼쪽 상단"
|
||||
rightTop: "오른쪽 상단"
|
||||
leftBottom: "왼쪽 하단"
|
||||
rightBottom: "오른쪽 하단"
|
||||
stackAxis: "나열 방향"
|
||||
vertical: "세로"
|
||||
horizontal: "가로"
|
||||
position: "위치"
|
||||
serverRules: "서버 규칙"
|
||||
pleaseConfirmBelowBeforeSignup: "이 서버에 가입하기 전에 아래 사항을 확인해 주세요."
|
||||
pleaseAgreeAllToContinue: "계속하시려면 모든 항목에 동의해야 해요."
|
||||
continue: "계속"
|
||||
preservedUsernames: "예약된 사용자명"
|
||||
preservedUsernamesDescription: "예약할 사용자명을 한 줄에 하나씩 입력해 주세요. 여기에서 지정한 사용자명으로는 계정을 생성할 수 없게 돼요. 단, 관리자 권한으로 계정을 생성할 때에는 해당되지 않으며, 이미 존재하는 계정도 영향을 받지 않아요."
|
||||
createNoteFromTheFile: "이 파일로 노트를 작성"
|
||||
archive: "아카이브"
|
||||
channelArchiveConfirmTitle: "{name} 을(를) 아카이브할까요?"
|
||||
channelArchiveConfirmDescription: "아카이브한 채널은 채널 목록과 검색 결과에 표시되지 않으며, 채널에 새로운 노트를 작성할 수 없게 돼요."
|
||||
thisChannelArchived: "이 채널은 아카이브 되었어요."
|
||||
displayOfNote: "노트 표시"
|
||||
initialAccountSetting: "초기 설정"
|
||||
youFollowing: "팔로잉"
|
||||
options: "옵션"
|
||||
_initialAccountSetting:
|
||||
accountCreated: "계정 생성이 완료되었어요!"
|
||||
letsStartAccountSetup: "계정의 초기 설정을 진행해 볼까요?"
|
||||
letsFillYourProfile: "우선 나의 프로필을 설정해 보아요."
|
||||
profileSetting: "프로필 설정"
|
||||
theseSettingsCanEditLater: "이 설정들은 나중에도 변경할 수 있어요."
|
||||
youCanEditMoreSettingsInSettingsPageLater: "이 외에도 '설정' 페이지에서 다양한 설정을 나의 입맛에 맞게 조절할 수 있으니 꼭 확인해 보세요!"
|
||||
followUsers: "관심사가 맞는 유저를 팔로우하여 타임라인을 가꾸어 보세요."
|
||||
pushNotificationDescription: "푸시 알림을 활성화하면 {name}의 알림을 나의 기기에서 받아볼 수 있어요."
|
||||
initialAccountSettingCompleted: "초기 설정을 모두 완료했어요!"
|
||||
haveFun: "{name}와 함께 즐거운 시간 보내세요!"
|
||||
ifYouNeedLearnMore: "{name}(CherryPick)의 사용 방법에 대해 자세히 알아보려면 {link}를 참고해 주세요."
|
||||
skipAreYouSure: "초기 설정을 건너뛸까요?"
|
||||
_serverRules:
|
||||
description: "회원 가입 이전에 간단하게 표시할 서버 규칙이에요. 이용 약관의 요약으로 구성하는 것을 추천해요."
|
||||
_accountMigration:
|
||||
moveFrom: "다른 계정에서 이 계정으로 이사"
|
||||
moveFromSub: "다른 계정에 대한 별칭을 생성"
|
||||
moveFromLabel: "기존 계정:"
|
||||
moveFromDescription: "다른 계정에서 이 계정으로 팔로워를 가져오려면, 우선 여기에서 별칭을 지정해야 해요.\n반드시 이사하기 전에 지정해야 해요! 기존 계정을 다음과 같은 형식으로 입력해 주세요: @person@instance.com"
|
||||
moveTo: "이 계정에서 다른 계정으로 이사"
|
||||
moveToLabel: "이사할 계정:"
|
||||
moveCannotBeUndone: "한 번 이사하면, 두 번 다시 되돌릴 수 없으니 신중하게 결정해 주세요!"
|
||||
moveAccountDescription: "이 작업은 취소할 수 없어요! 먼저 이사할 계정에서 이 계정에 대한 별칭을 지정했는지 다시 한 번 확인해 주세요. 별칭을 지정한 다음, 이사할 계정을 다음과 같은 형식으로 입력해 주세요: @person@instance.com"
|
||||
moveAccountHowTo: "계정을 이사하려면 우선 이사갈 계정에서 이 계정에 대한 별칭을 지정해야 해요.\n별칭을 작성한 다음, 이사갈 계정을 다음과 같이 입력해 주세요:\n@username@server.example.com"
|
||||
startMigration: "이사하기"
|
||||
migrationConfirm: "정말로 이 계정을 {account} 으로 이전할까요? 작업을 시작한 이후에는 취소할 수 없으며, 두 번 다시 원래 상태로 복구할 수 없어요.\n이사할 계정에서 계정 별칭을 지정하였는지 다시 한 번 확인해 주세요."
|
||||
movedAndCannotBeUndone: "\n이사한 계정이에요.\n이사는 취소할 수 없어요."
|
||||
postMigrationNote: "이 계정의 팔로잉 해제는 이사 후 24시간 뒤에 실행돼요.\n이 계정의 팔로우 및 팔로워 수는 0으로 표시돼요. 팔로워 해제는 이루어지지 않으므로, 당신의 팔로워는 이 계정의 팔로워 한정 게시물을 계속해서 열람할 수 있어요."
|
||||
movedTo: "이사할 계정:"
|
||||
_achievements:
|
||||
earnedAt: "달성 일시"
|
||||
_types:
|
||||
@ -1136,6 +1268,9 @@ _achievements:
|
||||
_client30min:
|
||||
title: "잠깐 쉬어"
|
||||
description: "클라이언트를 시작한 지 30분이 경과했어요. 과도한 SNS 이용은 정상적인 일상생활에 지장을 줄 수 있어요."
|
||||
_client60min:
|
||||
title: "No \"Miss\" in CherryPick"
|
||||
description: "클라이언트를 시작하고 60분이 경과했어요. 어서 현생으로 돌아가세요!!"
|
||||
_noteDeletedWithin1min:
|
||||
title: "있었는데요, 없었습니다"
|
||||
description: "노트를 포스트한 후 1분 이내에 삭제했어요"
|
||||
@ -1155,7 +1290,7 @@ _achievements:
|
||||
description: "1분 사이에 홈 타임라인에 노트가 20개 넘게 생성됐어요"
|
||||
_viewInstanceChart:
|
||||
title: "애널리스트"
|
||||
description: "인스턴스의 차트를 열었어요"
|
||||
description: "서버의 차트를 열었어요"
|
||||
_outputHelloWorldOnScratchpad:
|
||||
title: "Hello, world!"
|
||||
description: "스크래치 패드에서 hello world를 출력했어요!"
|
||||
@ -1192,7 +1327,7 @@ _achievements:
|
||||
_loggedInOnNewYearsDay:
|
||||
title: "새해 복 많이 받으세요"
|
||||
description: "새해 첫 날에 로그인했어요"
|
||||
flavor: "올해에도 저희 인스턴스에 관심을 가져 주셔서 감사합니다!"
|
||||
flavor: "올해에도 저희 서버에 관심을 가져 주셔서 감사합니다!"
|
||||
_cookieClicked:
|
||||
title: "쿠키를 클릭하는 게임"
|
||||
description: "쿠키를 클릭했어요"
|
||||
@ -1207,7 +1342,7 @@ _role:
|
||||
name: "역할 이름"
|
||||
description: "역할 설명"
|
||||
permission: "역할 권한"
|
||||
descriptionOfPermission: "<b>모더레이터</b>는 기본적인 중재와 관련된 작업을 수행할 수 있어요.\n<b>관리자</b>는 인스턴스의 모든 설정을 변경할 수 있어요."
|
||||
descriptionOfPermission: "<b>모더레이터</b>는 기본적인 중재와 관련된 작업을 수행할 수 있어요.\n<b>관리자</b>는 서버의 모든 설정을 변경할 수 있어요."
|
||||
assignTarget: "할당 대상"
|
||||
descriptionOfAssignTarget: "<b>수동</b>을 선택하면 누가 이 역할에 포함되는지를 수동으로 관리할 수 있어요.\n<b>조건부</b>를 선택하면 조건을 설정해 일치하는 사용자를 자동으로 포함시킬 수 있어요."
|
||||
manual: "수동"
|
||||
@ -1224,6 +1359,10 @@ _role:
|
||||
iconUrl: "아이콘 URL"
|
||||
asBadge: "배지로 표시"
|
||||
descriptionOfAsBadge: "활성화하면 유저명 옆에 역할의 아이콘이 표시돼요."
|
||||
isExplorable: "역할 타임라인 공개"
|
||||
descriptionOfIsExplorable: "활성화하면 역할 타임라인을 공개해요. 비활성화하면 타임라인이 공개되지 않아요."
|
||||
displayOrder: "표시 순서"
|
||||
descriptionOfDisplayOrder: "값이 클 수록 UI에서 먼저 표시돼요."
|
||||
canEditMembersByModerator: "모더레이터의 역할 수정 허용"
|
||||
descriptionOfCanEditMembersByModerator: "이 옵션을 켜면 모더레이터도 이 역할에 사용자를 할당하거나 삭제할 수 있어요. 꺼져 있으면 관리자만 사용자를 할당할 수 있어요."
|
||||
priority: "우선순위"
|
||||
@ -1235,9 +1374,10 @@ _role:
|
||||
gtlAvailable: "글로벌 타임라인 보이기"
|
||||
ltlAvailable: "로컬 타임라인 보이기"
|
||||
canPublicNote: "공개 노트 허용"
|
||||
canInvite: "인스턴스 초대 코드 발행"
|
||||
canInvite: "서버 초대 코드 발행"
|
||||
canManageCustomEmojis: "커스텀 이모지 관리"
|
||||
driveCapacity: "드라이브 용량"
|
||||
alwaysMarkNsfw: "파일을 항상 NSFW로 지정"
|
||||
pinMax: "고정할 수 있는 노트 수"
|
||||
antennaMax: "최대 안테나 생성 허용 수"
|
||||
wordMuteMax: "단어 뮤트할 수 있는 문자 수"
|
||||
@ -1246,18 +1386,21 @@ _role:
|
||||
noteEachClipsMax: "각 클립에 추가할 수 있는 노트 수"
|
||||
userListMax: "생성할 수 있는 유저 리스트 수"
|
||||
userEachUserListsMax: "유저 리스트당 최대 사용자 수"
|
||||
rateLimitFactor: "속도 제한"
|
||||
descriptionOfRateLimitFactor: "작을수록 제한이 완화되고, 클수록 강화돼요."
|
||||
rateLimitFactor: "요청 빈도 제한"
|
||||
descriptionOfRateLimitFactor: "작을수록 제한이 완화되고, 클수록 제한이 강화돼요."
|
||||
canHideAds: "광고 숨기기"
|
||||
canSearchNotes: "노트 검색 이용 가능 여부"
|
||||
_condition:
|
||||
isLocal: "로컬 사용자"
|
||||
isRemote: "리모트 사용자"
|
||||
createdLessThan: "가압한 지 다음 일수 이내인 유저"
|
||||
createdLessThan: "가입한 지 다음 일수 이내인 유저"
|
||||
createdMoreThan: "가입한 지 다음 일수 이상인 유저"
|
||||
followersLessThanOrEq: "팔로워 수가 다음 이하인 유저"
|
||||
followersMoreThanOrEq: "팔로워 수가 다음 이상인 유저"
|
||||
followingLessThanOrEq: "팔로잉 수가 다음 이하인 유저"
|
||||
followingMoreThanOrEq: "팔로잉 수가 다음 이상인 유저"
|
||||
notesLessThanOrEq: "노트 수가 다음 이하인 유저"
|
||||
notesMoreThanOrEq: "노트 수가 다음 이상인 유저"
|
||||
and: "다음을 모두 만족"
|
||||
or: "다음을 하나라도 만족"
|
||||
not: "다음을 만족하지 않음"
|
||||
@ -1301,7 +1444,7 @@ _ad:
|
||||
_forgotPassword:
|
||||
enterEmail: "여기에 계정에 등록한 메일 주소를 입력해 주세요. 입력한 메일 주소로 비밀번호를 재설정할 수 있는 링크를 보내드릴 거예요."
|
||||
ifNoEmail: "만약 메일 주소를 등록하지 않았다면 관리자에게 문의해 주세요."
|
||||
contactAdmin: "이 인스턴스에서는 메일 기능을 지원하지 않기 때문에 비밀번호를 재설정하려면 관리자에게 문의해 주세요."
|
||||
contactAdmin: "이 서버에서는 메일 기능을 지원하지 않기 때문에 비밀번호를 재설정하려면 관리자에게 문의해 주세요."
|
||||
_gallery:
|
||||
my: "내 갤러리"
|
||||
liked: "좋아요 한 갤러리"
|
||||
@ -1447,6 +1590,8 @@ _channel:
|
||||
following: "팔로잉"
|
||||
usersCount: "{n}명이 참여 중"
|
||||
notesCount: "{n}노트"
|
||||
nameAndDescription: "이름과 설명"
|
||||
nameOnly: "이름만"
|
||||
_menuDisplay:
|
||||
sideFull: "가로"
|
||||
sideIcon: "가로(아이콘)"
|
||||
@ -1462,10 +1607,10 @@ _wordMute:
|
||||
hard: "보다 높은 수준"
|
||||
mutedNotes: "뮤트된 노트"
|
||||
_instanceMute:
|
||||
instanceMuteDescription: "뮤트한 인스턴스에서 오는 답글을 포함한 모든 노트와 리노트를 뮤트해요."
|
||||
instanceMuteDescription: "뮤트한 서버에서 오는 답글을 포함한 모든 노트와 리노트를 뮤트해요."
|
||||
instanceMuteDescription2: "한 줄에 하나씩 입력해 주세요"
|
||||
title: "지정한 인스턴스의 노트가 숨겨져요."
|
||||
heading: "뮤트할 인스턴스"
|
||||
title: "지정한 서버의 노트가 숨겨져요."
|
||||
heading: "뮤트할 서버"
|
||||
_theme:
|
||||
explore: "테마 찾아보기"
|
||||
install: "테마 설치"
|
||||
@ -1558,47 +1703,47 @@ _ago:
|
||||
weeksAgo: "{n}주 전"
|
||||
monthsAgo: "{n}개월 전"
|
||||
yearsAgo: "{n}년 전"
|
||||
invalid: "없음"
|
||||
_time:
|
||||
second: "초"
|
||||
minute: "분"
|
||||
hour: "시간"
|
||||
day: "일"
|
||||
_tutorial:
|
||||
_timelineTutorial:
|
||||
title: "CherryPick의 사용 방법"
|
||||
step1_1: "어서오세요!"
|
||||
step1_2: "이 페이지는 \"타임라인\"이라고 불러요. 내가 \"팔로우\"하고 있는 사람들의 \"노트\"가 시간순으로 나타나요."
|
||||
step1_3: "아직 아무도 팔로우하지 않았기 때문에 타임라인이 비어 있을 거에요."
|
||||
step2_1: "새 노트를 작성하거나 다른 사람을 팔로우하기 전에, 먼저 프로필을 완성해볼까요?"
|
||||
step2_2: "나를 소개한다면, 다른 사람들이 나를 팔로우할 확률이 올라갈 거에요!"
|
||||
step3_1: "프로필 설정은 잘 끝내셨나요?"
|
||||
step3_2: "그럼 시험삼아 노트를 작성해 볼까요? 화면에 있는 연필 버튼을 누르면 노트를 작성할 수 있어요!"
|
||||
step3_3: "내용을 작성한 후, 오른쪽 상단의 버튼을 눌러 노트를 타임라인에 올릴 수 있어요."
|
||||
step3_4: "어떤 내용을 써야할 지 모르겠다구요? \"CherryPick 시작했어요!\" 같은 건 어떨까요? ☺️"
|
||||
step4_1: "노트 작성을 끝내셨나요?"
|
||||
step4_2: "내가 올린 노트가 타임라인에 표시되어 있다면 성공이에요!"
|
||||
step5_1: "이제, 다른 사람을 팔로우해서 타임라인을 활기차게 만들어보세요!"
|
||||
step5_2: "{featured}에서 이 인스턴스의 인기 노트를 볼 수 있어요. {explore}에서는 인기 사용자를 찾을 수 있구요. 마음에 드는 사람을 골라 팔로우해 보세요!"
|
||||
step5_3: "다른 유저를 팔로우하려면 해당 유저의 아이콘을 클릭하여 프로필 페이지를 띄운 후, 팔로우 버튼을 눌러 주세요."
|
||||
step5_4: "사용자에 따라 팔로우가 승인될 때까지 시간이 걸릴 수 있어요."
|
||||
step6_1: "타임라인에 다른 사용자의 노트가 나타난다면 성공이에요!"
|
||||
step6_2: "다른 유저의 노트에 \"리액션\"을 붙여 간단하게 반응을 전달할 수도 있어요."
|
||||
step6_3: "리액션을 붙이려면, 노트의 \"+\" 버튼을 클릭하고 원하는 이모지를 선택하기만 하면 돼요!"
|
||||
step7_1: "이것으로 CherryPick의 기본 튜토리얼이 끝났어요. 수고하셨습니다!"
|
||||
step7_2: "CherryPick에 대해 더 알고 싶으시다면 {help}를 참고해 주세요."
|
||||
step7_3: "그럼 CherryPick을 즐겨주세요! 🚀"
|
||||
step8_1: "마지막으로, 푸시 알림을 활성화해 보지 않으실래요?"
|
||||
step8_2: "푸시 알림을 활성화하면, CherryPick을 열지 않았을 때에도 리액션이나 팔로우, 멘션 등을 확인할 수 있어요."
|
||||
step8_3: "알림 설정은 나중에도 변경할 수 있어요."
|
||||
step1_1: "이것은 '타임라인'이에요. {name}에 게시된 '노트'가 시간순으로 나타나요."
|
||||
step1_2: "타임라인은 몇 가지 종류로 나뉘게 되는데, 그 중에 '홈 타임라인'은 내가 팔로우한 사람의 노트가 표시되며, '로컬 타임라인'에는 {name} 의 모든 노트가 표시돼요."
|
||||
step2_1: "그럼 시험삼아 노트를 작성해 볼까요? 화면에 있는 연필 버튼을 누르면 노트를 작성할 수 있어요!"
|
||||
step2_2: "첫 노트이니까 자기소개, 혹은 가볍게 \"안녕 {name}\"라고 올려 보는 건 어떨까요?"
|
||||
step3_1: "노트 작성을 끝내셨나요?"
|
||||
step3_2: "내가 올린 노트가 타임라인에 표시되어 있다면 성공이에요!"
|
||||
step4_1: "노트에는 '리액션'을 붙일 수 있어요."
|
||||
step4_2: "리액션을 붙이려면, 노트의 \"+\" 버튼을 클릭하고 원하는 이모지를 선택하기만 하면 돼요!"
|
||||
_2fa:
|
||||
alreadyRegistered: "이미 설정되어 있어요!"
|
||||
registerDevice: "디바이스 등록"
|
||||
registerKey: "키 등록"
|
||||
registerTOTP: "인증 앱 설정 시작"
|
||||
passwordToTOTP: "비밀번호를 입력하세요."
|
||||
step1: "먼저, {a}나 {b}등의 인증 앱을 사용 중인 디바이스에 설치해 주세요."
|
||||
step2: "인증 앱을 설치했다면, 표시되어 있는 QR 코드를 앱으로 스캔해 주세요."
|
||||
step2Click: "QR 코드를 클릭하면 기기에 설치된 인증 앱에 등록할 수 있어요."
|
||||
step2Url: "데스크톱 앱에서는 다음 URL을 입력해 주세요:"
|
||||
step3Title: "인증 코드 입력"
|
||||
step3: "앱에 표시된 토큰을 입력하면 완료돼요!"
|
||||
step4: "다음 로그인부터는 토큰을 입력해야 로그인할 수 있어요."
|
||||
securityKeyNotSupported: "이 브라우저는 보안 키를 지원하지 않는 것 같아요."
|
||||
registerTOTPBeforeKey: "보안 키 또는 패스키를 등록하려면 먼저 인증 앱을 등록해 주세요."
|
||||
securityKeyInfo: "FIDO2를 지원하는 하드웨어 보안 키 혹은 디바이스의 지문인식이나 화면잠금 PIN을 이용해서 로그인하도록 설정할 수 있어요."
|
||||
chromePasskeyNotSupported: "현재 Chrome 에서의 패스키는 아직 지원되지 않아요."
|
||||
registerSecurityKey: "보안 키 또는 패스키 등록"
|
||||
securityKeyName: "키 이름 입력"
|
||||
tapSecurityKey: "브라우저에 안내되는 지시에 따라 보안 키 또는 패스키를 등록해 주세요"
|
||||
removeKey: "보안 키 삭제"
|
||||
removeKeyConfirm: "{name} 을(를) 삭제할까요?"
|
||||
whyTOTPOnlyRenew: "보안 키가 등록되어 있는 경우 인증 앱을 해제할 수 없어요."
|
||||
renewTOTP: "인증 앱 재설정"
|
||||
renewTOTPConfirm: "기존에 등록되어 있던 인증 키는 더 이상 사용할 수 없게 돼요."
|
||||
renewTOTPOk: "재설정"
|
||||
renewTOTPCancel: "취소"
|
||||
_permissions:
|
||||
"read:account": "계정의 정보를 조회합니다"
|
||||
"write:account": "계정의 정보를 변경합니다"
|
||||
@ -1658,7 +1803,7 @@ _weekday:
|
||||
saturday: "토요일"
|
||||
_widgets:
|
||||
profile: "프로필"
|
||||
instanceInfo: "인스턴스 정보"
|
||||
instanceInfo: "서버 정보"
|
||||
memo: "스티커 메모"
|
||||
notifications: "알림"
|
||||
timeline: "타임라인"
|
||||
@ -1672,7 +1817,7 @@ _widgets:
|
||||
digitalClock: "디지털 시계"
|
||||
unixClock: "UNIX 시계"
|
||||
federation: "연합"
|
||||
instanceCloud: "인스턴스 구름"
|
||||
instanceCloud: "서버 구름"
|
||||
postForm: "글 입력란"
|
||||
slideshow: "슬라이드 쇼"
|
||||
button: "버튼"
|
||||
@ -1722,8 +1867,8 @@ _visibility:
|
||||
followersDescription: "팔로워에게만 공개"
|
||||
specified: "다이렉트"
|
||||
specifiedDescription: "지정한 유저에게만 공개"
|
||||
localOnly: "로컬에만"
|
||||
localOnlyDescription: "리모트 유저에게 보이지 않기"
|
||||
disableFederation: "연합에 보내지 않기"
|
||||
disableFederationDescription: "다른 서버로 보내지 않을래요"
|
||||
_postForm:
|
||||
replyPlaceholder: "이 노트에 답글..."
|
||||
quotePlaceholder: "이 노트를 인용..."
|
||||
@ -1883,6 +2028,7 @@ _notification:
|
||||
receiveFollowRequest: "팔로우 요청을 받았을 때"
|
||||
followRequestAccepted: "팔로우 요청이 승인되었을 때"
|
||||
groupInvited: "그룹에 초대되었을 때"
|
||||
achievementEarned: "도전 과제 획득"
|
||||
app: "연동된 앱을 통한 알림"
|
||||
_actions:
|
||||
followBack: "팔로우"
|
||||
@ -1915,3 +2061,27 @@ _deck:
|
||||
channel: "채널"
|
||||
mentions: "받은 멘션"
|
||||
direct: "다이렉트"
|
||||
roleTimeline: "역할 타임라인"
|
||||
_dialog:
|
||||
charactersExceeded: "최대 글자수를 초과했어요! 현재 {current} / 최대 {min}"
|
||||
charactersBelow: "최소 글자수 미만이에요! 현재 {current} / 최소 {min}"
|
||||
_disabledTimeline:
|
||||
title: "비활성화된 타임라인"
|
||||
description: "현재 역할에서는 이 타임라인을 이용할 수 없어요."
|
||||
_drivecleaner:
|
||||
orderBySizeDesc: "크기가 큰 순"
|
||||
orderByCreatedAtAsc: "등록일이 오래된 순"
|
||||
_webhookSettings:
|
||||
createWebhook: "Webhook 생성"
|
||||
name: "이름"
|
||||
secret: "시크릿"
|
||||
events: "Webhook을 실행할 타이밍"
|
||||
active: "활성화"
|
||||
_events:
|
||||
follow: "누군가를 팔로우 했을 때"
|
||||
followed: "누군가 나를 팔로우 했을 때"
|
||||
note: "노트를 게시할 때"
|
||||
reply: "답글을 받았을 때"
|
||||
renote: "누군가 내 글을 리노트 했을 때"
|
||||
reaction: "누군가 내 노트에 리액션 했을 때"
|
||||
mention: "누군가 나를 멘션 했을 때"
|
||||
|
@ -136,17 +136,45 @@ loginFailed: "ການເຂົ້າສູ່ລະບົບບໍ່ສຳເ
|
||||
general: "ທົ່ວໄປ"
|
||||
wallpaper: "ພາບພື້ນຫລັງ"
|
||||
setWallpaper: "ຕັ້ງເປັນພາບພື້ນຫຼັງ"
|
||||
searchWith: "ຊອກຫາ: {q}"
|
||||
proxyAccount: "ບັນຊີພຣັອກຊີ"
|
||||
host: "ໂຮດສ"
|
||||
selectUser: "ເລືອກຜູ້ໃຊ້"
|
||||
recipient: "ເຖິງ"
|
||||
annotation: "ຄຳເຫັນ"
|
||||
federation: "ສະຫະພັນ"
|
||||
instances: "ອີນສະແຕນ"
|
||||
registeredAt: "ລົງທະບຽນຢູ່"
|
||||
storageUsage: "ບ່ອນຈັດເກັບຂໍ້ມູນທີ່ໃຊ້"
|
||||
charts: "ອັນດັບເພງ"
|
||||
perHour: "ຕໍ່ຊົ່ວໂມງ"
|
||||
perDay: "ຕໍ່ມື້"
|
||||
stopActivityDelivery: "ຢຸດເຊົາການສົ່ງກິດຈະກໍາ"
|
||||
blockThisInstance: "ຂັດຂວາງຕົວຢ່າງນີ້"
|
||||
operations: "ການດຳເນີນງານ"
|
||||
software: "ຊອບແວ"
|
||||
version: "ສະບັບ"
|
||||
metadata: "Metadata"
|
||||
monitor: "ຈໍພາບ"
|
||||
cpuAndMemory: "CPU ແລະ ຫນ່ວຍຄວາມຈໍາ"
|
||||
network: "ເຄືອຂ່າຍ"
|
||||
disk: "ດິສກ໌"
|
||||
instanceInfo: "ອີນສະແຕນ"
|
||||
statistics: "ສະຖິຕິ"
|
||||
clearQueue: "ລ້າງຄິວ"
|
||||
clearCachedFiles: "ລຶບລ້າງແຄສ"
|
||||
noUsers: "ບໍ່ພົບຜູ້ໃຊ້"
|
||||
editProfile: "ແກ້ໄຂໂປຣໄຟລ໌"
|
||||
done: "ສຳເລັດ"
|
||||
processing: "ກຳລັງປະມວນຜົນ"
|
||||
preview: "ສະແດງເປັນຕົວຢ່າງ"
|
||||
default: "ຄ່າເລີ່ມຕົ້ນ"
|
||||
defaultValueIs: "ຄ່າເລີ່ມຕົ້ນ: {value}"
|
||||
noCustomEmojis: "ບໍ່ມີອີໂມຈິ"
|
||||
noJobs: "ບໍ່ມີຊິ້ນວຽກ"
|
||||
federating: "ສະຫະພັນ"
|
||||
blocked: "ບລັອກແລ້ວ "
|
||||
suspended: "ໂຈະ"
|
||||
all: "ທັງໝົດ"
|
||||
subscribing: "ສະໝັກສະມາຊິກແລັວ"
|
||||
publishing: "ການພິມເຜີຍແຜ່"
|
||||
@ -155,32 +183,144 @@ instanceFollowing: "ກຳລັງຕິດຕາມສຸດຕົວຢ່າ
|
||||
instanceFollowers: "ຜູ້ຕິດຕາມຕົວຢ່າງ"
|
||||
instanceUsers: "ຜູ້ຊົມໃຊ້ຂອງຕົວຢ່າງນີ້"
|
||||
changePassword: "ປ່ຽນລະຫັດຜ່ານ"
|
||||
security: "ຄວາມປອດໄພ"
|
||||
retypedNotMatch: "ວັດສະດຸປ້ອນບໍ່ກົງກັນ"
|
||||
currentPassword: "ລະຫັດຜ່ານປະຈຸບັນ"
|
||||
newPassword: "ລະຫັດຜ່ານໃໝ່"
|
||||
newPasswordRetype: "ໃສ່ລະຫັດຜ່ານໃໝ່ອີກເທື່ອໜຶ່ງ"
|
||||
attachFile: "ແນບໄຟລ໌"
|
||||
more: "ເພີ່ມເຕີມ!"
|
||||
featured: "ໄຮໄລທ໌"
|
||||
usernameOrUserId: "ຊື່ຜູ້ໃຊ້ ຫຼື id ຜູ້ໃຊ້"
|
||||
noSuchUser: "ບໍ່ພົບຜູ້ໃຊ້"
|
||||
lookup: "ຄົ້ນຫາ"
|
||||
announcements: "ປະກາດ"
|
||||
imageUrl: "URL ຮູບພາບ"
|
||||
remove: "ລຶບ"
|
||||
removed: "ລຶບແລ້ວ"
|
||||
resetAreYouSure: "ຣີເຊັດບໍ?"
|
||||
saved: "ບັນທຶກແລ້ວ"
|
||||
messaging: "ແຊ໋ດ"
|
||||
tos: "ເງື່ອນໄຂການໃຫ້ບໍລິການ"
|
||||
upload: "ອັບໂຫຼດ"
|
||||
keepOriginalUploading: "ຮັກສາຮູບພາບຕົ້ນສະບັບ"
|
||||
fromDrive: "ຈາກ Drive"
|
||||
fromUrl: "ຈາກ URL"
|
||||
uploadFromUrl: "ອັບໂຫຼດຈາກ URL"
|
||||
uploadFromUrlDescription: "URL ຂອງໄຟລ໌ທີ່ທ່ານຕ້ອງການອັບໂຫລດ"
|
||||
uploadFromUrlRequested: "ຮ້ອງຂໍການອັບໂຫລດ"
|
||||
messageRead: "ອ່ານແລ້ວ"
|
||||
startMessaging: "ເລີ່ມການສົນທະນາໃໝ່"
|
||||
nUsersRead: "ອ່ານໂດຍ {n}"
|
||||
start: "ເລີ່ມຕົ້ນນຳໃຊ້ເລີຍ"
|
||||
home: "ໜ້າຫຼັກ"
|
||||
activity: "ກິດຈະກຳ"
|
||||
images: "ຮູບພາບ"
|
||||
image: "ຮູບພາບ"
|
||||
birthday: "ວັນເກີດ"
|
||||
yearsOld: "{age} ປີ"
|
||||
registeredDate: "ວັນທີ່ເປັນສະມາຊິກ"
|
||||
location: "ທີ່ຕັ້ງ"
|
||||
theme: "ແທ໋ມ"
|
||||
themeForLightMode: "ຮູບແບບສີສັນເພື່ອໃຊ້ໃນໂໝດແສງ"
|
||||
themeForDarkMode: "ຮູບແບບສີສັນທີ່ຈະໃຊ້ຢູ່ໃນໂໝດມືດ"
|
||||
light: "ສະຫວ່າງ"
|
||||
dark: "ມືດ"
|
||||
lightThemes: "ຊຸດຮູບແບບສະຫວ່າງ"
|
||||
darkThemes: "ຮູບແບບສີສັນມືດ"
|
||||
syncDeviceDarkMode: "ຊິງຄ໌ໂໝດມືດກັບການຕັ້ງຄ່າທົ່ວອຸປະກອນ"
|
||||
drive: "ຂັບ"
|
||||
fileName: "ຊື່ໄຟລ໌"
|
||||
selectFile: "ເລືອກໄຟລ໌"
|
||||
selectFiles: "ເລືອກໄຟລ໌"
|
||||
selectFolder: "ເລືອກໂຟລເດີ"
|
||||
selectFolders: "ເລືອກໂຟລເດີ"
|
||||
renameFile: "ປ່ຽນຊື່ໄຟລ໌"
|
||||
folderName: "ຊື່ໂຟນເດີ"
|
||||
createFolder: "ສ້າງໂຟລເດີ"
|
||||
renameFolder: "ປ່ຽນຊື່ໂຟນເດີນີ້"
|
||||
deleteFolder: "ລົບໂຟລເດີ"
|
||||
addFile: "ເພີ່ມໄຟລ໌"
|
||||
emptyDrive: "Drive ຂອງທ່ານຫວ່າງເປົ່າ"
|
||||
emptyFolder: "ໂຟນເດີນີ້ເປົ່າຫວ່າງ"
|
||||
unableToDelete: "ບໍ່ສາມາດລົບໄດ້"
|
||||
inputNewFileName: "ໃສ່ຊື່ໄຟລ໌ໃໝ່"
|
||||
inputNewDescription: "ໃສ່ຄຳບັນຍາຍໃໝ່"
|
||||
inputNewFolderName: "ໃສ່ຊື່ໂຟນເດີໃໝ່"
|
||||
circularReferenceFolder: "ໂຟນເດີປາຍທາງແມ່ນໂຟນເດີຍ່ອຍຂອງໂຟນເດີທີ່ທ່ານຕ້ອງການຍ້າຍ"
|
||||
rename: "ປ່ຽນຊື່"
|
||||
nsfw: "NSFW"
|
||||
watch: "ເບິ່ງ"
|
||||
unwatch: "ຢຸດເບິ່ງ"
|
||||
accept: "ອະນຸຍາດ"
|
||||
reject: "ປະຕິເສດ"
|
||||
normal: "ປົກກະຕິ"
|
||||
instanceName: "ຊື່ເຊີເວີ້"
|
||||
instanceDescription: "ຄໍາອະທິບາຍຕົວຢ່າງ"
|
||||
maintainerName: "ຜູ້ດູແລ"
|
||||
maintainerEmail: "ອີເມວ admin"
|
||||
tosUrl: "ເງື່ອນໄຂການໃຫ້ບໍລິການ URL"
|
||||
thisYear: "ປີນີ້"
|
||||
thisMonth: "ເດືອນນີ້"
|
||||
today: "ມື້ນີ້"
|
||||
dayX: "ວັນ {day}"
|
||||
monthX: "ເດືອນ {month}"
|
||||
yearX: "ປີ {year}"
|
||||
pages: "ໜ້າ"
|
||||
integration: "ຄວາມສຳພັນຂອງ"
|
||||
connectService: "ເຊື່ອມຕໍ່"
|
||||
disconnectService: "ຕັດການເຊື່ອມຕໍ່"
|
||||
enableLocalTimeline: "ເປີດໃຊ້ທາມລາຍທ້ອງຖິ່ນ"
|
||||
enableGlobalTimeline: "ເປີດໃຊ້ທາມລາຍທົ່ວໂລກ"
|
||||
disablingTimelinesInfo: "ຜູ້ເບິ່ງແຍງລະບົບ ແລະຜູ້ຄວບຄຸມຈະມີການເຂົ້າເຖິງທຸກກຳນົດເວລາ, ເຖິງແມ່ນວ່າຈະບໍ່ໄດ້ເປີດໃຊ້ງານກໍຕາມ"
|
||||
registration: "ລົງທະບຽນ"
|
||||
enableRegistration: "ເປີດໃຊ້ການລົງທະບຽນຜູ້ໃຊ້ໃໝ່"
|
||||
invite: "ເຊີນ"
|
||||
driveCapacityPerLocalAccount: "ຄວາມອາດສາມາດຂັບຕໍ່ຜູ້ໃຊ້ທ້ອງຖິ່ນ"
|
||||
driveCapacityPerRemoteAccount: "ໄດຣຟ໌ຄວາມອາດສາມາດຕໍ່ຜູ້ໃຊ້ທາງໄກ"
|
||||
pinnedNotes: "ບັນທຶກທີ່ປັກໝຸດໄວ້"
|
||||
turnstileSiteKey: "ກະແຈໄຊທ໌"
|
||||
turnstileSecretKey: "ກະແຈລັບ"
|
||||
name: "ຊື່"
|
||||
userList: "ລາຍການ"
|
||||
about: "ກ່ຽວກັບ"
|
||||
aboutMisskey: "ກ່ຽວກັບ Misskey"
|
||||
administrator: "ຜູ້ບໍລິຫານ"
|
||||
share: "ແບ່ງປັນ"
|
||||
notFound: "ບໍ່ພົບ"
|
||||
cacheClear: "ລຶບລ້າງແຄສ"
|
||||
invites: "ເຊີນ"
|
||||
title: "ຫົວຂໍ້"
|
||||
text: "ຂໍ້ຄວາມ"
|
||||
enable: "ເປີດໃຊ້"
|
||||
next: "ຕໍ່ໄປ"
|
||||
invitations: "ເຊີນ"
|
||||
language: "ພາສາ"
|
||||
native: "ພາສາແມ່"
|
||||
category: "ຫມວດຫມູ່"
|
||||
tags: "ແທ໋ກ"
|
||||
createAccount: "ສ້າງບັນຊີ"
|
||||
existingAccount: "ທີ່ມີຢູ່"
|
||||
dashboard: "ໜ້າປັດ"
|
||||
local: "ທ້ອງຖິ່ນ"
|
||||
objectStorageRegion: "ພາກພື້ນ"
|
||||
sounds: "ສຽງ"
|
||||
sound: "ສຽງ"
|
||||
none: "ບໍ່ມີ"
|
||||
volume: "ລະດັບສຽງ"
|
||||
details: "ລາຍລະອຽດ"
|
||||
install: "ຕິດຕັ້ງ"
|
||||
uninstall: "ຖອນການຕິດຕັ້ງ"
|
||||
state: "ສະຖານະ"
|
||||
sort: "ຈັດຮຽງໂດຍ"
|
||||
ascendingOrder: "ນ້ອຍໄປຫາໃຫຍ່"
|
||||
descendingOrder: "ໃຫຍ່ຫານ້ອຍ"
|
||||
output: "ຜົນຜະລິດ"
|
||||
script: "ບົດຄວາມ"
|
||||
smtpHost: "ໂຮດສ"
|
||||
smtpUser: "ຊື່ຜູ້ໃຊ້"
|
||||
smtpPass: "ລະຫັດຜ່ານ"
|
||||
clearCache: "ລຶບລ້າງແຄສ"
|
||||
info: "ກ່ຽວກັບ"
|
||||
user: "ຜູ້ໃຊ້ຕ່າງໆ"
|
||||
searchByGoogle: "ຄົ້ນຫາ"
|
||||
file: "ໄຟລ໌"
|
||||
@ -195,11 +335,15 @@ _sfx:
|
||||
note: "ບັນທຶກ"
|
||||
notification: "ການແຈ້ງເຕືອນ"
|
||||
chat: "ແຊ໋ດ"
|
||||
_2fa:
|
||||
renewTOTPCancel: "ບໍ່ແມ່ນຕອນນີ້"
|
||||
_widgets:
|
||||
profile: "ໂພຼຟາຍ"
|
||||
instanceInfo: "ອີນສະແຕນ"
|
||||
notifications: "ການແຈ້ງເຕືອນ"
|
||||
timeline: "ເສັ້ນກຳນົດເວລາ"
|
||||
activity: "ກິດຈະກຳ"
|
||||
federation: "ສະຫະພັນ"
|
||||
_userList:
|
||||
chooseList: "ເລືອກບັນຊີລາຍການ"
|
||||
_cw:
|
||||
@ -208,14 +352,19 @@ _visibility:
|
||||
home: "ໜ້າຫຼັກ"
|
||||
followers: "ຜູ້ຕິດຕາມ"
|
||||
_profile:
|
||||
name: "ຊື່"
|
||||
username: "ຊື່ຜູ້ໃຊ້"
|
||||
_exportOrImport:
|
||||
followingList: "ກຳລັງຕິດຕາມ"
|
||||
muteList: "ປີດສຽງ"
|
||||
blockingList: "ບ໋ອກ"
|
||||
userLists: "ລາຍການ"
|
||||
_charts:
|
||||
federation: "ສະຫະພັນ"
|
||||
_timelines:
|
||||
home: "ໜ້າຫຼັກ"
|
||||
_play:
|
||||
script: "ບົດຄວາມ"
|
||||
_pages:
|
||||
blocks:
|
||||
image: "ຮູບພາບ"
|
||||
@ -237,3 +386,5 @@ _deck:
|
||||
list: "ລາຍການ"
|
||||
channel: "ຊ່ອງ"
|
||||
mentions: "ກ່າວເຖິງ"
|
||||
_webhookSettings:
|
||||
name: "ຊື່"
|
||||
|
@ -254,12 +254,12 @@ noMoreHistory: "Er is geen verdere geschiedenis"
|
||||
startMessaging: "Start een gesprek"
|
||||
nUsersRead: "gelezen door {n}"
|
||||
agreeTo: "Ik stem in met {0}"
|
||||
tos: "Gebruiksvoorwaarden"
|
||||
start: "Aan de slag"
|
||||
home: "Startpagina"
|
||||
remoteUserCaution: "Aangezien deze gebruiker van een externe server afkomstig is, kan de weergegeven informatie onvolledig zijn."
|
||||
activity: "Activiteit"
|
||||
images: "Afbeeldingen"
|
||||
image: "Afbeeldingen"
|
||||
birthday: "Geboortedatum"
|
||||
yearsOld: "{age} jaar"
|
||||
registeredDate: "Inschrijvingsdatum"
|
||||
@ -376,13 +376,10 @@ about: "Over"
|
||||
aboutMisskey: "Over CherryPick"
|
||||
administrator: "Beheerder"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Tweestapsverificatie"
|
||||
moderator: "Moderator"
|
||||
moderation: "Moderatie"
|
||||
nUsersMentioned: "Vermeld door {n} gebruikers"
|
||||
securityKey: "Beveiligingssleutel"
|
||||
securityKeyName: "Sleutelnaam"
|
||||
registerSecurityKey: "Zekerheids-Sleutel registreren"
|
||||
lastUsed: "Laatst gebruikt"
|
||||
unregister: "Uitschrijven"
|
||||
passwordLessLogin: "Inloggen zonder wachtwoord"
|
||||
@ -399,8 +396,6 @@ markAsReadAllTalkMessages: "Markeer alle berichten als gelezen"
|
||||
help: "Help"
|
||||
inputMessageHere: "Voer hier je bericht in"
|
||||
close: "Sluiten"
|
||||
group: "Groep"
|
||||
groups: "Groepen"
|
||||
invites: "Uitnodigen"
|
||||
invitations: "Uitnodigen"
|
||||
sound: "Geluid"
|
||||
@ -435,6 +430,8 @@ _sfx:
|
||||
note: "Notities"
|
||||
notification: "Meldingen"
|
||||
chat: "Chat"
|
||||
_2fa:
|
||||
renewTOTPCancel: "Nee, bedankt"
|
||||
_widgets:
|
||||
profile: "Profiel"
|
||||
instanceInfo: "Serverinformatie"
|
||||
@ -486,3 +483,5 @@ _deck:
|
||||
antenna: "Antennes"
|
||||
list: "Lijsten"
|
||||
mentions: "Vermeldingen"
|
||||
_webhookSettings:
|
||||
name: "Naam"
|
||||
|
@ -1,2 +1,484 @@
|
||||
---
|
||||
_lang_: "Norsk Bokmål"
|
||||
search: "Søk"
|
||||
notifications: "Varsler"
|
||||
username: "Brukernavn"
|
||||
password: "Passord"
|
||||
forgotPassword: "Glemt passord"
|
||||
ok: "OK"
|
||||
gotIt: "Skjønner"
|
||||
cancel: "Avbryt"
|
||||
noThankYou: "Avbryt"
|
||||
noNotifications: "Ingen varsler"
|
||||
instance: "Server"
|
||||
settings: "Innstillinger"
|
||||
notificationSettings: "Varslingsinnstillinger"
|
||||
otherSettings: "Andre innstillinger"
|
||||
profile: "Profil"
|
||||
timeline: "Tidslinje"
|
||||
login: "Logg inn"
|
||||
loggingIn: "Logget inn"
|
||||
logout: "Logg ut"
|
||||
signup: "Bli med"
|
||||
uploading: "Laster opp"
|
||||
save: "Lagre"
|
||||
users: "Brukere"
|
||||
addUser: "Legg til bruker"
|
||||
favorite: "Favoritt"
|
||||
favorites: "Favoritter"
|
||||
unfavorite: "Fjern favoritt"
|
||||
pin: "Fest"
|
||||
unpin: "Opphev festing"
|
||||
copyContent: "Kopier innhold"
|
||||
copyLink: "Kopier lenke"
|
||||
delete: "Slett"
|
||||
deleteAndEdit: "Slett og rediger"
|
||||
addToList: "Legg til i liste"
|
||||
sendMessage: "Send melding"
|
||||
copyRSS: "Kopier RSS"
|
||||
copyUsername: "Kopier brukernavn"
|
||||
searchUser: "Søk brukere"
|
||||
reply: "Svar"
|
||||
loadMore: "Vis mer"
|
||||
showMore: "Vis mer"
|
||||
showLess: "Lukk"
|
||||
files: "Filer"
|
||||
download: "Nedlastinger"
|
||||
lists: "Lister"
|
||||
noLists: "Ingen lister"
|
||||
following: "Følg"
|
||||
followers: "Følgere"
|
||||
followsYou: "Følger deg"
|
||||
createList: "Opprett liste"
|
||||
error: "Feil"
|
||||
retry: "Prøv igjen"
|
||||
pageLoadError: "Kunne ikke hente side."
|
||||
privacy: "Personvern"
|
||||
follow: "Følg"
|
||||
followRequest: "Følgeforespørsel"
|
||||
followRequests: "Følgeforespørsel"
|
||||
unfollow: "Avfølg"
|
||||
followRequestPending: "Venter på godkjenning"
|
||||
quote: "Sitat"
|
||||
pinned: "Fest"
|
||||
you: "Du"
|
||||
clickToShow: "Klikk for å vise"
|
||||
add: "Legg til"
|
||||
reaction: "Reaksjon"
|
||||
reactions: "Reaksjoner"
|
||||
mute: "Skjul"
|
||||
unmute: "Vis"
|
||||
block: "Blokker"
|
||||
unblock: "Opphev blokkering"
|
||||
blockConfirm: "Blokker?"
|
||||
selectList: "Velg liste"
|
||||
selectChannel: "Velg kanal"
|
||||
emoji: "Emoji"
|
||||
emojis: "Emojier"
|
||||
addEmoji: "Legg til emoji"
|
||||
addAccount: "Legg til konto"
|
||||
selectUser: "Velg bruker"
|
||||
instances: "Server"
|
||||
registeredAt: "Registrerte seg"
|
||||
perHour: "Per time"
|
||||
perDay: "Per dag"
|
||||
blockThisInstance: "Blokker denne serveren"
|
||||
version: "Versjon"
|
||||
statistics: "Statistikk"
|
||||
clearQueue: "Tøm kø"
|
||||
clearQueueConfirmTitle: "Vil du tømme kø?"
|
||||
blockedInstances: "Blokkerte severe"
|
||||
muteAndBlock: "Skjul og blokker"
|
||||
mutedUsers: "Skjulte brukere"
|
||||
blockedUsers: "Blokkerte brukere"
|
||||
editProfile: "Rediger profil"
|
||||
pinLimitExceeded: "Du kan ikke feste flere."
|
||||
noCustomEmojis: "Ingen emoji"
|
||||
blocked: "Blokkert"
|
||||
all: "Alle"
|
||||
changePassword: "Endre passord"
|
||||
security: "Sikkerhet"
|
||||
newPassword: "Nytt passord"
|
||||
newPasswordRetype: "Nytt passord (gjenta)"
|
||||
more: "Mer!"
|
||||
remove: "Slett"
|
||||
removed: "Slettet"
|
||||
saved: "Lagret"
|
||||
upload: "Laste opp"
|
||||
explore: "Utforsk"
|
||||
messageRead: "Lest"
|
||||
agree: "Jeg godtar"
|
||||
home: "Hjem"
|
||||
images: "Bilder"
|
||||
image: "Bilder"
|
||||
birthday: "Bursdag"
|
||||
yearsOld: "{age} år gammel"
|
||||
light: "Lys"
|
||||
dark: "Mørk"
|
||||
fileName: "Filnavn"
|
||||
selectFile: "Velg fil"
|
||||
selectFiles: "Velg fil"
|
||||
selectFolder: "Velg mappe"
|
||||
selectFolders: "Velg mappe"
|
||||
renameFile: "Endre filnavn"
|
||||
folderName: "Mappenavn"
|
||||
createFolder: "Opprett mappe"
|
||||
renameFolder: "Endre mappenavn"
|
||||
deleteFolder: "Slett mappe"
|
||||
addFile: "Legg til fil"
|
||||
emptyFolder: "Denne mappen er tom"
|
||||
copyUrl: "Kopier URL"
|
||||
rename: "Endre navn"
|
||||
doNothing: "Gjør ingenting"
|
||||
accept: "Tillatt"
|
||||
reject: "Avslå"
|
||||
instanceName: "Servernavn"
|
||||
thisYear: "I år"
|
||||
today: "I dag"
|
||||
pages: "Sider"
|
||||
pinnedUsers: "Festete brukrere"
|
||||
pinnedPages: "Festete sider"
|
||||
hcaptcha: "hCaptcha"
|
||||
recaptcha: "reCAPTCHA"
|
||||
name: "Navn"
|
||||
popularUsers: "Populære brukere"
|
||||
exploreUsersCount: "Det finnes {count} brukere"
|
||||
userList: "Lister"
|
||||
about: "Infomasjon"
|
||||
aboutMisskey: "Om Misskey"
|
||||
share: "Del"
|
||||
help: "Hjelp"
|
||||
close: "Lukk"
|
||||
members: "Medlemmer"
|
||||
text: "Tekst"
|
||||
next: "Neste"
|
||||
retype: "Gjenta"
|
||||
available: "Tilgjengelig"
|
||||
unavailable: "Utilgjengelig"
|
||||
tooShort: "For kort"
|
||||
tooLong: "For langt"
|
||||
or: "eller"
|
||||
language: "Språk"
|
||||
aboutX: "Om {x}"
|
||||
category: "Kategorier"
|
||||
createAccount: "Opprett konto"
|
||||
objectStorageRegion: "Region"
|
||||
objectStorageUseSSL: "Bruk SSL"
|
||||
objectStorageUseProxy: "Bruk Proxy"
|
||||
deleteAll: "Slett alt"
|
||||
listen: "Lytt"
|
||||
none: "Ingen"
|
||||
chooseEmoji: "Velg emoji"
|
||||
recentUsed: "Sist brukte"
|
||||
install: "Installer"
|
||||
nothing: "Ingenting"
|
||||
deleteAllFiles: "Slett alle filer"
|
||||
deleteAllFilesConfirm: "Vil du slette alle filer?"
|
||||
accountDeleted: "Kontoen blir slettet"
|
||||
accountDeletedDescription: "Denne kontoen blir slettet"
|
||||
menu: "Meny"
|
||||
poll: "Avstemning"
|
||||
description: "Beskrivelse"
|
||||
author: "Forfatter"
|
||||
height: "Høyde"
|
||||
large: "Stor"
|
||||
small: "Liten"
|
||||
notificationType: "Varseltype"
|
||||
edit: "Rediger"
|
||||
email: "E-post"
|
||||
smtpUser: "Brukernavn"
|
||||
smtpPass: "Passord"
|
||||
userSaysSomething: "{name} sa noe"
|
||||
copy: "Kopier"
|
||||
channel: "Kanaler"
|
||||
create: "Opprett"
|
||||
notificationSetting: "Varslingsinnstillinger"
|
||||
other: "Andre"
|
||||
behavior: "Oppførsel"
|
||||
sample: "Eksempel"
|
||||
abuseReports: "Rappoter"
|
||||
reportAbuse: "Rappoter"
|
||||
send: "Send"
|
||||
openInNewTab: "Åpne i ny fane"
|
||||
waitingFor: "Venter på {x}"
|
||||
system: "System"
|
||||
followingCount: "Følger"
|
||||
followersCount: "Følgere"
|
||||
yes: "Ja"
|
||||
no: "Nei"
|
||||
left: "Venstre"
|
||||
saveAs: "Lagre som"
|
||||
value: "Verdi"
|
||||
deleteConfirm: "Vil du slette?"
|
||||
invalidValue: "Verdien er ugyldig."
|
||||
emailNotification: "E-postvarsler"
|
||||
inChannelSearch: "Søk i kanal"
|
||||
clear: "Tøm"
|
||||
markAllAsRead: "Merk alt som lest"
|
||||
addDescription: "Legg til beskrivelse"
|
||||
info: "Infomasjon"
|
||||
unknown: "Ukjent"
|
||||
selectAccount: "Velg konto"
|
||||
user: "Brukere"
|
||||
accounts: "Kontoer"
|
||||
switch: "Bytt"
|
||||
gallery: "Galleri"
|
||||
ads: "Annonser"
|
||||
high: "Høy"
|
||||
low: "Lav"
|
||||
sent: "Send"
|
||||
learnMore: "Les mer"
|
||||
translate: "Oversett"
|
||||
unread: "Ulest"
|
||||
manageAccounts: "Administrer konto"
|
||||
classic: "Klassisk"
|
||||
muteThread: "Skjul denne tråden"
|
||||
unmuteThread: "Vis denne tråden"
|
||||
tablet: "Nettbrett"
|
||||
auto: "Automatisk"
|
||||
size: "Størrelse"
|
||||
searchByGoogle: "Søk"
|
||||
tenMinutes: "10 minutter"
|
||||
oneHour: "1 time"
|
||||
oneDay: "1 dag"
|
||||
oneWeek: "1 uke"
|
||||
oneMonth: "1 måned"
|
||||
file: "Filer"
|
||||
recommended: "Anbefalt"
|
||||
check: "Sjekk"
|
||||
deleteAccount: "Slett konto"
|
||||
document: "Dokumenter"
|
||||
logoutConfirm: "Vil du logge ut?"
|
||||
pleaseSelect: "Vennligst velg"
|
||||
type: "Type"
|
||||
beta: "Beta"
|
||||
account: "Kontoer"
|
||||
move: "Flytt"
|
||||
pushNotification: "Push-varsler"
|
||||
tools: "Verktøy"
|
||||
like: "Liker!"
|
||||
unlike: "Liker ikke"
|
||||
numberOfLikes: "Likerklikk"
|
||||
show: "Vis"
|
||||
neverShow: "Ikke vis igjen"
|
||||
remindMeLater: "Kanskje senere"
|
||||
didYouLikeMisskey: "Likte du Misskey?"
|
||||
roles: "Roller"
|
||||
role: "Rolle"
|
||||
color: "Farge"
|
||||
youCannotCreateAnymore: "Du kan ikke opprette flere."
|
||||
cannotPerformTemporary: "Midlertidig utilgjengelig"
|
||||
thisPostMayBeAnnoyingCancel: "Avbryt"
|
||||
exploreOtherServers: "Utforsk andre severe"
|
||||
letsLookAtTimeline: "La oss se på tidslinje"
|
||||
cannotBeChangedLater: "Du kan ikke endre senere."
|
||||
likeOnly: "Bare liker"
|
||||
retryAllQueuesConfirmTitle: "Vil du prøve igjen akkurat nå?"
|
||||
video: "Video"
|
||||
videos: "Videoer"
|
||||
continue: "Fortsett"
|
||||
youFollowing: "Følger"
|
||||
options: "Alternativ"
|
||||
_initialAccountSetting:
|
||||
theseSettingsCanEditLater: "Du kan endre disse innstillingene senere."
|
||||
_achievements:
|
||||
_types:
|
||||
_notes100000:
|
||||
flavor: "Du har jammen mye å si."
|
||||
_noteFavorited1:
|
||||
title: "Stjernekikker"
|
||||
_myNoteFavorited1:
|
||||
title: "Jeg vil gjerne få en stjerne"
|
||||
_following50:
|
||||
title: "Mange venner"
|
||||
_following100:
|
||||
title: "100 venner"
|
||||
_following300:
|
||||
title: "For mange venner"
|
||||
_followers10:
|
||||
title: "Følg meg!"
|
||||
_followers100:
|
||||
title: "Populær"
|
||||
_postedAtLateNight:
|
||||
flavor: "Det er på tide å gå til sengs."
|
||||
_driveFolderCircularReference:
|
||||
title: "Rundskrivreferanse"
|
||||
_reactWithoutRead:
|
||||
title: "Leste du det virkelig?"
|
||||
_clickedClickHere:
|
||||
title: "Klikk her"
|
||||
description: "Du har klikket her"
|
||||
_justPlainLucky:
|
||||
title: "Rett og slett heldig"
|
||||
_setNameToSyuilo:
|
||||
description: "Du har satt navnet ditt til \"syuilo\""
|
||||
_loggedInOnBirthday:
|
||||
title: "Gratulerer med dagen"
|
||||
_loggedInOnNewYearsDay:
|
||||
title: "Godt nytt år"
|
||||
_brainDiver:
|
||||
title: "Brain Diver"
|
||||
flavor: "Misskey-Misskey La-Tu-Ma"
|
||||
_role:
|
||||
options: "Alternativ"
|
||||
_priority:
|
||||
low: "Lav"
|
||||
high: "Høy"
|
||||
_emailUnavailable:
|
||||
used: "Allerede brukt"
|
||||
_accountDelete:
|
||||
accountDelete: "Slett konto"
|
||||
_ad:
|
||||
hide: "Ikke vis"
|
||||
_gallery:
|
||||
like: "Liker!"
|
||||
unlike: "Liker ikke"
|
||||
_preferencesBackups:
|
||||
saveNew: "Lagre som ny"
|
||||
cannotSave: "Kunne ikke lagre"
|
||||
_registry:
|
||||
key: "Nøkkel"
|
||||
keys: "Nøkler"
|
||||
_aboutMisskey:
|
||||
about: "Misskey er programvare med åpen kildekode som har blitt utviklet av syuilo siden 2014."
|
||||
translation: "Oversett Misskey"
|
||||
_instanceTicker:
|
||||
none: "Ikke vis"
|
||||
always: "Alltid vis"
|
||||
_channel:
|
||||
create: "Opprett kanal"
|
||||
edit: "Rediger kanal"
|
||||
featured: "Populært"
|
||||
following: "Følger"
|
||||
nameAndDescription: "Navn og beskrivelse"
|
||||
_wordMute:
|
||||
soft: "Myk"
|
||||
hard: "Hard"
|
||||
_theme:
|
||||
description: "Beskrivelse"
|
||||
color: "Farge"
|
||||
key: "Nøkkel"
|
||||
keys:
|
||||
link: "Lenke"
|
||||
_sfx:
|
||||
notification: "Varsler"
|
||||
_ago:
|
||||
future: "Fremitid"
|
||||
justNow: "Akkurat nå"
|
||||
secondsAgo: "{n} sekunder siden"
|
||||
minutesAgo: "{n} minutter siden"
|
||||
hoursAgo: "{n} timer siden"
|
||||
daysAgo: "{n} dager siden"
|
||||
weeksAgo: "{n} uker siden"
|
||||
monthsAgo: "{n} måneder siden"
|
||||
yearsAgo: "{n} år siden"
|
||||
invalid: "Ingenting"
|
||||
_time:
|
||||
second: "Sekunder"
|
||||
minute: "Minutter"
|
||||
hour: "Timer"
|
||||
day: "Dager"
|
||||
_timelineTutorial:
|
||||
title: "Hvordan bruke Misskey"
|
||||
_2fa:
|
||||
renewTOTPCancel: "Avbryt"
|
||||
_weekday:
|
||||
sunday: "Søndag"
|
||||
monday: "Mandag"
|
||||
tuesday: "Tirsdag"
|
||||
wednesday: "Onsdag"
|
||||
thursday: "Torsdag"
|
||||
friday: "Fredag"
|
||||
saturday: "Lørdag"
|
||||
_widgets:
|
||||
profile: "Profil"
|
||||
notifications: "Varsler"
|
||||
timeline: "Tidslinje"
|
||||
calendar: "Kalender"
|
||||
trends: "Populært"
|
||||
clock: "Klokke"
|
||||
photos: "Bilder"
|
||||
button: "Knapp"
|
||||
aiscriptApp: "AiScript App"
|
||||
userList: "Brukerliste"
|
||||
_userList:
|
||||
chooseList: "Velg liste"
|
||||
_cw:
|
||||
show: "Vis mer"
|
||||
_poll:
|
||||
noOnlyOneChoice: "Trenger minst to valger."
|
||||
choiceN: "Valg {n}"
|
||||
noMore: "Du kan ikke legge til flere."
|
||||
deadlineTime: "Timer"
|
||||
votesCount: "{n} stemmer"
|
||||
vote: "Stem"
|
||||
showResult: "Vis resultatet"
|
||||
voted: "Stemt"
|
||||
closed: "Avsluttet"
|
||||
_visibility:
|
||||
home: "Hjem"
|
||||
followers: "Følgere"
|
||||
_postForm:
|
||||
_placeholders:
|
||||
a: "Hva skjer?"
|
||||
_profile:
|
||||
name: "Navn"
|
||||
username: "Brukernavn"
|
||||
metadataContent: "Innhold"
|
||||
_exportOrImport:
|
||||
followingList: "Følg"
|
||||
muteList: "Skjul"
|
||||
blockingList: "Blokker"
|
||||
userLists: "Lister"
|
||||
_charts:
|
||||
filesIncDec: "Forskjell på antall filer"
|
||||
_instanceCharts:
|
||||
users: "Forskjell på antall brukere"
|
||||
ff: "Forskjell på antall Følg/Følgere"
|
||||
files: "Forskjell på antall filer"
|
||||
_timelines:
|
||||
home: "Hjem"
|
||||
_play:
|
||||
new: "Opprett Play"
|
||||
edit: "Rediger Play"
|
||||
featured: "Populært"
|
||||
summary: "Beskrivelse"
|
||||
_pages:
|
||||
like: "Liker"
|
||||
unlike: "Liker ikke"
|
||||
my: "Mine sider"
|
||||
featured: "Populært"
|
||||
contents: "Innhold"
|
||||
url: "Side URL"
|
||||
fontSerif: "Serif"
|
||||
fontSansSerif: "Sans Serif"
|
||||
selectType: "Velg type"
|
||||
blocks:
|
||||
text: "Tekst"
|
||||
section: "Seksjon"
|
||||
image: "Bilde"
|
||||
button: "Knapp"
|
||||
_notification:
|
||||
_types:
|
||||
follow: "Følg"
|
||||
reply: "Svar"
|
||||
quote: "Sitat"
|
||||
reaction: "Reaksjon"
|
||||
_actions:
|
||||
reply: "Svar"
|
||||
_deck:
|
||||
swapLeft: "Flytt til venstre"
|
||||
swapRight: "Flytt til høyre"
|
||||
swapUp: "Flytt opp"
|
||||
swapDown: "Flytt ned"
|
||||
profile: "Profil"
|
||||
newProfile: "Ny profil"
|
||||
deleteProfile: "Slett profil"
|
||||
_columns:
|
||||
notifications: "Varsler"
|
||||
tl: "Tidslinje"
|
||||
list: "Lister"
|
||||
channel: "Kanaler"
|
||||
direct: "Direkte"
|
||||
_webhookSettings:
|
||||
name: "Navn"
|
||||
|
@ -129,6 +129,7 @@ unblockConfirm: "Czy na pewno chcesz odblokować to konto?"
|
||||
suspendConfirm: "Czy na pewno chcesz zawiesić to konto?"
|
||||
unsuspendConfirm: "Czy na pewno chcesz cofnąć zawieszenie tego konta?"
|
||||
selectList: "Wybierz listę"
|
||||
selectChannel: "Wybierz kanał"
|
||||
selectAntenna: "Wybierz Antennę"
|
||||
selectWidget: "Wybierz widżet"
|
||||
editWidgets: "Edytuj widżety"
|
||||
@ -149,6 +150,7 @@ flagAsCatDescription: "Przełącz tę opcję, aby konto było oznaczone jako kot
|
||||
flagShowTimelineReplies: "Pokazuj odpowiedzi na osi czasu"
|
||||
autoAcceptFollowed: "Automatycznie przyjmuj prośby o możliwość obserwacji od użytkowników, których obserwujesz"
|
||||
addAccount: "Dodaj konto"
|
||||
reloadAccountsList: "Odśwież listę kont"
|
||||
loginFailed: "Nie udało się zalogować"
|
||||
showOnRemote: "Zobacz na zdalnej instancji"
|
||||
general: "Ogólne"
|
||||
@ -159,6 +161,7 @@ searchWith: "Szukaj: {q}"
|
||||
youHaveNoLists: "Nie masz żadnej listy"
|
||||
followConfirm: "Czy na pewno chcesz zaobserwować {name}?"
|
||||
proxyAccount: "Konto proxy"
|
||||
proxyAccountDescription: "Opis konta pełnomocniczego"
|
||||
host: "Host"
|
||||
selectUser: "Wybierz użytkownika"
|
||||
recipient: "Odbiorca"
|
||||
@ -253,12 +256,13 @@ noMoreHistory: "Nie ma dalszej historii"
|
||||
startMessaging: "Rozpocznij czat"
|
||||
nUsersRead: "przeczytano przez {n}"
|
||||
agreeTo: "Wyrażam zgodę na {0}"
|
||||
tos: "Regulamin"
|
||||
agreeBelow: "Zaakceptuj poniżej"
|
||||
start: "Rozpocznij"
|
||||
home: "Strona główna"
|
||||
remoteUserCaution: "Te informacje mogą nie być aktualne, ponieważ użytkownik pochodzi ze zdalnej instancji."
|
||||
activity: "Aktywność"
|
||||
images: "Zdjęcia"
|
||||
image: "Zdjęcia"
|
||||
birthday: "Data urodzenia"
|
||||
yearsOld: "{age} lat"
|
||||
registeredDate: "Zarejestrowano"
|
||||
@ -385,16 +389,19 @@ about: "Informacje"
|
||||
aboutMisskey: "O CherryPick"
|
||||
administrator: "Admin"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Uwierzytelnianie dwuskładnikowe"
|
||||
2fa: "Klucz 2FA "
|
||||
totp: "Klucz aplikacji uwierzytelniającej (totp)"
|
||||
totpDescription: "Opis klucza czasowego"
|
||||
moderator: "Moderator"
|
||||
moderation: "Moderacja"
|
||||
nUsersMentioned: "{n} wspomnianych użytkowników"
|
||||
securityKeyAndPasskey: "Klucz bezpieczeństwa i klucze Passkey"
|
||||
securityKey: "Klucz bezpieczeństwa"
|
||||
securityKeyName: "Nazwa klucza"
|
||||
registerSecurityKey: "Zarejestruj klucz bezpieczeństwa"
|
||||
lastUsed: "Ostatnio używane"
|
||||
lastUsedAt: "Ostatnio używane w"
|
||||
unregister: "Cofnij rejestrację"
|
||||
passwordLessLogin: "Skonfiguruj logowanie bez użycia hasła"
|
||||
passwordLessLoginDescription: "Opis logowania bez użycia hasła"
|
||||
resetPassword: "Zresetuj hasło"
|
||||
newPasswordIs: "Nowe hasło to „{password}”"
|
||||
reduceUiAnimation: "Ogranicz animacje w UI"
|
||||
@ -448,7 +455,6 @@ passwordMatched: "Pasuje"
|
||||
passwordNotMatched: "Hasła nie pasują do siebie"
|
||||
signinWith: "Zaloguj się z {x}"
|
||||
signinFailed: "Nie udało się zalogować. Wprowadzona nazwa użytkownika lub hasło są nieprawidłowe."
|
||||
tapSecurityKey: "Wybierz swój klucz bezpieczeństwa"
|
||||
or: "Lub"
|
||||
language: "Język"
|
||||
uiLanguage: "Język wyświetlania UI"
|
||||
@ -534,11 +540,16 @@ disablePagesScript: "Wyłącz AiScript na Stronach"
|
||||
updateRemoteUser: "Aktualizuj zdalne dane o użytkowniku"
|
||||
deleteAllFiles: "Usuń wszystkie pliki"
|
||||
deleteAllFilesConfirm: "Czy na pewno chcesz usunąć wszystkie pliki?"
|
||||
removeAllFollowing: "Przestań obserwować"
|
||||
removeAllFollowingDescription: "Przestań obserwować wszystkie konta z {host}. Wykonaj to, jeżeli instancja już nie istnieje."
|
||||
userSuspended: "To konto zostało zawieszone."
|
||||
userSilenced: "Ten użytkownik został wyciszony."
|
||||
yourAccountSuspendedTitle: "To konto jest zawieszone"
|
||||
yourAccountSuspendedDescription: "To konto zostało zawieszone z powodu złamania regulaminu serwera lub innych podobnych. Skontaktuj się z administratorem, jeśli chciałbyś poznać bardziej szczegółowy powód. Proszę nie zakładać nowego konta."
|
||||
tokenRevoked: "Token odrzucony"
|
||||
tokenRevokedDescription: "Opis odrzuconego tokena"
|
||||
accountDeleted: "Konto usunięte"
|
||||
accountDeletedDescription: "Opis konta usuniętego"
|
||||
menu: "Menu"
|
||||
divider: "Rozdzielacz"
|
||||
addItem: "Dodaj element"
|
||||
@ -564,7 +575,9 @@ author: "Autor"
|
||||
leaveConfirm: "Są niezapisane zmiany. Czy chcesz je odrzucić?"
|
||||
manage: "Zarządzanie"
|
||||
plugins: "Wtyczki"
|
||||
preferencesBackups: "Kopia zapasowa ustawień"
|
||||
deck: "Tablica"
|
||||
undeck: "oddkouj"
|
||||
useBlurEffectForModal: "Używaj efektu rozmycia w modalach"
|
||||
useFullReactionPicker: "Używaj pełnowymiarowego wybornika reakcji"
|
||||
width: "Szerokość"
|
||||
@ -580,7 +593,6 @@ tokenRequested: "Przydziel dostęp do konta"
|
||||
pluginTokenRequestedDescription: "Ta wtyczka będzie mogła korzystać z ustawionych tu uprawnień."
|
||||
notificationType: "Rodzaj powiadomień"
|
||||
edit: "Edytuj"
|
||||
useStarForReactionFallback: "Użyj ★ jako zapasowego emoji, gdy emoji reakcji jest nieznane"
|
||||
emailServer: "Serwer poczty e-mail"
|
||||
enableEmail: "Włącz dostarczanie wiadomości e-mail"
|
||||
emailConfigInfo: "Wykorzystywany do potwierdzenia adresu e-mail w trakcie rejestracji, lub gdy zapomnisz hasła"
|
||||
@ -828,11 +840,14 @@ auto: "Automatycznie"
|
||||
size: "Rozmiar"
|
||||
numberOfColumn: "Liczba kolumn"
|
||||
searchByGoogle: "Szukaj"
|
||||
period: "Ankieta kończy się"
|
||||
indefinitely: "Nigdy"
|
||||
tenMinutes: "10 minut"
|
||||
oneHour: "1 godzina"
|
||||
oneDay: "1 dzień"
|
||||
oneWeek: "1 tydzień"
|
||||
oneMonth: "jeden miesiąc"
|
||||
failedToFetchAccountInformation: "Nie udało się uzyskać informacji o koncie"
|
||||
file: "Pliki"
|
||||
recommended: "Zalecane"
|
||||
check: "Zweryfikuj"
|
||||
@ -869,6 +884,7 @@ loggedInAsBot: "Jesteś obecnie zalogowany/a jako bot"
|
||||
like: "Polub"
|
||||
show: "Wyświetlanie"
|
||||
color: "Kolor"
|
||||
youFollowing: "Śledzeni"
|
||||
_role:
|
||||
priority: "Priorytet"
|
||||
_priority:
|
||||
@ -1141,45 +1157,20 @@ _ago:
|
||||
weeksAgo: "{n} tyg. temu"
|
||||
monthsAgo: "{n} mies. temu"
|
||||
yearsAgo: "{n} lat temu"
|
||||
invalid: "Nie ma tu niczego"
|
||||
_time:
|
||||
second: "sekunda"
|
||||
minute: "minuta"
|
||||
hour: "godz."
|
||||
day: "dzień"
|
||||
_tutorial:
|
||||
title: "Jak korzystać z CherryPick"
|
||||
step1_1: "Witaj!"
|
||||
step1_2: "Ta strona nazywa się „oś czasu”. Pokazuje chronologicznie uporządkowane wpisy osób, które „śledzisz”."
|
||||
step1_3: "Twoja oś czasu jest jeszcze pusta, ponieważ nie opublikowałeś(-aś) jeszcze żadnych wpisów i nie obserwujesz jeszcze nikogo."
|
||||
step2_1: "Ukończmy konfigurację profilu zanim utworzymy wpis lub zaczniemy kogoś obserwować."
|
||||
step2_2: "Podanie pewnych informacji o tym, kim jesteś, ułatwi innym określenie, czy chcą widzieć Twoje wpisy lub Cię obserwować."
|
||||
step3_1: "Zakończyłeś(-aś) konfigurację profilu?"
|
||||
step3_2: "Następnie spróbujmy opublikować wpis. Możesz to zrobić, naciskając przycisk z ikoną ołówka na ekranie."
|
||||
step3_3: "Wypełnij pole i kliknij przycisk w prawym górnym rogu by wysłać post."
|
||||
step3_4: "Nie masz nic do powiedzenia? Spróbuj \"ustawiam swój CherryPick\"!"
|
||||
step4_1: "Zakończyłeś publikowanie pierwszego wpisu?"
|
||||
step4_2: "Hurra! Teraz Twój pierwszy wpis powinien być wyświetlany na Twojej osi czasu."
|
||||
step5_1: "Teraz spróbujmy ożywić Twoją oś czasu, przez zaobserwowanie innych ludzi."
|
||||
step5_2: "{featured} pokaże Ci popularne wpisy na tej instancji. {explore} pozwoli Ci znaleźć popularnych użytkowników. Spróbuj znaleźć tam osoby, które chcesz obserwować!"
|
||||
step5_3: "Aby obserwować innych użytkowników, kliknij ich ikonę i naciśnij przycisk \"Obserwuj\" na ich profilu."
|
||||
step5_4: "Jeśli inny użytkownik ma ikonę kłódki obok swojej nazwy, może minąć trochę czasu, zanim ten użytkownik ręcznie zatwierdzi Twoją prośbę o obserwowanie."
|
||||
step6_1: "Powinieneś teraz widzieć wpisy innych użytkowników na swojej osi czasu."
|
||||
step6_2: "Możesz także umieścić „reakcje” na wpisach innych osób, aby szybko na nie odpowiedzieć."
|
||||
step6_3: "Aby dodać \"reakcję\", naciśnij znak \"+\" na wpisie innego użytkownika i wybierz emotikonę, którą chcesz zareagować."
|
||||
step7_1: "Gratulacje! Ukończyłeś podstawowy samouczek CherryPick."
|
||||
step7_2: "Jeśli chcesz dowiedzieć się więcej o CherryPick, wypróbuj sekcję {help}."
|
||||
step7_3: "A teraz powodzenia i baw się dobrze z CherryPick! 🚀"
|
||||
step8_1: "Na sam koniec, czy nie chciał(a)byś włączyć powiadomień push?"
|
||||
step8_2: "Włączenie tej opcji pozwoli ci otrzymywać powiadomienia o reakcjach, śledzeniach i wzmiankach nawet wtedy, gdy CherryPick nie będzie otwarty."
|
||||
step8_3: "Ustawienia powiadomień można zmienić później."
|
||||
_2fa:
|
||||
alreadyRegistered: "Zarejestrowałeś już urządzenie do uwierzytelniania dwuskładnikowego."
|
||||
registerDevice: "Zarejestruj nowe urządzenie"
|
||||
registerKey: "Zarejestruj klucz bezpieczeństwa"
|
||||
step1: "Najpierw, zainstaluj aplikację uwierzytelniającą (taką jak {a} lub {b}) na swoim urządzeniu."
|
||||
step2: "Następnie, zeskanuje kod QR z ekranu."
|
||||
step3: "Wprowadź token podany w aplikacji, aby ukończyć konfigurację."
|
||||
step4: "Od teraz, przy każdej próbie logowania otrzymasz prośbę o token logowania."
|
||||
removeKeyConfirm: "Usunąć kopię zapasową {name}?"
|
||||
renewTOTPCancel: "Nie teraz"
|
||||
_permissions:
|
||||
"read:account": "Wyświetl informacje o swoim koncie"
|
||||
"write:account": "Edytuj swoje informacje o koncie"
|
||||
@ -1440,3 +1431,6 @@ _deck:
|
||||
channel: "Kanały"
|
||||
mentions: "Wspomnienia"
|
||||
direct: "Bezpośredni"
|
||||
_webhookSettings:
|
||||
name: "Nazwa"
|
||||
active: "Właczono"
|
||||
|
@ -252,12 +252,12 @@ noMoreHistory: "Sem mais história"
|
||||
startMessaging: "Iniciar conversação"
|
||||
nUsersRead: "{n} Pessoas leem"
|
||||
agreeTo: "Eu concordo com {0}"
|
||||
tos: "Termos de serviço"
|
||||
start: "começar"
|
||||
home: "casa"
|
||||
remoteUserCaution: "As informações estão incompletas porque é um utilizador remoto."
|
||||
activity: "atividade"
|
||||
images: "imagem"
|
||||
image: "imagem"
|
||||
birthday: "aniversário"
|
||||
yearsOld: "{age} anos"
|
||||
registeredDate: "Data de registro"
|
||||
@ -382,12 +382,9 @@ about: "Informações"
|
||||
aboutMisskey: "Sobre CherryPick"
|
||||
administrator: "Administrador"
|
||||
token: "Símbolo"
|
||||
twoStepAuthentication: "Verificação em duas etapas"
|
||||
moderator: "Moderador"
|
||||
nUsersMentioned: "Postado por {n} pessoas"
|
||||
securityKey: "Chave de segurança"
|
||||
securityKeyName: "Nome chave"
|
||||
registerSecurityKey: "Registre a chave de segurança"
|
||||
lastUsed: "Último uso"
|
||||
unregister: "Cancelar registro"
|
||||
passwordLessLogin: "Entrar sem senha"
|
||||
@ -405,10 +402,6 @@ markAsReadAllTalkMessages: "Marcar todas as conversas como lidas"
|
||||
help: "Ajuda"
|
||||
inputMessageHere: "Escrever mensagem aqui"
|
||||
close: "Fechar"
|
||||
group: "Grupos"
|
||||
groups: "Grupos"
|
||||
createGroup: "Criar grupo"
|
||||
ownedGroups: "Grupo próprio"
|
||||
invites: "Convidar"
|
||||
invitations: "Convidar"
|
||||
tags: "Etiquetas"
|
||||
@ -522,12 +515,9 @@ _notification:
|
||||
youGotMention: "{name} te mencionou"
|
||||
youGotReply: "{name} te respondeu"
|
||||
youGotQuote: "{name} te citou"
|
||||
youGotMessagingMessageFromUser: "{name} te mandou uma mensagem de bate-papo"
|
||||
youGotMessagingMessageFromGroup: "Uma mensagem foi mandada para o grupo {name}"
|
||||
youWereFollowed: "Você tem um novo seguidor"
|
||||
youReceivedFollowRequest: "Você recebeu um pedido de seguimento"
|
||||
yourFollowRequestAccepted: "Seu pedido de seguimento foi aceito"
|
||||
youWereInvitedToGroup: "{userName} te convidou para um grupo"
|
||||
pollEnded: "Os resultados da enquete agora estão disponíveis"
|
||||
emptyPushNotificationMessage: "As notificações de alerta foram atualizadas"
|
||||
_types:
|
||||
@ -541,7 +531,6 @@ _notification:
|
||||
pollEnded: "Enquetes terminando"
|
||||
receiveFollowRequest: "Recebeu pedidos de seguimento"
|
||||
followRequestAccepted: "Aceitou pedidos de seguimento"
|
||||
groupInvited: "Convites de grupo"
|
||||
app: "Notificações de aplicativos conectados"
|
||||
_actions:
|
||||
followBack: "te seguiu de volta"
|
||||
@ -566,3 +555,5 @@ _deck:
|
||||
list: "Listas"
|
||||
mentions: "Menções"
|
||||
direct: "Notas diretas"
|
||||
_webhookSettings:
|
||||
name: "Nome"
|
||||
|
@ -252,12 +252,12 @@ noMoreHistory: "Nu există mai mult istoric"
|
||||
startMessaging: "Începe un chat nou"
|
||||
nUsersRead: "citit de {n}"
|
||||
agreeTo: "Sunt de acord cu {0}"
|
||||
tos: "Termenii de utilizare"
|
||||
start: "Să începem"
|
||||
home: "Acasă"
|
||||
remoteUserCaution: "Deoarece acest utilizator este dintr-o instanță externă, informația afișată poate fi incompletă."
|
||||
activity: "Activitate"
|
||||
images: "Imagini"
|
||||
image: "Imagini"
|
||||
birthday: "Zi de naștere"
|
||||
yearsOld: "{age} ani"
|
||||
registeredDate: "Data înregistrării"
|
||||
@ -382,12 +382,9 @@ about: "Despre"
|
||||
aboutMisskey: "Despre CherryPick"
|
||||
administrator: "Administrator"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Autentificare în doi pași"
|
||||
moderator: "Moderator"
|
||||
nUsersMentioned: "Menționat de {n} utilizatori"
|
||||
securityKey: "Cheie de securitate"
|
||||
securityKeyName: "Numele cheii"
|
||||
registerSecurityKey: "Înregistrează o cheie de securitate"
|
||||
lastUsed: "Ultima utilizată"
|
||||
unregister: "Dezînregistrează"
|
||||
passwordLessLogin: "Autentificare fără parolă"
|
||||
@ -405,24 +402,15 @@ markAsReadAllTalkMessages: "Marchează toate mesajele drept citit"
|
||||
help: "Ajutor"
|
||||
inputMessageHere: "Introdu un mesaj aici"
|
||||
close: "Închide"
|
||||
group: "Grup"
|
||||
groups: "Grupuri"
|
||||
createGroup: "Crează un grup"
|
||||
ownedGroups: "Grupuri deținute"
|
||||
joinedGroups: "Grupuri alăturate"
|
||||
invites: "Invită"
|
||||
groupName: "Numele grupului"
|
||||
members: "Membri"
|
||||
transfer: "Transferă"
|
||||
messagingWithUser: "Chat privat"
|
||||
messagingWithGroup: "Chat de grup"
|
||||
title: "Titlu"
|
||||
text: "Text"
|
||||
enable: "Activează"
|
||||
next: "Următorul"
|
||||
retype: "Introdu din nou"
|
||||
noteOf: "Notă de {user}"
|
||||
inviteToGroup: "Invită în grup"
|
||||
quoteAttached: "Citat"
|
||||
quoteQuestion: "Vrei să adaugi ca citat?"
|
||||
noMessagesYet: "Niciun mesaj încă"
|
||||
@ -444,15 +432,11 @@ passwordMatched: "Se potrivește!"
|
||||
passwordNotMatched: "Nu se potrivește"
|
||||
signinWith: "Autentifică-te cu {x}"
|
||||
signinFailed: "Nu se poate autentifica. Numele de utilizator sau parola introduse sunt incorecte."
|
||||
tapSecurityKey: "Apasă pe cheia ta de securitate."
|
||||
or: "Sau"
|
||||
language: "Limbă"
|
||||
uiLanguage: "Limba interfeței"
|
||||
groupInvited: "Ai fost invitat într-un grup"
|
||||
aboutX: "Despre {x}"
|
||||
disableDrawer: "Nu folosi meniuri în stil sertar"
|
||||
youHaveNoGroups: "Nu ai niciun grup"
|
||||
joinOrCreateGroup: "Primește o invitație într-un grup sau creează unul nou."
|
||||
noHistory: "Nu există istoric"
|
||||
signinHistory: "Istoric autentificări"
|
||||
doing: "Se procesează..."
|
||||
@ -577,7 +561,6 @@ tokenRequested: "Acordă acces la cont"
|
||||
pluginTokenRequestedDescription: "Acest plugin va putea să folosească permisiunile setate aici."
|
||||
notificationType: "Tipul notificării"
|
||||
edit: "Editează"
|
||||
useStarForReactionFallback: "Folosește ★ ca fallback dacă emoji-ul este necunoscut"
|
||||
emailServer: "Server email"
|
||||
enableEmail: "Activează distribuția de emailuri"
|
||||
emailConfigInfo: "Folosit pentru a confirma emailul tău în timpul logări dacă îți uiți parola"
|
||||
@ -664,6 +647,8 @@ _sfx:
|
||||
note: "Note"
|
||||
notification: "Notificări"
|
||||
chat: "Chat"
|
||||
_ago:
|
||||
invalid: "Nu e nimic de văzut aici"
|
||||
_widgets:
|
||||
profile: "Profil"
|
||||
instanceInfo: "Informații despre instanță"
|
||||
@ -699,7 +684,6 @@ _pages:
|
||||
image: "Imagini"
|
||||
_notification:
|
||||
youWereFollowed: "te-a urmărit"
|
||||
youWereInvitedToGroup: "Ai fost invitat într-un grup"
|
||||
_types:
|
||||
follow: "Urmărești"
|
||||
mention: "Mențiune"
|
||||
@ -717,3 +701,5 @@ _deck:
|
||||
list: "Liste"
|
||||
channel: "Canale"
|
||||
mentions: "Mențiuni"
|
||||
_webhookSettings:
|
||||
name: "Nume"
|
||||
|
@ -8,7 +8,7 @@ search: "Поиск"
|
||||
notifications: "Уведомления"
|
||||
username: "Имя пользователя"
|
||||
password: "Пароль"
|
||||
forgotPassword: "Пароль забыт"
|
||||
forgotPassword: "Забыли пароль?"
|
||||
fetchingAsApObject: "Приём с других сайтов"
|
||||
ok: "Окей"
|
||||
gotIt: "Ясно!"
|
||||
@ -20,6 +20,7 @@ noNotes: "Нет ни одной заметки"
|
||||
noNotifications: "Нет ни одного уведомления"
|
||||
instance: "Инстанс"
|
||||
settings: "Настройки"
|
||||
notificationSettings: "Настройки уведомлений"
|
||||
basicSettings: "Основные настройки"
|
||||
otherSettings: "Прочие настройки"
|
||||
openInWindow: "Открыть в плавающем окне"
|
||||
@ -103,6 +104,8 @@ renoted: "Репост совершён."
|
||||
cantRenote: "Это нельзя репостить."
|
||||
cantReRenote: "Невозможно репостить репост."
|
||||
quote: "Цитата"
|
||||
inChannelRenote: "В канале"
|
||||
inChannelQuote: "Заметки в канале"
|
||||
pinnedNote: "Закреплённая заметка"
|
||||
pinned: "Закрепить в профиле"
|
||||
you: "Вы"
|
||||
@ -120,6 +123,8 @@ unmarkAsSensitive: "Снять отметку «не для всех»"
|
||||
enterFileName: "Введите имя файла"
|
||||
mute: "Скрыть"
|
||||
unmute: "Отменить скрытие"
|
||||
renoteMute: "Заглушить репосты"
|
||||
renoteUnmute: "Включить репосты"
|
||||
block: "Заблокировать"
|
||||
unblock: "Разблокировать"
|
||||
suspend: "Заморозить"
|
||||
@ -129,6 +134,7 @@ unblockConfirm: "Разблокировать этот аккаунт?"
|
||||
suspendConfirm: "Заморозить этот аккаунт?"
|
||||
unsuspendConfirm: "Разморозить этот аккаунт?"
|
||||
selectList: "Выберите список"
|
||||
selectChannel: "Выберите канал"
|
||||
selectAntenna: "Выберите антенну"
|
||||
selectWidget: "Выберите виджет"
|
||||
editWidgets: "Редактировать виджеты"
|
||||
@ -150,6 +156,7 @@ flagShowTimelineReplies: "Показывать ответы на заметки
|
||||
flagShowTimelineRepliesDescription: "Если этот параметр включен, то в ленте, в дополнение к заметкам пользователя, отображаются ответы на другие заметки пользователя."
|
||||
autoAcceptFollowed: "Принимать подписчиков автоматически"
|
||||
addAccount: "Добавить учётную запись"
|
||||
reloadAccountsList: "Обновить список учётных записей"
|
||||
loginFailed: "Неудачная попытка входа"
|
||||
showOnRemote: "Перейти к оригиналу на сайт"
|
||||
general: "Общее"
|
||||
@ -256,12 +263,16 @@ noMoreHistory: "История закончилась"
|
||||
startMessaging: "Начать общение"
|
||||
nUsersRead: "Прочитали {n}"
|
||||
agreeTo: "Я соглашаюсь с {0}"
|
||||
tos: "Пользовательское соглашение"
|
||||
agree: "Согласиться"
|
||||
agreeBelow: "Согласен со следующими"
|
||||
basicNotesBeforeCreateAccount: "Записи, перед созданием аккаунта"
|
||||
termsOfService: "Условия использования"
|
||||
start: "Начать"
|
||||
home: "Главная"
|
||||
remoteUserCaution: "Это пользователь с другого сайта, поэтому информация может быть неточной."
|
||||
activity: "Активность"
|
||||
images: "Изображения"
|
||||
image: "Изображения"
|
||||
birthday: "День рождения"
|
||||
yearsOld: "Возраст: {age}"
|
||||
registeredDate: "Дата регистрации"
|
||||
@ -351,6 +362,8 @@ recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Включить reCAPTCHA"
|
||||
recaptchaSiteKey: "Ключ сайта"
|
||||
recaptchaSecretKey: "Секретный ключ"
|
||||
turnstile: "Сервис Turnstile"
|
||||
enableTurnstile: "Включить Turnstile"
|
||||
turnstileSiteKey: "Ключ сайта"
|
||||
turnstileSecretKey: "Секретный ключ"
|
||||
avoidMultiCaptchaConfirm: "Несколько способов проверки могут мешать друг другу. Подтвердите, если хотите отключить другие способы. Или нажмите «Отмена», чтобы оставить их включёнными."
|
||||
@ -386,16 +399,19 @@ about: "Описание"
|
||||
aboutMisskey: "О CherryPick"
|
||||
administrator: "Администратор"
|
||||
token: "Токен"
|
||||
twoStepAuthentication: "Двухфакторная аутентификация"
|
||||
2fa: "2-х факторная аутентификация"
|
||||
totp: "Приложение-аутентификатор"
|
||||
totpDescription: "Описание приложения-аутентификатора"
|
||||
moderator: "Модератор"
|
||||
moderation: "Модерация"
|
||||
nUsersMentioned: "Упомянуло пользователей: {n}"
|
||||
securityKeyAndPasskey: "Ключ безопасности и парольная фраза"
|
||||
securityKey: "Ключ безопасности"
|
||||
securityKeyName: "Имя ключа"
|
||||
registerSecurityKey: "Зарегистрировать защитный ключ"
|
||||
lastUsed: "Последнее использование"
|
||||
lastUsedAt: "Последнее использование: {t}"
|
||||
unregister: "Отписаться"
|
||||
passwordLessLogin: "Настроить вход без пароля"
|
||||
passwordLessLoginDescription: "Вход без пароля"
|
||||
resetPassword: "Сброс пароля:"
|
||||
newPasswordIs: "Новый пароль — «{password}»."
|
||||
reduceUiAnimation: "Уменьшить анимацию в пользовательском интерфейсе"
|
||||
@ -449,7 +465,6 @@ passwordMatched: "Совпали"
|
||||
passwordNotMatched: "Не совпадают"
|
||||
signinWith: "Использовать {x} для входа"
|
||||
signinFailed: "Невозможно войти в систему. Введенное вами имя пользователя или пароль неверны."
|
||||
tapSecurityKey: "Нажмите на свой электронный ключ"
|
||||
or: "или"
|
||||
language: "Язык"
|
||||
uiLanguage: "Язык интерфейса"
|
||||
@ -460,8 +475,11 @@ native: "Системные"
|
||||
disableDrawer: "Не использовать выдвижные меню"
|
||||
youHaveNoGroups: "У вас нет ни одной группы"
|
||||
joinOrCreateGroup: "Получайте приглашения в группы или создавайте свои собственные"
|
||||
showNoteActionsOnlyHover: "Показывать кнопки управления заметкой только при наведении"
|
||||
noHistory: "История пока пуста"
|
||||
signinHistory: "Журнал посещений"
|
||||
enableAdvancedMfm: "Включить расширенный MFM"
|
||||
enableAnimatedMfm: "Включить анимированную разметку MFM"
|
||||
doing: "В процессе"
|
||||
category: "Категория"
|
||||
tags: "Метки"
|
||||
@ -470,6 +488,8 @@ createAccount: "Новая учётная запись"
|
||||
existingAccount: "Существующая учётная запись"
|
||||
regenerate: "Создать повторно"
|
||||
fontSize: "Размер шрифта"
|
||||
mediaListWithOneImageAppearance: "Показывать список медиа только одним изображением"
|
||||
limitTo: "Обрезать до {x}"
|
||||
noFollowRequests: "Нерассмотренные запросы на подписку отсутствуют"
|
||||
openImageInNewTab: "Открыть изображение в новой вкладке"
|
||||
dashboard: "Панель управления"
|
||||
@ -503,9 +523,11 @@ objectStorageUseSSLDesc: "Отключите, если не собираетес
|
||||
objectStorageUseProxy: "Использовать прокси"
|
||||
objectStorageUseProxyDesc: "Отключите, если не будете испоьзовать прокси для соединений по протоколу ObjectStorage."
|
||||
objectStorageSetPublicRead: "Устанавливать public-read при загрузке на сервер"
|
||||
s3ForcePathStyleDesc: "Включение s3ForcePathStyle принудительно указывает имя корзины как часть пути в URL-адресе вместо имени хоста. Может потребоваться активация при использовании таких вещей, как локальный Minio."
|
||||
serverLogs: "Журнал сервера"
|
||||
deleteAll: "Удалить всё"
|
||||
showFixedPostForm: "Показывать поле для ввода новой заметки наверху ленты"
|
||||
showFixedPostFormInChannel: "Показывать поле для ввода новой заметки наверху ленты (каналы)"
|
||||
newNoteRecived: "Появилась новая заметка"
|
||||
sounds: "Звуки"
|
||||
sound: "Звуки"
|
||||
@ -543,6 +565,10 @@ userSuspended: "Эта учётная запись заморожена"
|
||||
userSilenced: "Этот пользователь был заглушен"
|
||||
yourAccountSuspendedTitle: "Эта учетная запись заблокирована"
|
||||
yourAccountSuspendedDescription: "Эта учетная запись была заблокирована из-за нарушения условий предоставления услуг сервера. Свяжитесь с администратором, если вы хотите узнать более подробную причину. Пожалуйста, не создавайте новую учетную запись."
|
||||
tokenRevoked: "Токен недействителен"
|
||||
tokenRevokedDescription: "Срок действия вашего токена входа истек. Пожалуйста, войдите снова."
|
||||
accountDeleted: "Эта учетная запись удалена"
|
||||
accountDeletedDescription: "Эта учетная запись удалена"
|
||||
menu: "Меню"
|
||||
divider: "Линия-разделитель"
|
||||
addItem: "Добавить элемент"
|
||||
@ -586,7 +612,6 @@ tokenRequested: "Открыть доступ к учётной записи"
|
||||
pluginTokenRequestedDescription: "Это расширение сможет пользоваться разрешениями, установленными здесь."
|
||||
notificationType: "Тип уведомления"
|
||||
edit: "Изменить"
|
||||
useStarForReactionFallback: "Ставить ★ в качестве реакции вместо неизвестного эмодзи"
|
||||
emailServer: "Сервер электронной почты"
|
||||
enableEmail: "Включить обмен электронной почтой"
|
||||
emailConfigInfo: "Используется для подтверждения адреса электронной почты и сброса пароля."
|
||||
@ -690,6 +715,8 @@ contact: "Как связаться"
|
||||
useSystemFont: "Использовать шрифт, предлагаемый системой"
|
||||
clips: "Подборки"
|
||||
experimentalFeatures: "Экспериментальные функции"
|
||||
experimental: "Экспериментальные"
|
||||
thisIsExperimentalFeature: "Это экспериментальная функция. Технические характеристики могут измениться или он может работать неправильно."
|
||||
developer: "Разработчик"
|
||||
makeExplorable: "Опубликовать профиль в «Обзоре»."
|
||||
makeExplorableDescription: "Если выключить, ваш профиль не будет показан в разделе «Обзор»."
|
||||
@ -780,6 +807,7 @@ popularPosts: "Популярные публикации"
|
||||
shareWithNote: "Поделиться заметкой"
|
||||
ads: "Реклама"
|
||||
expiration: "Опрос длится"
|
||||
startingperiod: "Начальный период"
|
||||
memo: "Памятка"
|
||||
priority: "Приоритет"
|
||||
high: "Высокий"
|
||||
@ -812,6 +840,7 @@ lastCommunication: "Последнее сообщение"
|
||||
resolved: "Решено"
|
||||
unresolved: "Без решения"
|
||||
breakFollow: "Отписка"
|
||||
breakFollowConfirm: "Удалить из подписок пользователя ?"
|
||||
itsOn: "Включено"
|
||||
itsOff: "Выключено"
|
||||
emailRequiredForSignup: "Для регистрации учётной записи нужен адрес электронной почты"
|
||||
@ -848,15 +877,20 @@ instanceDefaultLightTheme: "Светлая тема по умолчанию"
|
||||
instanceDefaultDarkTheme: "Темная тема по умолчанию"
|
||||
instanceDefaultThemeDescription: "Описание темы по умолчанию для инстанса"
|
||||
mutePeriod: "Продолжительность скрытия"
|
||||
period: "Опрос длится"
|
||||
indefinitely: "вечно"
|
||||
tenMinutes: "10 минут"
|
||||
oneHour: "1 час"
|
||||
oneDay: "1 день"
|
||||
oneWeek: "1 неделя"
|
||||
oneMonth: "1 месяц"
|
||||
reflectMayTakeTime: "Изменения могут занять время для отображения"
|
||||
failedToFetchAccountInformation: "Не удалось получить информацию об аккаунте"
|
||||
rateLimitExceeded: "Ограничение скорости превышено"
|
||||
cropImage: "Кадрирование"
|
||||
cropImageAsk: "Нужно ли кадрировать изображение?"
|
||||
cropYes: "Обрезать"
|
||||
cropNo: "Не обрезать"
|
||||
file: "Файлы"
|
||||
recentNHours: "Последние {n} ч"
|
||||
recentNDays: "Последние {n} сут"
|
||||
@ -883,12 +917,15 @@ refreshInterval: "Интервал перезагрузки"
|
||||
label: "Метка"
|
||||
type: "Тип"
|
||||
speed: "Скорость"
|
||||
slow: "Медленная"
|
||||
fast: "Быстрая"
|
||||
sensitiveMediaDetection: "Определение содержимого деликатного характера"
|
||||
localOnly: "Локально"
|
||||
remoteOnly: "Только удалённо"
|
||||
failedToUpload: "Сбой выгрузки"
|
||||
cannotUploadBecauseInappropriate: "Файл не может быть загружен, так как было установлено, что он может содержать неприемлемое содержимое."
|
||||
cannotUploadBecauseNoFreeSpace: "Файл не может быть загружен, так как не осталось места на диске"
|
||||
cannotUploadBecauseExceedsFileSizeLimit: "Файл не может быть загружен, так как он превышает лимит размера файла."
|
||||
beta: "Бета"
|
||||
enableAutoSensitive: "Автоматическое определение NSFW"
|
||||
enableAutoSensitiveDescription: "Если доступно, используйте машинное обучение для автоматической установки флага NSFW на носителе. Даже если эта функция отключена, она может быть установлена автоматически в зависимости от инстанта."
|
||||
@ -905,6 +942,7 @@ pushNotificationNotSupported: "Push-уведмления не поддержив
|
||||
sendPushNotificationReadMessage: "Удалять push-уведомления когда сообщение или прочитано"
|
||||
sendPushNotificationReadMessageCaption: "На мгновение появится уведомление \"{emptyPushNotificationMessage}\". Расход заряда батареи может увеличиться "
|
||||
windowMaximize: "Развернуть"
|
||||
windowMinimize: "Свернуть"
|
||||
windowRestore: "Восстановить"
|
||||
caption: "Подпись (Automatic Translation)"
|
||||
loggedInAsBot: "Вы под аккаунтом бота!"
|
||||
@ -921,6 +959,7 @@ didYouLikeMisskey: "Вам нравится CherryPick?"
|
||||
pleaseDonate: "Сайт {host} работает на CherryPick. Это бесплатное программное обеспечение, и ваши пожертвования очень бы помогли продолжать его разработку!"
|
||||
roles: "Роли"
|
||||
role: "Роль"
|
||||
noRole: "Нет роли"
|
||||
normalUser: "Обычный пользователь"
|
||||
undefined: "неопределён"
|
||||
assign: "Назначить"
|
||||
@ -930,9 +969,58 @@ manageCustomEmojis: "Управлять пользовательскими эм
|
||||
youCannotCreateAnymore: "Вы достигли лимита создания."
|
||||
cannotPerformTemporary: "Временно недоступен"
|
||||
cannotPerformTemporaryDescription: "Это действие временно невозможно выполнить из-за превышения лимита выполнения."
|
||||
invalidParamError: "Ошибка параметра"
|
||||
invalidParamErrorDescription: "Проблема с параметрами запроса. Обычно это ошибка, но это также может быть связано с тем, что вы набрали слишком много символов."
|
||||
permissionDeniedError: "Операция запрещена"
|
||||
permissionDeniedErrorDescription: "У этой учетной записи нет разрешения на выполнение этой операции."
|
||||
preset: "Шаблоны"
|
||||
selectFromPresets: "Выбрать из шаблонов"
|
||||
achievements: "Достижения"
|
||||
gotInvalidResponseError: "Сервер ответил ошибкой"
|
||||
gotInvalidResponseErrorDescription: "Сервер временно не доступен. Возможно проводятся технические работы, или сервер отключен."
|
||||
thisPostMayBeAnnoying: "Это сообщение может быть неприятным."
|
||||
thisPostMayBeAnnoyingHome: "Этот пост может быть отправлен на главную"
|
||||
thisPostMayBeAnnoyingCancel: "Этот пост не может быть отменен."
|
||||
thisPostMayBeAnnoyingIgnore: "Этот пост может быть проигнорирован "
|
||||
collapseRenotes: "Свернуть репосты"
|
||||
internalServerError: "Внутренняя ошибка сервера"
|
||||
internalServerErrorDescription: "Внутри сервера произошла непредвиденная ошибка."
|
||||
copyErrorInfo: "Скопировать код ошибки"
|
||||
joinThisServer: "Присоединяйтесь к этому серверу"
|
||||
exploreOtherServers: "Искать другие сервера"
|
||||
letsLookAtTimeline: "Давайте посмотрим на ленту"
|
||||
disableFederationConfirm: "Отключить федерацию?"
|
||||
disableFederationConfirmWarn: "Дефедерация не делает заметку приватной. В большинстве случаев без федерации не обойтись."
|
||||
disableFederationOk: "Не федерируется"
|
||||
invitationRequiredToRegister: "Этот сервер в настоящее время только по приглашению. Зарегистрироваться могут только те, у кого есть код приглашения."
|
||||
emailNotSupported: "Доставка почты не поддерживается на этом сервере"
|
||||
postToTheChannel: "Отправить в канал"
|
||||
cannotBeChangedLater: "Это нельзя изменить позже"
|
||||
reactionAcceptance: "Принятие реакций"
|
||||
likeOnly: "Только лайки"
|
||||
likeOnlyForRemote: "Только лайки с удалённых серверов"
|
||||
rolesAssignedToMe: "Мои роли"
|
||||
resetPasswordConfirm: "Сбросить пароль?"
|
||||
sensitiveWords: "Чувствительные слова"
|
||||
sensitiveWordsDescription: "Установите общедоступный диапазон заметки, содержащей заданное слово, на домашний. Можно сделать несколько настроек, разделив их переносами строк."
|
||||
notesSearchNotAvailable: "Поиск заметок недоступен"
|
||||
license: "Лицензия"
|
||||
unfavoriteConfirm: "Удалить избранное?"
|
||||
myClips: "Мои клипы"
|
||||
drivecleaner: "Очиститель дисков"
|
||||
retryAllQueuesNow: "Повторить все очереди сейчас"
|
||||
retryAllQueuesConfirmTitle: "Хотите попробовать ещё раз?"
|
||||
retryAllQueuesConfirmText: "Нагрузка на сервер может увеличиться"
|
||||
enableChartsForRemoteUser: "Создание диаграмм для удалённых пользователей"
|
||||
enableChartsForFederatedInstances: "Создание диаграмм для удалённых серверов"
|
||||
largeNoteReactions: "Показывать большие реакции на заметки"
|
||||
noteIdOrUrl: "ID или ссылка на заметку"
|
||||
video: "Видео"
|
||||
videos: "Видео"
|
||||
dataSaver: "Экономия трафика"
|
||||
horizontal: "Сбоку"
|
||||
youFollowing: "Подписки"
|
||||
options: "Настройки ролей"
|
||||
_achievements:
|
||||
earnedAt: "Разблокировано в"
|
||||
_types:
|
||||
@ -1189,6 +1277,9 @@ _role:
|
||||
baseRole: "Шаблон роли"
|
||||
useBaseValue: "Использовать значение из шаблона"
|
||||
chooseRoleToAssign: "Выберите роль, которую хотите выдать"
|
||||
iconUrl: "Адрес на иконку роли"
|
||||
asBadge: "Показывать как значок"
|
||||
descriptionOfAsBadge: "Описание значка"
|
||||
canEditMembersByModerator: "Могут назначать модераторы"
|
||||
descriptionOfCanEditMembersByModerator: "Если включено, на эту роль могут назначать пользователей как администраторы, так и модераторы. Если выключено, назначать могут только администраторы."
|
||||
priority: "Приоритет"
|
||||
@ -1206,6 +1297,7 @@ _role:
|
||||
pinMax: "Доступное количество закреплённых заметок"
|
||||
antennaMax: "Доступное количество антенн"
|
||||
wordMuteMax: "Доступное количество знаков в списке скрытия слов"
|
||||
webhookMax: "Максимум web-хуков"
|
||||
clipMax: "Максимальное количество подборок"
|
||||
noteEachClipsMax: "Максимальное количество заметок в подборке"
|
||||
userListMax: "Максимальное количество списков аккаунтов"
|
||||
@ -1227,7 +1319,12 @@ _role:
|
||||
not: "Кроме тех, у кого…"
|
||||
_sensitiveMediaDetection:
|
||||
description: "Машинное обучение может быть использовано для автоматического обнаружения чувствительных медиа для модерации. Нагрузка на сервер увеличивается незначительно."
|
||||
sensitivity: "Чувствительность обнаружения"
|
||||
sensitivityDescription: "Более низкая чувствительность уменьшает количество ложных срабатываний (false positives). Повышение чувствительности уменьшает утечку при обнаружении (ложноотрицательные результаты)."
|
||||
setSensitiveFlagAutomatically: "Установить флаг NSFW"
|
||||
setSensitiveFlagAutomaticallyDescription: "Даже если этот параметр отключен, результат оценки сохраняется внутри системы."
|
||||
analyzeVideos: "Анализировать видео?"
|
||||
analyzeVideosDescription: "Анализируйте видео в дополнение к неподвижным изображениям. Нагрузка на сервер немного увеличивается."
|
||||
_emailUnavailable:
|
||||
used: "Уже используется"
|
||||
format: "Неверный формат"
|
||||
@ -1503,47 +1600,37 @@ _ago:
|
||||
weeksAgo: "{n} нед. назад"
|
||||
monthsAgo: "{n} мес. назад"
|
||||
yearsAgo: "{n} г. назад"
|
||||
invalid: "Ничего нет"
|
||||
_time:
|
||||
second: "с"
|
||||
minute: "мин"
|
||||
hour: "ч"
|
||||
day: "сут"
|
||||
_tutorial:
|
||||
title: "Как пользоваться CherryPick"
|
||||
step1_1: "Добро пожаловать!"
|
||||
step1_2: "Эта страница называется «лента». Здесь будут появляться «заметки»: ваши личные и тех, на кого вы «подписаны». Они будут располагаться в порядке времени их появления."
|
||||
step1_3: "Правда, ваша лента пока пуста. Она начнёт заполняться, когда вы будете писать свои заметки и подписываться на других."
|
||||
step2_1: "Давайте, заполним профиль, прежде чем начать писать заметки и подписываться на других."
|
||||
step2_2: "То, что вы расскажете в профиле, поможет лучше вас узнать, а значит, многим будет легче присоединиться — вы скорее получите новых подписчиков и читателей."
|
||||
step3_1: "Успешно заполнили профиль?"
|
||||
step3_2: "Что ж, теперь самое время опубликовать заметку. Если нажать вверху страницы на изображение карандаша, появится форма для текста."
|
||||
step3_3: "Напишите в неё, что хотите, и нажмите на кнопку в правом верхнем углу."
|
||||
step3_4: "Ничего не приходит в голову? Как насчёт: «Я новенький, пока осваиваюсь в CherryPick»?"
|
||||
step4_1: "С написанием первой заметки покончено?"
|
||||
step4_2: "Отлично, теперь она должна появиться в вашей ленте."
|
||||
step5_1: "А теперь самое время немного оживить ленту, подписавшись на других."
|
||||
step5_2: "На странице «{featured}» собраны популярные сегодня заметки, читая которые, вы можете найти кого-то вам интересного, а на странице «{explore}» можно посмотреть, кто популярен у остальных."
|
||||
step5_3: "Чтобы подписаться на кого-нибудь, щёлкните по его аватару и в открывшемся профиле нажмите кнопку «Подписаться»."
|
||||
step5_4: "Некоторые пользователи (около их имени «висит замок») вручную подтверждают чужие подписки. Так что иногда подписка начинает работать не сразу.\n"
|
||||
step6_1: "Если теперь в ленте видны и чужие заметки, значит у вас получилось."
|
||||
step6_2: "Здесь можно непринуждённо выразить свои чувства к чьей-то заметке, отметив «реакцию» под ней."
|
||||
step6_3: "Отмечайте реакции, нажмая на символ «+» под заметкой и выбирая значок по душе."
|
||||
step7_1: "На этом вводный урок по использованию CherryPick закончен. Спасибо, что прошли его до конца!"
|
||||
step7_2: "Хотите изучить CherryPick глубже — добро пожаловать в раздел «{help}»."
|
||||
step7_3: "Приятно вам провести время с CherryPick🚀"
|
||||
step8_1: "Ах, да, не хотите ли включить push-уведомления?"
|
||||
step8_2: "С push-уведомлениями вы будете в курсе репостов, ответов, реакций и всего такого, даже когда закрыли CherryPick."
|
||||
step8_3: "Эту настройку вы всегда сможете поменять"
|
||||
_2fa:
|
||||
alreadyRegistered: "Двухфакторная аутентификация уже настроена."
|
||||
registerDevice: "Зарегистрируйте ваше устройство"
|
||||
registerKey: "Зарегистрировать ключ"
|
||||
registerTOTP: "Начните настраивать приложение-аутентификатор"
|
||||
passwordToTOTP: "Пожалуйста, введите свой пароль"
|
||||
step1: "Прежде всего, установите на устройство приложение для аутентификации, например, {a} или {b}."
|
||||
step2: "Далее отсканируйте отображаемый QR-код при помощи приложения."
|
||||
step2Click: "Нажав на QR-код, вы можете зарегистрироваться с помощью приложения для аутентификации или брелка для ключей, установленного на вашем устройстве."
|
||||
step2Url: "Если пользуетесь приложением на компьютере, можете ввести в него эту строку (URL):"
|
||||
step3Title: "Введите проверочный код"
|
||||
step3: "И наконец, введите код, который покажет приложение."
|
||||
step4: "Теперь при каждом входе на сайт вам нужно будет вводить код из приложения аналогичным образом."
|
||||
securityKeyNotSupported: "Ваш браузер не поддерживает ключи безопасности."
|
||||
registerTOTPBeforeKey: "Чтобы зарегистрировать ключ безопасности и пароль, сначала настройте приложение аутентификации."
|
||||
securityKeyInfo: "Вы можете настроить вход с помощью аппаратного ключа безопасности, поддерживающего FIDO2, или отпечатка пальца или PIN-кода на устройстве."
|
||||
chromePasskeyNotSupported: "В настоящее время Chrome не поддерживает пароль-ключи."
|
||||
registerSecurityKey: "Зарегистрируйте ключ безопасности ・Passkey"
|
||||
securityKeyName: "Введите имя для ключа"
|
||||
tapSecurityKey: "Пожалуйста, следуйте инструкциям в вашем браузере, чтобы зарегистрировать свой ключ безопасности или пароль"
|
||||
removeKey: "Удалить ключ безопасности"
|
||||
removeKeyConfirm: "Удалить резервную копию «{name}»?"
|
||||
whyTOTPOnlyRenew: "Если ключ безопасности зарегистрирован, вы не сможете отключить приложение аутентификации."
|
||||
renewTOTP: "Перенастроите приложение аутентификации"
|
||||
renewTOTPConfirm: "Проверочный код предыдущего приложения для аутентификации больше не будет доступен"
|
||||
renewTOTPOk: "Настроить"
|
||||
renewTOTPCancel: "Нет, спасибо"
|
||||
_permissions:
|
||||
"read:account": "Просматривать данные учётной записи"
|
||||
"write:account": "Изменять данные учётной записи"
|
||||
@ -1578,12 +1665,15 @@ _permissions:
|
||||
"read:gallery-likes": "Просмотр списка понравившегося в галерее"
|
||||
"write:gallery-likes": "Изменение списка понравившегося в галерее"
|
||||
_auth:
|
||||
shareAccessTitle: "Разрешения для приложений"
|
||||
shareAccess: "Дать доступ для «{name}» к вашей учётной записи?"
|
||||
shareAccessAsk: "Уверены, что хотите дать приложению доступ к своей учётной записи?"
|
||||
permission: "{name} Запрашивает следующие разрешения:"
|
||||
permissionAsk: "Приложение запрашивает следующие разрешения:"
|
||||
pleaseGoBack: "Вернитесь, пожалуйста, в приложение"
|
||||
callback: "Возврат в приложение"
|
||||
denied: "Доступ закрыт"
|
||||
pleaseLogin: "Вы должны войти в систему, чтобы дать разрешение приложению."
|
||||
_antennaSources:
|
||||
all: "Все заметки"
|
||||
homeTimeline: "Заметки тех на которых вы подписаны"
|
||||
@ -1664,8 +1754,8 @@ _visibility:
|
||||
followersDescription: "Только вашим подписчикам"
|
||||
specified: "Личное"
|
||||
specifiedDescription: "Тем, кого укажете"
|
||||
localOnly: "Локально"
|
||||
localOnlyDescription: "Только для этого сайта"
|
||||
disableFederation: "Отключить федерацию"
|
||||
disableFederationDescription: "Не доставляет в другие экземпляры"
|
||||
_postForm:
|
||||
replyPlaceholder: "Ответ на заметку..."
|
||||
quotePlaceholder: "Пояснение к цитате..."
|
||||
@ -1730,7 +1820,16 @@ _timelines:
|
||||
social: "Социальная"
|
||||
global: "Всеобщая"
|
||||
_play:
|
||||
new: "Создать приложение "
|
||||
edit: "Редактировать приложение"
|
||||
created: "Приложение создано"
|
||||
updated: "Приложение обновлено"
|
||||
deleted: "Приложение удалено"
|
||||
pageSetting: "Настройки приложения"
|
||||
editThisPage: "Отредактировать страницу"
|
||||
viewSource: "Просмотр исходника"
|
||||
my: "Мои приложения "
|
||||
liked: "Понравилось"
|
||||
featured: "Популярные"
|
||||
title: "Заголовок"
|
||||
script: "Скрипт"
|
||||
@ -1801,6 +1900,7 @@ _notification:
|
||||
yourFollowRequestAccepted: "Ваш запрос на подписку одобрен."
|
||||
youWereInvitedToGroup: "Вы приглашены в группу."
|
||||
pollEnded: "Подведены окончательные итоги опроса"
|
||||
unreadAntennaNote: "Антенна {name}"
|
||||
emptyPushNotificationMessage: "Обновлены push-уведомления"
|
||||
achievementEarned: "Получено достижение"
|
||||
_types:
|
||||
@ -1815,6 +1915,7 @@ _notification:
|
||||
receiveFollowRequest: "Получен запрос на подписку"
|
||||
followRequestAccepted: "Запрос на подписку одобрен"
|
||||
groupInvited: "Приглашение в группы"
|
||||
achievementEarned: "Получение достижений"
|
||||
app: "Уведомления из приложений"
|
||||
_actions:
|
||||
followBack: "отвечает взаимной подпиской"
|
||||
@ -1847,3 +1948,9 @@ _deck:
|
||||
channel: "Каналы"
|
||||
mentions: "Упоминания"
|
||||
direct: "Личное"
|
||||
_dialog:
|
||||
charactersExceeded: "Превышено максимальное количество символов! У вас {current} / из {max}"
|
||||
charactersBelow: "Это ниже минимального количества символов! У вас {current} / из {min}"
|
||||
_webhookSettings:
|
||||
name: "Название"
|
||||
active: "Вкл."
|
||||
|
@ -103,6 +103,8 @@ renoted: "Preposlané."
|
||||
cantRenote: "Tento príspevok sa nedá preposlať."
|
||||
cantReRenote: "Odpoveď nemôže byť odstránená."
|
||||
quote: "Citovať"
|
||||
inChannelRenote: "Preposlania v kanáli"
|
||||
inChannelQuote: "Citácie v kanáli"
|
||||
pinnedNote: "Pripnuté poznámky"
|
||||
pinned: "Pripnúť"
|
||||
you: "Vy"
|
||||
@ -129,6 +131,7 @@ unblockConfirm: "Naozaj chcete odblokovať tento účet?"
|
||||
suspendConfirm: "Naozaj chcete zmraziť tento účet?"
|
||||
unsuspendConfirm: "Naozaj chcete odmraziť tento účet?"
|
||||
selectList: "Vyberte zoznam"
|
||||
selectChannel: "Zvoľte kanál"
|
||||
selectAntenna: "Vyberte anténu"
|
||||
selectWidget: "Vyberte widget"
|
||||
editWidgets: "Upraviť widget"
|
||||
@ -256,12 +259,14 @@ noMoreHistory: "To je všetko"
|
||||
startMessaging: "Začať chat"
|
||||
nUsersRead: "prečítané {n} používateľmi"
|
||||
agreeTo: "Súhlasím s {0}"
|
||||
tos: "Podmienky používania"
|
||||
agreeBelow: "Súhlasím s nasledovným"
|
||||
basicNotesBeforeCreateAccount: "Základné bezpečnostné opatrenia"
|
||||
start: "Začať"
|
||||
home: "Domov"
|
||||
remoteUserCaution: "Tieto informácie nemusia byť aktuálne, keďže používateľ je na vzdialenom serveri."
|
||||
activity: "Aktivita"
|
||||
images: "Obrázky"
|
||||
image: "Obrázky"
|
||||
birthday: "Dátum narodenia"
|
||||
yearsOld: "{age} rokov"
|
||||
registeredDate: "Dátum registrácie"
|
||||
@ -388,16 +393,19 @@ about: "Informácie"
|
||||
aboutMisskey: "O CherryPick"
|
||||
administrator: "Administrátor"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Dvojfaktorová autentifikácia"
|
||||
2fa: "Dvojfaktorové overenie (2FA)"
|
||||
totp: "Overovacia aplikácia"
|
||||
totpDescription: "Zadajte jednorazové heslo z overovacej aplikácie"
|
||||
moderator: "Moderátor"
|
||||
moderation: "Moderovanie"
|
||||
nUsersMentioned: "{n} používateľov spomenulo"
|
||||
securityKeyAndPasskey: "Bezpečnostný kľúč/heslo"
|
||||
securityKey: "Bezpečnostný kľúč"
|
||||
securityKeyName: "Názov kľúča"
|
||||
registerSecurityKey: "Registrovať bezpečnostný kľúč"
|
||||
lastUsed: "Naposledy použité"
|
||||
lastUsedAt: "Naposledy použité: {t}"
|
||||
unregister: "Odregistrovať"
|
||||
passwordLessLogin: "Nastaviť bezheslové prihlásenie"
|
||||
passwordLessLoginDescription: "Prihlásenie bez hesla, len bezpečnostným kľúčom alebo prístupovým kľúčom"
|
||||
resetPassword: "Resetovať heslo"
|
||||
newPasswordIs: "Nové heslo je \"{password}\""
|
||||
reduceUiAnimation: "Menej UI animácií"
|
||||
@ -451,7 +459,6 @@ passwordMatched: "Heslá sú rovnaké"
|
||||
passwordNotMatched: "Heslá nie sú rovnaké"
|
||||
signinWith: "Prihlásiť sa použitím {x}"
|
||||
signinFailed: "Nedá sa prihlásiť. Skontrolujte prosím meno používateľa a heslo."
|
||||
tapSecurityKey: "Ťuknite na bezpečnostný kľúč"
|
||||
or: "Alebo"
|
||||
language: "Jazyk"
|
||||
uiLanguage: "Jazyk používateľského prostredia"
|
||||
@ -462,8 +469,11 @@ native: "Natívne"
|
||||
disableDrawer: "Nepoužívať šuflíkové menu"
|
||||
youHaveNoGroups: "Nemáte žiadne skupiny"
|
||||
joinOrCreateGroup: "Požiadajte o pozvanie do existujúcej skupiny alebo vytvorte novú."
|
||||
showNoteActionsOnlyHover: "Ovládacie prvky poznámky sa zobrazujú len po nabehnutí myši"
|
||||
noHistory: "Žiadna história"
|
||||
signinHistory: "História prihlásení"
|
||||
enableAdvancedMfm: "Povolenie pokročilého MFM"
|
||||
enableAnimatedMfm: "Povoliť animované MFM"
|
||||
doing: "Pracujem..."
|
||||
category: "Kategórie"
|
||||
tags: "Značky"
|
||||
@ -572,6 +582,7 @@ manage: "Administrácia"
|
||||
plugins: "Pluginy"
|
||||
preferencesBackups: "Zálohy nastavení"
|
||||
deck: "Deck"
|
||||
undeck: "Oddokovať"
|
||||
useBlurEffectForModal: "Použiť efekt rozmazania na okná"
|
||||
useFullReactionPicker: "Použiť plnú veľkosť výberu reakcií"
|
||||
width: "Šírka"
|
||||
@ -587,7 +598,6 @@ tokenRequested: "Povoliť prístup k účtu"
|
||||
pluginTokenRequestedDescription: "Tento plugin bude môcť používať oprávnenia nastavené tu."
|
||||
notificationType: "Typ oznámenia"
|
||||
edit: "Upraviť"
|
||||
useStarForReactionFallback: "Použiť ★ keď emoji reakcie nie je známe"
|
||||
emailServer: "Email server"
|
||||
enableEmail: "Zapnúť email"
|
||||
emailConfigInfo: "Používa sa na overenie emaily pri registrácii alebo pri zabudnutí hesla"
|
||||
@ -781,6 +791,7 @@ popularPosts: "Populárne príspevky"
|
||||
shareWithNote: "Zdieľať s poznámkou"
|
||||
ads: "Reklamy"
|
||||
expiration: "Ukončiť hlasovanie"
|
||||
startingperiod: "Začiatok"
|
||||
memo: "Memo"
|
||||
priority: "Priorita"
|
||||
high: "Vysoká"
|
||||
@ -849,11 +860,13 @@ instanceDefaultLightTheme: "Predvolená svetlá téma"
|
||||
instanceDefaultDarkTheme: "Predvolená tmavá téma"
|
||||
instanceDefaultThemeDescription: "Vložte kód témy v objektovom formáte"
|
||||
mutePeriod: "Trvanie stíšenia"
|
||||
period: "Ukončiť hlasovanie"
|
||||
indefinitely: "Navždy"
|
||||
tenMinutes: "10 minút"
|
||||
oneHour: "1 hodina"
|
||||
oneDay: "1 deň"
|
||||
oneWeek: "1 týždeň"
|
||||
oneMonth: "1 mesiac"
|
||||
reflectMayTakeTime: "Zmeny môžu chvíľu trvať kým sa prejavia."
|
||||
failedToFetchAccountInformation: "Nepodarilo sa načítať informácie o účte."
|
||||
rateLimitExceeded: "Prekročený limit rýchlosti"
|
||||
@ -918,6 +931,8 @@ remindMeLater: "Pripomenúť neskôr"
|
||||
didYouLikeMisskey: "Páči sa vám CherryPick?"
|
||||
pleaseDonate: "CherryPick je bezplatný softvér, ktorý používa {host}. Prosím, prispejte, aby sme ho mohli ďalej rozvíjať!"
|
||||
color: "Farba"
|
||||
horizontal: "Strana"
|
||||
youFollowing: "Sledované"
|
||||
_role:
|
||||
priority: "Priorita"
|
||||
_priority:
|
||||
@ -1207,47 +1222,22 @@ _ago:
|
||||
weeksAgo: "pred {n} týždňami"
|
||||
monthsAgo: "pred {n} mesiacmi"
|
||||
yearsAgo: "pred {n} rokmi"
|
||||
invalid: "Nič tu nie je"
|
||||
_time:
|
||||
second: "s"
|
||||
minute: "min"
|
||||
hour: "hod"
|
||||
day: "dní"
|
||||
_tutorial:
|
||||
title: "Ako používať CherryPick"
|
||||
step1_1: "Vitajte!"
|
||||
step1_2: "Táto stránka sa volá \"časová os\". Zobrazuje chronologicky zoradené \"poznámky\" od ľudí, ktorých sledujete."
|
||||
step1_3: "Vaša časová os je teraz prázdna pretože ste nepridali žiadne poznámky ani nikoho zatiaľ nesledujete."
|
||||
step2_1: "Podˇme dokončiť nastavenia vášho profilu pred napísaním poznámky alebo sledovaním niekoho."
|
||||
step2_2: "Poskytnutím informácií o vás uľahčíte ostatným, či chcú vidieť alebo sledovať vaše poznámky."
|
||||
step3_1: "Dokončili ste nastavovanie svojho profilu?"
|
||||
step3_2: "Poďme vyskúšať napísať poznámku. Môžete to spraviť stlačením ikony ceruzky na vrchu obrazovky."
|
||||
step3_3: "Vyplňte polia a stlačte tlačítko vpravo hore."
|
||||
step3_4: "Nemáte čo povedať? Skúste \"len si nastavujem môj msky\"!"
|
||||
step4_1: "Napísali ste svoju prvú poznámku?"
|
||||
step4_2: "Hurá! Teraz by vaša prvá poznámka mala byť na vašej časovej osi."
|
||||
step5_1: "Teraz skúsme oživiť časovú os sledovaním nejakých ľudí."
|
||||
step5_2: "{featured} zobrazí populárne poznámku na tomto serveri. {explore} môžete objavovať populárnych používateľov. Skúste tam nájsť ľudí, ktorých by ste radi sledovali!"
|
||||
step5_3: "Ak chcete sledovať ďalších používateľov, kliknite na ich ikonu a stlačte tlačidlo \"Sledovať\" na ich profile."
|
||||
step5_4: "Ak má niektorý používateľ ikonu zámku vedľa svojho mena, znamená to, že môže trvať určitý čas, kým daný používateľ schváli vašu žiadosť o sledovanie."
|
||||
step6_1: "Teraz by ste mali vidieť poznámky ďalších používateľov na svojej časovej osi."
|
||||
step6_2: "Môžete dať \"reakcie\" na poznámky ďalších ľudí ako rýchlu odpoveď."
|
||||
step6_3: "Reakciu pridáte kliknutím na \"+\" niekoho poznámke a vybratím emoji, ktorou chcete reagovať."
|
||||
step7_1: "Gralujeme! Dokončili ste základného sprievodcu CherryPick."
|
||||
step7_2: "Ak sa chcete naučiť viac o CherryPick, skúste sekciu {help}."
|
||||
step7_3: "A teraz, veľa šťastia, bavte sa s CherryPick! 🚀"
|
||||
step8_1: "A nakoniec, prečo si neaktivovať push oznámenia?"
|
||||
step8_2: "Vďaka push notifikáciám sa dozviete o reakciách, sledovaniach a zmienkach, aj keď CherryPick nie je otvorené."
|
||||
step8_3: "Nastavenia notifikácií môžete neskôr zmeniť."
|
||||
_2fa:
|
||||
alreadyRegistered: "Už ste zaregistrovali 2-faktorové autentifikačné zariadenie."
|
||||
registerDevice: "Registrovať nové zariadenie"
|
||||
registerKey: "Registrovať bezpečnostný kľúč"
|
||||
step1: "Najprv si nainštalujte autentifikačnú aplikáciu (napríklad {a} alebo {b}) na svoje zariadenie."
|
||||
step2: "Potom, naskenujte QR kód zobrazený na obrazovke."
|
||||
step2Url: "Do aplikácie zadajte nasledujúcu URL adresu:"
|
||||
step3: "Nastavenie dokončíte zadaním tokenu z vašej aplikácie."
|
||||
step4: "Od teraz, všetky ďalšie prihlásenia budú vyžadovať prihlasovací token."
|
||||
securityKeyInfo: "Okrem odtlačku prsta alebo PIN autentifikácie si môžete nastaviť autentifikáciu cez hardvérový bezpečnostný kľúč podporujúci FIDO2 a tak ešte viac zabezpečiť svoj účet."
|
||||
removeKeyConfirm: "Naozaj chcete odstrániť \"{name}\"?"
|
||||
renewTOTPCancel: "Nie, ďakujem"
|
||||
_permissions:
|
||||
"read:account": "Vidieť informácie o vašom účte"
|
||||
"write:account": "Upraviť informácie o vašom účte"
|
||||
@ -1365,8 +1355,6 @@ _visibility:
|
||||
followersDescription: "Viditeľné iba tým, ktorí vás sledujú"
|
||||
specified: "Priame"
|
||||
specifiedDescription: "Viditeľné iba pre konkrétnych používateľov"
|
||||
localOnly: "Iba lokálne"
|
||||
localOnlyDescription: "Vzdialený používatelia nebudú vidieť"
|
||||
_postForm:
|
||||
replyPlaceholder: "Odpoveď na túto poznámku..."
|
||||
quotePlaceholder: "Citovanie tejto poznámky..."
|
||||
@ -1547,3 +1535,6 @@ _deck:
|
||||
channel: "Kanály"
|
||||
mentions: "Zmienky"
|
||||
direct: "Priame poznámky"
|
||||
_webhookSettings:
|
||||
name: "Názov"
|
||||
active: "Zapnuté"
|
||||
|
@ -256,11 +256,11 @@ noMoreHistory: "Det finns ingen mer historik"
|
||||
startMessaging: "Starta en chatt"
|
||||
nUsersRead: "läst av {n}"
|
||||
agreeTo: "Jag accepterar {0}"
|
||||
tos: "Användarvillkor"
|
||||
home: "Hem"
|
||||
remoteUserCaution: "Då denna användaren kommer från en fjärrinstans, kan informationen visad vara ofullständig."
|
||||
activity: "Aktivitet"
|
||||
images: "Bilder"
|
||||
image: "Bilder"
|
||||
birthday: "Födelsedag"
|
||||
yearsOld: "{age} år gammal"
|
||||
registeredDate: "Gick med"
|
||||
@ -343,9 +343,16 @@ recentlyRegisteredUsers: "Nyligen registrerade användare"
|
||||
userList: "Listor"
|
||||
aboutMisskey: "Om CherryPick"
|
||||
administrator: "Administratör"
|
||||
passwordLessLogin: "Lösenordsfri inloggning"
|
||||
passwordLessLoginDescription: "Tillåter lösenordsfri inloggning med endast en säkerhetsnyckel eller en passkey."
|
||||
resetPassword: "Återställ Lösenord"
|
||||
newPasswordIs: "Det nya lösenordet är \"{password}\""
|
||||
share: "Dela"
|
||||
enable: "Aktivera"
|
||||
weakPassword: "Svagt Lösenord"
|
||||
normalPassword: "Medel Lösenord"
|
||||
strongPassword: "Starkt Lösenord"
|
||||
signinFailed: "Kan inte logga in. Det angivna användarnamnet eller lösenordet är felaktigt."
|
||||
serviceworkerInfo: "Måste vara aktiverad för pushnotiser."
|
||||
enableInfiniteScroll: "Ladda mer automatiskt"
|
||||
enablePlayer: "Öppna videospelare"
|
||||
@ -354,11 +361,14 @@ enableEmail: "Aktivera epost-utskick"
|
||||
smtpHost: "Värd"
|
||||
smtpUser: "Användarnamn"
|
||||
smtpPass: "Lösenord"
|
||||
emptyToDisableSmtpAuth: "Lämna användarnamn och lösenord tomt för att avaktivera SMTP verifiering"
|
||||
clearCache: "Rensa cache"
|
||||
onlineUsersCount: "{n} användare är online"
|
||||
enabled: "Aktiverad"
|
||||
user: "Användare"
|
||||
global: "Global"
|
||||
squareAvatars: "Visa fyrkantiga profilbilder"
|
||||
incorrectPassword: "Fel lösenord."
|
||||
searchByGoogle: "Sök"
|
||||
file: "Filer"
|
||||
enableAutoSensitive: "Automatisk NSFW markering"
|
||||
@ -368,6 +378,15 @@ subscribePushNotification: "Aktivera pushnotiser"
|
||||
unsubscribePushNotification: "Avaktivera pushnotiser"
|
||||
pushNotificationAlreadySubscribed: "Pushnotiser är redan aktiverade"
|
||||
pushNotificationNotSupported: "Din webbläsare eller instans har inte stöd för pushnotiser"
|
||||
windowMaximize: "Maximera"
|
||||
windowMinimize: "Minimera"
|
||||
windowRestore: "Återställ"
|
||||
resetPasswordConfirm: "Återställ verkligen ditt lösenord?"
|
||||
_achievements:
|
||||
_types:
|
||||
_open3windows:
|
||||
title: "Flera Fönster"
|
||||
description: "Ha minst 3 fönster öppna samtidigt"
|
||||
_email:
|
||||
_follow:
|
||||
title: "följde dig"
|
||||
@ -383,12 +402,14 @@ _sfx:
|
||||
notification: "Notifikationer"
|
||||
chat: "Chatt"
|
||||
antenna: "Antenner"
|
||||
_2fa:
|
||||
passwordToTOTP: "Skriv in ditt lösenord"
|
||||
renewTOTPCancel: "Nej tack"
|
||||
_antennaSources:
|
||||
all: "Alla noter"
|
||||
homeTimeline: "Noter från följda användare"
|
||||
users: "Noter från specifika användare"
|
||||
userList: "Noter från en specificerad lista av användare"
|
||||
userGroup: "Noter från användare i en specificerad grupp"
|
||||
_widgets:
|
||||
profile: "Profil"
|
||||
instanceInfo: "Instansinformation"
|
||||
@ -441,3 +462,5 @@ _deck:
|
||||
antenna: "Antenner"
|
||||
list: "Listor"
|
||||
mentions: "Omnämningar"
|
||||
_webhookSettings:
|
||||
active: "Aktiverad"
|
||||
|
@ -18,8 +18,9 @@ enterUsername: "ใส่ชื่อผู้ใช้"
|
||||
renotedBy: "รีโน้ตโดย {ผู้ใช้}"
|
||||
noNotes: "ไม่มีโน้ต"
|
||||
noNotifications: "ไม่มีการแจ้งเตือน"
|
||||
instance: "ตัวอย่าง"
|
||||
instance: "อินสแตนซ์"
|
||||
settings: "การตั้งค่า"
|
||||
notificationSettings: "ตั้งค่าการแจ้งเตือน"
|
||||
basicSettings: "การตั้งค่าพื้นฐาน"
|
||||
otherSettings: "การตั้งค่าอื่นๆ"
|
||||
openInWindow: "เปิดในหน้าต่าง"
|
||||
@ -99,10 +100,12 @@ followRequestPending: "กำลังรอดำเนินการร้อ
|
||||
enterEmoji: "ใส่อีโมจิ"
|
||||
renote: "รีโน้ต"
|
||||
unrenote: "เลิกรีโน้ต"
|
||||
renoted: "รีโน้ตเอาไว้"
|
||||
renoted: "รีโน้ตแล้วนะ"
|
||||
cantRenote: "โพสต์นี้ไม่สามารถรีโน้ตไว้ใหม่ได้นะ"
|
||||
cantReRenote: "ไม่สามารถรีโน้ตเอาไว้ใหม่ได้นะ"
|
||||
quote: "อ้างคำพูด"
|
||||
inChannelRenote: "รีโน้ตช่องแชลแนลเท่านั้น"
|
||||
inChannelQuote: "อ้างช่องเท่านั้น"
|
||||
pinnedNote: "โน้ตที่ปักหมุดเอาไว้"
|
||||
pinned: "ปักหมุดไปยังโปรไฟล์"
|
||||
you: "ตัวเอง"
|
||||
@ -120,6 +123,8 @@ unmarkAsSensitive: "ยกเลิกทำเครื่องหมายเ
|
||||
enterFileName: "พิมพ์ชื่อไฟล์"
|
||||
mute: "ปิดเสียง"
|
||||
unmute: "ยกเลิกการปิดเสียง"
|
||||
renoteMute: "ปิดเสียงรีโน้ต"
|
||||
renoteUnmute: "เปิดเสียง รีโน้ต"
|
||||
block: "บล็อค"
|
||||
unblock: "เลิกปิดกั้น"
|
||||
suspend: "ถูกระงับ"
|
||||
@ -151,6 +156,7 @@ flagShowTimelineReplies: "แสดงตอบกลับ ในไทม์
|
||||
flagShowTimelineRepliesDescription: "แสดงการตอบกลับของผู้ใช้งานไปยังโน้ตของผู้ใช้งานรายอื่นๆในไทม์ไลน์หากได้เปิดเอาไว้"
|
||||
autoAcceptFollowed: "อนุมัติคำขอติดตามโดยอัตโนมัติทันที จากผู้ใช้งานที่คุณกำลังติดตาม"
|
||||
addAccount: "เพิ่มบัญชี"
|
||||
reloadAccountsList: "รีโหลดรายการบัญชีใหม่"
|
||||
loginFailed: "การเข้าสู่ระบบไม่สำเร็จ"
|
||||
showOnRemote: "ดูบนอินสแตนซ์ระยะไกล"
|
||||
general: "ทั่วไป"
|
||||
@ -257,14 +263,18 @@ noMoreHistory: "ในนั้นไม่มีประวัติอีก
|
||||
startMessaging: "เริ่มการสนทนา"
|
||||
nUsersRead: "อ่านโดย {n}"
|
||||
agreeTo: "ฉันยอมรับที่จะ {0}"
|
||||
tos: "ข้อกำหนดและเงื่อนไข"
|
||||
agree: "ยอมรับ"
|
||||
agreeBelow: "ฉันยอมรับถึงด้านล่าง"
|
||||
basicNotesBeforeCreateAccount: "หมายเหตุสำคัญ"
|
||||
termsOfService: "เงื่อนไขการให้บริการ"
|
||||
start: "เริ่มต้นใช้งาน"
|
||||
home: "หน้าแรก"
|
||||
remoteUserCaution: "เนื่องจากผู้ใช้งานรายนี้นั้น มาจากอินสแตนซ์ระยะไกล ข้อมูลที่แสดงดังกล่าวนั้นอาจจะไม่สมบูรณ์ก็ได้นะ"
|
||||
activity: "กิจกรรม"
|
||||
images: "รูปภาพ"
|
||||
image: "รูปภาพ"
|
||||
birthday: "วันเกิด"
|
||||
yearsOld: "{อายุ} ปี"
|
||||
yearsOld: "{age} ปี"
|
||||
registeredDate: "วันที่สมัครสมาชิก"
|
||||
location: "ตำแหน่งที่ตั้ง"
|
||||
theme: "ธีม"
|
||||
@ -389,16 +399,19 @@ about: "เกี่ยวกับ"
|
||||
aboutMisskey: "เกี่ยวกับ CherryPick"
|
||||
administrator: "ผู้ดูแลระบบ"
|
||||
token: "โทเค็น"
|
||||
twoStepAuthentication: "ยืนยันตัวตน 2 ชั้น"
|
||||
2fa: "การยืนยันตัวตนแบบสองชั้น"
|
||||
totp: "แอป Authenticator"
|
||||
totpDescription: "ใช้แอปยืนยันตัวตนเพื่อป้อนรหัสผ่านแบบใช้ครั้งเดียว"
|
||||
moderator: "ผู้ควบคุม"
|
||||
moderation: "การกลั่นกรอง"
|
||||
nUsersMentioned: "กล่าวถึงโดยผู้ใช้ {n} รายนี้"
|
||||
securityKeyAndPasskey: "ความปลอดภัยและรหัสผ่าน"
|
||||
securityKey: "กุญแจความปลอดภัย"
|
||||
securityKeyName: "ชื่อคีย์"
|
||||
registerSecurityKey: "ลงทะเบียนรหัสความปลอดภัยคีย์"
|
||||
lastUsed: "ใช้ล่าสุด"
|
||||
lastUsedAt: "ใช้งานครั้งล่าสุด: {t}"
|
||||
unregister: "เลิกติดตาม"
|
||||
passwordLessLogin: "เข้าสู่ระบบแบบไม่ใช้รหัสผ่าน"
|
||||
passwordLessLoginDescription: "อนุญาตให้เข้าสู่ระบบโดยไม่ต้องใช้รหัสผ่านโดยใช้รหัสรักษาความปลอดภัยหรือรหัสผ่านเท่านั้น"
|
||||
resetPassword: "รีเซ็ตรหัสผ่าน"
|
||||
newPasswordIs: "รหัสผ่านใหม่คือ \"{password}\""
|
||||
reduceUiAnimation: "ลดภาพเคลื่อนไหว UI"
|
||||
@ -452,7 +465,6 @@ passwordMatched: "ถูกต้อง!"
|
||||
passwordNotMatched: "ไม่ถูกต้อง"
|
||||
signinWith: "ลงชื่อเข้าใช้ด้วย {x}"
|
||||
signinFailed: "ไม่สามารถลงชื่อผู้เข้าใช้ได้ เนื่องจาก ชื่อผู้ใช้หรือรหัสผ่านที่คุณป้อนนั้นไม่ถูกต้องนะ"
|
||||
tapSecurityKey: "แตะคีย์ความปลอดภัย"
|
||||
or: "หรือ"
|
||||
language: "ภาษา"
|
||||
uiLanguage: "ภาษาอินเทอร์เฟซผู้ใช้งาน"
|
||||
@ -463,16 +475,21 @@ native: "ภาษาแม่"
|
||||
disableDrawer: "อย่าใช้ลิ้นชักสไตล์เมนู"
|
||||
youHaveNoGroups: "คุณยังไม่มีกลุ่ม"
|
||||
joinOrCreateGroup: "รับเชิญเข้าร่วมกลุ่มหรือสร้างกลุ่มของคุณเองเลยนะ"
|
||||
showNoteActionsOnlyHover: "แสดงการดำเนินการเฉพาะโน้ตเมื่อโฮเวอร์"
|
||||
noHistory: "ไม่มีรายการ"
|
||||
signinHistory: "ประวัติการเข้าสู่ระบบ"
|
||||
enableAdvancedMfm: "เปิดใช้งาน MFM ขั้นสูง"
|
||||
enableAnimatedMfm: "เปิดการใช้งาน MFM ด้วยแอนิเมชั่น"
|
||||
doing: "กำลังประมวลผล......"
|
||||
category: "หมวดหมู่"
|
||||
tags: "แท็ก"
|
||||
tags: "นามแฝง"
|
||||
docSource: "ที่มาของเอกสารนี้"
|
||||
createAccount: "สร้างบัญชี"
|
||||
existingAccount: "บัญชีที่มีอยู่"
|
||||
regenerate: "สร้างอีกครั้ง"
|
||||
fontSize: "ขนาดตัวอักษร"
|
||||
mediaListWithOneImageAppearance: "ความสูงของลิสต์สื่อจะต้องมีรูปภาพเดียวเท่านั้น"
|
||||
limitTo: "จำกัดไว้ที่ {x}"
|
||||
noFollowRequests: "คุณไม่มีคำขอติดตามที่รอดำเนินการ"
|
||||
openImageInNewTab: "เปิดรูปภาพในแท็บใหม่"
|
||||
dashboard: "หน้ากระดานหลัก"
|
||||
@ -506,9 +523,11 @@ objectStorageUseSSLDesc: "ปิดการทำงานนี้ไว้
|
||||
objectStorageUseProxy: "เชื่อมต่อผ่านพร็อกซี"
|
||||
objectStorageUseProxyDesc: "ปิดสิ่งนี้ไว้ถ้าหากคุณจะไม่ใช้ Proxy สำหรับการเชื่อมต่อ API"
|
||||
objectStorageSetPublicRead: "ตั้งค่า \"public-read\" ในการอัปโหลด"
|
||||
s3ForcePathStyleDesc: "ถ้าหากเปิดใช้งาน s3ForcePathStyle ชื่อบัคเก็ตนั้นอาจจะต้องรวมอยู่ในเส้นทางของ URL ซึ่งตรงข้ามกับชื่อโฮสต์ของ URL คุณอาจจะต้องเปิดใช้งานการตั้งค่านี้เมื่อใช้บริการต่างๆ เช่น อินสแตนซ์ Minio ที่โฮสต์เองนะ"
|
||||
serverLogs: "บันทึกของเซิร์ฟเวอร์"
|
||||
deleteAll: "ลบทั้งหมด"
|
||||
showFixedPostForm: "แสดงแบบฟอร์มการโพสต์ที่ด้านบนสุดของไทม์ไลน์"
|
||||
showFixedPostFormInChannel: "แสดงแบบฟอร์มกำลังโพสต์ที่ด้านบนของไทม์ไลน์ (แชนแนล)"
|
||||
newNoteRecived: "มีโน้ตใหม่"
|
||||
sounds: "เสียง"
|
||||
sound: "เสียง"
|
||||
@ -546,6 +565,10 @@ userSuspended: "ผู้ใช้รายนี้ถูกระงับก
|
||||
userSilenced: "ผู้ใช้รายนี้กำลังถูกปิดกั้น"
|
||||
yourAccountSuspendedTitle: "บัญชีนี้นั้นถูกระงับ"
|
||||
yourAccountSuspendedDescription: "บัญชีนี้ถูกระงับ เนื่องจากละเมิดข้อกำหนดในการให้บริการของเซิร์ฟเวอร์หรืออาจจะละเมิดหลักเกณฑ์ชุมชน หรือ อาจจะโดนร้องเรียนเรื่องการละเมิดลิขสิทธิ์และอื่นๆอย่างต่อเนื่องซ้ำๆ หากคุณคิดว่าไม่ได้ทำผิดจริงๆหรือตัดสินผิดพลาด ได้โปรดกรุณาติดต่อผู้ดูแลระบบหากคุณต้องการทราบเหตุผลโดยละเอียดเพิ่มเติม และขอความกรุณาอย่าสร้างบัญชีใหม่"
|
||||
tokenRevoked: "โทเค็นไม่ถูกต้อง"
|
||||
tokenRevokedDescription: "โทเค็นนี้หมดอายุแล้วนะค่ะกรุณาเข้าสู่ระบบอีกครั้งนะ"
|
||||
accountDeleted: "ลบบัญชีแล้ว"
|
||||
accountDeletedDescription: "บัญชีนี้ถูกลบไปแล้วนะ"
|
||||
menu: "เมนู"
|
||||
divider: "ตัวแบ่ง"
|
||||
addItem: "เพิ่มรายการ"
|
||||
@ -589,7 +612,6 @@ tokenRequested: "ให้สิทธิ์การเข้าถึงบั
|
||||
pluginTokenRequestedDescription: "ปลั๊กอินนี้จะสามารถใช้การอนุญาตที่ตั้งค่าไว้ที่นี่นะ"
|
||||
notificationType: "ประเภทการแจ้งเตือน"
|
||||
edit: "แก้ไข"
|
||||
useStarForReactionFallback: "ใช้ ★ เป็นทางเลือกแทนถ้าหากไม่ทราบอิโมจิ"
|
||||
emailServer: "อีเมล์เซิร์ฟเวอร์"
|
||||
enableEmail: "เปิดใช้งานการกระจายอีเมล"
|
||||
emailConfigInfo: "ใช้เพื่อยืนยันอีเมลของคุณระหว่างการสมัครหรือถ้าหากคุณลืมรหัสผ่าน"
|
||||
@ -666,7 +688,7 @@ notesCount: "จำนวนของโน้ต"
|
||||
repliesCount: "จำนวนการตอบกลับที่ส่ง"
|
||||
renotesCount: "จำนวนรีโน้ตที่ส่ง"
|
||||
repliedCount: "จำนวนของการตอบกลับที่ได้รับ"
|
||||
renotedCount: "จำนวนรีโน้ตที่ได้รับ"
|
||||
renotedCount: "จำนวนรีโน้ตที่ได้รับแล้ว"
|
||||
followingCount: "จำนวนบัญชีที่ติดตาม"
|
||||
followersCount: "จำนวนผู้ติดตาม"
|
||||
sentReactionsCount: "จำนวนปฏิกิริยาที่ส่ง"
|
||||
@ -693,6 +715,8 @@ contact: "ติดต่อ"
|
||||
useSystemFont: "ใช้ฟอนต์เริ่มต้นของระบบ"
|
||||
clips: "คลิป"
|
||||
experimentalFeatures: "ฟังก์ชั่นทดสอบ"
|
||||
experimental: "ทดลอง"
|
||||
thisIsExperimentalFeature: "นี่คือฟีเจอร์ทดลองนะค่ะ ฟังก์ชันการทำงานบางอย่างอาจเปลี่ยนแปลงได้ และอาจไม่ทำงานหรือไม่เสถียรตามที่ตั้งใจไว้นะ"
|
||||
developer: "สำหรับนักพัฒนา"
|
||||
makeExplorable: "ทำให้บัญชีมองเห็นใน \"สำรวจ\""
|
||||
makeExplorableDescription: "ถ้าหากคุณปิดการทำงานนี้ บัญชีของคุณนั้นจะไม่แสดงในส่วน \"สำรวจ\" นะ"
|
||||
@ -783,6 +807,7 @@ popularPosts: "โพสต์ติดอันดับ"
|
||||
shareWithNote: "แบ่งปันด้วยโน้ต"
|
||||
ads: "โฆษณา"
|
||||
expiration: "กำหนดเวลา"
|
||||
startingperiod: "เริ่ม"
|
||||
memo: "ข้อควรจำ"
|
||||
priority: "ลำดับความสำคัญ"
|
||||
high: "สูง"
|
||||
@ -815,6 +840,7 @@ lastCommunication: "การสื่อสารครั้งสุดท้
|
||||
resolved: "คลี่คลายแล้ว"
|
||||
unresolved: "รอการเฉลย"
|
||||
breakFollow: "ลบผู้ติดตาม"
|
||||
breakFollowConfirm: "ลบผู้ติดตามนี้ออกจริงหรอ?"
|
||||
itsOn: "เปิดใช้งาน"
|
||||
itsOff: "ปิดใช้งาน"
|
||||
emailRequiredForSignup: "จำเป็นต้องการใช้ที่อยู่อีเมลสำหรับการสมัคร"
|
||||
@ -851,16 +877,20 @@ instanceDefaultLightTheme: "ธีมสว่างค่าเริ่มต
|
||||
instanceDefaultDarkTheme: "ธีมมืดค่าเริ่มต้นอินสแตนซ์"
|
||||
instanceDefaultThemeDescription: "ป้อนรหัสธีมในรูปแบบออบเจ็กต์"
|
||||
mutePeriod: "ระยะเวลาปิดเสียง"
|
||||
period: "สิ้นสุดการสำรวจความคิดเห็น"
|
||||
indefinitely: "ตลอดไป"
|
||||
tenMinutes: "10 นาที"
|
||||
oneHour: "1 ชั่วโมง"
|
||||
oneDay: "1 วัน"
|
||||
oneWeek: "1 สัปดาห์"
|
||||
oneMonth: "หนึ่งเดือน"
|
||||
reflectMayTakeTime: "อาจจำเป็นต้องใช้เวลาสักระยะหนึ่งจึงจะเห็นแสดงผลได้นะ"
|
||||
failedToFetchAccountInformation: "ไม่สามารถเรียกดึงข้อมูลบัญชีได้"
|
||||
rateLimitExceeded: "เกินขีดจำกัดอัตรา"
|
||||
cropImage: "ครอบตัดรูปภาพ"
|
||||
cropImageAsk: "คุณต้องการครอบตัดรูปภาพนี้อย่างงั้นหรือ?"
|
||||
cropYes: "ครอบตัด"
|
||||
cropNo: "ใช้ตามที่เป็นอยู่"
|
||||
file: "ไฟล์"
|
||||
recentNHours: "ล่าสุด {n} ชั่วโมงที่แล้ว"
|
||||
recentNDays: "ล่าสุด {n} วันที่แล้ว"
|
||||
@ -895,6 +925,7 @@ remoteOnly: "รีโมทเท่านั้น"
|
||||
failedToUpload: "การอัปโหลดล้มเหลว"
|
||||
cannotUploadBecauseInappropriate: "ไม่สามารถอัปโหลดไฟล์นี้ได้เนื่องจากระบบตรวจพบบางส่วนของไฟล์ว่านี้อาจจะเป็น NSFW"
|
||||
cannotUploadBecauseNoFreeSpace: "การอัปโหลดนั้นล้มเหลวเนื่องจากไม่มีความจุของไดรฟ์"
|
||||
cannotUploadBecauseExceedsFileSizeLimit: "ไม่สามารถอัปโหลดไฟล์นี้ได้แล้วเนื่องจากเกินขีดจำกัดของขนาดไฟล์แล้ว"
|
||||
beta: "เบต้า"
|
||||
enableAutoSensitive: "ทำเครื่องหมาย NSFW อัตโนมัติ"
|
||||
enableAutoSensitiveDescription: "อนุญาตให้ตรวจหาและทำเครื่องหมายสื่อ NSFW โดยอัตโนมัติผ่านการเรียนรู้ของเครื่องหากเป็นไปได้ แม้ว่าตัวเลือกนี้จะถูกปิดใช้งาน แต่ก็สามารถเปิดใช้งานได้ทั้งอินสแตนซ์นี้"
|
||||
@ -911,6 +942,7 @@ pushNotificationNotSupported: "เบราว์เซอร์หรืออ
|
||||
sendPushNotificationReadMessage: "ลบการแจ้งเตือนแบบพุชเมื่ออ่านการแจ้งเตือนหรือข้อความที่เกี่ยวข้องแล้ว"
|
||||
sendPushNotificationReadMessageCaption: "การแจ้งเตือนที่มีข้อความ \"{emptyPushNotificationMessage}\" จะแสดงขึ้นมาในช่วงระยะเวลาสั้นๆ การดำเนินการนี้อาจทำให้เพิ่มการใช้งานแบตเตอรี่ของอุปกรณ์ถ้าหากมีนะ"
|
||||
windowMaximize: "ขยายใหญ่สุดแล้ว"
|
||||
windowMinimize: "ย่อเล็กที่สุด"
|
||||
windowRestore: "เลิกทำ"
|
||||
caption: "รายละเอียด"
|
||||
loggedInAsBot: "ล็อกอินเป็นบอตอยู่ในขณะนี้"
|
||||
@ -927,6 +959,7 @@ didYouLikeMisskey: "คุณเคยชอบ CherryPick ไหม?"
|
||||
pleaseDonate: "{host} ใช้ซอฟต์แวร์ฟรี CherryPick เราขอขอบคุณการบริจาคของคุณอย่างสูงเพื่อให้การพัฒนา CherryPick สามารถดำเนินต่อไปได้นะ!"
|
||||
roles: "บทบาท"
|
||||
role: "บทบาท"
|
||||
noRole: "ไม่พบบทบาท"
|
||||
normalUser: "ผู้ใช้มาตรฐาน"
|
||||
undefined: "ไม่ได้กำหนด"
|
||||
assign: "กำหนด"
|
||||
@ -936,11 +969,100 @@ manageCustomEmojis: "จัดการอีโมจิแบบกำหน
|
||||
youCannotCreateAnymore: "คุณถึงขีดจํากัดการสร้างแล้วนะ"
|
||||
cannotPerformTemporary: "ไม่สามารถใช้การได้ชั่วคราว"
|
||||
cannotPerformTemporaryDescription: "การดําเนินการนี้ไม่สามารถดําเนินการได้ชั่วคราว เนื่องจากเกินขีดจํากัดการดําเนินการ กรุณารอสักครู่แล้วลองใหม่อีกครั้งนะค่ะ"
|
||||
invalidParamError: "ข้อผิดพลาดพารามิเตอร์"
|
||||
invalidParamErrorDescription: "คำขอพารามิเตอร์ไม่ถูกต้อง สิ่งนี้มักจะเกิดจากข้อผิดพลาด แต่อาจเกิดจากอินพุตเกินขีดจำกัดของขนาดหรือที่คล้ายกัน"
|
||||
permissionDeniedError: "การดำเนินถูกปฏิเสธ"
|
||||
permissionDeniedErrorDescription: "บัญชีนี้ไม่มีสิทธิ์อนุญาตในการดำเนินการนี้"
|
||||
preset: "พรีเซ็ต"
|
||||
selectFromPresets: "เลือกจากการพรีเซ็ต"
|
||||
achievements: "ความสำเร็จ"
|
||||
gotInvalidResponseError: "การตอบสนองเซิร์ฟเวอร์ไม่ถูกต้อง"
|
||||
gotInvalidResponseErrorDescription: "เซิร์ฟเวอร์อาจไม่สามารถเข้าถึงได้หรืออาจจะกำลังอยู่ในระหว่างปรับปรุง กรุณาลองใหม่อีกครั้งในภายหลังนะคะ"
|
||||
thisPostMayBeAnnoying: "โน้ตนี้อาจจะเป็นการรบกวนผู้อื่นนะคะ"
|
||||
thisPostMayBeAnnoyingHome: "โพสต์ไปยังบ้านไทม์ไลน์"
|
||||
thisPostMayBeAnnoyingCancel: "เลิก"
|
||||
thisPostMayBeAnnoyingIgnore: "โพสต์ยังไงก็แล้วแต่"
|
||||
collapseRenotes: "ยุบ renotes ที่คุณได้เห็นแล้ว"
|
||||
internalServerError: "เซิร์ฟเวอร์ภายในเกิดข้อผิดพลาด"
|
||||
internalServerErrorDescription: "เซิร์ฟเวอร์รันค้นพบข้อผิดพลาดที่ไม่คาดคิด"
|
||||
copyErrorInfo: "คัดลอกรายละเอียดข้อผิดพลาด"
|
||||
joinThisServer: "ลงชื่อสมัครใช้ในอินสแตนซ์นี้"
|
||||
exploreOtherServers: "มองหาอินสแตนซ์อื่น"
|
||||
letsLookAtTimeline: "ลองดูที่ไทม์ไลน์"
|
||||
disableFederationConfirm: "ปิดใช้งานสหพันธ์จริงๆหรอแน่ใจแล้วนะ?"
|
||||
disableFederationConfirmWarn: "แม้ว่าจะถูกยกเลิกเอาไว้โพสต์ดังกล่าวนั้นจะยังคงเป็นสาธารณะต่อไป เว้นแต่ว่า...จะตั้งค่าเป็นอย่างอื่น โดยปกติคุณไม่จำเป็นต้องทำตรงนี้หรอกนะค่ะ"
|
||||
disableFederationOk: "ปิดการใช้งาน"
|
||||
invitationRequiredToRegister: "อินสแตนซ์นี้เป็นแบบรับเชิญเท่านั้น คุณต้องป้อนรหัสเชิญที่ถูกต้องถึงจะลงทะเบียนได้นะค่ะ"
|
||||
emailNotSupported: "อินสแตนซ์นี้ไม่รองรับการส่งอีเมลนะค่ะ"
|
||||
postToTheChannel: "โพสต์ลงช่อง"
|
||||
cannotBeChangedLater: "สิ่งนี้ไม่สามารถเปลี่ยนแปลงได้ในภายหลังนะ"
|
||||
reactionAcceptance: "การยอมรับรีแอคชั่น"
|
||||
likeOnly: "ที่ชอบเท่านั้น"
|
||||
likeOnlyForRemote: "ไลค์สำหรับอินสแตนซ์ระยะไกลเท่านั้น"
|
||||
rolesAssignedToMe: "บทบาทที่ได้รับมอบหมายให้ฉัน"
|
||||
resetPasswordConfirm: "รีเซ็ตรหัสผ่านของคุณจริงๆหรอ?"
|
||||
sensitiveWords: "คำที่ละเอียดอ่อน"
|
||||
sensitiveWordsDescription: "การเปิดเผยโน้ตทั้งหมดที่มีคำที่กำหนดค่าไว้จะถูกตั้งค่าเป็น \"หน้าแรก\" โดยอัตโนมัติ คุณยังสามารถแสดงหลายรายการได้โดยแยกรายการโดยใช้ตัวแบ่งบรรทัดได้นะ"
|
||||
notesSearchNotAvailable: "การค้นหาโน้ตไม่พร้อมใช้งานนะค่ะ"
|
||||
license: "ใบอนุญาต"
|
||||
unfavoriteConfirm: "ลบออกจากรายการโปรดแน่ใจหรอ?"
|
||||
myClips: "คลิปของฉัน"
|
||||
drivecleaner: "ทำความสะอาดไดรฟ์"
|
||||
retryAllQueuesNow: "ลองเรียกใช้คิวทั้งหมดอีกครั้ง"
|
||||
retryAllQueuesConfirmTitle: "ลองใหม่ทั้งหมดจริงๆหรอแน่ใจนะ?"
|
||||
retryAllQueuesConfirmText: "สิ่งนี้จะเพิ่มการโหลดเซิร์ฟเวอร์ชั่วคราวนะ"
|
||||
enableChartsForRemoteUser: "สร้างแผนภูมิข้อมูลผู้ใช้ระยะไกล"
|
||||
enableChartsForFederatedInstances: "สร้างแผนภูมิข้อมูลอินสแตนซ์ระยะไกล"
|
||||
showClipButtonInNoteFooter: "เพิ่ม \"คลิป\" เพื่อบันทึกเมนูการทำงาน"
|
||||
largeNoteReactions: "ขยายรีแอคชั่นการแสดงผล"
|
||||
noteIdOrUrl: "โน้ต ID หรือ URL"
|
||||
video: "วีดีโอ"
|
||||
videos: "วีดีโอ"
|
||||
dataSaver: "ประหยัดข้อมูล"
|
||||
accountMigration: "การโยกย้ายบัญชี"
|
||||
accountMoved: "ผู้ใช้รายนี้ได้ย้ายไปยังบัญชีใหม่แล้ว:"
|
||||
accountMovedShort: "บัญชีนี้ถูกโอนย้ายไปแล้วค่ะ"
|
||||
operationForbidden: "ห้ามดำเนินการ"
|
||||
forceShowAds: "แสดงโฆษณาเสมอ"
|
||||
addMemo: "เพิ่มมีโม"
|
||||
editMemo: "แก้ไขมีโม"
|
||||
reactionsList: "ปฏิกิริยา"
|
||||
renotesList: "Renotes รีโน้ต"
|
||||
notificationDisplay: "การแจ้งเตือน"
|
||||
leftTop: "บนซ้าย"
|
||||
rightTop: "บนขวา"
|
||||
leftBottom: "ล่างซ้าย"
|
||||
rightBottom: "ล่างขวา"
|
||||
stackAxis: "ทิศทางการซ้อน"
|
||||
vertical: "แนวตั้ง"
|
||||
horizontal: "ด้านข้าง"
|
||||
position: "ตำแหน่ง"
|
||||
serverRules: "กฎของเซิฟเวอร์"
|
||||
pleaseConfirmBelowBeforeSignup: "โปรดยืนยันด้านล่างก่อนกำลังลงชื่อสมัครนะค่ะ"
|
||||
pleaseAgreeAllToContinue: "คุณต้องยอมรับทุกช่องตรงด้านบนเพื่อดำเนินการต่อค่ะ"
|
||||
continue: "ดำเนินการต่อ"
|
||||
preservedUsernames: "ชื่อผู้ใช้ที่สงวนไว้"
|
||||
preservedUsernamesDescription: "ลิสต์ชื่อผู้ใช้ที่จะสำรองโดยคั่นด้วยการแบ่งบรรทัดนั้น เพราะสิ่งเหล่านี้จะไม่สามารถทำได้ในระหว่างการสร้างบัญชีตามปกติ บัญชีที่มีอยู่แล้วนั้นโดยใช้ชื่อผู้ใช้เหล่านี้จะไม่ได้รับผลกระทบอะไร"
|
||||
createNoteFromTheFile: "เรียบเรียงโน้ตจากไฟล์นี้"
|
||||
youFollowing: "ติดตามแล้ว"
|
||||
options: "ตัวเลือกบทบาท"
|
||||
_serverRules:
|
||||
description: "ชุดของกฎที่จะแสดงก่อนการลงทะเบียนเราขอแนะนำให้ตั้งค่าสรุปข้อกำหนดในการให้บริการ"
|
||||
_accountMigration:
|
||||
moveFrom: "ย้ายข้อมูลบัญชีอื่นไปยังอีกบัญชีนี้หนึ่ง"
|
||||
moveFromSub: "สร้างนามแฝงไปยังบัญชีอื่น"
|
||||
moveFromLabel: "บัญชีที่จะย้ายจาก:"
|
||||
moveFromDescription: "สร้างนามแฝงสำหรับบัญชีที่จะย้ายจากบัญชีนี้ ถ้าหากคุณต้องการโอนผู้ติดตาม สิ่งนี้ต้องทำก่อนโอนก่อนนะค่ะ! หลังจากนั้น ป้อนบัญชีที่จะย้ายไปในรูปแบบต่อไปนี้: @person@instance.com"
|
||||
moveTo: "ย้ายข้อมูลบัญชีนี้ไปยังบัญชีอีกหนึ่ง"
|
||||
moveToLabel: "บัญชีที่จะย้ายไปที่:"
|
||||
moveCannotBeUndone: "ไม่สามารถยกเลิกการโอนย้ายบัญชีได้"
|
||||
moveAccountDescription: "การกระทำนี้ไม่สามารถย้อนกลับได้นะ ขั้นตอนแรก ต้องสร้างนามแฝงสำหรับบัญชีนี้ในบัญชีที่คุณต้องการย้ายไป หลังจากนั้นแล้ว ป้อนบัญชีที่จะย้ายไปในรูปแบบดังต่อไปนี้: @person@instance.com"
|
||||
moveAccountHowTo: "หากต้องการย้ายข้อมูลก่อนอื่นให้สร้างชื่อแทนสำหรับบัญชีนี้ ในบัญชีที่จะต้องการย้ายไป\nหลังจากที่คุณสร้างนามแฝงนั้นแล้ว ให้ป้อนบัญชีที่ต้องการจะย้ายไปในรูปแบบดังต่อไปนี้: @username@server.example.com"
|
||||
startMigration: "โอนย้าย"
|
||||
migrationConfirm: "ย้ายข้อมูลบัญชีนี้ไปที่ {account} จริงๆนะ เมื่อมีการเริ่มต้นแล้ว กระบวนการนี้จะไม่สามารถหยุดหรือนำกลับคืนมาได้ และคุณจะไม่สามารถใช้บัญชีนี้ในสถานะดั้งเดิมได้อีกต่อไป\n\nนอกจากนี้ เพื่อให้แน่ใจยืนยันว่าคุณได้สร้างนามแฝงในบัญชีที่จะย้ายข้อมูลนะค่ะ"
|
||||
movedAndCannotBeUndone: "\nบัญชีนี้ถูกโอนย้ายไปแล้ว\nไม่สามารถย้อนกลับโอนย้ายข้อมูลได้"
|
||||
postMigrationNote: "บัญชีนี้จะถูกเลิกติดตามบัญชีทั้งหมดที่กำลังติดตามภายใน 24 ชั่วโมงหลังจากการย้ายข้อมูลนั้นเสร็จสิ้น ทั้งจำนวนผู้ติดตามและผู้ติดตามนั้นจะกลายเป็นศูนย์ เพื่อหลีกเลี่ยงป้องกันไม่ให้ผู้ติดตามของคุณนั้นไม่สามารถเห็นโพสต์เฉพาะผู้ติดตามของบัญชีนี้ได้ แต่อย่างไรก็ตามแล้วพวกเขาจะยังคงติดตามบัญชีนี้ต่อไป"
|
||||
movedTo: "บัญชีที่จะย้ายไปที่:"
|
||||
_achievements:
|
||||
earnedAt: "ได้รับเมื่อ"
|
||||
_types:
|
||||
@ -1112,6 +1234,9 @@ _achievements:
|
||||
_client30min:
|
||||
title: "พักผ่อนสักหน่อย"
|
||||
description: "ใช้เวลา 30 นาทีบน CherryPick"
|
||||
_client60min:
|
||||
title: "ไม่มี \"Miss\" ใน CherryPick นะค่ะ !"
|
||||
description: "เปิด CherryPick ค้างไว้แล้วอย่างน้อย 60 นาที"
|
||||
_noteDeletedWithin1min:
|
||||
title: "ไม่เป็นไร"
|
||||
description: "ลบโน้ตภายในหนึ่งนาทีหลังจากที่โพสต์"
|
||||
@ -1200,6 +1325,10 @@ _role:
|
||||
iconUrl: "ไอคอน URL"
|
||||
asBadge: "แสดงเป็นตรา"
|
||||
descriptionOfAsBadge: "ไอคอนของบทบาทนี้จะปรากฏถัดจากชื่อผู้ใช้ของผู้ใช้งานด้วยบทบาทนี้ถ้าหากเปิดใช้งาน"
|
||||
isExplorable: "บทบาทไทม์ไลน์เป็นแบบสาธารณะ"
|
||||
descriptionOfIsExplorable: "ไทม์ไลน์ของบทบาทนี้จะสามารถเข้าถึงได้แบบสาธารณะถ้าหากเปิดใช้งาน เส้นเวลาของบทบาทนั้นจะไม่ถูกเปิดเผยต่อสาธารณะ ถึงแม้ว่าจะไม่เปิดเผยต่อสาธารณะแม้แต่ว่า...จะตั้งค่าไว้ยังไงก็ตาม"
|
||||
displayOrder: "ตำแหน่ง"
|
||||
descriptionOfDisplayOrder: "ยิ่งตัวเลขสูง ตำแหน่ง UI ก็ยิ่งสูงขึ้นนะ"
|
||||
canEditMembersByModerator: "อนุญาตให้ผู้ดูแลแก้ไขสมาชิก"
|
||||
descriptionOfCanEditMembersByModerator: "เมื่อเปิดใช้ ผู้ดูแลนอกเหนือจากผู้ดูแลระบบแล้ว จะสามารถกำหนดและยกเลิกการมอบหมายบทบาทนี้ให้กับผู้ใช้ได้ เมื่อปิด เฉพาะผู้ดูแลระบบเท่านั้นที่จะสามารถกำหนดผู้ใช้ได้นะ"
|
||||
priority: "ลำดับความสำคัญ"
|
||||
@ -1225,6 +1354,7 @@ _role:
|
||||
rateLimitFactor: "ขีดจำกัดอัตรา"
|
||||
descriptionOfRateLimitFactor: "ขีดจํากัดอัตราที่ต่ำกว่ามีข้อจํากัดน้อยกว่าข้อจํากัดที่สูงกว่า"
|
||||
canHideAds: "ซ่อนโฆษณา"
|
||||
canSearchNotes: "การใช้การค้นหาโน้ต"
|
||||
_condition:
|
||||
isLocal: "ผู้ใช้ภายใน"
|
||||
isRemote: "ผู้ใช้ระยะไกล"
|
||||
@ -1234,6 +1364,8 @@ _role:
|
||||
followersMoreThanOrEq: "จำนวนผู้ติดตามมากกว่าหรือเท่ากับ\n"
|
||||
followingLessThanOrEq: "จำนวนบัญชีต่อไปนี้คือ น้อยกว่าหรือเท่ากับ"
|
||||
followingMoreThanOrEq: "จำนวนบัญชีต่อไปนี้คือ มากกว่าหรือเท่ากับ"
|
||||
notesLessThanOrEq: "จำนวนโพสต์น้อยกว่าเท่ากับ"
|
||||
notesMoreThanOrEq: "จำนวนโพสต์มากกว่าเท่ากับ"
|
||||
and: "และ"
|
||||
or: "หรือ"
|
||||
not: "ไม่"
|
||||
@ -1409,6 +1541,8 @@ _channel:
|
||||
following: "ติดตามแล้ว"
|
||||
usersCount: "{n} ผู้เข้าร่วม"
|
||||
notesCount: "{n} โน้ต"
|
||||
nameAndDescription: "ชื่อและคำอธิบาย"
|
||||
nameOnly: "ชื่อเท่านั้น"
|
||||
_menuDisplay:
|
||||
sideFull: "ด้านข้าง"
|
||||
sideIcon: "ด้านข้าง (ไอคอน)"
|
||||
@ -1520,47 +1654,37 @@ _ago:
|
||||
weeksAgo: "{n} สัปดาห์ที่แล้ว"
|
||||
monthsAgo: "{n} เดือนที่แล้ว"
|
||||
yearsAgo: "{n} ปีที่ผ่านมา"
|
||||
invalid: "ไม่พบผลลัพธ์"
|
||||
_time:
|
||||
second: "วินาที"
|
||||
minute: "นาที"
|
||||
hour: "ชั่วโมง"
|
||||
day: "วัน"
|
||||
_tutorial:
|
||||
title: "วิธีการใช้งาน CherryPick"
|
||||
step1_1: "ยินดีต้อนรับค่ะ!"
|
||||
step1_2: "หน้านี้เรียกว่า \"ไทม์ไลน์\" มันจะแสดง \"โน้ตย่อ\" ที่เรียงลำดับตามลำดับเวลาของคนที่คุณ \"ติดตาม\""
|
||||
step1_3: "ไทม์ไลน์ของคุณนั้นว่างเปล่า เนื่องจากคุณยังไม่ได้โพสต์โน้ตย่อหรือไม่ได้ติดตามใครเลย"
|
||||
step2_1: "มาตั้งค่าโปรไฟล์ของคุณให้เสร็จก่อนเขียนโน้ตย่อหรือติดตามใครก็ได้"
|
||||
step2_2: "การให้ข้อมูลบางอย่างเกี่ยวกับตัวคุณนั้น จะทำให้ผู้อื่นทราบว่าต้องการดูโน้ตย่อของคุณหรือติดตามคุณได้ง่ายขึ้น"
|
||||
step3_1: "ตั้งค่าโปรไฟล์ของคุณเสร็จแล้ว?"
|
||||
step3_2: "จากนั้นลองโพสต์โน้ตกันต่อไป คุณสามารถทำได้โดยกดปุ่มที่มีไอคอนดินสอบนหน้าจอนะ"
|
||||
step3_3: "กรอกโมดอลแล้วกดปุ่มด้านบนขวาเพื่อโพสต์"
|
||||
step3_4: "ไม่มีอะไรจะพูดงั้นหรอ ลอง \"เพียงแค่ตั้งค่าว่า CherryPick ของฉัน\"!"
|
||||
step4_1: "เสร็จสิ้นการโพสต์โน้ตย่อแรกของคุณแล้วอย่างงั้นหรอ?"
|
||||
step4_2: "ไชโย! ตอนนี้โน้ตย่อแรกของคุณได้ปรากฏบนไทม์ไลน์ของคุณแล้วนะ"
|
||||
step5_1: "ตอนนี้ มาลองทำไทม์ไลน์เพิ่มเติมของคุณให้ดูมีชีวิตชีวามากขึ้นโดยการติดตามคนอื่น"
|
||||
step5_2: "{featured} จะแสดงโน้ตยอดนิยมให้คุณเห็นในกรณีนี้ {explore} จะช่วยให้คุณค้นหาผู้ใช้ยอดนิยมได้ ลองหาคนที่คุณต้องการติดตามที่นั่นสิ!"
|
||||
step5_3: "หากต้องการติดตามผู้ใช้รายอื่น ให้คลิกที่ไอคอนและกดปุ่ม \"ติดตาม\" บนโปรไฟล์ของพวกเขาได้เลยจ้า"
|
||||
step5_4: "หากผู้ใช้รายอื่นมีไอคอนแม่กุญแจที่อยู่ข้างชื่อ อาจต้องใช้เวลาสักระยะกว่าที่ผู้ใช้รายนั้นจะอนุมัติคำขอติดตามของคุณ"
|
||||
step6_1: "คุณสามารถเห็นโน้ตย่อของผู้ใช้รายอื่นบนไทม์ไลน์ของคุณได้แล้วตอนนี้"
|
||||
step6_2: "คุณยังสามารถใส่ \"ปฏิกิริยา\" ลงในโน้ตของคนอื่นเพื่อตอบกลับได้อย่างรวดเร็ว"
|
||||
step6_3: "หากต้องการแนบ \"ปฏิกิริยา\" ให้กดเครื่องหมาย \"+\" ในโน้ตของผู้ใช้รายอื่นแล้วเลือกอีโมจิที่คุณต้องการโต้ตอบด้วย"
|
||||
step7_1: "ยินดีด้วยนะ! คุณได้เสร็จสิ้นการกวดวิชาพื้นฐานของ CherryPick แล้ว"
|
||||
step7_2: "ถ้าหากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ CherryPick ให้ลองใช้ส่วน {help}"
|
||||
step7_3: "ตอนนี้ ถ้าอย่างนั้นก็ขอให้โชคดีและสนุกกับ CherryPick! 🚀"
|
||||
step8_1: "สุดท้ายนี้นายต้องการเปิดใช้งานการแจ้งเตือนแบบพุชหรือป่าว?"
|
||||
step8_2: "การเปิดใช้งานสิ่งเหล่านี้ จะช่วยให้คุณนั้นได้รับการแจ้งเตือนสำหรับการกล่าวถึง การแสดงรีแอคชั่น การติดตาม ฯลฯ เป็นต้น ถึงแม้ว่าจะไม่ได้เปิด CherryPick ก็ตาม"
|
||||
step8_3: "คุณสามารถเปลี่ยนการตั้งค่านี้ในภายหลังได้ตลอดเวลานะ"
|
||||
_2fa:
|
||||
alreadyRegistered: "คุณได้ลงทะเบียนอุปกรณ์ยืนยันตัวตนแบบ 2 ชั้นแล้ว"
|
||||
registerDevice: "ลงทะเบียนอุปกรณ์ใหม่"
|
||||
registerKey: "ลงทะเบียนรหัสความปลอดภัย"
|
||||
registerTOTP: "ลงทะเบียนแอพตัวตรวจสอบสิทธิ์"
|
||||
passwordToTOTP: "กรอกรหัสผ่าน"
|
||||
step1: "ขั้นตอนแรก ติดตั้งแอปยืนยันตัวตน (เช่น {a} หรือ {b}) บนอุปกรณ์ของคุณ"
|
||||
step2: "จากนั้นสแกนรหัส QR ที่แสดงบนหน้าจอนี้"
|
||||
step2Click: "การคลิกที่รหัส QR นี้จะช่วยให้คุณนั้นสามารถลงทะเบียน 2FA กับคีย์ความปลอดภัยหรือแอปตรวจสอบความถูกต้องของโทรศัพท์ได้"
|
||||
step2Url: "คุณยังสามารถป้อนบน URL นี้หากคุณใช้โปรแกรมเดสก์ท็อป:"
|
||||
step3Title: "ป้อนรหัสยืนยัน"
|
||||
step3: "ป้อนโทเค็นที่แอปของคุณให้มาเพื่อเสร็จสิ้นการตั้งค่า"
|
||||
step4: "นับจากนี้เป็นต้นไปการพยายามเข้าสู่ระบบในอนาคตนั้น อาจจะต้องขอโทเค็นในการเข้าสู่ระบบดังกล่าว"
|
||||
securityKeyNotSupported: "เบราว์เซอร์ของคุณไม่รองรับคีย์ความปลอดภัยนะ"
|
||||
registerTOTPBeforeKey: "กรุณาตั้งค่าแอปยืนยันตัวตนเพื่อลงทะเบียนรหัสความปลอดภัยหรือรหัสผ่าน"
|
||||
securityKeyInfo: "นอกจากนี้การตรวจสอบความถูกต้องด้วยลายนิ้วมือหรือ PIN แล้ว คุณยังสามารถตั้งค่าการตรวจสอบสิทธิ์ผ่านคีย์ความปลอดภัยของฮาร์ดแวร์ที่รองรับ FIDO2 เพื่อเพิ่มความปลอดภัยให้กับบัญชีของคุณ"
|
||||
chromePasskeyNotSupported: "ขณะนี้ยังไม่รองรับรหัสผ่านของ Chrome"
|
||||
registerSecurityKey: "ลงทะเบียนรหัสความปลอดภัยหรือรหัสผ่าน"
|
||||
securityKeyName: "ป้อนชื่อคีย์"
|
||||
tapSecurityKey: "กรุณาทำตามเบราว์เซอร์ของคุณเพื่อลงทะเบียนรหัสความปลอดภัยหรือรหัสผ่าน"
|
||||
removeKey: "ลบคีย์ความปลอดภัยออก"
|
||||
removeKeyConfirm: "ลบข้อมูลสำรอง {name} มั้ย?"
|
||||
whyTOTPOnlyRenew: "ไม่สามารถลบแอปตัวรับรองความถูกต้องได้ตราบใดที่มีการลงทะเบียนคีย์ความปลอดภัยไว้แล้ว"
|
||||
renewTOTP: "กำหนดค่าแอพตัวตรวจสอบสิทธิ์ใหม่"
|
||||
renewTOTPConfirm: "วิธีการแบบนี้จะทําให้รหัสยืนยันจากแอพก่อนหน้าของคุณหยุดทํางานเลยนะ"
|
||||
renewTOTPOk: "ตั้งค่าคอนฟิกใหม่"
|
||||
renewTOTPCancel: "ไม่เป็นไร"
|
||||
_permissions:
|
||||
"read:account": "ดูข้อมูลบัญชีของคุณ"
|
||||
"write:account": "แก้ไขข้อมูลบัญชีของคุณ"
|
||||
@ -1684,8 +1808,8 @@ _visibility:
|
||||
followersDescription: "ทำให้ผู้ติดตามนั้นมองเห็นแค่คุณเท่านั้น"
|
||||
specified: "ไดเร็ค"
|
||||
specifiedDescription: "ทำให้มองเห็นได้เฉพาะผู้ใช้ที่ระบุเท่านั้น"
|
||||
localOnly: "เฉพาะท้องถิ่น"
|
||||
localOnlyDescription: "ผู้ใช้ระยะไกลนั้นไม่สามารถมองเห็นได้"
|
||||
disableFederation: "ไม่มีสหภาพ"
|
||||
disableFederationDescription: "อย่าส่งไปยังอินสแตนซ์อื่น"
|
||||
_postForm:
|
||||
replyPlaceholder: "ตอบกลับโน้ตนี้..."
|
||||
quotePlaceholder: "อ้างโน้ตนี้..."
|
||||
@ -1845,6 +1969,7 @@ _notification:
|
||||
receiveFollowRequest: "ได้รับคำขอติดตาม\n"
|
||||
followRequestAccepted: "ยอมรับคำขอติดตาม"
|
||||
groupInvited: "ได้รับคำเชิญเข้ากลุ่ม"
|
||||
achievementEarned: "ปลดล็อกความสำเร็จแล้ว"
|
||||
app: "การแจ้งเตือนจากแอปที่มีลิงก์"
|
||||
_actions:
|
||||
followBack: "ติดตามกลับด้วย"
|
||||
@ -1877,3 +2002,27 @@ _deck:
|
||||
channel: "แชนแนล"
|
||||
mentions: "พูดถึง"
|
||||
direct: "ไดเร็ค"
|
||||
roleTimeline: "บทบาทไทม์ไลน์"
|
||||
_dialog:
|
||||
charactersExceeded: "คุณกำลังมีตัวอักขระเกินขีดจำกัดสูงสุดแล้วนะ! ปัจจุบันอยู่ที่ {current} จาก {max}"
|
||||
charactersBelow: "คุณกำลังใช้อักขระต่ำกว่าขีดจำกัดขั้นต่ำเลยนะ! ปัจจุบันอยู่ที่ {current} จาก {min}"
|
||||
_disabledTimeline:
|
||||
title: "ปิดใช้งานไทม์ไลน์"
|
||||
description: "คุณไม่สามารถใช้ไทม์ไลน์นี้ภายใต้บทบาทปัจจุบันของคุณได้"
|
||||
_drivecleaner:
|
||||
orderBySizeDesc: "ขนาดไฟล์จากมากไปหาน้อย"
|
||||
orderByCreatedAtAsc: "วันที่จากน้อยไปหามาก"
|
||||
_webhookSettings:
|
||||
createWebhook: "สร้าง Webhook"
|
||||
name: "ชื่อ"
|
||||
secret: "ความลับ"
|
||||
events: "อีเว้นท์ Webhook"
|
||||
active: "เปิดใช้งาน"
|
||||
_events:
|
||||
follow: "เมื่อกำลังติดตามผู้ใช้"
|
||||
followed: "เมื่อกำลังติดตามแล้ว"
|
||||
note: "เมื่อกำลังโพสต์โน้ต"
|
||||
reply: "เมื่อได้รับการตอบกลับ"
|
||||
renote: "รีโน้ตแล้วเมื่อ"
|
||||
reaction: "เมื่อได้รับรีแอคชั่น"
|
||||
mention: "เมื่อกำลังถูกกล่าวถึง"
|
||||
|
@ -49,6 +49,7 @@ deleteAndEdit: "Видалити й редагувати"
|
||||
deleteAndEditConfirm: "Ви впевнені, що хочете видалити цю нотатку та відредагувати її? Ви втратите всі реакції, поширення та відповіді на неї."
|
||||
addToList: "Додати до списку"
|
||||
sendMessage: "Надіслати повідомлення"
|
||||
copyRSS: "Скопіювати RSS"
|
||||
copyUsername: "Скопіювати ім’я користувача"
|
||||
searchUser: "Пошук користувачів"
|
||||
reply: "Відповісти"
|
||||
@ -128,6 +129,7 @@ unblockConfirm: "Ви впевнені, що хочете розблокуват
|
||||
suspendConfirm: "Ви впевнені, що хочете призупинити цей акаунт?"
|
||||
unsuspendConfirm: "Ви впевнені, що хочете відновити цей акаунт?"
|
||||
selectList: "Виберіть список"
|
||||
selectChannel: "Виберіть канал"
|
||||
selectAntenna: "Виберіть антену"
|
||||
selectWidget: "Виберіть віджет"
|
||||
editWidgets: "Редагувати віджети"
|
||||
@ -255,12 +257,13 @@ noMoreHistory: "Подальшої історії немає"
|
||||
startMessaging: "Розпочати діалог"
|
||||
nUsersRead: "Прочитали {n}"
|
||||
agreeTo: "Я погоджуюсь з {0}"
|
||||
tos: "Умови використання"
|
||||
agreeBelow: "Я погоджуюся з наведеним нижче"
|
||||
start: "Розпочати"
|
||||
home: "Домівка"
|
||||
remoteUserCaution: "Інформація може бути неповною, оскільки це віддалений користувач."
|
||||
activity: "Активність"
|
||||
images: "Зображення"
|
||||
image: "Зображення"
|
||||
birthday: "День народження"
|
||||
yearsOld: "{age} років"
|
||||
registeredDate: "Приєднання"
|
||||
@ -387,13 +390,12 @@ about: "Інформація"
|
||||
aboutMisskey: "Про CherryPick"
|
||||
administrator: "Адмін"
|
||||
token: "Токен"
|
||||
twoStepAuthentication: "Двохфакторна аутентифікація"
|
||||
2fa: "Двофакторна аутентифікація"
|
||||
totp: "Програма аутентифікації"
|
||||
moderator: "Модератор"
|
||||
moderation: "Модерація"
|
||||
nUsersMentioned: "Згадали: {n}"
|
||||
securityKey: "Ключ захисту"
|
||||
securityKeyName: "Назва ключа"
|
||||
registerSecurityKey: "Зареєструвати ключ захисту"
|
||||
lastUsed: "Востаннє використано"
|
||||
unregister: "Скасувати реєстрацію"
|
||||
passwordLessLogin: "Налаштувати вхід без пароля"
|
||||
@ -450,7 +452,6 @@ passwordMatched: "Все вірно"
|
||||
passwordNotMatched: "Паролі не співпадають"
|
||||
signinWith: "Увійти за допомогою {x}"
|
||||
signinFailed: "Не вдалося увійти. Введені ім’я користувача або пароль неправильнi."
|
||||
tapSecurityKey: "Торкніться ключа безпеки"
|
||||
or: "або"
|
||||
language: "Мова"
|
||||
uiLanguage: "Мова інтерфейсу"
|
||||
@ -461,6 +462,8 @@ youHaveNoGroups: "Немає груп"
|
||||
joinOrCreateGroup: "Отримуйте запрошення до груп або створюйте свої власні групи."
|
||||
noHistory: "Історія порожня"
|
||||
signinHistory: "Історія входів"
|
||||
enableAdvancedMfm: "Увімкнути розширений MFM"
|
||||
enableAnimatedMfm: "Увімкнути анімований MFM"
|
||||
doing: "Виконується"
|
||||
category: "Категорія"
|
||||
tags: "Теги"
|
||||
@ -585,7 +588,6 @@ tokenRequested: "Надати доступ до акаунту"
|
||||
pluginTokenRequestedDescription: "Цей плагін зможе використовувати дозволи які тут вказані."
|
||||
notificationType: "Тип сповіщення"
|
||||
edit: "Редагувати"
|
||||
useStarForReactionFallback: "Використовувати ★ як запасний варіант, якщо емодзі реакції невідомий"
|
||||
emailServer: "Email сервер"
|
||||
enableEmail: "Увімкнути функцію доставки пошти"
|
||||
emailConfigInfo: "Використовується для підтвердження електронної пошти підчас реєстрації, а також для відновлення паролю."
|
||||
@ -713,6 +715,7 @@ accentColor: "Акцент"
|
||||
textColor: "Текст"
|
||||
saveAs: "Зберегти як…"
|
||||
advanced: "Розширені"
|
||||
advancedSettings: "Розширені налаштування"
|
||||
value: "Значення"
|
||||
createdAt: "Створено"
|
||||
updatedAt: "Останнє оновлення"
|
||||
@ -777,6 +780,7 @@ popularPosts: "Популярні дописи"
|
||||
shareWithNote: "Поділитися нотаткою"
|
||||
ads: "Реклама"
|
||||
expiration: "Опитування закінчується"
|
||||
startingperiod: "Початковий період"
|
||||
memo: "Примітка"
|
||||
priority: "Пріоритет"
|
||||
high: "Високий"
|
||||
@ -840,6 +844,7 @@ searchByGoogle: "Пошук"
|
||||
instanceDefaultLightTheme: "Світла тема за промовчанням"
|
||||
instanceDefaultDarkTheme: "Темна тема за промовчанням"
|
||||
mutePeriod: "Тривалість приховування"
|
||||
period: "Опитування закінчується"
|
||||
indefinitely: "Ніколи"
|
||||
tenMinutes: "10 хвилин"
|
||||
oneHour: "1 година"
|
||||
@ -897,8 +902,19 @@ like: "Вподобати"
|
||||
unlike: "Не вподобати"
|
||||
numberOfLikes: "Вподобання"
|
||||
show: "Відображення"
|
||||
roles: "Ролі"
|
||||
role: "Роль"
|
||||
normalUser: "Звичайний користувач"
|
||||
undefined: "Не визначено"
|
||||
assign: "Призначити"
|
||||
unassign: "Скасувати призначення"
|
||||
color: "Колір"
|
||||
achievements: "Досягнення"
|
||||
joinThisServer: "Зареєструватися на цьому сервері"
|
||||
exploreOtherServers: "Знайти інший сервер"
|
||||
letsLookAtTimeline: "Перегляд історії"
|
||||
horizontal: "Збоку"
|
||||
youFollowing: "Підписки"
|
||||
_achievements:
|
||||
earnedAt: "Відкрито"
|
||||
_types:
|
||||
@ -1113,11 +1129,20 @@ _achievements:
|
||||
_loggedInOnNewYearsDay:
|
||||
title: "З Новим роком!"
|
||||
description: "Увійшли в перший день року"
|
||||
_cookieClicked:
|
||||
flavor: "Чекайте, це вірний сайт?"
|
||||
_brainDiver:
|
||||
title: "Brain Diver"
|
||||
description: "Відправити посилання на \"Brain Diver\""
|
||||
flavor: "CherryPick-CherryPick La-Tu-Ma"
|
||||
_role:
|
||||
new: "Нова роль"
|
||||
edit: "Змінити роль"
|
||||
name: "Назва ролі"
|
||||
description: "Опис ролі"
|
||||
permission: "Права ролі"
|
||||
assignTarget: "Призначити"
|
||||
manual: "Вручну"
|
||||
priority: "Пріоритет"
|
||||
_priority:
|
||||
low: "Низький"
|
||||
@ -1374,45 +1399,20 @@ _ago:
|
||||
weeksAgo: "{n} тиж. тому"
|
||||
monthsAgo: "{n} міс. тому"
|
||||
yearsAgo: "{n} р. тому"
|
||||
invalid: "Тут нічого немає"
|
||||
_time:
|
||||
second: "с"
|
||||
minute: "х"
|
||||
hour: "г"
|
||||
day: "д"
|
||||
_tutorial:
|
||||
title: "Як користуватись CherryPick"
|
||||
step1_1: "Ласкаво просимо!"
|
||||
step1_2: "Ця сторінка має назву \"стрічка подій\". На ній з'являються записи користувачів на яких ви підписані."
|
||||
step1_3: "Наразі ваша стрічка порожня, оскільки ви ще не написали жодної нотатки і не підписані на інших."
|
||||
step2_1: "Перш ніж зробити запис або підписатись на когось, заповніть свій профіль."
|
||||
step2_2: "Надання деякої інформації про себе допоможе іншим користувачам вирішити підписатись на вас."
|
||||
step3_1: "Ви успішно налаштували свій обліковий запис?"
|
||||
step3_2: "Наступним кроком є написання нотатки. Це можна зробити, натиснувши зображення олівця на екрані."
|
||||
step3_3: "Після написання вмісту ви можете опублікувати його, натиснувши кнопку у верхньому правому куті форми."
|
||||
step3_4: "Не знаєте що написати? Спробуйте \"Привіт, CherryPick!\""
|
||||
step4_1: "Ви розмістили свій перший запис?"
|
||||
step4_2: "Ура! Ваш перший запис відображається на вашій стрічці подій."
|
||||
step5_1: "Настав час оживити вашу стрічку подій підписавшись на інших користувачів."
|
||||
step5_2: "{explore} допоможе вам знайти цікавих людей та підписатися на них."
|
||||
step5_3: "Щоб підписатись на інших користувачів, нажміть на їхнє зображення, а потім на кнопку \"підписатись\"."
|
||||
step5_4: "Якщо користувач має замок при імені, то йому потрібно буде вручну підтвердити вашу заявку на підписку."
|
||||
step6_1: "Тепер ви повинні бачити записи інших користувачів на вашій стрічці подій."
|
||||
step6_2: "Також ви можете швидко відповісти, або \"відреагувати\" на записи інших користувачів."
|
||||
step6_3: "Щоб \"відреагувати\", нажміть на знак плюс \"+\" на записі і виберіть емоджі яким ви хочете \"відреагувати\"."
|
||||
step7_1: "Вітаю! Ви пройшли ознайомлення з CherryPick."
|
||||
step7_2: "Якщо ви хочете більше дізнатись про CherryPick, зайдіть в розділ {help}."
|
||||
step7_3: "Насолоджуйтесь CherryPick! 🚀"
|
||||
step8_1: "Наостанку, чи бажаєте ви ввімкнути push-сповіщення?"
|
||||
step8_3: "Ви завжди можете змінити цей параметр пізніше."
|
||||
_2fa:
|
||||
alreadyRegistered: "Двофакторна автентифікація вже налаштована."
|
||||
registerDevice: "Зареєструвати новий пристрій"
|
||||
registerKey: "Зареєструвати новий ключ безпеки"
|
||||
step1: "Спершу встановіть на свій пристрій програму автентифікації (наприклад {a} або {b})."
|
||||
step2: "Потім відскануйте QR-код, який відображається на цьому екрані."
|
||||
step2Url: "Ви також можете ввести цю URL-адресу, якщо використовуєте програму для ПК:"
|
||||
step3: "Щоб завершити налаштування, введіть токен, наданий вашою програмою."
|
||||
step4: "Відтепер будь-які майбутні спроби входу вимагатимуть такого токена."
|
||||
renewTOTPCancel: "Не зараз"
|
||||
_permissions:
|
||||
"read:account": "Переглядати дані профілю"
|
||||
"write:account": "Змінити дані акаунту"
|
||||
@ -1521,8 +1521,6 @@ _visibility:
|
||||
followersDescription: "Тільки для підписників"
|
||||
specified: "Особисто"
|
||||
specifiedDescription: "Лише для певних користувачів"
|
||||
localOnly: "Локально"
|
||||
localOnlyDescription: "Приховано для віддалених користувачів"
|
||||
_postForm:
|
||||
replyPlaceholder: "Відповідь на цю нотатку..."
|
||||
quotePlaceholder: "Прокоментуйте цю нотатку..."
|
||||
@ -1694,3 +1692,6 @@ _deck:
|
||||
channel: "Канали"
|
||||
mentions: "Згадки"
|
||||
direct: "Особисте"
|
||||
_webhookSettings:
|
||||
name: "Ім'я"
|
||||
active: "Увімкнено"
|
||||
|
@ -2,6 +2,7 @@
|
||||
_lang_: "Tiếng Việt"
|
||||
headlineMisskey: "Mạng xã hội liên hợp"
|
||||
introMisskey: "Xin chào! CherryPick là một nền tảng tiểu blog phi tập trung mã nguồn mở.\nViết \"tút\" để chia sẻ những suy nghĩ của bạn 📡\nBằng \"biểu cảm\", bạn có thể bày tỏ nhanh chóng cảm xúc của bạn với các tút 👍\nHãy khám phá một thế giới mới! 🚀"
|
||||
poweredByMisskeyDescription: "{name} là một trong những chủ máy của <b>CherryPick</b> là nền tảng mã nguồn mở"
|
||||
monthAndDay: "{day} tháng {month}"
|
||||
search: "Tìm kiếm"
|
||||
notifications: "Thông báo"
|
||||
@ -10,12 +11,13 @@ password: "Mật khẩu"
|
||||
forgotPassword: "Quên mật khẩu"
|
||||
fetchingAsApObject: "Đang nạp dữ liệu từ Fediverse..."
|
||||
ok: "Đồng ý"
|
||||
gotIt: "Đã hiểu!"
|
||||
gotIt: "Hiểu rồi!"
|
||||
cancel: "Hủy"
|
||||
noThankYou: "Không, cảm ơn"
|
||||
enterUsername: "Nhập tên người dùng"
|
||||
renotedBy: "Chia sẻ bởi {user}"
|
||||
noNotes: "Chưa có tút nào."
|
||||
noNotifications: "Không có thông báo"
|
||||
noNotes: "Chưa có bài viết nào."
|
||||
noNotifications: "Chưa có thông báo"
|
||||
instance: "Máy chủ"
|
||||
settings: "Cài đặt"
|
||||
basicSettings: "Thiết lập chung"
|
||||
@ -47,6 +49,7 @@ deleteAndEdit: "Sửa"
|
||||
deleteAndEditConfirm: "Bạn có chắc muốn sửa tút này? Những biểu cảm, lượt trả lời và đăng lại sẽ bị mất."
|
||||
addToList: "Thêm vào danh sách"
|
||||
sendMessage: "Gửi tin nhắn"
|
||||
copyRSS: "Sao chép RSS"
|
||||
copyUsername: "Chép tên người dùng"
|
||||
searchUser: "Tìm kiếm người dùng"
|
||||
reply: "Trả lời"
|
||||
@ -65,13 +68,13 @@ export: "Xuất dữ liệu"
|
||||
files: "Tập tin"
|
||||
download: "Tải xuống"
|
||||
driveFileDeleteConfirm: "Bạn có chắc muốn xóa tập tin \"{name}\"? Tút liên quan cũng sẽ bị xóa theo."
|
||||
unfollowConfirm: "Bạn có chắc muốn ngưng theo dõi {name}?"
|
||||
unfollowConfirm: "Bạn ngừng theo dõi {name}?"
|
||||
exportRequested: "Đang chuẩn bị xuất tập tin. Quá trình này có thể mất ít phút. Nó sẽ được tự động thêm vào Drive sau khi hoàn thành."
|
||||
importRequested: "Bạn vừa yêu cầu nhập dữ liệu. Quá trình này có thể mất ít phút."
|
||||
lists: "Danh sách"
|
||||
noLists: "Bạn chưa có danh sách nào"
|
||||
note: "Tút"
|
||||
notes: "Tút"
|
||||
note: "Bài viết"
|
||||
notes: "Bài Viết"
|
||||
following: "Đang theo dõi"
|
||||
followers: "Người theo dõi"
|
||||
followsYou: "Theo dõi bạn"
|
||||
@ -88,7 +91,7 @@ enterListName: "Đặt tên cho danh sách"
|
||||
privacy: "Bảo mật"
|
||||
makeFollowManuallyApprove: "Yêu cầu theo dõi cần được duyệt"
|
||||
defaultNoteVisibility: "Kiểu tút mặc định"
|
||||
follow: "Đang theo dõi"
|
||||
follow: "Theo dõi"
|
||||
followRequest: "Gửi yêu cầu theo dõi"
|
||||
followRequests: "Yêu cầu theo dõi"
|
||||
unfollow: "Ngưng theo dõi"
|
||||
@ -100,7 +103,9 @@ renoted: "Đã đăng lại."
|
||||
cantRenote: "Không thể đăng lại tút này."
|
||||
cantReRenote: "Không thể đăng lại một tút đăng lại."
|
||||
quote: "Trích dẫn"
|
||||
pinnedNote: "Tút ghim"
|
||||
inChannelRenote: "Chia sẻ trong kênh này"
|
||||
inChannelQuote: "Trích dẫn trong kênh này"
|
||||
pinnedNote: "Bài viết đã ghim"
|
||||
pinned: "Ghim"
|
||||
you: "Bạn"
|
||||
clickToShow: "Nhấn để xem"
|
||||
@ -126,6 +131,7 @@ unblockConfirm: "Bạn có chắc muốn bỏ chặn người này?"
|
||||
suspendConfirm: "Bạn có chắc muốn vô hiệu hóa người này?"
|
||||
unsuspendConfirm: "Bạn có chắc muốn bỏ vô hiệu hóa người này?"
|
||||
selectList: "Chọn danh sách"
|
||||
selectChannel: "Lựa chọn kênh"
|
||||
selectAntenna: "Chọn một antenna"
|
||||
selectWidget: "Chọn tiện ích"
|
||||
editWidgets: "Sửa tiện ích"
|
||||
@ -141,8 +147,8 @@ cacheRemoteFiles: "Tập tin cache từ xa"
|
||||
cacheRemoteFilesDescription: "Khi tùy chọn này bị tắt, các tập tin từ xa sẽ được tải trực tiếp từ máy chủ khác. Điều này sẽ giúp giảm dung lượng lưu trữ nhưng lại tăng lưu lượng truy cập, vì hình thu nhỏ sẽ không được tạo."
|
||||
flagAsBot: "Đánh dấu đây là tài khoản bot"
|
||||
flagAsBotDescription: "Bật tùy chọn này nếu tài khoản này được kiểm soát bởi một chương trình. Nếu được bật, nó sẽ được đánh dấu để các nhà phát triển khác ngăn chặn chuỗi tương tác vô tận với các bot khác và điều chỉnh hệ thống nội bộ của CherryPick để coi tài khoản này như một bot."
|
||||
flagAsCat: "Tài khoản này là mèo"
|
||||
flagAsCatDescription: "Bật tùy chọn này để đánh dấu tài khoản là một con mèo."
|
||||
flagAsCat: "Chế độ Mèeeeeeeeeeo!!"
|
||||
flagAsCatDescription: "Nếu mà em là một con mèo thì cứ bật nó kiu mèo mèo mèeeeeeeo!! "
|
||||
flagShowTimelineReplies: "Hiện lượt trả lời trong bảng tin"
|
||||
flagShowTimelineRepliesDescription: "Hiện lượt trả lời của người bạn theo dõi trên tút của những người khác."
|
||||
autoAcceptFollowed: "Tự động phê duyệt theo dõi từ những người mà bạn đang theo dõi"
|
||||
@ -155,7 +161,7 @@ setWallpaper: "Đặt ảnh bìa"
|
||||
removeWallpaper: "Xóa ảnh bìa"
|
||||
searchWith: "Tìm kiếm: {q}"
|
||||
youHaveNoLists: "Bạn chưa có danh sách nào"
|
||||
followConfirm: "Bạn có chắc muốn theo dõi {name}?"
|
||||
followConfirm: "Bạn theo dõi {name}?"
|
||||
proxyAccount: "Tài khoản proxy"
|
||||
proxyAccountDescription: "Tài khoản proxy là tài khoản hoạt động như một người theo dõi từ xa cho người dùng trong những điều kiện nhất định. Ví dụ: khi người dùng thêm người dùng từ xa vào danh sách, hoạt động của người dùng từ xa sẽ không được chuyển đến phiên bản nếu không có người dùng cục bộ nào theo dõi người dùng đó, vì vậy tài khoản proxy sẽ theo dõi."
|
||||
host: "Host"
|
||||
@ -198,7 +204,7 @@ blockedUsers: "Người đã chặn"
|
||||
noUsers: "Chưa có ai"
|
||||
editProfile: "Sửa hồ sơ"
|
||||
noteDeleteConfirm: "Bạn có chắc muốn xóa tút này?"
|
||||
pinLimitExceeded: "Bạn đã đạt giới hạn số lượng tút có thể ghim"
|
||||
pinLimitExceeded: "Bạn không thể ghim bài viết nữa"
|
||||
intro: "Đã cài đặt CherryPick! Xin hãy tạo tài khoản admin."
|
||||
done: "Xong"
|
||||
processing: "Đang xử lý"
|
||||
@ -253,12 +259,14 @@ noMoreHistory: "Không còn gì để đọc"
|
||||
startMessaging: "Bắt đầu trò chuyện"
|
||||
nUsersRead: "đọc bởi {n}"
|
||||
agreeTo: "Tôi đồng ý {0}"
|
||||
tos: "Điều khoản dịch vụ"
|
||||
agreeBelow: "Đồng ý với nội dung dưới đây"
|
||||
basicNotesBeforeCreateAccount: "Những điều cơ bản cần chú ý "
|
||||
start: "Bắt đầu"
|
||||
home: "Trang chính"
|
||||
remoteUserCaution: "Vì người dùng này ở máy chủ khác, thông tin hiển thị có thể không đầy đủ."
|
||||
activity: "Hoạt động"
|
||||
images: "Hình ảnh"
|
||||
image: "Hình ảnh"
|
||||
birthday: "Sinh nhật"
|
||||
yearsOld: "{age} tuổi"
|
||||
registeredDate: "Tham gia"
|
||||
@ -339,7 +347,7 @@ pinnedUsersDescription: "Liệt kê mỗi hàng một tên người dùng xuốn
|
||||
pinnedPages: "Trang đã ghim"
|
||||
pinnedPagesDescription: "Liệt kê các trang thú vị để ghim trên máy chủ."
|
||||
pinnedClipId: "ID của clip muốn ghim"
|
||||
pinnedNotes: "Tút ghim"
|
||||
pinnedNotes: "Bài viết đã ghim"
|
||||
hcaptcha: "hCaptcha"
|
||||
enableHcaptcha: "Bật hCaptcha"
|
||||
hcaptchaSiteKey: "Khóa của trang"
|
||||
@ -348,6 +356,8 @@ recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Bật reCAPTCHA"
|
||||
recaptchaSiteKey: "Khóa của trang"
|
||||
recaptchaSecretKey: "Khóa bí mật"
|
||||
turnstile: "Turnstile"
|
||||
enableTurnstile: "Áp dụng Turnstile"
|
||||
turnstileSiteKey: "Khóa của trang"
|
||||
turnstileSecretKey: "Khóa bí mật"
|
||||
avoidMultiCaptchaConfirm: "Dùng nhiều hệ thống Captcha có thể gây nhiễu giữa chúng. Bạn có muốn tắt các hệ thống Captcha khác hiện đang hoạt động không? Nếu bạn muốn chúng tiếp tục được bật, hãy nhấn hủy."
|
||||
@ -383,16 +393,19 @@ about: "Giới thiệu"
|
||||
aboutMisskey: "Về CherryPick"
|
||||
administrator: "Quản trị viên"
|
||||
token: "Token"
|
||||
twoStepAuthentication: "Xác minh 2 bước"
|
||||
2fa: "Xác thực 2 yếu tố"
|
||||
totp: "Ứng dụng xác thực"
|
||||
totpDescription: "Nhắn mã OTP bằng ứng dụng xác thực"
|
||||
moderator: "Kiểm duyệt viên"
|
||||
moderation: "Kiểm duyệt"
|
||||
nUsersMentioned: "Dùng bởi {n} người"
|
||||
securityKeyAndPasskey: "Mã bảo mật・Passkey"
|
||||
securityKey: "Khóa bảo mật"
|
||||
securityKeyName: "Tên khoá"
|
||||
registerSecurityKey: "Đăng ký khóa bảo mật"
|
||||
lastUsed: "Dùng lần cuối"
|
||||
lastUsedAt: "Lần cuối sử dụng: {t}"
|
||||
unregister: "Hủy đăng ký"
|
||||
passwordLessLogin: "Đăng nhập không mật khẩu"
|
||||
passwordLessLoginDescription: "Đăng nhập bằng chỉ mã bảo mật hoặc passkey, không sử dụng mật khẩu."
|
||||
resetPassword: "Đặt lại mật khẩu"
|
||||
newPasswordIs: "Mật khẩu mới là \"{password}\""
|
||||
reduceUiAnimation: "Giảm chuyển động UI"
|
||||
@ -435,7 +448,7 @@ invitations: "Mời"
|
||||
invitationCode: "Mã mời"
|
||||
checking: "Đang kiểm tra..."
|
||||
available: "Khả dụng"
|
||||
unavailable: "Không khả dụng"
|
||||
unavailable: "Không sử dụng được"
|
||||
usernameInvalidFormat: "Bạn có thể dùng viết hoa/viết thường, chữ số, và dấu gạch dưới."
|
||||
tooShort: "Quá ngắn"
|
||||
tooLong: "Quá dài"
|
||||
@ -446,17 +459,20 @@ passwordMatched: "Trùng khớp"
|
||||
passwordNotMatched: "Không trùng khớp"
|
||||
signinWith: "Đăng nhập bằng {x}"
|
||||
signinFailed: "Không thể đăng nhập. Vui lòng kiểm tra tên người dùng và mật khẩu của bạn."
|
||||
tapSecurityKey: "Nhấn mã bảo mật của bạn"
|
||||
or: "Hoặc"
|
||||
language: "Ngôn ngữ"
|
||||
uiLanguage: "Ngôn ngữ giao diện"
|
||||
groupInvited: "Bạn đã được mời tham gia nhóm"
|
||||
aboutX: "Giới thiệu {x}"
|
||||
emojiStyle: "Kiểu cách Emoji"
|
||||
native: "Bản xứ"
|
||||
disableDrawer: "Không dùng menu thanh bên"
|
||||
youHaveNoGroups: "Không có nhóm nào"
|
||||
joinOrCreateGroup: "Tham gia hoặc tạo một nhóm mới."
|
||||
noHistory: "Không có dữ liệu"
|
||||
signinHistory: "Lịch sử đăng nhập"
|
||||
enableAdvancedMfm: "Xem bài MFM chất lượng cao."
|
||||
enableAnimatedMfm: "Xem bài MFM có chuyển động"
|
||||
doing: "Đang xử lý..."
|
||||
category: "Phân loại"
|
||||
tags: "Thẻ"
|
||||
@ -581,7 +597,6 @@ tokenRequested: "Cấp quyền truy cập vào tài khoản"
|
||||
pluginTokenRequestedDescription: "Plugin này sẽ có thể sử dụng các quyền được đặt ở đây."
|
||||
notificationType: "Loại thông báo"
|
||||
edit: "Sửa"
|
||||
useStarForReactionFallback: "Dùng ★ nếu emoji biểu cảm không có"
|
||||
emailServer: "Email máy chủ"
|
||||
enableEmail: "Bật phân phối email"
|
||||
emailConfigInfo: "Được dùng để xác minh email của bạn lúc đăng ký hoặc nếu bạn quên mật khẩu của mình"
|
||||
@ -644,7 +659,7 @@ random: "Ngẫu nhiên"
|
||||
system: "Hệ thống"
|
||||
switchUi: "Chuyển đổi giao diện người dùng"
|
||||
desktop: "Desktop"
|
||||
clip: "Ghim"
|
||||
clip: "Lưu bài viết"
|
||||
createNew: "Tạo mới"
|
||||
optional: "Không bắt buộc"
|
||||
createNewClip: "Tạo một ghim mới"
|
||||
@ -683,7 +698,7 @@ pageLikesCount: "Số lượng trang đã thích"
|
||||
pageLikedCount: "Số lượng thích trang đã nhận"
|
||||
contact: "Liên hệ"
|
||||
useSystemFont: "Dùng phông chữ mặc định của hệ thống"
|
||||
clips: "Ghim"
|
||||
clips: "Lưu bài viết"
|
||||
experimentalFeatures: "Tính năng thử nghiệm"
|
||||
developer: "Nhà phát triển"
|
||||
makeExplorable: "Không hiện tôi trong \"Khám phá\""
|
||||
@ -709,6 +724,7 @@ accentColor: "Màu phụ"
|
||||
textColor: "Màu chữ"
|
||||
saveAs: "Lưu thành"
|
||||
advanced: "Nâng cao"
|
||||
advancedSettings: "Cài đặt nâng cao"
|
||||
value: "Giá trị"
|
||||
createdAt: "Ngày tạo"
|
||||
updatedAt: "Cập nhật lúc"
|
||||
@ -774,6 +790,7 @@ popularPosts: "Tút được xem nhiều nhất"
|
||||
shareWithNote: "Chia sẻ kèm với tút"
|
||||
ads: "Quảng cáo"
|
||||
expiration: "Thời hạn"
|
||||
startingperiod: "Thời gian bắt đầu\n"
|
||||
memo: "Lưu ý"
|
||||
priority: "Ưu tiên"
|
||||
high: "Cao"
|
||||
@ -806,6 +823,7 @@ lastCommunication: "Lần giao tiếp cuối"
|
||||
resolved: "Đã xử lý"
|
||||
unresolved: "Chờ xử lý"
|
||||
breakFollow: "Xóa người theo dõi"
|
||||
breakFollowConfirm: "Bạn bỏ theo dõi tài khoản này không?"
|
||||
itsOn: "Đã bật"
|
||||
itsOff: "Đã tắt"
|
||||
emailRequiredForSignup: "Yêu cầu địa chỉ email khi đăng ký"
|
||||
@ -842,16 +860,19 @@ instanceDefaultLightTheme: "Theme máy chủ Sáng-Rộng"
|
||||
instanceDefaultDarkTheme: "Theme máy chủ Tối-Rộng"
|
||||
instanceDefaultThemeDescription: "Nhập mã theme trong định dạng đối tượng."
|
||||
mutePeriod: "Thời hạn ẩn"
|
||||
period: "Thời hạn"
|
||||
indefinitely: "Vĩnh viễn"
|
||||
tenMinutes: "10 phút"
|
||||
oneHour: "1 giờ"
|
||||
oneDay: "1 ngày"
|
||||
oneWeek: "1 tuần"
|
||||
oneMonth: "1 tháng"
|
||||
reflectMayTakeTime: "Có thể mất một thời gian để điều này được áp dụng."
|
||||
failedToFetchAccountInformation: "Không thể lấy thông tin tài khoản"
|
||||
rateLimitExceeded: "Giới hạn quá mức"
|
||||
cropImage: "Cắt hình ảnh"
|
||||
cropImageAsk: "Bạn có muốn cắt ảnh này?"
|
||||
cropNo: "Để nguyên"
|
||||
file: "Tập tin"
|
||||
recentNHours: "{n}h trước"
|
||||
recentNDays: "{n} ngày trước"
|
||||
@ -894,15 +915,233 @@ navbar: "Thanh điều hướng"
|
||||
shuffle: "Xáo trộn"
|
||||
account: "Tài khoản của bạn"
|
||||
move: "Di chuyển"
|
||||
pushNotification: "Thông báo đẩy"
|
||||
subscribePushNotification: "Bật thông báo đẩy"
|
||||
unsubscribePushNotification: "Tắt thông báo đẩy"
|
||||
pushNotificationAlreadySubscribed: "Đang bật thông báo đẩy"
|
||||
sendPushNotificationReadMessage: "Xóa thông báo đẩy sau khi đọc thông báo hay tin nhắn"
|
||||
sendPushNotificationReadMessageCaption: "Thông báo như {emptyPushNotificationMessage} sẽ hiển thị trong giây phút. Tiêu tốn pin của máy bạn có thể tăng lên hơn nữa."
|
||||
windowMaximize: "Phóng to"
|
||||
windowRestore: "Khôi phục"
|
||||
caption: "Mô tả"
|
||||
loggedInAsBot: "Đang đăng nhập bằng tài khoản Bot"
|
||||
tools: "Công Cụ"
|
||||
cannotLoad: "Không tải được"
|
||||
numberOfProfileView: "Số lần mở hồ sơ"
|
||||
like: "Thích"
|
||||
unlike: "Bỏ lượt thích"
|
||||
numberOfLikes: "Lượt thích"
|
||||
show: "Hiển thị"
|
||||
neverShow: "Không hiển thị nữa"
|
||||
remindMeLater: "Để sau"
|
||||
didYouLikeMisskey: "Bạn có ưa thích CherryPick không?"
|
||||
pleaseDonate: "CherryPick là phần mềm miễn phí mà {host} đang sử dụng. Xin mong bạn quyên góp cho chúng tôi để chúng tôi có thể tiếp tục phát triển dịch vụ này. Xin cảm ơn!!"
|
||||
roles: "Vai trò"
|
||||
role: "Vai trò"
|
||||
normalUser: "Người dùng bình thường"
|
||||
undefined: "Chưa xác định"
|
||||
color: "Màu sắc"
|
||||
manageCustomEmojis: "Quản lý CustomEmoji"
|
||||
cannotPerformTemporary: "Tạm thời không sử dụng được"
|
||||
cannotPerformTemporaryDescription: "Tạm thời không sử dụng được vì lần số điều kiện quá giới hạn. Thử lại sau mọt lát nữa."
|
||||
achievements: "Thành tích"
|
||||
gotInvalidResponseError: "Không nhận được trả lời chủ máy"
|
||||
gotInvalidResponseErrorDescription: "Chủ máy có lẻ ngừng hoạt động hoặc bảo trí. Thử lại sau một lát nữa. "
|
||||
thisPostMayBeAnnoying: "Bạn đăng bài này có thể làm phiền cho người ta."
|
||||
thisPostMayBeAnnoyingHome: "Đăng trên trang chính"
|
||||
thisPostMayBeAnnoyingCancel: "Từ chối"
|
||||
thisPostMayBeAnnoyingIgnore: "Đăng bài để nguyên"
|
||||
collapseRenotes: "Không hiển thị bài viết đã từng xem"
|
||||
internalServerError: "Lỗi trong chủ máy"
|
||||
internalServerErrorDescription: "Trong chủ máy lỗi bất ngờ xảy ra"
|
||||
copyErrorInfo: "Sao chép thông tin lỗi"
|
||||
joinThisServer: "Đăng ký trên chủ máy này"
|
||||
exploreOtherServers: "Tìm chủ máy khác"
|
||||
letsLookAtTimeline: "Thử xem Timeline"
|
||||
horizontal: "Thanh bên"
|
||||
youFollowing: "Đang theo dõi"
|
||||
_achievements:
|
||||
earnedAt: "Ngày thu nhận"
|
||||
_types:
|
||||
_notes1:
|
||||
title: "just setting up my msky"
|
||||
description: "Lần đầu tiên đăng bài"
|
||||
flavor: "Chúc bạn trên Miskey vui vẻ nha!!"
|
||||
_notes10:
|
||||
title: "Một số bài viết"
|
||||
description: "Đăng bài 10 lần"
|
||||
_notes100:
|
||||
title: "Rất nhiều bài biết"
|
||||
description: "Đăng bài 100 lần"
|
||||
_notes500:
|
||||
title: "Như đầy bài viết"
|
||||
description: "Đăng bài 500 lần"
|
||||
_notes1000:
|
||||
title: "Ngọn núi bài viết"
|
||||
description: "Đăng bài 1000 lần"
|
||||
_notes5000:
|
||||
title: "Bài viết chảy như suối"
|
||||
description: "Đăng bài 5000 lần"
|
||||
_notes10000:
|
||||
title: "Bài Viết siu nhìu"
|
||||
description: "Đăng bài 10000 lần"
|
||||
_notes20000:
|
||||
title: "Need more note"
|
||||
description: "Đã đăng bài 20,000 lần rồi"
|
||||
_notes30000:
|
||||
title: "ĐĂNG VỚI BÀI"
|
||||
description: "Đã đăng bài 30,000 lần rồi"
|
||||
_notes40000:
|
||||
title: "Nhà xưởng dăng bài"
|
||||
description: "Đã đăng bài 40,000 lần rồi"
|
||||
_notes50000:
|
||||
title: "Hàng tinh đăng bài"
|
||||
description: "Đã đăng bài 50,000 lần rồi"
|
||||
_notes100000:
|
||||
flavor: "Liệu viết bài gì tầm này vậy? "
|
||||
_login3:
|
||||
title: "Sơ cấp I"
|
||||
description: "Tổng số ngày đăng nhập đạt 3 ngày"
|
||||
flavor: "Từ nay các bạn cứ xem như mình là một Misskist đó"
|
||||
_login7:
|
||||
title: "Sơ cấp II"
|
||||
description: "Tổng số ngày đăng nhập đạt 7 ngày"
|
||||
flavor: "Bạn dần quen chưa? "
|
||||
_login15:
|
||||
title: "Sơ cấp III"
|
||||
description: "Tổng số ngày đăng nhập đạt 7 ngày"
|
||||
_login30:
|
||||
title: "Misskist cấp I"
|
||||
description: "Tổng số ngày đăng nhập đạt 30 ngày"
|
||||
_login60:
|
||||
title: "Misskist cấp II"
|
||||
description: "Tổng số ngày đăng nhập đạt 60 ngày"
|
||||
_login100:
|
||||
title: "Misskist cấp III"
|
||||
description: "Tổng số ngày đăng nhập đạt 100 ngày"
|
||||
flavor: "Người dùng này, chính vì đó là một Misskist"
|
||||
_login200:
|
||||
title: "Khách hàng thường xuyên cấp I"
|
||||
description: "Tổng số ngày đăng nhập đạt 200 ngày"
|
||||
_login300:
|
||||
title: "Khách hàng thường xuyên cấp II"
|
||||
description: "Tổng số ngày đăng nhập đạt 300 ngày"
|
||||
_login400:
|
||||
title: "Khách hàng thường xuyên cấp III"
|
||||
description: "Tổng số ngày đăng nhập đạt 400 ngày"
|
||||
_markedAsCat:
|
||||
title: "Tôi là một con mèo"
|
||||
description: "Bật chế độ mèo"
|
||||
flavor: "Mà tên chưa có"
|
||||
_following1:
|
||||
title: "Theo dõi đầu tiên"
|
||||
description: "Lần đầu tiên theo dõi "
|
||||
_following10:
|
||||
title: "Cứ theo dõi và theo dõi"
|
||||
description: "Vừa theo dõi hơn 10 người"
|
||||
_following50:
|
||||
title: "Bạn bè nhiều quá"
|
||||
description: "Vừa theo dõi hơn 50 người"
|
||||
_following100:
|
||||
title: "Trăm bạn bè"
|
||||
description: "Vừa theo dõi vượt lên 100 người"
|
||||
_following300:
|
||||
title: "Quá nhiều bạn bè"
|
||||
description: "Vừa theo dõi vượt lên 300 người"
|
||||
_followers1:
|
||||
title: "Ai đầu tiên theo dõi bạn"
|
||||
description: "Lần đầu tiên được theo dõi"
|
||||
_followers10:
|
||||
title: "FOLLOW ME!!"
|
||||
description: "Người theo dõi bạn vượt lên 10 người"
|
||||
_followers500:
|
||||
title: "Trạm phát sóng"
|
||||
_followers1000:
|
||||
title: "Người có tầm ảnh hưởng"
|
||||
description: "Người theo dõi bạn vượt lên 1000 người"
|
||||
_collectAchievements30:
|
||||
title: "Người sưu tập thành tích"
|
||||
description: "Vừa lấy thành tích hơn 30 cái"
|
||||
_viewAchievements3min:
|
||||
title: "Yêu Thành tích"
|
||||
description: "Ngắm danh sách thành tích đến tận hơn 3 phút"
|
||||
_iLoveMisskey:
|
||||
title: "Tôi Yêu CherryPick"
|
||||
description: "Đăng lời nói \"I ❤ #CherryPick\""
|
||||
flavor: "Xin chân thành cảm ơn bạn đã sử dụng CherryPick!! by Đội ngũ phát triển"
|
||||
_foundTreasure:
|
||||
title: "Tìm kiếm kho báu"
|
||||
description: "Tìm thấy được những kho báu cất giấu"
|
||||
_client30min:
|
||||
title: "Giải lao xỉu"
|
||||
_noteDeletedWithin1min:
|
||||
title: "Xem như không có gì đâu nha"
|
||||
_postedAtLateNight:
|
||||
title: "Loài ăn đêm"
|
||||
description: "Đăng bài trong đêm khuya "
|
||||
_postedAt0min0sec:
|
||||
title: "Tín hiệu báo giờ"
|
||||
description: "Đăng bài vào 0 phút 0 giây"
|
||||
flavor: "Piiiiiii ĐÂY LÀ TIẾNG NÓI VIỆT NAM"
|
||||
_selfQuote:
|
||||
title: "Nói đến bản thân"
|
||||
description: "Trích dẫn bài viết của mình"
|
||||
_htl20npm:
|
||||
title: "Timeline trôi như con sông"
|
||||
description: "Timeline trang chính tốc độ vượt lên 20npm"
|
||||
_viewInstanceChart:
|
||||
title: "Nhà phân tích"
|
||||
description: "Xem biểu đồ của chủ máy"
|
||||
_outputHelloWorldOnScratchpad:
|
||||
title: "Chào thế giới!"
|
||||
_open3windows:
|
||||
title: "Nhiều cửa sổ"
|
||||
description: "Mở cửa sổ hơn 3 cửa sổ"
|
||||
_reactWithoutRead:
|
||||
title: "Bài này bạn đọc kỹ chứ? "
|
||||
description: "Phản hồi trong vọng 3 giây sau bài viết có hơn 100 ký tự mới được đăng lên"
|
||||
_clickedClickHere:
|
||||
title: "Bấm đây"
|
||||
description: "Bấm chỗ này"
|
||||
_justPlainLucky:
|
||||
title: "Chỉ là một cuộc máy mắn"
|
||||
description: "Mỗi 10 giây thu nhận được với tỷ lệ 0.005%"
|
||||
_setNameToSyuilo:
|
||||
title: "Ngưỡng mộ với vị thần"
|
||||
description: "Đạt tên là syuilo"
|
||||
_loggedInOnBirthday:
|
||||
title: "Sinh nhật vủi vẻ"
|
||||
description: "Đăng nhập vào ngày sinh"
|
||||
_loggedInOnNewYearsDay:
|
||||
title: "Chức mừng năm mới"
|
||||
description: "Đăng nhập vào Tết Nguyên đàn dương lịch"
|
||||
flavor: "Chúc bạn năm mới AN KHANG THỊNH VƯỢNG, VẠN SỰ NHƯ Ý!!"
|
||||
_cookieClicked:
|
||||
flavor: "Bạn nhầm phầm mềm chứ?"
|
||||
_role:
|
||||
priority: "Ưu tiên"
|
||||
_priority:
|
||||
low: "Thấp"
|
||||
middle: "Vừa"
|
||||
high: "Cao"
|
||||
_options:
|
||||
gtlAvailable: "Xem Timeline xã hội"
|
||||
ltlAvailable: "Xem Timeline trong máy chủ này"
|
||||
canPublicNote: "Cho phép đăng bài công khai"
|
||||
canManageCustomEmojis: "Quản lý CustomEmoji"
|
||||
driveCapacity: "Dữ liệu Drive"
|
||||
pinMax: "Giới hạn ghim bài viết"
|
||||
antennaMax: "Giới hạn tạo ăng ten"
|
||||
canHideAds: "Tắt quảng cáo"
|
||||
_condition:
|
||||
createdMoreThan: "Trôi qua ~ sau khi lập tài khoản"
|
||||
followersLessThanOrEq: "Người theo dõi ít hơn ~"
|
||||
followersMoreThanOrEq: "Người theo dõi có ~ trở lên"
|
||||
followingLessThanOrEq: "Theo dõi ít hơn ~"
|
||||
followingMoreThanOrEq: "Theo dõi có ~ trở lên"
|
||||
and: "~ mà ~"
|
||||
or: "~ hay là ~"
|
||||
not: "Không phải ~"
|
||||
_sensitiveMediaDetection:
|
||||
description: "Giảm nỗ lực kiểm duyệt máy chủ thông qua việc tự động nhận dạng media NSFW thông qua học máy. Điều này sẽ làm tăng một chút áp lực trên máy chủ."
|
||||
sensitivity: "Phát hiện nhạy cảm"
|
||||
@ -1186,44 +1425,27 @@ _ago:
|
||||
weeksAgo: "{n} tuần trước"
|
||||
monthsAgo: "{n} tháng trước"
|
||||
yearsAgo: "{n} năm trước"
|
||||
invalid: "Không có gì ở đây"
|
||||
_time:
|
||||
second: "s"
|
||||
minute: "phút"
|
||||
hour: "giờ"
|
||||
day: "ngày"
|
||||
_tutorial:
|
||||
title: "Cách dùng CherryPick"
|
||||
step1_1: "Xin chào!"
|
||||
step1_2: "Trang này gọi là \"bảng tin\". Nó hiện \"tút\" từ những người mà bạn \"theo dõi\" theo thứ tự thời gian."
|
||||
step1_3: "Bảng tin của bạn đang trống, bởi vì bạn chưa đăng tút nào hoặc chưa theo dõi ai."
|
||||
step2_1: "Hãy hoàn thành việc thiết lập hồ sơ của bạn trước khi viết tút hoặc theo dõi bất kỳ ai."
|
||||
step2_2: "Cung cấp một số thông tin giới thiệu bạn là ai sẽ giúp người khác dễ dàng biết được họ muốn đọc tút hay theo dõi bạn."
|
||||
step3_1: "Hoàn thành thiết lập hồ sơ của bạn?"
|
||||
step3_2: "Sau đó, hãy thử đăng một tút tiếp theo. Bạn có thể làm như vậy bằng cách nhấn vào nút có biểu tượng bút chì trên màn hình."
|
||||
step3_3: "Nhập nội dung vào khung soạn thảo và nhấn nút đăng ở góc trên."
|
||||
step3_4: "Chưa biết nói gì? Thử \"Tôi mới tham gia CherryPick\"!"
|
||||
step4_1: "Đăng xong tút đầu tiên của bạn?"
|
||||
step4_2: "De! Tút đầu tiên của bạn đã hiện trên bảng tin."
|
||||
step5_1: "Bây giờ, hãy thử làm cho bảng tin của bạn sinh động hơn bằng cách theo dõi những người khác."
|
||||
step5_2: "{feature} sẽ hiển thị cho bạn các tút nổi bật trên máy chủ này. {explore} sẽ cho phép bạn tìm thấy những người dùng thú vị. Hãy thử tìm những người bạn muốn theo dõi ở đó!"
|
||||
step5_3: "Để theo dõi những người dùng khác, hãy nhấn vào ảnh đại diện của họ và nhấn nút \"Theo dõi\" trên hồ sơ của họ."
|
||||
step5_4: "Nếu người dùng khác có biểu tượng ổ khóa bên cạnh tên của họ, có thể mất một khoảng thời gian để người dùng đó phê duyệt yêu cầu theo dõi của bạn theo cách thủ công."
|
||||
step6_1: "Bạn sẽ có thể xem tút của những người dùng khác trên bảng tin của mình ngay bây giờ."
|
||||
step6_2: "Bạn cũng có thể đặt \"biểu cảm\" trên tút của người khác để phản hồi nhanh chúng."
|
||||
step6_3: "Để đính kèm \"biểu cảm\", hãy nhấn vào dấu \"+\" trên tút của người dùng khác rồi chọn biểu tượng cảm xúc mà bạn muốn dùng."
|
||||
step7_1: "Xin chúc mừng! Bây giờ bạn đã hoàn thành phần hướng dẫn cơ bản của CherryPick."
|
||||
step7_2: "Nếu bạn muốn tìm hiểu thêm về CherryPick, hãy thử phần {help}."
|
||||
step7_3: "Bây giờ, chúc may mắn và vui vẻ với CherryPick! 🚀"
|
||||
_2fa:
|
||||
alreadyRegistered: "Bạn đã đăng ký thiết bị xác minh 2 bước."
|
||||
registerDevice: "Đăng ký một thiết bị"
|
||||
registerKey: "Đăng ký một mã bảo vệ"
|
||||
passwordToTOTP: "Nhắn mật mã"
|
||||
step1: "Trước tiên, hãy cài đặt một ứng dụng xác minh (chẳng hạn như {a} hoặc {b}) trên thiết bị của bạn."
|
||||
step2: "Sau đó, quét mã QR hiển thị trên màn hình này."
|
||||
step2Url: "Bạn cũng có thể nhập URL này nếu sử dụng một chương trình máy tính:"
|
||||
step3: "Nhập mã token do ứng dụng của bạn cung cấp để hoàn tất thiết lập."
|
||||
step4: "Kể từ bây giờ, những lần đăng nhập trong tương lai sẽ yêu cầu mã token đăng nhập đó."
|
||||
securityKeyInfo: "Bên cạnh xác minh bằng vân tay hoặc mã PIN, bạn cũng có thể thiết lập xác minh thông qua khóa bảo mật phần cứng hỗ trợ FIDO2 để bảo mật hơn nữa cho tài khoản của mình."
|
||||
removeKey: "Xóa mã bảo mật"
|
||||
removeKeyConfirm: "Xóa bản sao lưu {name}?"
|
||||
renewTOTP: "Cài đặt lại ứng dụng xác thực"
|
||||
renewTOTPConfirm: "Mã xác nhận cũ của ứng dụng xác thực không thể sử dụng được nữa"
|
||||
renewTOTPOk: "Cài đặt lại"
|
||||
renewTOTPCancel: "Không, cảm ơn"
|
||||
_permissions:
|
||||
"read:account": "Xem thông tin tài khoản của bạn"
|
||||
"write:account": "Sửa thông tin tài khoản của bạn"
|
||||
@ -1258,12 +1480,15 @@ _permissions:
|
||||
"read:gallery-likes": "Xem danh sách các tút đã thích trong thư viện của tôi"
|
||||
"write:gallery-likes": "Sửa danh sách các tút đã thích trong thư viện của tôi"
|
||||
_auth:
|
||||
shareAccessTitle: "Cho phép truy cập app"
|
||||
shareAccess: "Bạn có muốn cho phép \"{name}\" truy cập vào tài khoản này không?"
|
||||
shareAccessAsk: "Bạn có chắc muốn cho phép ứng dụng này truy cập vào tài khoản của mình không?"
|
||||
permission: "{name} đang yêu cầu quyền hạn dưới đây"
|
||||
permissionAsk: "Ứng dụng này yêu cầu các quyền sau"
|
||||
pleaseGoBack: "Vui lòng quay lại ứng dụng"
|
||||
callback: "Quay lại ứng dụng"
|
||||
denied: "Truy cập bị từ chối"
|
||||
pleaseLogin: "Bạn phải đăng nhập để cho ứng dụng phép truy cập"
|
||||
_antennaSources:
|
||||
all: "Toàn bộ tút"
|
||||
homeTimeline: "Tút từ những người đã theo dõi"
|
||||
@ -1302,9 +1527,12 @@ _widgets:
|
||||
jobQueue: "Công việc chờ xử lý"
|
||||
serverMetric: "Thống kê máy chủ"
|
||||
aiscript: "AiScript console"
|
||||
aiscriptApp: "AiScript App"
|
||||
aichan: "Ai"
|
||||
userList: "Danh sách người dùng"
|
||||
_userList:
|
||||
chooseList: "Chọn danh sách"
|
||||
clicker: "clicker"
|
||||
_cw:
|
||||
hide: "Ẩn"
|
||||
show: "Tải thêm"
|
||||
@ -1341,8 +1569,8 @@ _visibility:
|
||||
followersDescription: "Dành riêng cho người theo dõi"
|
||||
specified: "Nhắn riêng"
|
||||
specifiedDescription: "Chỉ người được nhắc đến mới thấy"
|
||||
localOnly: "Chỉ trên máy chủ"
|
||||
localOnlyDescription: "Không hiển thị với người ở máy chủ khác"
|
||||
disableFederation: "Không liên hợp"
|
||||
disableFederationDescription: "Không đưa tin cho chủ máy khác"
|
||||
_postForm:
|
||||
replyPlaceholder: "Trả lời tút này"
|
||||
quotePlaceholder: "Trích dẫn tút này"
|
||||
@ -1352,7 +1580,7 @@ _postForm:
|
||||
b: "Hôm nay bạn có gì vui?"
|
||||
c: "Bạn đang nghĩ gì?"
|
||||
d: "Bạn muốn nói gì?"
|
||||
e: "Bắt đầu viết..."
|
||||
e: "Cứ viết trên đây"
|
||||
f: "Đang chờ bạn viết..."
|
||||
_profile:
|
||||
name: "Tên"
|
||||
@ -1368,6 +1596,7 @@ _profile:
|
||||
changeBanner: "Đổi ảnh bìa"
|
||||
_exportOrImport:
|
||||
allNotes: "Toàn bộ tút"
|
||||
favoritedNotes: "Bài viết đã thích"
|
||||
followingList: "Đang theo dõi"
|
||||
muteList: "Ẩn"
|
||||
blockingList: "Chặn"
|
||||
@ -1406,7 +1635,16 @@ _timelines:
|
||||
social: "Xã hội"
|
||||
global: "Liên hợp"
|
||||
_play:
|
||||
new: "Tạo Play mới"
|
||||
edit: "Edit play"
|
||||
created: "Bạn vừa tạo play rồi"
|
||||
updated: "Bạn vừa cập nhật play rồi"
|
||||
deleted: "Bạn vừa xóa play rồi"
|
||||
pageSetting: "Cài đặt play"
|
||||
editThisPage: "Edit play này"
|
||||
viewSource: "Xem mã nguồn"
|
||||
my: "Play của mình"
|
||||
liked: "Play đã thích"
|
||||
featured: "Nổi tiếng"
|
||||
title: "Tựa đề"
|
||||
script: "Kịch bản"
|
||||
@ -1477,7 +1715,9 @@ _notification:
|
||||
yourFollowRequestAccepted: "Yêu cầu theo dõi của bạn đã được chấp nhận"
|
||||
youWereInvitedToGroup: "Bạn đã được mời tham gia nhóm"
|
||||
pollEnded: "Cuộc bình chọn đã kết thúc"
|
||||
unreadAntennaNote: "Ăng ten"
|
||||
emptyPushNotificationMessage: "Đã cập nhật thông báo đẩy"
|
||||
achievementEarned: "Hoàn thành Achievement"
|
||||
_types:
|
||||
all: "Toàn bộ"
|
||||
follow: "Đang theo dõi"
|
||||
@ -1490,6 +1730,7 @@ _notification:
|
||||
receiveFollowRequest: "Yêu cầu theo dõi"
|
||||
followRequestAccepted: "Yêu cầu theo dõi được chấp nhận"
|
||||
groupInvited: "Mời vào nhóm"
|
||||
achievementEarned: "Hoàn thành Achievement"
|
||||
app: "Từ app liên kết"
|
||||
_actions:
|
||||
followBack: "đã theo dõi lại bạn"
|
||||
@ -1522,3 +1763,9 @@ _deck:
|
||||
channel: "Kênh"
|
||||
mentions: "Lượt nhắc"
|
||||
direct: "Nhắn riêng"
|
||||
_dialog:
|
||||
charactersExceeded: "Bạn nhắn quá giới hạn ký tự!! Hiện nay {current} / giới hạn {max}"
|
||||
charactersBelow: "Bạn nhắn quá ít tối thiểu ký tự!! Hiện nay {current} / Tối thiểu {min}"
|
||||
_webhookSettings:
|
||||
name: "Tên"
|
||||
active: "Đã bật"
|
||||
|
@ -2,7 +2,7 @@
|
||||
_lang_: "中文(简体)"
|
||||
headlineMisskey: "通过帖子连接在一起的网络"
|
||||
introMisskey: "欢迎!CherryPick是一个开源的、去中心化的“微博客”服务。\n通过编写「帖文」来和大家分享你的以及你周围的事情吧!📡\n通过「回应」功能,可以让你快速地对大家的帖文表达反馈👍\n来探索新的世界吧!🚀"
|
||||
poweredByMisskeyDescription: "{name} 由开源平台 <b>CherryPick</b> 驱动(也被称为 CherryPick 实例)"
|
||||
poweredByMisskeyDescription: "{name} 是开源平台 <b>CherryPick</b> 的服务器之一。"
|
||||
monthAndDay: "{month}月 {day}日"
|
||||
search: "搜索"
|
||||
notifications: "通知"
|
||||
@ -16,16 +16,17 @@ cancel: "取消"
|
||||
noThankYou: "不用,谢谢"
|
||||
enterUsername: "输入用户名"
|
||||
renotedBy: "由 {user} 转贴"
|
||||
noNotes: "没有帖子"
|
||||
noNotes: "没有帖文"
|
||||
noNotifications: "无通知"
|
||||
instance: "实例"
|
||||
instance: "服务器"
|
||||
settings: "设置"
|
||||
notificationSettings: "通知设置"
|
||||
basicSettings: "基本设置"
|
||||
otherSettings: "其他设置"
|
||||
openInWindow: "在新窗口中打开"
|
||||
profile: "个人资料"
|
||||
timeline: "时间线"
|
||||
noAccountDescription: "这个人很懒,没有写自我介绍"
|
||||
noAccountDescription: "此用户尚无自我介绍"
|
||||
login: "登录"
|
||||
loggingIn: "正在登录..."
|
||||
logout: "登出"
|
||||
@ -60,7 +61,7 @@ youGotNewFollower: "你有新的关注者"
|
||||
receiveFollowRequest: "您收到了关注请求"
|
||||
followRequestAccepted: "您的关注请求被通过了"
|
||||
mention: "提及"
|
||||
mentions: "提及"
|
||||
mentions: "提到我的"
|
||||
directNotes: "私信"
|
||||
importAndExport: "导入和导出"
|
||||
import: "导入"
|
||||
@ -85,7 +86,7 @@ somethingHappened: "出现了一些问题!"
|
||||
retry: "重试"
|
||||
pageLoadError: "页面加载失败。"
|
||||
pageLoadErrorDescription: "这通常是由于网络或浏览器缓存的原因。请清除缓存或等待片刻后重试。"
|
||||
serverIsDead: "服务器没有响应。 请稍等片刻,然后重试。"
|
||||
serverIsDead: "没有服务器响应。 请稍后再试。"
|
||||
youShouldUpgradeClient: "请重新加载并使用新版本的客户端查看此页面。"
|
||||
enterListName: "输入列表名称"
|
||||
privacy: "隐私"
|
||||
@ -95,7 +96,7 @@ follow: "关注"
|
||||
followRequest: "关注申请"
|
||||
followRequests: "关注申请"
|
||||
unfollow: "取消关注"
|
||||
followRequestPending: "发送关注请求"
|
||||
followRequestPending: "关注请求批准中"
|
||||
enterEmoji: "输入表情符号"
|
||||
renote: "转发"
|
||||
unrenote: "取消转发"
|
||||
@ -103,6 +104,8 @@ renoted: "已转发。"
|
||||
cantRenote: "该帖无法转发。"
|
||||
cantReRenote: "转发无法被再次转发。"
|
||||
quote: "引用"
|
||||
inChannelRenote: "在频道内转发"
|
||||
inChannelQuote: "在频道内引用"
|
||||
pinnedNote: "已置顶的帖子"
|
||||
pinned: "置顶"
|
||||
you: "您"
|
||||
@ -111,15 +114,17 @@ sensitive: "敏感内容"
|
||||
add: "添加"
|
||||
reaction: "回应"
|
||||
reactions: "回应"
|
||||
reactionSetting: "在选择器中显示的回应"
|
||||
reactionSetting: "在选择器中显示回应"
|
||||
reactionSettingDescription2: "拖动重新排序,单击删除,点击 + 添加。"
|
||||
rememberNoteVisibility: "保存上次设置的可见性"
|
||||
attachCancel: "删除附件"
|
||||
markAsSensitive: "标记为敏感内容"
|
||||
unmarkAsSensitive: "取消标记为敏感内容"
|
||||
enterFileName: "请输入文件名"
|
||||
enterFileName: "输入文件名"
|
||||
mute: "屏蔽"
|
||||
unmute: "解除屏蔽"
|
||||
renoteMute: "屏蔽转帖"
|
||||
renoteUnmute: "解除屏蔽转帖"
|
||||
block: "拉黑"
|
||||
unblock: "取消拉黑"
|
||||
suspend: "冻结"
|
||||
@ -138,21 +143,22 @@ customEmojis: "自定义表情符号"
|
||||
emoji: "表情符号"
|
||||
emojis: "表情符号"
|
||||
emojiName: "表情符号名称"
|
||||
emojiUrl: "表情符号地址"
|
||||
emojiUrl: "emoji 地址"
|
||||
addEmoji: "添加表情符号"
|
||||
settingGuide: "推荐配置"
|
||||
cacheRemoteFiles: "远程文件缓存"
|
||||
cacheRemoteFilesDescription: "当禁用此设定时远程文件将直接从远程实例载入。禁用后会减小储存空间需求,但是会增加流量,因为缩略图不会被生成。"
|
||||
cacheRemoteFiles: "缓存远程文件"
|
||||
cacheRemoteFilesDescription: "当禁用此设定时远程文件将直接从远程服务器载入。禁用后会减小储存空间需求,但是会增加流量,因为缩略图不会被生成。"
|
||||
flagAsBot: "这是一个机器人账号"
|
||||
flagAsBotDescription: "如果此帐户由程序控制,请启用此项。启用后,此标志可以帮助其他开发人员防止机器人之间产生无限互动的行为,并让CherryPick的内部系统将此帐户识别为机器人。"
|
||||
flagAsBotDescription: "如果此账户由程序控制,请启用此项。启用后,此标志可以帮助其他开发人员防止机器人之间产生无限互动的行为,并让CherryPick的内部系统将此账户识别为机器人。"
|
||||
flagAsCat: "将这个账户设定为一只猫"
|
||||
flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。\n开启后,会在您的头像上出现猫耳朵,并将你的帖子中的「na」替换为「nya」,日文同理。"
|
||||
flagShowTimelineReplies: "在时间线上显示帖子的回复"
|
||||
flagShowTimelineRepliesDescription: "启用时,时间线除了显示用户的帖子外,还会显示其他用户对帖子的回复。"
|
||||
autoAcceptFollowed: "自动允许关注者的关注"
|
||||
autoAcceptFollowed: "自动允许来自我关注的用户对我的关注请求"
|
||||
addAccount: "添加账户"
|
||||
reloadAccountsList: "更新账户列表"
|
||||
loginFailed: "登录失败"
|
||||
showOnRemote: "转到所在实例显示"
|
||||
showOnRemote: "转到所在服务器显示"
|
||||
general: "常规设置"
|
||||
wallpaper: "壁纸"
|
||||
setWallpaper: "设置壁纸"
|
||||
@ -161,13 +167,13 @@ searchWith: "搜索:{q}"
|
||||
youHaveNoLists: "列表为空"
|
||||
followConfirm: "你确定要关注{name}吗?"
|
||||
proxyAccount: "代理账户"
|
||||
proxyAccountDescription: "代理账户是在某些情况下充当用户的远程关注者的账户。 例如,当一个用户列出一个远程用户时,如果没有人跟随该列出的用户,则该活动将不会传递到该实例,因此将代之以代理账户。"
|
||||
proxyAccountDescription: "代理账户是在某些情况下充当用户的远程关注者的账户。 例如,当一个用户列出一个远程用户时,如果没有人跟随该列出的用户,则该活动将不会传递到该服务器,因此将代之以代理账户。"
|
||||
host: "主机名"
|
||||
selectUser: "选择用户"
|
||||
recipient: "收件人"
|
||||
annotation: "注解"
|
||||
federation: "联合"
|
||||
instances: "实例"
|
||||
instances: "服务器"
|
||||
registeredAt: "初次观测"
|
||||
latestRequestReceivedAt: "上次收到的请求"
|
||||
latestStatus: "最后状态"
|
||||
@ -176,7 +182,7 @@ charts: "图表"
|
||||
perHour: "每小时"
|
||||
perDay: "每天"
|
||||
stopActivityDelivery: "停止发送活动"
|
||||
blockThisInstance: "阻止此实例向本实例推流"
|
||||
blockThisInstance: "阻止此服务器向本服务器推流"
|
||||
operations: "操作"
|
||||
software: "软件"
|
||||
version: "版本"
|
||||
@ -187,18 +193,18 @@ jobQueue: "作业队列"
|
||||
cpuAndMemory: "CPU和内存"
|
||||
network: "网络"
|
||||
disk: "存储"
|
||||
instanceInfo: "实例信息"
|
||||
instanceInfo: "服务器信息"
|
||||
statistics: "统计"
|
||||
clearQueue: "清除队列"
|
||||
clearQueueConfirmTitle: "确定清除队列?"
|
||||
clearQueueConfirmText: "未送达的帖子将不会送达。 通常,您不需要这样做。"
|
||||
clearCachedFiles: "清除缓存"
|
||||
clearCachedFilesConfirm: "确定要清除缓存文件?"
|
||||
blockedInstances: "被阻拦的实例"
|
||||
blockedInstancesDescription: "设定要阻拦的实例,以换行来进行分割。被阻拦的实例将无法与本实例进行交换通讯。"
|
||||
blockedInstances: "被阻拦的服务器"
|
||||
blockedInstancesDescription: "设定要阻拦的服务器,以换行来进行分割。被阻拦的服务器将无法与本服务器进行交换通讯。"
|
||||
muteAndBlock: "屏蔽/拉黑"
|
||||
mutedUsers: "已屏蔽用户"
|
||||
blockedUsers: "被拉黑的用户"
|
||||
blockedUsers: "已拉黑的用户"
|
||||
noUsers: "无用户"
|
||||
editProfile: "编辑资料"
|
||||
noteDeleteConfirm: "要删除该帖子吗?"
|
||||
@ -218,9 +224,9 @@ all: "全部"
|
||||
subscribing: "已订阅"
|
||||
publishing: "投递中"
|
||||
notResponding: "没有响应"
|
||||
instanceFollowing: "关注实例"
|
||||
instanceFollowers: "关注实例"
|
||||
instanceUsers: "实例用户"
|
||||
instanceFollowing: "关注服务器"
|
||||
instanceFollowers: "关注的服务器"
|
||||
instanceUsers: "服务器用户"
|
||||
changePassword: "修改密码"
|
||||
security: "安全"
|
||||
retypedNotMatch: "两次输入不一致!"
|
||||
@ -257,14 +263,16 @@ noMoreHistory: "没有更多的历史记录"
|
||||
startMessaging: "添加聊天"
|
||||
nUsersRead: "{n}人已读"
|
||||
agreeTo: "勾选则表示已阅读并同意{0}"
|
||||
agreeBelow: "同意以下观点"
|
||||
agree: "同意"
|
||||
agreeBelow: "同意以下内容"
|
||||
basicNotesBeforeCreateAccount: "基本注意事项"
|
||||
tos: "服务条款"
|
||||
termsOfService: "服务条款"
|
||||
start: "开始"
|
||||
home: "首页"
|
||||
remoteUserCaution: "由于此用户来自其它实例,显示的信息可能不完整。"
|
||||
remoteUserCaution: "由于此用户来自其它服务器,显示的信息可能不完整。"
|
||||
activity: "活动"
|
||||
images: "图片"
|
||||
image: "图片"
|
||||
birthday: "生日"
|
||||
yearsOld: "{age}岁"
|
||||
registeredDate: "注册于"
|
||||
@ -312,8 +320,8 @@ unwatch: "取消关注"
|
||||
accept: "允许"
|
||||
reject: "拒绝"
|
||||
normal: "正常"
|
||||
instanceName: "实例名称"
|
||||
instanceDescription: "实例介绍"
|
||||
instanceName: "服务器名称"
|
||||
instanceDescription: "服务器简介"
|
||||
maintainerName: "管理员名称"
|
||||
maintainerEmail: "管理员电子邮箱"
|
||||
tosUrl: "服务条款URL"
|
||||
@ -331,7 +339,7 @@ enableLocalTimeline: "启用本地时间线功能"
|
||||
enableGlobalTimeline: "启用全局时间线"
|
||||
disablingTimelinesInfo: "即使时间线功能被禁用,出于方便,管理员和数据图表也可以继续使用。"
|
||||
registration: "注册"
|
||||
enableRegistration: "允许新用户注册"
|
||||
enableRegistration: "允许任何人注册"
|
||||
invite: "邀请"
|
||||
driveCapacityPerLocalAccount: "每个用户的网盘空间"
|
||||
driveCapacityPerRemoteAccount: "每个远程用户的网盘容量"
|
||||
@ -343,17 +351,17 @@ basicInfo: "基本信息"
|
||||
pinnedUsers: "置顶用户"
|
||||
pinnedUsersDescription: "在「发现」页面中使用换行标记想要置顶的用户。"
|
||||
pinnedPages: "固定页面"
|
||||
pinnedPagesDescription: "输入您要固定到实例首页的页面路径,以换行符分隔。"
|
||||
pinnedPagesDescription: "输入您要固定到服务器首页的页面路径,以换行符分隔。"
|
||||
pinnedClipId: "置顶的便签ID"
|
||||
pinnedNotes: "已置顶的帖子"
|
||||
hcaptcha: "hCaptcha"
|
||||
enableHcaptcha: "启用 hCaptcha"
|
||||
hcaptchaSiteKey: "网站密钥"
|
||||
hcaptchaSecretKey: "hCaptcha 密钥(SecretKey)"
|
||||
hcaptchaSecretKey: "密钥"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "启用 reCAPTCHA\n(请注意, 此功能在中国大陆不可用. 如果启用, 可能导致无法正常使用登录或注册等功能)"
|
||||
recaptchaSiteKey: "网站密钥"
|
||||
recaptchaSecretKey: "reCAPTCHA 密钥"
|
||||
recaptchaSecretKey: "reCAPTCHA 密钥(SecretKey)"
|
||||
turnstile: "Turnstile"
|
||||
enableTurnstile: "启用Turnstile"
|
||||
turnstileSiteKey: "网站密钥"
|
||||
@ -391,16 +399,19 @@ about: "关于"
|
||||
aboutMisskey: "关于 CherryPick"
|
||||
administrator: "管理员"
|
||||
token: "Token (令牌)"
|
||||
twoStepAuthentication: "两步验证"
|
||||
2fa: "双因素认证"
|
||||
totp: "身份验证应用"
|
||||
totpDescription: "使用认证应用输入一次性密码。"
|
||||
moderator: "监察员"
|
||||
moderation: "管理"
|
||||
nUsersMentioned: "{n} 被提到"
|
||||
securityKeyAndPasskey: "安全密钥或 Passkey"
|
||||
securityKey: "安全密钥"
|
||||
securityKeyName: "密钥名称"
|
||||
registerSecurityKey: "注册硬件安全密钥"
|
||||
lastUsed: "最后使用:"
|
||||
lastUsedAt: "最后使用: {t}"
|
||||
unregister: "删除账户"
|
||||
passwordLessLogin: "无密码登录"
|
||||
passwordLessLoginDescription: "不使用密码,仅使用安全密钥或Passkey登录"
|
||||
resetPassword: "重置密码"
|
||||
newPasswordIs: "新的密码是「{password}」"
|
||||
reduceUiAnimation: "减少UI动画"
|
||||
@ -454,7 +465,6 @@ passwordMatched: "密码一致"
|
||||
passwordNotMatched: "密码不一致"
|
||||
signinWith: "以{x}登录"
|
||||
signinFailed: "无法登录,请检查您的用户名和密码是否正确。"
|
||||
tapSecurityKey: "轻触硬件安全密钥"
|
||||
or: "或者"
|
||||
language: "语言"
|
||||
uiLanguage: "显示语言"
|
||||
@ -465,6 +475,7 @@ native: "原生"
|
||||
disableDrawer: "不显示抽屉菜单"
|
||||
youHaveNoGroups: "没有群组"
|
||||
joinOrCreateGroup: "请加入一个现有的群组,或者创建新群组。"
|
||||
showNoteActionsOnlyHover: "仅在悬停时显示帖子操作"
|
||||
noHistory: "没有历史记录"
|
||||
signinHistory: "登录历史"
|
||||
enableAdvancedMfm: "启用扩展MFM"
|
||||
@ -477,6 +488,8 @@ createAccount: "注册账户"
|
||||
existingAccount: "现有的账户"
|
||||
regenerate: "重新生成"
|
||||
fontSize: "字体大小"
|
||||
mediaListWithOneImageAppearance: "仅一张图片的媒体列表高度"
|
||||
limitTo: "上限为{x}"
|
||||
noFollowRequests: "没有关注申请"
|
||||
openImageInNewTab: "在新标签页中打开图片"
|
||||
dashboard: "管理面板"
|
||||
@ -496,7 +509,7 @@ showFeaturedNotesInTimeline: "在时间线上显示热门推荐"
|
||||
objectStorage: "对象存储"
|
||||
useObjectStorage: "使用对象存储"
|
||||
objectStorageBaseUrl: "Base URL"
|
||||
objectStorageBaseUrlDesc: "用于引用的URL。如果您正在使用CDN或反向代理,请指定其URL,例如S3:“https://<bucket>.s3.amazonaws.com”,GCS:“https://storage.googleapis.com/<bucket>”"
|
||||
objectStorageBaseUrlDesc: "这里是用于参考的URL,如果您正在使用CDN或反向代理,请指定其URL,例如S3:“https://<bucket>.s3.amazonaws.com”,GCS:“https://storage.googleapis.com/<bucket>”"
|
||||
objectStorageBucket: "存储桶"
|
||||
objectStorageBucketDesc: "请指定使用的对象存储服务的存储桶名称。"
|
||||
objectStoragePrefix: "前缀"
|
||||
@ -510,9 +523,11 @@ objectStorageUseSSLDesc: "如果不使用https进行API连接,请关闭。"
|
||||
objectStorageUseProxy: "使用代理"
|
||||
objectStorageUseProxyDesc: "如果您不使用代理进行API连接,请将其关闭。"
|
||||
objectStorageSetPublicRead: "上传时设置为public-read"
|
||||
s3ForcePathStyleDesc: "启用 s3ForcePathStyle 会强制将存储桶名称指定为 URL 中路径的一部分,而不是主机名。使用自托管 Minio 等时可能需要启用。"
|
||||
serverLogs: "服务器日志"
|
||||
deleteAll: "全部删除"
|
||||
showFixedPostForm: "在时间线顶部显示发帖框"
|
||||
showFixedPostFormInChannel: "在时间线顶部显示发帖对话框(频道)"
|
||||
newNoteRecived: "有新的帖子"
|
||||
sounds: "提示音"
|
||||
sound: "提示音"
|
||||
@ -545,11 +560,15 @@ updateRemoteUser: "更新远程用户信息"
|
||||
deleteAllFiles: "删除所有文件"
|
||||
deleteAllFilesConfirm: "要删除所有文件吗?"
|
||||
removeAllFollowing: "取消所有关注"
|
||||
removeAllFollowingDescription: "取消{host}的所有关注者。当实例不存在时执行。"
|
||||
removeAllFollowingDescription: "取消{host}的所有关注者。当服务器不再存在时执行。"
|
||||
userSuspended: "该用户已被冻结。"
|
||||
userSilenced: "该用户已被禁言。"
|
||||
yourAccountSuspendedTitle: "账户已被冻结"
|
||||
yourAccountSuspendedDescription: "由于违反了服务器的服务条款或其他原因,该账户已被冻结。 您可以与管理员联系以了解更多信息。 请不要创建一个新的账户。"
|
||||
tokenRevoked: "令牌无效"
|
||||
tokenRevokedDescription: "登录令牌已经失效。请重新登录。"
|
||||
accountDeleted: "帐户已删除"
|
||||
accountDeletedDescription: "此帐户已经被删除。"
|
||||
menu: "菜单"
|
||||
divider: "分割线"
|
||||
addItem: "添加项目"
|
||||
@ -593,7 +612,6 @@ tokenRequested: "允许访问账户"
|
||||
pluginTokenRequestedDescription: "此插件将能够拥有此处设置的权限"
|
||||
notificationType: "通知类型"
|
||||
edit: "编辑"
|
||||
useStarForReactionFallback: "如果回应的是未知表情符号,则使用★作为代替"
|
||||
emailServer: "邮件服务器"
|
||||
enableEmail: "启用发送邮件功能"
|
||||
emailConfigInfo: "用于确认电子邮件和密码重置"
|
||||
@ -611,7 +629,7 @@ testEmail: "邮件发送测试"
|
||||
wordMute: "文字屏蔽"
|
||||
regexpError: "正则表达式错误"
|
||||
regexpErrorDescription: "{tab} 屏蔽文字的第 {line} 行的正则表达式有错误:"
|
||||
instanceMute: "实例的屏蔽"
|
||||
instanceMute: "被屏蔽的服务器"
|
||||
userSaysSomething: "{name}说了什么,但是被屏蔽词过滤了"
|
||||
makeActive: "启用"
|
||||
display: "显示"
|
||||
@ -642,15 +660,15 @@ abuseReported: "内容已发送。感谢您提交信息。"
|
||||
reporter: "举报者"
|
||||
reporteeOrigin: "举报来源"
|
||||
reporterOrigin: "举报者来源"
|
||||
forwardReport: "将该举报信息转发给远程实例"
|
||||
forwardReportIsAnonymous: "勾选则在远程实例上显示的举报者是匿名的系统账号,而不是您的账号。"
|
||||
forwardReport: "将该举报信息转发给远程服务器"
|
||||
forwardReportIsAnonymous: "勾选则在远程服务器上显示的举报者是匿名的系统账号,而不是您的账号。"
|
||||
send: "发送"
|
||||
abuseMarkAsResolved: "处理完毕"
|
||||
openInNewTab: "在新标签页中打开"
|
||||
openInSideView: "在侧边栏中打开"
|
||||
defaultNavigationBehaviour: "默认导航"
|
||||
editTheseSettingsMayBreakAccount: "编辑这些设置可以会损坏您的账号"
|
||||
instanceTicker: "帖子的实例信息"
|
||||
instanceTicker: "帖子的服务器来源"
|
||||
waitingFor: "等待{x}"
|
||||
random: "随机"
|
||||
system: "系统"
|
||||
@ -683,7 +701,7 @@ driveFilesCount: "网盘的文件数"
|
||||
driveUsage: "网盘的空间用量"
|
||||
noCrawle: "要求搜索引擎不索引该用户"
|
||||
noCrawleDescription: "要求搜索引擎不要收录(索引)您的用户页面,帖子,页面等。"
|
||||
lockedAccountInfo: "即使通过了关注请求,只要您不将帖子可见范围设置成“关注者”,任何人都可以看到您的帖子。"
|
||||
lockedAccountInfo: "即使启用该功能,只要您不将帖子可见范围设置为“仅关注者”,任何人都还是可以看到您的帖子。"
|
||||
alwaysMarkSensitive: "默认将媒体文件标记为敏感内容"
|
||||
loadRawImages: "添加附件图像的缩略图时使用原始图像质量"
|
||||
disableShowingAnimatedImages: "不播放动画"
|
||||
@ -697,6 +715,8 @@ contact: "联系人"
|
||||
useSystemFont: "使用系统默认字体"
|
||||
clips: "便签"
|
||||
experimentalFeatures: "实验性功能"
|
||||
experimental: "实验性的"
|
||||
thisIsExperimentalFeature: "这是一项实验性功能。规范可能会变更,或者可能无法正常工作。"
|
||||
developer: "开发者"
|
||||
makeExplorable: "使账号可见。"
|
||||
makeExplorableDescription: "关闭时,账号不会显示在\"发现\"中。"
|
||||
@ -739,7 +759,7 @@ capacity: "容量"
|
||||
inUse: "已使用"
|
||||
editCode: "编辑代码"
|
||||
apply: "应用"
|
||||
receiveAnnouncementFromInstance: "从实例接收通知"
|
||||
receiveAnnouncementFromInstance: "从服务器接收通知"
|
||||
emailNotification: "邮件通知"
|
||||
publish: "发布"
|
||||
inChannelSearch: "频道内搜索"
|
||||
@ -767,7 +787,7 @@ active: "活动"
|
||||
offline: "离线"
|
||||
notRecommended: "不推荐"
|
||||
botProtection: "Bot防御"
|
||||
instanceBlocking: "被阻拦的实例"
|
||||
instanceBlocking: "被阻拦的服务器"
|
||||
selectAccount: "选择账户"
|
||||
switchAccount: "切换账户"
|
||||
enabled: "已启用"
|
||||
@ -787,6 +807,7 @@ popularPosts: "热门投稿"
|
||||
shareWithNote: "在帖子中分享"
|
||||
ads: "广告"
|
||||
expiration: "截止时间"
|
||||
startingperiod: "开始时间"
|
||||
memo: "便笺"
|
||||
priority: "优先级"
|
||||
high: "高"
|
||||
@ -813,12 +834,13 @@ translatedFrom: "从 {x} 翻译"
|
||||
accountDeletionInProgress: "正在删除账户"
|
||||
usernameInfo: "在服务器上唯一标识您的帐户的名称。您可以使用字母 (a ~ z, A ~ Z)、数字 (0 ~ 9) 和下划线 (_)。用户名以后不能更改。"
|
||||
aiChanMode: "小蓝模式"
|
||||
keepCw: "保留CW"
|
||||
keepCw: "回复时维持隐藏内容"
|
||||
pubSub: "Pub/Sub账户"
|
||||
lastCommunication: "最近通信"
|
||||
resolved: "已解决"
|
||||
unresolved: "未解决"
|
||||
breakFollow: "移除关注者"
|
||||
breakFollowConfirm: "你想取消关注吗?"
|
||||
itsOn: "已开启"
|
||||
itsOff: "已关闭"
|
||||
emailRequiredForSignup: "注册账户需要电子邮件地址"
|
||||
@ -851,21 +873,23 @@ themeColor: "主题颜色"
|
||||
size: "大小"
|
||||
numberOfColumn: "列数"
|
||||
searchByGoogle: "Google"
|
||||
instanceDefaultLightTheme: "实例默认浅色主题"
|
||||
instanceDefaultDarkTheme: "实例默认深色主题"
|
||||
instanceDefaultLightTheme: "服务器默认浅色主题"
|
||||
instanceDefaultDarkTheme: "服务器默认深色主题"
|
||||
instanceDefaultThemeDescription: "以对象格式键入主题代码"
|
||||
mutePeriod: "屏蔽期限"
|
||||
period: "截止时间"
|
||||
indefinitely: "永久"
|
||||
tenMinutes: "10分钟"
|
||||
oneHour: "1小时"
|
||||
oneDay: "1天"
|
||||
oneWeek: "1周"
|
||||
oneMonth: "1 个月"
|
||||
reflectMayTakeTime: "可能需要一些时间才能体现出效果。"
|
||||
failedToFetchAccountInformation: "获取账户信息失败"
|
||||
rateLimitExceeded: "已超過速率限制"
|
||||
cropImage: "剪裁图像"
|
||||
cropImageAsk: "是否要裁剪图像?"
|
||||
cropYes: "已裁剪"
|
||||
cropYes: "去裁剪"
|
||||
cropNo: "就这样吧!"
|
||||
file: "文件"
|
||||
recentNHours: "最近{n}小时"
|
||||
@ -882,7 +906,7 @@ typeToConfirm: "输入 {x} 以确认操作。"
|
||||
deleteAccount: "删除账户"
|
||||
document: "文档"
|
||||
numberOfPageCache: "缓存页数"
|
||||
numberOfPageCacheDescription: "设置较高的值会更方便用户,但设备的负载和内存使用量会增加。"
|
||||
numberOfPageCacheDescription: "设置较高的值会更方便用户,但服务器负载和内存使用量会增加。"
|
||||
logoutConfirm: "是否确认登出?"
|
||||
lastActiveDate: "最后活跃时间"
|
||||
statusbar: "状态栏"
|
||||
@ -901,9 +925,10 @@ remoteOnly: "仅远程"
|
||||
failedToUpload: "上传失败"
|
||||
cannotUploadBecauseInappropriate: "因为可能含有不适宜的内容,无法上传。"
|
||||
cannotUploadBecauseNoFreeSpace: "因为已无可用空间,无法上传。"
|
||||
cannotUploadBecauseExceedsFileSizeLimit: "无法上传文件,超过文件大小限制。"
|
||||
beta: "测试"
|
||||
enableAutoSensitive: "自动 NSFW 识别"
|
||||
enableAutoSensitiveDescription: "如果可用,请使用机器学习在媒体上自动设置 NSFW 标志。即使关闭此功能,也可能会根据实例自动设置。"
|
||||
enableAutoSensitiveDescription: "如果可用,请使用机器学习在媒体上自动设置 NSFW 标志。即使关闭此功能,也可能会根据服务器自动设置。"
|
||||
activeEmailValidationDescription: "开启用户的电子邮件地址验证,判断它是一次性的电子邮件地址,还是可以实际通信的地址。关闭时,则只检查字符串是否正确。"
|
||||
navbar: "导航栏"
|
||||
shuffle: "随机"
|
||||
@ -913,10 +938,11 @@ pushNotification: "推送通知"
|
||||
subscribePushNotification: "启用推送通知消息"
|
||||
unsubscribePushNotification: "停用推送通知消息"
|
||||
pushNotificationAlreadySubscribed: "推送通知消息已启用"
|
||||
pushNotificationNotSupported: "浏览器或实例不支持推送通知消息"
|
||||
pushNotificationNotSupported: "浏览器或服务器不支持推送通知消息"
|
||||
sendPushNotificationReadMessage: "删除已读推送通知消息"
|
||||
sendPushNotificationReadMessageCaption: "“{emptyPushNotificationMessage}”的通知消息将会显示。您终端设备的电池消耗可能会增加。"
|
||||
windowMaximize: "最大化"
|
||||
windowMinimize: "最小化"
|
||||
windowRestore: "还原"
|
||||
caption: "标题"
|
||||
loggedInAsBot: "以Bot账户登录"
|
||||
@ -933,6 +959,7 @@ didYouLikeMisskey: "您喜欢CherryPick吗?"
|
||||
pleaseDonate: "CherryPick是{host}所使用的免费软件。为了今后也能够维持CherryPick的开发,请在有余力的情况下进行捐助!"
|
||||
roles: "角色"
|
||||
role: "角色"
|
||||
noRole: "角色不存在"
|
||||
normalUser: "普通用户"
|
||||
undefined: "未定义"
|
||||
assign: "分配"
|
||||
@ -942,6 +969,10 @@ manageCustomEmojis: "管理自定义表情符号"
|
||||
youCannotCreateAnymore: "抱歉,您无法再创建更多了。"
|
||||
cannotPerformTemporary: "暂时不可用"
|
||||
cannotPerformTemporaryDescription: "因操作过于频繁,暂时不可用,请稍后再试。"
|
||||
invalidParamError: "参数错误"
|
||||
invalidParamErrorDescription: "请求参数出现问题。通常是因为bug造成的,但也可能是输入文字数量过多之类的原因。"
|
||||
permissionDeniedError: "操作被拒绝"
|
||||
permissionDeniedErrorDescription: "本账户没有执行该操作的权限。"
|
||||
preset: "預設值"
|
||||
selectFromPresets: "從預設值中選擇"
|
||||
achievements: "成就"
|
||||
@ -951,6 +982,89 @@ thisPostMayBeAnnoying: "这个帖子可能会让其他人感到困扰。"
|
||||
thisPostMayBeAnnoyingHome: "发到首页"
|
||||
thisPostMayBeAnnoyingCancel: "取消"
|
||||
thisPostMayBeAnnoyingIgnore: "就这样发布"
|
||||
collapseRenotes: "省略显示已经看过的转发内容"
|
||||
internalServerError: "内部服务器错误"
|
||||
internalServerErrorDescription: "内部服务器发生了预期外的错误"
|
||||
copyErrorInfo: "复制错误信息"
|
||||
joinThisServer: "在本服务器上注册"
|
||||
exploreOtherServers: "探索其他服务器"
|
||||
letsLookAtTimeline: "时间线"
|
||||
disableFederationConfirm: "确定要禁用联合?"
|
||||
disableFederationConfirmWarn: "禁用联合不会将帖子设为私有。在大多数情况下,不需要禁用联合。"
|
||||
disableFederationOk: "联合禁用"
|
||||
invitationRequiredToRegister: "此服务器目前只允许拥有邀请码的人注册。"
|
||||
emailNotSupported: "此服务器不支持发送邮件"
|
||||
postToTheChannel: "发布到频道"
|
||||
cannotBeChangedLater: "之后不能再更改。"
|
||||
reactionAcceptance: "接受表情回应"
|
||||
likeOnly: "仅点赞"
|
||||
likeOnlyForRemote: "远程仅点赞"
|
||||
rolesAssignedToMe: "指派给自己的角色"
|
||||
resetPasswordConfirm: "确定重置密码?"
|
||||
sensitiveWords: "敏感词"
|
||||
sensitiveWordsDescription: "将包含设置词的帖子的可见范围设置为首页。可以通过用换行符分隔来设置多个。"
|
||||
notesSearchNotAvailable: "帖子检索不可用"
|
||||
license: "许可信息"
|
||||
unfavoriteConfirm: "确定要取消收藏吗?"
|
||||
myClips: "我的便签"
|
||||
drivecleaner: "网盘整理"
|
||||
retryAllQueuesNow: "立刻重试所有队列"
|
||||
retryAllQueuesConfirmTitle: "要再尝试一次吗?"
|
||||
retryAllQueuesConfirmText: "可能会使服务器负荷在一定时间内增加"
|
||||
enableChartsForRemoteUser: "生成远程用户的图表"
|
||||
enableChartsForFederatedInstances: "生成远程服务器的图表"
|
||||
showClipButtonInNoteFooter: "在贴文下方显示便签按钮"
|
||||
largeNoteReactions: "使用大图标来显示回应"
|
||||
noteIdOrUrl: "帖子ID或URL"
|
||||
video: "视频"
|
||||
videos: "视频"
|
||||
dataSaver: "省流量模式"
|
||||
accountMigration: "账户迁移"
|
||||
accountMoved: "此用户已迁移账户"
|
||||
accountMovedShort: "此帐户已迁移"
|
||||
operationForbidden: "不允许此操作"
|
||||
forceShowAds: "总是显示广告"
|
||||
addMemo: "添加备注"
|
||||
editMemo: "编辑备注"
|
||||
reactionsList: "回应列表"
|
||||
renotesList: "转发列表"
|
||||
notificationDisplay: "显示通知"
|
||||
leftTop: "屏幕左上方"
|
||||
rightTop: "屏幕右上方"
|
||||
leftBottom: "屏幕左下方"
|
||||
rightBottom: "屏幕右下方"
|
||||
stackAxis: "堆叠方向"
|
||||
vertical: "纵向"
|
||||
horizontal: "横向"
|
||||
position: "位置"
|
||||
serverRules: "服务器规则"
|
||||
pleaseConfirmBelowBeforeSignup: "在这个服务器上注册账号前,请确认以下信息。"
|
||||
pleaseAgreeAllToContinue: "必须全部勾选「同意」才能够继续。"
|
||||
continue: "继续"
|
||||
preservedUsernames: "保留的用户名"
|
||||
createNoteFromTheFile: "从文件创建帖子"
|
||||
youFollowing: "正在关注"
|
||||
options: "选项"
|
||||
_initialAccountSetting:
|
||||
accountCreated: "账户创建完成了!"
|
||||
letsStartAccountSetup: "来进行帐户的初始设置吧。"
|
||||
letsFillYourProfile: "首先,来设定你的个人档案吧!"
|
||||
profileSetting: "个人资料设置"
|
||||
theseSettingsCanEditLater: "也可以在稍后修改这里的设置。"
|
||||
_serverRules:
|
||||
description: "在新用户注册前显示服务器的简单规则。推荐显示服务条款的主要内容。"
|
||||
_accountMigration:
|
||||
moveFrom: "从别的账号迁移到此账户"
|
||||
moveFromLabel: "迁移前的账户"
|
||||
moveFromDescription: "如果迁移时需要继承其他账户的关注者,请在此创造别名。此操作需要在实行迁移之前完成!请如已下输入需要迁移的账户:@person@instance.com"
|
||||
moveTo: "把这个账户迁移到新的账户"
|
||||
moveToLabel: "迁移后的账户"
|
||||
moveCannotBeUndone: "一旦迁移账户,就无法撤销。"
|
||||
moveAccountDescription: "此操作无法取消。请先确认您已在迁移后的账户上,为此账户创造了别名。创造别名后,请如以下输入您的迁移后的账户:@person@instance.com"
|
||||
startMigration: "迁移"
|
||||
migrationConfirm: "确定要把此账户迁移到{account}吗?一旦确定后,此操作无法取消,此账户也无法以原来的状态使用。\n同时,请确认迁移后的账户,已创造别名。"
|
||||
movedAndCannotBeUndone: "该账户已被迁移。\n迁移操作无法撤销。"
|
||||
movedTo: "迁移后的账户"
|
||||
_achievements:
|
||||
earnedAt: "达成时间"
|
||||
_types:
|
||||
@ -1122,8 +1236,11 @@ _achievements:
|
||||
_client30min:
|
||||
title: "休息一下!"
|
||||
description: "启动客户端超过30分钟"
|
||||
_client60min:
|
||||
title: "CherryPick重度依赖"
|
||||
description: "启动客户端超过60分钟"
|
||||
_noteDeletedWithin1min:
|
||||
title: "无话可说"
|
||||
title: "欲言又止"
|
||||
description: "发帖后一分钟内就将其删除"
|
||||
_postedAtLateNight:
|
||||
title: "夜猫子"
|
||||
@ -1141,7 +1258,7 @@ _achievements:
|
||||
description: "在首页时间线的流速超过20npm"
|
||||
_viewInstanceChart:
|
||||
title: "分析师"
|
||||
description: "查看了实例信息中的图表"
|
||||
description: "查看了服务器信息中的图表"
|
||||
_outputHelloWorldOnScratchpad:
|
||||
title: "Hello, world!"
|
||||
description: "在AiScript控制台中输出 hello world"
|
||||
@ -1178,7 +1295,7 @@ _achievements:
|
||||
_loggedInOnNewYearsDay:
|
||||
title: "恭贺新禧"
|
||||
description: "在元旦登入"
|
||||
flavor: "今年也请对本实例多多指教!"
|
||||
flavor: "今年也请对本服务器多多指教!"
|
||||
_cookieClicked:
|
||||
title: "点击饼干小游戏"
|
||||
description: "点击了可疑的饼干"
|
||||
@ -1193,7 +1310,7 @@ _role:
|
||||
name: "角色名称"
|
||||
description: "角色描述"
|
||||
permission: "角色权限"
|
||||
descriptionOfPermission: "<b>监察员</b>可以执行基本的审核操作。\n<b>管理员</b>可以更改实例的所有设置。"
|
||||
descriptionOfPermission: "<b>监察员</b>可以执行基本地审核操作。\n<b>管理员</b>可以更改服务器的所有设置。"
|
||||
assignTarget: "授权对象"
|
||||
descriptionOfAssignTarget: "<b>手动</b>指手动选择谁被包括在这个角色中。\n<b>符合条件</b>指设置条件以自动包括符合条件的用户。"
|
||||
manual: "手动"
|
||||
@ -1210,6 +1327,10 @@ _role:
|
||||
iconUrl: "图标URL"
|
||||
asBadge: "作为徽章显示"
|
||||
descriptionOfAsBadge: "开启后,用户名旁边将会出现角色图标。"
|
||||
isExplorable: "公开角色时间线"
|
||||
descriptionOfIsExplorable: "打开后将公开角色时间线。如果角色不是公开的,就无法公开时间线。"
|
||||
displayOrder: "显示顺序"
|
||||
descriptionOfDisplayOrder: "数字越大,显示位置越靠前。"
|
||||
canEditMembersByModerator: "允许监察者编辑成员"
|
||||
descriptionOfCanEditMembersByModerator: "如果选中,监察者和管理员都能够为用户分配/取消分配角色。如果未选中,则只有管理员可以执行此操作。"
|
||||
priority: "优先级"
|
||||
@ -1221,7 +1342,7 @@ _role:
|
||||
gtlAvailable: "查看全局时间线"
|
||||
ltlAvailable: "查看本地时间线"
|
||||
canPublicNote: "允许公开发帖"
|
||||
canInvite: "发放实例邀请码"
|
||||
canInvite: "发放服务器邀请码"
|
||||
canManageCustomEmojis: "管理自定义表情符号"
|
||||
driveCapacity: "网盘容量"
|
||||
pinMax: "帖子置顶数量限制"
|
||||
@ -1235,6 +1356,7 @@ _role:
|
||||
rateLimitFactor: "速率限制"
|
||||
descriptionOfRateLimitFactor: "值越小限制越少,值越大限制越多。"
|
||||
canHideAds: "可以隐藏广告"
|
||||
canSearchNotes: "是否可以搜索帖子"
|
||||
_condition:
|
||||
isLocal: "是本地用户"
|
||||
isRemote: "是远程用户"
|
||||
@ -1244,6 +1366,8 @@ _role:
|
||||
followersMoreThanOrEq: "关注者不少于"
|
||||
followingLessThanOrEq: "关注中不多于"
|
||||
followingMoreThanOrEq: "关注中不少于"
|
||||
notesLessThanOrEq: "帖子数在~以下"
|
||||
notesMoreThanOrEq: "帖子数在~以上"
|
||||
and: "符合以下全部条件"
|
||||
or: "符合以下任一条件"
|
||||
not: "不符合以下任何条件"
|
||||
@ -1283,7 +1407,7 @@ _ad:
|
||||
_forgotPassword:
|
||||
enterEmail: "请输入您验证账号时用的电子邮箱地址,密码重置链接将发送至该邮箱上。"
|
||||
ifNoEmail: "如果您没有使用电子邮件地址进行验证,请联系管理员。"
|
||||
contactAdmin: "该实例不支持发送电子邮件。如果您想重设密码,请联系管理员。"
|
||||
contactAdmin: "该服务器不支持发送电子邮件。如果您想重设密码,请联系管理员。"
|
||||
_gallery:
|
||||
my: "我的图库"
|
||||
liked: "喜欢的图片"
|
||||
@ -1419,6 +1543,8 @@ _channel:
|
||||
following: "正在关注"
|
||||
usersCount: "有{n}人参与"
|
||||
notesCount: "有{n}个帖子"
|
||||
nameAndDescription: "名称与描述"
|
||||
nameOnly: "仅名称"
|
||||
_menuDisplay:
|
||||
sideFull: "横向"
|
||||
sideIcon: "横向(图标)"
|
||||
@ -1434,10 +1560,10 @@ _wordMute:
|
||||
hard: "硬屏蔽"
|
||||
mutedNotes: "被屏蔽的帖子"
|
||||
_instanceMute:
|
||||
instanceMuteDescription: "屏蔽配置实例中的所有帖子和转帖,包括实例的用户回复。"
|
||||
instanceMuteDescription: "屏蔽配置服务器中的所有帖子和转帖,包括这些服务器上的用户回复。"
|
||||
instanceMuteDescription2: "设置时用换行符来分隔"
|
||||
title: "隐藏实例已设置的帖子。"
|
||||
heading: "屏蔽实例"
|
||||
title: "隐藏服务器已设置的帖子。"
|
||||
heading: "屏蔽服务器"
|
||||
_theme:
|
||||
explore: "寻找主题"
|
||||
install: "安装主题"
|
||||
@ -1496,9 +1622,9 @@ _theme:
|
||||
infoFg: "信息文本"
|
||||
infoWarnBg: "警告背景"
|
||||
infoWarnFg: "警告文本"
|
||||
cwBg: "CW 按钮背景"
|
||||
cwFg: "CW 按钮文本"
|
||||
cwHoverBg: "CW 按钮背景(悬停)"
|
||||
cwBg: "隐藏内容按钮背景"
|
||||
cwFg: "隐藏内容按钮文本"
|
||||
cwHoverBg: "隐藏内容按钮背景(悬停)"
|
||||
toastBg: "Toast通知背景"
|
||||
toastFg: "Toast通知文本"
|
||||
buttonBg: "按钮背景"
|
||||
@ -1530,47 +1656,40 @@ _ago:
|
||||
weeksAgo: "{n}周前"
|
||||
monthsAgo: "{n}月前"
|
||||
yearsAgo: "{n}年前"
|
||||
invalid: "没有"
|
||||
_time:
|
||||
second: "秒"
|
||||
minute: "分"
|
||||
hour: "小时"
|
||||
day: "日"
|
||||
_tutorial:
|
||||
title: "CherryPick的使用方法"
|
||||
step1_1: "欢迎!"
|
||||
step1_2: "这个页面叫做「时间线」,它会按照时间顺序显示所有你「关注」的人所发的「帖子」。"
|
||||
step1_3: "如果你并没有发布任何帖子,也没有关注其他的人,你的时间线页面应当什么都没有显示。"
|
||||
step2_1: "在您想要发帖或关注其他人之前,请先设置一下个人资料吧。"
|
||||
step2_2: "如果别人能够更加的了解你,关注你的概率也会得到提升。"
|
||||
step3_1: "已经设置完个人资料了吗?"
|
||||
step3_2: "那么接下来,试着写一些什么东西来发布吧。你可以通过点击屏幕上的铅笔图标来打开投稿页面。"
|
||||
step3_3: "写完内容后,点击窗口右上方的按钮就可以投稿。"
|
||||
step3_4: "不知道说些什么好吗?那就写下「CherryPick我来啦!」这样的话吧。"
|
||||
step4_1: "将你的话语发布出去了吗?"
|
||||
step4_2: "太棒了!现在你可以在你的时间线中看到你刚刚发布的帖子了。"
|
||||
step5_1: "接下来,关注其他人来使时间线更生动吧。"
|
||||
step5_2: "{featured}将向您展示热门趋势的帖子。 {explore}将让您找到热门用户。 尝试关注您喜欢的人!"
|
||||
step5_3: "要关注其他用户,请单击他的头像,然后在他的个人资料上按下“关注”按钮。"
|
||||
step5_4: "如果用户的名称旁边有锁定图标,则该用户需要手动批准您的关注请求。"
|
||||
step6_1: "现在,您将可以在时间线上看到其他用户的帖子。"
|
||||
step6_2: "您还可以在其他人的帖子上进行「回应」,以快速做出简单回复。"
|
||||
step6_3: "在他人的贴子上按下「+」图标,即可选择想要的表情来进行「回应」。"
|
||||
step7_1: "对CherryPick基本操作的简单介绍,就到此结束了。 辛苦了!"
|
||||
step7_2: "如果你想了解更多有关CherryPick的信息,请参见{help}。"
|
||||
step7_3: "接下来,享受CherryPick带来的乐趣吧🚀"
|
||||
step8_1: "最后,您想要启用推送通知消息吗?"
|
||||
step8_2: "通过接收推送通知消息,即使没开 CherryPick,您也可以收到回应、关注、提及等的消息。"
|
||||
step8_3: "您也可以稍后再更改通知设置。"
|
||||
_timelineTutorial:
|
||||
step3_1: "将想说的话发出去了吗?"
|
||||
step3_2: "太棒了!现在你可以在你的时间线中看到刚刚发布的帖子了。"
|
||||
_2fa:
|
||||
alreadyRegistered: "此设备已被注册"
|
||||
registerDevice: "注册设备"
|
||||
registerKey: "注册密钥"
|
||||
registerTOTP: "开始设置认证应用"
|
||||
passwordToTOTP: "请输入您的密码"
|
||||
step1: "首先,在您的设备上安装验证应用,例如{a}或{b}。"
|
||||
step2: "然后,扫描屏幕上显示的二维码。"
|
||||
step2Click: "通过点击QR码,您可以使用设备上安装的身份验证器应用程序或密钥环进行注册"
|
||||
step2Url: "在桌面应用程序中输入以下URL:"
|
||||
step3Title: "输入验证码"
|
||||
step3: "输入您的应用提供的动态口令以完成设置。"
|
||||
step4: "从现在开始,任何登录操作都将要求您提供动态口令。"
|
||||
securityKeyInfo: "您可以设置使用支持FIDO2的硬件安全密钥、设备上的指纹或PIN来保护您的登录过程。"
|
||||
securityKeyNotSupported: "您的浏览器不支持安全密钥。"
|
||||
registerTOTPBeforeKey: "要注册安全密钥或Passkey,请先设置验证器应用程序。"
|
||||
securityKeyInfo: "注册兼容 WebAuthn 的密钥,例如支持 FIDO2 的硬件安全密钥、设备上的生物识别功能、PIN 码以及 Passkey 等。"
|
||||
chromePasskeyNotSupported: "目前不支持 Chrome 的Passkey。"
|
||||
registerSecurityKey: "注册安全密钥或Passkey"
|
||||
securityKeyName: "输入密钥名称"
|
||||
tapSecurityKey: "请按照浏览器说明操作来注册安全密钥或Passkey。"
|
||||
removeKey: "删除安全密钥"
|
||||
removeKeyConfirm: "您确定要删除 {name} 吗?"
|
||||
whyTOTPOnlyRenew: "如果注册了安全密钥,则无法取消验证器应用程序上的设置。"
|
||||
renewTOTP: "重置验证器应用程序"
|
||||
renewTOTPConfirm: "当前验证器应用程序的验证码将不再有效"
|
||||
renewTOTPOk: "重新配置"
|
||||
renewTOTPCancel: "不用,谢谢"
|
||||
_permissions:
|
||||
"read:account": "查看账户信息"
|
||||
"write:account": "更改帐户信息"
|
||||
@ -1630,7 +1749,7 @@ _weekday:
|
||||
saturday: "星期六"
|
||||
_widgets:
|
||||
profile: "个人资料"
|
||||
instanceInfo: "实例信息"
|
||||
instanceInfo: "服务器信息"
|
||||
memo: "便签"
|
||||
notifications: "通知"
|
||||
timeline: "时间线"
|
||||
@ -1643,8 +1762,8 @@ _widgets:
|
||||
photos: "照片"
|
||||
digitalClock: "数字时钟"
|
||||
unixClock: "UNIX时钟"
|
||||
federation: "联邦宇宙"
|
||||
instanceCloud: "实例云"
|
||||
federation: "联合"
|
||||
instanceCloud: "服务器云"
|
||||
postForm: "投稿窗口"
|
||||
slideshow: "幻灯片展示"
|
||||
button: "按钮"
|
||||
@ -1694,8 +1813,8 @@ _visibility:
|
||||
followersDescription: "仅发送至关注者"
|
||||
specified: "指定用户"
|
||||
specifiedDescription: "仅发送至指定用户"
|
||||
localOnly: "仅限本地"
|
||||
localOnlyDescription: "对远程用户不可见"
|
||||
disableFederation: "不参与联合"
|
||||
disableFederationDescription: "不发送到其他服务器"
|
||||
_postForm:
|
||||
replyPlaceholder: "回复这个帖子..."
|
||||
quotePlaceholder: "引用这个帖子..."
|
||||
@ -1711,7 +1830,7 @@ _profile:
|
||||
name: "昵称"
|
||||
username: "用户名"
|
||||
description: "个人简介"
|
||||
youCanIncludeHashtags: "你可以在个人简介中包含一个#标签。"
|
||||
youCanIncludeHashtags: "你可以在个人简介中包含一些#标签。"
|
||||
metadata: "附加信息"
|
||||
metadataEdit: "附加信息编辑"
|
||||
metadataDescription: "最多可以在个人资料中以表格形式显示四条其他信息。"
|
||||
@ -1855,6 +1974,7 @@ _notification:
|
||||
receiveFollowRequest: "收到关注请求"
|
||||
followRequestAccepted: "关注请求已通过"
|
||||
groupInvited: "加入群组邀请"
|
||||
achievementEarned: "取得的成就"
|
||||
app: "关联应用的通知"
|
||||
_actions:
|
||||
followBack: "回关"
|
||||
@ -1887,3 +2007,27 @@ _deck:
|
||||
channel: "频道"
|
||||
mentions: "提及"
|
||||
direct: "指定用户"
|
||||
roleTimeline: "角色时间线"
|
||||
_dialog:
|
||||
charactersExceeded: "已经超过了最大字符数! 当前字符数 {current} / 限制字符数 {max}"
|
||||
charactersBelow: "低于最小字符数!当前字符数 {current} / 限制字符数 {min}"
|
||||
_disabledTimeline:
|
||||
title: "时间线已禁用"
|
||||
description: "您不能在当前角色使用时间线。"
|
||||
_drivecleaner:
|
||||
orderBySizeDesc: "按大小降序排列"
|
||||
orderByCreatedAtAsc: "按添加日期降序排列"
|
||||
_webhookSettings:
|
||||
createWebhook: "创建 Webhook"
|
||||
name: "名称"
|
||||
secret: "密钥"
|
||||
events: "何时运行Webhook"
|
||||
active: "已启用"
|
||||
_events:
|
||||
follow: "关注时"
|
||||
followed: "被关注时"
|
||||
note: "发布贴文时"
|
||||
reply: "收到回复时"
|
||||
renote: "被转发时"
|
||||
reaction: "被回应时"
|
||||
mention: "被提及时"
|
||||
|
@ -2,7 +2,7 @@
|
||||
_lang_: "繁體中文"
|
||||
headlineMisskey: "貼文連繫網路"
|
||||
introMisskey: "歡迎! CherryPick是一個開放原始碼且去中心化的社群網路。\n透過「貼文」分享周邊新鮮事,並告訴其他人您的想法!📡\n透過「反應」功能,對大家的貼文表達情感!👍\n一起來探索這個新的世界吧!🚀"
|
||||
poweredByMisskeyDescription: "{name}是使用開放原始碼平台<b>CherryPick</b>的服務之一(稱為 CherryPick 實例)。\n"
|
||||
poweredByMisskeyDescription: "{name}是使用開放原始碼平台<b>CherryPick</b>的服務之一(稱為 CherryPick 伺服器)。\n"
|
||||
monthAndDay: "{month}月 {day}日"
|
||||
search: "搜尋"
|
||||
notifications: "通知"
|
||||
@ -15,11 +15,12 @@ gotIt: "知道了"
|
||||
cancel: "取消"
|
||||
noThankYou: "現在不要"
|
||||
enterUsername: "輸入使用者名稱"
|
||||
renotedBy: "{user} 轉傳了"
|
||||
renotedBy: "{user} 轉發了"
|
||||
noNotes: "無貼文。"
|
||||
noNotifications: "沒有通知"
|
||||
instance: "實例"
|
||||
instance: "伺服器"
|
||||
settings: "設定"
|
||||
notificationSettings: "通知選項"
|
||||
basicSettings: "基本設定"
|
||||
otherSettings: "其他設定"
|
||||
openInWindow: "在新視窗開啟"
|
||||
@ -46,7 +47,7 @@ copyContent: "複製內容"
|
||||
copyLink: "複製連結"
|
||||
delete: "刪除"
|
||||
deleteAndEdit: "刪除並編輯"
|
||||
deleteAndEditConfirm: "要刪除並再次編輯嗎?此貼文的所有情感、轉發和回覆也將會消失。"
|
||||
deleteAndEditConfirm: "要刪除並再次編輯嗎?此貼文的所有反應、轉發和回覆也將會消失。"
|
||||
addToList: "加入至清單"
|
||||
sendMessage: "發送訊息"
|
||||
copyRSS: "複製RSS"
|
||||
@ -85,7 +86,7 @@ somethingHappened: "發生錯誤"
|
||||
retry: "重試"
|
||||
pageLoadError: "載入頁面失敗"
|
||||
pageLoadErrorDescription: "這通常是因為網路錯誤或是瀏覽器快取殘留的原因。請先清除瀏覽器快取,稍後再重試"
|
||||
serverIsDead: "伺服器沒有回應。請稍等片刻,然後重試。"
|
||||
serverIsDead: "伺服器沒有回應。請稍等片刻再試。"
|
||||
youShouldUpgradeClient: "請重新載入以使用新版本的客戶端顯示此頁面"
|
||||
enterListName: "輸入清單名稱"
|
||||
privacy: "隱私"
|
||||
@ -95,22 +96,24 @@ follow: "追隨"
|
||||
followRequest: "追隨請求"
|
||||
followRequests: "追隨請求"
|
||||
unfollow: "取消追隨"
|
||||
followRequestPending: "追隨許可批准中"
|
||||
followRequestPending: "追隨許可待批准"
|
||||
enterEmoji: "輸入表情符號"
|
||||
renote: "轉發"
|
||||
unrenote: "取消轉發"
|
||||
renoted: "轉傳成功"
|
||||
renoted: "轉發成功"
|
||||
cantRenote: "無法轉發此貼文。"
|
||||
cantReRenote: "無法轉傳之前已經轉傳過的內容。"
|
||||
cantReRenote: "無法轉發之前已經轉發過的內容。"
|
||||
quote: "引用"
|
||||
inChannelRenote: "在頻道內轉發"
|
||||
inChannelQuote: "在頻道內引用"
|
||||
pinnedNote: "已置頂的貼文"
|
||||
pinned: "置頂"
|
||||
you: "您"
|
||||
clickToShow: "按一下以顯示"
|
||||
sensitive: "敏感內容"
|
||||
add: "新增"
|
||||
reaction: "情感"
|
||||
reactions: "情感"
|
||||
reaction: "反應"
|
||||
reactions: "反應"
|
||||
reactionSetting: "在選擇器中顯示反應"
|
||||
reactionSettingDescription2: "拖動以重新列序,點擊以刪除,按下 + 添加。"
|
||||
rememberNoteVisibility: "記住貼文可見性"
|
||||
@ -120,14 +123,16 @@ unmarkAsSensitive: "取消標記為敏感內容"
|
||||
enterFileName: "請輸入檔案名稱"
|
||||
mute: "靜音"
|
||||
unmute: "解除靜音"
|
||||
renoteMute: "將轉發貼文靜音"
|
||||
renoteUnmute: "解除轉發貼文的靜音"
|
||||
block: "封鎖"
|
||||
unblock: "解除封鎖"
|
||||
suspend: "凍結"
|
||||
unsuspend: "解除凍結"
|
||||
blockConfirm: "確定要封鎖此用戶?"
|
||||
unblockConfirm: "確定解除封鎖此用戶?"
|
||||
suspendConfirm: "確定凍結此帳號?"
|
||||
unsuspendConfirm: "確定解凍此帳號?"
|
||||
suspendConfirm: "確定凍結此帳戶?"
|
||||
unsuspendConfirm: "確定解凍此帳戶?"
|
||||
selectList: "選擇清單"
|
||||
selectChannel: "選擇頻道"
|
||||
selectAntenna: "選擇天線"
|
||||
@ -145,12 +150,13 @@ cacheRemoteFiles: "快取遠端檔案"
|
||||
cacheRemoteFilesDescription: "禁用此設定會停止遠端檔案的緩存,從而節省儲存空間,但資料會因直接連線從而產生額外連接數據。"
|
||||
flagAsBot: "此使用者是機器人"
|
||||
flagAsBotDescription: "如果本帳戶是由程式控制,請啟用此選項。啟用後,會作為標示幫助其他開發者防止機器人之間產生無限互動的行為,並會調整CherryPick內部系統將本帳戶識別為機器人"
|
||||
flagAsCat: "此使用者是貓"
|
||||
flagAsCat: "喵~~~~~~~~~~~~~~!!!!!!!!!!!!"
|
||||
flagAsCatDescription: "如果想將本帳戶標示為一隻貓,請開啟此標示"
|
||||
flagShowTimelineReplies: "在時間軸上顯示貼文的回覆"
|
||||
flagShowTimelineRepliesDescription: "啟用時,時間線除了顯示用戶的貼文以外,還會顯示用戶對其他貼文的回覆。"
|
||||
autoAcceptFollowed: "自動追隨中使用者的追隨請求"
|
||||
autoAcceptFollowed: "自動允許來自追隨中使用者的追隨請求"
|
||||
addAccount: "添加帳戶"
|
||||
reloadAccountsList: "更新帳戶清單的資訊"
|
||||
loginFailed: "登入失敗"
|
||||
showOnRemote: "轉到所在實例顯示"
|
||||
general: "一般"
|
||||
@ -161,13 +167,13 @@ searchWith: "搜尋: {q}"
|
||||
youHaveNoLists: "你沒有任何清單"
|
||||
followConfirm: "你真的要追隨{name}嗎?"
|
||||
proxyAccount: "代理帳戶"
|
||||
proxyAccountDescription: "代理帳戶是在某些情況下充當其他伺服器用戶的帳戶。例如,當使用者將一個來自其他伺服器的帳戶放在列表中時,由於沒有其他使用者追蹤該帳戶,該指令不會傳送到該伺服器上,因此會由代理帳戶追蹤。"
|
||||
proxyAccountDescription: "代理帳戶是在某些情況下充當其他伺服器用戶的帳戶。例如,當使用者將一個來自其他伺服器的帳戶放在列表中時,由於沒有其他使用者追隨該帳戶,該指令不會傳送到該伺服器上,因此會由代理帳戶追隨。"
|
||||
host: "主機"
|
||||
selectUser: "選取使用者"
|
||||
recipient: "收件人"
|
||||
annotation: "註解"
|
||||
federation: "站台聯邦"
|
||||
instances: "實例"
|
||||
instances: "伺服器"
|
||||
registeredAt: "初次觀測"
|
||||
latestRequestReceivedAt: "上次收到的請求"
|
||||
latestStatus: "最後狀態"
|
||||
@ -176,7 +182,7 @@ charts: "圖表"
|
||||
perHour: "每小時"
|
||||
perDay: "每日"
|
||||
stopActivityDelivery: "停止發送活動"
|
||||
blockThisInstance: "封鎖此實例"
|
||||
blockThisInstance: "封鎖此伺服器"
|
||||
operations: "操作"
|
||||
software: "軟體"
|
||||
version: "版本"
|
||||
@ -187,15 +193,15 @@ jobQueue: "佇列"
|
||||
cpuAndMemory: "CPU及記憶體用量"
|
||||
network: "網路"
|
||||
disk: "硬碟"
|
||||
instanceInfo: "實例資訊"
|
||||
instanceInfo: "伺服器資訊"
|
||||
statistics: "統計"
|
||||
clearQueue: "清除佇列"
|
||||
clearQueueConfirmTitle: "確定要清除佇列嗎?"
|
||||
clearQueueConfirmText: "未發佈的貼文將不會發佈。您通常不需要確認。"
|
||||
clearCachedFiles: "清除快取資料"
|
||||
clearCachedFilesConfirm: "確定要清除所有遠端暫存資料嗎?"
|
||||
blockedInstances: "已封鎖的實例"
|
||||
blockedInstancesDescription: "請逐行輸入需要封鎖的實例。已封鎖的實例將無法與本實例進行通訊。"
|
||||
blockedInstances: "已封鎖的伺服器"
|
||||
blockedInstancesDescription: "請逐行輸入需要封鎖的伺服器。已封鎖的伺服器將無法與本伺服器進行通訊。"
|
||||
muteAndBlock: "靜音和封鎖"
|
||||
mutedUsers: "已靜音用戶"
|
||||
blockedUsers: "已封鎖用戶"
|
||||
@ -211,15 +217,15 @@ default: "預設"
|
||||
defaultValueIs: "預設值:{value}"
|
||||
noCustomEmojis: "沒有自訂的表情符號"
|
||||
noJobs: "沒有任務"
|
||||
federating: "整合搜索中"
|
||||
federating: "聯邦運作中"
|
||||
blocked: "已封鎖"
|
||||
suspended: "已凍結"
|
||||
all: "全部"
|
||||
subscribing: "訂閱中"
|
||||
publishing: "直播中"
|
||||
notResponding: "沒有回應"
|
||||
instanceFollowing: "追蹤實例"
|
||||
instanceFollowers: "追蹤實例"
|
||||
instanceFollowing: "追隨的伺服器"
|
||||
instanceFollowers: "伺服器的追隨者"
|
||||
instanceUsers: "用戶"
|
||||
changePassword: "修改密碼"
|
||||
security: "安全性"
|
||||
@ -257,14 +263,16 @@ noMoreHistory: "沒有更多歷史紀錄"
|
||||
startMessaging: "開始聊天"
|
||||
nUsersRead: "{n}人已讀"
|
||||
agreeTo: "我同意{0}"
|
||||
agree: "同意"
|
||||
agreeBelow: "同意以下內容"
|
||||
basicNotesBeforeCreateAccount: "基本注意事項"
|
||||
tos: "使用條款"
|
||||
termsOfService: "服務條款"
|
||||
start: "開始"
|
||||
home: "首頁"
|
||||
remoteUserCaution: "由於該使用者來自遠端實例,因此資訊可能非即時的。"
|
||||
activity: "動態"
|
||||
images: "圖片"
|
||||
image: "圖片"
|
||||
birthday: "生日"
|
||||
yearsOld: "{age}歲"
|
||||
registeredDate: "註冊日期"
|
||||
@ -312,8 +320,8 @@ unwatch: "取消追隨"
|
||||
accept: "接受"
|
||||
reject: "拒絕"
|
||||
normal: "正常"
|
||||
instanceName: "實例名稱"
|
||||
instanceDescription: "實例說明"
|
||||
instanceName: "伺服器名稱"
|
||||
instanceDescription: "伺服器介紹"
|
||||
maintainerName: "管理員名稱"
|
||||
maintainerEmail: "管理員郵箱"
|
||||
tosUrl: "服務條款URL"
|
||||
@ -384,23 +392,26 @@ recentlyUpdatedUsers: "最近發文的使用者"
|
||||
recentlyRegisteredUsers: "新加入使用者"
|
||||
recentlyDiscoveredUsers: "最近發現的使用者"
|
||||
exploreUsersCount: "有{count}個使用者"
|
||||
exploreFediverse: "探索聯邦世界"
|
||||
exploreFediverse: "探索聯邦宇宙"
|
||||
popularTags: "熱門標籤"
|
||||
userList: "使用者清單"
|
||||
about: "關於"
|
||||
aboutMisskey: "關於 CherryPick"
|
||||
administrator: "管理員"
|
||||
token: "權杖"
|
||||
twoStepAuthentication: "兩階段驗證"
|
||||
2fa: "雙因素驗證"
|
||||
totp: "驗證應用程式"
|
||||
totpDescription: "以驗證應用程式輸入一次性密碼"
|
||||
moderator: "審查員"
|
||||
moderation: "審查"
|
||||
nUsersMentioned: "提到了{n}"
|
||||
securityKeyAndPasskey: "安全金鑰・Passkey"
|
||||
securityKey: "安全金鑰"
|
||||
securityKeyName: "金鑰名稱"
|
||||
registerSecurityKey: "註冊安全金鑰"
|
||||
lastUsed: "上次使用"
|
||||
unregister: "註銷帳號"
|
||||
lastUsedAt: "最後使用:{t}"
|
||||
unregister: "註銷帳戶"
|
||||
passwordLessLogin: "設置無密碼登入"
|
||||
passwordLessLoginDescription: "不使用密碼,以安全金鑰或 Passkey 登入"
|
||||
resetPassword: "重置密碼"
|
||||
newPasswordIs: "新密碼為「{password}」"
|
||||
reduceUiAnimation: "減少介面的動態視覺"
|
||||
@ -430,7 +441,7 @@ title: "標題"
|
||||
text: "文字"
|
||||
enable: "啟用"
|
||||
next: "下一步"
|
||||
retype: "重新輸入"
|
||||
retype: "再次輸入"
|
||||
noteOf: "{user}的貼文"
|
||||
inviteToGroup: "邀請至群組"
|
||||
quoteAttached: "引用"
|
||||
@ -454,7 +465,6 @@ passwordMatched: "密碼一致"
|
||||
passwordNotMatched: "密碼不一致"
|
||||
signinWith: "以{x}登錄"
|
||||
signinFailed: "登入失敗。 請檢查使用者名稱和密碼。"
|
||||
tapSecurityKey: "點擊安全密鑰"
|
||||
or: "或者"
|
||||
language: "語言"
|
||||
uiLanguage: "介面語言"
|
||||
@ -465,6 +475,7 @@ native: "原生"
|
||||
disableDrawer: "不顯示下拉式選單"
|
||||
youHaveNoGroups: "找不到群組"
|
||||
joinOrCreateGroup: "請加入現有群組,或創建新群組。"
|
||||
showNoteActionsOnlyHover: "僅在游標停留時顯示貼文的操作選項"
|
||||
noHistory: "沒有歷史紀錄"
|
||||
signinHistory: "登入歷史"
|
||||
enableAdvancedMfm: "啟用高級MFM"
|
||||
@ -477,7 +488,9 @@ createAccount: "建立帳戶"
|
||||
existingAccount: "現有帳戶"
|
||||
regenerate: "再生"
|
||||
fontSize: "字體大小"
|
||||
noFollowRequests: "沒有跟隨您的請求"
|
||||
mediaListWithOneImageAppearance: "僅1枚圖片的媒體列表高度"
|
||||
limitTo: "上限為{x}"
|
||||
noFollowRequests: "沒有追隨您的請求"
|
||||
openImageInNewTab: "於新分頁中開啟圖片"
|
||||
dashboard: "儀表板"
|
||||
local: "本地"
|
||||
@ -486,7 +499,7 @@ total: "合計"
|
||||
weekOverWeekChanges: "與上週相比"
|
||||
dayOverDayChanges: "與前一日相比"
|
||||
appearance: "外觀"
|
||||
clientSettings: "用戶端設定"
|
||||
clientSettings: "客戶端設定"
|
||||
accountSettings: "帳戶設定"
|
||||
promotion: "推廣"
|
||||
promote: "推廣"
|
||||
@ -510,9 +523,11 @@ objectStorageUseSSLDesc: "如果不使用https進行API連接,請關閉"
|
||||
objectStorageUseProxy: "使用網路代理"
|
||||
objectStorageUseProxyDesc: "如果不使用代理進行API連接,請關閉"
|
||||
objectStorageSetPublicRead: "上傳時設定為\"public-read\""
|
||||
s3ForcePathStyleDesc: "啟用 s3ForcePathStyle 會強制將儲存槽名稱指定為 URL 中路徑的一部分,而不是主機名。 使用自託管 Minio 之類的可能需要啟用。"
|
||||
serverLogs: "伺服器日誌"
|
||||
deleteAll: "刪除所有記錄"
|
||||
showFixedPostForm: "於時間軸頁頂顯示「發送貼文」方框"
|
||||
showFixedPostFormInChannel: "於時間軸頁頂顯示「發送貼文」方框(頻道)"
|
||||
newNoteRecived: "發現新的貼文"
|
||||
sounds: "音效"
|
||||
sound: "音效"
|
||||
@ -534,8 +549,8 @@ installedDate: "安裝時間"
|
||||
lastUsedDate: "最後上線日期"
|
||||
state: "狀態"
|
||||
sort: "排序"
|
||||
ascendingOrder: "遞增"
|
||||
descendingOrder: "遞減"
|
||||
ascendingOrder: "昇冪"
|
||||
descendingOrder: "降冪"
|
||||
scratchpad: "暫存記憶體"
|
||||
scratchpadDescription: "AiScript控制台為AiScript提供了實驗環境。您可以在此編寫、執行和確認代碼與CherryPick互動的结果。"
|
||||
output: "輸出"
|
||||
@ -544,22 +559,27 @@ disablePagesScript: "停用頁面的AiScript腳本"
|
||||
updateRemoteUser: "更新遠端使用者資訊"
|
||||
deleteAllFiles: "刪除所有檔案"
|
||||
deleteAllFilesConfirm: "要删除所有檔案嗎?"
|
||||
removeAllFollowing: "解除所有追蹤"
|
||||
removeAllFollowingDescription: "解除{host}所有的追蹤。在實例不再存在時執行。"
|
||||
removeAllFollowing: "解除所有追隨"
|
||||
removeAllFollowingDescription: "解除{host}所有的追隨。在伺服器不再存在時執行。"
|
||||
userSuspended: "該使用者已被停用"
|
||||
userSilenced: "該用戶已被禁言。"
|
||||
yourAccountSuspendedTitle: "帳戶已被凍結"
|
||||
yourAccountSuspendedDescription: "由於違反了伺服器的服務條款或其他原因,該帳戶已被凍結。 您可以與管理員連繫以了解更多訊息。 請不要創建一個新的帳戶。"
|
||||
tokenRevoked: "權杖無效"
|
||||
tokenRevokedDescription: "登入權杖失效,請重新登入。"
|
||||
accountDeleted: "帳戶已被刪除"
|
||||
accountDeletedDescription: "這個帳戶已被刪除。"
|
||||
menu: "選單"
|
||||
divider: "分割線"
|
||||
addItem: "新增項目"
|
||||
rearrange: "排序方式"
|
||||
relays: "中繼"
|
||||
addRelay: "新增中繼"
|
||||
inboxUrl: "收件夾URL"
|
||||
addedRelays: "已加入的中繼"
|
||||
serviceworkerInfo: "您需要啟用推送通知"
|
||||
deletedNote: "已删除的貼文"
|
||||
invisibleNote: "隱藏的貼文"
|
||||
invisibleNote: "私密的貼文"
|
||||
enableInfiniteScroll: "啟用自動滾動頁面模式"
|
||||
visibility: "可見性"
|
||||
poll: "投票"
|
||||
@ -593,7 +613,6 @@ tokenRequested: "允許存取帳戶"
|
||||
pluginTokenRequestedDescription: "此外掛將擁有在此設定的權限。"
|
||||
notificationType: "通知形式"
|
||||
edit: "編輯"
|
||||
useStarForReactionFallback: "以★代替未知的表情符號"
|
||||
emailServer: "電郵伺服器"
|
||||
enableEmail: "啟用發送電郵功能"
|
||||
emailConfigInfo: "用於確認電郵地址及密碼重置"
|
||||
@ -671,14 +690,14 @@ repliesCount: "回覆數量"
|
||||
renotesCount: "轉發數量"
|
||||
repliedCount: "回覆數量"
|
||||
renotedCount: "轉發次數"
|
||||
followingCount: "正在跟隨的用戶數量"
|
||||
followersCount: "跟隨者數量"
|
||||
sentReactionsCount: "情感發送次數"
|
||||
receivedReactionsCount: "情感收到次數"
|
||||
followingCount: "正在追隨的用戶數量"
|
||||
followersCount: "追隨者數量"
|
||||
sentReactionsCount: "反應發送次數"
|
||||
receivedReactionsCount: "收到反應次數"
|
||||
pollVotesCount: "已統計的投票數"
|
||||
pollVotedCount: "已投票數"
|
||||
yes: "確定"
|
||||
no: "取消"
|
||||
yes: "是"
|
||||
no: "否"
|
||||
driveFilesCount: "雲端硬碟檔案數量"
|
||||
driveUsage: "雲端硬碟使用量"
|
||||
noCrawle: "拒絕搜尋引擎索引"
|
||||
@ -697,6 +716,8 @@ contact: "聯絡人"
|
||||
useSystemFont: "使用系統預設的字型"
|
||||
clips: "摘錄"
|
||||
experimentalFeatures: "實驗中的功能"
|
||||
experimental: "實驗性"
|
||||
thisIsExperimentalFeature: "這是實驗性的功能。可能會有變更規格和不能正常動作的可能性。"
|
||||
developer: "開發者"
|
||||
makeExplorable: "使自己的帳戶能夠在「探索」頁面中顯示"
|
||||
makeExplorableDescription: "如果關閉,帳戶將不會被顯示在「探索」頁面中。"
|
||||
@ -732,8 +753,8 @@ registry: "登錄表"
|
||||
closeAccount: "停用帳戶"
|
||||
currentVersion: "目前版本"
|
||||
latestVersion: "最新版本"
|
||||
youAreRunningUpToDateClient: "您所使用的用戶端已經是最新的。"
|
||||
newVersionOfClientAvailable: "新版本的用戶端可用。"
|
||||
youAreRunningUpToDateClient: "您所使用的客戶端已經是最新的。"
|
||||
newVersionOfClientAvailable: "新版本的客戶端可用。"
|
||||
usageAmount: "使用量"
|
||||
capacity: "容量"
|
||||
inUse: "已使用"
|
||||
@ -787,6 +808,7 @@ popularPosts: "熱門的貼文"
|
||||
shareWithNote: "在貼文中分享"
|
||||
ads: "廣告"
|
||||
expiration: "期限"
|
||||
startingperiod: "開始期間"
|
||||
memo: "備忘錄"
|
||||
priority: "優先級"
|
||||
high: "高"
|
||||
@ -818,7 +840,8 @@ pubSub: "Pub/Sub 帳戶"
|
||||
lastCommunication: "最近的通信"
|
||||
resolved: "已解決"
|
||||
unresolved: "未解決"
|
||||
breakFollow: "移除追蹤者"
|
||||
breakFollow: "解除追隨者"
|
||||
breakFollowConfirm: "確定要取消被追隨嗎?"
|
||||
itsOn: "已開啟"
|
||||
itsOff: "已關閉"
|
||||
emailRequiredForSignup: "註冊帳戶需要電子郵件地址"
|
||||
@ -855,11 +878,13 @@ instanceDefaultLightTheme: "實例預設的淺色主題"
|
||||
instanceDefaultDarkTheme: "實例預設的深色主題"
|
||||
instanceDefaultThemeDescription: "輸入物件形式的主题代碼"
|
||||
mutePeriod: "靜音的期限"
|
||||
period: "期限"
|
||||
indefinitely: "無期限"
|
||||
tenMinutes: "10分鐘"
|
||||
oneHour: "1小時"
|
||||
oneDay: "1天"
|
||||
oneWeek: "1週"
|
||||
oneMonth: "1個月"
|
||||
reflectMayTakeTime: "可能需要一些時間才會出現效果。"
|
||||
failedToFetchAccountInformation: "取得帳戶資訊失敗"
|
||||
rateLimitExceeded: "已超過速率限制"
|
||||
@ -876,10 +901,10 @@ recommended: "推薦"
|
||||
check: "檢查"
|
||||
driveCapOverrideLabel: "更改這個使用者的雲端硬碟容量上限"
|
||||
driveCapOverrideCaption: "如果指定0以下的值,就會被取消。"
|
||||
requireAdminForView: "必須以管理員帳號登入才可以檢視。"
|
||||
isSystemAccount: "由系統自動建立與管理的帳號。"
|
||||
requireAdminForView: "必須以管理員帳戶登入才可以檢視。"
|
||||
isSystemAccount: "由系統自動建立與管理的帳戶。"
|
||||
typeToConfirm: "要執行這項操作,請輸入 {x} "
|
||||
deleteAccount: "刪除帳號"
|
||||
deleteAccount: "刪除帳戶"
|
||||
document: "文件"
|
||||
numberOfPageCache: "快取頁面數"
|
||||
numberOfPageCacheDescription: "增加數量會提高便利性,但也會增加負荷與記憶體使用量。"
|
||||
@ -901,6 +926,7 @@ remoteOnly: "僅限遠端"
|
||||
failedToUpload: "上傳失敗"
|
||||
cannotUploadBecauseInappropriate: "由於判定可能包含不適當的內容,因此無法上傳。"
|
||||
cannotUploadBecauseNoFreeSpace: "由於雲端硬碟沒有可用空間,因此無法上傳。"
|
||||
cannotUploadBecauseExceedsFileSizeLimit: "由於超過了檔案大小的限制,無法上傳。"
|
||||
beta: "Beta"
|
||||
enableAutoSensitive: "自動NSFW判定"
|
||||
enableAutoSensitiveDescription: "如果可用,請利用機器學習在媒體上自動設置 NSFW 旗標。 即使關閉此功能,依實例而定也可能會自動設置。"
|
||||
@ -917,9 +943,10 @@ pushNotificationNotSupported: "瀏覽器或實例不支援推播通知"
|
||||
sendPushNotificationReadMessage: "通知與訊息如果已讀的話,就將推播通知刪除"
|
||||
sendPushNotificationReadMessageCaption: "「{emptyPushNotificationMessage}」通知將立刻顯示。可能會增加設備的電池消耗。"
|
||||
windowMaximize: "最大化"
|
||||
windowMinimize: "最小化"
|
||||
windowRestore: "復原"
|
||||
caption: "標題"
|
||||
loggedInAsBot: "以機器人帳號登入中"
|
||||
loggedInAsBot: "以機器人帳戶登入中"
|
||||
tools: "工具"
|
||||
cannotLoad: "無法載入"
|
||||
numberOfProfileView: "個人檔案檢視次數"
|
||||
@ -933,6 +960,7 @@ didYouLikeMisskey: "您是否喜愛CherryPick呢?"
|
||||
pleaseDonate: "CherryPick是由{host}使用的免費軟體。請贊助我們,讓開發能夠持續!"
|
||||
roles: "角色"
|
||||
role: "角色"
|
||||
noRole: "沒有角色"
|
||||
normalUser: "一般使用者"
|
||||
undefined: "未定義"
|
||||
assign: "指派"
|
||||
@ -942,6 +970,10 @@ manageCustomEmojis: "管理自訂表情符號"
|
||||
youCannotCreateAnymore: "您無法再建立更多了。"
|
||||
cannotPerformTemporary: "暫時無法進行"
|
||||
cannotPerformTemporaryDescription: "由於超過操作次數限制,暫時無法進行。請過一段時間之後再嘗試。"
|
||||
invalidParamError: "參數錯誤"
|
||||
invalidParamErrorDescription: "請求參數有問題。通常是bug造成的,但也有輸入的字元數過多之類的可能性。"
|
||||
permissionDeniedError: "操作被拒絕"
|
||||
permissionDeniedErrorDescription: "本帳號沒有執行這個操作的權限。"
|
||||
preset: "預設值"
|
||||
selectFromPresets: "從預設值中選擇"
|
||||
achievements: "成就"
|
||||
@ -952,6 +984,108 @@ thisPostMayBeAnnoyingHome: "發布到首頁"
|
||||
thisPostMayBeAnnoyingCancel: "退出"
|
||||
thisPostMayBeAnnoyingIgnore: "直接發布貼文"
|
||||
collapseRenotes: "省略顯示已看過的轉發貼文"
|
||||
internalServerError: "內部伺服器錯誤"
|
||||
internalServerErrorDescription: "內部伺服器發生了非預期的錯誤。"
|
||||
copyErrorInfo: "複製錯誤資訊"
|
||||
joinThisServer: "在此伺服器上註冊"
|
||||
exploreOtherServers: "探索其他伺服器"
|
||||
letsLookAtTimeline: "看看時間軸"
|
||||
disableFederationConfirm: "要停止聯邦功能嗎?"
|
||||
disableFederationConfirmWarn: "即使停止了聯邦功能,貼文也不會變成私密的。在大部分的情況下,沒有必要停止聯邦功能。"
|
||||
disableFederationOk: "停止聯邦功能"
|
||||
invitationRequiredToRegister: "目前這個伺服器為邀請制,必須擁有邀請碼才能註冊。"
|
||||
emailNotSupported: "這個伺服器不支援寄送郵件"
|
||||
postToTheChannel: "發布到頻道"
|
||||
cannotBeChangedLater: "之後不能變更。"
|
||||
reactionAcceptance: "接受表情反應"
|
||||
likeOnly: "僅限讚"
|
||||
likeOnlyForRemote: "遠端僅限讚"
|
||||
rolesAssignedToMe: "指派給自己的角色"
|
||||
resetPasswordConfirm: "重設密碼?"
|
||||
sensitiveWords: "敏感詞"
|
||||
sensitiveWordsDescription: "將含有設定詞彙的貼文可見性設為發送至首頁。可以用換行來進行複數的設定。"
|
||||
sensitiveWordsDescription2: "用空格分隔關鍵詞構成AND格式,用斜線包圍關鍵字構成正規表達式。"
|
||||
notesSearchNotAvailable: "無法使用搜尋貼文功能。"
|
||||
license: "授權"
|
||||
unfavoriteConfirm: "要取消收錄我的最愛嗎?"
|
||||
myClips: "我的摘錄"
|
||||
drivecleaner: "雲端硬碟清掃器"
|
||||
retryAllQueuesNow: "立刻重試所有佇列"
|
||||
retryAllQueuesConfirmTitle: "要現在重試嗎?"
|
||||
retryAllQueuesConfirmText: "伺服器的負荷可能會暫時增加。"
|
||||
enableChartsForRemoteUser: "生成遠端用戶的圖表"
|
||||
enableChartsForFederatedInstances: "生成遠端伺服器的圖表"
|
||||
showClipButtonInNoteFooter: "將摘錄添加至貼文"
|
||||
largeNoteReactions: "將貼文的反應放大顯示"
|
||||
noteIdOrUrl: "貼文ID或URL"
|
||||
video: "影片"
|
||||
videos: "影片"
|
||||
dataSaver: "數據節省模式"
|
||||
accountMigration: "遷移帳戶"
|
||||
accountMoved: "這個使用者已遷移至新的帳戶:"
|
||||
accountMovedShort: "此帳戶已遷移"
|
||||
operationForbidden: "不允許此操作"
|
||||
forceShowAds: "總是顯示廣告"
|
||||
addMemo: "新增備註"
|
||||
editMemo: "編輯備註"
|
||||
reactionsList: "反應列表"
|
||||
renotesList: "轉發貼文列表"
|
||||
notificationDisplay: "通知的顯示"
|
||||
leftTop: "左上"
|
||||
rightTop: "右上"
|
||||
leftBottom: "左下"
|
||||
rightBottom: "右下"
|
||||
stackAxis: "堆疊方向"
|
||||
vertical: "縱向"
|
||||
horizontal: "側向"
|
||||
position: "位置"
|
||||
serverRules: "伺服器規則"
|
||||
pleaseConfirmBelowBeforeSignup: "在本伺服器註冊之前,請確認下列事項。"
|
||||
pleaseAgreeAllToContinue: "必須全部勾選「同意」才能繼續。"
|
||||
continue: "繼續"
|
||||
preservedUsernames: "保留的使用者名稱"
|
||||
preservedUsernamesDescription: "換行列舉要保留的使用者名稱。此處指定的使用者名稱,在建立帳戶時無法使用,但由管理者所建立的帳戶不受此限。此外,既有的帳戶也不受影響。"
|
||||
createNoteFromTheFile: "由此檔案建立貼文"
|
||||
archive: "封存"
|
||||
channelArchiveConfirmTitle: "要封存{name}嗎?"
|
||||
channelArchiveConfirmDescription: "封存以後,在頻道列表與搜索結果中不會顯示,也無法發布新的貼文。"
|
||||
thisChannelArchived: "這個頻道已被封存。"
|
||||
displayOfNote: "顯示貼文"
|
||||
initialAccountSetting: "初始設定"
|
||||
youFollowing: "追隨中"
|
||||
preventAiLearning: "拒絕接受產生式AI的學習"
|
||||
preventAiLearningDescription: "要求外部的文章產生AI或圖像產生AI不以發布的貼文和圖像等內容為學習對象。這是透過在HTML響應中包含noai旗標來實現的,但不能完全防止AI的學習,因為這要看該AI是否遵守這個要求。"
|
||||
options: "選項"
|
||||
_initialAccountSetting:
|
||||
accountCreated: "帳戶已建立完成!"
|
||||
letsStartAccountSetup: "來進行帳戶的初始設定吧。"
|
||||
letsFillYourProfile: "首先,來設定您的個人檔案吧。"
|
||||
profileSetting: "個人檔案設定"
|
||||
theseSettingsCanEditLater: "這裡的設定可以在之後變更。"
|
||||
youCanEditMoreSettingsInSettingsPageLater: "除此之外,還可以在「設定」頁面進行各種設定。之後請確認看看。"
|
||||
followUsers: "為了構築時間軸,試著追蹤您感興趣的使用者吧。"
|
||||
pushNotificationDescription: "啟用推送通知,就可以在設備上接收{name}的通知。"
|
||||
initialAccountSettingCompleted: "初始設定完成了!"
|
||||
haveFun: "盡情享受{name}吧!"
|
||||
ifYouNeedLearnMore: "關於如何使用{name}(Misskey)的詳細資訊,請見{link}。"
|
||||
skipAreYouSure: "要略過初始設定嗎?"
|
||||
_serverRules:
|
||||
description: "設定伺服器的簡要規則,在新的註冊之前顯示。建議的內容是使用條款的摘要。"
|
||||
_accountMigration:
|
||||
moveFrom: "從其他帳戶遷移到這個帳戶"
|
||||
moveFromSub: "為另一個帳戶建立別名"
|
||||
moveFromLabel: "要遷移過來的帳戶:"
|
||||
moveFromDescription: "如果你想把追隨者從別的帳戶遷移過來,必須先在這裡建立別名。請務必在執行遷移之前建立別名!請像這樣輸入要遷移的帳戶:@person@instance.com"
|
||||
moveTo: "將這個帳戶遷移至新的帳戶"
|
||||
moveToLabel: "要遷移到的帳戶:"
|
||||
moveCannotBeUndone: "一旦遷移帳戶,就無法取消。"
|
||||
moveAccountDescription: "這個操作不可撤銷。首先,請確認已在要遷移到的帳戶中為這個帳戶建立了一個別名。建立別名之後,像這樣輸入你要遷移到的帳戶:@person@instance.com"
|
||||
moveAccountHowTo: "要遷移帳戶,首先要在目標帳戶中為此帳戶建立一個別名。\n 建立別名後,像這樣輸入目標帳戶:@username@server.example.com"
|
||||
startMigration: "遷移"
|
||||
migrationConfirm: "確定要將這個帳戶遷移至 {account} 嗎?一旦遷移就無法撤銷,也就無法以原來的狀態使用這個帳戶。\n另外,請確認在要遷移到的帳戶已經建立了一個別名。"
|
||||
movedAndCannotBeUndone: "帳戶已遷移。\n遷移無法撤消。"
|
||||
postMigrationNote: "在遷移操作後的24小時之後解除此帳戶的追隨。此帳戶的追隨中、追隨者數量變為0。由於不會解除追隨者,你的追隨者仍然可以繼續檢視這個帳戶發布給追隨者的貼文。"
|
||||
movedTo: "要遷移到的帳戶:"
|
||||
_achievements:
|
||||
earnedAt: "獲得日期"
|
||||
_types:
|
||||
@ -1068,7 +1202,7 @@ _achievements:
|
||||
title: "有備而來"
|
||||
description: "設定了個人檔案"
|
||||
_markedAsCat:
|
||||
title: "我是貓"
|
||||
title: "吾輩乃貓是也"
|
||||
description: "已將帳戶設定為貓"
|
||||
flavor: "還沒有名字。"
|
||||
_following1:
|
||||
@ -1076,31 +1210,31 @@ _achievements:
|
||||
description: "首次追隨了"
|
||||
_following10:
|
||||
title: "跟著跟著"
|
||||
description: "跟隨超過10人了"
|
||||
description: "追隨超過10人了"
|
||||
_following50:
|
||||
title: "朋友很多"
|
||||
description: "跟隨超過50人了"
|
||||
description: "追隨超過50人了"
|
||||
_following100:
|
||||
title: "100位朋友"
|
||||
description: "跟隨超過100人了"
|
||||
description: "追隨超過100人了"
|
||||
_following300:
|
||||
title: "朋友過多"
|
||||
description: "跟隨超過300人了"
|
||||
description: "追隨超過300人了"
|
||||
_followers1:
|
||||
title: "第一個追隨者"
|
||||
description: "第一次被追隨"
|
||||
_followers10:
|
||||
title: "Follow me!"
|
||||
description: "跟隨者超過10人了"
|
||||
description: "追隨者超過10人了"
|
||||
_followers50:
|
||||
title: "成群結隊"
|
||||
description: "跟隨者超過50人了"
|
||||
description: "追隨者超過50人了"
|
||||
_followers100:
|
||||
title: "紅人"
|
||||
description: "跟隨者超過100人了"
|
||||
title: "熱門人物"
|
||||
description: "追隨者超過100人了"
|
||||
_followers300:
|
||||
title: "請排成一排"
|
||||
description: "跟隨者超過300人了"
|
||||
description: "追隨者超過300人了"
|
||||
_followers500:
|
||||
title: "基地台"
|
||||
description: "超過500名追隨者了"
|
||||
@ -1122,7 +1256,10 @@ _achievements:
|
||||
description: "發現了隱藏的寶藏"
|
||||
_client30min:
|
||||
title: "休息一下"
|
||||
description: "用戶端啟動已超過30分鐘"
|
||||
description: "客戶端啟動已超過30分鐘"
|
||||
_client60min:
|
||||
title: "CherryPick看太多"
|
||||
description: "客戶端啟動已超過60分鐘"
|
||||
_noteDeletedWithin1min:
|
||||
title: "現在沒有了"
|
||||
description: "發文後1分鐘內刪文"
|
||||
@ -1154,7 +1291,7 @@ _achievements:
|
||||
description: "試圖遞迴套入雲端硬碟資料夾"
|
||||
_reactWithoutRead:
|
||||
title: "有好好讀過嗎?"
|
||||
description: "對包含100字以上內容的貼文做出情感反應"
|
||||
description: "對包含100字以上內容的貼文在3秒以內做出反應"
|
||||
_clickedClickHere:
|
||||
title: "點擊這裡"
|
||||
description: "已點擊這裡了"
|
||||
@ -1211,6 +1348,10 @@ _role:
|
||||
iconUrl: "圖示的URL"
|
||||
asBadge: "顯示為徽章"
|
||||
descriptionOfAsBadge: "開啟的話,角色圖示會顯示在用戶名旁邊。"
|
||||
isExplorable: "公開角色時間軸"
|
||||
descriptionOfIsExplorable: "若開啟則公開角色時間軸。若角色不是公開的,則無法公開時間軸。"
|
||||
displayOrder: "顯示順序"
|
||||
descriptionOfDisplayOrder: "數字越大,顯示在UI上的越上面。"
|
||||
canEditMembersByModerator: "允許編輯審查員的成員"
|
||||
descriptionOfCanEditMembersByModerator: "如果開啟,管理員與審查員都可以為使用者指派/解除指派該角色。如果關閉,則只有管理員可以執行。"
|
||||
priority: "優先級"
|
||||
@ -1225,6 +1366,7 @@ _role:
|
||||
canInvite: "發行實例邀請碼"
|
||||
canManageCustomEmojis: "管理自訂表情符號"
|
||||
driveCapacity: "雲端硬碟容量"
|
||||
alwaysMarkNsfw: "總是將檔案標記為NSFW"
|
||||
pinMax: "置頂貼文的最大數量"
|
||||
antennaMax: "可建立的天線數量"
|
||||
wordMuteMax: "靜音文字的最大字數"
|
||||
@ -1236,6 +1378,7 @@ _role:
|
||||
rateLimitFactor: "速率限制"
|
||||
descriptionOfRateLimitFactor: "值越小限制越少,值越大限制越多。"
|
||||
canHideAds: "不顯示廣告"
|
||||
canSearchNotes: "可否搜尋貼文"
|
||||
_condition:
|
||||
isLocal: "本地使用者"
|
||||
isRemote: "遠端使用者"
|
||||
@ -1245,6 +1388,8 @@ _role:
|
||||
followersMoreThanOrEq: "追隨者人數在~以上"
|
||||
followingLessThanOrEq: "追隨人數在~以下"
|
||||
followingMoreThanOrEq: "追隨人數在~以上"
|
||||
notesLessThanOrEq: "發布數在~以下"
|
||||
notesMoreThanOrEq: "發布數在~以上"
|
||||
and: "~和~"
|
||||
or: "~或~"
|
||||
not: "~否"
|
||||
@ -1417,9 +1562,11 @@ _channel:
|
||||
removeBanner: "移除橫幅圖像"
|
||||
featured: "熱門貼文"
|
||||
owned: "管理中"
|
||||
following: "關注中"
|
||||
following: "追隨中"
|
||||
usersCount: "有{n}人參與"
|
||||
notesCount: "有{n}個貼文"
|
||||
nameAndDescription: "名稱與說明"
|
||||
nameOnly: "僅名稱"
|
||||
_menuDisplay:
|
||||
sideFull: "側向"
|
||||
sideIcon: "側向(圖示)"
|
||||
@ -1531,47 +1678,47 @@ _ago:
|
||||
weeksAgo: "{n}周前"
|
||||
monthsAgo: "{n}個月前"
|
||||
yearsAgo: "{n}年前"
|
||||
invalid: "未發現"
|
||||
_time:
|
||||
second: "秒"
|
||||
minute: "分鐘"
|
||||
hour: "小時"
|
||||
day: "日"
|
||||
_tutorial:
|
||||
title: "CherryPick使用方法"
|
||||
step1_1: "歡迎!"
|
||||
step1_2: "此為「時間軸」頁面,它會按照時間順序顯示你「追隨」的人發出的「貼文」"
|
||||
step1_3: "由於你沒有發佈任何貼文,也沒有追隨任何人,所以你的時間軸目前是空的。"
|
||||
step2_1: "在發文或追隨其他人之前先讓我們設定一下個人資料吧。"
|
||||
step2_2: "提供一些關於自己的資訊來讓其他人更有追隨你的意願。"
|
||||
step3_1: "個人資料都設定好了嗎?"
|
||||
step3_2: "接下來,讓我們來試試看發個文,按一下畫面上的鉛筆圖示來開始"
|
||||
step3_3: "輸入完內容後,按視窗右上角的按鈕來發文"
|
||||
step3_4: "不知道該寫什麼內容嗎?試試看「開始使用CherryPick了」如何。"
|
||||
step4_1: "貼文發出去了嗎?"
|
||||
step4_2: "如果你的貼文出現在時間軸上,就代表發文成功。"
|
||||
step5_1: "現在試試看追隨其他人來讓你的時間軸變得更生動吧。"
|
||||
step5_2: "你會在{featured}上看到受歡迎的貼文,你也可以從列表中追隨你喜歡的人,或者在{explore}上找到熱門使用者。"
|
||||
step5_3: "想要追隨其他人,只要點擊他們的大頭貼並按「追隨」即可。"
|
||||
step5_4: "如果使用者的名字旁有鎖頭的圖示,代表他們需要手動核准你的追隨請求。"
|
||||
step6_1: "現在你可以在時間軸上看到其他用戶的貼文。"
|
||||
step6_2: "你也可以對別人的貼文作出「情感」,作出簡單的回覆。"
|
||||
step6_3: "在他人的貼文按下\"+\"圖標,即可選擇喜好的表情符號進行回應。"
|
||||
step7_1: "以上為CherryPick的基本操作說明,教學在此告一段落。辛苦了。"
|
||||
step7_2: "歡迎到{help}來瞭解更多CherryPick相關介紹。"
|
||||
step7_3: "那麼,祝您在CherryPick玩的開心~ 🚀"
|
||||
step8_1: "最後,要不要試試看啟用推播通知呢?"
|
||||
step8_2: "透過接收推播通知,即使沒有打開CherryPick,您也會知道反應、追隨與提及的情況。"
|
||||
step8_3: "通知的設定可以在之後變更。"
|
||||
_timelineTutorial:
|
||||
title: "Misskey的使用方法"
|
||||
step1_1: "這個畫面是「時間軸」。發布到{name}的「貼文」按照時間順序顯示。"
|
||||
step1_2: "時間軸有多種類型,例如在「首頁時間軸」中流動的是您追蹤的人的貼文;而在「本地時間軸」流動的是{name}全體的貼文。"
|
||||
step2_1: "試試看,發布個貼文吧!按畫面上鉛筆圖示的按鈕開啟表格。"
|
||||
step2_2: "初次貼文的內容,建議包括自我介紹以及「開始使用{name}」。"
|
||||
step3_1: "貼文發出去了嗎?"
|
||||
step3_2: "如果你的貼文出現在時間軸上,就代表發文成功。"
|
||||
step4_1: "可以對貼文標記「反應」。"
|
||||
step4_2: "點擊貼文的「+」圖示,即可選擇喜好的表情符號來標記反應。"
|
||||
_2fa:
|
||||
alreadyRegistered: "此設備已經被註冊過了"
|
||||
registerDevice: "註冊裝置"
|
||||
registerKey: "註冊鍵"
|
||||
registerTOTP: "開始設定驗證應用程式"
|
||||
passwordToTOTP: "請輸入密碼"
|
||||
step1: "首先,在您的設備上安裝二步驗證程式,例如{a}或{b}。"
|
||||
step2: "然後,掃描螢幕上的QR code。"
|
||||
step2Click: "點擊QR code,可以使用設備上安裝的驗證應用程式或金鑰環進行註冊。"
|
||||
step2Url: "在桌面版應用中,請輸入以下的URL:"
|
||||
step3Title: "輸入驗證碼"
|
||||
step3: "輸入您的App提供的權杖以完成設定。"
|
||||
step4: "從現在開始,任何登入操作都將要求您提供權杖。"
|
||||
securityKeyNotSupported: "您的瀏覽器不支援安全金鑰。"
|
||||
registerTOTPBeforeKey: "要註冊安全金鑰・Passkey,請先設定驗證應用程式。"
|
||||
securityKeyInfo: "您可以設定使用支援FIDO2的硬體安全鎖、終端設備的指纹認證或者PIN碼來登入。"
|
||||
chromePasskeyNotSupported: "目前不支援Chrome的Passkey。"
|
||||
registerSecurityKey: "註冊安全金鑰・Passkey"
|
||||
securityKeyName: "輸入金鑰名稱"
|
||||
tapSecurityKey: "按照瀏覽器的說明操作,註冊安全金鑰和Passkey。"
|
||||
removeKey: "刪除安全金鑰"
|
||||
removeKeyConfirm: "要刪除{name}嗎?"
|
||||
whyTOTPOnlyRenew: "如果註冊了安全金鑰,則無法解除驗證應用程式的設定。"
|
||||
renewTOTP: "重設驗證應用程式"
|
||||
renewTOTPConfirm: "目前驗證應用程式的驗證碼將無法使用。"
|
||||
renewTOTPOk: "重設"
|
||||
renewTOTPCancel: "現在不要"
|
||||
_permissions:
|
||||
"read:account": "查看我的帳戶資訊"
|
||||
"write:account": "更改我的帳戶資訊"
|
||||
@ -1590,8 +1737,8 @@ _permissions:
|
||||
"write:notes": "撰寫或刪除貼文"
|
||||
"read:notifications": "查看通知"
|
||||
"write:notifications": "編輯通知"
|
||||
"read:reactions": "查看情感"
|
||||
"write:reactions": "編輯情感"
|
||||
"read:reactions": "查看反應"
|
||||
"write:reactions": "編輯反應"
|
||||
"write:votes": "投票"
|
||||
"read:pages": "顯示頁面"
|
||||
"write:pages": "編輯頁面"
|
||||
@ -1644,7 +1791,7 @@ _widgets:
|
||||
photos: "照片"
|
||||
digitalClock: "電子時鐘"
|
||||
unixClock: "UNIX時間"
|
||||
federation: "聯邦宇宙"
|
||||
federation: "站台聯邦"
|
||||
instanceCloud: "實例雲"
|
||||
postForm: "發佈窗口"
|
||||
slideshow: "幻燈片"
|
||||
@ -1695,8 +1842,8 @@ _visibility:
|
||||
followersDescription: "僅發送至關注者"
|
||||
specified: "指定使用者"
|
||||
specifiedDescription: "僅發送至指定使用者"
|
||||
localOnly: "僅限本地"
|
||||
localOnlyDescription: "對遠端使用者隱藏"
|
||||
disableFederation: "停用聯邦"
|
||||
disableFederationDescription: "不要傳遞給其他實例"
|
||||
_postForm:
|
||||
replyPlaceholder: "回覆此貼文..."
|
||||
quotePlaceholder: "引用此貼文..."
|
||||
@ -1758,7 +1905,7 @@ _instanceCharts:
|
||||
_timelines:
|
||||
home: "首頁"
|
||||
local: "本地"
|
||||
social: "社群"
|
||||
social: "社交"
|
||||
global: "公開"
|
||||
_play:
|
||||
new: "新增Play"
|
||||
@ -1856,6 +2003,7 @@ _notification:
|
||||
receiveFollowRequest: "已收到追隨請求"
|
||||
followRequestAccepted: "追隨請求已接受"
|
||||
groupInvited: "加入社群邀請"
|
||||
achievementEarned: "獲得成就"
|
||||
app: "應用程式通知"
|
||||
_actions:
|
||||
followBack: "回關"
|
||||
@ -1888,3 +2036,27 @@ _deck:
|
||||
channel: "頻道"
|
||||
mentions: "提及"
|
||||
direct: "指定使用者"
|
||||
roleTimeline: "角色時間軸"
|
||||
_dialog:
|
||||
charactersExceeded: "已超過最大字數!現在 {current} / 限制 {max}"
|
||||
charactersBelow: "低於最少字數!現在 {current} / 限制 {max}"
|
||||
_disabledTimeline:
|
||||
title: "停用的時間軸"
|
||||
description: "目前的角色無法使用這個時間軸。"
|
||||
_drivecleaner:
|
||||
orderBySizeDesc: "檔案由大到小"
|
||||
orderByCreatedAtAsc: "依照加入的日期順序"
|
||||
_webhookSettings:
|
||||
createWebhook: "建立 Webhook"
|
||||
name: "名稱"
|
||||
secret: "秘密"
|
||||
events: "什麼時候運行Webhook"
|
||||
active: "已啟用"
|
||||
_events:
|
||||
follow: "當你追隨時"
|
||||
followed: "當被追隨時"
|
||||
note: "當發布貼文時"
|
||||
reply: "當收到回覆時"
|
||||
renote: "當被轉發時"
|
||||
reaction: "當獲得反應時"
|
||||
mention: "當被提到時"
|
||||
|
28
package.json
28
package.json
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "cherrypick",
|
||||
"version": "13.5.6-cp-3.1.0",
|
||||
"version": "13.12.1",
|
||||
"codename": "nasubi",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/kokonect-link/cherrypick.git"
|
||||
},
|
||||
"packageManager": "pnpm@7.27.0",
|
||||
"packageManager": "pnpm@8.3.1",
|
||||
"workspaces": [
|
||||
"packages/frontend",
|
||||
"packages/backend",
|
||||
@ -16,10 +16,12 @@
|
||||
"scripts": {
|
||||
"build-pre": "node ./scripts/build-pre.js",
|
||||
"build": "pnpm build-pre && pnpm -r build && pnpm gulp",
|
||||
"start": "cd packages/backend && node ./built/boot/index.js",
|
||||
"build-storybook": "pnpm --filter frontend build-storybook",
|
||||
"start": "pnpm check:connect && cd packages/backend && node ./built/boot/index.js",
|
||||
"start:test": "cd packages/backend && cross-env NODE_ENV=test node ./built/boot/index.js",
|
||||
"init": "pnpm migrate",
|
||||
"migrate": "cd packages/backend && pnpm migrate",
|
||||
"check:connect": "cd packages/backend && pnpm check:connect",
|
||||
"migrateandstart": "pnpm migrate && pnpm start",
|
||||
"gulp": "pnpm exec gulp build",
|
||||
"watch": "pnpm dev",
|
||||
@ -30,8 +32,8 @@
|
||||
"e2e": "pnpm start-server-and-test start:test http://localhost:61812 cy:run",
|
||||
"jest": "cd packages/backend && pnpm jest",
|
||||
"jest-and-coverage": "cd packages/backend && pnpm jest-and-coverage",
|
||||
"test": "pnpm jest",
|
||||
"test-and-coverage": "pnpm jest-and-coverage",
|
||||
"test": "pnpm -r test",
|
||||
"test-and-coverage": "pnpm -r test-and-coverage",
|
||||
"format": "pnpm exec gulp format",
|
||||
"clean": "node ./scripts/clean.js",
|
||||
"clean-all": "node ./scripts/clean-all.js",
|
||||
@ -50,20 +52,20 @@
|
||||
"gulp-replace": "1.1.4",
|
||||
"gulp-terser": "2.1.0",
|
||||
"js-yaml": "4.1.0",
|
||||
"mitt": "3.0.0",
|
||||
"typescript": "4.9.5"
|
||||
"typescript": "5.0.4",
|
||||
"mitt": "3.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/gulp": "4.0.10",
|
||||
"@types/gulp-rename": "2.0.1",
|
||||
"@typescript-eslint/eslint-plugin": "5.51.0",
|
||||
"@typescript-eslint/parser": "5.51.0",
|
||||
"@typescript-eslint/eslint-plugin": "5.59.2",
|
||||
"@typescript-eslint/parser": "5.59.2",
|
||||
"cross-env": "7.0.3",
|
||||
"cypress": "12.5.1",
|
||||
"eslint": "8.33.0",
|
||||
"start-server-and-test": "1.15.3"
|
||||
"cypress": "12.11.0",
|
||||
"eslint": "8.39.0",
|
||||
"start-server-and-test": "2.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@tensorflow/tfjs-core": "4.2.0"
|
||||
"@tensorflow/tfjs-core": "4.4.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
module.exports = {
|
||||
parserOptions: {
|
||||
tsconfigRootDir: __dirname,
|
||||
project: ['./tsconfig.json'],
|
||||
project: ['./tsconfig.json', './test/tsconfig.json'],
|
||||
},
|
||||
extends: [
|
||||
'../shared/.eslintrc.js',
|
||||
|
@ -1,25 +1,23 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/swcrc",
|
||||
"jsc": {
|
||||
"parser": {
|
||||
"syntax": "typescript",
|
||||
"dynamicImport": true,
|
||||
"decorators": true
|
||||
},
|
||||
"transform": {
|
||||
"legacyDecorator": true,
|
||||
"decoratorMetadata": true
|
||||
},
|
||||
"$schema": "https://json.schemastore.org/swcrc",
|
||||
"jsc": {
|
||||
"parser": {
|
||||
"syntax": "typescript",
|
||||
"dynamicImport": true,
|
||||
"decorators": true
|
||||
},
|
||||
"transform": {
|
||||
"legacyDecorator": true,
|
||||
"decoratorMetadata": true
|
||||
},
|
||||
"experimental": {
|
||||
"keepImportAssertions": true
|
||||
},
|
||||
"baseUrl": ".",
|
||||
"baseUrl": "src",
|
||||
"paths": {
|
||||
"@/*": [
|
||||
"./src/*"
|
||||
]
|
||||
"@/*": ["*"]
|
||||
},
|
||||
"target": "es2021"
|
||||
},
|
||||
"minify": false
|
||||
},
|
||||
"minify": false
|
||||
}
|
||||
|
@ -19,6 +19,6 @@
|
||||
</head>
|
||||
<body>
|
||||
<redoc spec-url="/api.json" expand-responses="200" expand-single-schema-field="true"></redoc>
|
||||
<script src="https://cdn.jsdelivr.net/npm/redoc@2.0.0-rc.50/bundles/redoc.standalone.js" integrity="sha256-WJbngBWN9vp6vkEuzeoSj5tE5saW9Hfj6/SinkzhL2s=" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
BIN
packages/backend/assets/tabler-badges/medal.png
Normal file
BIN
packages/backend/assets/tabler-badges/medal.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
17
packages/backend/check_connect.js
Normal file
17
packages/backend/check_connect.js
Normal file
@ -0,0 +1,17 @@
|
||||
import Redis from 'ioredis';
|
||||
import { loadConfig } from './built/config.js';
|
||||
|
||||
const config = loadConfig();
|
||||
const redis = new Redis({
|
||||
port: config.redis.port,
|
||||
host: config.redis.host,
|
||||
family: config.redis.family == null ? 0 : config.redis.family,
|
||||
password: config.redis.pass,
|
||||
keyPrefix: `${config.redis.prefix}:`,
|
||||
db: config.redis.db ?? 0,
|
||||
});
|
||||
|
||||
redis.on('connect', () => redis.disconnect());
|
||||
redis.on('error', (e) => {
|
||||
throw e;
|
||||
});
|
@ -20,7 +20,7 @@ module.exports = {
|
||||
// collectCoverage: false,
|
||||
|
||||
// An array of glob patterns indicating a set of files for which coverage information should be collected
|
||||
collectCoverageFrom: ['src/**/*.ts'],
|
||||
collectCoverageFrom: ['src/**/*.ts', '!src/**/*.test.ts'],
|
||||
|
||||
// The directory where Jest should output its coverage files
|
||||
coverageDirectory: "coverage",
|
||||
@ -91,7 +91,7 @@ module.exports = {
|
||||
// See https://github.com/swc-project/jest/issues/64#issuecomment-1029753225
|
||||
// TODO: Use `--allowImportingTsExtensions` on TypeScript 5.0 so that we can
|
||||
// directly import `.ts` files without this hack.
|
||||
'^(\\.{1,2}/.*)\\.js$': '$1',
|
||||
'^((?:\\.{1,2}|[A-Z:])*/.*)\\.js$': '$1',
|
||||
},
|
||||
|
||||
// An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader
|
||||
@ -159,7 +159,8 @@ module.exports = {
|
||||
// The glob patterns Jest uses to detect test files
|
||||
testMatch: [
|
||||
"<rootDir>/test/unit/**/*.ts",
|
||||
//"<rootDir>/test/e2e/**/*.ts"
|
||||
"<rootDir>/src/**/*.test.ts",
|
||||
"<rootDir>/test/e2e/**/*.ts",
|
||||
],
|
||||
|
||||
// An array of regexp pattern strings that are matched against all test paths, matched tests are skipped
|
||||
@ -206,4 +207,13 @@ module.exports = {
|
||||
// watchman: true,
|
||||
|
||||
extensionsToTreatAsEsm: ['.ts'],
|
||||
|
||||
testTimeout: 60000,
|
||||
|
||||
// Let Jest kill the test worker whenever it grows too much
|
||||
// (It seems there's a known memory leak issue in Node.js' vm.Script used by Jest)
|
||||
// https://github.com/facebook/jest/issues/11956
|
||||
maxWorkers: 1, // Make it use worker (that can be killed and restarted)
|
||||
logHeapUsage: true, // To debug when out-of-memory happens on CI
|
||||
workerIdleMemoryLimit: '1GiB', // Limit the worker to 1GB (GitHub Workflows dies at 2GB)
|
||||
};
|
||||
|
@ -0,0 +1,17 @@
|
||||
export class increaseSmtpCharLimit1654589815249 {
|
||||
name = 'increaseSmtpCharLimit1654589815249'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "smtpHost" TYPE character varying(256)`);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "smtpUser" TYPE character varying(256)`);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "smtpPass" TYPE character varying(256)`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
// It's safe to keep extended character limit, rather than shrinking with risk of breaking settings
|
||||
|
||||
// await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "smtpHost" TYPE character varying(128)`);
|
||||
// await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "smtpUser" TYPE character varying(128)`);
|
||||
// await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "smtpPass" TYPE character varying(128)`);
|
||||
}
|
||||
}
|
@ -1,17 +1,17 @@
|
||||
export class multipleTranslationServices1660183643857 {
|
||||
name = 'multipleTranslationServices1660183643857'
|
||||
name = 'multipleTranslationServices1660183643857'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "translatorType" character varying(32)`);
|
||||
await queryRunner.query('SELECT "deeplAuthKey" FROM "meta" where "deeplAuthKey" is not null')
|
||||
.then(deeplAuthKey => {
|
||||
if (deeplAuthKey.length > 0) {
|
||||
return queryRunner.query('UPDATE "meta" SET "translatorType" = "DeepL"');
|
||||
}
|
||||
})
|
||||
}
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "translatorType" character varying(32)`);
|
||||
await queryRunner.query('SELECT "deeplAuthKey" FROM "meta" where "deeplAuthKey" is not null')
|
||||
.then(deeplAuthKey => {
|
||||
if (deeplAuthKey.length > 0) {
|
||||
return queryRunner.query('UPDATE "meta" SET "translatorType" = "DeepL"');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "translatorType"`);
|
||||
}
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "translatorType"`);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,16 @@
|
||||
|
||||
export class addRenoteMuting1665091090561 {
|
||||
constructor() {
|
||||
this.name = 'addRenoteMuting1665091090561';
|
||||
}
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`CREATE TABLE "renote_muting" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "muteeId" character varying(32) NOT NULL, "muterId" character varying(32) NOT NULL, CONSTRAINT "PK_renoteMuting_id" PRIMARY KEY ("id"))`);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_renote_muting_createdAt" ON "muting" ("createdAt") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_renote_muting_muteeId" ON "muting" ("muteeId") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_renote_muting_muterId" ON "muting" ("muterId") `);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
export class fixforeignkeyreports1675053125067 {
|
||||
name = 'fixforeignkeyreports1675053125067'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`CREATE INDEX IF NOT EXISTS "IDX_a9021cc2e1feb5f72d3db6e9f5" ON "abuse_user_report" ("targetUserId")`);
|
||||
await queryRunner.query(`DELETE FROM "abuse_user_report" WHERE "targetUserId" NOT IN (SELECT "id" FROM "user")`);
|
||||
await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP CONSTRAINT IF EXISTS "FK_a9021cc2e1feb5f72d3db6e9f5f"`);
|
||||
await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD CONSTRAINT "FK_a9021cc2e1feb5f72d3db6e9f5f" FOREIGN KEY ("targetUserId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`DROP INDEX "public"."IDX_a9021cc2e1feb5f72d3db6e9f5"`);
|
||||
await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP CONSTRAINT "FK_a9021cc2e1feb5f72d3db6e9f5f"`);
|
||||
}
|
||||
}
|
@ -1,9 +1,9 @@
|
||||
export class ad1676438468213 {
|
||||
name = 'ad1676438468213';
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "ad" ADD "startAt" TIMESTAMP WITH TIME ZONE NOT NULL`);
|
||||
await queryRunner.query(`ALTER TABLE "ad" ADD "startsAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now()`);
|
||||
}
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "role" DROP COLUMN "startAt"`);
|
||||
await queryRunner.query(`ALTER TABLE "ad" DROP COLUMN "startsAt"`);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,13 @@
|
||||
export class roleAssignmentExpiresAt1677570181236 {
|
||||
name = 'roleAssignmentExpiresAt1677570181236'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "role_assignment" ADD "expiresAt" TIMESTAMP WITH TIME ZONE`);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_539b6c08c05067599743bb6389" ON "role_assignment" ("expiresAt") `);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`DROP INDEX "public"."IDX_539b6c08c05067599743bb6389"`);
|
||||
await queryRunner.query(`ALTER TABLE "role_assignment" DROP COLUMN "expiresAt"`);
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
export class perNoteReactionAcceptance1678164627293 {
|
||||
name = 'perNoteReactionAcceptance1678164627293'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "note" ADD "reactionAcceptance" character varying(64)`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "reactionAcceptance"`);
|
||||
}
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
export class tweakVarcharLength1678426061773 {
|
||||
name = 'tweakVarcharLength1678426061773'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "name" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "maintainerName" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "maintainerEmail" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "langs" TYPE character varying(1024) array`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "pinnedUsers" TYPE character varying(1024) array`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "hiddenTags" TYPE character varying(1024) array`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "blockedHosts" TYPE character varying(1024) array`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "themeColor" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "mascotImageUrl" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "bannerUrl" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "backgroundImageUrl" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "logoImageUrl" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "errorImageUrl" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "iconUrl" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "hcaptchaSiteKey" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "hcaptchaSecretKey" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "recaptchaSiteKey" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "recaptchaSecretKey" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "turnstileSiteKey" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "turnstileSecretKey" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "summalyProxy" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "email" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "smtpHost" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "smtpUser" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "smtpPass" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "swPublicKey" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "swPrivateKey" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "deeplAuthKey" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" RENAME COLUMN "ToSUrl" TO "termsOfServiceUrl"`);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "termsOfServiceUrl" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "repositoryUrl" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "feedbackUrl" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "objectStorageBucket" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "objectStoragePrefix" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "objectStorageBaseUrl" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "objectStorageEndpoint" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "objectStorageRegion" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "objectStorageAccessKey" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ALTER COLUMN "objectStorageSecretKey" TYPE character varying(1024)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "flash" ALTER COLUMN "script" TYPE character varying(65536)`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" ALTER COLUMN "___readWrite" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" ALTER COLUMN "___read" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" ALTER COLUMN "___write" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" ALTER COLUMN "___registeredWithinWeek" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" ALTER COLUMN "___registeredWithinMonth" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" ALTER COLUMN "___registeredWithinYear" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" ALTER COLUMN "___registeredOutsideWeek" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" ALTER COLUMN "___registeredOutsideMonth" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart__active_users" ALTER COLUMN "___registeredOutsideYear" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart_day__active_users" ALTER COLUMN "___readWrite" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart_day__active_users" ALTER COLUMN "___read" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart_day__active_users" ALTER COLUMN "___write" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart_day__active_users" ALTER COLUMN "___registeredWithinWeek" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart_day__active_users" ALTER COLUMN "___registeredWithinMonth" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart_day__active_users" ALTER COLUMN "___registeredWithinYear" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart_day__active_users" ALTER COLUMN "___registeredOutsideWeek" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart_day__active_users" ALTER COLUMN "___registeredOutsideMonth" TYPE integer`);
|
||||
await queryRunner.query(`ALTER TABLE "__chart_day__active_users" ALTER COLUMN "___registeredOutsideYear" TYPE integer`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" RENAME COLUMN "termsOfServiceUrl" TO "ToSUrl"`);
|
||||
}
|
||||
}
|
13
packages/backend/migration/1678427401214-remove-unused.js
Normal file
13
packages/backend/migration/1678427401214-remove-unused.js
Normal file
@ -0,0 +1,13 @@
|
||||
export class removeUnused1678427401214 {
|
||||
name = 'removeUnused1678427401214'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedPages"`);
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedClipId"`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedClipId" character varying(32)`);
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedPages" character varying(512) array NOT NULL DEFAULT '{/featured,/channels,/explore,/pages,/about-misskey}'`);
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
export class roleDisplayOrder1678602320354 {
|
||||
name = 'roleDisplayOrder1678602320354'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "role" ADD "displayOrder" integer NOT NULL DEFAULT '0'`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "role" DROP COLUMN "displayOrder"`);
|
||||
}
|
||||
}
|
11
packages/backend/migration/1678694614599-sensitive-words.js
Normal file
11
packages/backend/migration/1678694614599-sensitive-words.js
Normal file
@ -0,0 +1,11 @@
|
||||
export class sensitiveWords1678694614599 {
|
||||
name = 'sensitiveWords1678694614599'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "sensitiveWords" character varying(1024) array NOT NULL DEFAULT '{}'`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "sensitiveWords"`);
|
||||
}
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
export class retentionDateKey1678869617549 {
|
||||
name = 'retentionDateKey1678869617549'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`TRUNCATE TABLE "retention_aggregation"`, undefined);
|
||||
await queryRunner.query(`ALTER TABLE "retention_aggregation" ADD "dateKey" character varying(512) NOT NULL`);
|
||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_f7c3576b37bd2eec966ae24477" ON "retention_aggregation" ("dateKey") `);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`DROP INDEX "public"."IDX_f7c3576b37bd2eec966ae24477"`);
|
||||
await queryRunner.query(`ALTER TABLE "retention_aggregation" DROP COLUMN "dateKey"`);
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
export class addPropsForCustomEmoji1678945242650 {
|
||||
name = 'addPropsForCustomEmoji1678945242650'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "emoji" ADD "license" character varying(1024)`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "emoji" DROP COLUMN "license"`);
|
||||
}
|
||||
}
|
23
packages/backend/migration/1678953978856-clip-favorite.js
Normal file
23
packages/backend/migration/1678953978856-clip-favorite.js
Normal file
@ -0,0 +1,23 @@
|
||||
export class clipFavorite1678953978856 {
|
||||
name = 'clipFavorite1678953978856'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`CREATE TABLE "clip_favorite" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "clipId" character varying(32) NOT NULL, CONSTRAINT "PK_1b539f43906f05ebcabe752a977" PRIMARY KEY ("id"))`);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_25a31662b0b0cc9af6549a9d71" ON "clip_favorite" ("userId") `);
|
||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_b1754a39d0b281e07ed7c078ec" ON "clip_favorite" ("userId", "clipId") `);
|
||||
await queryRunner.query(`ALTER TABLE "clip" ADD "lastClippedAt" TIMESTAMP WITH TIME ZONE`);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_a3eac04ae2aa9e221e7596114a" ON "clip" ("lastClippedAt") `);
|
||||
await queryRunner.query(`ALTER TABLE "clip_favorite" ADD CONSTRAINT "FK_25a31662b0b0cc9af6549a9d711" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
||||
await queryRunner.query(`ALTER TABLE "clip_favorite" ADD CONSTRAINT "FK_fce61c7986cee54393e79f1d849" FOREIGN KEY ("clipId") REFERENCES "clip"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "clip_favorite" DROP CONSTRAINT "FK_fce61c7986cee54393e79f1d849"`);
|
||||
await queryRunner.query(`ALTER TABLE "clip_favorite" DROP CONSTRAINT "FK_25a31662b0b0cc9af6549a9d711"`);
|
||||
await queryRunner.query(`DROP INDEX "public"."IDX_a3eac04ae2aa9e221e7596114a"`);
|
||||
await queryRunner.query(`ALTER TABLE "clip" DROP COLUMN "lastClippedAt"`);
|
||||
await queryRunner.query(`DROP INDEX "public"."IDX_b1754a39d0b281e07ed7c078ec"`);
|
||||
await queryRunner.query(`DROP INDEX "public"."IDX_25a31662b0b0cc9af6549a9d71"`);
|
||||
await queryRunner.query(`DROP TABLE "clip_favorite"`);
|
||||
}
|
||||
}
|
17
packages/backend/migration/1679309757174-antenna-active.js
Normal file
17
packages/backend/migration/1679309757174-antenna-active.js
Normal file
@ -0,0 +1,17 @@
|
||||
export class antennaActive1679309757174 {
|
||||
name = 'antennaActive1679309757174'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "antenna" ADD "lastUsedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT 'now'`);
|
||||
await queryRunner.query(`ALTER TABLE "antenna" ADD "isActive" boolean NOT NULL DEFAULT true`);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_084c2abb8948ef59a37dce6ac1" ON "antenna" ("lastUsedAt") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_36ef5192a1ce55ed0e40aa4db5" ON "antenna" ("isActive") `);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`DROP INDEX "public"."IDX_36ef5192a1ce55ed0e40aa4db5"`);
|
||||
await queryRunner.query(`DROP INDEX "public"."IDX_084c2abb8948ef59a37dce6ac1"`);
|
||||
await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "isActive"`);
|
||||
await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "lastUsedAt"`);
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
export class enableChartsForRemoteUser1679639483253 {
|
||||
name = 'enableChartsForRemoteUser1679639483253'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "enableChartsForRemoteUser" boolean NOT NULL DEFAULT true`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableChartsForRemoteUser"`);
|
||||
}
|
||||
}
|
11
packages/backend/migration/1679651580149-cleanup.js
Normal file
11
packages/backend/migration/1679651580149-cleanup.js
Normal file
@ -0,0 +1,11 @@
|
||||
export class cleanup1679651580149 {
|
||||
name = 'cleanup1679651580149'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "useStarForReactionFallback"`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "useStarForReactionFallback" boolean NOT NULL DEFAULT false`);
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
export class enableChartsForFederatedInstances1679652081809 {
|
||||
name = 'enableChartsForFederatedInstances1679652081809'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" ADD "enableChartsForFederatedInstances" boolean NOT NULL DEFAULT true`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableChartsForFederatedInstances"`);
|
||||
}
|
||||
}
|
21
packages/backend/migration/1680228513388-channelFavorite.js
Normal file
21
packages/backend/migration/1680228513388-channelFavorite.js
Normal file
@ -0,0 +1,21 @@
|
||||
export class channelFavorite1680228513388 {
|
||||
name = 'channelFavorite1680228513388'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`CREATE TABLE "channel_favorite" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "channelId" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, CONSTRAINT "PK_59bddfd54d48689a298d41af00c" PRIMARY KEY ("id")); COMMENT ON COLUMN "channel_favorite"."createdAt" IS 'The created date of the ChannelFavorite.'`);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_735a5544f9249d412255f47f95" ON "channel_favorite" ("createdAt") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_d3ca0db011b75ac2a940a2337d" ON "channel_favorite" ("channelId") `);
|
||||
await queryRunner.query(`CREATE INDEX "IDX_8302bd27226605ece14842fb25" ON "channel_favorite" ("userId") `);
|
||||
await queryRunner.query(`ALTER TABLE "channel_favorite" ADD CONSTRAINT "FK_d3ca0db011b75ac2a940a2337d2" FOREIGN KEY ("channelId") REFERENCES "channel"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
||||
await queryRunner.query(`ALTER TABLE "channel_favorite" ADD CONSTRAINT "FK_8302bd27226605ece14842fb25a" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "channel_favorite" DROP CONSTRAINT "FK_8302bd27226605ece14842fb25a"`);
|
||||
await queryRunner.query(`ALTER TABLE "channel_favorite" DROP CONSTRAINT "FK_d3ca0db011b75ac2a940a2337d2"`);
|
||||
await queryRunner.query(`DROP INDEX "public"."IDX_8302bd27226605ece14842fb25"`);
|
||||
await queryRunner.query(`DROP INDEX "public"."IDX_d3ca0db011b75ac2a940a2337d"`);
|
||||
await queryRunner.query(`DROP INDEX "public"."IDX_735a5544f9249d412255f47f95"`);
|
||||
await queryRunner.query(`DROP TABLE "channel_favorite"`);
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
export class channelNotePining1680238118084 {
|
||||
name = 'channelNotePining1680238118084'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "channel" ADD "pinnedNoteIds" character varying(128) array NOT NULL DEFAULT '{}'`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`ALTER TABLE "channel" DROP COLUMN "pinnedNoteIds"`);
|
||||
}
|
||||
}
|
10
packages/backend/migration/1680491187535-cleanup.js
Normal file
10
packages/backend/migration/1680491187535-cleanup.js
Normal file
@ -0,0 +1,10 @@
|
||||
export class cleanup1680491187535 {
|
||||
name = 'cleanup1680491187535'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`DROP TABLE "antenna_note" `);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user