Compare commits

..

27 Commits

Author SHA1 Message Date
tamaina
a926e84b14 Merge branch 'develop' into fetch-outbox 2023-09-16 08:33:23 +00:00
tamaina
df636659e2 Merge branch 'develop' into fetch-outbox 2023-09-11 06:32:04 +00:00
tamaina
888cd2eb9f Merge branch 'develop' into fetch-outbox 2023-08-24 06:23:05 +00:00
Kagami Sascha Rosylight
ff4b3d2d9e Merge branch 'develop' into fetch-outbox 2023-08-06 00:04:26 +02:00
tamaina
60fd848182 configable 2023-07-15 14:24:05 +00:00
tamaina
76def0032e ? 2023-07-15 14:06:36 +00:00
tamaina
da0804eb17 fix type error 2023-07-15 14:05:05 +00:00
tamaina
6b26ce3768 Merge branch 'develop' into fetch-outbox 2023-07-15 14:04:54 +00:00
tamaina
5a0d7d41e6 Merge branch 'develop' into fetch-outbox 2023-07-14 13:36:04 +09:00
Kagami Sascha Rosylight
08e2b6ee32 perform only create activities 2023-07-09 23:34:07 +02:00
Kagami Sascha Rosylight
ca0c673b44 Update activitypub.ts 2023-07-09 22:39:02 +02:00
Kagami Sascha Rosylight
70bb9a4d1f Update activitypub.ts 2023-07-09 22:36:41 +02:00
Kagami Sascha Rosylight
b93046c071 Update activitypub.ts 2023-07-09 22:36:27 +02:00
Kagami Sascha Rosylight
f34f0dfcb6 Merge remote-tracking branch 'origin/develop' into fetch-outbox 2023-07-09 22:36:14 +02:00
Kagami Sascha Rosylight
26040c2bb0 Update activitypub.ts 2023-07-09 22:36:07 +02:00
Kagami Sascha Rosylight
bdbad4605b Merge branch 'develop' into fetch-outbox 2023-07-09 15:04:12 +02:00
Kagami Sascha Rosylight
ec62fe02b1 Merge branch 'develop' into fetch-outbox 2023-07-09 00:08:54 +02:00
Kagami Sascha Rosylight
a74af07992 reformat 2023-07-08 15:48:10 +02:00
Kagami Sascha Rosylight
aa78c29e8c Merge remote-tracking branch 'origin/develop' into fetch-outbox 2023-07-08 15:47:00 +02:00
Kagami Sascha Rosylight
45d0b46e7a typo 2023-07-08 15:44:27 +02:00
Kagami Sascha Rosylight
6087d02047 adjust tests 2023-07-08 15:40:48 +02:00
Kagami Sascha Rosylight
7bf318ae98 remove extra resolving in tests 2023-07-08 15:13:23 +02:00
tamaina
71d74676f0 Merge branch 'develop' into fetch-outbox 2023-07-07 14:54:28 +09:00
tamaina
5077df2973 100 -> 15 2023-07-07 05:02:28 +00:00
Kagami Sascha Rosylight
a1388a8444 Update CHANGELOG.md 2023-07-06 03:39:16 +02:00
Kagami Sascha Rosylight
630e97bd06 Merge remote-tracking branch 'origin/develop' into fetch-outbox 2023-07-06 03:38:13 +02:00
Kagami Sascha Rosylight
2e1de4fca9 feat(backend): fetch the first page of outbox when resolving Person 2023-07-06 02:56:17 +02:00
2133 changed files with 30328 additions and 121806 deletions

View File

@@ -2,4 +2,3 @@
POSTGRES_PASSWORD=example-misskey-pass
POSTGRES_USER=example-misskey-user
POSTGRES_DB=misskey
DATABASE_URL="postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}"

View File

@@ -95,27 +95,15 @@ redis:
# #prefix: example-prefix
# #db: 1
#redisForTimelines:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# ┌───────────────────────────┐
#───┘ MeiliSearch configuration └─────────────────────────────
# You can set scope to local (default value) or global
# (include notes from remote).
#meilisearch:
# host: meilisearch
# port: 7700
# apiKey: ''
# ssl: true
# index: ''
# scope: local
# ┌───────────────┐
#───┘ ID generation └───────────────────────────────────────────
@@ -151,7 +139,7 @@ id: 'aidx'
# Job rate limiter
# deliverJobPerSec: 128
# inboxJobPerSec: 32
# inboxJobPerSec: 16
# Job attempts
# deliverJobMaxAttempts: 12
@@ -184,9 +172,6 @@ proxyRemoteFiles: true
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
# For security reasons, uploading attachments from the intranet is prohibited,
# but exceptions can be made from the following settings. Default value is "undefined".
# Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)).
#allowedPrivateNetworks: [
# '127.0.0.1/32'
#]

View File

@@ -2,63 +2,6 @@
# Misskey configuration
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ┌──────────────────────────────┐
#───┘ a boring but important thing └────────────────────────────
#
# First of all, let me tell you a story that may possibly be
# boring to you and possibly important to you.
#
# Misskey is licensed under the AGPLv3 license. This license is
# known to be often misunderstood. Please read the following
# instructions carefully and select the appropriate option so
# that you do not negligently cause a license violation.
#
# --------
# Option 1: If you host Misskey AS-IS (without any changes to
# the source code. forks are not included).
#
# Step 1: Congratulations! You don't need to do anything.
# --------
# Option 2: If you have made changes to the source code (forks
# are included) and publish a Git repository of source
# code. There should be no access restrictions on
# this repository. Strictly speaking, it doesn't have
# to be a Git repository, but you'll probably use Git!
#
# Step 1: Build and run the Misskey server first.
# Step 2: Open <https://your.misskey.example/admin/settings> in
# your browser with the administrator account.
# Step 3: Enter the URL of your Git repository in the
# "Repository URL" field.
# --------
# Option 3: If neither of the above applies to you.
# (In this case, the source code should be published
# on the Misskey interface. IT IS NOT ENOUGH TO
# DISCLOSE THE SOURCE CODE WEHN A USER REQUESTS IT BY
# E-MAIL OR OTHER MEANS. If you are not satisfied
# with this, it is recommended that you read the
# license again carefully. Anyway, enabling this
# option will automatically generate and publish a
# tarball at build time, protecting you from
# inadvertent license violations. (There is no legal
# guarantee, of course.) The tarball will generated
# from the root directory of your codebase. So it is
# also recommended to check <built/tarball> directory
# once after building and before activating the server
# to avoid ACCIDENTAL LEAKING OF SENSITIVE INFORMATION.
# To prevent certain files from being included in the
# tarball, add a glob pattern after line 15 in
# <scripts/tarball.mjs>. DO NOT FORGET TO BUILD AFTER
# ENABLING THIS OPTION!)
#
# Step 1: Uncomment the following line.
#
# publishTarballInsteadOfProvideRepositoryUrl: true
# ┌─────┐
#───┘ URL └─────────────────────────────────────────────────────
@@ -162,22 +105,9 @@ redis:
# # You can specify more ioredis options...
# #username: example-username
#redisForTimelines:
# host: localhost
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# # You can specify more ioredis options...
# #username: example-username
# ┌───────────────────────────┐
#───┘ MeiliSearch configuration └─────────────────────────────
# You can set scope to local (default value) or global
# (include notes from remote).
#meilisearch:
# host: localhost
# port: 7700
@@ -217,14 +147,14 @@ id: 'aidx'
# Job concurrency per worker
#deliverJobConcurrency: 128
#inboxJobConcurrency: 16
#relationshipJobConcurrency: 16
# What's relationshipJob?:
#relashionshipJobConcurrency: 16
# What's relashionshipJob?:
# Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations.
# Job rate limiter
#deliverJobPerSec: 128
#inboxJobPerSec: 32
#relationshipJobPerSec: 64
#inboxJobPerSec: 16
#relashionshipJobPerSec: 64
# Job attempts
#deliverJobMaxAttempts: 12
@@ -270,15 +200,9 @@ proxyRemoteFiles: true
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
# For security reasons, uploading attachments from the intranet is prohibited,
# but exceptions can be made from the following settings. Default value is "undefined".
# Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)).
#allowedPrivateNetworks: [
# '127.0.0.1/32'
#]
# Upload or download file size limits (bytes)
#maxFileSize: 262144000
# PID File of master process
#pidFile: /tmp/misskey.pid

View File

@@ -4,11 +4,9 @@
"service": "app",
"workspaceFolder": "/workspace",
"features": {
"ghcr.io/devcontainers-contrib/features/pnpm:2": {
"version": "8.9.2"
},
"ghcr.io/devcontainers-contrib/features/pnpm:2": {},
"ghcr.io/devcontainers/features/node:1": {
"version": "20.10.0"
"version": "20.5.1"
}
},
"forwardPorts": [3000],

View File

@@ -95,14 +95,6 @@ redis:
# #prefix: example-prefix
# #db: 1
#redisForTimelines:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# ┌───────────────────────────┐
#───┘ MeiliSearch configuration └─────────────────────────────
@@ -147,7 +139,7 @@ id: 'aidx'
# Job rate limiter
# deliverJobPerSec: 128
# inboxJobPerSec: 32
# inboxJobPerSec: 16
# Job attempts
# deliverJobMaxAttempts: 12

60
.github/ISSUE_TEMPLATE/01_bug-report.md vendored Normal file
View File

@@ -0,0 +1,60 @@
---
name: 🐛 Bug Report
about: Create a report to help us improve
title: ''
labels: ⚠bug?
assignees: ''
---
<!--
Thanks for reporting!
First, in order to avoid duplicate Issues, please search to see if the problem you found has already been reported.
Also, If you are NOT owner/admin of server, PLEASE DONT REPORT SERVER SPECIFIC ISSUES TO HERE! (e.g. feature XXX is not working in misskey.example) Please try with another misskey servers, and if your issue is only reproducible with specific server, contact your server's owner/admin first.
-->
## 💡 Summary
<!-- Tell us what the bug is -->
## 🥰 Expected Behavior
<!--- Tell us what should happen -->
## 🤬 Actual Behavior
<!--
Tell us what happens instead of the expected behavior.
Please include errors from the developer console and/or server log files if you have access to them.
-->
## 📝 Steps to Reproduce
1.
2.
3.
## 📌 Environment
<!-- Tell us where on the platform it happens -->
<!-- DO NOT WRITE "latest". Please provide the specific version. -->
### 💻 Frontend
* Model and OS of the device(s):
<!-- Example: MacBook Pro (14inch, 2021), macOS Ventura 13.4 -->
* Browser:
<!-- Example: Chrome 113.0.5672.126 -->
* Server URL:
<!-- Example: misskey.io -->
* Misskey:
13.x.x
### 🛰 Backend (for server admin)
<!-- If you are using a managed service, put that after the version. -->
* Installation Method or Hosting Service: <!-- Example: docker compose, k8s/docker, systemd, "Misskey install shell script", development environment -->
* Misskey: 13.x.x
* Node: 20.x.x
* PostgreSQL: 15.x.x
* Redis: 7.x.x
* OS and Architecture: <!-- Example: Ubuntu 22.04.2 LTS aarch64 -->

View File

@@ -1,97 +0,0 @@
name: 🐛 Bug Report
description: Create a report to help us improve
labels: ["⚠bug?"]
body:
- type: markdown
attributes:
value: |
Thanks for reporting!
First, in order to avoid duplicate Issues, please search to see if the problem you found has already been reported.
Also, If you are NOT owner/admin of server, PLEASE DONT REPORT SERVER SPECIFIC ISSUES TO HERE! (e.g. feature XXX is not working in misskey.example) Please try with another misskey servers, and if your issue is only reproducible with specific server, contact your server's owner/admin first.
- type: textarea
attributes:
label: 💡 Summary
description: Tell us what the bug is
validations:
required: true
- type: textarea
attributes:
label: 🥰 Expected Behavior
description: Tell us what should happen
validations:
required: true
- type: textarea
attributes:
label: 🤬 Actual Behavior
description: |
Tell us what happens instead of the expected behavior.
Please include errors from the developer console and/or server log files if you have access to them.
validations:
required: true
- type: textarea
attributes:
label: 📝 Steps to Reproduce
placeholder: |
1.
2.
3.
validations:
required: false
- type: textarea
attributes:
label: 💻 Frontend Environment
description: |
Tell us where on the platform it happens
DO NOT WRITE "latest". Please provide the specific version.
Examples:
* Model and OS of the device(s): MacBook Pro (14inch, 2021), macOS Ventura 13.4
* Browser: Chrome 113.0.5672.126
* Server URL: misskey.io
* Misskey: 13.x.x
value: |
* Model and OS of the device(s):
* Browser:
* Server URL:
* Misskey:
render: markdown
validations:
required: false
- type: textarea
attributes:
label: 🛰 Backend Environment (for server admin)
description: |
Tell us where on the platform it happens
DO NOT WRITE "latest". Please provide the specific version.
If you are using a managed service, put that after the version.
Examples:
* Installation Method or Hosting Service: docker compose, k8s/docker, systemd, "Misskey install shell script", development environment
* Misskey: 13.x.x
* Node: 20.x.x
* PostgreSQL: 15.x.x
* Redis: 7.x.x
* OS and Architecture: Ubuntu 22.04.2 LTS aarch64
value: |
* Installation Method or Hosting Service:
* Misskey:
* Node:
* PostgreSQL:
* Redis:
* OS and Architecture:
render: markdown
validations:
required: false
- type: checkboxes
attributes:
label: Do you want to address this bug yourself?
options:
- label: Yes, I will patch the bug myself and send a pull request

View File

@@ -0,0 +1,12 @@
---
name: ✨ Feature Request
about: Suggest an idea for this project
title: ''
labels: ✨Feature
assignees: ''
---
## Summary
<!-- Tell us what the suggestion is -->

View File

@@ -1,22 +0,0 @@
name: ✨ Feature Request
description: Suggest an idea for this project
labels: ["✨Feature"]
body:
- type: textarea
attributes:
label: Summary
description: Tell us what the suggestion is
validations:
required: true
- type: textarea
attributes:
label: Purpose
description: Describe the specific problem or need you think this feature will solve, and who it will help.
validations:
required: true
- type: checkboxes
attributes:
label: Do you want to implement this feature yourself?
options:
- label: Yes, I will implement this by myself and send a pull request

View File

@@ -17,32 +17,16 @@ updates:
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
# List dependencies required to be updated together, sharing the same version numbers.
# Those who simply have the common owner (e.g. @fastify) don't need to be listed.
# PNPM has an issue with dependabot. See:
# https://github.com/dependabot/dependabot-core/issues/7258
# https://github.com/pnpm/pnpm/issues/6530
# TODO: Restore this when the issue is solved
open-pull-requests-limit: 0
groups:
aws-sdk:
swc:
patterns:
- "@aws-sdk/*"
bull-board:
patterns:
- "@bull-board/*"
nestjs:
patterns:
- "@nestjs/*"
slacc:
patterns:
- "slacc-*"
- "@swc/*"
storybook:
patterns:
- "storybook*"
- "@storybook/*"
swc-core:
patterns:
- "@swc/core*"
typescript-eslint:
patterns:
- "@typescript-eslint/*"
tensorflow:
patterns:
- "@tensorflow/*"

29
.github/labeler.yml vendored
View File

@@ -1,34 +1,21 @@
'packages/backend':
- any:
- changed-files:
- any-glob-to-any-file: ['packages/backend/**/*']
- packages/backend/**/*
'packages/backend:test':
- any:
- changed-files:
- any-glob-to-any-file: ['packages/backend/test/**/*']
- packages/backend/test/**/*
'packages/frontend':
- any:
- changed-files:
- any-glob-to-any-file: ['packages/frontend/**/*']
- packages/frontend/**/*
'packages/frontend:test':
- any:
- changed-files:
- any-glob-to-any-file: ['cypress/**/*']
- cypress/**/*
'packages/sw':
- any:
- changed-files:
- any-glob-to-any-file: ['packages/sw/**/*']
- packages/sw/**/*
'packages/misskey-js':
- any:
- changed-files:
- any-glob-to-any-file: ['packages/misskey-js/**/*']
- packages/misskey-js/**/*
'packages/misskey-js:test':
- any:
- changed-files:
- any-glob-to-any-file: ['packages/misskey-js/test/**/*', 'packages/misskey-js/test-d/**/*']
- packages/misskey-js/test/**/*
- packages/misskey-js/test-d/**/*

View File

@@ -1,12 +1,6 @@
name: API report (misskey.js)
on:
push:
paths:
- packages/misskey-js/**
pull_request:
paths:
- packages/misskey-js/**
on: [push, pull_request]
jobs:
report:
@@ -15,12 +9,12 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.0.0
- run: corepack enable
- name: Setup Node.js
uses: actions/setup-node@v4.0.2
uses: actions/setup-node@v3.8.1
with:
node-version-file: '.node-version'
cache: 'pnpm'

View File

@@ -1,43 +0,0 @@
name: Check the description in CHANGELOG.md
on:
pull_request:
branches:
- master
- develop
jobs:
check-changelog:
runs-on: ubuntu-latest
steps:
- name: Checkout head
uses: actions/checkout@v4.1.1
- name: Setup Node.js
uses: actions/setup-node@v4.0.2
with:
node-version-file: '.node-version'
- name: Checkout base
run: |
mkdir _base
cp -r .git _base/.git
cd _base
git fetch --depth 1 origin ${{ github.base_ref }}
git checkout origin/${{ github.base_ref }} CHANGELOG.md
- name: Copy to Checker directory for CHANGELOG-base.md
run: cp _base/CHANGELOG.md scripts/changelog-checker/CHANGELOG-base.md
- name: Copy to Checker directory for CHANGELOG-head.md
run: cp CHANGELOG.md scripts/changelog-checker/CHANGELOG-head.md
- name: diff
continue-on-error: true
run: diff -u CHANGELOG-base.md CHANGELOG-head.md
working-directory: scripts/changelog-checker
- name: Setup Checker
run: npm install
working-directory: scripts/changelog-checker
- name: Run Checker
run: npm run run
working-directory: scripts/changelog-checker

View File

@@ -1,134 +0,0 @@
name: Check Misskey JS autogen
on:
pull_request_target:
branches:
- master
- develop
paths:
- packages/backend/**
jobs:
check-misskey-js-autogen:
runs-on: ubuntu-latest
permissions:
pull-requests: write
env:
api_json_name: "api-head.json"
steps:
- name: checkout
uses: actions/checkout@v4.1.1
with:
submodules: true
ref: ${{ github.event.pull_request.head.sha }}
- name: setup pnpm
uses: pnpm/action-setup@v3
with:
version: 8
- name: setup node
id: setup-node
uses: actions/setup-node@v4.0.2
with:
node-version-file: '.node-version'
cache: pnpm
- name: install dependencies
run: pnpm i --frozen-lockfile
- name: wait get-api-diff
uses: lewagon/wait-on-check-action@v1.3.3
with:
ref: ${{ github.event.pull_request.head.sha }}
check-regexp: get-from-misskey .+
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 30
- name: Download artifact
uses: actions/github-script@v7.0.1
with:
script: |
const fs = require('fs');
const workflows = await github.rest.actions.listWorkflowRunsForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
head_sha: `${{ github.event.pull_request.head.sha }}`
}).then(x => x.data.workflow_runs);
console.log(workflows.map(x => ({name: x.name, title: x.display_title})));
const run_id = workflows.find(x => x.name.includes("Get api.json from Misskey")).id;
let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: run_id,
});
let matchArtifacts = allArtifacts.data.artifacts.filter((artifact) => {
return artifact.name.startsWith("api-artifact-") || artifact.name == "api-artifact"
});
await Promise.all(matchArtifacts.map(async (artifact) => {
let download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: artifact.id,
archive_format: 'zip',
});
await fs.promises.writeFile(`${process.env.GITHUB_WORKSPACE}/${artifact.name}.zip`, Buffer.from(download.data));
}));
- name: unzip artifacts
run: |-
find . -mindepth 1 -maxdepth 1 -type f -name '*.zip' -exec unzip {} -d . ';'
ls -la
- name: get head checksum
run: |-
checksum=$(realpath head_checksum)
cd packages/misskey-js/src
find autogen -type f -exec sh -c 'echo $(sed -E "s/^\s+\*\s+generatedAt:.+$//" {} | sha256sum | cut -d" " -f 1) {}' \; > $checksum
cd ../../..
- name: build autogen
run: |-
checksum=$(realpath ${api_json_name}_checksum)
mv $api_json_name packages/misskey-js/generator/api.json
cd packages/misskey-js/generator
pnpm run generate
cd built
find autogen -type f -exec sh -c 'echo $(sed -E "s/^\s+\*\s+generatedAt:.+$//" {} | sha256sum | cut -d" " -f 1) {}' \; > $checksum
cd ../../../..
- name: check update for type definitions
run: diff head_checksum ${api_json_name}_checksum
- name: send message
if: failure()
uses: thollander/actions-comment-pull-request@v2
with:
comment_tag: check-misskey-js-autogen
message: |-
Thank you for sending us a great Pull Request! 👍
Please regenerate misskey-js type definitions! 🙏
example:
```sh
pnpm run build-misskey-js-with-types
```
- name: send message
if: success()
uses: thollander/actions-comment-pull-request@v2
with:
comment_tag: check-misskey-js-autogen
mode: delete
message: "Thank you!"
create_if_not_exists: false

View File

@@ -1,28 +0,0 @@
name: Check Misskey JS version
on:
push:
branches: [ develop ]
paths:
- packages/misskey-js/package.json
- package.json
pull_request:
branches: [ develop ]
paths:
- packages/misskey-js/package.json
- package.json
jobs:
check-version:
# ルートの package.json と packages/misskey-js/package.json のバージョンが一致しているかを確認する
name: Check version
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
- name: Check version
run: |
if [ "$(jq -r '.version' package.json)" != "$(jq -r '.version' packages/misskey-js/package.json)" ]; then
echo "Version mismatch!"
exit 1
fi

View File

@@ -10,7 +10,7 @@ jobs:
check_copyright_year:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.0.0
- run: |
if [ "$(grep Copyright COPYING | sed -e 's/.*2014-\([0-9]*\) .*/\1/g')" -ne "$(date +%Y)" ]; then
echo "Please change copyright year!"

View File

@@ -1,87 +0,0 @@
name: deploy-test-environment
on:
issue_comment:
types: [created]
workflow_dispatch:
inputs:
repository:
description: 'Repository to deploy (optional, use the repository where this workflow is stored by default)'
required: false
default: ''
branch_or_hash:
description: 'Branch or Commit hash to deploy (optional, use the branch where this workflow is stored by default)'
required: false
default: ''
wait_time:
description: 'Time to wait in seconds (optional, 1800 seconds by default)'
required: false
default: ''
jobs:
get-pr-ref:
runs-on: ubuntu-latest
if: github.event_name == 'issue_comment' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/preview')
outputs:
is-allowed-user: ${{ steps.check-allowed-users.outputs.is-allowed-user }}
pr-ref: ${{ steps.get-ref.outputs.pr-ref }}
wait_time: ${{ steps.get-wait-time.outputs.wait_time }}
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
- name: Check allowed users
id: check-allowed-users
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ORG_ID: ${{ github.repository_owner_id }}
COMMENT_AUTHOR: ${{ github.event.comment.user.login }}
run: |
MEMBERSHIP_STATUS=$(curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/organizations/$ORG_ID/public_members/$COMMENT_AUTHOR" \
-o /dev/null -w '%{http_code}\n' -s)
if [ "$MEMBERSHIP_STATUS" -eq 204 ]; then
echo "is-allowed-user=true" > $GITHUB_OUTPUT
else
echo "is-allowed-user=false" > $GITHUB_OUTPUT
fi
- name: Get PR ref
id: get-ref
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
PR_NUMBER=$(jq --raw-output .issue.number $GITHUB_EVENT_PATH)
PR_REF=$(gh pr view $PR_NUMBER --json headRefName -q '.headRefName')
echo "pr-ref=$PR_REF" > $GITHUB_OUTPUT
- name: Extract wait time
id: get-wait-time
env:
COMMENT_BODY: ${{ github.event.comment.body }}
run: |
WAIT_TIME=$(echo "$COMMENT_BODY" | grep -oP '(?<=/preview\s)\d+' || echo "1800")
echo "wait_time=$WAIT_TIME" > $GITHUB_OUTPUT
deploy-test-environment-pr-comment:
needs: get-pr-ref
if: needs.get-pr-ref.outputs.is-allowed-user == 'true'
uses: joinmisskey/misskey-tga/.github/workflows/deploy-test-environment.yml@main
with:
repository: ${{ github.repository }}
branch_or_hash: ${{ needs.get-pr-ref.outputs.pr-ref }}
wait_time: ${{ needs.get-pr-ref.outputs.wait_time }}
secrets:
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
deploy-test-environment-wd:
if: github.event_name == 'workflow_dispatch'
uses: joinmisskey/misskey-tga/.github/workflows/deploy-test-environment.yml@main
with:
repository: ${{ inputs.repository || github.repository }}
branch_or_hash: ${{ inputs.branch_or_hash || github.ref_name }}
wait_time: ${{ inputs.wait_time || '1800' }}
secrets:
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}

View File

@@ -6,83 +6,38 @@ on:
- develop
workflow_dispatch:
env:
REGISTRY_IMAGE: misskey/misskey
jobs:
# see https://docs.docker.com/build/ci/github-actions/multi-platform/#distribute-build-across-multiple-runners
build:
name: Build
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
- linux/arm64
if: github.repository == 'misskey-dev/misskey'
steps:
- name: Prepare
run: |
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Check out the repo
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.0.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
id: buildx
uses: docker/setup-buildx-action@v3.0.0
with:
platforms: linux/amd64,linux/arm64
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: misskey/misskey
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push by digest
id: build
- name: Build and Push to Docker Hub
uses: docker/build-push-action@v5
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
push: true
platforms: ${{ matrix.platform }}
platforms: ${{ steps.buildx.outputs.platforms }}
provenance: false
tags: misskey/misskey:develop
labels: develop
cache-from: type=gha
cache-to: type=gha,mode=max
outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true
- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@v4
with:
name: digests-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1
merge:
runs-on: ubuntu-latest
needs:
- build
steps:
- name: Download digests
uses: actions/download-artifact@v4
with:
path: /tmp/digests
pattern: digests-*
merge-multiple: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create --tag ${{ env.REGISTRY_IMAGE }}:develop \
$(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *)
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:develop

View File

@@ -5,101 +5,45 @@ on:
types: [published]
workflow_dispatch:
env:
REGISTRY_IMAGE: misskey/misskey
TAGS: |
jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v4.0.0
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3.0.0
with:
platforms: linux/amd64,linux/arm64
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: misskey/misskey
tags: |
type=edge
type=ref,event=pr
type=ref,event=branch
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
jobs:
# see https://docs.docker.com/build/ci/github-actions/multi-platform/#distribute-build-across-multiple-runners
build:
name: Build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
platform:
- linux/amd64
- linux/arm64
steps:
- name: Prepare
run: |
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Check out the repo
uses: actions/checkout@v4.1.1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY_IMAGE }}
tags: ${{ env.TAGS }}
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and Push to Docker Hub
id: build
uses: docker/build-push-action@v5
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
push: true
platforms: ${{ matrix.platform }}
platforms: ${{ steps.buildx.outputs.platforms }}
provenance: false
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true,push=true
- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@v4
with:
name: digests-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1
merge:
runs-on: ubuntu-latest
needs:
- build
steps:
- name: Download digests
uses: actions/download-artifact@v4
with:
path: /tmp/digests
pattern: digests-*
merge-multiple: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY_IMAGE }}
tags: ${{ env.TAGS }}
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *)
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }}

View File

@@ -14,13 +14,13 @@ jobs:
env:
DOCKER_CONTENT_TRUST: 1
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.0.0
- run: |
curl -L -o dockle.deb "https://github.com/goodwithtech/dockle/releases/download/v0.4.10/dockle_0.4.10_Linux-64bit.deb"
sudo dpkg -i dockle.deb
- run: |
cp .config/docker_example.env .config/docker.env
cp ./docker-compose_example.yml ./docker-compose.yml
cp ./docker-compose.yml.example ./docker-compose.yml
- run: |
docker compose up -d web
docker tag "$(docker compose images web | awk 'OFS=":" {print $4}' | tail -n +2)" misskey-web:latest

View File

@@ -1,73 +0,0 @@
# this name is used in report-api-diff.yml so be careful when change name
name: Get api.json from Misskey
on:
pull_request:
branches:
- master
- develop
paths:
- packages/backend/**
- .github/workflows/get-api-diff.yml
jobs:
get-from-misskey:
runs-on: ubuntu-latest
permissions:
contents: read
strategy:
matrix:
node-version: [20.10.0]
api-json-name: [api-base.json, api-head.json]
include:
- api-json-name: api-base.json
ref: ${{ github.base_ref }}
- api-json-name: api-head.json
ref: refs/pull/${{ github.event.number }}/merge
steps:
- uses: actions/checkout@v4.1.1
with:
ref: ${{ matrix.ref }}
submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 8
run_install: false
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
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 .config/example.yml .config/default.yml
- name: Build
run: pnpm build
- name: Generate API JSON
run: pnpm --filter backend generate-api-json
- name: Copy API.json
run: cp packages/backend/built/api.json ${{ matrix.api-json-name }}
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: api-artifact-${{ matrix.api-json-name }}
path: ${{ matrix.api-json-name }}
save-pr-number:
runs-on: ubuntu-latest
steps:
- name: Save PR number
env:
PR_NUMBER: ${{ github.event.number }}
run: |
echo "$PR_NUMBER" > ./pr_number
- uses: actions/upload-artifact@v4
with:
name: api-artifact-pr-number
path: pr_number

View File

@@ -11,6 +11,6 @@ jobs:
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
- uses: actions/labeler@v4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -5,33 +5,21 @@ on:
branches:
- master
- develop
paths:
- packages/backend/**
- packages/frontend/**
- packages/sw/**
- packages/misskey-js/**
- packages/shared/.eslintrc.js
pull_request:
paths:
- packages/backend/**
- packages/frontend/**
- packages/sw/**
- packages/misskey-js/**
- packages/shared/.eslintrc.js
jobs:
pnpm_install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.0.0
with:
fetch-depth: 0
submodules: true
- uses: pnpm/action-setup@v3
- uses: pnpm/action-setup@v2
with:
version: 8
run_install: false
- uses: actions/setup-node@v4.0.2
- uses: actions/setup-node@v3.8.1
with:
node-version-file: '.node-version'
cache: 'pnpm'
@@ -50,15 +38,15 @@ jobs:
- sw
- misskey-js
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.0.0
with:
fetch-depth: 0
submodules: true
- uses: pnpm/action-setup@v3
- uses: pnpm/action-setup@v2
with:
version: 7
run_install: false
- uses: actions/setup-node@v4.0.2
- uses: actions/setup-node@v3.8.1
with:
node-version-file: '.node-version'
cache: 'pnpm'
@@ -76,22 +64,18 @@ jobs:
- backend
- misskey-js
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.0.0
with:
fetch-depth: 0
submodules: true
- uses: pnpm/action-setup@v3
- uses: pnpm/action-setup@v2
with:
version: 7
run_install: false
- uses: actions/setup-node@v4.0.2
- uses: actions/setup-node@v3.8.1
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile
- run: pnpm --filter misskey-js run build
if: ${{ matrix.workspace == 'backend' }}
- run: pnpm --filter misskey-reversi run build:tsc
if: ${{ matrix.workspace == 'backend' }}
- run: pnpm --filter ${{ matrix.workspace }} run typecheck

View File

@@ -23,7 +23,7 @@ jobs:
private_key: ${{ secrets.DEPLOYBOT_PRIVATE_KEY }}
- name: Slash Command Dispatch
uses: peter-evans/slash-command-dispatch@v4
uses: peter-evans/slash-command-dispatch@v3
env:
TOKEN: ${{ steps.generate_token.outputs.token }}
with:

View File

@@ -1,45 +0,0 @@
name: On Release Created (Publish misskey-js)
on:
release:
types: [created]
workflow_dispatch:
jobs:
publish-misskey-js:
name: Publish misskey-js
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
strategy:
matrix:
node-version: [20.10.0]
steps:
- uses: actions/checkout@v4.1.1
with:
submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 8
run_install: false
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
registry-url: 'https://registry.npmjs.org'
- name: Publish package
run: |
corepack enable
pnpm i --frozen-lockfile
pnpm build
pnpm --filter misskey-js publish --access public --no-git-checks --provenance
env:
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
NPM_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}

View File

@@ -13,7 +13,7 @@ jobs:
github.event.client_payload.slash_command.sha != '' &&
contains(github.event.client_payload.pull_request.head.sha, github.event.client_payload.slash_command.sha)
steps:
- uses: actions/github-script@v7.0.1
- uses: actions/github-script@v6.3.3
id: check-id
env:
number: ${{ github.event.client_payload.pull_request.number }}
@@ -37,7 +37,7 @@ jobs:
return check[0].id;
- uses: actions/github-script@v7.0.1
- uses: actions/github-script@v6.3.3
env:
check_id: ${{ steps.check-id.outputs.result }}
details_url: ${{ github.server_url }}/${{ github.repository }}/runs/${{ github.run_id }}
@@ -53,7 +53,7 @@ jobs:
# Check out merge commit
- name: Fork based /deploy checkout
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.0.0
with:
ref: 'refs/pull/${{ github.event.client_payload.pull_request.number }}/merge'
@@ -72,7 +72,7 @@ jobs:
timeout: 15m
# Update check run called "integration-fork"
- uses: actions/github-script@v7.0.1
- uses: actions/github-script@v6.3.3
id: update-check-run
if: ${{ always() }}
env:

View File

@@ -10,7 +10,7 @@ jobs:
destroy-preview-environment:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v7.0.1
- uses: actions/github-script@v6.3.3
id: check-conclusion
env:
number: ${{ github.event.number }}

View File

@@ -1,97 +0,0 @@
name: Report API Diff
on:
workflow_run:
types: [completed]
workflows:
- Get api.json from Misskey # get-api-diff.yml
jobs:
compare-diff:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
permissions:
pull-requests: write
# api-artifact
steps:
- name: Download artifact
uses: actions/github-script@v7.0.1
with:
script: |
const fs = require('fs');
let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: context.payload.workflow_run.id,
});
let matchArtifacts = allArtifacts.data.artifacts.filter((artifact) => {
return artifact.name.startsWith("api-artifact-") || artifact.name == "api-artifact"
});
await Promise.all(matchArtifacts.map(async (artifact) => {
let download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: artifact.id,
archive_format: 'zip',
});
await fs.promises.writeFile(`${process.env.GITHUB_WORKSPACE}/${artifact.name}.zip`, Buffer.from(download.data));
}));
- name: Extract all artifacts
run: |
find . -mindepth 1 -maxdepth 1 -type f -name '*.zip' -exec unzip {} -d artifacts ';'
ls -la
- name: Load PR Number
id: load-pr-num
run: echo "pr-number=$(cat artifacts/pr_number)" >> "$GITHUB_OUTPUT"
- name: Output base
run: cat ./artifacts/api-base.json
- name: Output head
run: cat ./artifacts/api-head.json
- name: Arrange json files
run: |
jq '.' ./artifacts/api-base.json > ./api-base.json
jq '.' ./artifacts/api-head.json > ./api-head.json
- name: Get diff of 2 files
run: diff -u --label=base --label=head ./api-base.json ./api-head.json | cat > api.json.diff
- name: Get full diff
run: diff --label=base --label=head --new-line-format='+%L' --old-line-format='-%L' --unchanged-line-format=' %L' ./api-base.json ./api-head.json | cat > api-full.json.diff
- name: Echo full diff
run: cat ./api-full.json.diff
- name: Upload full diff to Artifact
uses: actions/upload-artifact@v4
with:
name: api-artifact
path: |
api-full.json.diff
api-base.json
api-head.json
- id: out-diff
name: Build diff Comment
run: |
cat <<- EOF > ./output.md
このPRによるapi.jsonの差分
<details>
<summary>差分はこちら</summary>
\`\`\`diff
$(cat ./api.json.diff)
\`\`\`
</details>
[Get diff files from Workflow Page](https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})
EOF
- uses: thollander/actions-comment-pull-request@v2
with:
pr_number: ${{ steps.load-pr-num.outputs.pr-number }}
comment_tag: show_diff
filePath: ./output.md
- name: Tell error to PR
uses: thollander/actions-comment-pull-request@v2
if: failure() && steps.load-pr-num.outputs.pr-number
with:
pr_number: ${{ steps.load-pr-num.outputs.pr-number }}
comment_tag: show_diff_error
message: |
api.jsonの差分作成中にエラーが発生しました。詳細は[Workflowのログ](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})を確認してください。

View File

@@ -1,113 +0,0 @@
name: Storybook
on:
push:
branches:
- master
- develop
- dev/storybook8 # for testing
pull_request_target:
jobs:
build:
runs-on: ubuntu-latest
env:
NODE_OPTIONS: "--max_old_space_size=7168"
steps:
- uses: actions/checkout@v4.1.1
if: github.event_name != 'pull_request_target'
with:
fetch-depth: 0
submodules: true
- uses: actions/checkout@v4.1.1
if: github.event_name == 'pull_request_target'
with:
fetch-depth: 0
submodules: true
ref: "refs/pull/${{ github.event.number }}/merge"
- name: Checkout actual HEAD
if: github.event_name == 'pull_request_target'
id: rev
run: |
echo "base=$(git rev-list --parents -n1 HEAD | cut -d" " -f2)" >> $GITHUB_OUTPUT
git checkout $(git rev-list --parents -n1 HEAD | cut -d" " -f3)
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 8
run_install: false
- name: Use Node.js 20.x
uses: actions/setup-node@v4.0.2
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_target' && 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_target' && 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
if pnpm --filter frontend chromatic -d storybook-static $(echo "$CHROMATIC_PARAMETER"); then
echo "success=true" >> $GITHUB_OUTPUT
else
echo "success=false" >> $GITHUB_OUTPUT
fi
env:
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
- name: Publish to Chromatic
if: github.event_name == 'pull_request_target'
id: chromatic_pull_request
run: |
DIFF="${{ steps.rev.outputs.base }} 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
BRANCH="${{ github.event.pull_request.head.user.login }}:${{ github.event.pull_request.head.ref }}"
if [ "$BRANCH" = "misskey-dev:${{ github.event.pull_request.head.ref }}" ]; then
BRANCH="${{ github.event.pull_request.head.ref }}"
fi
pnpm --filter frontend chromatic --exit-once-uploaded -d storybook-static --branch-name $BRANCH $(echo "$CHROMATIC_PARAMETER")
env:
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
- name: Notify that Chromatic detects changes
uses: actions/github-script@v7.0.1
if: github.event_name != 'pull_request_target' && steps.chromatic_push.outputs.success == 'false'
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
github.rest.repos.createCommitComment({
owner: context.repo.owner,
repo: context.repo.repo,
commit_sha: context.sha,
body: 'Chromatic detects changes. Please [review the changes on Chromatic](https://www.chromatic.com/builds?appId=6428f7d7b962f0b79f97d6e4).'
})
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: storybook
path: packages/frontend/storybook-static

View File

@@ -5,27 +5,19 @@ on:
branches:
- master
- develop
paths:
- packages/backend/**
# for permissions
- packages/misskey-js/**
pull_request:
paths:
- packages/backend/**
# for permissions
- packages/misskey-js/**
jobs:
unit:
jest:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.10.0]
node-version: [20.5.1]
services:
postgres:
image: postgres:15
image: postgres:13
ports:
- 54312:5432
env:
@@ -37,16 +29,16 @@ jobs:
- 56312:6379
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.0.0
with:
submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v3
uses: pnpm/action-setup@v2
with:
version: 8
run_install: false
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
@@ -59,59 +51,9 @@ jobs:
- name: Build
run: pnpm build
- name: Test
run: pnpm --filter backend test-and-coverage
- name: Upload to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/coverage/coverage-final.json
e2e:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.10.0]
services:
postgres:
image: postgres:15
ports:
- 54312:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
redis:
image: redis:7
ports:
- 56312:6379
steps:
- uses: actions/checkout@v4.1.1
with:
submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 8
run_install: false
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
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 --filter backend test-and-coverage:e2e
- name: Upload to Codecov
uses: codecov/codecov-action@v4
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

View File

@@ -5,20 +5,7 @@ on:
branches:
- master
- develop
paths:
- packages/frontend/**
# for permissions
- packages/misskey-js/**
# for e2e
- packages/backend/**
pull_request:
paths:
- packages/frontend/**
# for permissions
- packages/misskey-js/**
# for e2e
- packages/backend/**
jobs:
vitest:
@@ -26,19 +13,19 @@ jobs:
strategy:
matrix:
node-version: [20.10.0]
node-version: [20.5.1]
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.0.0
with:
submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v3
uses: pnpm/action-setup@v2
with:
version: 8
run_install: false
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
@@ -53,7 +40,7 @@ jobs:
- name: Test
run: pnpm --filter frontend test-and-coverage
- name: Upload Coverage
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/frontend/coverage/coverage-final.json
@@ -64,12 +51,12 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: [20.10.0]
node-version: [20.5.1]
browser: [chrome]
services:
postgres:
image: postgres:15
image: postgres:13
ports:
- 54312:5432
env:
@@ -81,7 +68,7 @@ jobs:
- 56312:6379
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.0.0
with:
submodules: true
# https://github.com/cypress-io/cypress-docker-images/issues/150
@@ -91,12 +78,12 @@ jobs:
#- uses: browser-actions/setup-firefox@latest
# if: ${{ matrix.browser == 'firefox' }}
- name: Install pnpm
uses: pnpm/action-setup@v3
uses: pnpm/action-setup@v2
with:
version: 7
run_install: false
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
@@ -115,19 +102,18 @@ jobs:
run: pnpm exec cypress install
- name: Cypress run
uses: cypress-io/github-action@v6
timeout-minutes: 15
with:
install: false
start: pnpm start:test
wait-on: 'http://localhost:61812'
headed: true
browser: ${{ matrix.browser }}
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v2
if: failure()
with:
name: ${{ matrix.browser }}-cypress-screenshots
path: cypress/screenshots
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v2
if: always()
with:
name: ${{ matrix.browser }}-cypress-videos

View File

@@ -6,12 +6,8 @@ name: Test (misskey.js)
on:
push:
branches: [ develop ]
paths:
- packages/misskey-js/**
pull_request:
branches: [ develop ]
paths:
- packages/misskey-js/**
jobs:
test:
@@ -20,17 +16,17 @@ jobs:
strategy:
matrix:
node-version: [20.10.0]
node-version: [20.5.1]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.0.0
- run: corepack enable
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
@@ -50,7 +46,7 @@ jobs:
CI: true
- name: Upload Coverage
uses: codecov/codecov-action@v4
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/misskey-js/coverage/coverage-final.json

View File

@@ -16,19 +16,19 @@ jobs:
strategy:
matrix:
node-version: [20.10.0]
node-version: [20.5.1]
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v4.0.0
with:
submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v3
uses: pnpm/action-setup@v2
with:
version: 8
run_install: false
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
uses: actions/setup-node@v3.8.1
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'

View File

@@ -1,47 +0,0 @@
name: Test (backend)
on:
push:
branches:
- master
- develop
paths:
- packages/backend/**
pull_request:
paths:
- packages/backend/**
jobs:
validate-api-json:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.10.0]
steps:
- uses: actions/checkout@v4.1.1
with:
submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 8
run_install: false
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.0.2
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Install Redocly CLI
run: npm i -g @redocly/cli
- 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 .config/example.yml .config/default.yml
- name: Build and generate
run: pnpm build && pnpm --filter backend generate-api-json
- name: Validation
run: npx @redocly/cli lint --extends=minimal ./packages/backend/built/api.json

2
.gitignore vendored
View File

@@ -41,7 +41,6 @@ docker-compose.yml
# misskey
/build
built
built-test
/data
/.cache-loader
/db
@@ -58,7 +57,6 @@ api-docs.json
ormconfig.json
temp
/packages/frontend/src/**/*.stories.ts
tsdoc-metadata.json
# blender backups
*.blend1

View File

@@ -1 +1 @@
20.10.0
20.5.1

1
.npmrc
View File

@@ -1 +0,0 @@
engine-strict = true

View File

@@ -7,9 +7,5 @@
"*.test.ts": "typescript"
},
"jest.jestCommandLine": "pnpm run jest",
"jest.autoRun": "off",
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
},
"editor.formatOnSave": false
"jest.autoRun": "off"
}

View File

@@ -1,5 +1,5 @@
<!--
## 202x.x.x (unreleased)
## 2023.x.x (unreleased)
### General
-
@@ -8,593 +8,48 @@
-
### Server
-
- 最初照会したユーザーの最新ノートを受け取るように
-->
## 2024.3.1
## 2023.9.0 (unreleased)
### General
-
### Client
- Fix: 絵文字関係の不具合を修正 (#13485)
- 履歴に残っている or ピン留めされた絵文字がコントロールパネルより削除されていた際にリアクションデッキが表示できなくなる
- Unicode絵文字が履歴に残っている or ピン留めされているとリアクションデッキが表示できなくなる
- Fix: カスタム絵文字の画像読み込みに失敗した際はテキストではなくダミー画像を表示 #13487
### Server
-
## 2024.3.0
### General
- Enhance: 投稿者のロールに応じて、一つのノートに含むことのできるメンションとダイレクト投稿の宛先の人数に上限を設定できるように
* デフォルトのメンション上限は20アカウントに設定されます。管理者はベースロールの設定で変更可能です。
* 連合の問い合わせに応答しないサーバーのリモートユーザーへのメンションは、上限の人数に含めない実装になっています。
- Enhance: 通知がミュート、凍結を考慮するようになりました
- Enhance: サーバーごとにモデレーションノートを残せるように
- Enhance: コンディショナルロールの条件に「マニュアルロールへのアサイン」を追加
- Enhance: 通知の受信設定に「フォロー中またはフォロワー」を追加
- Enhance: 通知の履歴をリセットできるように
- Fix: ダイレクトなノートに対してはダイレクトでしか返信できないように
### Client
- Enhance: ノート作成画面のファイル添付メニューの区切り線の位置を調整
- Fix: syuilo/misskeyの時代からあるインスタンスが改変されたバージョンであると誤認識される問題
- Fix: MFMのオートコンプリートが出るべき状況で出ないことがある問題を修正
- Fix: チャートのラベルが消えている問題を修正
- Fix: 画面表示後最初の音声再生が爆音になることがある問題を修正
- Fix: 設定のバックアップ作成時に名前を入力しなかった場合、ローカライゼーションがおかしくなる問題を修正
- Fix: ページ`/admin/emojis`の絵文字編集ダイアログで「リアクションとして使えるロール」を追加する際に何も選択せずOKを押下すると画面が固まる問題を修正
- Fix: 絵文字サジェストの順位で、絵文字自体の名前が同じものよりもタグで一致しているものが優先されてしまう問題を修正
- Fix: ユーザの情報のポップアップが消えなくなることがある問題を修正
### Server
- Enhance: エンドポイント`flash/update``flashId`以外のパラメータは必須ではなくなりました
- Fix: nodeinfoにenableMcaptchaとenableTurnstileが無いのを修正
- Fix: 破損した通知をクライアントに送信しないように
* 通知欄が無限にリロードされる問題が改善する可能性があります
- Fix: 禁止キーワードを含むートがDelayed Queueに追加されて再処理される問題を修正
- Fix: 自分がフォローしていないアカウントのフォロワー限定ノートが閲覧できることがある問題を修正
- Fix: タイムラインのオプションで「リノートを表示」を無効にしている際、投票のみの引用リノートが流れてこない問題を修正
- Fix: エンドポイント`admin/emoji/update`の各種修正
- 必須パラメータを`id`または`name`のいずれかのみに
- `id`の代わりに`name`で絵文字を指定可能に(`id``name`両指定時は従来通り`name`を変更する挙動)
- `category`および`licence`が指定なしの時勝手にnullに上書きされる挙動を修正
- Fix: 通知の受信設定で「相互フォロー」が正しく動作しない問題を修正
## 2024.2.0
### Note
- 外部サイトからプラグインをインストールする場合のパスが`/install-extentions`から`/install-extensions`に変わります。以前のパスからは自動でリダイレクトされるようになっていますが、新しいパスに変更することをお勧めします。
### General
- Feat: [mCaptcha](https://github.com/mCaptcha/mCaptcha)のサポートを追加
- Feat: Add support for TrueMail
- Feat: AGPLv3ライセンスに誤って違反するのを防止する機能を追加
- 管理者がrepositoryUrlを変更したり、またはソースコードを直接頒布することを選択できるようになります
- 本体のソースコードに改変を加えた際に、ライセンスに基づく適切な案内を表示します
- Enhance: モデレーターはすべてのユーザーのリアクション一覧を見られるように
- Fix: リストライムラインの「リノートを表示」が正しく機能しない問題を修正
- Fix: リモートユーザーのリアクション一覧がすべて見えてしまうのを修正
* すべてのリモートユーザーのリアクション一覧を見えないようにします
- Fix: 特定のキーワード及び正規表現にマッチする文字列を含むノートが投稿された際、エラーに出来るような設定項目を追加 #13207
* デフォルトは空欄なので適用前と同等の動作になります
### Client
- Feat: 新しいゲームを追加
- Feat: 音声・映像プレイヤーを追加
- Feat: 絵文字の詳細ダイアログを追加
- Feat: 枠線をつけるMFM`$[border.width=1,style=solid,color=fff,radius=0 ...]`を追加
- デフォルトで枠線からはみ出る部分が隠されるようにしました。初期と同じ挙動にするには`$[border.noclip`が必要です
- Feat: スワイプでタブを切り替えられるように
- Enhance: MFM等のコードブロックに全文コピー用のボタンを追加
- Enhance: ハッシュタグ入力時に、本文の末尾の行に何も書かれていない場合は新たにスペースを追加しないように
- Enhance: チャンネルノートのピン留めをノートのメニューからできるように
- Enhance: 管理者の場合はAPI tokenの発行画面で管理機能に関する権限を付与できるように
- Enhance: AiScriptを0.17.0に更新 [CHANGELOG](https://github.com/aiscript-dev/aiscript/blob/bb89d132b633a622d3cb0eff0d0cc7e476c0cfdd/CHANGELOG.md)
- 配列の範囲外・非整数のインデックスへの代入が完全禁止になるので注意
- Enhance: 絵文字ピッカー・オートコンプリートで、完全一致した絵文字を優先的に表示するように
- Enhance: Playの説明欄にMFMを使えるように
- Enhance: チャンネルノートの場合は詳細ページからその前後のノートを見れるように
- Enhance: 季節に応じた画面の演出を南半球でも利用できるように
- Enhance: タイムラインフィルターの設定をすべて保持できるように
- 今までの「TLに他の人への返信を含める」設定は一旦リセットされます
- Enhance: タイムラインフィルターに「センシティブなファイルを含むノートを表示」を追加
- Enhance: ノート作成画面のファイル添付メニューから直接ファイルを削除できるように
- Enhance: MFMの属性でオートコンプリートが使用できるように #12735
- Enhance: 絵文字編集ダイアログをモーダルではなくウィンドウで表示するように
- Enhance: リモートのユーザーはメニューから直接リモートで表示できるように
- Enhance: リモートへの引用リノートと同一のリンクにはリンクプレビューを表示しないように
- Enhance: コードのシンタックスハイライトにテーマを適用できるように
- Enhance: リアクション権限がない場合、ハートにフォールバックするのではなくリアクションピッカーなどから打てないように
- リモートのユーザーにローカルのみのカスタム絵文字をリアクションしようとした場合
- センシティブなリアクションを認めていないユーザーにセンシティブなカスタム絵文字をリアクションしようとした場合
- ロールが必要な絵文字をリアクションしようとした場合
- Enhance: ページ遷移時にPlayerを閉じるように
- Enhance: 通報ページのユーザをクリックした際にユーザをウィンドウで開くように
- Enhance: ノートの通報時にリモートのノートであっても自インスタンスにおけるノートのリンクを含むように
- Enhance: オフライン表示のデザインを改善・多言語対応
- Fix: ネイティブモードの絵文字がモノクロにならないように
- Fix: v2023.12.0で追加された「モデレーターがユーザーのアイコンもしくはバナー画像を未設定状態にできる機能」が管理画面上で正しく表示されていない問題を修正
- Fix: AiScriptの`readline`関数が不正な値を返すことがある問題のv2023.12.0時点での修正がPlay以外に適用されていないのを修正
- Fix: v2023.12.1で追加された`$[clickable ...]`および`onClickEv`が正しく機能していないのを修正
- Fix: Renoteのキーボードショートカットが機能していなかった問題を修正
- Fix: 投稿フォームでアンケートの日時指定をした状態で再読み込みをすると期日が復元されない問題を修正
- Fix: アンケートを設定したノートを「削除して編集」をするとアンケートの期日が引き継がれず、リセットされてしまう問題を修正
- Fix: デッキのプロファイル作成時に名前を空にできる問題を修正
- Fix: テーマ作成時に名称が空欄でも作成できてしまう問題を修正
- Fix: プラグインで`Plugin:register_note_post_interruptor`を使用すると、ノートが投稿できなくなる問題を修正
- Fix: iOSで大きな画像を変換してアップロードできない問題を修正
- Fix: 「アニメーション画像を再生しない」もしくは「データセーバー(アイコン)」を有効にしていても、アイコンデコレーションのアニメーションが停止されない問題を修正
- Fix: 画像をクロップするとクロップ後の解像度が異様に低くなる問題の修正
- Fix: 画像をクロップ時、正常に完了できない問題の修正
- Fix: キャプションが空の画像をクロップするとキャプションにnullという文字列が入ってしまう問題の修正
- Fix: プロフィールを編集してもリロードするまで反映されない問題を修正
- Fix: エラー画像URLを設定した後解除するとデフォルトの画像が表示されない問題の修正
- Fix: MkCodeEditorで行がずれていってしまう問題の修正
- Fix: Summaly proxy利用時にプレイヤーが動作しないことがあるのを修正 #13196
### Server
- Enhance: 連合先のレートリミットを超過した際にリトライするようになりました
- Enhance: ActivityPub Deliver queueでBodyを事前処理するように (#12916)
- Enhance: クリップをエクスポートできるように
- Enhance: `/files`のファイルに対してHTTP Rangeリクエストを行えるように
- Enhance: `api.json`のOpenAPI Specificationを3.1.0に更新
- Enhance: 連合向けのノート配信を軽量化 #13192
- Fix: `drive/files/update`でファイル名のバリデーションが機能していない問題を修正
- Fix: `notes/create`で、`text`が空白文字のみで構成されているか`null`であって、かつ`text`だけであるリクエストに対するレスポンスが400になるように変更
- Fix: `notes/create`で、`text`が空白文字のみで構成されていてかつリノート、ファイルまたは投票を含んでいるリクエストに対するレスポンスの`text``""`から`null`になるように変更
- Fix: ipv4とipv6の両方が利用可能な環境でallowedPrivateNetworksが設定されていた場合プライベートipの検証ができていなかった問題を修正
- Fix: properly handle cc followers
- Fix: ジョブに関する設定の名前を修正 relashionshipJobPerSec -> relationshipJobPerSec
- Fix: コントロールパネル->モデレーション->「誰でも新規登録できるようにする」の初期値をONからOFFに変更 #13122
- Fix: リモートユーザーが復活してもキャッシュにより該当ユーザーのActivityが受け入れられないのを修正 #13273
## 2023.12.2
### General
- v2023.12.1でDockerを利用してサーバーを起動できない問題を修正
### Client
- Enhance: 検索画面においてEnterキー押下で検索できるように
## 2023.12.1
### Note
- アクセストークンの権限が再整理されたため、一部のAPIが古いAPIトークンでは動作しなくなりました。\
権限不足になる場合には権限を再設定して再生成してください。
### General
- Enhance: ローカリゼーションの更新
- Fix: 自分のdirect noteがuser list timelineに追加されない
### Client
- Feat: AiScript専用のMFM構文`$[clickable.ev=EVENTNAME ...]`を追加。`Mk:C:mfm`のオプション`onClickEv`に関数を渡すと、クリック時に`EVENTNAME`を引数にして呼び出す
- Enhance: MFM入力補助ボタンを投稿フォームに表示できるように #12787
- Fix: 一部のモデログ(logYellowでの表示対象)について、表示の色が変わらない問題を修正
- Fix: `fg`/`bg`MFMに長い単語を指定すると、オーバーフローされずはみ出る問題を修正
### Server
- Enhance: センシティブワードの設定がハッシュタグトレンドにも適用されるようになりました
- Enhance: `oauth/token`エンドポイントのCORS対応
- Fix: 1702718871541-ffVisibility.jsのdownが壊れている
- Fix:「非センシティブのみ(リモートはいいねのみ)」を設定していても、センシティブに設定されたカスタム絵文字をリアクションできる問題を修正
- Fix: ロールアサイン時の通知で,ロールアイコンが縮小されずに表示される問題を修正
- Fix: サードパーティアプリケーションがWebsocket APIに無条件にアクセスできる問題を修正
- Fix: サードパーティアプリケーションがユーザーの許可なしに非公開の情報を見ることができる問題を修正
## 2023.12.0
### Note
- 依存関係の更新に伴い、Node.js 20.10.0が最小要件になりました
- 絵文字の追加辞書を既にインストールしている場合は、お手数ですが再インストールのほどお願いします
- 絵文字ピッカーにピン留め表示する絵文字設定が「リアクション用」と「絵文字入力用」に分かれました。以前の設定は「リアクション用」として使用されます。
**影響:**
それにより、投稿フォームから表示される絵文字ピッカーのピン留め絵文字がリセットされたように感じるかもしれません(新設された"ピン留め(全般)"の設定が使われるため)。
投稿用のピン留め絵文字をアップデート前の状態にするには、以下の手順で操作します。
1. 「設定」メニューに移動し、「絵文字ピッカー」タブを選択します。
2. 「ピン留 (全般)」のタブを選択します。
3. 「リアクション設定から上書きする」ボタンを押すことで、アップデート前の状態に戻すことができます。
### General
- Feat: メールアドレスの認証にverifymail.ioを使えるように (cherry-pick from https://github.com/TeamNijimiss/misskey/commit/971ba07a44550f68d2ba31c62066db2d43a0caed)
- Feat: モデレーターがユーザーのアイコンもしくはバナー画像を未設定状態にできる機能を追加 (cherry-pick from https://github.com/TeamNijimiss/misskey/commit/e0eb5a752f6e5616d6312bb7c9790302f9dbff83)
- Feat: TL上からートが見えなくなるワードミュートであるハードミュートを追加
- Enhance: 指定したドメインのメールアドレスの登録を弾くことができるように
- Enhance: 公開ロールにアサインされたときに通知が作成されるように
- Enhance: アイコンデコレーションを複数設定できるように
- Enhance: アイコンデコレーションの位置を微調整できるように
- Enhance: つながりの公開範囲をフォロー/フォロワーで個別に設定可能に #12072
- Enhance: ローカリゼーションの更新
- Enhance: 依存関係の更新
- Fix: MFM `$[unixtime ]` に不正な値を入力した際に発生する各種エラーを修正
### Client
- Feat: 今日誕生日のフォロー中のユーザーを一覧表示できるウィジェットを追加
- Feat: 画面に雪を降らせられるように
- Enhance: MFMのアニメーション要素`tada`, `jelly`, `twitch`, `shake`, `spin`, `jump`, `bounce`, `rainbow`)に `delay` オプションを追加
- Enhance: センシティブと判断されたウェブサイトのサムネイルを非表示に
- ウェブサイトをセンシティブと判断する仕組みが動いていないため、summalyProxyを使用しないと機能しません。
- Enhance: 投稿フォームの絵文字ピッカーをリアクション時に使用するものと同じのを使用するように #12336 #12560
- Enhance: リアクション用ピン留め絵文字と投稿時の絵文字入力用ピン留め絵文字を分けて設定できるように #12560
- Enhance: 絵文字のオートコンプリート機能強化 #12364
- Enhance: ユーザーのRawデータを表示するページが復活
- Enhance: リアクション選択時に音を鳴らせるように
- Enhance: サウンドにドライブのファイルを使用できるように
- Enhance: ナビゲーションバーに項目「キャッシュを削除」を追加
- Enhance: Shareページで投稿を完了すると、親ウィンドウ親フレームにpostMessageするように
- Enhance: チャンネル、クリップ、ページ、Play、ギャラリーにURLのコピーボタンを設置 #11305
- Enhance: ノートプレビューに「内容を隠す」が反映されるように
- Enhance: データセーバーでコードハイライトの読み込みを削減できるように
- Enhance: データセーバーの適用範囲を個別で設定できるように
- 従来のデータセーバーの設定はリセットされます
- Enhance: タイムライン上のタブからリスト、アンテナ、チャンネルの管理ページにジャンプできるように
- Enhance: ユーザー名、プロフィール、お知らせ、ページの編集画面でMFMや絵文字のオートコンプリートが使用できるように
- Enhance: プロフィール、お知らせの編集画面でMFMのプレビューを表示できるように
- Enhance: 絵文字の詳細ページに記載される情報を追加
- Enhance: リアクションの表示幅制限を設定可能に
- Enhance: Unicode 15.0のサポート
- Enhance: コードブロックのハイライト機能を利用するには言語を明示的に指定させるように
- MFMでコードブロックを利用する際に意図しないハイライトが起こらないようになりました
- 逆に、MFMでコードハイライトを利用したい際は言語を明示的に指定する必要があります
(例: ` ```js ` → Javascript, ` ```ais ` → AiScript
- Enhance: 絵文字などのオートコンプリートでShift+Tabを押すと前の候補を選択できるように
- Enhance: チャンネルに新規の投稿がある場合にバッジを表示させる
- Enhance: サウンド設定に「サウンドを出力しない」と「Misskeyがアクティブな時のみサウンドを出力する」を追加
- Enhance: 設定したタグをトレンドに表示させないようにする項目を管理画面で設定できるように
- Enhance: 絵文字ピッカーのカテゴリに「/」を入れることでフォルダ分け表示できるように
- Fix: 「設定のバックアップ」で一部の項目がバックアップに含まれていなかった問題を修正
- Fix: ウィジェットのジョブキューにて音声の発音方法変更に追従できていなかったのを修正 #12367
- Fix: コードエディタが正しく表示されない問題を修正
- Fix: プロフィールの「ファイル」にセンシティブな画像がある際のデザインを修正
- Fix: 一度に大量の通知が入った際に通知音が音割れする問題を修正
- Fix: 共有機能をサポートしていないブラウザの場合は共有ボタンを非表示にする #11305
- Fix: 通知のグルーピング設定を変更してもリロードされるまで表示が変わらない問題を修正 #12470
- Fix: 長い名前のチャンネルにおける投稿フォームの表示が崩れる問題を修正
- Fix: セキュリティ向上のためAiScriptの`Mk:apiExternal`を無効化
- Fix: ノート中の絵文字をタップして「リアクションする」からリアクションした際にリアクションサウンドが鳴らない不具合を修正
- Fix: ノート中のリアクションの表示を微調整 #12650
- Fix: AiScriptの`readline`が不正な値を返すことがある問題を修正
- Fix: 投票のみ/画像のみの引用RNが、通知欄でただのRNとして判定されるバグを修正
- Fix: CWをつけて引用RNしても、普通のRNとして扱われてしまうバグを修正しました。
- Fix: 「画像が1枚のみのメディアリストの高さ」を「デフォルト」以外に設定していると、CWの中などに添付された画像が見られないバグを修正
- Fix: DeepL TranslationのPro accountトグルスイッチが表示されていなかったのを修正
- Fix: twitterの埋め込みカード内リンクからリンク先を開けない問題を修正
- Fix: WebKitブラウザー上でも「デバイスの画面を常にオンにする」機能が効くように
- Fix: ページ一覧ページの表示がモバイル環境において崩れているのを修正
- Fix: MFMでルビの中のテキストがnyaizeされない問題を修正
### Server
- Enhance: MFM `$[ruby ]` が他ソフトウェアと連合されるように
- Enhance: Meilisearchを有効にした検索で、ユーザーのミュートやブロックを考慮するように
- Enhance: カスタム絵文字のインポート時の動作を改善
- Enhance: json-schema(OpenAPIの戻り値として使用されるスキーマ定義)を出来る限り最新化 #12311
- Fix: 時間経過により無効化されたアンテナを再有効化したとき、サーバ再起動までその状況が反映されないのを修正 #12303
- Fix: ロールタイムラインが保存されない問題を修正
- Fix: api.jsonの生成ロジックを改善 #12402
- Fix: 招待コードが使い回せる問題を修正
- Fix: 特定の条件下でチャンネルやユーザーのノート一覧に最新のノートが表示されなくなる問題を修正
- Fix: 何もノートしていないユーザーのフィードにアクセスするとエラーになる問題を修正
- Fix: リストタイムラインにてミュートが機能しないケースがある問題と、チャンネル投稿がストリーミングで流れてきてしまう問題を修正 #10443
- Fix: 「みつける」のなかにミュートしたユーザが現れてしまう問題を修正 #12383
- Fix: Social/Local/Home Timelineにてインスタンスミュートが効かない問題
- Fix: ユーザのノート一覧にてインスタンスミュートが効かない問題
- Fix: チャンネルのノート一覧にてインスタンスミュートが効かない問題
- Fix: 「みつける」が年越し時に壊れる問題を修正
- Fix: アカウントをブロックした際に、自身のユーザーのページでノートが相手に表示される問題を修正
- Fix: モデレーションログがモデレーターは閲覧できないように修正
- Fix: ハッシュタグのトレンド除外設定が即時に効果を持つように修正
- Fix: HTTP Digestヘッダのアルゴリズム部分に大文字の"SHA-256"しか使えない
## 2023.11.1
### Note
- 悪意のある第三者がリモートユーザーになりすました任意のアクティビティを受け取れてしまう問題を修正しました。詳しくは[GitHub security advisory](https://github.com/misskey-dev/misskey/security/advisories/GHSA-3f39-6537-3cgc)をご覧ください。
### General
- Feat: 管理者がコントロールパネルからメールアドレスの照会を行えるようになりました
- Enhance: ローカリゼーションの更新
- Enhance: 依存関係の更新
### Client
- Enhance: MFMでルビを振れるように
- 例: `$[ruby 三須木 みすき]`
- Enhance: MFMでUNIX時間を指定して日時を表示できるように
- 例: `$[unixtime 1701356400]`
- Enhance: プラグインでエラーが発生した場合のハンドリングを強化
- Enhance: 細かなUIのブラッシュアップ
- Fix: 効果音が再生されるとデバイスで再生している動画や音声が停止する問題を修正 #12339
- Fix: デッキに表示されたチャンネルの表示先チャンネルを切り替えた際、即座に反映されない問題を修正 #12236
- Fix: プラグインでノートの表示を書き換えられない問題を修正
- Fix: アイコンデコレーションが見切れる場合がある問題を修正
- Fix: 「フォロー中の人全員の返信を含める/含めないようにする」のボタンを押下した際の確認が機能していない問題を修正
- Fix: 非ログイン時に「メモを追加」を表示しないように変更 #12309
- Fix: 絵文字ピッカーでの検索が更新されない問題を修正
- Fix: 特定の条件下でートがnyaizeされない問題を修正
### Server
- Enhance: FTTのデータベースへのフォールバック処理を行うかどうかを設定可能に
- Fix: トークンのないプラグインをアンインストールするときにエラーが出ないように
- Fix: 投稿通知がオンでもダイレクト投稿はユーザーに通知されないようにされました
- Fix: ユーザタイムラインの「ノート」選択時にリノートが混ざり込んでしまうことがある問題の修正 #12306
- Fix: LTLに特定条件下にてチャンネルへの投稿が混ざり込む現象を修正
- Fix: ActivityPub: 追加情報のカスタム絵文字がユーザー情報のtagに含まれない問題を修正
- Fix: ActivityPubに関するセキュリティの向上
- Fix: 非公開の投稿に対して返信できないように
## 2023.11.0
### Note
- iOS 16.4未満を使用している場合はiOS 16.4以上にアップデートをお願いします
### General
- Feat: アイコンデコレーション機能
- サーバーで用意された画像をアイコンに重ねることができます
- 画像のテンプレートはこちらです: https://misskey-hub.net/brand-assets/
- 最大でも黄色いエリア内にデコレーションを収めることを推奨します。
- 画像は512x512pxを推奨します。
- Feat: チャンネル設定にリノート/引用リノートの可否を設定できる項目を追加
- Enhance: アカウント登録時のメールアドレス認証に30分の有効期限を設定
- 有効期限が切れた後であれば、登録時に使用した招待コードを再度利用できるように変更しました。
- ユーザーが誤ったメールアドレスを入力した場合に招待コードが失効してしまう問題が解消されます。
- Enhance: すでにフォローしたすべての人の返信をTLに追加できるように
- Enhance: 未読の通知数を表示できるように
- Enhance: 通知されず、確認の必要もないお知らせ(silence)を作成可能になりました
- Enhance: ローカリゼーションの更新
- Enhance: 依存関係の更新
- Change: CWを使用する場合、注釈を空にすることは許可されなくなりました
### Client
- Feat: プラグイン・テーマを外部サイトから直接インストールできるようになりました
- 外部サイトでの実装が必要です。詳細は Misskey Hub をご覧ください
https://misskey-hub.net/docs/for-developers/publish-on-your-website/
- Feat: 通知をグルーピングして表示するオプション(オプトアウト)
- Feat: Misskeyの基本的なチュートリアルを実装
- Feat: スワイプしてタイムラインを再読込できるように
- PCの場合は右上のボタンからでも再読込できます
- Enhance: タイムラインの自動更新を無効にできるように
- Enhance: コードのシンタックスハイライトエンジンをShikiに変更
- AiScriptのシンタックスハイライトに対応
- MFMでAiScriptをハイライトする場合、コードブロックの開始部分を ` ```is ` もしくは ` ```aiscript ` としてください
- Enhance: データセーバー有効時はアニメーション付きのアバター画像が停止するように
- Enhance: プラグインを削除した際には、使用されていたアクセストークンも同時に削除されるようになりました
- Enhance: プラグインで`Plugin:register_note_view_interruptor`を用いてnoteの代わりにnullを返却することでートを非表示にできるようになりました
- Enhance: AiScript関数`Mk:nyaize()`が追加されました
- Enhance: 情報→ツール はナビゲーションバーにツールとして独立した項目になりました
- Enhance: ノート内の絵文字をクリックすることで、コピーおよびリアクションができるように
- Enhance: その他細かなブラッシュアップ
- Fix: 投稿フォームでのユーザー変更がプレビューに反映されない問題を修正
- Fix: ユーザーページの ノート > ファイル付き タブにリプライが表示されてしまう
- Fix: 「検索」MFMにおいて一部の検索キーワードが正しく認識されない問題を修正
- Fix: 一部の言語でMisskey Webがクラッシュする問題を修正
- Fix: チャンネルの作成・更新時に失敗した場合何も表示されない問題を修正 #11983
- Fix: 個人カードのemojiがバッテリーになっている問題を修正
- Fix: 標準テーマと同じIDを使用してインストールできてしまう問題を修正
- Fix: 絵文字ピッカーでバッテリーの絵文字が複数表示される問題を修正 #12197
- Fix: 11以上されているリアクションにおいてツールチップで示されるリアクション数が本来よりも1多い問題を修正 #12174
- Fix: サイレンス状態で公開範囲のパブリックを選択できてしまう問題を修正 #12224
- Fix: In deck layout, replies option is not saved after refresh
- Fix: アーカイブしたお知らせがコントロールパネルに表示される問題を修正
- Note: アップデート後、サウンドに関する設定が初期化されます
### Server
- Feat: Registry APIがサードパーティから利用可能になりました
- Enhance: RedisへのTLのキャッシュ(FTT)をオフにできるように
- Enhance: フォローしているチャンネルをフォロー解除した時(またはその逆)、タイムラインに反映される間隔を改善
- Enhance: プロフィールの自己紹介欄のMFMが連合するようになりました
- 相手がMisskey v2023.11.0以降である必要があります
- Enhance: チャンネル取得時のパフォーマンスを向上
- Enhance: AP: ApplicationタイプのアカウントをisBotとして扱うように
- Fix: リストTLに自分のフォロワー限定投稿が含まれない問題を修正
- Fix: ローカルタイムラインに投稿者自身の投稿への返信が含まれない問題を修正
- Fix: 自分のフォローしているユーザーの自分のフォローしていないユーザーの visibility: followers な投稿への返信がストリーミングで流れてくる問題を修正
- Fix: RedisへのTLキャッシュが有効の場合にHTL/LTL/STLが空になることがある問題を修正
- Fix: STLでフォローしていないチャンネルが取得される問題を修正
- Fix: `hashtags/trend`にてRedisからトレンドの情報が取得できない際にInternal Server Errorになる問題を修正
- Fix: HTLをリロードまたは遡行したとき、フォローしているチャンネルのートが含まれない問題を修正 #11765 #12181
- Fix: リノートをリノートできるのを修正
- Fix: アクセストークンを削除すると、通知が取得できなくなる場合がある問題を修正
- Fix: 自身の宛先なしダイレクト投稿がストリーミングで流れてこない問題を修正
- Fix: サーバーサイドからのテスト通知を正しく行えるように修正
- Fix: GTLの「リートを表示」オプションが機能しないのを修正 #12233
## 2023.10.2
### General
- Feat: アンテナでローカルの投稿のみ収集できるようになりました
- Feat: サーバーサイレンス機能が追加されました
- Enhance: 新規にフォローした人の返信をデフォルトでTLに追加できるオプションを追加
- Enhance: HTL/LTL/STLを2023.10.0アップデート以前まで遡れるように
- Enhance: フォロー/フォロー解除したときに過去分のHTLにも含まれる投稿が反映されるように
- Enhance: ローカリゼーションの更新
- Enhance: 依存関係の更新
### Client
- Enhance: TLの返信表示オプションを記憶するように
- Enhance: 投稿されてから時間が経過しているノートであることを視覚的に分かりやすく
### Server
- Enhance: タイムライン取得時のパフォーマンスを向上
- Enhance: ストリーミングAPIのパフォーマンスを向上
- Fix: users/notesでDBから参照した際にチャンネル投稿のみ取得される問題を修正
- Fix: コントロールパネルの設定項目が正しく保存できない問題を修正
- Fix: 管理者権限のロールを持っていても一部のAPIが使用できないことがある問題を修正
- Change: ユーザーのisCatがtrueでも、サーバーではnyaizeが行われなくなりました
- isCatな場合、クライアントでnyaize処理を行うことを推奨します
## 2023.10.1
### General
- Enhance: ローカルタイムライン、ソーシャルタイムラインで返信を含むかどうか設定可能に
### Client
- Fix: 絵文字ピッカーで横に長いカスタム絵文字が見切れる問題を修正
### Server
- Fix: フォローしているユーザーからの自分の投稿への返信がタイムラインに含まれない問題を修正
- Fix: users/notesでセンシティブチャンネルの投稿が含まれる場合がある問題を修正
## 2023.10.0
### NOTE
- 2023.9.2で導入されたノート編集機能はクオリティの高い実装が困難であることが判明したため撤回されました
- アップデートを行うと、タイムラインが一時的にリセットされます
- アンテナ内のノートも含む
- ソフトミュート設定はクライアントではなくサーバー側に保存されるようになったため、アップデートを行うとソフトミュートの設定がリセットされます
### Changes
- API: users/notes, notes/local-timeline で fileType 指定はできなくなりました
- API: notes/featured でページネーションは他APIと同様 untilId を使って行うようになりました
### General
- Feat: ユーザーごとに他ユーザーへの返信をタイムラインに含めるか設定可能になりました
- Feat: ユーザーリスト内のメンバーごとに他ユーザーへの返信をユーザーリストタイムラインに含めるか設定可能になりました
- Feat: ユーザーごとのハイライト
- Feat: プライバシーポリシー・運営者情報Impressumの指定が可能になりました
- プライバシーポリシーはサーバー登録時に同意確認が入ります
- Feat: タイムラインがリアルタイム更新中に広告を挿入できるようになりました
- デフォルトは無効
- 頻度はコントロールパネルから設定できます。運営中のサーバーのTLの流速を見て、最適な値を指定してください。
- Enhance: ソフトワードミュートとハードワードミュートは統合されました
- Enhance: モデレーションログ機能の強化
- Enhance: ローカリゼーションの更新
- Enhance: 依存関係の更新
- Fix: ダイレクト投稿をリノートできてしまう問題を修正
- Fix: ユーザーリストTLにチャンネル投稿が含まれる問題を修正
### Client
- Feat: 「ファイルの詳細」ページを追加
- ドライブのファイルの拡大プレビューができるように
- ファイルが添付されたノートの一覧が表示できるように
- Enhance: 二要素認証のバックアップコード一覧をテキストファイルでダウンロード可能に
- Enhance: 動画再生時のデフォルトボリュームを30%に
- Fix: リアクションしたユーザ一覧のUIが稀に左上に残ってしまう不具合を修正
### Server
- Enhance: drive/files/attached-notes がページネーションに対応しました
- Enhance: タイムライン取得時のパフォーマンスを大幅に向上
- Enhance: ハイライト取得時のパフォーマンスを大幅に向上
- Enhance: トレンドハッシュタグ取得時のパフォーマンスを大幅に向上
- Enhance: WebSocket接続が多い場合のパフォーマンスを向上
- Enhance: 不要なPostgreSQLのインデックスを削除しパフォーマンスを向上
- Fix: 連合なしアンケートに投票をするとUpdateがリモートに配信されてしまうのを修正
- Fix: nodeinfoにおいてCORS用のヘッダーが設定されていないのを修正
- Fix: 同じ種類のTLのストリーミングを複数接続できない問題を修正
- Fix: アンテナTLを途中までしかページネーションできなくなることがある問題を修正
- Fix: 「ファイル付きのみ」のTLでファイル無しの新着ートが流れる問題を修正
- Fix: プロセスが終了しない、あるいは非常に時間がかかる問題を修正
## 2023.9.3
### General
- Enhance: ノートの翻訳機能の利用可否をロールで設定可能に
### Client
- Enhance: AiScriptでホストのアドレスを参照する定数`SERVER_URL`を追加
- Enhance: モデレーションログ機能の強化
- Enhance: ローカリゼーションの更新
### Server
- Fix: Redisに古いバージョンのキャッシュが残っている場合、キャッシュが消えるまでの間通知が届かなくなる問題を修正
- Fix: 後方互換性の修正
## 2023.9.2
### General
- Feat: ノートの編集をできるように
- ロールで編集可否を設定可能
- Feat: 通知を種類ごとに 全員から受け取る/フォロー中のユーザーのみ受け取る/フォロワーのみ受け取る/相互のみ受け取る/指定したリストのメンバーのみ受け取る/受け取らない から選べるように
- Enhance: タイムラインからRenoteを除外するオプションを追加
- Enhance: ユーザーページのート一覧でRenoteを除外できるように
- Enhance: タイムラインでファイルが添付されたノートのみ表示するオプションを追加
- Enhance: モデレーションログ機能の強化
- Enhance: 依存関係の更新
- Enhance: ローカリゼーションの更新
### Client
- Enhance: Plugin:register_post_form_actionを用いてCWを取得・変更できるように
- Enhance: admin/ad/listにて掲載中の広告が絞り込めるように
- Enhance: AiScriptにリモートサーバーのAPIを叩く用の関数を追加`Mk:apiExternal`
### Server
- Enhance: MasterプロセスのPIDを書き出せるように
- Enhance: admin/ad/createにてレスポンス200、設定した広告情報を返すように
## 2023.9.1
### General
- Enhance: モデレーションログ機能の強化
### Client
- Fix: ノートのメニューにある「詳細」ボタンの表示がログイン/ログアウト状態で統一されていない問題を修正
### Server
- Fix: お知らせのページネーションが機能しない
- Fix: 「ユーザーの新規投稿」の通知設定を切り替えるとサーバー内部エラーが出る
## 2023.9.0
### Note
- meilisearchを使用する場合、v1.2以上が必要です
### General
- Feat: OAuth 2.0のサポート
- Feat: お知らせ機能の強化
- OAuth 2.0のサポート
- お知らせ機能の強化
- ユーザー個別のお知らせを作成可能に
- お知らせのバナー表示やダイアログ表示が可能に
- お知らせのアイコンを設定可能に
- Feat: チャンネルをセンシティブ指定できるようになりました
- チャンネルをセンシティブ指定できるようになりました
- センシティブチャンネルのNoteのReNoteはデフォルトでHome TLに流れるようになりました
- センシティブチャンネルのノートはユーザープロフィールに表示されません
- Feat: 二要素認証のバックアップコードが生成されるようになりました
- ref. https://github.com/MisskeyIO/misskey/pull/121
- Feat: 二要素認証でパスキーをサポートするようになりました
- Feat: 指定したユーザーが投稿したときに通知できるようになりました
- Feat: プロフィールでのリンク検証
- Feat: モデレーションログ機能
- Feat: 通知をテストできるようになりました
- Feat: PWAのアイコンが設定できるようになりました
- Enhance: サーバー名の略称が設定できるようになりました
- Enhance: アンテナの受信ソースに指定したユーザを除外するものを追加
- Enhance: 二要素認証設定時のセキュリティを強化
- パスワード入力が必要な操作を行う際、二要素認証が有効であれば確認コードの入力も必要になりました
- Enhance: manifest.jsonをオーバーライド可能に
- Enhance: 依存関係の更新
- Enhance: ローカリゼーションの更新
- 二要素認証のバックアップコードが生成されるようになりました ref. https://github.com/MisskeyIO/misskey/pull/121
- 二要素認証でパスキーをサポートするようになりました
- 通知をテストできるようになりました
- PWAのアイコンが設定できるようになりました
- manifest.jsonをオーバーライド可能に
### Client
- Feat: 任意のユーザーリストをタイムラインページにピン留めできるように
- 設定->クライアント設定->全般 から設定可能です
- Feat: Playで直接投稿フォームを埋め込めるように(`Ui:C:postForm`)
- Feat: クライアントを起動している間、デバイスの画面が自動でオフになるのを防ぐオプションを追加
- Feat: 新しい実績を追加
- Enhance: ノート詳細ページでリノート一覧、リアクション一覧タブを追加
- ノートのメニューからは当該項目は消えました
- Enhance: センシティブなメディアを目立たせる設定を追加
- Enhance: プロフィールにその人が作ったPlayの一覧出せるように
- Enhance: メニューのスイッチの動作を改善
- Enhance: 絵文字ピッカーの検索の表示件数を100件に増加
- Enhance: 投稿フォームのプレビューの表示状態を記憶するように
- プロフィールにその人が作ったPlayの一覧出せるように
- メニューのスイッチの動作を改善
- 絵文字ピッカーの検索の表示件数を100件に増加
- 投稿フォームのプレビューの表示状態を記憶するように
- AiScriptからMisskeyサーバーAPIを呼び出す際の制限を撤廃
- Playで直接投稿フォームを埋め込めるように(`Ui:C:postForm`)
- Enhance: ユーザーメニューでスイッチでユーザーリストに追加・削除できるように
- Enhance: 自分が押したリアクションのデザインを改善
- Enhance: ノート検索にローカルのみ検索可能なオプションの追加
- Enhance: AiScriptで`LOCALE`として現在の設定言語を取得できるように
- Enhance: Renote自体を通報できるように
- Enhance: データセーバーモードの強化
- Enhance: Renoteを管理者権限で削除可能に
- Enhance: `$[rainbow ]`記法が、動きのあるMFMが無効になっていても使用できるようになりました
- Enhance: Playの操作を行うAPI TokenをAPIコンソールから発行できるように
- Enhance: リアクションの表示サイズをより大きくできるように
- Enhance: AiScriptを0.16.0に更新
- Enhance: AiScriptからMisskeyサーバーAPIを呼び出す際の制限を撤廃
- Enhance: AiScriptで`LOCALE`として現在の設定言語を取得できるように
- Enhance: Mk:apiが失敗した時にエラー型の値AiScript 0.16.0で追加)を返すように
- Enhance: ScratchpadでAsync:系関数やボタンのコールバックなどのエラーにもダイアログを出すように試験的なためPlayなどには未実装
- Enhance: ノート詳細ページ読み込み時のパフォーマンスが向上しました
- Enhance: タイムラインでリスト/アンテナ選択時のパフォーマンスを改善
- Enhance: 「Moderation note」、「Add moderation note」をローカライズできるように
- Enhance: プラグインのソースコードを確認・コピーできるように
- Enhance: 細かなデザインの調整
- `$[rainbow ]`記法が、動きのあるMFMが無効になっていても使用できるようになりました
- Playの操作を行うAPI TokenをAPIコンソールから発行できるように
- リアクションの表示サイズをより大きくできるように
- ノート詳細ページ読み込み時のパフォーマンスを改善
- タイムラインでリスト/アンテナ選択時のパフォーマンスを改善
- 「Moderation note」、「Add moderation note」をローカライズできるように
- 新しい実績を追加
- Fix: サーバー情報画面(`/instance-info/{domain}`)でブロックができないのを修正
- Fix: 未読のお知らせの「わかった」をクリック・タップしてもその場で「わかった」が消えない問題を修正
- Fix: iOSで画面を回転させるとテキストサイズが変わる問題を修正
@@ -602,32 +57,21 @@
- Fix: タイムラインを下にスクロールしてノート画面に移動して再び戻ったら以前のスクロール位置を失う問題を修正
- Fix: Misskeyプラグインをインストールする際のAiScriptバージョンのチェックが0.14.0以降に対応していない問題を修正
- Fix: 他のサーバーのユーザーへ「メッセージを送信」した時の初期テキストのメンションが間違っている問題を修正
- Fix: 環境によってはMisskey Webが開けない問題を修正
- Fix: プラグインの権限リストが見れない問題を修正
- Fix: 複数の階層があるメニューで、短くタップすると正常に動かない場合がある問題を修正
- Fix: アニメーションがオフのとき、スマホで子メニューの選択ができない問題を修正
- Fix: ドロワーメニューで、親メニュー項目をマウスでホバーすると子メニューが表示されてしまう問題を修正
- Fix: AiScriptでMk:apiが外部と通信できる問題を修正
### Server
- Change: cacheRemoteFilesの初期値はfalseになりました
- Enhance: ファイルアップロード時等にファイル名の拡張子を修正する関数(correctFilename)の挙動を改善
- Enhance: Webhookのペイロードにサーバーのurlが含まれるようになりました
- Enhance: Webhook設定でsecretを空に出来るように
- Enhance: 使われていないアンテナの自動停止を設定可能に
- Enhance: nodeinfo 2.1対応
- Enhance: 自分へのメンション一覧を取得する際のパフォーマンスを向上
- Enhance: Docker環境でjemallocを使用することでメモリ使用量を削減
- Enhance: ID生成方式としてaidxを追加、かつデフォルトに
- Enhance: Add address bind config option (outgoingAddress)
- Fix: MK_ONLY_SERVERオプションを指定した際にクラッシュする問題を修正
- Fix: notes/reactionsのページネーションが機能しない問題を修正
- cacheRemoteFilesの初期値はfalseになりました
- ファイルアップロード時等にファイル名の拡張子を修正する関数(correctFilename)の挙動を改善
- Webhookのペイロードにサーバーのurlが含まれるようになりました
- Webhook設定でsecretを空に出来るように
- 使われていないアンテナの自動停止を設定可能に
- nodeinfo 2.1対応
- 自分へのメンション一覧を取得する際のパフォーマンスを向上
- Docker環境でjemallocを使用することでメモリ使用量を削減
- Fix: ノート検索 `notes/search` にてhostを指定した際に検索結果に反映されるように
- Fix: 一部のfeatured noteを照会できない問題を修正
- Fix: muteがapiからのuser list timeline取得で機能しない問題を修正
- Fix: ジョブキュー管理画面の認証を回避できる問題を修正
- Fix: 一部のサーバー内部エラーがスタックトレースを返さないように修正
- Fix: 一部のリモートユーザーをフォローすることができない問題を修正
## 13.14.2
@@ -642,6 +86,7 @@
### Server
- Fix: APIのオフセットが壊れていたせいで「もっと見る」でもっと見れない問題を修正
- Fix: 外部サーバーの投稿がタイムラインに表示されないことがある問題を修正
- Enhance: Add address bind config option (outgoingAddress)
## 13.14.1

View File

@@ -2,131 +2,45 @@
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
Examples of behavior that contributes to creating a positive environment include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior include:
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Enforcement Responsibilities
## Our Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
<syuilotan@yahoo.co.jp>.
All complaints will be reviewed and investigated promptly and fairly.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at syuilotan@yahoo.co.jp. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of
actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the
community.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
[https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

View File

@@ -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 [GitHub Discussions](https://github.com/misskey-dev/misskey/discussions) 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.
@@ -117,23 +117,6 @@ command.
- Server-side source files and automatically builds them if they are modified. Automatically start the server process(es).
- Vite HMR (just the `vite` command) is available. The behavior may be different from production.
- Service Worker is watched by esbuild.
- The front end can be viewed by accessing `http://localhost:5173`.
- The backend listens on the port configured with `port` in .config/default.yml.
If you have not changed it from the default, it will be "http://localhost:3000".
If "port" in .config/default.yml is set to something other than 3000, you need to change the proxy settings in packages/frontend/vite.config.local-dev.ts.
### `MK_DEV_PREFER=backend pnpm dev`
pnpm dev has another mode with `MK_DEV_PREFER=backend`.
```
MK_DEV_PREFER=backend pnpm dev
```
- This mode is closer to the production environment than the default mode.
- Vite runs behind the backend (the backend will proxy Vite at /vite).
- You can see Misskey by accessing `http://localhost:3000` (Replace `3000` with the port configured with `port` in .config/default.yml).
- To change the port of Vite, specify with `VITE_PORT` environment variable.
- HMR may not work in some environments such as Windows.
### Dev Container
Instead of running `pnpm` locally, you can use Dev Container to set up your development environment.
@@ -299,17 +282,18 @@ export const argTypes = {
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 { HttpResponse, http } from 'msw';
import { rest } from 'msw';
export const handlers = [
http.post('/api/notes/timeline', ({ request }) => {
return HttpResponse.json([]);
rest.post('/api/notes/timeline', (req, res, ctx) => {
return res(
ctx.json([]),
);
}),
];
```

View File

@@ -1,5 +1,5 @@
Unless otherwise stated this repository is
Copyright © 2014-2024 syuilo and contributors
Copyright © 2014-2023 syuilo and contributers
And is distributed under The GNU Affero General Public License Version 3, you should have received a copy of the license file as LICENSE.

View File

@@ -1,6 +1,6 @@
# syntax = docker/dockerfile:1.4
ARG NODE_VERSION=20.10.0-bullseye
ARG NODE_VERSION=20.5.1-bullseye
# build assets & compile TypeScript
@@ -24,16 +24,14 @@ 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/"]
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
COPY --link ["packages/misskey-bubble-game/package.json", "./packages/misskey-bubble-game/"]
ARG NODE_ENV=production
RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \
pnpm i --frozen-lockfile --aggregate-output
COPY --link . ./
ARG NODE_ENV=production
RUN git submodule update --init
RUN pnpm build
RUN rm -rf .git/
@@ -53,11 +51,6 @@ WORKDIR /misskey
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
COPY --link ["scripts", "./scripts"]
COPY --link ["packages/backend/package.json", "./packages/backend/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
COPY --link ["packages/misskey-bubble-game/package.json", "./packages/misskey-bubble-game/"]
ARG NODE_ENV=production
RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \
pnpm i --frozen-lockfile --aggregate-output
@@ -70,12 +63,11 @@ ARG GID="991"
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ffmpeg tini curl libjemalloc-dev libjemalloc2 \
&& ln -s /usr/lib/$(uname -m)-linux-gnu/libjemalloc.so.2 /usr/local/lib/libjemalloc.so \
&& corepack enable \
&& groupadd -g "${GID}" misskey \
&& useradd -l -u "${UID}" -g "${GID}" -m -d /misskey misskey \
&& find / -type d -path /sys -prune -o -type d -path /proc -prune -o -type f -perm /u+s -ignore_readdir_race -exec chmod u-s {} \; \
&& find / -type d -path /sys -prune -o -type d -path /proc -prune -o -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
@@ -84,18 +76,12 @@ WORKDIR /misskey
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=target-builder /misskey/packages/misskey-js/node_modules ./packages/misskey-js/node_modules
COPY --chown=misskey:misskey --from=target-builder /misskey/packages/misskey-reversi/node_modules ./packages/misskey-reversi/node_modules
COPY --chown=misskey:misskey --from=target-builder /misskey/packages/misskey-bubble-game/node_modules ./packages/misskey-bubble-game/node_modules
COPY --chown=misskey:misskey --from=native-builder /misskey/built ./built
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-js/built ./packages/misskey-js/built
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-reversi/built ./packages/misskey-reversi/built
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-bubble-game/built ./packages/misskey-bubble-game/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 LD_PRELOAD=/usr/local/lib/libjemalloc.so
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2
ENV NODE_ENV=production
HEALTHCHECK --interval=5s --retries=20 CMD ["/bin/bash", "/misskey/healthcheck.sh"]
ENTRYPOINT ["/usr/bin/tini", "--"]

View File

@@ -7,10 +7,10 @@
---
<a href="https://misskey-hub.net/servers/">
<a href="https://misskey-hub.net/instances.html">
<img src="https://custom-icon-badges.herokuapp.com/badge/find_an-instance-acea31?logoColor=acea31&style=for-the-badge&logo=misskey&labelColor=363B40" alt="find an instance"/></a>
<a href="https://misskey-hub.net/docs/for-admin/install/guides/">
<a href="https://misskey-hub.net/docs/install.html">
<img src="https://custom-icon-badges.herokuapp.com/badge/create_an-instance-FBD53C?logoColor=FBD53C&style=for-the-badge&logo=server&labelColor=363B40" alt="create an instance"/></a>
<a href="./CONTRIBUTING.md">
@@ -51,7 +51,7 @@ With Misskey's built in drive, you get cloud storage right in your social media,
## Documentation
Misskey Documentation can be found at [Misskey Hub](https://misskey-hub.net/docs/), some of the links and graphics above also lead to specific portions of it.
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

View File

@@ -6,7 +6,6 @@ Also, the later tasks are more indefinite and are subject to change as developme
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)~~ → Done ✔️
- Make the number of type errors zero (frontend)
- Improve CI
- ~~Fix tests~~ → Done ✔️
- Fix random test failures - https://github.com/misskey-dev/misskey/issues/7985 and https://github.com/misskey-dev/misskey/issues/7986

View File

@@ -1,6 +1,7 @@
# Reporting Security Issues
If you discover a security issue in Misskey, please report it by **[this form](https://github.com/misskey-dev/misskey/security/advisories/new)**.
If you discover a security issue in Misskey, please report it by sending an
email to [syuilotan@yahoo.co.jp](mailto:syuilotan@yahoo.co.jp).
This will allow us to assess the risk, and make a fix available before we add a
bug report to the GitHub repository.

View File

@@ -116,14 +116,6 @@ redis:
# #prefix: example-prefix
# #db: 1
#redisForTimelines:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# ┌───────────────────────────┐
#───┘ MeiliSearch configuration └─────────────────────────────
@@ -167,7 +159,7 @@ id: "aidx"
# Job rate limiter
# deliverJobPerSec: 128
# inboxJobPerSec: 32
# inboxJobPerSec: 16
# Job attempts
# deliverJobMaxAttempts: 12
@@ -195,6 +187,10 @@ id: "aidx"
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
# Limit of notes to fetch from outbox with remote user first fetched (default: 5)
# https://github.com/misskey-dev/misskey/pull/11130
outboxNotesFetchLimit: 5
#allowedPrivateNetworks: [
# '127.0.0.1/32'
#]

View File

@@ -27,7 +27,7 @@ spec:
ports:
- containerPort: 3000
- name: postgres
image: postgres:15-alpine
image: postgres:14-alpine
env:
- name: POSTGRES_USER
value: "example-misskey-user"
@@ -38,7 +38,7 @@ spec:
ports:
- containerPort: 5432
- name: redis
image: redis:7-alpine
image: redis:alpine
ports:
- containerPort: 6379
volumes:

View File

@@ -161,13 +161,11 @@ describe('After user signed in', () => {
});
it('successfully loads', () => {
// 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
cy.get('[data-cy-user-setup-continue]', { timeout: 30000 }).should('be.visible');
cy.get('[data-cy-user-setup-continue]').should('be.visible');
});
it('account setup wizard', () => {
// 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
cy.get('[data-cy-user-setup-continue]', { timeout: 30000 }).click();
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('ほげ');
@@ -204,8 +202,7 @@ describe('After user setup', () => {
cy.login('alice', 'alice1234');
// アカウント初期設定ウィザード
// 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]', { timeout: 30000 }).click();
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]').click();
cy.get('[data-cy-modal-dialog-ok]').click();
});

View File

@@ -1,30 +0,0 @@
describe('Router transition', () => {
describe('Redirect', () => {
// サーバの初期化。ルートのテストに関しては各describeごとに1度だけ実行で十分だと思う使いまわした方が早い
before(() => {
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]', { timeout: 30000 }).click();
cy.wait(500);
cy.get('[data-cy-modal-dialog-ok]').click();
});
it('redirect to user profile', () => {
// テストのためだけに用意されたリダイレクト用ルートに飛ぶ
cy.visit('/redirect-test');
// プロフィールページのURLであることを確認する
cy.url().should('include', '/@alice')
});
});
});

View File

@@ -1,4 +1,3 @@
/* flaky
describe('After user signed in', () => {
beforeEach(() => {
cy.resetState();
@@ -68,4 +67,3 @@ describe('After user signed in', () => {
buildWidgetTest('aiscript');
buildWidgetTest('aichan');
});
*/

View File

@@ -1,42 +0,0 @@
version: "3"
# このconfigは、 dockerでMisskey本体を起動せず、 redisとpostgresql などだけを起動します
services:
redis:
restart: always
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
- ./redis:/data
healthcheck:
test: "redis-cli ping"
interval: 5s
retries: 20
db:
restart: always
image: postgres:15-alpine
ports:
- "5432:5432"
env_file:
- .config/docker.env
volumes:
- ./db:/var/lib/postgresql/data
healthcheck:
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
interval: 5s
retries: 20
# meilisearch:
# restart: always
# image: getmeili/meilisearch:v1.3.4
# environment:
# - MEILI_NO_ANALYTICS=true
# - MEILI_ENV=production
# env_file:
# - .config/meilisearch.env
# volumes:
# - ./meili_data:/meili_data

View File

@@ -7,7 +7,6 @@ services:
links:
- db
- redis
# - mcaptcha
# - meilisearch
depends_on:
db:
@@ -49,36 +48,6 @@ services:
interval: 5s
retries: 20
# mcaptcha:
# restart: always
# image: mcaptcha/mcaptcha:latest
# networks:
# internal_network:
# external_network:
# aliases:
# - localhost
# ports:
# - 7493:7493
# env_file:
# - .config/docker.env
# environment:
# PORT: 7493
# MCAPTCHA_redis_URL: "redis://mcaptcha_redis/"
# depends_on:
# db:
# condition: service_healthy
# mcaptcha_redis:
# condition: service_healthy
#
# mcaptcha_redis:
# image: mcaptcha/cache:latest
# networks:
# - internal_network
# healthcheck:
# test: "redis-cli ping"
# interval: 5s
# retries: 20
# meilisearch:
# restart: always
# image: getmeili/meilisearch:v1.3.4

View File

@@ -1,6 +1,6 @@
#!/bin/bash
# SPDX-FileCopyrightText: syuilo and misskey-project
# SPDX-FileCopyrightText: syuilo and other misskey contributors
# SPDX-License-Identifier: AGPL-3.0-only
PORT=$(grep '^port:' /misskey/.config/default.yml | awk 'NR==1{print $2; exit}')

View File

@@ -120,6 +120,7 @@ sensitive: "محتوى حساس"
add: "إضافة"
reaction: "التفاعلات"
reactions: "التفاعلات"
reactionSetting: "التفاعلات المراد عرضها في منتقي التفاعلات."
reactionSettingDescription2: "اسحب لترتيب ، انقر للحذف ، استخدم \"+\" للإضافة."
rememberNoteVisibility: "تذكر إعدادت مدى رؤية الملاحظات"
attachCancel: "أزل المرفق"
@@ -347,6 +348,7 @@ invite: "دعوة"
driveCapacityPerLocalAccount: "حصة التخزين لكل مستخدم محلي"
driveCapacityPerRemoteAccount: "حصة التخزين لكل مستخدم بعيد"
inMb: "بالميغابايت"
iconUrl: "رابط الأيقونة"
bannerUrl: "رابط صورة اللافتة"
backgroundImageUrl: "رابط صورة الخلفية"
basicInfo: "المعلومات الأساسية "
@@ -360,8 +362,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "فعّل hCaptcha"
hcaptchaSiteKey: "مفتاح الموقع"
hcaptchaSecretKey: "المفتاح السري"
mcaptchaSiteKey: "مفتاح الموقع"
mcaptchaSecretKey: "المفتاح السري"
recaptcha: "reCAPTCHA"
enableRecaptcha: "تمكين reCAPTCHA"
recaptchaSiteKey: "مفتاح الموقع"
@@ -419,6 +419,7 @@ share: "شارِك"
notFound: "غير موجود"
notFoundDescription: "تعذر العثور على صفحة يقود إليها هذا الرابط."
uploadFolder: "المجلد الافتراضي للرفع"
cacheClear: "مسح ذاكرة التخزين المؤقت"
markAsReadAllNotifications: "وضع جميع الإشعارات كأنها مقروءة"
markAsReadAllUnreadNotes: "علّم جميع الملاحظات كمقروءة"
markAsReadAllTalkMessages: "علّم جميع الرسائل كمقروءة"
@@ -818,6 +819,8 @@ makeReactionsPublicDescription: "هذا سيجعل قائمة تفاعلاتك
classic: "تقليدي"
muteThread: "اكتم النقاش"
unmuteThread: "ارفع الكتم عن النقاش"
ffVisibility: "مرئية المتابِعين/المتابَعين"
ffVisibilityDescription: "يسمح لك بتحديد من يمكنهم رؤية متابِعيك ومتابَعيك."
continueThread: "اعرض بقية النقاش"
deleteAccountConfirm: "سيحذف حسابك نهائيًا، أتريد المتابعة؟"
incorrectPassword: "كلمة السر خاطئة."
@@ -946,12 +949,9 @@ rolesAssignedToMe: "الأدوار المسندة إلي"
resetPasswordConfirm: "هل تريد إعادة تعيين كلمة السر؟"
license: "الرخصة"
unfavoriteConfirm: "أتريد إزالتها من المفضلة؟"
reactionsDisplaySize: "حجم التفاعلات"
limitWidthOfReaction: "تصغير حجم التفاعلات"
noteIdOrUrl: "معرف الملاحظة أو رابطها"
video: "فيديو"
videos: "فيديوهات"
dataSaver: "موفر البيانات"
accountMigration: "ترحيل الحساب"
accountMoved: "نقل هذا المستخدم حسابه:"
accountMovedShort: "رُحل هذا الحساب."
@@ -959,7 +959,6 @@ operationForbidden: "عملية ممنوعة"
forceShowAds: "أظهر الإعلانات التجارية دائما"
reactionsList: "التفاعلات"
renotesList: "إعادات النشر"
notificationDisplay: "إشعارات"
leftTop: "أعلى اليسار"
rightTop: "أعلى اليمين"
leftBottom: "أسفل اليسار"
@@ -982,7 +981,6 @@ thisChannelArchived: "أُرشفت هذه القناة."
displayOfNote: "عرض الملاحظة"
initialAccountSetting: "إعداد الملف الشخصي"
youFollowing: "متابَع"
preventAiLearning: "منع استخدام البيانات في تعليم الآلة"
options: "خيارات"
specifyUser: "مستخدم محدد"
failedToPreviewUrl: "تتعذر المعاينة"
@@ -996,25 +994,10 @@ later: "لاحقاً"
goToMisskey: "لميسكي"
additionalEmojiDictionary: "قواميس إيموجي إضافية"
installed: "مُثبت"
enableServerMachineStats: "نشر إحصائيات عتاد الخادم"
turnOffToImprovePerformance: "تفعيله قد يزيد الأداء."
createInviteCode: "ولِّد دعوة"
inviteCodeCreated: "ولِّدت دعوة"
inviteLimitExceeded: "وصلتَ لحد عدد الدعوات المسموح لك توليدها."
createLimitRemaining: "حد عدد الدعوات: {limit} دعوة"
expirationDate: "تاريخ انتهاء الصلاحية"
noExpirationDate: "لا نهاية لصلاحيتها"
inviteCodeUsedAt: "اُستخدم رمز الدعوة في"
registeredUserUsingInviteCode: "اِستخدم رمز الدعوة"
unused: "غير مستعمَل"
expired: "منتهية صلاحيته"
icon: "الصورة الرمزية"
replies: "رد"
renotes: "أعد النشر"
sourceCode: "الشفرة المصدرية"
flip: "اقلب"
lastNDays: "آخر {n} أيام"
surrender: "ألغِ"
_initialAccountSetting:
accountCreated: "نجح إنشاء حسابك!"
letsStartAccountSetup: "إذا كنت جديدًا لنعدّ حسابك الشخصي."
@@ -1156,7 +1139,6 @@ _plugin:
install: "ثبّت إضافات"
installWarn: "رجاءً لا تثبت إضافات غير موثوقة."
manage: "إدارة الإضافات"
viewSource: "اظهر المصدر"
_preferencesBackups:
createdAt: "تم إنشاؤه: {date} {time}"
updatedAt: "آخر تحديث: {date} {time}"
@@ -1200,6 +1182,11 @@ _wordMute:
muteWords: "الكلمات المحظورة"
muteWordsDescription: "افصل بينهم بمسافة لاستخدام معامل \"و\" أو بسطر لاستخدام معامل \"أو\"."
muteWordsDescription2: "احصر الكلمات المفتاحية بين بين شرطتين مائلتين لاستخدامها كتعابير نمطية"
softDescription: "اخف الملاحظات التي تستوف الشروط من الخيط الزمني."
hardDescription: "اخف الملاحظات التي تستوف الشروط من الخيط الزمني.بالإضافة إلى أن هذه الملاحظات ستبقى مخفية حتى وإن تغيرت الشروط."
soft: "لينة"
hard: "قاسية"
mutedNotes: "الملاحظات المكتومة"
_instanceMute:
instanceMuteDescription: "هذه سيحجب كل ملاحظات الخوادم المحجوبة ومشاركاتها والردود على تلك الملاحظات حتى وإن كانت من خادم غير محجوب."
instanceMuteDescription2: "مدخلة لكل سطر"
@@ -1259,6 +1246,8 @@ _sfx:
note: "الملاحظات"
noteMy: "ملاحظتي"
notification: "الإشعارات"
chat: "المحادثة"
chatBg: "المحادثة (الخلفية)"
antenna: "الهوائيات"
channel: "إشعارات القنات"
_ago:
@@ -1277,6 +1266,9 @@ _time:
minute: "د"
hour: "سا"
day: "ي"
_timelineTutorial:
title: "كيف تستخدم Misskey"
step3_1: "هل نشرت ملاحظتك الأولى؟"
_2fa:
alreadyRegistered: "سجلت سلفًا جهازًا للاستيثاق بعاملين."
step1: "أولًا ثبّت تطبيق استيثاق على جهازك (مثل {a} و{b})."
@@ -1419,7 +1411,6 @@ _profile:
_exportOrImport:
allNotes: "كل الملاحظات"
favoritedNotes: " الملاحظات المفضلة"
clips: "مِشبك"
followingList: "المتابَعون"
muteList: "المستخدمون المكتومون"
blockingList: "المستخدمون المحجوبون"
@@ -1563,10 +1554,3 @@ _webhookSettings:
active: "مُفعّل"
_events:
reaction: "عند التفاعل"
_moderationLogTypes:
suspend: "علِق"
resetPassword: "أعد تعيين كلمتك السرية"
createInvitation: "ولِّد دعوة"
_reversi:
total: "المجموع"

View File

@@ -2,7 +2,6 @@
_lang_: "বাংলা"
headlineMisskey: "নোট ব্যাবহার করে সংযুক্ত নেটওয়ার্ক"
introMisskey: "স্বাগতম! মিসকি একটি ওপেন সোর্স, ডিসেন্ট্রালাইজড মাইক্রোব্লগিং পরিষেবা। \n\"নোট\" তৈরির মাধ্যমে যা ঘটছে তা সবার সাথে শেয়ার করুন 📡\n\"রিঅ্যাকশন\" গুলির মাধ্যমে যেকোনো নোট সম্পর্কে আপনার অনুভূতি ব্যাক্ত করতে পারেন 👍\nএকটি নতুন দুনিয়া ঘুরে দেখুন 🚀\n"
poweredByMisskeyDescription: "{name} হল ওপেন সোর্স প্ল্যাটফর্ম <b>Misskey</b>-এর সার্ভারগুলির একটি৷"
monthAndDay: "{day}/{month}"
search: "খুঁজুন"
notifications: "বিজ্ঞপ্তি"
@@ -13,14 +12,12 @@ fetchingAsApObject: "ফেডিভার্স থেকে খবর আন
ok: "ঠিক"
gotIt: "বুঝেছি"
cancel: "বাতিল"
noThankYou: "না, ধন্যবাদ"
enterUsername: "ইউজারনেম লিখুন"
renotedBy: "{user} রিনোট করেছেন"
noNotes: "কোন নোট নেই"
noNotifications: "কোনো বিজ্ঞপ্তি নেই"
instance: "ইন্সট্যান্স"
settings: "সেটিংস"
notificationSettings: "বিজ্ঞপ্তির সেটিংস"
basicSettings: "সাধারণ সেটিংস"
otherSettings: "অন্যান্য সেটিংস"
openInWindow: "নতুন উইন্ডোতে খুলা"
@@ -45,20 +42,12 @@ pin: "পিন করা"
unpin: "পিন সরান"
copyContent: "বিষয়বস্তু কপি করুন"
copyLink: "লিঙ্ক কপি করুন"
copyLinkRenote: "রিনোট লিঙ্ক কপি করুন"
delete: "মুছুন"
deleteAndEdit: "মুছুন এবং সম্পাদনা করুন"
deleteAndEditConfirm: "আপনি কি এই নোটটি মুছে এটি সম্পাদনা করার বিষয়ে নিশ্চিত? আপনি এটির সমস্ত রিঅ্যাকশন, রিনোট এবং জবাব হারাবেন।"
addToList: "লিস্ট এ যোগ করুন"
addToAntenna: "অ্যান্টেনা এ যোগ করুন"
sendMessage: "একটি বার্তা পাঠান"
copyRSS: "RSS কপি করুন"
copyUsername: "ব্যবহারকারীর নাম কপি করুন"
copyUserId: "ব্যবহারকারীর ID কপি করুন"
copyNoteId: "নোটের ID কপি করুন"
copyFileId: "ফাইল ID কপি করুন"
copyFolderId: "ফোল্ডার ID কপি করুন"
copyProfileUrl: "প্রোফাইল URL কপি করুন"
searchUser: "ব্যবহারকারী খুঁজুন..."
reply: "জবাব"
loadMore: "আরও দেখুন"
@@ -111,8 +100,6 @@ renoted: "রিনোট করা হয়েছে"
cantRenote: "এই নোটটি রিনোট করা যাবে না।"
cantReRenote: "রিনোটকে রিনোট করা যাবে না।"
quote: "উদ্ধৃতি"
inChannelRenote: "চ্যানেলে রিনোট"
inChannelQuote: "চ্যানেলে উদ্ধৃতি"
pinnedNote: "পিন করা নোট"
pinned: "পিন করা"
you: "আপনি"
@@ -121,10 +108,7 @@ sensitive: "সংবেদনশীল বিষয়বস্তু"
add: "যুক্ত করুন"
reaction: "প্রতিক্রিয়া"
reactions: "প্রতিক্রিয়া"
emojiPicker: "ইমোজি পিকার"
pinnedEmojisForReactionSettingDescription: "রিঅ্যাকশন দেয়ার সময় আপনি ইমোজিটিকে পিন করা এবং প্রদর্শিত হওয়ার জন্য সেট করতে পারেন।"
pinnedEmojisSettingDescription: "ইমোজি ইনপুট দেয়ার সময় আপনি ইমোজিটিকে পিন করা এবং প্রদর্শিত হওয়ার জন্য সেট করতে পারেন।"
emojiPickerDisplay: "পিকার ডিসপ্লে"
reactionSetting: "রিঅ্যাকশন পিকারে যেসকল প্রতিক্রিয়া দেখানো হবে"
reactionSettingDescription2: "পুনরায় সাজাতে টেনে আনুন, মুছতে ক্লিক করুন, যোগ করতে + টিপুন।"
rememberNoteVisibility: "নোটের দৃশ্যমান্যতার সেটিংস মনে রাখুন"
attachCancel: "অ্যাটাচমেন্ট সরান "
@@ -344,6 +328,7 @@ invite: "আমন্ত্রণ"
driveCapacityPerLocalAccount: "প্রত্যেক স্থানীয় ব্যাবহারকারীর জন্য ড্রাইভের জায়গা"
driveCapacityPerRemoteAccount: "প্রত্যেক রিমোট ব্যাবহারকারীর জন্য ড্রাইভের জায়গা"
inMb: "মেগাবাইটে লিখুন"
iconUrl: "আইকনের URL (ফ্যাভিকন, ইত্যাদি)"
bannerUrl: "ব্যানার ছবির URL"
backgroundImageUrl: "পটভূমির চিত্রের URL"
basicInfo: "আপনার ব্যক্তিগত তথ্য"
@@ -357,8 +342,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "hCaptcha চালু করুন"
hcaptchaSiteKey: "সাইট কী"
hcaptchaSecretKey: "সিক্রেট কী"
mcaptchaSiteKey: "সাইট কী"
mcaptchaSecretKey: "সিক্রেট কী"
recaptcha: "reCAPTCHA"
enableRecaptcha: "reCAPTCHA চালু করুন"
recaptchaSiteKey: "সাইট কী"
@@ -411,6 +394,7 @@ share: "শেয়ার"
notFound: "পাওয়া যায়নি"
notFoundDescription: "এই URL-এর সাথে সম্পর্কিত কোনো পৃষ্ঠা নেই।"
uploadFolder: "আপলোডের জন্য ডিফল্ট ফোল্ডার"
cacheClear: "ক্যাশ পরিষ্কার করুন"
markAsReadAllNotifications: "সমস্ত বিজ্ঞপ্তিগুলি পঠিত হিসাবে চিহ্নিত করুন"
markAsReadAllUnreadNotes: "সমস্ত নোটগুলি পঠিত হিসাবে চিহ্নিত করুন"
markAsReadAllTalkMessages: "সমস্ত মেসেজ পঠিত হিসাবে চিহ্নিত করুন"
@@ -812,6 +796,8 @@ makeReactionsPublicDescription: "আপনার পূর্ববর্তী
classic: "ক্লাসিক"
muteThread: "থ্রেড মিউট করুন"
unmuteThread: "থ্রেড আনমিউট করুন"
ffVisibility: "অনুসরণ/অনুসরণকারীদের দৃশ্যমান্যতা"
ffVisibilityDescription: "আপনি কাকে অনুসরণ করেন এবং কে আপনাকে অনুসরণ করে, সেটা কারা দেখতে পাবে তা নির্ধারণ করে।"
continueThread: "আরো থ্রেড দেখুন"
deleteAccountConfirm: "আপনার অ্যাকাউন্ট মুছে ফেলা হবে। ঠিক আছে?"
incorrectPassword: "আপনার দেওয়া পাসওয়ার্ডটি ভুল।"
@@ -853,10 +839,6 @@ color: "রং"
horizontal: "পাশে"
youFollowing: "অনুসরণ করা হচ্ছে"
icon: "প্রোফাইল ছবি"
replies: "জবাব"
renotes: "রিনোট"
sourceCode: "সোর্স কোড"
flip: "উল্টান"
_role:
priority: "অগ্রাধিকার"
_priority:
@@ -906,7 +888,6 @@ _plugin:
install: "প্লাগইন ইন্সটল করুন"
installWarn: "অবিশ্বস্ত প্লাগইন ইনস্টল করবেন না।"
manage: "প্লাগইন ম্যানেজ করুন"
viewSource: "উৎস দেখুন"
_registry:
scope: "স্কোপ"
key: "কী"
@@ -949,6 +930,11 @@ _wordMute:
muteWords: "নিঃশব্দ করা শব্দগুলি"
muteWordsDescription: "স্পেস দিয়ে আলাদা করলে AND শর্ত তৈরি হবে এবং আলাদা লাইনে লিখলে OR শর্ত তৈরি হবে।"
muteWordsDescription2: "রেগুলার এক্সপ্রেশন ব্যবহার করতে স্ল্যাশ দিয়ে কীওয়ার্ডকে ঘিরে রাখুন।"
softDescription: "টাইমলাইন থেকে নির্দিষ্ট শর্তানুযায়ী নোট লুকিয়ে রাখে।"
hardDescription: "নির্দিষ্ট শর্তানুযায়ী নোটগুলিকে টাইমলাইন থেকে বাদ দেয়। আপনি শর্ত পরিবর্তন করলেও যে নোটগুলি যোগ করা হয়নি সেগুলি বাদ দেওয়া হবে।"
soft: "নমনীয়"
hard: "কঠোর"
mutedNotes: "মিউট করা নোটগুলি"
_instanceMute:
instanceMuteDescription: "কনফিগার করা ইন্সট্যান্সের সব নোট এবং রিনোট মিউট করুন, মিউট করা ইন্সট্যান্সের ব্যবহারকারীদের উত্তর সহ।"
instanceMuteDescription2: "প্রতিটিকে আলাদা লাইনে লিখুন"
@@ -1012,6 +998,9 @@ _theme:
infoFg: "তথ্যের পাঠ্য"
infoWarnBg: "ওয়ার্নিং এর পটভূমি"
infoWarnFg: "ওয়ার্নিং এর পাঠ্য"
cwBg: "CW বাটনের পটভূমি"
cwFg: "CW বাটনের পাঠ্য"
cwHoverBg: "CW বাটনের পটভূমি (হভার)"
toastBg: "বিজ্ঞপ্তির পটভূমি"
toastFg: "বিজ্ঞপ্তির পাঠ্য"
buttonBg: "বাটনের পটভূমি"
@@ -1029,6 +1018,8 @@ _sfx:
note: "নোটগুলি"
noteMy: "নোট (আপনার)"
notification: "বিজ্ঞপ্তি"
chat: "চ্যাট"
chatBg: "চ্যাট (ব্যাকগ্রাউন্ড)"
antenna: "অ্যান্টেনাগুলি"
channel: "চ্যানেলের বিজ্ঞপ্তি"
_ago:
@@ -1054,7 +1045,6 @@ _2fa:
step3: "অ্যাপে প্রদর্শিত টোকেনটি লিখুন এবং আপনার কাজ শেষ।"
step4: "আপনাকে এখন থেকে লগ ইন করার সময়, এইভাবে টোকেন লিখতে হবে।"
securityKeyInfo: "আপনি একটি হার্ডওয়্যার সিকিউরিটি কী ব্যবহার করে লগ ইন করতে পারেন যা FIDO2 বা ডিভাইসের ফিঙ্গারপ্রিন্ট সেন্সর বা পিন সমর্থন করে৷"
renewTOTPCancel: "না, ধন্যবাদ"
_permissions:
"read:account": "অ্যাকাউন্টের তথ্য দেখুন"
"write:account": "অ্যাকাউন্টের তথ্য সম্পাদন করুন"
@@ -1193,7 +1183,6 @@ _profile:
changeBanner: "ব্যানার পরিবর্তন করুন"
_exportOrImport:
allNotes: "সকল নোট"
clips: "ক্লিপ"
followingList: "অনুসরণ করা হচ্ছে"
muteList: "মিউট"
blockingList: "ব্লক"
@@ -1342,9 +1331,3 @@ _deck:
_webhookSettings:
name: "নাম"
active: "চালু"
_moderationLogTypes:
suspend: "স্থগিত করা"
resetPassword: "পাসওয়ার্ড রিসেট করুন"
_reversi:
total: "মোট"

File diff suppressed because it is too large Load Diff

View File

@@ -120,6 +120,7 @@ sensitive: "NSFW"
add: "Přidat"
reaction: "Reakce"
reactions: "Reakce"
reactionSetting: "Reakce zobrazené ve výběru reakcí"
reactionSettingDescription2: "Přetažením změníte pořadí, kliknutím smažete, zmáčkněte \"+\" k přidání"
rememberNoteVisibility: "Zapamatovat nastavení zobrazení poznámky"
attachCancel: "Odstranit přílohu"
@@ -353,6 +354,7 @@ invite: "Pozvat"
driveCapacityPerLocalAccount: "Kapacita disku na lokálního uživatele"
driveCapacityPerRemoteAccount: "Kapacita disku na vzdáleného uživatele"
inMb: "V megabajtech"
iconUrl: "Favicon URL"
bannerUrl: "Baner URL"
backgroundImageUrl: "Adresa URL obrázku pozadí"
basicInfo: "Základní informace"
@@ -366,8 +368,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Aktivovat hCaptchu"
hcaptchaSiteKey: "Klíč stránky"
hcaptchaSecretKey: "Tajný Klíč (Secret Key)"
mcaptchaSiteKey: "Klíč stránky"
mcaptchaSecretKey: "Tajný Klíč (Secret Key)"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Zapnout ReCAPTCHu"
recaptchaSiteKey: "Klíč stránky"
@@ -429,6 +429,7 @@ share: "Sdílet"
notFound: "Nenalezeno"
notFoundDescription: "Nebyla nalezená žádná stránka korespondující se zadanou URL."
uploadFolder: "Výchozí lokace pro upload"
cacheClear: "Vymazat cache"
markAsReadAllNotifications: "Označit všechna oznámení za přečtená"
markAsReadAllUnreadNotes: "Označit všechny příspěvky za přečtené"
markAsReadAllTalkMessages: "Označit všechny zprávy za přečtené"
@@ -856,6 +857,8 @@ makeReactionsPublicDescription: "Tohle zviditelný seznam vašich předchozích
classic: "Klasický"
muteThread: "Ztlumit vlákno"
unmuteThread: "Zrušit ztlumení vlákna"
ffVisibility: "Viditelnost Sledovaných/Sledujících"
ffVisibilityDescription: "Umožní vám nastavit kdo uvidí koho sledujete a kdo vás sleduje."
continueThread: "Zobrazit pokračování vlákna"
deleteAccountConfirm: "Tohle nenávratně smaže váš účet, chcete pokračovat?"
incorrectPassword: "Nesprávné heslo."
@@ -1005,7 +1008,6 @@ resetPasswordConfirm: "Opravdu chcete resetovat heslo?"
sensitiveWords: "Citlivá slova"
sensitiveWordsDescription: "Viditelnost všech poznámek obsahujících některé z nakonfigurovaných slov bude automaticky nastavena na \"Domů\". Můžete jich uvést více tak, že je oddělíte pomocí řádků."
sensitiveWordsDescription2: "Použití mezer vytvoří výrazy AND a obklopení klíčových slov lomítky je změní na regulární výraz."
prohibitedWordsDescription2: "Použití mezer vytvoří výrazy AND a obklopení klíčových slov lomítky je změní na regulární výraz."
notesSearchNotAvailable: "Vyhledávání poznámek je nedostupné."
license: "Licence"
unfavoriteConfirm: "Opravdu chcete odstranit z oblíbených?"
@@ -1093,12 +1095,6 @@ doYouAgree: "Souhlasíte?"
beSureToReadThisAsItIsImportant: "Přečtěte si prosím tyto důležité informace."
iHaveReadXCarefullyAndAgree: "Přečetl jsem si text \"{x}\" a souhlasím s ním."
icon: "Avatar"
replies: "Odpovědět"
renotes: "Přeposlat"
sourceCode: "Zdrojový kód"
flip: "Otočit"
lastNDays: "Posledních {n} dnů"
surrender: "Zrušit"
_initialAccountSetting:
accountCreated: "Váš účet byl úspěšně vytvořen!"
letsStartAccountSetup: "Pro začátek si nastavte svůj profil."
@@ -1111,12 +1107,11 @@ _initialAccountSetting:
pushNotificationDescription: "Povolení push oznámení vám umožní přijímat oznámení od {name} přímo ve vašem zařízení."
initialAccountSettingCompleted: "Nastavení profilu dokončeno!"
haveFun: "Užívejte {name}!"
ifYouNeedLearnMore: "Pokud se chcete dozvědět více o tom, jak používat {name} (Misskey), navštivte {link}."
skipAreYouSure: "Opravdu chcete přeskočit nastavení profilu?"
laterAreYouSure: "Opravdu chcete provést nastavení profilu později?"
_serverRules:
description: "Soubor pravidel, která se zobrazí před registrací. Doporučuje se nastavit shrnutí podmínek služby."
_serverSettings:
iconUrl: "URL ikony"
_accountMigration:
moveFrom: "Migrace jiného účtu na tento účet"
moveFromSub: "Vytvořit alias na jiný účet"
@@ -1494,7 +1489,6 @@ _plugin:
install: "Instalovat plugin"
installWarn: "Neinstalujte nedůvěryhodné pluginy."
manage: "Správce pluginů"
viewSource: "Zobrazit zdroj"
_preferencesBackups:
list: "Vytvořit backup"
saveNew: "Uložit novou zálohu"
@@ -1561,6 +1555,11 @@ _wordMute:
muteWords: "Ztlumená slova"
muteWordsDescription: "Podmínku AND oddělujte mezerami, podmínku OR oddělujte řádkovými zlomy."
muteWordsDescription2: "Chcete-li použít regulární výrazy, obklopte klíčová slova lomítky."
softDescription: "Skrýt poznámky, které splňují nastavené podmínky, z časové osy."
hardDescription: "Zabrání přidání poznámek splňujících nastavené podmínky na časovou osu. Kromě toho nebudou tyto poznámky přidány na časovou osu, ani když se podmínky změní."
soft: "Měkký"
hard: "Tvrdý"
mutedNotes: "Ztlumené poznámky"
_instanceMute:
instanceMuteDescription: "Tímhle se ztlumí všechny poznámky/poznámky z uvedených instancí, včetně poznámek uživatelů, kteří odpovídají uživateli ze ztlumené instance."
instanceMuteDescription2: "Oddělte novými řádky"
@@ -1624,6 +1623,9 @@ _theme:
infoFg: "Text informací"
infoWarnBg: "Pozadí varování"
infoWarnFg: "Text varování"
cwBg: "Pozadí CW tlačítka"
cwFg: "Text CW tlačítka"
cwHoverBg: "Pozadí CW tlačítka (Hover)"
toastBg: "Pozadí oznámení"
toastFg: "Text oznámení"
buttonBg: "Pozadí tlačítka"
@@ -1641,6 +1643,8 @@ _sfx:
note: "Poznámky"
noteMy: "Moje poznámka"
notification: "Oznámení"
chat: "Zprávy"
chatBg: "Chat (Pozadí)"
antenna: "Antény"
channel: "Oznámení kanálu"
_ago:
@@ -1659,9 +1663,20 @@ _time:
minute: "Minut"
hour: "Hodin"
day: "Dnů"
_timelineTutorial:
title: "Jak používat Misskey"
step1_1: "Toto je \"časová osa\". Zde se chronologicky zobrazují všechny \"poznámky\" odeslané na {name}."
step1_2: "Existuje několik různých časových plánů. Například \"Domácí časová osa\" bude obsahovat poznámky uživatelů, které sledujete, a \"Místní časová osa\" bude obsahovat poznámky všech uživatelů {name}."
step2_1: "Zkusme zveřejnit poznámku. Můžete tak učinit stisknutím tlačítka s ikonou tužky."
step2_2: "Co takhle napsat sebepředstavení, nebo jen \"Ahoj {name}!\", pokud se vám nechce?"
step3_1: "Dokončil jsi svou první poznámku?"
step3_2: "Na časové ose by se nyní měla zobrazit vaše první poznámka."
step4_1: "K poznámkám můžete také připojit \"Reakce\"."
step4_2: "Chcete-li připojit reakci, stiskněte na poznámce znaménko \"+\" a vyberte emoji, kterým chcete reagovat."
_2fa:
alreadyRegistered: "Již jste zaregistrovali dvoufaktorové ověřovací zařízení."
registerTOTP: "Registrovat aplikaci autentizátoru"
passwordToTOTP: "Zadejte své heslo"
step1: "Nejprve si do zařízení nainstalujte aplikaci pro ověřování (například {a} nebo {b})."
step2: "Poté naskenujte QR kód zobrazený na této obrazovce."
step2Click: "Kliknutím na tento QR kód můžete zaregistrovat 2FA do bezpečnostního klíče nebo aplikace autentizace telefonu."
@@ -1831,7 +1846,6 @@ _profile:
_exportOrImport:
allNotes: "Všechny poznámky"
favoritedNotes: "Oblíbené poznámky"
clips: "Oříznout"
followingList: "Sledovaní"
muteList: "Ztlumit"
blockingList: "Zablokovat"
@@ -2019,10 +2033,3 @@ _webhookSettings:
renote: "Při renotaci poznámky"
reaction: "Při obdržení reakce"
mention: "Při zmínce"
_moderationLogTypes:
suspend: "Zmrazit"
resetPassword: "Resetovat heslo"
createInvitation: "Vygenerovat pozvánku"
_reversi:
total: "Celkem"

View File

@@ -1,3 +1,2 @@
---
_lang_: "Dansk"

View File

@@ -2,7 +2,7 @@
_lang_: "Deutsch"
headlineMisskey: "Ein durch Notizen verbundenes Netzwerk"
introMisskey: "Willkommen! Misskey ist eine dezentralisierte Open-Source Microblogging-Platform.\nVerfasse „Notizen“ um mitzuteilen, was gerade passiert oder um Ereignisse mit anderen zu teilen. 📡\nMit „Reaktionen“ kannst du außerdem schnell deine Gefühle über Notizen anderer Benutzer zum Ausdruck bringen. 👍\nEine neue Welt wartet auf dich! 🚀"
poweredByMisskeyDescription: "{name} ist einer der durch die Open-Source-Plattform <b>Misskey</b> betriebenen Dienste."
poweredByMisskeyDescription: "{name} ist einer der durch die Open-Source-Plattform <b>Misskey</b> betriebenen Dienste (meist als \"Misskey-Instanz\" bezeichnet)."
monthAndDay: "{day}.{month}."
search: "Suchen"
notifications: "Benachrichtigungen"
@@ -75,7 +75,7 @@ import: "Import"
export: "Export"
files: "Dateien"
download: "Herunterladen"
driveFileDeleteConfirm: "Möchtest du die Datei „{name}“ wirklich löschen? Einige Inhalte, die diese Datei verwenden, werden auch 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."
@@ -121,15 +121,10 @@ sensitive: "Sensibel"
add: "Hinzufügen"
reaction: "Reaktionen"
reactions: "Reaktionen"
emojiPicker: "Emoji auswählen"
pinnedEmojisForReactionSettingDescription: "Lege Emojis fest, die angepinnt werden sollen, um sie beim Reagieren als Erstes anzuzeigen."
pinnedEmojisSettingDescription: "Lege Emojis fest, die angepinnt werden sollen, um sie in der Emoji-Auswahl als Erstes anzuzeigen"
overwriteFromPinnedEmojisForReaction: "Überschreiben mit den Reaktions-Einstellungen"
overwriteFromPinnedEmojis: "Überschreiben mit den allgemeinen Einstellungen"
reactionSetting: "In der Reaktionsauswahl anzuzeigende Reaktionen"
reactionSettingDescription2: "Ziehe um Anzuordnen, klicke um zu löschen, drücke „+“ um hinzuzufügen"
rememberNoteVisibility: "Notizsichtbarkeit merken"
attachCancel: "Anhang entfernen"
deleteFile: "Datei gelöscht"
markAsSensitive: "Als sensibel markieren"
unmarkAsSensitive: "Als nicht sensibel markieren"
enterFileName: "Dateinamen eingeben"
@@ -184,7 +179,7 @@ searchWith: "Suchen: {q}"
youHaveNoLists: "Du hast keine Listen"
followConfirm: "Möchtest du {name} wirklich folgen?"
proxyAccount: "Proxy-Benutzerkonto"
proxyAccountDescription: "Ein Proxy-Konto ist ein Benutzerkonto, das unter bestimmten Bedingungen als Follower für Benutzer fremder Instanzen fungiert. Wenn zum Beispiel ein Benutzer einen Benutzer einer fremden Instanz zu einer Liste hinzufügt, werden die Aktivitäten des entfernten Benutzers nicht an die Instanz übermittelt, wenn kein lokaler Benutzer diesem Benutzer folgt; stattdessen folgt das Proxy-Konto."
proxyAccountDescription: "Ein Proxy-Benutzerkonto ist ein Benutzerkonto, das sich für Nutzer unter bestimmten Konditionen wie ein Follower aus einer fremden Instanz verhält. Zum Beispiel wird die Aktivität eines Nutzers aus einer fremden Instanz nicht an diese Instanz übermittelt, falls es keinen Benutzer dieser Instanz gibt, der diesem Nutzer aus fremder Instanz folgt. In diesem Fall folgt stattdessen das Proxy-Benutzerkonto."
host: "Hostname"
selectUser: "Benutzer auswählen"
recipient: "Empfänger"
@@ -200,7 +195,6 @@ perHour: "Pro Stunde"
perDay: "Pro Tag"
stopActivityDelivery: "Senden von Aktivitäten einstellen"
blockThisInstance: "Diese Instanz blockieren"
silenceThisInstance: "Instanz stummschalten"
operations: "Aktionen"
software: "Software"
version: "Version"
@@ -220,8 +214,6 @@ clearCachedFiles: "Cache leeren"
clearCachedFilesConfirm: "Sollen alle im Cache gespeicherten Dateien von anderen Instanzen wirklich gelöscht werden?"
blockedInstances: "Blockierte Instanzen"
blockedInstancesDescription: "Gib die Hostnamen der Instanzen, welche blockiert werden sollen, durch Zeilenumbrüche getrennt an. Blockierte Instanzen können mit dieser instanz nicht mehr kommunizieren."
silencedInstances: "Stummgeschaltete Instanzen"
silencedInstancesDescription: "Gib die Hostnamen der Instanzen, welche stummgeschaltet werden sollen, durch Zeilenumbrüche getrennt an. Alle Konten dieser Instanzen werden als stummgeschaltet behandelt, können nur noch Follow-Anfragen stellen und wenn nicht gefolgt keine lokalen Konten erwähnen. Blockierte Instanzen sind davon nicht betroffen."
muteAndBlock: "Stummschaltungen und Blockierungen"
mutedUsers: "Stummgeschaltete Benutzer"
blockedUsers: "Blockierte Benutzer"
@@ -266,7 +258,6 @@ removed: "Erfolgreich gelöscht"
removeAreYouSure: "Möchtest du „{x}“ wirklich entfernen?"
deleteAreYouSure: "Möchtest du „{x}“ wirklich löschen?"
resetAreYouSure: "Wirklich zurücksetzen?"
areYouSure: "Bist du sicher?"
saved: "Erfolgreich gespeichert"
messaging: "Chat"
upload: "Hochladen"
@@ -317,7 +308,6 @@ folderName: "Ordnername"
createFolder: "Ordner erstellen"
renameFolder: "Ordner umbenennen"
deleteFolder: "Ordner löschen"
folder: "Ordner"
addFile: "Datei hinzufügen"
emptyDrive: "Deine Drive ist leer"
emptyFolder: "Dieser Ordner ist leer"
@@ -361,11 +351,12 @@ enableLocalTimeline: "Lokale Chronik aktivieren"
enableGlobalTimeline: "Globale Chronik aktivieren"
disablingTimelinesInfo: "Administratoren und Moderatoren haben immer Zugriff auf alle Chroniken, auch wenn diese deaktiviert sind."
registration: "Registrieren"
enableRegistration: "Registrierung neuer Benutzer erlauben"
enableRegistration: "Registration neuer Benutzer erlauben"
invite: "Einladen"
driveCapacityPerLocalAccount: "Drive-Kapazität pro lokalem Benutzerkonto"
driveCapacityPerRemoteAccount: "Drive-Kapazität pro Benutzer fremder Instanzen"
inMb: "In Megabytes"
iconUrl: "Icon-URL (favicon etc)"
bannerUrl: "Banner-URL"
backgroundImageUrl: "Hintergrundbild-URL"
basicInfo: "Grundlegende Informationen"
@@ -379,11 +370,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "hCaptcha aktivieren"
hcaptchaSiteKey: "Site key"
hcaptchaSecretKey: "Secret key"
mcaptcha: "mCaptcha"
enableMcaptcha: "mCaptcha aktivieren"
mcaptchaSiteKey: "Site key"
mcaptchaSecretKey: "Secret key"
mcaptchaInstanceUrl: "mCaptcha Instanz-URL"
recaptcha: "reCAPTCHA"
enableRecaptcha: "reCAPTCHA aktivieren"
recaptchaSiteKey: "Site key"
@@ -433,7 +419,6 @@ moderator: "Moderator"
moderation: "Moderation"
moderationNote: "Moderationsnotiz"
addModerationNote: "Moderationsnotiz hinzufügen"
moderationLogs: "Moderationsprotokolle"
nUsersMentioned: "Von {n} Benutzern erwähnt"
securityKeyAndPasskey: "Hardware-Sicherheitsschlüssel und Passkeys"
securityKey: "Hardware-Sicherheitsschlüssel"
@@ -441,7 +426,7 @@ lastUsed: "Zuletzt benutzt"
lastUsedAt: "Zuletzt verwendet: {t}"
unregister: "Deaktivieren"
passwordLessLogin: "Passwortloses Anmelden"
passwordLessLoginDescription: "Ermöglicht passwortloses Einloggen mit einem Security-Token oder Passkey"
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"
@@ -449,6 +434,7 @@ share: "Teilen"
notFound: "Nicht gefunden"
notFoundDescription: "Es konnte keine Seite unter dieser URL gefunden werden."
uploadFolder: "Standardordner für Uploads"
cacheClear: "Cache leeren"
markAsReadAllNotifications: "Alle Benachrichtigungen als gelesen markieren"
markAsReadAllUnreadNotes: "Alle Notizen als gelesen markieren"
markAsReadAllTalkMessages: "Alle Chats als gelesen markieren"
@@ -545,7 +531,6 @@ 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)"
withRepliesByDefaultForNewlyFollowed: "Standardmäßig Antworten von neu gefolgten Benutzern in der Chronik anzeigen"
newNoteRecived: "Es gibt neue Notizen"
sounds: "Töne"
sound: "Töne"
@@ -555,8 +540,6 @@ showInPage: "In einer Seite anzeigen"
popout: "Pop-Up"
volume: "Lautstärke"
masterVolume: "Gesamtlautstärke"
notUseSound: "Gebe kein Ton aus"
useSoundOnlyWhenActive: "Gebe nur Ton aus, wenn Misskey aktiv ist"
details: "Details"
chooseEmoji: "Emoji auswählen"
unableToProcess: "Der Vorgang konnte nicht abgeschlossen werden"
@@ -577,10 +560,6 @@ output: "Ausgabe"
script: "Skript"
disablePagesScript: "AiScript auf Seiten deaktivieren"
updateRemoteUser: "Benutzerinformationen aktualisieren"
unsetUserAvatar: "Entferne Profilbild"
unsetUserAvatarConfirm: "Möchtest du dein Profilbild entfernen?"
unsetUserBanner: "Entferne Profilbanner"
unsetUserBannerConfirm: "Möchtest du dein Profilbanner entfernen?"
deleteAllFiles: "Alle Dateien löschen"
deleteAllFilesConfirm: "Möchtest du wirklich alle Dateien löschen?"
removeAllFollowing: "Allen gefolgten Benutzern entfolgen"
@@ -631,7 +610,6 @@ medium: "Mittel"
small: "Klein"
generateAccessToken: "Zugriffstoken generieren"
permission: "Berechtigungen"
adminPermission: "Administratorberechtigung"
enableAll: "Alle aktivieren"
disableAll: "Alle deaktivieren"
tokenRequested: "Zugriff zum Benutzerkonto gewähren"
@@ -662,7 +640,7 @@ display: "Anzeigeart"
copy: "Kopieren"
metrics: "Metriken"
overview: "Übersicht"
logs: "Protokolle"
logs: "Logs"
delayed: "Verzögert"
database: "Datenbank"
channel: "Kanäle"
@@ -733,7 +711,6 @@ lockedAccountInfo: "Auch wenn du Follow-Anfragen auf manuelle Bestätigung setzt
alwaysMarkSensitive: "Medien standardmäßig als sensibel markieren"
loadRawImages: "Anstatt Vorschaubilder immer Originalbilder anzeigen"
disableShowingAnimatedImages: "Animierte Bilder nicht abspielen"
highlightSensitiveMedia: "Sensitive Medien markieren"
verificationEmailSent: "Eine Bestätigungsmail wurde an deine Email-Adresse versendet. Besuche den dort enthaltenen Link, um die Verifizierung abzuschließen."
notSet: "Nicht konfiguriert"
emailVerified: "Email-Adresse bestätigt"
@@ -816,7 +793,7 @@ active: "Aktiv"
offline: "Offline"
notRecommended: "Nicht empfohlen"
botProtection: "Schutz vor Bots"
instanceBlocking: "Blockierte/Stummgeschaltete Instanzen"
instanceBlocking: "Blockierte Instanzen"
selectAccount: "Benutzerkonto auswählen"
switchAccount: "Konto wechseln"
enabled: "Aktiviert"
@@ -886,6 +863,8 @@ makeReactionsPublicDescription: "Jeder wird die Liste deiner gesendeten Reaktion
classic: "Classic"
muteThread: "Thread stummschalten"
unmuteThread: "Threadstummschaltung aufheben"
ffVisibility: "Sichtbarkeit von Gefolgten/Followern"
ffVisibilityDescription: "Konfiguriere wer sehen kann, wem du folgst sowie wer dir folgt."
continueThread: "Weiteren Threadverlauf anzeigen"
deleteAccountConfirm: "Dein Benutzerkonto wird unwiderruflich gelöscht. Trotzdem fortfahren?"
incorrectPassword: "Falsches Passwort."
@@ -935,7 +914,7 @@ typeToConfirm: "Bitte gib zur Bestätigung {x} ein"
deleteAccount: "Benutzerkonto löschen"
document: "Dokumentation"
numberOfPageCache: "Seitencachegröße"
numberOfPageCacheDescription: "Das Erhöhen dieses Caches führt zu einer angenehmerern Benutzererfahrung, aber erhöht Last und Arbeitsspeicherauslastung auf dem Nutzergerät."
numberOfPageCacheDescription: "Das Erhöhen dieses Caches führt zu einer angenehmerern Benutzererfahrung, erhöht aber Serverlast und Arbeitsspeicherauslastung."
logoutConfirm: "Wirklich abmelden?"
lastActiveDate: "Zuletzt verwendet am"
statusbar: "Statusleiste"
@@ -995,7 +974,6 @@ assign: "Zuweisen"
unassign: "Entfernen"
color: "Farbe"
manageCustomEmojis: "Kann benutzerdefinierte Emojis verwalten"
manageAvatarDecorations: "Profilbilddekorationen 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."
@@ -1036,9 +1014,6 @@ 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."
prohibitedWordsDescription2: "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."
hiddenTags: "Ausgeblendete Hashtags"
hiddenTagsDescription: "Die hier eingestellten Tags werden nicht mehr in den Trends angezeigt. Mit der Umschalttaste können mehrere ausgewählt werden."
notesSearchNotAvailable: "Die Notizsuche ist nicht verfügbar."
license: "Lizenz"
unfavoriteConfirm: "Wirklich aus Favoriten entfernen?"
@@ -1051,7 +1026,6 @@ enableChartsForRemoteUser: "Diagramme für Nutzer fremder Instanzen erstellen"
enableChartsForFederatedInstances: "Diagramme für fremde Instanzen erstellen"
showClipButtonInNoteFooter: "\"Clip\" zum Notizmenu hinzufügen"
reactionsDisplaySize: "Reaktionsanzeigegröße"
limitWidthOfReaction: "Begrenze die Breite der Reaktion und zeige sie verkleinert an"
noteIdOrUrl: "Notiz-ID oder URL"
video: "Video"
videos: "Videos"
@@ -1075,7 +1049,7 @@ vertical: "Vertikal"
horizontal: "Horizontal"
position: "Position"
serverRules: "Serverregeln"
pleaseConfirmBelowBeforeSignup: "Lies bitte diese Informationen und stimme ihnen vor der Registration zu."
pleaseConfirmBelowBeforeSignup: "Lies bitte Untenstehendes vor der Registration."
pleaseAgreeAllToContinue: "Zum Fortfahren muss allen obigen Feldern zugestimmt werden."
continue: "Fortfahren"
preservedUsernames: "Reservierte Benutzernamen"
@@ -1134,57 +1108,6 @@ currentAnnouncements: "Aktuelle Ankündigungen"
pastAnnouncements: "Alte Ankündigungen"
youHaveUnreadAnnouncements: "Es gibt neue Ankündigungen."
useSecurityKey: "Folge bitten den Anweisungen deines Browsers bzw. Gerätes und verwende deinen Hardware-Sicherheitsschlüssel oder Passkey."
replies: "Antworten"
renotes: "Renotes"
loadReplies: "Antworten anzeigen"
loadConversation: "Unterhaltung anzeigen"
pinnedList: "Angeheftete Liste"
keepScreenOn: "Bildschirm angeschaltet lassen"
verifiedLink: "Link-Besitz wurde verifiziert"
notifyNotes: "Über neue Notizen benachrichtigen"
unnotifyNotes: "Nicht über neue Notizen benachrichtigen"
authentication: "Authentifikation"
authenticationRequiredToContinue: "Bitte authentifiziere dich, um fortzufahren"
dateAndTime: "Zeit"
showRenotes: "Renotes anzeigen"
edited: "Bearbeitet"
notificationRecieveConfig: "Benachrichtigungseinstellungen"
mutualFollow: "Gegenseitig gefolgt"
fileAttachedOnly: "Nur Notizen mit Dateien"
showRepliesToOthersInTimeline: "Antworten in Chronik anzeigen"
hideRepliesToOthersInTimeline: "Antworten nicht in Chronik anzeigen"
showRepliesToOthersInTimelineAll: "Antworten von allen momentan gefolgten Benutzern in Chronik anzeigen"
hideRepliesToOthersInTimelineAll: "Antworten von allen momentan gefolgten Benutzern nicht in Chronik anzeigen"
confirmShowRepliesAll: "Dies ist eine unwiderrufliche Aktion. Wirklich Antworten von allen momentan gefolgten Benutzern in der Chronik anzeigen?"
confirmHideRepliesAll: "Dies ist eine unwiderrufliche Aktion. Wirklich Antworten von allen momentan gefolgten Benutzern nicht in der Chronik anzeigen?"
externalServices: "Externe Dienste"
sourceCode: "Quellcode"
impressum: "Impressum"
impressumUrl: "Impressums-URL"
impressumDescription: "In manchen Ländern, wie Deutschland und dessen Umgebung, ist die Angabe von Betreiberinformationen (ein Impressum) bei kommerziellem Betrieb zwingend."
privacyPolicy: "Datenschutzerklärung"
privacyPolicyUrl: "Datenschutzerklärungs-URL"
tosAndPrivacyPolicy: "Nutzungsbedingungen und Datenschutzerklärung"
avatarDecorations: "Profilbilddekoration"
attach: "Anbringen"
detach: "Entfernen"
angle: "Winkel"
flip: "Umdrehen"
showAvatarDecorations: "Profilbilddekoration anzeigen"
releaseToRefresh: "Zum Aktualisieren loslassen"
refreshing: "Wird aktualisiert..."
pullDownToRefresh: "Zum Aktualisieren ziehen"
disableStreamingTimeline: "Echtzeitaktualisierung der Chronik deaktivieren"
useGroupedNotifications: "Benachrichtigungen gruppieren"
signupPendingError: "Beim Überprüfen der Mailadresse ist etwas schiefgelaufen. Der Link könnte abgelaufen sein."
cwNotationRequired: "Ist \"Inhaltswarnung verwenden\" aktiviert, muss eine Beschreibung gegeben werden."
doReaction: "Reagieren"
code: "Code"
decorate: "Dekorieren"
addMfmFunction: "MFM hinzufügen"
sfx: "Soundeffekte"
lastNDays: "Letzten {n} Tage"
surrender: "Abbrechen"
_announcement:
forExistingUsers: "Nur für existierende Nutzer"
forExistingUsersDescription: "Ist diese Option aktiviert, wird diese Ankündigung nur Nutzern angezeigt, die zum Zeitpunkt der Ankündigung bereits registriert sind. Ist sie deaktiviert, wird sie auch Nutzern, die sich nach dessen Veröffentlichung registrieren, angezeigt."
@@ -1194,10 +1117,6 @@ _announcement:
tooManyActiveAnnouncementDescription: "Zu viele aktive Ankündigungen können die Benutzerfreundlichkeit verschlechtern. Es wird empfohlen, veraltete Ankündigungen zu archivieren."
readConfirmTitle: "Als gelesen markieren?"
readConfirmText: "Dies markiert den Inhalt von \"{title}\" als gelesen."
shouldNotBeUsedToPresentPermanentInfo: "Es wird empfohlen, Ankündigungen für aktuelle und zeitlich begrenzte Neuigkeiten zu nutzen, statt für Informationen, die langfristig relevant sind."
dialogAnnouncementUxWarn: "Bei der Verwendung von mehr als zwei Meldungen im Dialog-Format wird um Vorsicht geboten, da dies negative Auswirkungen auf die UX haben kann."
silence: "Keine Benachrichtigung"
silenceDescription: "Wenn aktiviert, gibt diese Meldung keine Nachricht aus und muss nicht als \"gelesen\" markiert werden."
_initialAccountSetting:
accountCreated: "Dein Konto wurde erfolgreich erstellt!"
letsStartAccountSetup: "Lass uns nun dein Konto einrichten."
@@ -1210,52 +1129,11 @@ _initialAccountSetting:
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}!"
youCanContinueTutorial: "Du kannst mit dem Tutorial von {name}(Misskey) fortfahren, oder auch abbrechen und gleich anfangen Misskey zu benutzen."
startTutorial: "Fange mit dem Tutorial an"
ifYouNeedLearnMore: "Besuche {link}, falls du mehr über {name} (Misskey) lernen möchtest."
skipAreYouSure: "Die Kontoeinrichtung wirklich überspringen?"
laterAreYouSure: "Die Kontoeinrichtung wirklich später erledigen?"
_initialTutorial:
launchTutorial: "Tutorial ansehen"
title: "Tutorial"
wellDone: "Gut gemacht!"
skipAreYouSure: "Möchtest du das Tutorial verlassen?"
_landing:
title: "Willkommen zum Tutorial"
description: "Hier kannst du sehen, wie Misskey funktioniert"
_note:
title: "Was sind Notizen?"
description: "Beiträge auf Misskey heißen \"Notizen\". Notizen werden chronologisch in der Chronik angeordnet und in Echtzeit aktualisiert."
reply: "Klicke auf diesen Button, um auf eine Nachricht zu antworten. Es ist auch möglich, auf Antworten zu antworten und die Unterhaltung wie einen Thread fortzusetzen."
_reaction:
title: "Was sind Reaktionen?"
reactToContinue: "Füge eine Reaktion hinzu, um fortzufahren."
reactNotification: "Du erhältst Echtzeit-Benachrichtigungen, wenn jemand auf deine Notiz reagiert."
_postNote:
_visibility:
description: "Du kannst einschränken, wer deine Notiz sehen kann."
public: "Deine Notiz wird für alle Nutzer sichtbar sein."
doNotSendConfidencialOnDirect1: "Sei vorsichtig, wenn du sensible Informationen verschickst!"
_cw:
title: "Inhaltswarnung"
_done:
title: "Du hast das Tutorial abgeschlossen! 🎉"
_timelineDescription:
local: "In der lokalen Chronik siehst du Notizen von allen Benutzern auf diesem Server."
global: "In der globalen Chronik siehst du Notizen von allen föderierten Servern."
_serverRules:
description: "Eine Reihe von Regeln, die vor der Registrierung angezeigt werden. Eine Zusammenfassung der Nutzungsbedingungen anzuzeigen ist empfohlen."
_serverSettings:
iconUrl: "Icon-URL"
appIconDescription: "Gibt das zu verwendende Icon bei der Anzeige von {host} als App an."
appIconUsageExample: "Beispielsweise als PWA, oder bei Lesezeichen auf dem Startbildschirm von Smartphones"
appIconStyleRecommendation: "Da das Icon zu einem Kreis oder Quadrat zugeschnitten wird, wird ein Icon mit gefülltem Margin um den Inhalt herum empfohlen."
appIconResolutionMustBe: "Die Mindestauflösung ist {resolution}."
manifestJsonOverride: "Überschreiben von manifest.json"
shortName: "Abkürzung"
shortNameDescription: "Ein Kürzel für den Namen der Instanz, der angezeigt werden kann, falls der volle Instanzname lang ist."
fanoutTimelineDescription: "Ist diese Option aktiviert, kann eine erhebliche Verbesserung im Abrufen von Chroniken und eine Reduzierung der Datenbankbelastung erzielt werden, im Gegenzug zu einer Steigerung in der Speichernutzung von Redis. Bei geringem Serverspeicher oder Serverinstabilität kann diese Option deaktiviert werden."
fanoutTimelineDbFallback: "Auf die Datenbank zurückfallen"
fanoutTimelineDbFallbackDescription: "Ist diese Option aktiviert, wird die Chronik auf zusätzliche Abfragen in der Datenbank zurückgreifen, wenn sich die Chronik nicht im Cache befindet. Eine Deaktivierung führt zu geringerer Serverlast, aber schränkt den Zeitraum der abrufbaren Chronik ein. "
_accountMigration:
moveFrom: "Von einem anderen Konto zu diesem migrieren"
moveFromSub: "Alias für ein anderes Konto erstellen"
@@ -1513,8 +1391,6 @@ _achievements:
_smashTestNotificationButton:
title: "Testüberfluss"
description: "Betätige den Benachrichtigungstest mehrfach innerhalb einer extrem kurzen Zeitspanne"
_tutorialCompleted:
description: "Tutorial abgeschlossen"
_role:
new: "Rolle erstellen"
edit: "Rolle bearbeiten"
@@ -1525,9 +1401,7 @@ _role:
assignTarget: "Zuweisungsart"
descriptionOfAssignTarget: "<b>Manuell</b> bedeutet, dass die Liste der Benutzer einer Rolle manuell verwaltet wird.\n<b>Konditional</b> bedeutet, dass die Liste der Benutzer einer Rolle durch eine Bedingung automatisch verwaltet wird."
manual: "Manuell"
manualRoles: "Manuelle Rollen"
conditional: "Konditional"
conditionalRoles: "Bedingte Rolle"
condition: "Bedingung"
isConditionalRole: "Dies ist eine konditionale Rolle."
isPublic: "Öffentliche Rolle"
@@ -1560,7 +1434,6 @@ _role:
inviteLimitCycle: "Zyklus des Einladungslimits"
inviteExpirationTime: "Gültigkeitsdauer von Einladungen"
canManageCustomEmojis: "Benutzerdefinierte Emojis verwalten"
canManageAvatarDecorations: "Profilbilddekorationen verwalten"
driveCapacity: "Drive-Kapazität"
alwaysMarkNsfw: "Dateien immer als NSFW markieren"
pinMax: "Maximale Anzahl an angehefteten Notizen"
@@ -1569,14 +1442,12 @@ _role:
webhookMax: "Maximale Anzahl an Webhooks"
clipMax: "Maximale Anzahl an Clips"
noteEachClipsMax: "Maximale Anzahl an Notizen innerhalb eines Clips"
userListMax: "Maximale Anzahl an Benutzerlisten"
userEachUserListsMax: "Maximale Anzahl an Benutzern in einer Benutzerliste"
userListMax: "Maximale Anzahl an Benutzern in einer Benutzerliste"
userEachUserListsMax: "Maximale Anzahl an Benutzerlisten"
rateLimitFactor: "Versuchsanzahl"
descriptionOfRateLimitFactor: "Je niedriger desto weniger restriktiv, je höher destro restriktiver."
canHideAds: "Kann Werbung ausblenden"
canSearchNotes: "Nutzung der Notizsuchfunktion"
canUseTranslator: "Verwendung des Übersetzers"
avatarDecorationLimit: "Maximale Anzahl an Profilbilddekorationen, die angebracht werden können"
_condition:
isLocal: "Lokaler Benutzer"
isRemote: "Benutzer fremder Instanz"
@@ -1605,7 +1476,6 @@ _emailUnavailable:
disposable: "Wegwerf-Email-Adressen können nicht verwendet werden"
mx: "Dieser Email-Server ist ungültig"
smtp: "Dieser Email-Server antwortet nicht"
banned: "Du kannst dich mit dieser E-Mail-Adresse nicht registrieren"
_ffVisibility:
public: "Öffentlich"
followers: "Nur für Follower sichtbar"
@@ -1626,10 +1496,6 @@ _ad:
reduceFrequencyOfThisAd: "Diese Werbung weniger anzeigen"
hide: "Ausblenden"
timezoneinfo: "Der Wochentag wird durch die Serverzeitzone bestimmt."
adsSettings: "Werbeeinstellungen"
notesPerOneAd: "Werbeintervall während Echtzeitaktualisierung (Notizen pro Werbung)"
setZeroToDisable: "Setze dies auf 0, um Werbung während Echtzeitaktualisierung zu deaktivieren"
adsTooClose: "Durch den momentan sehr niedrigen Werbeintervall kann es zu einer starken Verschlechterung der Benutzererfahrung kommen."
_forgotPassword:
enterEmail: "Gib die Email-Adresse ein, mit der du dich registriert hast. An diese wird ein Link gesendet, mit dem du dein Passwort zurücksetzen kannst."
ifNoEmail: "Solltest du bei der Registrierung keine Email-Adresse angegeben haben, wende dich bitte an den Administrator."
@@ -1648,7 +1514,6 @@ _plugin:
install: "Plugins installieren"
installWarn: "Installiere bitte nur vertrauenswürdige Plugins."
manage: "Plugins verwalten"
viewSource: "Quelltext anzeigen"
_preferencesBackups:
list: "Erstellte Backups"
saveNew: "Neu erstellen"
@@ -1682,7 +1547,6 @@ _aboutMisskey:
donate: "An Misskey spenden"
morePatrons: "Wir schätzen ebenso die Unterstützung vieler anderer hier nicht gelisteter Personen sehr. Danke! 🥰"
patrons: "UnterstützerInnen"
projectMembers: "Projektmitglieder"
_displayOfSensitiveMedia:
respect: "Sensible Medien verbergen"
ignore: "Sensible Medien anzeigen"
@@ -1716,6 +1580,11 @@ _wordMute:
muteWords: "Stummgeschaltete Wörter"
muteWordsDescription: "Zum Nutzen einer \"UND\"-Verknüpfung Einträge mit Leerzeichen trennen, zum Nutzen einer \"ODER\"-Verknüpfung Einträge mit einem Zeilenumbruch trennen."
muteWordsDescription2: "Umgib Schlüsselworter mit Schrägstrichen, um Reguläre Ausdrücke zu verwenden."
softDescription: "Notizen, die die angegebenen Konditionen erfüllen, in der Chronik ausblenden."
hardDescription: "Verhindern, dass Notizen, die die angegebenen Konditionen erfüllen, der Chronik hinzugefügt werden. Zudem werden diese Notizen auch nicht der Chronik hinzugefügt, falls die Konditionen geändert werden."
soft: "Leicht"
hard: "Schwer"
mutedNotes: "Stummgeschaltete Notizen"
_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"
@@ -1779,6 +1648,9 @@ _theme:
infoFg: "Text von Informationen"
infoWarnBg: "Hintergrund von Warnungen"
infoWarnFg: "Text von Warnungen"
cwBg: "Hintergrund des Inhaltswarnungsknopfs"
cwFg: "Text des Inhaltswarnungsknopfs"
cwHoverBg: "Hintergrund des Inhaltswarnungsknopfs (Mouseover)"
toastBg: "Hintergrund von Benachrichtigungen"
toastFg: "Text von Benachrichtigungen"
buttonBg: "Hintergrund von Schaltflächen"
@@ -1796,6 +1668,8 @@ _sfx:
note: "Notizen"
noteMy: "Meine Notizen"
notification: "Benachrichtigungen"
chat: "Chat"
chatBg: "Chat (Hintergrund)"
antenna: "Antennen"
channel: "Kanalbenachrichtigung"
_ago:
@@ -1814,15 +1688,26 @@ _time:
minute: "Minute(n)"
hour: "Stunde(n)"
day: "Tag(en)"
_timelineTutorial:
title: "Wie du Misskey verwendest"
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."
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."
step2Uri: "Nutzt du ein Desktopprogramm, gib folgende URI eingeben"
step3Title: "Authentifizierungsscode eingeben"
step3: "Gib zum Abschluss den Code (Token) ein, der von deiner App angezeigt wird."
step3: "Gib zum Abschluss den Token ein, der von deiner App angezeigt wird."
setupCompleted: "Einrichtung abgeschlossen"
step4: "Alle folgenden Anmeldeversuche werden ab sofort die Eingabe eines solchen Tokens benötigen."
securityKeyNotSupported: "Dein Browser unterstützt keine Hardware-Sicherheitsschlüssel."
@@ -1895,7 +1780,6 @@ _antennaSources:
homeTimeline: "Notizen von Benutzern, denen gefolgt wird"
users: "Notizen von einem oder mehreren angegebenen Benutzern"
userList: "Notizen von allen Benutzern einer Liste"
userBlacklist: "Alle Notizen abgesehen derer angegebener Benutzer"
_weekday:
sunday: "Sonntag"
monday: "Montag"
@@ -1934,7 +1818,6 @@ _widgets:
_userList:
chooseList: "Liste auswählen"
clicker: "Klickzähler"
birthdayFollowings: "Nutzer, die heute Geburtstag haben"
_cw:
hide: "Inhalt verbergen"
show: "Inhalt anzeigen"
@@ -1996,18 +1879,15 @@ _profile:
metadataContent: "Inhalt"
changeAvatar: "Profilbild ändern"
changeBanner: "Banner ändern"
verifiedLinkDescription: "Gibst du hier eine URL ein, die einen Link zu deinem Profile enthält, wird neben diesem Feld ein Icon zur Besitzbestätigung angezeigt."
_exportOrImport:
allNotes: "Alle Notizen"
favoritedNotes: "Als Favorit markierte Notizen"
clips: "Clip erstellen"
followingList: "Gefolgte Benutzer"
muteList: "Stummschaltungen"
blockingList: "Blockierungen"
userLists: "Listen"
excludeMutingUsers: "Stummgeschaltete Benutzer aussortieren"
excludeInactiveUsers: "Inaktive Benutzer aussortieren"
withReplies: "Antworten von importierten Benutzern in der Chronik beinhalten"
_charts:
federation: "Föderation"
apRequest: "Anfragen"
@@ -2117,7 +1997,6 @@ _notification:
youReceivedFollowRequest: "Du hast eine Follow-Anfrage erhalten"
yourFollowRequestAccepted: "Deine Follow-Anfrage wurde akzeptiert"
pollEnded: "Umfrageergebnisse sind verfügbar"
newNote: "Neue Notiz"
unreadAntennaNote: "Antenne {name}"
emptyPushNotificationMessage: "Push-Benachrichtigungen wurden aktualisiert"
achievementEarned: "Errungenschaft freigeschaltet"
@@ -2125,12 +2004,8 @@ _notification:
checkNotificationBehavior: "Aussehen von Benachrichtigungen überprüfen"
sendTestNotification: "Testbenachrichtigung senden"
notificationWillBeDisplayedLikeThis: "Benachrichtigungen sehen so aus"
reactedBySomeUsers: "{n} Benutzer haben eine Reaktion geschickt"
renotedBySomeUsers: "Renote von {n} Benutzern"
followedBySomeUsers: "Von {n} Benutzern gefolgt"
_types:
all: "Alle"
note: "Neue Notizen"
follow: "Neue Follower"
mention: "Erwähnungen"
reply: "Antworten"
@@ -2200,93 +2075,3 @@ _webhookSettings:
renote: "Wenn du ein Renote erhältst"
reaction: "Wenn du eine Reaktion erhältst"
mention: "Wenn du erwähnt wirst"
_moderationLogTypes:
createRole: "Rolle erstellt"
deleteRole: "Rolle gelöscht"
updateRole: "Rolle aktualisiert"
assignRole: "Zu Rolle zugewiesen"
unassignRole: "Aus Rolle entfernt"
suspend: "Gesperrt"
unsuspend: "Entsperrt"
addCustomEmoji: "Benutzerdefiniertes Emoji hinzugefügt"
updateCustomEmoji: "Benutzerdefiniertes Emoji aktualisiert"
deleteCustomEmoji: "Benutzerdefiniertes Emoji gelöscht"
updateServerSettings: "Servereinstellungen aktualisiert"
updateUserNote: "Moderationsnotiz aktualisiert"
deleteDriveFile: "Datei gelöscht"
deleteNote: "Notiz gelöscht"
createGlobalAnnouncement: "Globale Ankündigung erstellt"
createUserAnnouncement: "Benutzerspezifische Ankündigung erstellt"
updateGlobalAnnouncement: "Globale Ankündigung aktualisiert"
updateUserAnnouncement: "Benutzerspezifische Ankündigung aktualisiert"
deleteGlobalAnnouncement: "Globale Ankündigung gelöscht"
deleteUserAnnouncement: "Benutzerspezifische Ankündigung gelöscht"
resetPassword: "Passwort zurückgesetzt"
suspendRemoteInstance: "Fremde Instanz gesperrt"
unsuspendRemoteInstance: "Fremde Instanz entsperrt"
markSensitiveDriveFile: "Datei als sensitiv markiert"
unmarkSensitiveDriveFile: "Datei als nicht sensitiv markiert"
resolveAbuseReport: "Meldung bearbeitet"
createInvitation: "Einladung erstellt"
createAd: "Werbung erstellt"
deleteAd: "Werbung gelöscht"
updateAd: "Werbung aktualisiert"
createAvatarDecoration: "Profilbilddekoration erstellt"
updateAvatarDecoration: "Profilbilddekoration aktualisiert"
deleteAvatarDecoration: "Profilbilddekoration gelöscht"
_fileViewer:
title: "Dateiinformationen"
type: "Dateityp"
size: "Dateigröße"
url: "URL"
uploadedAt: "Hochgeladen am"
attachedNotes: "Zugehörige Notizen"
thisPageCanBeSeenFromTheAuthor: "Nur der Benutzer, der diese Datei hochgeladen hat, kann diese Seite sehen."
_externalResourceInstaller:
title: "Von externer Seite installieren"
checkVendorBeforeInstall: "Überprüfe vor Installation die Vertrauenswürdigkeit des Vertreibers."
_plugin:
title: "Möchtest du dieses Plugin installieren?"
metaTitle: "Plugininformation"
_theme:
title: "Möchten du dieses Farbschema installieren?"
metaTitle: "Farbschemainfo"
_meta:
base: "Farbschemavorlage"
_vendorInfo:
title: "Vertreiber"
endpoint: "Referenzierter Endpunkt"
hashVerify: "Hash-Verifikation"
_errors:
_invalidParams:
title: "Ungültige Parameter"
description: "Es fehlen Informationen zum Laden der externen Ressource. Überprüfe die übergebene URL."
_resourceTypeNotSupported:
title: "Diese Ressource wird nicht unterstützt"
description: "Dieser Ressourcentyp wird nicht unterstützt. Bitte kontaktiere den Seitenbesitzer."
_failedToFetch:
title: "Fehler beim Abrufen der Daten"
fetchErrorDescription: "Während der Kommunikation mit der externen Seite ist ein Fehler aufgetreten. Kontaktiere den Seitenbesitzer, falls ein erneutes Probieren dieses Problem nicht löst."
parseErrorDescription: "Während dem Auslesen der externen Daten ist ein Fehler aufgetreten. Kontaktiere den Seitenbesitzer."
_hashUnmatched:
title: "Datenverifizierung fehlgeschlagen"
description: "Die Integritätsprüfung der geladenen Daten ist fehlgeschlagen. Aus Sicherheitsgründen kann die Installation nicht fortgesetzt werden. Kontaktiere den Seitenbesitzer."
_pluginParseFailed:
title: "AiScript-Fehler"
description: "Die angeforderten Daten wurden erfolgreich abgerufen, jedoch trat während des AiScript-Parsings ein Fehler auf. Kontaktiere den Autor des Plugins. Detaillierte Fehlerinformationen können über die Javascript-Konsole abgerufen werden."
_pluginInstallFailed:
title: "Das Plugin konnte nicht installiert werden"
description: "Während der Installation des Plugin ist ein Problem aufgetreten. Bitte versuche es erneut. Detaillierte Fehlerinformationen können über die Javascript-Konsole abgerufen werden."
_themeParseFailed:
title: "Parsing des Farbschemas fehlgeschlagen"
description: "Die angeforderten Daten wurden erfolgreich abgerufen, jedoch trat während des Farbschema-Parsings ein Fehler auf. Kontaktiere den Autor des Farbschemas. Detaillierte Fehlerinformationen können über die Javascript-Konsole abgerufen werden."
_themeInstallFailed:
title: "Das Farbschema konnte nicht installiert werden"
description: "Während der Installation des Farbschemas ist ein Problem aufgetreten. Bitte versuche es erneut. Detaillierte Fehlerinformationen können über die Javascript-Konsole abgerufen werden."
_reversi:
blackOrWhite: "Schwarz/Weiß"
rules: "Regeln"
black: "Schwarz"
white: "Weiß"
total: "Gesamt"

View File

@@ -104,6 +104,7 @@ clickToShow: "Κάντε κλικ για εμφάνιση"
add: "Προσθέστε"
reaction: "Αντιδράσεις"
reactions: "Αντιδράσεις"
reactionSetting: "Αντιδράσεις για εμφάνιση στην επιλογή αντίδρασης"
reactionSettingDescription2: "Σύρετε για να αλλάξετε τη σειρά, κάντε κλικ για να διαγράψετε, πατήστε \"+\" για να προσθέσετε."
rememberNoteVisibility: "Θυμήσου τις ρυθμίσεις ορατότητας σημειώματος"
attachCancel: "Διαγραφή αρχείου"
@@ -227,6 +228,7 @@ userList: "Λίστες"
about: "Πληροφορίες"
moderator: "Συντονιστής"
moderation: "Συντονισμός"
cacheClear: "Εκκαθάριση προσωρινής μνήμης"
markAsReadAllNotifications: "Όλες οι ειδοποιήσεις διαβάστηκαν"
members: "Μέλη"
transfer: "Μεταφορά"
@@ -286,8 +288,6 @@ file: "Αρχεία"
recommended: "Προτεινόμενα"
cannotUploadBecauseNoFreeSpace: "Το ανέβασμα απέτυχε λόγω ανεπαρκούς Αποθηκευτικού Χώρου"
icon: "Εικονίδιο"
replies: "Απάντηση"
renotes: "Κοινοποίηση σημειώματος"
_email:
_follow:
title: "Έχετε ένα νέο ακόλουθο"
@@ -301,6 +301,8 @@ _theme:
_sfx:
note: "Σημειώματα"
notification: "Ειδοποιήσεις"
chat: "Συνομιλία"
chatBg: "Συνομιλία (Παρασκήνιο)"
antenna: "Αντένες"
channel: "Ειδοποιήσεις καναλιών"
_ago:
@@ -356,7 +358,6 @@ _profile:
username: "Όνομα μέλους"
_exportOrImport:
allNotes: "Όλα τα σημειώματα"
clips: "Κλιπ"
followingList: "Ακολουθεί"
muteList: "Μέλη σε σίγαση"
blockingList: "Μπλοκαρισμένα μέλη"
@@ -394,8 +395,3 @@ _deck:
mentions: "Επισημάνσεις"
_webhookSettings:
name: "Όνομα"
_moderationLogTypes:
suspend: "Αποβολή"
_reversi:
total: "Σύνολο"

View File

@@ -48,7 +48,7 @@ copyLink: "Copy link"
copyLinkRenote: "Copy renote link"
delete: "Delete"
deleteAndEdit: "Delete and edit"
deleteAndEditConfirm: "Are you sure you want to redraft this note? This means you will lose all reactions, renotes, and replies to it."
deleteAndEditConfirm: "Are you sure you want to delete this note and edit it? You will lose all reactions, renotes and replies to it."
addToList: "Add to list"
addToAntenna: "Add to antenna"
sendMessage: "Send a message"
@@ -106,7 +106,7 @@ unfollow: "Unfollow"
followRequestPending: "Follow request pending"
enterEmoji: "Enter an emoji"
renote: "Renote"
unrenote: "Remove renote"
unrenote: "Take back renote"
renoted: "Renoted."
cantRenote: "This post can't be renoted."
cantReRenote: "A renote can't be renoted."
@@ -121,16 +121,10 @@ sensitive: "Sensitive"
add: "Add"
reaction: "Reactions"
reactions: "Reactions"
emojiPicker: "Emoji picker"
pinnedEmojisForReactionSettingDescription: "Set the emojis which should be pinned and displayed immediately when reacting."
pinnedEmojisSettingDescription: "Set the emojis to be pinned and displayed when viewing emoji picker"
emojiPickerDisplay: "Emoji picker display"
overwriteFromPinnedEmojisForReaction: "Override from reaction settings"
overwriteFromPinnedEmojis: "Override from general settings"
reactionSetting: "Reactions to show in the reaction picker"
reactionSettingDescription2: "Drag to reorder, click to delete, press \"+\" to add."
rememberNoteVisibility: "Remember note visibility settings"
attachCancel: "Remove attachment"
deleteFile: "File deleted"
markAsSensitive: "Mark as sensitive"
unmarkAsSensitive: "Unmark as sensitive"
enterFileName: "Enter filename"
@@ -201,7 +195,6 @@ perHour: "Per Hour"
perDay: "Per Day"
stopActivityDelivery: "Stop sending activities"
blockThisInstance: "Block this instance"
silenceThisInstance: "Silence this instance"
operations: "Operations"
software: "Software"
version: "Version"
@@ -220,9 +213,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 you want to block separated by linebreaks. Listed instances will no longer be able to communicate with this instance."
silencedInstances: "Silenced instances"
silencedInstancesDescription: "List the hostnames of the instances that you want to silence. All accounts of the listed instances will be treated as silenced, can only make follow requests, and cannot mention local accounts if not followed. This will not affect blocked instances."
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"
@@ -267,7 +258,6 @@ removed: "Successfully deleted"
removeAreYouSure: "Are you sure that you want to remove \"{x}\"?"
deleteAreYouSure: "Are you sure that you want to delete \"{x}\"?"
resetAreYouSure: "Really reset?"
areYouSure: "Are you sure?"
saved: "Saved"
messaging: "Chat"
upload: "Upload"
@@ -318,7 +308,6 @@ folderName: "Folder name"
createFolder: "Create a folder"
renameFolder: "Rename this folder"
deleteFolder: "Delete this folder"
folder: "Folder"
addFile: "Add a file"
emptyDrive: "Your Drive is empty"
emptyFolder: "This folder is empty"
@@ -367,6 +356,7 @@ invite: "Invite"
driveCapacityPerLocalAccount: "Drive capacity per local user"
driveCapacityPerRemoteAccount: "Drive capacity per remote user"
inMb: "In megabytes"
iconUrl: "Icon URL"
bannerUrl: "Banner image URL"
backgroundImageUrl: "Background image URL"
basicInfo: "Basic info"
@@ -380,11 +370,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Enable hCaptcha"
hcaptchaSiteKey: "Site key"
hcaptchaSecretKey: "Secret key"
mcaptcha: "mCaptcha"
enableMcaptcha: "Enable mCaptcha"
mcaptchaSiteKey: "Site key"
mcaptchaSecretKey: "Secret key"
mcaptchaInstanceUrl: "mCaptcha instance URL"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Enable reCAPTCHA"
recaptchaSiteKey: "Site key"
@@ -434,7 +419,6 @@ moderator: "Moderator"
moderation: "Moderation"
moderationNote: "Moderation note"
addModerationNote: "Add moderation note"
moderationLogs: "Moderation logs"
nUsersMentioned: "Mentioned by {n} users"
securityKeyAndPasskey: "Security- and passkeys"
securityKey: "Security key"
@@ -450,6 +434,7 @@ share: "Share"
notFound: "Not found"
notFoundDescription: "No page corresponding to this URL could be found."
uploadFolder: "Default folder for uploads"
cacheClear: "Clear cache"
markAsReadAllNotifications: "Mark all notifications as read"
markAsReadAllUnreadNotes: "Mark all notes as read"
markAsReadAllTalkMessages: "Mark all messages as read"
@@ -546,7 +531,6 @@ 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)"
withRepliesByDefaultForNewlyFollowed: "Include replies by newly followed users in the timeline by default"
newNoteRecived: "There are new notes"
sounds: "Sounds"
sound: "Sounds"
@@ -556,8 +540,6 @@ showInPage: "Show in page"
popout: "Pop-out"
volume: "Volume"
masterVolume: "Master volume"
notUseSound: "Disable sound"
useSoundOnlyWhenActive: "Output sounds only if Misskey is active."
details: "Details"
chooseEmoji: "Select an emoji"
unableToProcess: "The operation could not be completed"
@@ -578,10 +560,6 @@ output: "Output"
script: "Script"
disablePagesScript: "Disable AiScript on Pages"
updateRemoteUser: "Update remote user information"
unsetUserAvatar: "Unset avatar"
unsetUserAvatarConfirm: "Are you sure you want to unset the avatar?"
unsetUserBanner: "Unset banner"
unsetUserBannerConfirm: "Are you sure you want to unset the banner?"
deleteAllFiles: "Delete all files"
deleteAllFilesConfirm: "Are you sure that you want to delete all files?"
removeAllFollowing: "Unfollow all followed users"
@@ -611,7 +589,7 @@ poll: "Poll"
useCw: "Hide content"
enablePlayer: "Open video player"
disablePlayer: "Close video player"
expandTweet: "Expand post"
expandTweet: "Expand tweet"
themeEditor: "Theme editor"
description: "Description"
describeFile: "Add caption"
@@ -632,7 +610,6 @@ medium: "Medium"
small: "Small"
generateAccessToken: "Generate access token"
permission: "Permissions"
adminPermission: "Admin Permissions"
enableAll: "Enable all"
disableAll: "Disable all"
tokenRequested: "Grant access to account"
@@ -649,12 +626,11 @@ smtpHost: "Host"
smtpPort: "Port"
smtpUser: "Username"
smtpPass: "Password"
emptyToDisableSmtpAuth: "Leave username and password empty to disable SMTP authentication"
emptyToDisableSmtpAuth: "Leave username and password empty to disable SMTP verification"
smtpSecure: "Use implicit SSL/TLS for SMTP connections"
smtpSecureInfo: "Turn this off when using STARTTLS"
testEmail: "Test email delivery"
wordMute: "Word mute"
hardWordMute: "Hard word mute"
regexpError: "Regular Expression error"
regexpErrorDescription: "An error occurred in the regular expression on line {line} of your {tab} word mutes:"
instanceMute: "Instance Mutes"
@@ -676,7 +652,6 @@ useGlobalSettingDesc: "If turned on, your account's notification settings will b
other: "Other"
regenerateLoginToken: "Regenerate login token"
regenerateLoginTokenDescription: "Regenerates the token used internally during login. Normally this action is not necessary. If regenerated, all devices will be logged out."
theKeywordWhenSearchingForCustomEmoji: "This is the keyword when searching for custom emojis."
setMultipleBySeparatingWithSpace: "Separate multiple entries with spaces."
fileIdOrUrl: "File ID or URL"
behavior: "Behavior"
@@ -736,7 +711,6 @@ lockedAccountInfo: "Unless you set your note visiblity to \"Followers only\", yo
alwaysMarkSensitive: "Mark as sensitive by default"
loadRawImages: "Load original images instead of showing thumbnails"
disableShowingAnimatedImages: "Don't play animated images"
highlightSensitiveMedia: "Highlight sensitive media"
verificationEmailSent: "A verification email has been sent. Please follow the included link to complete verification."
notSet: "Not set"
emailVerified: "Email has been verified"
@@ -819,7 +793,7 @@ active: "Active"
offline: "Offline"
notRecommended: "Not recommended"
botProtection: "Bot Protection"
instanceBlocking: "Blocked/Silenced Instances"
instanceBlocking: "Blocked Instances"
selectAccount: "Select account"
switchAccount: "Switch account"
enabled: "Enabled"
@@ -889,8 +863,8 @@ makeReactionsPublicDescription: "This will make the list of all your past reacti
classic: "Classic"
muteThread: "Mute thread"
unmuteThread: "Unmute thread"
followingVisibility: "Visibility of follows"
followersVisibility: "Visibility of followers"
ffVisibility: "Follows/Followers Visibility"
ffVisibilityDescription: "Allows you to configure who can see who you follow and who follows you."
continueThread: "View thread continuation"
deleteAccountConfirm: "This will irreversibly delete your account. Proceed?"
incorrectPassword: "Incorrect password."
@@ -940,7 +914,7 @@ typeToConfirm: "Please enter {x} to confirm"
deleteAccount: "Delete account"
document: "Documentation"
numberOfPageCache: "Number of cached pages"
numberOfPageCacheDescription: "Increasing this number will improve convenience for but cause more load as more memory usage on the user's device."
numberOfPageCacheDescription: "Increasing this number will improve convenience for users but cause more server load as well as more memory to be used."
logoutConfirm: "Really log out?"
lastActiveDate: "Last used at"
statusbar: "Status bar"
@@ -991,7 +965,6 @@ neverShow: "Don't show again"
remindMeLater: "Maybe later"
didYouLikeMisskey: "Have you taken a liking to Misskey?"
pleaseDonate: "{host} uses the free software, Misskey. We would highly appreciate your donations so development of Misskey can continue!"
correspondingSourceIsAvailable: "The corresponding source code is available at {anchor}"
roles: "Roles"
role: "Role"
noRole: "Role not found"
@@ -1001,7 +974,6 @@ assign: "Assign"
unassign: "Unassign"
color: "Color"
manageCustomEmojis: "Manage Custom Emojis"
manageAvatarDecorations: "Manage avatar decorations"
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."
@@ -1042,11 +1014,6 @@ 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."
prohibitedWords: "Prohibited words"
prohibitedWordsDescription: "Enables an error when attempting to post a note containing the set word(s). Multiple words can be set, separated by a new line."
prohibitedWordsDescription2: "Using spaces will create AND expressions and surrounding keywords with slashes will turn them into a regular expression."
hiddenTags: "Hidden hashtags"
hiddenTagsDescription: "Select tags which will not shown on trend list.\nMultiple tags could be registered by lines."
notesSearchNotAvailable: "Note search is unavailable."
license: "License"
unfavoriteConfirm: "Really remove from favorites?"
@@ -1059,12 +1026,9 @@ enableChartsForRemoteUser: "Generate remote user data charts"
enableChartsForFederatedInstances: "Generate remote instance data charts"
showClipButtonInNoteFooter: "Add \"Clip\" to note action menu"
reactionsDisplaySize: "Reaction display size"
limitWidthOfReaction: "Limits the maximum width of reactions and display them in reduced size."
noteIdOrUrl: "Note ID or URL"
video: "Video"
videos: "Videos"
audio: "Audio"
audioFiles: "Audio"
dataSaver: "Data Saver"
accountMigration: "Account Migration"
accountMoved: "This user has moved to a new account:"
@@ -1144,100 +1108,6 @@ currentAnnouncements: "Current announcements"
pastAnnouncements: "Past announcements"
youHaveUnreadAnnouncements: "There are unread announcements."
useSecurityKey: "Please follow your browser's or device's instructions to use your security- or passkey."
replies: "Reply"
renotes: "Renotes"
loadReplies: "Show replies"
loadConversation: "Show conversation"
pinnedList: "Pinned list"
keepScreenOn: "Keep screen on"
verifiedLink: "Link ownership has been verified"
notifyNotes: "Notify about new notes"
unnotifyNotes: "Stop notifying about new notes"
authentication: "Authentication"
authenticationRequiredToContinue: "Please authenticate to continue"
dateAndTime: "Timestamp"
showRenotes: "Show renotes"
edited: "Edited"
notificationRecieveConfig: "Notification Settings"
mutualFollow: "Mutual follow"
followingOrFollower: "Following or follower"
fileAttachedOnly: "Only notes with files"
showRepliesToOthersInTimeline: "Show replies to others in timeline"
hideRepliesToOthersInTimeline: "Hide replies to others from timeline"
showRepliesToOthersInTimelineAll: "Show replies to others from everyone you follow in timeline"
hideRepliesToOthersInTimelineAll: "Hide replies to others from everyone you follow in timeline"
confirmShowRepliesAll: "This operation is irreversible. Would you really like to show replies to others from everyone you follow in your timeline?"
confirmHideRepliesAll: "This operation is irreversible. Would you really like to hide replies to others from everyone you follow in your timeline?"
externalServices: "External Services"
sourceCode: "Source code"
sourceCodeIsNotYetProvided: "Source code is not yet available. Contact the administrator to fix this problem."
repositoryUrl: "Repository URL"
repositoryUrlDescription: "If you are using Misskey as is (without any changes to the source code), enter https://github.com/misskey-dev/misskey"
repositoryUrlOrTarballRequired: "If you have not published a repository, you must provide a tarball instead. See .config/example.yml for more information."
feedback: "Feedback"
feedbackUrl: "Feedback URL"
impressum: "Impressum"
impressumUrl: "Impressum URL"
impressumDescription: "In some countries, like germany, the inclusion of operator contact information (an Impressum) is legally required for commercial websites."
privacyPolicy: "Privacy Policy"
privacyPolicyUrl: "Privacy Policy URL"
tosAndPrivacyPolicy: "Terms of Service and Privacy Policy"
avatarDecorations: "Avatar decorations"
attach: "Attach"
detach: "Remove"
detachAll: "Remove All"
angle: "Angle"
flip: "Flip"
showAvatarDecorations: "Show avatar decorations"
releaseToRefresh: "Release to refresh"
refreshing: "Refreshing..."
pullDownToRefresh: "Pull down to refresh"
disableStreamingTimeline: "Disable real-time timeline updates"
useGroupedNotifications: "Display grouped notifications"
signupPendingError: "There was a problem verifying the email address. The link may have expired."
cwNotationRequired: "If \"Hide content\" is enabled, a description must be provided."
doReaction: "Add reaction"
code: "Code"
reloadRequiredToApplySettings: "Reloading is required to apply the settings."
remainingN: "Remaining: {n}"
overwriteContentConfirm: "Are you sure you want to overwrite the current content?"
seasonalScreenEffect: "Seasonal Screen Effect"
decorate: "Decorate"
addMfmFunction: "Add MFM"
enableQuickAddMfmFunction: "Show advanced MFM picker"
bubbleGame: "Bubble Game"
sfx: "Sound Effects"
soundWillBePlayed: "Sound will be played"
showReplay: "View Replay"
replay: "Replay"
replaying: "Showing replay"
endReplay: "Exit Replay"
copyReplayData: "Copy replay data"
ranking: "Ranking"
lastNDays: "Last {n} days"
backToTitle: "Go back to title"
hemisphere: "Where are you located"
withSensitive: "Include notes with sensitive files"
userSaysSomethingSensitive: "Post by {name} contains sensitive content"
enableHorizontalSwipe: "Swipe to switch tabs"
loading: "Loading"
surrender: "Cancel"
gameRetry: "Retry"
_bubbleGame:
howToPlay: "How to play"
hold: "Hold"
_score:
score: "Score"
scoreYen: "Amount of money earned"
highScore: "High score"
maxChain: "Maximum number of chains"
yen: "{yen} Yen"
estimatedQty: "{qty} Pieces"
scoreSweets: "{onigiriQtyWithUnit} Onigiri"
_howToPlay:
section1: "Adjust the position and drop the object into the box."
section2: "When two objects of the same type touch each other, they will change into a different object and you score points."
section3: "The game is over when objects overflow from the box. Aim for a high score by fusing objects together while you avoid overflowing the box!"
_announcement:
forExistingUsers: "Existing users only"
forExistingUsersDescription: "This announcement will only be shown to users existing at the point of publishment if enabled. If disabled, those newly signing up after it has been posted will also see it."
@@ -1247,10 +1117,6 @@ _announcement:
tooManyActiveAnnouncementDescription: "Having too many active announcements may worsen the user experience. Please consider archiving announcements that have become obsolete."
readConfirmTitle: "Mark as read?"
readConfirmText: "This will mark the contents of \"{title}\" as read."
shouldNotBeUsedToPresentPermanentInfo: "It's best to use announcements to publish fresh and time-bound information, not for information that will be relevant in the long term."
dialogAnnouncementUxWarn: "Having two or more dialog-style notifications simultaneously can significantly impact the user experience, so please use them carefully."
silence: "No notification"
silenceDescription: "Turning this on will skip the notification of this announcement and the user won't need to read it."
_initialAccountSetting:
accountCreated: "Your account was successfully created!"
letsStartAccountSetup: "For starters, let's set up your profile."
@@ -1263,91 +1129,11 @@ _initialAccountSetting:
pushNotificationDescription: "Enabling push notifications will allow you to receive notifications from {name} directly on your device."
initialAccountSettingCompleted: "Profile setup complete!"
haveFun: "Enjoy {name}!"
youCanContinueTutorial: "You can proceed to a tutorial on how to use {name} (Misskey) or you can exit the setup here and start using it immediately."
startTutorial: "Start Tutorial"
ifYouNeedLearnMore: "If you'd like to learn more about how to use {name} (Misskey), please visit {link}."
skipAreYouSure: "Really skip profile setup?"
laterAreYouSure: "Really do profile setup later?"
_initialTutorial:
launchTutorial: "Start Tutorial"
title: "Tutorial"
wellDone: "Well done!"
skipAreYouSure: "Quit Tutorial?"
_landing:
title: "Welcome to the Tutorial"
description: "Here, you can learn the basics of using Misskey and its features."
_note:
title: "What is a Note?"
description: "Posts on Misskey are called 'Notes.' Notes are arranged chronologically on the timeline and are updated in real-time."
reply: "Click on this button to reply to a message. It's also possible to reply to replies, continuing the conversation like a thread."
renote: "You can share that note to your own timeline. You can also quote them with your comments."
reaction: "You can add reactions to the Note. More details will be explained on the next page."
menu: "You can view Note details, copy links, and perform various other actions."
_reaction:
title: "What are Reactions?"
description: "Notes can be reacted to with various emojis. Reactions allow you to express nuances that may not be conveyed with just a 'like.'"
letsTryReacting: "Reactions can be added by clicking the '+' button on the note. Try reacting to this sample note!"
reactToContinue: "Add a reaction to proceed."
reactNotification: "You'll receive real-time notifications when someone reacts to your note."
reactDone: "You can undo a reaction by pressing the '-' button."
_timeline:
title: "The Concept of Timelines"
description1: "Misskey provides multiple timelines based on usage (some may not be available depending on the server's policies)."
home: "You can view notes from accounts you follow."
local: "You can view notes from all users on this server."
social: "Notes from the Home and Local timelines will be displayed."
global: "You can view notes from all connected servers."
description2: "You can switch between timelines at the top of the screen at any time."
description3: "Additionally, there are list timelines and channel timelines. For more details, please refer to {link}."
_postNote:
title: "Note Posting Settings"
description1: "When posting a note on Misskey, various options are available. The posting form looks like this."
_visibility:
description: "You can limit who can view your note."
public: "Your note will be visible for all users."
home: "Public only on the Home timeline. People visiting your profile, via followers, and through renotes can see it."
followers: "Visible to followers only. Only followers can see it and no one else, and it cannot be renoted by others."
direct: "Visible only to specified users, and the recipient will be notified. It can be used as an alternative to direct messaging."
doNotSendConfidencialOnDirect1: "Be careful when sending sensitive information!"
doNotSendConfidencialOnDirect2: "Administrators of the server can see what you write. Be careful with sensitive information when sending direct notes to users on untrusted servers."
localOnly: "Posting with this flag will not federate the note to other servers. Users on other servers will not be able to view these notes directly, regardless of the display settings above."
_cw:
title: "Content Warning"
description: "Instead of the body, the content written in 'comments' field will be displayed. Pressing \"read more\" will reveal the body."
_exampleNote:
cw: "This will surely make you hungry!"
note: "Just had a chocolate-glazed donut 🍩😋"
useCases: "This is used when following the server guidelines for necessary notes or for self-restriction of spoiler or sensitive text."
_howToMakeAttachmentsSensitive:
title: "How to Mark Attachments as Sensitive?"
description: "For attachments that are required by server guidelines or that should not be left intact, add a \"sensitive\" flag."
tryThisFile: "Try marking the image attached in this form as sensitive!"
_exampleNote:
note: "Oops, messed up opening the natto lid..."
method: "To mark an attachment as sensitive, click the file thumbnail, open the menu, and click \"Mark as Sensitive.\""
sensitiveSucceeded: "When attaching files, please set sensitivities in accordance with the server guidelines."
doItToContinue: "Mark the attachment file as sensitive to proceed."
_done:
title: "You've completed the tutorial! 🎉"
description: "The functions introduced here are just a small part. For a more detailed understanding of using Misskey, please refer to {link}."
_timelineDescription:
home: "In the Home timeline, you can see notes from accounts you follow."
local: "In the Local timeline, you can see notes from all users on this server."
social: "The Social timeline displays notes from both the Home and Local timelines."
global: "In the Global timeline, you can see notes from all connected servers."
_serverRules:
description: "A set of rules to be displayed before registration. Setting a summary of the Terms of Service is recommended."
_serverSettings:
iconUrl: "Icon URL"
appIconDescription: "Specifies the icon to use when {host} is displayed as an app."
appIconUsageExample: "E.g. As PWA, or when displayed as a home screen bookmark on a phone"
appIconStyleRecommendation: "As the icon may be cropped to a square or circle, an icon with colored margin around the content is recommended."
appIconResolutionMustBe: "The minimum resolution is {resolution}."
manifestJsonOverride: "manifest.json Override"
shortName: "Short name"
shortNameDescription: "A shorthand for the instance's name that can be displayed if the full official name is long."
fanoutTimelineDescription: "Greatly increases performance of timeline retrieval and reduces load on the database when enabled. In exchange, memory usage of Redis will increase. Consider disabling this in case of low server memory or server instability."
fanoutTimelineDbFallback: "Fallback to database"
fanoutTimelineDbFallbackDescription: "When enabled, the timeline will fall back to the database for additional queries if the timeline is not cached. Disabling it further reduces the server load by eliminating the fallback process, but limits the range of timelines that can be retrieved."
_accountMigration:
moveFrom: "Migrate another account to this one"
moveFromSub: "Create alias to another account"
@@ -1605,16 +1391,6 @@ _achievements:
_smashTestNotificationButton:
title: "Test overflow"
description: "Trigger the notification test repeatedly within an extremely short time"
_tutorialCompleted:
title: "Misskey Elementary Course Diploma"
description: "Tutorial completed"
_bubbleGameExplodingHead:
title: "🤯"
description: "The biggest object in the bubble game"
_bubbleGameDoubleExplodingHead:
title: "Double🤯"
description: "Two of the biggest objects in the bubble game at the same time"
flavor: "You can fill a lunch box like this 🤯 🤯 a bit."
_role:
new: "New role"
edit: "Edit role"
@@ -1625,9 +1401,7 @@ _role:
assignTarget: "Assignment type"
descriptionOfAssignTarget: "<b>Manual</b> to manually change who is part of this role and who is not.\n<b>Conditional</b> to have users be automatically assigned and removed from this role based on a condition."
manual: "Manual"
manualRoles: "Manual roles"
conditional: "Conditional"
conditionalRoles: "Conditional roles"
condition: "Condition"
isConditionalRole: "This is a conditional role."
isPublic: "Public role"
@@ -1655,13 +1429,11 @@ _role:
gtlAvailable: "Can view the global timeline"
ltlAvailable: "Can view the local timeline"
canPublicNote: "Can send public notes"
mentionMax: "Maximum number of mentions in a note"
canInvite: "Can create instance invite codes"
inviteLimit: "Invite limit"
inviteLimitCycle: "Invite limit cooldown"
inviteExpirationTime: "Invite expiration interval"
canManageCustomEmojis: "Can manage custom emojis"
canManageAvatarDecorations: "Manage avatar decorations"
driveCapacity: "Drive capacity"
alwaysMarkNsfw: "Always mark files as NSFW"
pinMax: "Maximum number of pinned notes"
@@ -1676,10 +1448,7 @@ _role:
descriptionOfRateLimitFactor: "Lower rate limits are less restrictive, higher ones more restrictive. "
canHideAds: "Can hide ads"
canSearchNotes: "Usage of note search"
canUseTranslator: "Translator usage"
avatarDecorationLimit: "Maximum number of avatar decorations that can be applied"
_condition:
roleAssignedTo: "Assigned to manual roles"
isLocal: "Local user"
isRemote: "Remote user"
createdLessThan: "Less than X has passed since account creation"
@@ -1707,7 +1476,6 @@ _emailUnavailable:
disposable: "Disposable email addresses may not be used"
mx: "This email server is invalid"
smtp: "This email server is not responding"
banned: "You cannot register with this email address"
_ffVisibility:
public: "Public"
followers: "Visible to followers only"
@@ -1728,10 +1496,6 @@ _ad:
reduceFrequencyOfThisAd: "Show this ad less"
hide: "Hide"
timezoneinfo: "The day of the week is determined from the server's timezone."
adsSettings: "Ad settings"
notesPerOneAd: "Real-time update ad placement interval (Notes per ad)"
setZeroToDisable: "Set this value to 0 to disable real-time update ads"
adsTooClose: "The current ad interval may significantly worsen the user experience due to being too low."
_forgotPassword:
enterEmail: "Enter the email address you used to register. A link with which you can reset your password will then be sent to it."
ifNoEmail: "If you did not use an email during registration, please contact the instance administrator instead."
@@ -1750,7 +1514,6 @@ _plugin:
install: "Install plugins"
installWarn: "Please do not install untrustworthy plugins."
manage: "Manage plugins"
viewSource: "View source"
_preferencesBackups:
list: "Created backups"
saveNew: "Save new backup"
@@ -1780,13 +1543,10 @@ _aboutMisskey:
contributors: "Main contributors"
allContributors: "All contributors"
source: "Source code"
original: "Original"
thisIsModifiedVersion: "{name} uses a modified version of the original Misskey."
translation: "Translate Misskey"
donate: "Donate to Misskey"
morePatrons: "We also appreciate the support of many other helpers not listed here. Thank you! 🥰"
patrons: "Patrons"
projectMembers: "Project members"
_displayOfSensitiveMedia:
respect: "Hide media marked as sensitive"
ignore: "Display media marked as sensitive"
@@ -1811,7 +1571,6 @@ _channel:
notesCount: "{n} Notes"
nameAndDescription: "Name and description"
nameOnly: "Name only"
allowRenoteToExternal: "Allow renote and quote outside the channel"
_menuDisplay:
sideFull: "Side"
sideIcon: "Side (Icons)"
@@ -1821,6 +1580,11 @@ _wordMute:
muteWords: "Muted words"
muteWordsDescription: "Separate with spaces for an AND condition or with line breaks for an OR condition."
muteWordsDescription2: "Surround keywords with slashes to use regular expressions."
softDescription: "Hide notes that fulfil the set conditions from the timeline."
hardDescription: "Prevents notes fulfilling the set conditions from being added to the timeline. In addition, these notes will not be added to the timeline even if the conditions are changed."
soft: "Soft"
hard: "Hard"
mutedNotes: "Muted notes"
_instanceMute:
instanceMuteDescription: "This will mute any notes/renotes from the listed instances, including those of users replying to a user from a muted instance."
instanceMuteDescription2: "Separate with newlines"
@@ -1884,6 +1648,9 @@ _theme:
infoFg: "Information text"
infoWarnBg: "Warning background"
infoWarnFg: "Warning text"
cwBg: "CW button background"
cwFg: "CW button text"
cwHoverBg: "CW button background (Hover)"
toastBg: "Notification background"
toastFg: "Notification text"
buttonBg: "Button background"
@@ -1901,16 +1668,10 @@ _sfx:
note: "New note"
noteMy: "Own note"
notification: "Notifications"
chat: "Chat"
chatBg: "Chat (Background)"
antenna: "Antennas"
channel: "Channel notifications"
reaction: "On choosing a reaction"
_soundSettings:
driveFile: "Use an audio file in Drive."
driveFileWarn: "Select an audio file from Drive."
driveFileTypeWarn: "This file is not supported"
driveFileTypeWarnDescription: "Select an audio file"
driveFileDurationWarn: "The audio is too long."
driveFileDurationWarnDescription: "Long audio may disrupt using Misskey. Still continue?"
_ago:
future: "Future"
justNow: "Just now"
@@ -1922,28 +1683,31 @@ _ago:
monthsAgo: "{n}mo ago"
yearsAgo: "{n}y ago"
invalid: "None"
_timeIn:
seconds: "In {n}s"
minutes: "In {n}m"
hours: "In {n}h"
days: "In {n}d"
weeks: "In {n}w"
months: "In {n}mo"
years: "In {n}y"
_time:
second: "Second(s)"
minute: "Minute(s)"
hour: "Hour(s)"
day: "Day(s)"
_timelineTutorial:
title: "How to use Misskey"
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."
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."
step2Uri: "Enter the following URI if you are using a desktop program"
step3Title: "Enter an authentication code"
step3: "Enter the authentication code (token) provided by your app to finish setup."
step3: "Enter the token provided by your app to finish setup."
setupCompleted: "Setup complete"
step4: "From now on, any future login attempts will ask for such a login token."
securityKeyNotSupported: "Your browser does not support security keys."
@@ -2001,55 +1765,6 @@ _permissions:
"write:flash": "Edit Plays"
"read:flash-likes": "View list of liked Plays"
"write:flash-likes": "Edit list of liked Plays"
"read:admin:abuse-user-reports": "View user reports"
"write:admin:delete-account": "Delete user account"
"write:admin:delete-all-files-of-a-user": "Delete all files of a user"
"read:admin:index-stats": "View database index stats"
"read:admin:table-stats": "View database table stats"
"read:admin:user-ips": "View user IP addresses"
"read:admin:meta": "View instance metadata"
"write:admin:reset-password": "Reset user password"
"write:admin:resolve-abuse-user-report": "Resolve user report"
"write:admin:send-email": "Send email"
"read:admin:server-info": "View server info"
"read:admin:show-moderation-log": "View moderation log"
"read:admin:show-user": "View private user info"
"read:admin:show-users": "View private user info"
"write:admin:suspend-user": "Suspend user"
"write:admin:unset-user-avatar": "Remove user avatar"
"write:admin:unset-user-banner": "Remove user banner"
"write:admin:unsuspend-user": "Unsuspend user"
"write:admin:meta": "Manage instance metadata"
"write:admin:user-note": "Manage moderation note"
"write:admin:roles": "Manage roles"
"read:admin:roles": "View roles"
"write:admin:relays": "Manage relays"
"read:admin:relays": "View relays"
"write:admin:invite-codes": "Manage invite codes"
"read:admin:invite-codes": "View invite codes"
"write:admin:announcements": "Manage announcements"
"read:admin:announcements": "View announcements"
"write:admin:avatar-decorations": "Manage avatar decorations"
"read:admin:avatar-decorations": "View avatar decorations"
"write:admin:federation": "Manage federation data"
"write:admin:account": "Manage user account"
"read:admin:account": "View user account"
"write:admin:emoji": "Manage emoji"
"read:admin:emoji": "View emoji"
"write:admin:queue": "Manage job queue"
"read:admin:queue": "View job queue info"
"write:admin:promo": "Manage promotion notes"
"write:admin:drive": "Manage user drive"
"read:admin:drive": "View user drive info"
"read:admin:stream": "Use WebSocket API for Admin"
"write:admin:ad": "Manage ads"
"read:admin:ad": "View ads"
"write:invite-codes": "Create invite codes"
"read:invite-codes": "Get invite codes"
"write:clip-favorite": "Manage favorited clips"
"read:clip-favorite": "View favorited clips"
"read:federation": "Get federation data"
"write:report-abuse": "Report violation"
_auth:
shareAccessTitle: "Granting application permissions"
shareAccess: "Would you like to authorize \"{name}\" to access this account?"
@@ -2065,7 +1780,6 @@ _antennaSources:
homeTimeline: "Notes from followed users"
users: "Notes from specific users"
userList: "Notes from a specified list of users"
userBlacklist: "All notes except for those of one or more specified users"
_weekday:
sunday: "Sunday"
monday: "Monday"
@@ -2104,7 +1818,6 @@ _widgets:
_userList:
chooseList: "Select a list"
clicker: "Clicker"
birthdayFollowings: "Users who celebrate their birthday today"
_cw:
hide: "Hide"
show: "Show content"
@@ -2166,19 +1879,15 @@ _profile:
metadataContent: "Content"
changeAvatar: "Change avatar"
changeBanner: "Change banner"
verifiedLinkDescription: "By entering an URL that contains a link to your profile here, an ownership verification icon can be displayed next to the field."
avatarDecorationMax: "You can add up to {max} decorations."
_exportOrImport:
allNotes: "All notes"
favoritedNotes: "Favorite notes"
clips: "Clip"
followingList: "Followed users"
muteList: "Muted users"
blockingList: "Blocked users"
userLists: "User lists"
excludeMutingUsers: "Exclude muted users"
excludeInactiveUsers: "Exclude inactive users"
withReplies: "Include replies from imported users in the timeline"
_charts:
federation: "Federation"
apRequest: "Requests"
@@ -2288,22 +1997,15 @@ _notification:
youReceivedFollowRequest: "You've received a follow request"
yourFollowRequestAccepted: "Your follow request was accepted"
pollEnded: "Poll results have become available"
newNote: "New note"
unreadAntennaNote: "Antenna {name}"
roleAssigned: "Role given"
emptyPushNotificationMessage: "Push notifications have been updated"
achievementEarned: "Achievement unlocked"
testNotification: "Test notification"
checkNotificationBehavior: "Check notification appearance"
sendTestNotification: "Send test notification"
notificationWillBeDisplayedLikeThis: "Notifications look like this"
reactedBySomeUsers: "{n} users reacted"
renotedBySomeUsers: "Renote from {n} users"
followedBySomeUsers: "Followed by {n} users"
flushNotification: "Clear notifications"
_types:
all: "All"
note: "New notes"
follow: "New followers"
mention: "Mentions"
reply: "Replies"
@@ -2313,7 +2015,6 @@ _notification:
pollEnded: "Polls ending"
receiveFollowRequest: "Received follow requests"
followRequestAccepted: "Accepted follow requests"
roleAssigned: "Role given"
achievementEarned: "Achievement unlocked"
app: "Notifications from linked apps"
_actions:
@@ -2337,7 +2038,7 @@ _deck:
introduction: "Create the perfect interface for you by arranging columns freely!"
introduction2: "Click on the + on the right of the screen to add new colums whenever you want."
widgetsIntroduction: "Please select \"Edit widgets\" in the column menu and add a widget."
useSimpleUiForNonRootPages: "Use simple UI for navigated pages"
useSimpleUiForNonRootPages: "Use simplified UI to navigated pages"
usedAsMinWidthWhenFlexible: "Minimum width will be used for this when the \"Auto-adjust width\" option is enabled"
flexible: "Auto-adjust width"
_columns:
@@ -2374,154 +2075,3 @@ _webhookSettings:
renote: "When renoted"
reaction: "When receiving a reaction"
mention: "When being mentioned"
_moderationLogTypes:
createRole: "Role created"
deleteRole: "Role deleted"
updateRole: "Role updated"
assignRole: "Assigned to role"
unassignRole: "Removed from role"
suspend: "Suspended"
unsuspend: "Unsuspended"
addCustomEmoji: "Custom emoji added"
updateCustomEmoji: "Custom emoji updated"
deleteCustomEmoji: "Custom emoji deleted"
updateServerSettings: "Server settings updated"
updateUserNote: "Moderation note updated"
deleteDriveFile: "File deleted"
deleteNote: "Note deleted"
createGlobalAnnouncement: "Global announcement created"
createUserAnnouncement: "User announcement created"
updateGlobalAnnouncement: "Global announcement updated"
updateUserAnnouncement: "User announcement updated"
deleteGlobalAnnouncement: "Global announcement deleted"
deleteUserAnnouncement: "User announcement deleted"
resetPassword: "Password reset"
suspendRemoteInstance: "Remote instance suspended"
unsuspendRemoteInstance: "Remote instance unsuspended"
updateRemoteInstanceNote: "Moderation note updated for remote instance."
markSensitiveDriveFile: "File marked as sensitive"
unmarkSensitiveDriveFile: "File unmarked as sensitive"
resolveAbuseReport: "Report resolved"
createInvitation: "Invite generated"
createAd: "Ad created"
deleteAd: "Ad deleted"
updateAd: "Ad updated"
createAvatarDecoration: "Avatar decoration created"
updateAvatarDecoration: "Avatar decoration updated"
deleteAvatarDecoration: "Avatar decoration deleted"
unsetUserAvatar: "Unset this user's avatar"
unsetUserBanner: "Unset this user's banner"
_fileViewer:
title: "File details"
type: "File type"
size: "Filesize"
url: "URL"
uploadedAt: "Uploaded at"
attachedNotes: "Attached notes"
thisPageCanBeSeenFromTheAuthor: "This page can only be seen by the user who uploaded this file."
_externalResourceInstaller:
title: "Install from external site"
checkVendorBeforeInstall: "Make sure the distributor of this resource is trustworthy before installation."
_plugin:
title: "Do you want to install this plugin?"
metaTitle: "Plugin information"
_theme:
title: "Do you want to install this theme?"
metaTitle: "Theme information"
_meta:
base: "Base color scheme"
_vendorInfo:
title: "Distributor information"
endpoint: "Referenced endpoint"
hashVerify: "Hash verification"
_errors:
_invalidParams:
title: "Invalid parameters"
description: "There is not enough information to load data from an external site. Please confirm the entered URL."
_resourceTypeNotSupported:
title: "This external resource is not supported"
description: "The type of this external resource is not supported. Please contact the site administrator."
_failedToFetch:
title: "Failed to fetch data"
fetchErrorDescription: "An error occurred communicating with the external site. If trying again does not fix this issue, please contact the site administrator."
parseErrorDescription: "An error occurred processing the data loaded from the external site. Please contact the site administrator."
_hashUnmatched:
title: "Data verification failed"
description: "An error occurred verifying the integrity of the fetched data. As a security measure, installation cannot continue. Please contact the site administrator."
_pluginParseFailed:
title: "AiScript Error"
description: "The requested data was fetched successfully, but an error occurred during AiScript parsing. Please contact the plugin author. Error details can be viewed in the Javascript console."
_pluginInstallFailed:
title: "Plugin installation failed"
description: "A problem occurred during plugin installation. Please try again. Error details can be viewed in the Javascript console."
_themeParseFailed:
title: "Theme parsing failed"
description: "The requested data was fetched successfully, but an error occurred during theme parsing. Please contact the theme author. Error details can be viewed in the Javascript console."
_themeInstallFailed:
title: "Failed to install theme"
description: "A problem occurred during theme installation. Please try again. Error details can be viewed in the Javascript console."
_dataSaver:
_media:
title: "Loading Media"
description: "Prevents images/videos from being loaded automatically. Hidden images/videos will be loaded when tapped."
_avatar:
title: "Avatar image"
description: "Stop avatar image animation. Animated images can be larger in file size than normal images, potentially leading to further reductions in data traffic."
_urlPreview:
title: "URL preview thumbnails"
description: "URL preview thumbnail images will no longer be loaded."
_code:
title: "Code highlighting"
description: "If code highlighting notations are used in MFM, etc., they will not load until tapped. Syntax highlighting requires downloading the highlight definition files for each programming language. Therefore, disabling the automatic loading of these files is expected to reduce the amount of communication data."
_hemisphere:
N: "Northern Hemisphere"
S: "Southern Hemisphere"
caption: "Used in some client settings to determine season."
_reversi:
reversi: "Reversi"
gameSettings: "Game settings"
chooseBoard: "Choose a board"
blackOrWhite: "Black/White"
blackIs: "{name} is playing Black"
rules: "Rules"
thisGameIsStartedSoon: "The game will begin shortly"
waitingForOther: "Waiting for opponent's turn"
waitingForMe: "Waiting for your turn"
waitingBoth: "Get ready"
ready: "Ready"
cancelReady: "Not ready"
opponentTurn: "Opponent's turn"
myTurn: "Your turn"
turnOf: "It's {name}'s turn"
pastTurnOf: "{name}'s turn"
surrender: "Surrender"
surrendered: "Surrendered"
timeout: "Out of time"
drawn: "Draw"
won: "{name} wins"
black: "Black"
white: "White"
total: "Total"
turnCount: "Turn {count}"
myGames: "My rounds"
allGames: "All rounds"
ended: "Ended"
playing: "Currently playing"
isLlotheo: "The one with fewer stones wins (Llotheo)"
loopedMap: "Looping map"
canPutEverywhere: "Tiles are placeable everywhere"
timeLimitForEachTurn: "Time limit for turn"
freeMatch: "Free Match"
lookingForPlayer: "Finding opponent..."
gameCanceled: "The game has been cancelled."
shareToTlTheGameWhenStart: "Share Game to timeline when started"
iStartedAGame: "The game has begun! #MisskeyReversi"
opponentHasSettingsChanged: "The opponent has changed their settings."
allowIrregularRules: "Irregular rules (completely free)"
disallowIrregularRules: "No irregular rules"
showBoardLabels: "Display row and column numbering on the board"
useAvatarAsStone: "Turn stones into user avatars"
_offlineScreen:
title: "Offline - cannot connect to the server"
header: "Unable to connect to the server"

View File

@@ -11,7 +11,7 @@ password: "Contraseña"
forgotPassword: "Olvidé mi contraseña"
fetchingAsApObject: "Buscando en el fediverso"
ok: "OK"
gotIt: "¡Lo tengo!"
gotIt: "Entendido"
cancel: "Cancelar"
noThankYou: "No gracias"
enterUsername: "Introduce el nombre de usuario"
@@ -20,7 +20,7 @@ noNotes: "No hay notas"
noNotifications: "No hay notificaciones"
instance: "Instancia"
settings: "Configuración"
notificationSettings: "Ajustes de notificaciones"
notificationSettings: "Configurar las notificaciones"
basicSettings: "Configuración básica"
otherSettings: "Configuración avanzada"
openInWindow: "Abrir en una ventana"
@@ -56,8 +56,8 @@ copyRSS: "Copiar RSS"
copyUsername: "Copiar nombre de usuario"
copyUserId: "Copiar ID del usuario"
copyNoteId: "Copiar ID de la nota"
copyFileId: "Copiar ID del archivo"
copyFolderId: "Copiar ID de carpeta"
copyFileId: "Copiar un archivo ID"
copyFolderId: "Copiar carpeta ID"
copyProfileUrl: "Copiar la URL del perfil"
searchUser: "Buscar un usuario"
reply: "Responder"
@@ -121,16 +121,10 @@ sensitive: "Marcado como sensible"
add: "Agregar"
reaction: "Reacción"
reactions: "Reacción"
emojiPicker: "Selector de emojis"
pinnedEmojisForReactionSettingDescription: "Puedes seleccionar reacciones para fijarlos en el selector"
pinnedEmojisSettingDescription: "Puedes seleccionar emojis para fijarlos en el selector"
emojiPickerDisplay: "Mostrar el selector de emojis"
overwriteFromPinnedEmojisForReaction: "Sobreescribir las reacciones fijadas"
overwriteFromPinnedEmojis: "Sobreescribir los emojis fijados"
reactionSetting: "Reacciones para mostrar en el menú de reacciones"
reactionSettingDescription2: "Arrastre para reordenar, click para borrar, apriete la tecla + para añadir."
rememberNoteVisibility: "Recordar visibilidad"
attachCancel: "Quitar adjunto"
deleteFile: "Archivo eliminado"
markAsSensitive: "Marcar como sensible"
unmarkAsSensitive: "Desmarcar como sensible"
enterFileName: "Ingrese el nombre del archivo"
@@ -201,7 +195,6 @@ perHour: "por hora"
perDay: "por día"
stopActivityDelivery: "Dejar de enviar actividades"
blockThisInstance: "Bloquear instancia"
silenceThisInstance: "Silenciar esta instancia"
operations: "Operaciones"
software: "Software"
version: "Versión"
@@ -221,8 +214,6 @@ clearCachedFiles: "Limpiar caché"
clearCachedFilesConfirm: "¿Desea borrar todos los archivos remotos cacheados?"
blockedInstances: "Instancias bloqueadas"
blockedInstancesDescription: "Seleccione los hosts de las instancias que desea bloquear, separadas por una linea nueva. Las instancias bloqueadas no podrán comunicarse con esta instancia."
silencedInstances: "Instancias silenciadas"
silencedInstancesDescription: "Listar los hostname de las instancias que quieres silenciar. Todas las cuentas de las instancias listadas serán tratadas como silenciadas, solo podrán hacer peticiones de seguimiento, y no podrán mencionar cuentas locales si no las siguen. Esto no afecta a las instancias bloqueadas."
muteAndBlock: "Silenciar y bloquear"
mutedUsers: "Usuarios silenciados"
blockedUsers: "Usuarios bloqueados"
@@ -267,7 +258,6 @@ removed: "Borrado"
removeAreYouSure: "¿Desea borrar \"{x}\"?"
deleteAreYouSure: "¿Desea borrar \"{x}\"?"
resetAreYouSure: "¿Desea reestablecer?"
areYouSure: "¿Estás conforme?"
saved: "Guardado"
messaging: "Chat"
upload: "Subir"
@@ -318,7 +308,6 @@ folderName: "Nombre de la carpeta"
createFolder: "Crear carpeta"
renameFolder: "Renombrar carpeta"
deleteFolder: "Borrar carpeta"
folder: "Carpeta"
addFile: "Agregar archivo"
emptyDrive: "El drive está vacío"
emptyFolder: "La carpeta está vacía"
@@ -367,6 +356,7 @@ invite: "Invitar"
driveCapacityPerLocalAccount: "Capacidad del drive por usuario local"
driveCapacityPerRemoteAccount: "Capacidad del drive por usuario remoto"
inMb: "En megabytes"
iconUrl: "URL de la imagen del avatar"
bannerUrl: "URL de la imagen del banner"
backgroundImageUrl: "URL de la imagen de fondo"
basicInfo: "Información básica"
@@ -380,11 +370,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Habilitar hCaptcha"
hcaptchaSiteKey: "Clave del sitio"
hcaptchaSecretKey: "Clave secreta"
mcaptcha: "mCaptcha"
enableMcaptcha: "Activar mCaptcha"
mcaptchaSiteKey: "Clave del sitio"
mcaptchaSecretKey: "Clave secreta"
mcaptchaInstanceUrl: "URL del servidor mCaptcha"
recaptcha: "reCAPTCHA"
enableRecaptcha: "activar reCAPTCHA"
recaptchaSiteKey: "Clave del sitio"
@@ -432,9 +417,6 @@ 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"
moderationNote: "Nota de moderación"
addModerationNote: "Añadir nota de moderación"
moderationLogs: "Log de moderación"
nUsersMentioned: "{n} usuarios mencionados"
securityKeyAndPasskey: "Clave de seguridad / clave de paso"
securityKey: "Clave de seguridad"
@@ -450,6 +432,7 @@ share: "Compartir"
notFound: "No se encuentra"
notFoundDescription: "No se encontró la página correspondiente a la URL elegida"
uploadFolder: "Carpeta de subidas por defecto"
cacheClear: "Borrar caché"
markAsReadAllNotifications: "Marcar todas las notificaciones como leídas"
markAsReadAllUnreadNotes: "Marcar todas las notas como leídas"
markAsReadAllTalkMessages: "Marcar todos los chats como leídos"
@@ -546,7 +529,6 @@ 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)"
withRepliesByDefaultForNewlyFollowed: "Incluir por defecto respuestas de usuarios recién seguidos en la línea de tiempo"
newNoteRecived: "Tienes una nota nueva"
sounds: "Sonidos"
sound: "Sonidos"
@@ -556,8 +538,6 @@ showInPage: "Mostrar en la página"
popout: "Popout"
volume: "Volumen"
masterVolume: "Volumen principal"
notUseSound: "Sin sonido"
useSoundOnlyWhenActive: "Sonar solo cuando Misskey esté activo"
details: "Detalles"
chooseEmoji: "Elije un emoji"
unableToProcess: "La operación no se puede llevar a cabo"
@@ -578,10 +558,6 @@ output: "Salida"
script: "Script"
disablePagesScript: "Deshabilitar AiScript en Páginas"
updateRemoteUser: "Actualizar información de usuario remoto"
unsetUserAvatar: "Quitar avatar"
unsetUserAvatarConfirm: "¿Confirmas que quieres quitar tu avatar?"
unsetUserBanner: "Quitar banner"
unsetUserBannerConfirm: "¿Confirmas que quieres quitar tu banner?"
deleteAllFiles: "Borrar todos los archivos"
deleteAllFilesConfirm: "¿Desea borrar todos los archivos?"
removeAllFollowing: "Retener todos los siguientes"
@@ -632,7 +608,6 @@ medium: "Mediano"
small: "Pequeño"
generateAccessToken: "Generar token de acceso"
permission: "Permisos"
adminPermission: "Permiso de administrador"
enableAll: "Activar todo"
disableAll: "Desactivar todo"
tokenRequested: "Permiso de acceso a la cuenta"
@@ -654,7 +629,6 @@ smtpSecure: "Usar SSL/TLS implícito en la conexión SMTP"
smtpSecureInfo: "Apagar cuando se use STARTTLS"
testEmail: "Prueba de envío"
wordMute: "Silenciar palabras"
hardWordMute: "Filtro de palabra fuerte"
regexpError: "Error de la expresión regular"
regexpErrorDescription: "Ocurrió un error en la expresión regular en la linea {line} de las palabras muteadas {tab}"
instanceMute: "Instancias silenciadas"
@@ -676,7 +650,6 @@ useGlobalSettingDesc: "Al activarse, se usará la configuración de notificacion
other: "Otro"
regenerateLoginToken: "Regenerar token de login"
regenerateLoginTokenDescription: "Regenerar el token usado internamente durante el login. No siempre es necesario hacerlo. Al hacerlo de nuevo, se deslogueará en todos los dispositivos."
theKeywordWhenSearchingForCustomEmoji: "Palabra clave para buscar el emoji personalizado."
setMultipleBySeparatingWithSpace: "Puedes añadir mas de uno, separado por espacios."
fileIdOrUrl: "Id del archivo o URL"
behavior: "Comportamiento"
@@ -736,7 +709,6 @@ lockedAccountInfo: "A menos que configures la visibilidad de tus notas como \"S
alwaysMarkSensitive: "Marcar los medios de comunicación como contenido sensible por defecto"
loadRawImages: "Cargar las imágenes originales en lugar de mostrar las miniaturas"
disableShowingAnimatedImages: "No reproducir imágenes animadas"
highlightSensitiveMedia: "Resaltar medios marcados como sensibles"
verificationEmailSent: "Se le ha enviado un correo electrónico de confirmación. Por favor, acceda al enlace proporcionado en el correo electrónico para completar la configuración."
notSet: "Sin especificar"
emailVerified: "Su dirección de correo electrónico ha sido verificada."
@@ -889,8 +861,8 @@ makeReactionsPublicDescription: "Todas las reacciones que hayas hecho serán pú
classic: "Clásico"
muteThread: "Silenciar hilo"
unmuteThread: "Mostrar hilo"
followingVisibility: "Visibilidad de seguidos"
followersVisibility: "Visibilidad de seguidores"
ffVisibility: "Visibilidad de seguidores y seguidos"
ffVisibilityDescription: "Puedes configurar quien puede ver a quienes sigues y quienes te siguen"
continueThread: "Ver la continuación del hilo"
deleteAccountConfirm: "La cuenta será borrada. ¿Está seguro?"
incorrectPassword: "La contraseña es incorrecta"
@@ -1000,7 +972,6 @@ assign: "Asignar"
unassign: "Quitar"
color: "Color"
manageCustomEmojis: "Administrar emojis personalizados"
manageAvatarDecorations: "Administrar decoraciones de avatar"
youCannotCreateAnymore: "Has llegado al límite de creaciones."
cannotPerformTemporary: "Temporalmente no disponible"
cannotPerformTemporaryDescription: "Esta acción no se puede realizar porque se excedió el límite de ejecución. Espera un poco y prueba de nuevo."
@@ -1041,10 +1012,6 @@ 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"
sensitiveWordsDescription2: "Si se usan espacios se crearán expresiones AND y las palabras subsecuentes con barras inclinadas se convertirán en expresiones regulares."
prohibitedWords: "Palabras explícitas"
prohibitedWordsDescription2: "Si se usan espacios se crearán expresiones AND y las palabras subsecuentes con barras inclinadas se convertirán en expresiones regulares."
hiddenTags: "Hashtags ocultos"
hiddenTagsDescription: "Selecciona las etiquetas que no se mostrarán en tendencias. Una etiqueta por línea."
notesSearchNotAvailable: "No se puede buscar una nota"
license: "Licencia"
unfavoriteConfirm: "¿Desea quitar de favoritos?"
@@ -1057,12 +1024,9 @@ enableChartsForRemoteUser: "Generar gráficas de usuarios remotos."
enableChartsForFederatedInstances: "Generar gráficos de servidores remotos"
showClipButtonInNoteFooter: "Añadir \"Clip\" al menú de notas"
reactionsDisplaySize: "Tamaño de las reacciones"
limitWidthOfReaction: "Limitar ancho de las reacciones"
noteIdOrUrl: "ID o URL de la nota"
video: "Video"
videos: "Video"
audio: "Sonido"
audioFiles: "Sonido"
dataSaver: "Ahorro de datos"
accountMigration: "Migración de cuenta"
accountMoved: "Este usuario se movió a una nueva cuenta:"
@@ -1142,80 +1106,6 @@ currentAnnouncements: "Anuncios actuales"
pastAnnouncements: "Anuncios anteriores"
youHaveUnreadAnnouncements: "Hay anuncios sin leer"
useSecurityKey: "Por favor, sigue las instrucciones de tu dispositivo o navegador para usar tu clave de seguridad o tu clave de paso."
replies: "Responder"
renotes: "Renotar"
loadReplies: "Ver respuestas"
loadConversation: "Ver conversación"
pinnedList: "Lista fijada"
keepScreenOn: "Mantener pantalla encendida"
verifiedLink: "Propiedad del enlace verificada"
notifyNotes: "Notificar nuevas notas"
unnotifyNotes: "Dejar de notificar nuevas notas"
authentication: "Autenticación"
authenticationRequiredToContinue: "Por favor, autentifícate para continuar"
dateAndTime: "Fecha y hora"
showRenotes: "Mostrar renotas"
edited: "Editado"
notificationRecieveConfig: "Ajustes de Notificaciones"
mutualFollow: "Os seguís mutuamente"
fileAttachedOnly: "Solo notas con archivos"
showRepliesToOthersInTimeline: "Mostrar respuestas a otros en la línea de tiempo"
hideRepliesToOthersInTimeline: "Ocultar respuestas a otros en la línea de tiempo"
showRepliesToOthersInTimelineAll: "Muestra tus respuestas a otros usuarios que sigues en la línea de tiempo"
hideRepliesToOthersInTimelineAll: "Ocultar tus respuestas a otros usuarios que sigues en la línea de tiempo"
confirmShowRepliesAll: "Esta operación es irreversible. ¿Confirmas que quieres mostrar tus respuestas a otros usuarios que sigues en tu línea de tiempo?"
confirmHideRepliesAll: "Esta operación es irreversible. ¿Confirmas que quieres ocultar tus respuestas a otros usuarios que sigues en tu línea de tiempo?"
externalServices: "Servicios Externos"
sourceCode: "Código fuente"
impressum: "Impressum"
impressumUrl: "Impressum URL"
impressumDescription: "En algunos países, como Alemania, la inclusión del operador de datos (el Impressum) es requerido legalmente para sitios web comerciales."
privacyPolicy: "Política de Privacidad"
privacyPolicyUrl: "URL de la Política de Privacidad"
tosAndPrivacyPolicy: "Condiciones de Uso y Política de Privacidad"
avatarDecorations: "Decoraciones de avatar"
attach: "Acoplar"
detach: "Quitar"
detachAll: "Quitar todo"
angle: "Ángulo"
flip: "Echar de un capirotazo"
showAvatarDecorations: "Mostrar decoraciones de avatar"
releaseToRefresh: "Soltar para recargar"
refreshing: "Recargando..."
pullDownToRefresh: "Tira hacia abajo para recargar"
disableStreamingTimeline: "Desactivar actualizaciones en tiempo real de la línea de tiempo"
useGroupedNotifications: "Mostrar notificaciones agrupadas"
signupPendingError: "Ha habido un problema al verificar tu dirección de correo electrónico. Es posible que el enlace haya caducado."
cwNotationRequired: "Si se ha activado \"ocultar contenido\", es necesario proporcionar una descripción."
doReaction: "Añadir reacción"
code: "Código"
reloadRequiredToApplySettings: "Es necesario recargar para que se aplique la configuración."
remainingN: "Faltan: {n}"
overwriteContentConfirm: "¿Quieres sustituir todo el contenido actual?"
seasonalScreenEffect: "Efectos de pantalla asociados a estaciones"
decorate: "Decorar"
addMfmFunction: "Añadir función MFM"
enableQuickAddMfmFunction: "Activar acceso rápido para añadir funciones MFM"
bubbleGame: "Bubble Game"
sfx: "Efectos de sonido"
soundWillBePlayed: "Se reproducirán efectos sonoros"
showReplay: "Ver reproducción"
replay: "Reproducir"
replaying: "Reproduciendo"
ranking: "Clasificación"
lastNDays: "Últimos {n} días"
backToTitle: "Regresar al inicio"
hemisphere: "Región"
withSensitive: "Mostrar notas que contengan material sensible"
userSaysSomethingSensitive: "La publicación de {name} contiene material sensible"
enableHorizontalSwipe: "Deslice para cambiar de pestaña"
surrender: "detener"
_bubbleGame:
howToPlay: "Cómo jugar"
_howToPlay:
section1: "Ajuste la posición y deje caer el objeto en la caja"
section2: "Cuando dos objetos del mismo tipo se tocan, cambian a otro tipo y consigues puntos"
section3: "El juego termina cuando la caja se desborda de objetos. ¡Intenta conseguir una puntuación alta al juntar objetos mientras evitas desbordar la caja!"
_announcement:
forExistingUsers: "Solo para usuarios registrados"
forExistingUsersDescription: "Este anuncio solo se mostrará a aquellos usuarios registrados en el momento de su publicación. Si se deshabilita esta opción, aquellos usuarios que se registren tras su publicación también lo verán."
@@ -1225,10 +1115,6 @@ _announcement:
tooManyActiveAnnouncementDescription: "Tener demasiados anuncios activos empeora la experiencia de usuario. Por favor, considera archivar aquellos anuncios que hayan quedado obsoletos."
readConfirmTitle: "¿Marcar como leído?"
readConfirmText: "Esto marcará el contenido de \"{title}\" como leído."
shouldNotBeUsedToPresentPermanentInfo: "Dado que puede impactar en la experiencia de usuario de forma significativa, es recomendable usar notificaciones en el flujo de información en vez de información persistente."
dialogAnnouncementUxWarn: "Mostrar dos o más notificaciones en formato diálogo a la vez puede impactar en la experiencia de usuario de forma significativa, úsalos con cuidado."
silence: "Silenciar notificaciones"
silenceDescription: "Si lo activas, no enviarás notificación sobre este anuncio y el usuario no tendrá que leerlo."
_initialAccountSetting:
accountCreated: "¡La cuenta ha sido creada!"
letsStartAccountSetup: "Para empezar, creemos tu perfil."
@@ -1241,91 +1127,11 @@ _initialAccountSetting:
pushNotificationDescription: "Habilitar las notificaciones push te permitirá recibir notificaciones de {name} directamente en tu dispositivo."
initialAccountSettingCompleted: "¡Configuración del perfil completada!"
haveFun: "¡Disfruta de {name}!"
youCanContinueTutorial: "Puedes proceder a un tutorial sobre cómo usar {name} (Misskey) o puedes terminar la instalación aquí y empezar a usarlo ya mismo."
startTutorial: "Comenzar tutorial"
ifYouNeedLearnMore: "Si quieres aprender cómo usar {name} (Misskey), por favor, visita {link}."
skipAreYouSure: "¿Realmente quieres saltarte la configuración del perfil?"
laterAreYouSure: "¿Realmente quieres configurar tu perfil después?"
_initialTutorial:
launchTutorial: "Comenzar tutorial"
title: "Tutorial"
wellDone: "¡Bien hecho!"
skipAreYouSure: "¿Salir del tutorial?"
_landing:
title: "Bienvenid@ al tutorial"
description: "Aquí podrás aprender las nociones básicas sobre cómo usar Misskey y sus funciones."
_note:
title: "¿Qué es una nota?"
description: "Las publicaciones en Misskey se llaman 'Notas'. Las notas se ordenan de forma cronológica en la línea de tiempo y se actualizan en tiempo real."
reply: "Pulsa en este botón para contestar a un mensaje. También es posible contestar a otras contestaciones, continuando así la conversación como un hilo."
renote: "Puedes compartir esa nota en tu propia línea de tiempo. También puedes añadir una cita con tus comentarios."
reaction: "Puedes añadir reacciones a la Nota. Se explicarán más detalles en la siguiente página."
menu: "Puedes ver los detalles de la Nota, copiar enlaces, y realizar otras acciones."
_reaction:
title: "¿Qué son las reacciones?"
description: "Se puede reaccionar a las Notas con diferentes emojis. Las reacciones te permiten expresar matices que no se pueden transmitir con un simple 'me gusta'."
letsTryReacting: "Puedes añadir reacciones pulsando en el botón '+' de la nota. ¡Intenta reaccionar a esta nota de ejemplo!"
reactToContinue: "Añade una reacción para continuar."
reactNotification: "Recibirás notificaciones en tiempo real cuando alguien reaccione a tu nota."
reactDone: "Puedes deshacer una reacción pulsando en el botón '-'."
_timeline:
title: "El concepto de Línea de tiempo"
description1: "Misskey proporciona múltiples líneas de tiempo basadas en su uso (algunas pueden no estar disponibles dependiendo de las políticas de la instancia)."
home: "Puedes ver los posts de las cuentas que sigues."
local: "Puedes ver los posts de todos los usuarios de este servidor."
social: "Se ven los posts de la línea de tiempo de inicio junto con los de la línea de tiempo local."
global: "Puedes ver notas de todos los servidores conectados."
description2: "Puedes cambiar la línea de tiempo en la parte superior de la pantalla cuando quieras."
description3: "Además, hay listas de líneas de tiempo y listas de canales. Para más detalle, por favor visita este enlace: {link}"
_postNote:
title: "Ajustes de publicación de nota"
description1: "Cuando publicas una nota en Misskey, hay varias opciones disponibles. El formulario tiene este aspecto."
_visibility:
description: "Puedes limitar quién puede ver tu nota."
public: "Tu nota será visible para todos los usuarios."
home: "Publicar solo en la línea de tiempo de Inicio. La nota se verá en tu perfil, la verán tus seguidores y también cuando sea renotada."
followers: "Visible solo para seguidores. Sólo tus seguidores podrán ver la nota, y no podrá ser renotada por otras personas."
direct: "Visible sólo para usuarios específicos, y el destinatario será notificado. Puede usarse como alternativa a la mensajería directa."
doNotSendConfidencialOnDirect1: "¡Ten cuidado cuando vayas a enviar información sensible!"
doNotSendConfidencialOnDirect2: "Los administradores del servidor pueden leer lo que escribes. Ten cuidado cuando envíes información sensible en notas directas en servidores no confiables."
localOnly: "Publicando con esta opción seleccionada, la nota no se federará hacia otros servidores. Los usuarios de otros servidores no podrán ver estas notas directamente, sin importar los ajustes seleccionados más arriba."
_cw:
title: "Alerta de contenido (CW)"
description: "En lugar de mostrarse el contenido de la nota, se mostrará lo que escribas en el campo \"comentarios\". Pulsando en \"leer más\" desplegará el contenido de la nota."
_exampleNote:
cw: "¡Esto te hará tener hambre!"
note: "Acabo de comerme un donut de chocolate glaseado 🍩😋"
useCases: "Esto se usa cuando las normas del servidor lo requieren, o para ocultar spoilers o contenido sensible."
_howToMakeAttachmentsSensitive:
title: "¿Cómo puedo marcar adjuntos como contenido sensible?"
description: "Cuando las normas del servidor lo requieran, o el contenido lo requiera, marca la opción de \"contenido sensible\" para el adjunto."
tryThisFile: "¡Prueba a marcar la imagen adjunta como contenido sensible!"
_exampleNote:
note: "Ups, la he liado al abrir la tapa del natto..."
method: "Para marcar un adjunto como sensible, haz clic en la miniatura, abre el menú, y haz clic en \"Marcar como sensible\"."
sensitiveSucceeded: "Cuando adjuntes archivos, por favor, ten en cuenta las normas del servidor para marcarlos como contenido sensible."
doItToContinue: "Marca el archivo adjunto como sensible para continuar."
_done:
title: "¡Has completado el tutorial! 🎉"
description: "Las funciones que mostramos aquí son sólo una pequeña parte. Para más detalles sobre el funcionamiento de Misskey, pulsa en este enlace: {link}"
_timelineDescription:
home: "En la línea de tiempo de Inicio puedes ver las notas de las cuentas a las que sigues."
local: "En la línea de tiempo Local puedes ver las notas de todos los usuarios del servidor."
social: "En la línea de tiempo Social verás las notas de Inicio y Local a la vez."
global: "En la línea de tiempo Global verás las notas de todos los servidores conectados."
_serverRules:
description: "Un conjunto de reglas que serán mostradas antes del registro. Configurar un sumario de términos de servicio es recomendado."
_serverSettings:
iconUrl: "URL del ícono"
appIconDescription: "Indica el icono que se va a usar cuando {host} se muestre como una app."
appIconUsageExample: "Por ejemplo, como PWA o cuando se muestre como un marcador en la pantalla inicial del dispositivo"
appIconStyleRecommendation: "Como el icono puede ser recortado como un cuadrado o un círculo, se recomienda un icono con un margen coloreado alrededor del contenido."
appIconResolutionMustBe: "La resolución mínima es {resolution}."
manifestJsonOverride: "Sobreescribir manifest.json"
shortName: "Nombre corto"
shortNameDescription: "Forma corta del nombre de la instancia que puede mostrarse si el nombre completo es demasiado largo."
fanoutTimelineDescription: "Incrementa el rendimiento de forma significativa cuando se obtienen las líneas de tiempo y reduce la carga en la base de datos. A cambio, el uso de la memoria en Redis incrementará. Considera desactivar esta opción en caso de que tu servidor tenga poca memoria o detectes inestabilidad."
fanoutTimelineDbFallback: "Cargar desde la base de datos"
fanoutTimelineDbFallbackDescription: "Cuando esta opción está habilitada, la carga de peticiones adicionales de la línea de tiempo se hará desde la base de datos cuando éstas no se encuentren en la caché. Al deshabilitar esta opción se reduce la carga del servidor, pero limita el número de líneas de tiempo que pueden obtenerse."
_accountMigration:
moveFrom: "Trasladar de otra cuenta a ésta"
moveFromSub: "Crear un alias para otra cuenta."
@@ -1580,16 +1386,6 @@ _achievements:
title: "Brain Diver"
description: "Publicaste un vínculo a \"Brain Diver\""
flavor: "Misskey-Misskey La-Tu-Ma"
_smashTestNotificationButton:
title: "Sobrecarga de pruebas"
description: "Envía muchas notificaciones de prueba en un corto espacio de tiempo"
_tutorialCompleted:
title: "Diploma del Curso Básico de Misskey"
description: "Tutorial completado"
_bubbleGameExplodingHead:
title: "🤯"
_bubbleGameDoubleExplodingHead:
title: "Doble 🤯"
_role:
new: "Crear rol"
edit: "Editar rol"
@@ -1600,9 +1396,7 @@ _role:
assignTarget: "Asignar objetivo"
descriptionOfAssignTarget: "<b>Manual</b> Para cambiar manualmente lo que se incluye en este rol.\n<b>Condicional</b> configura una condición, y los usuarios que cumplan la condición serán incluídos automáticamente."
manual: "manual"
manualRoles: "Roles manuales"
conditional: "condicional"
conditionalRoles: "Roles condicionales"
condition: "condición"
isConditionalRole: "Esto es un rol condicional"
isPublic: "Publicar rol"
@@ -1635,7 +1429,6 @@ _role:
inviteLimitCycle: "Enfriamiento del límite de invitaciones"
inviteExpirationTime: "Intervalo de caducidad de invitaciones"
canManageCustomEmojis: "Administrar emojis personalizados"
canManageAvatarDecorations: "Administrar decoraciones de avatar"
driveCapacity: "Capacidad del drive"
alwaysMarkNsfw: "Siempre marcar archivos como NSFW"
pinMax: "Máximo de notas fijadas"
@@ -1650,8 +1443,6 @@ _role:
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"
canUseTranslator: "Uso de traductor"
avatarDecorationLimit: "Número máximo de decoraciones de avatar"
_condition:
isLocal: "Usuario local"
isRemote: "Usuario remoto"
@@ -1680,7 +1471,6 @@ _emailUnavailable:
disposable: "No es un correo reutilizable"
mx: "Servidor de correo inválido"
smtp: "Servidor de correo no disponible"
banned: "Email no disponible"
_ffVisibility:
public: "Publicar"
followers: "Visible solo para seguidores"
@@ -1701,10 +1491,6 @@ _ad:
reduceFrequencyOfThisAd: "Mostrar menos este anuncio."
hide: "No mostrar"
timezoneinfo: "El día de la semana está determidado por la zona horaria del servidor."
adsSettings: "Ajustes de anuncios"
notesPerOneAd: "Intervalo de actualización de anuncios en tiempo real (Notas por cada anuncio)"
setZeroToDisable: "Establece este valor a 0 para deshabilitar la actualización de anuncios en tiempo real"
adsTooClose: "El intervalo de anuncios actual puede empeorar la experiencia del usuario por ser demasiado bajo."
_forgotPassword:
enterEmail: "Ingrese el correo usado para registrar la cuenta. Se enviará un link para resetear la contraseña."
ifNoEmail: "Si no utilizó un correo para crear la cuenta, contáctese con el administrador."
@@ -1723,7 +1509,6 @@ _plugin:
install: "Instalar plugins"
installWarn: "Por favor no instale plugins que no son de confianza"
manage: "Gestionar plugins"
viewSource: "Ver la fuente"
_preferencesBackups:
list: "Respaldos creados"
saveNew: "Guardar nuevo respaldo"
@@ -1757,7 +1542,6 @@ _aboutMisskey:
donate: "Donar a Misskey"
morePatrons: "Muchas más personas nos apoyan. Muchas gracias🥰"
patrons: "Patrocinadores"
projectMembers: "Miembros del proyecto"
_displayOfSensitiveMedia:
respect: "Esconder medios marcados como sensibles"
ignore: "Mostrar medios marcados como sensibles"
@@ -1782,7 +1566,6 @@ _channel:
notesCount: "{n} notas"
nameAndDescription: "Nombre y descripción"
nameOnly: "Sólo nombre"
allowRenoteToExternal: "Permitir renotas y menciones fuera del canal"
_menuDisplay:
sideFull: "Horizontal"
sideIcon: "Horizontal (ícono)"
@@ -1792,6 +1575,11 @@ _wordMute:
muteWords: "Palabras que silenciar"
muteWordsDescription: "Separar con espacios indica una declaracion And, separar con lineas nuevas indica una declaracion Or。"
muteWordsDescription2: "Encerrar las palabras clave entre numerales para usar expresiones regulares"
softDescription: "Ocultar en la linea de tiempo las notas que cumplen las condiciones"
hardDescription: "Evitar que se agreguen a la linea de tiempo las notas que cumplen las condiciones. Las notas no agregadas seguirán quitadas aunque cambien las condiciones."
soft: "Suave"
hard: "Duro"
mutedNotes: "Notas silenciadas"
_instanceMute:
instanceMuteDescription: "Silencia todas las notas y reposts de la instancias seleccionadas, incluyendo respuestas a los usuarios de las mismas"
instanceMuteDescription2: "Separar por líneas"
@@ -1855,6 +1643,9 @@ _theme:
infoFg: "Texto de información"
infoWarnBg: "Fondo de advertencias"
infoWarnFg: "Texto de advertencias"
cwBg: "Fondo del botón CW"
cwFg: "Texto del botón CW"
cwHoverBg: "Fondo del botón CW (hover)"
toastBg: "Fondo de notificaciones"
toastFg: "Texto de notificaciones"
buttonBg: "Fondo de botón"
@@ -1872,16 +1663,10 @@ _sfx:
note: "Notas"
noteMy: "Nota (a mí mismo)"
notification: "Notificaciones"
chat: "Chat"
chatBg: "Chat (Fondo)"
antenna: "Antena receptora"
channel: "Notificaciones del canal"
reaction: "Al seleccionar una reacción"
_soundSettings:
driveFile: "Usar un archivo de audio en Drive"
driveFileWarn: "Selecciona un archivo de audio en Drive."
driveFileTypeWarn: "Este archivo es incompatible"
driveFileTypeWarnDescription: "Selecciona un archivo de audio"
driveFileDurationWarn: "La duración del audio es demasiado larga."
driveFileDurationWarnDescription: "Usar un audio de larga duración puede llegar a molestar mientras usas Misskey. ¿Quieres continuar?"
_ago:
future: "Futuro"
justNow: "Justo ahora"
@@ -1893,22 +1678,25 @@ _ago:
monthsAgo: "Hace {n} meses"
yearsAgo: "Hace {n} años"
invalid: "No hay nada que ver aqui"
_timeIn:
seconds: "En {n} segundos"
minutes: "En {n}m"
hours: "En {n}h"
days: "En {n}d"
weeks: "En {n}sem."
months: "En {n}M"
years: "En {n} años"
_time:
second: "Segundos"
minute: "Minutos"
hour: "Horas"
day: "Días"
_timelineTutorial:
title: "Cómo usar Misskey"
step1_1: "Ésta es la \"línea de tiempo\". Todas las \"notas\" que sean publicadas en {name} serán mostradas cronológicamente aquí."
step1_2: "Hay varias líneas de tiempo. Por ejemplo, la línea temporal \"Inicio\" contiene las notas de otros usuarios que sigues, y la línea \"Local\" contandrá las notas de todos los usuarios de {name}."
step2_1: "Ahora probemos publicar una nota. Puedes hacerlo presionando el botón que tiene un ícono de lápiz."
step2_2: "¿Qué tal si escribimos una introducción? o sólo un \"¡Hola {name}!\" ¿No te apetece?"
step3_1: "¿Terminaste de publicar tu primera nota?"
step3_2: "Tu primera nota ahora se mostrará en tu línea de tiempo."
step4_1: "También puedes añadir \"Reacciones\" a notas."
step4_2: "Para añadir una reacción selecciona el botón \"+\" en la nota y escoge el emoji que quieras para reaccionar."
_2fa:
alreadyRegistered: "Ya has completado la configuración."
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."
@@ -1972,54 +1760,6 @@ _permissions:
"write:flash": "Editar Plays"
"read:flash-likes": "Ver los Play que me gustan"
"write:flash-likes": "Editar lista de Play que me gustan"
"read:admin:abuse-user-reports": "Ver reportes de usuarios"
"write:admin:delete-account": "Eliminar cuentas de usuario"
"write:admin:delete-all-files-of-a-user": "Eliminar todos los archivos de un usuario"
"read:admin:index-stats": "Ver datos indexados"
"read:admin:user-ips": "Ver dirección IP de usuario"
"read:admin:meta": "Ver metadatos de la instancia"
"write:admin:reset-password": "Restablecer contraseñas de usuario"
"write:admin:resolve-abuse-user-report": "Resolución de reportes de usuario"
"write:admin:send-email": "Enviar email"
"read:admin:server-info": "Ver información del servidor"
"read:admin:show-moderation-log": "Ver log de moderación"
"read:admin:show-user": "Ver información privada de usuario"
"read:admin:show-users": "Ver información privada de usuario"
"write:admin:suspend-user": "Suspender cuentas de usuario"
"write:admin:unset-user-avatar": "Quitar avatares de usuario"
"write:admin:unset-user-banner": "Quitar banner de usuarios"
"write:admin:unsuspend-user": "Quitar suspensión de cuentas de usuario"
"write:admin:meta": "Edición de metadatos de la instancia"
"write:admin:user-note": "Moderación de notas"
"write:admin:roles": "Edición de roles de usuario"
"read:admin:roles": "Ver roles de usuario"
"write:admin:relays": "Edición de relays"
"read:admin:relays": "Ver relays"
"write:admin:invite-codes": "Edición de códigos de invitación"
"read:admin:invite-codes": "Ver códigos de invitación"
"write:admin:announcements": "Edición de anuncios"
"read:admin:announcements": "Ver anuncios"
"write:admin:avatar-decorations": "Edición de decoración de avatares"
"read:admin:avatar-decorations": "Ver decoraciones de avatar"
"write:admin:federation": "Edición de federación de instancias"
"write:admin:account": "Edición de cuentas de usuario"
"read:admin:account": "Ver cuentas de usuario"
"write:admin:emoji": "Edición de emojis"
"read:admin:emoji": "Ver emojis"
"write:admin:queue": "Edición de cola de tareas"
"read:admin:queue": "Ver cola de tareas"
"write:admin:promo": "Edición de promociones"
"write:admin:drive": "Edición de Drive de usuarios"
"read:admin:drive": "Ver Drive de usuarios"
"read:admin:stream": "Usar la API de Websocket para administradores"
"write:admin:ad": "Edición de anuncios"
"read:admin:ad": "Ver anuncios"
"write:invite-codes": "Crear códigos de invitación"
"read:invite-codes": "Ver códigos de invitación"
"write:clip-favorite": "Marcar me gusta en clips"
"read:clip-favorite": "Ver los clips que me gustan"
"read:federation": "Ver instancias federadas"
"write:report-abuse": "Crear reportes de usuario"
_auth:
shareAccessTitle: "Permisos de la aplicación"
shareAccess: "¿Desea permitir el acceso a la cuenta \"{name}\"?"
@@ -2035,7 +1775,6 @@ _antennaSources:
homeTimeline: "Notas de los usuarios que sigues"
users: "Notas de un usuario o varios"
userList: "Notas de los usuarios de una lista"
userBlacklist: "Todas las notas excepto aquellas de uno o más usuarios especificados"
_weekday:
sunday: "Domingo"
monday: "Lunes"
@@ -2074,7 +1813,6 @@ _widgets:
_userList:
chooseList: "Seleccione una lista"
clicker: "Cliqueador"
birthdayFollowings: "Hoy cumplen años"
_cw:
hide: "Ocultar"
show: "Ver más"
@@ -2136,19 +1874,15 @@ _profile:
metadataContent: "Contenido"
changeAvatar: "Cambiar avatar"
changeBanner: "Cambiar banner"
verifiedLinkDescription: "Introduciendo una URL que contiene un enlace a tu perfil, se puede mostrar un icono de verificación de propiedad al lado del campo."
avatarDecorationMax: "Puedes añadir un máximo de {max} decoraciones de avatar."
_exportOrImport:
allNotes: "Todas las notas"
favoritedNotes: "Notas favoritas"
clips: "Clip"
followingList: "Siguiendo"
muteList: "Silenciados"
blockingList: "Bloqueados"
userLists: "Listas"
excludeMutingUsers: "Excluir usuarios silenciados"
excludeInactiveUsers: "Excluir usuarios inactivos"
withReplies: "Incluir respuestas de los usuarios importados en la línea de tiempo"
_charts:
federation: "Federación"
apRequest: "Pedidos"
@@ -2258,21 +1992,11 @@ _notification:
youReceivedFollowRequest: "Has mandado una solicitud de seguimiento"
yourFollowRequestAccepted: "Tu solicitud de seguimiento fue aceptada"
pollEnded: "Estan disponibles los resultados de la encuesta"
newNote: "Nueva nota"
unreadAntennaNote: "Antena {name}"
roleAssigned: "Rol asignado"
emptyPushNotificationMessage: "Se han actualizado las notificaciones push"
achievementEarned: "Logro desbloqueado"
testNotification: "Notificación de prueba"
checkNotificationBehavior: "Comprobar comportamiento de la notificación"
sendTestNotification: "Enviar notificación de prueba"
notificationWillBeDisplayedLikeThis: "Las notificaciones tendrán este aspecto"
reactedBySomeUsers: "{n} usuarios han reaccionado"
renotedBySomeUsers: "{n} usuarios han renotado"
followedBySomeUsers: "Seguido por {n} usuarios"
_types:
all: "Todo"
note: "Nuevas notas"
follow: "Siguiendo"
mention: "Menciones"
reply: "Respuestas"
@@ -2282,7 +2006,6 @@ _notification:
pollEnded: "La encuesta terminó"
receiveFollowRequest: "Recibió una solicitud de seguimiento"
followRequestAccepted: "El seguimiento fue aceptado"
roleAssigned: "Rol asignado"
achievementEarned: "Logro desbloqueado"
app: "Notificaciones desde aplicaciones"
_actions:
@@ -2343,109 +2066,3 @@ _webhookSettings:
renote: "Cuando reciba un \"re-note\""
reaction: "Cuando se recibe una reacción"
mention: "Cuando hay una mención"
_moderationLogTypes:
createRole: "Rol creado"
deleteRole: "Rol eliminado"
updateRole: "Rol actualizado"
assignRole: "Rol asignado"
unassignRole: "Rol retirado"
suspend: "Suspender"
unsuspend: "Suspensión retirada"
addCustomEmoji: "Añadido emoji personalizado"
updateCustomEmoji: "Emoji personalizado actualizado"
deleteCustomEmoji: "Emoji personalizado eliminado"
updateServerSettings: "Ajustes de servidor actualizados"
updateUserNote: "Nota de moderación actualizada"
deleteDriveFile: "Archivo eliminado"
deleteNote: "Nota eliminada"
createGlobalAnnouncement: "Anuncio global creado"
createUserAnnouncement: "Anuncio de usuario creado"
updateGlobalAnnouncement: "Anuncio global actualizado"
updateUserAnnouncement: "Anuncio de usuario actualizado"
deleteGlobalAnnouncement: "Anuncio global eliminado"
deleteUserAnnouncement: "Anuncio de usuario eliminado"
resetPassword: "Resetear contraseña"
suspendRemoteInstance: "Instancia remota suspendida"
unsuspendRemoteInstance: "Suspensión de instancia remota retirada"
markSensitiveDriveFile: "Archivo marcado como sensible"
unmarkSensitiveDriveFile: "Archivo marcado como no sensible"
resolveAbuseReport: "Reporte resuelto"
createInvitation: "Generar invitación"
createAd: "Anuncio creado"
deleteAd: "Anuncio eliminado"
updateAd: "Anuncio actualizado"
createAvatarDecoration: "Decoración de avatar creada"
updateAvatarDecoration: "Decoración de avatar actualizada"
deleteAvatarDecoration: "Decoración de avatar eliminada"
unsetUserAvatar: "Quitar decoración de avatar de este usuario"
unsetUserBanner: "Quitar banner de este usuario"
_fileViewer:
title: "Detalles del archivo"
type: "Tipo de archivo"
size: "Tamaño del archivo"
url: "URL"
uploadedAt: "Subido el"
attachedNotes: "Notas adjuntas"
thisPageCanBeSeenFromTheAuthor: "Esta página solo puede ser vista por el autor."
_externalResourceInstaller:
title: "Instalar desde sitio externo"
checkVendorBeforeInstall: "Asegúrate de que el distribuidor de este recurso es de confianza antes de proceder a la instalación."
_plugin:
title: "¿Quieres instalar este plugin?"
metaTitle: "Información del plugin"
_theme:
title: "¿Quieres instalar este tema?"
metaTitle: "Información del tema"
_meta:
base: "Esquema de color base"
_vendorInfo:
title: "Información del distribuidor"
endpoint: "Terminal referenciada"
hashVerify: "Verificación de hash"
_errors:
_invalidParams:
title: "Parámetros inválidos"
description: "No hay información suficiente para cargar datos de un sitio externo. Por favor, confirma la URL introducida."
_resourceTypeNotSupported:
title: "Este recurso externo no es compatible"
description: "El tipo de este recurso externo no es compatible. Por favor, contacta con el administrador del sitio."
_failedToFetch:
title: "No se pudo obtener los datos"
fetchErrorDescription: "Ha ocurrido un error al comunicarse con el sitio externo. Si no se soluciona tras intentarlo otra vez, por favor, contacta con el administrador del sitio."
parseErrorDescription: "Ha ocurrido un error al procesar los datos obtenidos del sitio externo. Por favor, contacta con el administrador del sitio."
_hashUnmatched:
title: "Verificación de datos fallida"
description: "Ha ocurrido un error al verificar la integridad de los datos obtenidos. Por seguridad, la instalación no se puede realizar. Por favor, contacta con el administrador del sitio."
_pluginParseFailed:
title: "Error de AiScript"
description: "Los datos se han obtenido correctamente, pero ha ocurrido un error de AiScript al procesarlos. Por favor, contacta con el autor del plugin. Se pueden ver más detalles del error en la consola de Javascript."
_pluginInstallFailed:
title: "Instalación del plugin fallida."
description: "Ha ocurrido un problema al instalar el plugin. Por favor, inténtalo de nuevo. Se pueden ver más detalles del error en la consola de Javascript."
_themeParseFailed:
title: "Análisis del tema fallido"
description: "Los datos se han obtenido correctamente, pero ha ocurrido un error al analizar el tema. Por favor, contacta con el autor. Se pueden ver más detalles del error en la consola de Javascript."
_themeInstallFailed:
title: "Instalación de tema fallida"
description: "Ha ocurrido un problema al instalar el tema. Por favor, inténtalo de nuevo. Se pueden ver más detalles del error en la consola de Javascript."
_dataSaver:
_media:
title: "Cargando Multimedia"
description: "Desactiva la carga automática de imágenes y vídeos. Tendrás que tocar en las imágenes y vídeos ocultos para cargarlos."
_avatar:
title: "Avatares animados"
description: "Desactiva la animación de los avatares. Las imágenes animadas pueden llegar a ser de mayor tamaño que las normales, por lo que al desactivarlas puedes reducir el consumo de datos."
_urlPreview:
title: "Vista previa de URLs"
description: "Desactiva la carga de vistas previas de las URLs."
_code:
title: "Resaltar código"
description: "Si se usa resaltado de código en MFM, etc., no se cargará hasta pulsar en ello. El resaltado de sintaxis requiere la descarga de archivos de definición para cada lenguaje de programación. Debido a esto, al deshabilitar la carga automática de estos archivos reducirás el consumo de datos."
_hemisphere:
N: "Hemisferio norte"
S: "Hemisferio sur"
_reversi:
reversi: "Reversi"
won: "{name} ha ganado"
total: "Total"

File diff suppressed because it is too large Load Diff

View File

@@ -6,225 +6,68 @@ import ts from 'typescript';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const parameterRegExp = /\{(\w+)\}/g;
function createMemberType(item) {
if (typeof item !== 'string') {
return ts.factory.createTypeLiteralNode(createMembers(item));
}
const parameters = Array.from(
item.matchAll(parameterRegExp),
([, parameter]) => parameter,
);
return parameters.length
? ts.factory.createTypeReferenceNode(
ts.factory.createIdentifier('ParameterizedString'),
[
ts.factory.createUnionTypeNode(
parameters.map((parameter) =>
ts.factory.createStringLiteral(parameter),
),
),
],
)
: ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword);
}
function createMembers(record) {
return Object.entries(record).map(([k, v]) => {
const node = ts.factory.createPropertySignature(
return Object.entries(record)
.map(([k, v]) => ts.factory.createPropertySignature(
undefined,
ts.factory.createStringLiteral(k),
undefined,
createMemberType(v),
);
if (typeof v === 'string') {
ts.addSyntheticLeadingComment(
node,
ts.SyntaxKind.MultiLineCommentTrivia,
`*
* ${v.replace(/\n/g, '\n * ')}
`,
true,
);
}
return node;
});
typeof v === 'string'
? ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword)
: ts.factory.createTypeLiteralNode(createMembers(v)),
));
}
export default function generateDTS() {
const locale = yaml.load(fs.readFileSync(`${__dirname}/ja-JP.yml`, 'utf-8'));
const members = createMembers(locale);
const elements = [
ts.factory.createVariableStatement(
[ts.factory.createToken(ts.SyntaxKind.DeclareKeyword)],
ts.factory.createVariableDeclarationList(
[
ts.factory.createVariableDeclaration(
ts.factory.createIdentifier('kParameters'),
undefined,
ts.factory.createTypeOperatorNode(
ts.SyntaxKind.UniqueKeyword,
ts.factory.createKeywordTypeNode(ts.SyntaxKind.SymbolKeyword),
),
undefined,
),
],
ts.NodeFlags.Const,
),
),
ts.factory.createInterfaceDeclaration(
[ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
ts.factory.createIdentifier('ParameterizedString'),
[
ts.factory.createTypeParameterDeclaration(
undefined,
ts.factory.createIdentifier('T'),
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
),
],
undefined,
[
ts.factory.createPropertySignature(
undefined,
ts.factory.createComputedPropertyName(
ts.factory.createIdentifier('kParameters'),
),
undefined,
ts.factory.createTypeReferenceNode(
ts.factory.createIdentifier('T'),
undefined,
),
),
],
),
ts.factory.createInterfaceDeclaration(
[ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
ts.factory.createIdentifier('ILocale'),
undefined,
undefined,
[
ts.factory.createIndexSignature(
undefined,
[
ts.factory.createParameterDeclaration(
undefined,
undefined,
ts.factory.createIdentifier('_'),
undefined,
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
undefined,
),
],
ts.factory.createUnionTypeNode([
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
ts.factory.createTypeReferenceNode(
ts.factory.createIdentifier('ParameterizedString'),
),
ts.factory.createTypeReferenceNode(
ts.factory.createIdentifier('ILocale'),
undefined,
),
]),
),
],
),
ts.factory.createInterfaceDeclaration(
[ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
ts.factory.createIdentifier('Locale'),
undefined,
[
ts.factory.createHeritageClause(ts.SyntaxKind.ExtendsKeyword, [
ts.factory.createExpressionWithTypeArguments(
ts.factory.createIdentifier('ILocale'),
undefined,
),
]),
],
members,
),
ts.factory.createVariableStatement(
[ts.factory.createToken(ts.SyntaxKind.DeclareKeyword)],
ts.factory.createVariableDeclarationList(
[
ts.factory.createVariableDeclaration(
[ts.factory.createVariableDeclaration(
ts.factory.createIdentifier('locales'),
undefined,
ts.factory.createTypeLiteralNode([
ts.factory.createIndexSignature(
ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature(
undefined,
[
ts.factory.createParameterDeclaration(
[ts.factory.createParameterDeclaration(
undefined,
undefined,
ts.factory.createIdentifier('lang'),
undefined,
ts.factory.createKeywordTypeNode(
ts.SyntaxKind.StringKeyword,
),
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
undefined,
),
],
)],
ts.factory.createTypeReferenceNode(
ts.factory.createIdentifier('Locale'),
undefined,
),
),
]),
)]),
undefined,
)],
ts.NodeFlags.Const | ts.NodeFlags.Ambient | ts.NodeFlags.ContextFlags,
),
],
ts.NodeFlags.Const,
),
),
ts.factory.createFunctionDeclaration(
[ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)],
undefined,
ts.factory.createIdentifier('build'),
undefined,
[],
ts.factory.createTypeReferenceNode(
ts.factory.createIdentifier('Locale'),
undefined,
),
undefined,
),
ts.factory.createExportDefault(ts.factory.createIdentifier('locales')),
];
ts.addSyntheticLeadingComment(
elements[0],
ts.SyntaxKind.MultiLineCommentTrivia,
' eslint-disable ',
true,
);
ts.addSyntheticLeadingComment(
elements[0],
ts.SyntaxKind.SingleLineCommentTrivia,
' This file is generated by locales/generateDTS.js',
true,
);
ts.addSyntheticLeadingComment(
elements[0],
ts.SyntaxKind.SingleLineCommentTrivia,
' Do not edit this file directly.',
true,
);
const printed = ts
.createPrinter({
const printed = ts.createPrinter({
newLine: ts.NewLineKind.LineFeed,
})
.printList(
}).printList(
ts.ListFormat.MultiLine,
ts.factory.createNodeArray(elements),
ts.createSourceFile(
'index.d.ts',
'',
ts.ScriptTarget.ESNext,
true,
ts.ScriptKind.TS,
),
ts.createSourceFile('index.d.ts', '', ts.ScriptTarget.ESNext, true, ts.ScriptKind.TS),
);
fs.writeFileSync(`${__dirname}/index.d.ts`, printed, 'utf-8');
fs.writeFileSync(`${__dirname}/index.d.ts`, `/* eslint-disable */
// This file is generated by locales/generateDTS.js
// Do not edit this file directly.
${printed}`, 'utf-8');
}

View File

@@ -1,6 +1 @@
---
_lang_: "japanski"
ok: "OK"
gotIt: "Razumijem"
cancel: "otkazati"

View File

@@ -1,19 +1 @@
---
_lang_: "Japonè"
password: "modpas"
ok: "OK"
gotIt: "Konprann"
cancel: "anile"
noThankYou: "Sispann"
instance: "sèvè"
profile: "pwofil"
save: "kenbe"
delete: "efase"
instances: "sèvè"
remove: "efase"
smtpPass: "modpas"
_2fa:
renewTOTPCancel: "Sispann"
_widgets:
profile: "pwofil"

View File

@@ -77,7 +77,6 @@ smtpUser: "Felhasználónév"
smtpPass: "Jelszó"
user: "Felhasználók"
searchByGoogle: "Keresés"
renotes: "Renote"
_theme:
keys:
renote: "Renote"
@@ -102,4 +101,3 @@ _deck:
_columns:
notifications: "Értesítések"
tl: "Idővonal"

View File

@@ -45,7 +45,6 @@ pin: "Sematkan ke profil"
unpin: "Lepas sematan dari profil"
copyContent: "Salin konten"
copyLink: "Salin tautan"
copyLinkRenote: "Salin tautan renote"
delete: "Hapus"
deleteAndEdit: "Hapus dan sunting"
deleteAndEditConfirm: "Apakah kamu yakin ingin menghapus note ini dan menyuntingnya? Kamu akan kehilangan semua reaksi, renote dan balasan di note ini."
@@ -81,7 +80,7 @@ exportRequested: "Kamu telah meminta ekspor. Ini akan memakan waktu sesaat. Sete
importRequested: "Kamu telah meminta impor. Ini akan memakan waktu sesaat."
lists: "Daftar"
noLists: "Kamu tidak memiliki daftar apapun"
note: "Catatan"
note: "Catat"
notes: "Catatan"
following: "Ikuti"
followers: "Pengikut"
@@ -121,16 +120,10 @@ sensitive: "Konten sensitif"
add: "Tambahkan"
reaction: "Reaksi"
reactions: "Reaksi"
emojiPicker: "Emoji Picker"
pinnedEmojisForReactionSettingDescription: "Atur sematan emoji pada reaksi"
pinnedEmojisSettingDescription: "Atur sematan emoji pada masukan emoji"
emojiPickerDisplay: "Tampilan Emoji Picker"
overwriteFromPinnedEmojisForReaction: "Timpa dari pengaturan reaksi"
overwriteFromPinnedEmojis: "Timpa dari pengaturan umum"
reactionSetting: "Reaksi untuk dimunculkan di bilah reaksi"
reactionSettingDescription2: "Geser untuk memindah urutan emoji, klik untuk menghapus, tekan \"+\" untuk menambahkan"
rememberNoteVisibility: "Ingat pengaturan visibilitas catatan"
attachCancel: "Hapus lampiran"
deleteFile: "Berkas dihapus"
markAsSensitive: "Tandai sebagai konten sensitif"
unmarkAsSensitive: "Hapus tanda konten sensitif"
enterFileName: "Masukkan nama berkas"
@@ -163,7 +156,6 @@ addEmoji: "Tambahkan emoji"
settingGuide: "Pengaturan rekomendasi"
cacheRemoteFiles: "Tembolokkan berkas dari instansi luar"
cacheRemoteFilesDescription: "Ketika pengaturan ini dinonaktifkan, berkas dari instansi luar akan dimuat langsung. Menonaktifkan ini akan mengurangi penggunaan penyimpanan peladen, namun dapat menyebabkan peningkatan lalu lintas bandwidth, karena keluku tidak dihasilkan."
youCanCleanRemoteFilesCache: "Kamu dapat mengosongkan tembolok dengan mengeklik tombol 🗑️ pada layar manajemen berkas."
cacheRemoteSensitiveFiles: "Tembolokkan berkas dari instansi luar"
cacheRemoteSensitiveFilesDescription: "Menonaktifkan pengaturan ini menyebabkan berkas sensitif dari instansi luar ditautkan secara langsung, bukan ditembolok."
flagAsBot: "Atur akun ini sebagai Bot"
@@ -201,7 +193,6 @@ perHour: "per Jam"
perDay: "per Hari"
stopActivityDelivery: "Berhenti mengirim aktivitas"
blockThisInstance: "Blokir instansi ini"
silenceThisInstance: "Senyapkan instansi ini"
operations: "Tindakan"
software: "Perangkat lunak"
version: "Versi"
@@ -221,8 +212,6 @@ clearCachedFiles: "Hapus tembolok"
clearCachedFilesConfirm: "Apakah kamu yakin ingin menghapus seluruh tembolok berkas instansi luar?"
blockedInstances: "Instansi terblokir"
blockedInstancesDescription: "Daftar nama host dari instansi yang diperlukan untuk diblokir. Instansi yang didaftarkan tidak akan dapat berkomunikasi dengan instansi ini."
silencedInstances: "Instansi yang disenyapkan"
silencedInstancesDescription: "Daftar nama host dari instansi yang ingin kamu senyapkan. Semua akun dari instansi yang terdaftar akan diperlakukan sebagai disenyapkan. Hal ini membuat akun hanya dapat membuat permintaan mengikuti, dan tidak dapat menyebutkan akun lokal apabila tidak mengikuti. Hal ini tidak akan mempengaruhi instansi yang diblokir."
muteAndBlock: "Bisukan / Blokir"
mutedUsers: "Pengguna yang dibisukan"
blockedUsers: "Pengguna yang diblokir"
@@ -267,7 +256,6 @@ removed: "Telah dihapus"
removeAreYouSure: "Apakah kamu yakin ingin menghapus \"{x}\"?"
deleteAreYouSure: "Apakah kamu yakin ingin menghapus \"{x}\"?"
resetAreYouSure: "Yakin mau atur ulang?"
areYouSure: "Apakah kamu yakin?"
saved: "Telah disimpan"
messaging: "Pesan"
upload: "Unggah"
@@ -318,7 +306,6 @@ folderName: "Nama folder"
createFolder: "Buat folder"
renameFolder: "Ubah nama folder"
deleteFolder: "Hapus folder"
folder: "Folder"
addFile: "Tambahkan berkas"
emptyDrive: "Drive kosong"
emptyFolder: "Folder kosong"
@@ -367,6 +354,7 @@ invite: "Undang"
driveCapacityPerLocalAccount: "Kapasitas drive per pengguna lokal"
driveCapacityPerRemoteAccount: "Kapasitas drive per pengguna remote"
inMb: "dalam Megabytes"
iconUrl: "URL Gambar ikon"
bannerUrl: "URL Banner"
backgroundImageUrl: "URL Gambar latar"
basicInfo: "Informasi Umum"
@@ -380,11 +368,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Nyalakan hCaptcha"
hcaptchaSiteKey: "Site Key"
hcaptchaSecretKey: "Secret Key"
mcaptcha: "mCaptcha"
enableMcaptcha: "Nyalakan mCaptcha"
mcaptchaSiteKey: "Site key"
mcaptchaSecretKey: "Secret Key"
mcaptchaInstanceUrl: "URL instansi mCaptcha"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Nyalakan reCAPTCHA"
recaptchaSiteKey: "Site key"
@@ -427,14 +410,10 @@ aboutMisskey: "Tentang Misskey"
administrator: "Admin"
token: "Token"
2fa: "Autentikasi 2-faktor"
setupOf2fa: "Atur autentikasi 2-faktor"
totp: "Aplikasi autentikator"
totpDescription: "Gunakan aplikasi autentikator untuk mendapatkan kata sandi sekali pakai"
moderator: "Moderator"
moderation: "Moderasi"
moderationNote: "Catatan moderasi"
addModerationNote: "Tambahkan catatan moderasi"
moderationLogs: "Log moderasi"
nUsersMentioned: "{n} pengguna disebut"
securityKeyAndPasskey: "Security key dan passkey"
securityKey: "Kunci keamanan"
@@ -450,13 +429,14 @@ share: "Bagikan"
notFound: "Tidak dapat ditemukan"
notFoundDescription: "Tidak ada halaman sesuai dengan URL yang ditentukan."
uploadFolder: "Lokasi unggah folder bawaan"
cacheClear: "Bersihkan tembolok"
markAsReadAllNotifications: "Tandai semua notifikasi telah dibaca"
markAsReadAllUnreadNotes: "Tandai semua catatan telah dibaca"
markAsReadAllTalkMessages: "Tandai semua pesan telah dibaca"
help: "Bantuan"
inputMessageHere: "Ketik pesan disini"
close: "Tutup"
invites: "Undangan"
invites: "Undang"
members: "Anggota"
transfer: "Transfer"
title: "Judul"
@@ -471,7 +451,7 @@ noMessagesYet: "Tidak ada pesan"
newMessageExists: "Kamu mendapatkan pesan baru"
onlyOneFileCanBeAttached: "Kamu hanya dapat melampirkan satu berkas ke dalam pesan"
signinRequired: "Silahkan login"
invitations: "Undangan"
invitations: "Undang"
invitationCode: "Kode undangan"
checking: "Memeriksa"
available: "Tersedia"
@@ -527,7 +507,7 @@ showFeaturedNotesInTimeline: "Tampilkan catatan yang diunggulkan di lini masa"
objectStorage: "Object Storage"
useObjectStorage: "Gunakan object storage"
objectStorageBaseUrl: "Base URL"
objectStorageBaseUrlDesc: "Prefix URL digunakan untuk mengonstruksi URL ke object (media) referencing. Tentukan URL jika kamu menggunakan CDN atau Proxy. Jika tidak, tentukan alamat yang dapat diakses secara publik sesuai dengan panduan dari layanan yang akan kamu gunakan. Contohnya: 'https://<bucket>.s3.amazonaws.com' untuk AWS S3, dan 'https://storage.googleapis.com/<bucket>' untuk GCS."
objectStorageBaseUrlDesc: "Prefix URL digunakan untuk mengkonstruksi URL ke object (media) referencing. Tentukan URL jika kamu menggunakan CDN atau Proxy, jika tidak tentukan alamat yang dapat diakses secara publik sesuai dengan panduan dari layanan yang akan kamu gunakan, contohnya. 'https://<bucket>.s3.amazonaws.com' untuk AWS S3, dan 'https://storage.googleapis.com/<bucket>' untuk GCS."
objectStorageBucket: "Bucket"
objectStorageBucketDesc: "Mohon tentukan nama bucket yang digunakan pada layanan yang telah dikonfigurasi."
objectStoragePrefix: "Prefix"
@@ -544,9 +524,8 @@ objectStorageSetPublicRead: "Setel \"public-read\" disaat mengunggah"
s3ForcePathStyleDesc: "Jika s3ForcePathStyle dinyalakan, nama bucket harus dimasukkan dalam path URL dan bukan URL nama host tersebut. Kamu perlu menyalakan pengaturan ini jika menggunakan layanan seperti instansi Minio yang self-hosted."
serverLogs: "Log Peladen"
deleteAll: "Hapus semua"
showFixedPostForm: "Tampilkan form posting di atas lini masa"
showFixedPostForm: "Tampilkan form posting di atas lini masa."
showFixedPostFormInChannel: "Tampilkan form posting di atas lini masa (Kanal)"
withRepliesByDefaultForNewlyFollowed: "Termasuk balasan dari pengguna baru yang diikuti pada lini masa secara bawaan"
newNoteRecived: "Kamu mendapat catatan baru"
sounds: "Bunyi"
sound: "Bunyi"
@@ -556,8 +535,6 @@ showInPage: "Tampilkan di halaman"
popout: "Pop-out"
volume: "Volume"
masterVolume: "Master volume"
notUseSound: "Tidak ada keluaran suara"
useSoundOnlyWhenActive: "Hanya keluarkan suara jika Misskey sedang aktif"
details: "Selengkapnya"
chooseEmoji: "Pilih emoji"
unableToProcess: "Operasi tersebut tidak dapat diselesaikan."
@@ -578,10 +555,6 @@ output: "Keluaran"
script: "Script"
disablePagesScript: "Nonaktifkan script pada halaman"
updateRemoteUser: "Perbaharui informasi pengguna instansi luar"
unsetUserAvatar: "Hapus avatar"
unsetUserAvatarConfirm: "Apakah kamu yakin ingin menghapus avatar?"
unsetUserBanner: "Hapus banner"
unsetUserBannerConfirm: "Apakah kamu yakin ingin menghapus banner?"
deleteAllFiles: "Hapus semua berkas"
deleteAllFilesConfirm: "Apakah kamu yakin ingin menghapus semua berkas?"
removeAllFollowing: "Batalkan mengikuti semua pengguna"
@@ -632,7 +605,6 @@ medium: "Sedang"
small: "Kecil"
generateAccessToken: "Buat token akses"
permission: "Izin"
adminPermission: "Wewenang Izin Admin"
enableAll: "Aktifkan semua"
disableAll: "Nonaktifkan semua"
tokenRequested: "Berikan ijin akses ke akun"
@@ -654,10 +626,9 @@ smtpSecure: "Gunakan SSL/TLS implisit untuk koneksi SMTP"
smtpSecureInfo: "Matikan ini ketika menggunakan STARTTLS"
testEmail: "Tes pengiriman surel"
wordMute: "Bisukan kata"
hardWordMute: "Pembisuan kata keras"
regexpError: "Kesalahan ekspresi reguler"
regexpErrorDescription: "Galat terjadi pada baris {line} ekspresi reguler dari {tab} kata yang dibisukan:"
instanceMute: "Bisukan instansi"
instanceMute: "Bisuka instansi"
userSaysSomething: "{name} mengatakan sesuatu"
makeActive: "Aktifkan"
display: "Tampilkan"
@@ -676,14 +647,12 @@ useGlobalSettingDesc: "Jika dinyalakan, setelan notifikasi akun kamu akan diguna
other: "Lainnya"
regenerateLoginToken: "Perbarui token login"
regenerateLoginTokenDescription: "Perbarui token yang digunakan secara internal saat login. Normalnya aksi ini tidak diperlukan. Jika diperbarui, semua perangkat akan dilogout."
theKeywordWhenSearchingForCustomEmoji: "Kata kunci ini digunakan untuk mencari emoji kustom yang dicari."
setMultipleBySeparatingWithSpace: "Kamu dapat menyetel banyak dengan memisahkannya menggunakan spasi."
fileIdOrUrl: "File-ID atau URL"
behavior: "Perilaku"
sample: "Contoh"
abuseReports: "Laporkan"
reportAbuse: "Laporkan"
reportAbuseRenote: "Laporkan renote"
reportAbuseOf: "Laporkan {name}"
fillAbuseReportDescription: "Mohon isi rincian laporan. Jika laporan ini mengenai catatan yang spesifik, mohon lampirkan serta URL catatan tersebut."
abuseReported: "Laporan kamu telah dikirimkan. Terima kasih."
@@ -736,7 +705,6 @@ lockedAccountInfo: "Kecuali kamu menyetel visibilitas catatan milikmu ke \"Hanya
alwaysMarkSensitive: "Tandai media dalam catatan sebagai media sensitif"
loadRawImages: "Tampilkan lampiran gambar secara penuh daripada thumbnail"
disableShowingAnimatedImages: "Jangan mainkan gambar bergerak"
highlightSensitiveMedia: "Sorot media sensitif"
verificationEmailSent: "Surel verifikasi telah dikirimkan. Mohon akses tautan yang telah disertakan untuk menyelesaikan verifikasi."
notSet: "Tidak disetel"
emailVerified: "Surel telah diverifikasi"
@@ -889,8 +857,8 @@ makeReactionsPublicDescription: "Pengaturan ini akan membuat daftar dari semua r
classic: "Klasik"
muteThread: "Bisukan thread"
unmuteThread: "Suarakan thread"
followingVisibility: "Visibilitas mengikuti"
followersVisibility: "Visibilitas pengikut"
ffVisibility: "Visibilitas Mengikuti/Pengikut"
ffVisibilityDescription: "Mengatur siapa yang dapat melihat pengikutmu dan yang kamu ikuti."
continueThread: "Lihat lanjutan thread"
deleteAccountConfirm: "Akun akan dihapus. Apakah kamu yakin?"
incorrectPassword: "Kata sandi salah."
@@ -1000,7 +968,6 @@ assign: "Tetapkan\n"
unassign: "Batalkan penetapan"
color: "Warna"
manageCustomEmojis: "Kelola Emoji Kustom"
manageAvatarDecorations: "Kelola dekorasi avatar"
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."
@@ -1041,10 +1008,6 @@ resetPasswordConfirm: "Yakin untuk mereset kata sandimu?"
sensitiveWords: "Kata sensitif"
sensitiveWordsDescription: "Visibilitas dari semua catatan mengandung kata yang telah diatur akan dijadikan \"Beranda\" secara otomatis. Kamu dapat mendaftarkan kata tersebut lebih dari satu dengan menuliskannya di baris baru."
sensitiveWordsDescription2: "Menggunakan spasi akan membuat ekspresi AND dan kata kunci disekitarnya dengan garis miring akan mengubahnya menjadi ekspresi reguler."
prohibitedWords: "Kata yang dilarang"
prohibitedWordsDescription2: "Menggunakan spasi akan membuat ekspresi AND dan kata kunci disekitarnya dengan garis miring akan mengubahnya menjadi ekspresi reguler."
hiddenTags: "Tagar tersembunyi"
hiddenTagsDescription: "Pilih tanda yang mana akan tidak diperlihatkan dalam daftar tren.\nTanda lebih dari satu dapat didaftarkan dengan tiap baris."
notesSearchNotAvailable: "Pencarian catatan tidak tersedia."
license: "Lisensi"
unfavoriteConfirm: "Yakin ingin menghapusnya dari favorit?"
@@ -1056,13 +1019,9 @@ retryAllQueuesConfirmText: "Hal ini akan meningkatkan beban sementara ke peladen
enableChartsForRemoteUser: "Buat bagan data pengguna instansi luar"
enableChartsForFederatedInstances: "Buat bagan data peladen instansi luar"
showClipButtonInNoteFooter: "Tambahkan \"Klip\" ke menu aksi catatan"
reactionsDisplaySize: "Ukuran tampilan reaksi"
limitWidthOfReaction: "Batasi lebar maksimum reaksi dan tampilkan dalam ukuran terbatasi."
noteIdOrUrl: "ID catatan atau URL"
video: "Video"
videos: "Video"
audio: "Suara"
audioFiles: "Berkas Suara"
dataSaver: "Penghemat data"
accountMigration: "Pemindahan akun"
accountMoved: "Pengguna ini telah berpindah ke akun baru:"
@@ -1140,93 +1099,6 @@ icon: "Avatar"
forYou: "Untuk Anda"
currentAnnouncements: "Pengumuman Saat Ini"
pastAnnouncements: "Pengumuman Terdahulu"
youHaveUnreadAnnouncements: "Terdapat pengumuman yang belum dibaca"
useSecurityKey: "Mohon ikuti instruksi peramban atau perangkat kamu untuk menggunakan kunci pengaman atau passkey."
replies: "Balas"
renotes: "Renote"
loadReplies: "Tampilkan balasan"
loadConversation: "Tampilkan percakapan"
pinnedList: "Daftar yang dipin"
keepScreenOn: "Biarkan layar tetap menyala"
verifiedLink: "Tautan kepemilikan telah diverifikasi"
notifyNotes: "Beritahu mengenai catatan baru"
unnotifyNotes: "Berhenti memberitahu mengenai catatan baru"
authentication: "Autentikasi"
authenticationRequiredToContinue: "Mohon autentikasikan terlebih dahulu sebelum melanjutkan"
dateAndTime: "Tanggal dan Waktu"
showRenotes: "Tampilkan renote"
edited: "Telah disunting"
notificationRecieveConfig: "Pengaturan notifikasi"
mutualFollow: "Saling mengikuti"
fileAttachedOnly: "Hanya catatan dengan berkas"
showRepliesToOthersInTimeline: "Tampilkan balasan ke pengguna lain dalam lini masa"
hideRepliesToOthersInTimeline: "Sembunyikan balasan ke orang lain dari lini masa"
showRepliesToOthersInTimelineAll: "Tampilkan balasan ke lainnya dari semua orang yang kamu ikuti di lini masa"
hideRepliesToOthersInTimelineAll: "Sembuyikan balasan ke lainnya dari semua orang yang kamu ikuti di lini masa"
confirmShowRepliesAll: "Operasi ini tidak dapat diubah. Apakah kamu yakin untuk menampilkan balasan ke lainnya dari semua orang yang kamu ikuti di lini masa?"
confirmHideRepliesAll: "Operasi ini tidak dapat diubah. Apakah kamu yakin untuk menyembunyikan balasan ke lainnya dari semua orang yang kamu ikuti di lini masa?"
externalServices: "Layanan eksternal"
sourceCode: "Sumber kode"
impressum: "Impressum"
impressumUrl: "Tautan Impressum"
impressumDescription: "Pada beberapa negara seperti Jerman, inklusi dari informasi kontak operator (sebuah Impressum) diperlukan secara legal untuk situs web komersil."
privacyPolicy: "Kebijakan Privasi"
privacyPolicyUrl: "Tautan Kebijakan Privasi"
tosAndPrivacyPolicy: "Syarat dan Ketentuan serta Kebijakan Privasi"
avatarDecorations: "Dekorasi avatar"
attach: "Lampirkan"
detach: "Hapus"
detachAll: "Lepas Semua"
angle: "Sudut"
flip: "Balik"
showAvatarDecorations: "Tampilkan dekorasi avatar"
releaseToRefresh: "Lepaskan untuk memuat ulang"
refreshing: "Sedang memuat ulang..."
pullDownToRefresh: "Tarik ke bawah untuk memuat ulang"
disableStreamingTimeline: "Nonaktifkan pembaharuan lini masa real-time"
useGroupedNotifications: "Tampilkan notifikasi secara dikelompokkan"
signupPendingError: "Terdapat masalah ketika memverifikasi alamat surel. Tautan kemungkinan telah kedaluwarsa."
cwNotationRequired: "Jika \"Sembunyikan konten\" diaktifkan, deskripsi harus disediakan."
doReaction: "Tambahkan reaksi"
code: "Kode"
reloadRequiredToApplySettings: "Muat ulang diperlukan untuk menerapkan pengaturan."
remainingN: "Sisa : {n}"
overwriteContentConfirm: "Apakah kamu yakin untuk menimpa konten saat ini?"
seasonalScreenEffect: "Efek layar musiman"
decorate: "Dekor"
addMfmFunction: "Tambahkan dekorasi"
enableQuickAddMfmFunction: "Tampilkan pemilih MFM tingkat lanjut"
bubbleGame: "Bubble Game"
sfx: "Efek Suara"
soundWillBePlayed: "Suara yang akan dimainkan"
showReplay: "Lihat tayangan ulang"
replay: "Tayangan ulang"
replaying: "Menayangkan Ulang"
ranking: "Peringkat"
lastNDays: "{n} hari terakhir"
backToTitle: "Ke Judul"
hemisphere: "Letak kamu tinggal"
withSensitive: "Lampirkan catatan dengan berkas sensitif"
userSaysSomethingSensitive: "Postingan oleh {name} mengandung konten sensitif"
enableHorizontalSwipe: "Geser untuk mengganti tab"
surrender: "Batalkan"
_bubbleGame:
howToPlay: "Cara bermain"
_howToPlay:
section1: "Atur posisi dan jatuhkan obyek ke dalam kotak."
_announcement:
forExistingUsers: "Hanya pengguna yang telah ada"
forExistingUsersDescription: "Pengumuman ini akan dimunculkan ke pengguna yang sudah ada dari titik waktu publikasi jika dinyalakan. Apabila dimatikan, mereka yang baru mendaftar setelah publikasi ini akan juga melihatnya."
needConfirmationToRead: "Membutuhkan konfirmasi terpisah bahwa telah dibaca"
needConfirmationToReadDescription: "Permintaan terpisah untuk mengonfirmasi menandai pengumuman ini telah dibaca akan ditampilkan apabila fitur ini dinyalakan. Pengumuman ini juga akan dikecualikan dari fungsi \"Tandai semua telah dibaca\"."
end: "Arsipkan pengumuman"
tooManyActiveAnnouncementDescription: "Terlalu banyak pengumuman dapat memperburuk pengalaman pengguna. Mohon pertimbangkan untuk mengarsipkan pengumuman yang sudah usang/tidak relevan."
readConfirmTitle: "Tandai telah dibaca?"
readConfirmText: "Aksi ini akan menandai konten dari \"{title}\" telah dibaca."
shouldNotBeUsedToPresentPermanentInfo: "Karena dapat berdampak pada pengalaman pengguna untuk pengguna baru, sangat direkomendasikan untuk menggunakan notifikasi secara mengalir daripada tetap."
dialogAnnouncementUxWarn: "Memiliki dua atau lebih gaya dialog notifikasi secara bersamaan dapat berdampak signifikan pada pengalaman pengguna, mohon untuk menggunakannya dengan hati-hati."
silence: "Tiada notifikasi"
silenceDescription: "Apabila diaktifkan, notifikasi dari pengumuman ini akan dilewatkan dan pengguna tidak perlu membacanya."
_initialAccountSetting:
accountCreated: "Akun kamu telah sukses dibuat!"
letsStartAccountSetup: "Untuk pemula, ayo atur profilmu dulu."
@@ -1239,55 +1111,11 @@ _initialAccountSetting:
pushNotificationDescription: "Menyalakan notifikasi dorong akan membuatmu menerima notifikasi dari {name} secara langsung ke perangkatmu."
initialAccountSettingCompleted: "Pengaturan profil selesai!"
haveFun: "Selamat menikmati, {name}!"
youCanContinueTutorial: "Kamu dapat menjutkan ke tutorial dalam bagaimana menggunakan {name} (Misskey) atau kamu dapat keluar dari pemasangan ini dan langsung menggunakannya segera."
startTutorial: "Mulai Tutorial"
ifYouNeedLearnMore: "Kalau kamu ingin mempelajari lebih lanjut bagaimana cara menggunakan {name} (Misskey), silahkan kunjungi {link}."
skipAreYouSure: "Yakin melewati atur profil?"
laterAreYouSure: "Yakin banget untuk atur profil nanti?"
_initialTutorial:
launchTutorial: "Lihat Tutorial"
title: "Tutorial"
wellDone: "Kerja bagus!"
skipAreYouSure: "Berhenti dari Tutorial?"
_landing:
title: "Selamat datang di Tutorial"
description: "Di sini kamu dapat mempelajari dasar-dasar dari penggunaan Misskey dan fitur-fiturnya."
_note:
title: "Apa itu Catatan?"
description: "Postingan di Misskey disebut sebagai 'Catatan'. Catatan ditampilkan secara kronologis pada lini masa dan dimutakhirkan secara real-time."
reply: "Klik pada tombol ini untuk membalas ke sebuah pesan. Bisa juga untuk membalas ke sebuah balasan dan melanjutkannya seperti percakapan selayaknya utas."
renote: "Kamu dapat membagikan catatan ke lini masa milikmu. Kamu juga dapat mengutipnya dengan komentarmu."
reaction: "Kamu dapat menambahkan reaksi ke Catatan. Detil lebih lanjut akan dijelaskan di halaman berikutnya."
_reaction:
title: "Apa itu Reaksi?"
_timeline:
title: "Konsep Lini Masa"
_postNote:
title: "Pengaturan posting Catatan"
_visibility:
public: "Perlihatkan catatan ke semua pengguna."
home: "Hanya publik ke lini masa Beranda. Pengguna yang mengunjungi profilmu melalui pengikut dan renote dapat melihatnya."
followers: "Perlihatkan ke pengikut saja. Hanya pengikut yang dapat melihat postinganmu dan tidak dapat direnote oleh siapapun."
direct: "Hanya perlihatkan ke pengguna spesifik dan penerima akan diberi tahu. Dapat juga digunakan sebagai alternatif dari pesan langsung."
_cw:
title: "Peringatan Konten (CW)"
_exampleNote:
cw: "Peringatan: Bikin Lapar!"
note: "Baru aja makan donat berlapis coklat 🍩😋"
_howToMakeAttachmentsSensitive:
title: "Bagaimana menandai lampiran sebagai sensitif?"
_done:
title: "Kamu telah menyelesaikan tutorial! 🎉"
_serverRules:
description: "Daftar peraturan akan ditampilkan sebelum pendaftaran. Mengatur ringkasan dari Syarat dan Ketentuan sangat direkomendasikan."
_serverSettings:
iconUrl: "URL ikon"
appIconDescription: "Tentukan ikon yang digunakan ketika {host} ditampilkan sebagai aplikasi."
appIconUsageExample: "Contoh: Sebagai PWA, atau ketika ditampilkan sebagai markah layar beranda pada ponsel"
appIconStyleRecommendation: "Karena ikon berkemungkinan dipotong menjadi persegi atau lingkaran, ikon dengan margin terwanai di sekeliling konten sangat direkomendasikan."
appIconResolutionMustBe: "Minimum resolusi adalah {resolution}."
manifestJsonOverride: "Ambil alih manifest.json"
shortName: "Nama pendek"
shortNameDescription: "Inisial untuk nama instansi yang dapat ditampilkan apabila nama lengkap resmi terlalu panjang."
_accountMigration:
moveFrom: "Pindahkan akun lain ke akun ini"
moveFromSub: "Buat alias ke akun lain"
@@ -1542,9 +1370,6 @@ _achievements:
title: "Brain Diver"
description: "Posting tautan mengenai Brain Diver"
flavor: "Misskey-Misskey La-Tu-Ma"
_smashTestNotificationButton:
title: "Tes overflow"
description: "Picu tes notifikasi secara berulang dalam waktu yang sangat pendek"
_role:
new: "Buat peran"
edit: "Sunting peran"
@@ -1588,7 +1413,6 @@ _role:
inviteLimitCycle: "Interval Penerbitan Kode Undangan"
inviteExpirationTime: "Interval kedaluwarsa undangan"
canManageCustomEmojis: "Dapat mengelola Emoji kustom"
canManageAvatarDecorations: "Kelola dekorasi avatar"
driveCapacity: "Kapasitas Drive"
alwaysMarkNsfw: "Selalu tandai berkas sebagai NSFW"
pinMax: "Jumlah maksimal catatan yang disematkan"
@@ -1603,7 +1427,6 @@ _role:
descriptionOfRateLimitFactor: "Batas kecepatan yang rendah tidak begitu membatasi, batas kecepatan tinggi lebih membatasi. "
canHideAds: "Dapat menyembunyikan iklan"
canSearchNotes: "Penggunaan pencarian catatan"
canUseTranslator: "Penggunaan penerjemah"
_condition:
isLocal: "Pengguna lokal"
isRemote: "Pengguna remote"
@@ -1652,10 +1475,6 @@ _ad:
reduceFrequencyOfThisAd: "Tampilkan iklan ini lebih sedikit"
hide: "Jangan tampilkan"
timezoneinfo: "Hari dalam satu minggu ditentukan dari zona waktu peladen."
adsSettings: "Pengaturan iklan"
notesPerOneAd: "Interval penempatan pemutakhiran iklan secara real-time (catatan per iklan)"
setZeroToDisable: "Atur nilai ini ke 0 untuk menonaktifkan pemutakhiran iklan secara real-time"
adsTooClose: "Interval iklan saat ini kemungkinan memperburuk pengalaman pengguna secara signifikan karena diatur pada nilai yang terlalu rendah."
_forgotPassword:
enterEmail: "Masukkan alamat surel yang kamu gunakan pada saat mendaftar. Sebuah tautan untuk mengatur ulang kata sandi kamu akan dikirimkan ke alamat surel tersebut."
ifNoEmail: "Apabila kamu tidak menggunakan surel pada saat pendaftaran, mohon hubungi admin segera."
@@ -1674,7 +1493,6 @@ _plugin:
install: "Memasang plugin"
installWarn: "Mohon jangan memasang plugin yang tidak dapat dipercayai."
manage: "Manajemen plugin"
viewSource: "Lihat sumber"
_preferencesBackups:
list: "Cadangan yang dibuat"
saveNew: "Simpan cadangan baru"
@@ -1741,6 +1559,11 @@ _wordMute:
muteWords: "Kata yang dibisukan"
muteWordsDescription: "Pisahkan dengan spasi untuk kondisi AND. Pisahkan dengan baris baru untuk kondisi OR."
muteWordsDescription2: "Kurung kata kunci dengan garis miring untuk menggunakan ekspresi reguler."
softDescription: "Sembunyikan catatan yang memenuhi aturan kondisi dari lini masa."
hardDescription: "Cegah catatan memenuhi aturan kondisi dari ditambahkan ke lini masa. Dengan tambahan, catatan berikut tidak akan ditambahkan ke lini masa meskipun jika kondisi tersebut diubah."
soft: "Lembut"
hard: "Keras"
mutedNotes: "Catatan yang dibisukan"
_instanceMute:
instanceMuteDescription: "Pengaturan ini akan membisukan note/renote apa saja dari instansi yang terdaftar, termasuk pengguna yang membalas pengguna lain dalam instansi yang dibisukan."
instanceMuteDescription2: "Pisah dengan baris baru"
@@ -1804,6 +1627,9 @@ _theme:
infoFg: "Teks informasi"
infoWarnBg: "Latar belakang peringatan"
infoWarnFg: "Teks peringatan"
cwBg: "Latar belakang tombol Sembunyikan Konten"
cwFg: "Teks tombol Sembunyikan Konten"
cwHoverBg: "Latar belakang tombol Sembunyikan Konten (Mengambang)"
toastBg: "Latar belakang notifikasi"
toastFg: "Teks notifikasi"
buttonBg: "Latar belakang tombol"
@@ -1821,16 +1647,10 @@ _sfx:
note: "Catatan"
noteMy: "Catatan (Saya)"
notification: "Notifikasi"
chat: "Pesan"
chatBg: "Obrolan (Latar Belakang)"
antenna: "Penerimaan Antenna"
channel: "Notifikasi Kanal"
reaction: "Ketika memilih reaksi"
_soundSettings:
driveFile: "Menggunakan berkas audio dalam Drive"
driveFileWarn: "Pilih berkas audio dari Drive"
driveFileTypeWarn: "Berkas ini tidak didukung"
driveFileTypeWarnDescription: "Pilih berkas audio"
driveFileDurationWarn: "Audio ini terlalu panjang"
driveFileDurationWarnDescription: "Audio panjang dapat mengganggu penggunaan Misskey. Masih ingin melanjutkan?"
_ago:
future: "Masa depan"
justNow: "Baru saja"
@@ -1842,33 +1662,34 @@ _ago:
monthsAgo: "{n} bulan lalu"
yearsAgo: "{n} tahun lalu"
invalid: "Tidak ada sama sekali disini"
_timeIn:
seconds: "dalam {n} detik"
minutes: "dalam {n} menit"
hours: "dalam {n} jam"
days: "dalam {n} hari"
weeks: "dalam {n} minggu"
months: "dalam {n} bulan"
years: "dalam {n} tahun"
_time:
second: "detik"
minute: "menit"
hour: "jam"
day: "hari"
_timelineTutorial:
title: "Bagaimana cara menggunakan Misskey"
step1_1: "Ini adalah \"lini masa\". Semua \"catatan\" yang dikirimkan oleh {name} akan dimunculkan secara kronologis di sini."
step1_2: "Ada beberapa lini masa yang berbeda. Seperti contoh, \"Lini masa Beranda\" berisi catatan dari pengguna yang kamu ikuti, dan \"Lini masa lokal\" berisi catatan dari semua pengguna dari {name}."
step2_1: "Selanjutnya, mari kita coba memposting sebuah catatan. Kamu dapat melakukanya dengan menekan tombol dengan ikon pensil."
step2_2: "Bagaimana dengan menuliskan sedikit perkenalan diri, atau hanya \"Hello {name}\" kalau kamu lagi ngga feeling?"
step3_1: "Udah selesai memposting catatan pertamamu?"
step3_2: "Catatan pertamamu seharusnya sekarang sudah tampil di lini masa kamu."
step4_1: "Kamu dapat menyisipkan \"Reaksi\" ke dalam catatan."
step4_2: "Untuk menyisipkan reaksi, tekan tanda \"+\" dalam catatan dan pilih emoji yang kamu suka untuk mereaksi catatan tersebut."
_2fa:
alreadyRegistered: "Kamu telah mendaftarkan perangkat autentikasi 2-faktor."
alreadyRegistered: "Kamu telah mendaftarkan perangkat otentikasi dua faktor."
registerTOTP: "Daftarkan aplikasi autentikator"
step1: "Pertama, pasang aplikasi autentikasi (seperti {a} atau {b}) di perangkat kamu."
passwordToTOTP: "Masukkan kata sandimu"
step1: "Pertama, pasang aplikasi otentikasi (seperti {a} atau {b}) di perangkat kamu."
step2: "Lalu, pindai kode QR yang ada di layar."
step2Click: "Mengeklik kode QR ini akan membolehkanmu untuk mendaftarkan 2FA ke security-key atau aplikasi autentikator ponsel."
step2Uri: "Masukkan URI berikut jika kamu menggunakan program desktop"
step3Title: "Masukkan kode autentikasi"
step3: "Masukkan token yang telah disediakan oleh aplikasimu untuk menyelesaikan pemasangan."
setupCompleted: "Penyetelan autentikasi 2-faktor selesai"
step4: "Mulai sekarang, upaya login apapun akan meminta token login dari aplikasi autentikasi kamu."
step4: "Mulai sekarang, upaya login apapun akan meminta token login dari aplikasi otentikasi kamu."
securityKeyNotSupported: "Peramban kamu tidak mendukung security key."
registerTOTPBeforeKey: "Mohon atur aplikasi autentikator untuk mendaftarkan security key atau passkey."
securityKeyInfo: "Kamu dapat memasang autentikasi WebAuthN untuk mengamankan proses login lebih lanjut dengan tidak hanya perangkat keras kunci keamanan yang mendukung FIDO2, namun juga sidik jari atau autentikasi PIN pada perangkatmu."
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."
registerSecurityKey: "Daftarkan security key atau passkey."
securityKeyName: "Masukkan nama key."
tapSecurityKey: "Mohon ikuti peramban kamu untuk mendaftarkan security key atau passkey"
@@ -1879,11 +1700,7 @@ _2fa:
renewTOTPConfirm: "Hal ini akan menyebabkan kode verifikasi dari aplikasi autentikator sebelumnya berhenti bekerja"
renewTOTPOk: "Atur ulang"
renewTOTPCancel: "Tidak sekarang."
checkBackupCodesBeforeCloseThisWizard: "Sebelum kamu menutup jendela ini, pastikan untuk memperhatikan dan mencadangkan kode cadangan berikut."
backupCodes: "Kode Pencadangan"
backupCodesDescription: "Kamu dapat menggunakan kode ini untuk mendapatkan akses ke akun kamu apabila berada dalam situasi tidak dapat menggunakan aplikasi autentikasi 2-faktor yang kamu miliki. Setiap kode hanya dapat digunakan satu kali. Mohon simpan kode ini di tempat yang aman."
backupCodeUsedWarning: "Kode cadangan telah digunakan. Mohon mengatur ulang autentikasi 2-faktor secepatnya apabila kamu sudah tidak dapat menggunakannya lagi."
backupCodesExhaustedWarning: "Semua kode cadangan telah digunakan. Apabila kamu kehilangan akses pada aplikasi autentikasi 2-faktor milikmu, kamu tidak dapat mengakses akun ini lagi. Mohon atur ulang autentikasi 2-faktor kamu."
_permissions:
"read:account": "Lihat informasi akun"
"write:account": "Sunting informasi akun"
@@ -1917,59 +1734,6 @@ _permissions:
"write:gallery": "Sunting galeri"
"read:gallery-likes": "Lihat daftar postingan galeri yang disukai"
"write:gallery-likes": "Sunting daftar postingan galeri yang disukai"
"read:flash": "Lihat Play"
"write:flash": "Sunting Play"
"read:flash-likes": "Lihat daftar Play yang disukai"
"write:flash-likes": "Sunting daftar Play yang disukai"
"read:admin:abuse-user-reports": "Lihat laporan pengguna"
"write:admin:delete-account": "Hapus akun pengguna"
"write:admin:delete-all-files-of-a-user": "Hapus semua berkas dari seorang pengguna"
"read:admin:index-stats": "Lihat statistik indeks basis data"
"read:admin:table-stats": "Lihat statistik tabel basis data"
"read:admin:user-ips": "Lihat alamat IP pengguna"
"read:admin:meta": "Lihat metadata instansi"
"write:admin:reset-password": "Atur ulang kata sandi pengguna"
"write:admin:resolve-abuse-user-report": "Selesaikan laporan pengguna"
"write:admin:send-email": "Mengirim surel"
"read:admin:server-info": "Lihat informasi peladen"
"read:admin:show-moderation-log": "Lihat log moderasi"
"read:admin:show-user": "Lihat informasi pengguna privat"
"read:admin:show-users": "Lihat informasi pengguna privat"
"write:admin:suspend-user": "Tangguhkan pengguna"
"write:admin:unset-user-avatar": "Hapus avatar pengguna"
"write:admin:unset-user-banner": "Hapus banner pengguna"
"write:admin:unsuspend-user": "Batalkan penangguhan pengguna"
"write:admin:meta": "Kelola metadata instansi"
"write:admin:user-note": "Kelola moderasi catatan"
"write:admin:roles": "Kelola peran"
"read:admin:roles": "Lihat peran"
"write:admin:relays": "Kelola relay"
"read:admin:relays": "Lihat relay"
"write:admin:invite-codes": "Kelola kode undangan"
"read:admin:invite-codes": "Lihat kode undangan"
"write:admin:announcements": "Kelola pengumuman"
"read:admin:announcements": "Lihat Pengumuman"
"write:admin:avatar-decorations": "Kelola dekorasi avatar"
"read:admin:avatar-decorations": "Lihat dekorasi avatar"
"write:admin:federation": "Kelola data federasi"
"write:admin:account": "Kelola akun pengguna"
"read:admin:account": "Lihat akun pengguna"
"write:admin:emoji": "Kelola emoji"
"read:admin:emoji": "Lihat emoji"
"write:admin:queue": "Kelola antrian kerja"
"read:admin:queue": "Lihat informasi antrian kerja"
"write:admin:promo": "Kelola catatan promosi"
"write:admin:drive": "Kelola drive pengguna"
"read:admin:drive": "Kelola informasi drive pengguna"
"read:admin:stream": "Gunakan API WebSocket untuk Admin"
"write:admin:ad": "Kelola iklan"
"read:admin:ad": "Lihat iklan"
"write:invite-codes": "Membuat kode undangan"
"read:invite-codes": "Mendapatkan kode undangan"
"write:clip-favorite": "Kelola klip yang difavoritkan"
"read:clip-favorite": "Lihat klip yang difavoritkan"
"read:federation": "Mendapatkan data federasi"
"write:report-abuse": "Melaporkan pelanggaran"
_auth:
shareAccessTitle: "Mendapatkan ijin akses aplikasi"
shareAccess: "Apakah kamu ingin mengijinkan \"{name}\" untuk mengakses akun ini?"
@@ -1985,7 +1749,6 @@ _antennaSources:
homeTimeline: "Catatan dari pengguna yang diikuti"
users: "Catatan dari pengguna tertentu"
userList: "Catatan dari daftar tertentu"
userBlacklist: "Semua catatan kecuali untuk satu pengguna atau lebih yang telah ditentukan"
_weekday:
sunday: "Minggu"
monday: "Senin"
@@ -2024,7 +1787,6 @@ _widgets:
_userList:
chooseList: "Pilih daftar"
clicker: "Pengeklik"
birthdayFollowings: "Pengguna yang merayakan hari ulang tahunnya hari ini"
_cw:
hide: "Sembunyikan"
show: "Lihat konten"
@@ -2086,19 +1848,15 @@ _profile:
metadataContent: "Isi"
changeAvatar: "Ubah avatar"
changeBanner: "Ubah header"
verifiedLinkDescription: "Dengan memasukkan URL yang mengandung tautan ke profil kamu di sini, ikon verifikasi kepemilikan dapat ditampilkan di sebelah kolom ini."
avatarDecorationMax: "Dapat ditambahkan hingga {max} dekorasi."
_exportOrImport:
allNotes: "Semua catatan"
favoritedNotes: "Catatan favorit"
clips: "Klip"
followingList: "Ikuti"
muteList: "Bisukan"
blockingList: "Blokir"
userLists: "Daftar"
excludeMutingUsers: "Kecualikan pengguna yang dibisukan"
excludeInactiveUsers: "Kecualikan pengguna tidak aktif"
withReplies: "Termasuk balasan dari pengguna yang diimpor ke dalam lini masa"
_charts:
federation: "Federasi"
apRequest: "Permintaan"
@@ -2208,21 +1966,11 @@ _notification:
youReceivedFollowRequest: "Kamu menerima permintaan mengikuti"
yourFollowRequestAccepted: "Permintaan mengikuti kamu telah diterima"
pollEnded: "Hasil Kuesioner telah keluar"
newNote: "Catatan baru"
unreadAntennaNote: "Antena {name}"
roleAssigned: "Peran Diberikan"
emptyPushNotificationMessage: "Pembaruan notifikasi dorong"
achievementEarned: "Pencapaian didapatkan"
testNotification: "Tes notifikasi"
checkNotificationBehavior: "Cek tampilan notifikasi"
sendTestNotification: "Kirim tes notifikasi"
notificationWillBeDisplayedLikeThis: "Notifikasi akan terlihat seperti ini"
reactedBySomeUsers: "{n} orang memberikan reaksi"
renotedBySomeUsers: "{n} orang telah merenote"
followedBySomeUsers: "{n} orang telah mengikuti"
_types:
all: "Semua"
note: "Catatan baru"
follow: "Ikuti"
mention: "Sebut"
reply: "Balasan"
@@ -2232,7 +1980,6 @@ _notification:
pollEnded: "Jajak pendapat berakhir"
receiveFollowRequest: "Permintaan mengikuti diterima"
followRequestAccepted: "Permintaan mengikuti disetujui"
roleAssigned: "Peran Diberikan"
achievementEarned: "Pencapaian didapatkan"
app: "Notifikasi dari aplikasi tertaut"
_actions:
@@ -2257,8 +2004,6 @@ _deck:
introduction2: "Klik \"+\" pada kanan layar untuk menambahkan kolom baru kapanpun yang kamu mau."
widgetsIntroduction: "Mohon pilih \"Sunting gawit\" pada menu kolom dan tambahkan gawit."
useSimpleUiForNonRootPages: "Gunakan antarmuka sederhana ke halaman yang dituju"
usedAsMinWidthWhenFlexible: "Lebar minimum akan digunakan untuk ini ketika opsi \"Atur-otomatis lebar\" dinyalakan"
flexible: "Atur-otomatis lebar"
_columns:
main: "Utama"
widgets: "Widget"
@@ -2293,139 +2038,3 @@ _webhookSettings:
renote: "Ketika direnote"
reaction: "Ketika menerima reaksi"
mention: "Ketika sedang disebut"
_moderationLogTypes:
createRole: "Peran telah dibuat"
deleteRole: "Peran telah dihapus"
updateRole: "Peran telah diperbaharui"
assignRole: "Yang ditugaskan dalam peran"
unassignRole: "Dihapus dari peran"
suspend: "Tangguhkan"
unsuspend: "Batal ditangguhkan"
addCustomEmoji: "Emoji kustom ditambahkan"
updateCustomEmoji: "Emoji kustom diperbaharui"
deleteCustomEmoji: "Emoji kustom dihapus"
updateServerSettings: "Pengaturan peladen diperbaharui"
updateUserNote: "Catatan moderasi diperbaharui"
deleteDriveFile: "Berkas dihapus"
deleteNote: "Catatan dihapus"
createGlobalAnnouncement: "Pengumuman global dibuat"
createUserAnnouncement: "Pengumuman pengguna dibuat"
updateGlobalAnnouncement: "Pengumuman global diperbaharui"
updateUserAnnouncement: "Pengumuman pengguna diperbaharui"
deleteGlobalAnnouncement: "Pengumuman global telah dihapus"
deleteUserAnnouncement: "Pengumuman pengguna telah dihapus."
resetPassword: "Atur ulang kata sandi"
suspendRemoteInstance: "Instansi luar telah ditangguhkan"
unsuspendRemoteInstance: "Instansi luar batal ditangguhkan"
markSensitiveDriveFile: "Berkas ditandai sensitif"
unmarkSensitiveDriveFile: "Berkas batal ditandai sensitif"
resolveAbuseReport: "Laporan terselesaikan"
createInvitation: "Buat kode undangan"
createAd: "Iklan telah dibuat"
deleteAd: "Iklan telah dihapus"
updateAd: "Iklan telah diperbaharui"
createAvatarDecoration: "Buat dekorasi avatar"
updateAvatarDecoration: "Perbarui dekorasi avatar"
deleteAvatarDecoration: "Hapus dekorasi avatar"
unsetUserAvatar: "Hapus avatar pengguna"
unsetUserBanner: "Hapus banner pengguna"
_fileViewer:
title: "Rincian berkas"
type: "Jenis berkas"
size: "Ukuran berkas"
url: "URL"
uploadedAt: "Diunggah pada"
attachedNotes: "Catatan yang dilampirkan"
thisPageCanBeSeenFromTheAuthor: "Halaman ini hanya dapat dilihat oleh pengguna yang mengunggah bekas ini."
_externalResourceInstaller:
title: "Pasang dari situs eksternal"
checkVendorBeforeInstall: "Pastikan sumber dari sumber daya ini terpercaya sebelum melakukan pemasangan."
_plugin:
title: "Apakah kamu ingin memasang plugin ini?"
metaTitle: "Informasi plugin"
_theme:
title: "Apakah kamu ingin memasang tema ini?"
metaTitle: "Informasi tema"
_meta:
base: "Skema warna dasar"
_vendorInfo:
title: "Informasi sumber"
endpoint: "Referensi Endpoint"
hashVerify: "Verifikasi hash"
_errors:
_invalidParams:
title: "Parameter tidak valid"
description: "Tidak cukup informasi untuk memuat data dari situs eksternal. Mohon konfirmasi kembali URL yang dimasukkan."
_resourceTypeNotSupported:
title: "Sumber daya eksternal ini tidak didukung"
description: "Tipe sumber daya eksternal ini tidak didukung. Mohon kontak administrator dari situs tersebut."
_failedToFetch:
title: "Gagal memuat data"
fetchErrorDescription: "Kesalahan terjadi ketika menghubungkan dengan situs eksternal. Jika percobaan kembali tidak dapat memperbaiki masalah ini, mohon hubungi administrator dari situs tersebut."
parseErrorDescription: "Kesalahan terjadi dalam memproses data yang dimuat dari situs eksternal. Mohon hubungi administrator dari situs tersebut."
_hashUnmatched:
title: "Verifikasi data gagal"
description: "Kesalahan terjadi dalam memverifikasi integritas data yang diambil. Sebagai pencegahan keamanan, pemasangan tidak dapat dilanjutkan. Mohon hubungi administrator dari situs tersebut."
_pluginParseFailed:
title: "Kesalahan AiScript"
description: "Data yang diminta telah diambil dengan sukses, namun kesalahan terjadi ketika AiScript melakukan parsing. Mohon hubungi pembuat plugin. Detil kesalahan dapat dilihat pada konsol Javascript."
_pluginInstallFailed:
title: "Pemasangan plugin gagal"
description: "Kesalahan terjadi ketika pemasangan plugin. Mohon coba lagi. Detil kesalahan dapat dilihat pada konsol Javascript."
_themeParseFailed:
title: "Parsing tema gagal"
description: "Data yang diminta telah diambil dengan sukses, namun kesalahan terjadi ketika tema melakukan parsing. Mohon hubungi pembuat tema. Detil kesalahan dapat dilihat pada konsol Javascript."
_themeInstallFailed:
title: "Pemasangan tema gagal"
description: "Kesalahan terjadi ketika pemasangan tema. Mohon coba lagi. Detil kesalahan dapat dilihat pada konsol Javascript."
_dataSaver:
_media:
title: "Memuat media"
description: "Mencegah gambar/video dimuat secara otomatis. Menyembunyikan gambar/video dan akan dimuat ketika diketuk."
_avatar:
title: "Gambar avatar"
description: "Hentikan animasi gambar avatar. Gambar animasi dapat berukuran lebih besar dari gambar biasa, berpotensi pada pengurangan lalu lintas data lebih jauh."
_urlPreview:
title: "Gambar kecil URL pratinjau"
description: "Gambar kecil URL pratinjau tidak akan dimuat lagi."
_code:
title: "Penyorotan kode"
description: "Jika notasi penyorotan kode digunakan di MFM, dll. Fungsi tersebut tidak akan dimuat apabila tidak diketuk. Penyorotan sintaks membutuhkan pengunduhan berkas definisi penyorotan untuk setiap bahasa pemrograman. Oleh sebab itu, menonaktifkan pemuatan otomatis dari berkas ini dilakukan untuk mengurangi jumlah komunikasi data."
_hemisphere:
N: "Bumi belahan utara"
S: "Bumi belahan selatan"
caption: "Digunakan dalam beberapa pengaturan klien untuk menentukan musim."
_reversi:
reversi: "Reversi"
gameSettings: "Pengaturan permainan"
chooseBoard: "Pilih papan"
blackOrWhite: "Hitam/Putih"
blackIs: "{name} bermain sebagai Hitam"
rules: "Aturan"
thisGameIsStartedSoon: "Permainan akan segera dimulai"
waitingForOther: "Menunggu langkah giliran dari lawan"
waitingForMe: "Menungguh langkah giliran dari kamu"
waitingBoth: "Bersiap"
ready: "Siap"
cancelReady: "Belum siap"
opponentTurn: "Giliran lawan"
myTurn: "Giliran kamu"
turnOf: "Giliran {name}"
pastTurnOf: "Giliran {name}"
surrender: "Menyerah"
surrendered: "Telah menyerah"
timeout: "Waktu habis"
drawn: "Seri"
won: "{name} menang"
black: "Hitam"
white: "Putih"
total: "Jumlah"
turnCount: "Langkah ke {count}"
myGames: "Rondeku"
allGames: "Semua ronde"
ended: "Selesai"
playing: "Sedang bermain"
isLlotheo: "Pemain dengan batu yang sedikit menang (Llotheo)"
loopedMap: "Peta melingkar"
canPutEverywhere: "Keping dapat ditaruh dimana saja"

7763
locales/index.d.ts vendored

File diff suppressed because it is too large Load Diff

View File

@@ -51,24 +51,10 @@ const primaries = {
// 何故か文字列にバックスペース文字が混入することがあり、YAMLが壊れるので取り除く
const clean = (text) => text.replace(new RegExp(String.fromCodePoint(0x08), 'g'), '');
export function build() {
const locales = languages.reduce((a, c) => (a[c] = yaml.load(clean(fs.readFileSync(new URL(`${c}.yml`, import.meta.url), 'utf-8'))) || {}, a), {});
const locales = languages.reduce((a, c) => (a[c] = yaml.load(clean(fs.readFileSync(new URL(`${c}.yml`, import.meta.url), 'utf-8'))) || {}, a), {});
// 空文字列が入ることがあり、フォールバックが動作しなくなるのでプロパティごと消す
const removeEmpty = (obj) => {
for (const [k, v] of Object.entries(obj)) {
if (v === '') {
delete obj[k];
} else if (typeof v === 'object') {
removeEmpty(v);
}
}
return obj;
};
removeEmpty(locales);
return Object.entries(locales)
.reduce((a, [k, v]) => (a[k] = (() => {
export default Object.entries(locales)
.reduce((a, [k ,v]) => (a[k] = (() => {
const [lang] = k.split('-');
switch (k) {
case 'ja-JP': return v;
@@ -77,11 +63,8 @@ export function build() {
default: return merge(
locales['ja-JP'],
locales['en-US'],
locales[`${lang}-${primaries[lang]}`] ?? {},
locales[`${lang}-${primaries[lang]}`] || {},
v
);
}
})(), a), {});
}
export default build();

File diff suppressed because it is too large Load Diff

View File

@@ -15,7 +15,7 @@ gotIt: "わかった"
cancel: "キャンセル"
noThankYou: "やめておく"
enterUsername: "ユーザー名を入力"
renotedBy: "{user}がリノート"
renotedBy: "{user}がRenote"
noNotes: "ノートはありません"
noNotifications: "通知はありません"
instance: "サーバー"
@@ -45,10 +45,10 @@ pin: "ピン留め"
unpin: "ピン留め解除"
copyContent: "内容をコピー"
copyLink: "リンクをコピー"
copyLinkRenote: "リノートのリンクをコピー"
copyLinkRenote: "Renoteのリンクをコピー"
delete: "削除"
deleteAndEdit: "削除して編集"
deleteAndEditConfirm: "このノートを削除してもう一度編集しますか?このノートへのリアクション、リノート、返信も全て削除されます。"
deleteAndEditConfirm: "このノートを削除してもう一度編集しますか?このノートへのリアクション、Renote、返信も全て削除されます。"
addToList: "リストに追加"
addToAntenna: "アンテナに追加"
sendMessage: "メッセージを送信"
@@ -105,13 +105,13 @@ followRequests: "フォロー申請"
unfollow: "フォロー解除"
followRequestPending: "フォロー許可待ち"
enterEmoji: "絵文字を入力"
renote: "リノート"
unrenote: "リノート解除"
renoted: "リノートしました。"
cantRenote: "この投稿はリノートできません。"
cantReRenote: "リノートをリノートすることはできません。"
renote: "Renote"
unrenote: "Renote解除"
renoted: "Renoteしました。"
cantRenote: "この投稿はRenoteできません。"
cantReRenote: "RenoteをRenoteすることはできません。"
quote: "引用"
inChannelRenote: "チャンネル内リノート"
inChannelRenote: "チャンネル内Renote"
inChannelQuote: "チャンネル内引用"
pinnedNote: "ピン留めされたノート"
pinned: "ピン留め"
@@ -121,16 +121,10 @@ sensitive: "センシティブ"
add: "追加"
reaction: "リアクション"
reactions: "リアクション"
emojiPicker: "絵文字ピッカー"
pinnedEmojisForReactionSettingDescription: "リアクション時にピン留め表示する絵文字を設定できます"
pinnedEmojisSettingDescription: "絵文字入力時にピン留め表示する絵文字を設定できます"
emojiPickerDisplay: "ピッカーの表示"
overwriteFromPinnedEmojisForReaction: "リアクション設定から上書きする"
overwriteFromPinnedEmojis: "全般設定から上書きする"
reactionSetting: "ピッカーに表示するリアクション"
reactionSettingDescription2: "ドラッグして並び替え、クリックして削除、+を押して追加します。"
rememberNoteVisibility: "公開範囲を記憶する"
attachCancel: "添付取り消し"
deleteFile: "ファイルを削除"
markAsSensitive: "センシティブとして設定"
unmarkAsSensitive: "センシティブを解除する"
enterFileName: "ファイル名を入力"
@@ -201,7 +195,6 @@ perHour: "1時間ごと"
perDay: "1日ごと"
stopActivityDelivery: "アクティビティの配送を停止"
blockThisInstance: "このサーバーをブロック"
silenceThisInstance: "サーバーをサイレンス"
operations: "操作"
software: "ソフトウェア"
version: "バージョン"
@@ -220,9 +213,7 @@ clearQueueConfirmText: "未配達の投稿は配送されなくなります。
clearCachedFiles: "キャッシュをクリア"
clearCachedFilesConfirm: "キャッシュされたリモートファイルをすべて削除しますか?"
blockedInstances: "ブロックしたサーバー"
blockedInstancesDescription: "ブロックしたいサーバーのホストを改行で区切って設定します。ブロックされたサーバーは、このインスタンスとやり取りできなくなります。"
silencedInstances: "サイレンスしたサーバー"
silencedInstancesDescription: "サイレンスしたいサーバーのホストを改行で区切って設定します。サイレンスされたサーバーに所属するアカウントはすべて「サイレンス」として扱われ、フォローがすべてリクエストになり、フォロワーでないローカルアカウントにはメンションできなくなります。ブロックしたインスタンスには影響しません。"
blockedInstancesDescription: "ブロックしたいサーバーのホストを改行で区切って設定します。ブロックされたサーバーは、このサーバーとやり取りできなくなります。サブドメインもブロックされます。"
muteAndBlock: "ミュートとブロック"
mutedUsers: "ミュートしたユーザー"
blockedUsers: "ブロックしたユーザー"
@@ -267,7 +258,6 @@ removed: "削除しました"
removeAreYouSure: "「{x}」を削除しますか?"
deleteAreYouSure: "「{x}」を削除しますか?"
resetAreYouSure: "リセットしますか?"
areYouSure: "よろしいですか?"
saved: "保存しました"
messaging: "チャット"
upload: "アップロード"
@@ -318,7 +308,6 @@ folderName: "フォルダー名"
createFolder: "フォルダーを作成"
renameFolder: "フォルダー名を変更"
deleteFolder: "フォルダーを削除"
folder: "フォルダー"
addFile: "ファイルを追加"
emptyDrive: "ドライブは空です"
emptyFolder: "フォルダーは空です"
@@ -380,11 +369,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "hCaptchaを有効にする"
hcaptchaSiteKey: "サイトキー"
hcaptchaSecretKey: "シークレットキー"
mcaptcha: "mCaptcha"
enableMcaptcha: "mCaptchaを有効にする"
mcaptchaSiteKey: "サイトキー"
mcaptchaSecretKey: "シークレットキー"
mcaptchaInstanceUrl: "mCaptchaのインスタンスのURL"
recaptcha: "reCAPTCHA"
enableRecaptcha: "reCAPTCHAを有効にする"
recaptchaSiteKey: "サイトキー"
@@ -434,7 +418,6 @@ moderator: "モデレーター"
moderation: "モデレーション"
moderationNote: "モデレーションノート"
addModerationNote: "モデレーションノートを追加する"
moderationLogs: "モデログ"
nUsersMentioned: "{n}人が投稿"
securityKeyAndPasskey: "セキュリティキー・パスキー"
securityKey: "セキュリティキー"
@@ -450,6 +433,7 @@ share: "共有"
notFound: "見つかりません"
notFoundDescription: "指定されたURLに該当するページはありませんでした。"
uploadFolder: "既定アップロード先"
cacheClear: "キャッシュを削除"
markAsReadAllNotifications: "すべての通知を既読にする"
markAsReadAllUnreadNotes: "すべての投稿を既読にする"
markAsReadAllTalkMessages: "すべてのチャットを既読にする"
@@ -546,7 +530,6 @@ serverLogs: "サーバーログ"
deleteAll: "全て削除"
showFixedPostForm: "タイムライン上部に投稿フォームを表示する"
showFixedPostFormInChannel: "タイムライン上部に投稿フォームを表示する(チャンネル)"
withRepliesByDefaultForNewlyFollowed: "フォローする際、デフォルトで返信をTLに含むようにする"
newNoteRecived: "新しいノートがあります"
sounds: "サウンド"
sound: "サウンド"
@@ -556,8 +539,6 @@ showInPage: "ページで表示"
popout: "ポップアウト"
volume: "音量"
masterVolume: "マスター音量"
notUseSound: "サウンドを出力しない"
useSoundOnlyWhenActive: "Misskeyがアクティブな時のみサウンドを出力する"
details: "詳細"
chooseEmoji: "絵文字を選択"
unableToProcess: "操作を完了できません"
@@ -578,10 +559,6 @@ output: "出力"
script: "スクリプト"
disablePagesScript: "Pagesのスクリプトを無効にする"
updateRemoteUser: "リモートユーザー情報の更新"
unsetUserAvatar: "アイコンを解除"
unsetUserAvatarConfirm: "アイコンを解除しますか?"
unsetUserBanner: "バナーを解除"
unsetUserBannerConfirm: "バナーを解除しますか?"
deleteAllFiles: "すべてのファイルを削除"
deleteAllFilesConfirm: "すべてのファイルを削除しますか?"
removeAllFollowing: "フォローを全解除"
@@ -611,7 +588,7 @@ poll: "アンケート"
useCw: "内容を隠す"
enablePlayer: "プレイヤーを開く"
disablePlayer: "プレイヤーを閉じる"
expandTweet: "ポストを展開する"
expandTweet: "ツイートを展開する"
themeEditor: "テーマエディター"
description: "説明"
describeFile: "キャプションを付ける"
@@ -632,7 +609,6 @@ medium: "中"
small: "小"
generateAccessToken: "アクセストークンの発行"
permission: "権限"
adminPermission: "管理者権限"
enableAll: "全て有効にする"
disableAll: "全て無効にする"
tokenRequested: "アカウントへのアクセス許可"
@@ -654,7 +630,6 @@ smtpSecure: "SMTP 接続に暗黙的なSSL/TLSを使用する"
smtpSecureInfo: "STARTTLS使用時はオフにします。"
testEmail: "配信テスト"
wordMute: "ワードミュート"
hardWordMute: "ハードワードミュート"
regexpError: "正規表現エラー"
regexpErrorDescription: "{tab}ワードミュートの{line}行目の正規表現にエラーが発生しました:"
instanceMute: "サーバーミュート"
@@ -676,14 +651,13 @@ useGlobalSettingDesc: "オンにすると、アカウントの通知設定が使
other: "その他"
regenerateLoginToken: "ログイントークンを再生成"
regenerateLoginTokenDescription: "ログインに使用される内部トークンを再生成します。通常この操作を行う必要はありません。再生成すると、全てのデバイスでログアウトされます。"
theKeywordWhenSearchingForCustomEmoji: "カスタム絵文字を検索する時のキーワードになります。"
setMultipleBySeparatingWithSpace: "スペースで区切って複数設定できます。"
fileIdOrUrl: "ファイルIDまたはURL"
behavior: "動作"
sample: "サンプル"
abuseReports: "通報"
reportAbuse: "通報"
reportAbuseRenote: "リノートを通報"
reportAbuseRenote: "Renoteを通報"
reportAbuseOf: "{name}を通報する"
fillAbuseReportDescription: "通報理由の詳細を記入してください。対象のートがある場合はそのURLも記入してください。"
abuseReported: "内容が送信されました。ご報告ありがとうございました。"
@@ -717,9 +691,9 @@ manageAccessTokens: "アクセストークンの管理"
accountInfo: "アカウント情報"
notesCount: "ノートの数"
repliesCount: "返信した数"
renotesCount: "リノートした数"
renotesCount: "Renoteした数"
repliedCount: "返信された数"
renotedCount: "リノートされた数"
renotedCount: "Renoteされた数"
followingCount: "フォロー数"
followersCount: "フォロワー数"
sentReactionsCount: "リアクションした数"
@@ -736,7 +710,6 @@ lockedAccountInfo: "フォローを承認制にしても、ノートの公開範
alwaysMarkSensitive: "デフォルトでメディアをセンシティブ設定にする"
loadRawImages: "添付画像のサムネイルをオリジナル画質にする"
disableShowingAnimatedImages: "アニメーション画像を再生しない"
highlightSensitiveMedia: "メディアがセンシティブであることを分かりやすく表示"
verificationEmailSent: "確認のメールを送信しました。メールに記載されたリンクにアクセスして、設定を完了してください。"
notSet: "未設定"
emailVerified: "メールアドレスが確認されました"
@@ -819,7 +792,7 @@ active: "アクティブ"
offline: "オフライン"
notRecommended: "非推奨"
botProtection: "Botプロテクション"
instanceBlocking: "サーバーブロック・サイレンス"
instanceBlocking: "サーバーブロック"
selectAccount: "アカウントを選択"
switchAccount: "アカウントを切り替え"
enabled: "有効"
@@ -889,8 +862,8 @@ makeReactionsPublicDescription: "あなたがしたリアクション一覧を
classic: "クラシック"
muteThread: "スレッドをミュート"
unmuteThread: "スレッドのミュートを解除"
followingVisibility: "フォローの公開範囲"
followersVisibility: "フォロワーの公開範囲"
ffVisibility: "つながりの公開範囲"
ffVisibilityDescription: "自分のフォロー/フォロワー情報の公開範囲を設定できます。"
continueThread: "さらにスレッドを見る"
deleteAccountConfirm: "アカウントが削除されます。よろしいですか?"
incorrectPassword: "パスワードが間違っています。"
@@ -991,7 +964,6 @@ neverShow: "今後表示しない"
remindMeLater: "また後で"
didYouLikeMisskey: "Misskeyを気に入っていただけましたか"
pleaseDonate: "Misskeyは{host}が使用している無料のソフトウェアです。これからも開発を続けられるように、ぜひ寄付をお願いします!"
correspondingSourceIsAvailable: "対応するソースコードは{anchor}から利用可能です。"
roles: "ロール"
role: "ロール"
noRole: "ロールはありません"
@@ -1001,7 +973,6 @@ assign: "アサイン"
unassign: "アサインを解除"
color: "色"
manageCustomEmojis: "カスタム絵文字の管理"
manageAvatarDecorations: "アバターデコレーションの管理"
youCannotCreateAnymore: "これ以上作成することはできません。"
cannotPerformTemporary: "一時的に利用できません"
cannotPerformTemporaryDescription: "操作回数が制限を超過するため一時的に利用できません。しばらく時間を置いてから再度お試しください。"
@@ -1018,7 +989,7 @@ thisPostMayBeAnnoying: "この投稿は迷惑になる可能性があります
thisPostMayBeAnnoyingHome: "ホームに投稿"
thisPostMayBeAnnoyingCancel: "やめる"
thisPostMayBeAnnoyingIgnore: "このまま投稿"
collapseRenotes: "見たことのあるリノートを省略して表示"
collapseRenotes: "見たことのあるRenoteを省略して表示"
internalServerError: "サーバー内部エラー"
internalServerErrorDescription: "サーバー内部で予期しないエラーが発生しました。"
copyErrorInfo: "エラー情報をコピー"
@@ -1042,11 +1013,6 @@ resetPasswordConfirm: "パスワードリセットしますか?"
sensitiveWords: "センシティブワード"
sensitiveWordsDescription: "設定したワードが含まれるノートの公開範囲をホームにします。改行で区切って複数設定できます。"
sensitiveWordsDescription2: "スペースで区切るとAND指定になり、キーワードをスラッシュで囲むと正規表現になります。"
prohibitedWords: "禁止ワード"
prohibitedWordsDescription: "設定したワードが含まれるノートを投稿しようとした際、エラーとなるようにします。改行で区切って複数設定できます。"
prohibitedWordsDescription2: "スペースで区切るとAND指定になり、キーワードをスラッシュで囲むと正規表現になります。"
hiddenTags: "非表示ハッシュタグ"
hiddenTagsDescription: "設定したタグをトレンドに表示させないようにします。改行で区切って複数設定できます。"
notesSearchNotAvailable: "ノート検索は利用できません。"
license: "ライセンス"
unfavoriteConfirm: "お気に入り解除しますか?"
@@ -1059,12 +1025,9 @@ enableChartsForRemoteUser: "リモートユーザーのチャートを生成"
enableChartsForFederatedInstances: "リモートサーバーのチャートを生成"
showClipButtonInNoteFooter: "ノートのアクションにクリップを追加"
reactionsDisplaySize: "リアクションの表示サイズ"
limitWidthOfReaction: "リアクションの最大横幅を制限し、縮小して表示する"
noteIdOrUrl: "ートIDまたはURL"
video: "動画"
videos: "動画"
audio: "音声"
audioFiles: "音声"
dataSaver: "データセーバー"
accountMigration: "アカウントの移行"
accountMoved: "このユーザーは新しいアカウントに移行しました:"
@@ -1074,7 +1037,7 @@ forceShowAds: "常に広告を表示する"
addMemo: "メモを追加"
editMemo: "メモを編集"
reactionsList: "リアクション一覧"
renotesList: "リノート一覧"
renotesList: "Renote一覧"
notificationDisplay: "通知の表示"
leftTop: "左上"
rightTop: "右上"
@@ -1144,101 +1107,6 @@ currentAnnouncements: "現在のお知らせ"
pastAnnouncements: "過去のお知らせ"
youHaveUnreadAnnouncements: "未読のお知らせがあります。"
useSecurityKey: "ブラウザまたはデバイスの指示に従って、セキュリティキーまたはパスキーを使用してください。"
replies: "返信"
renotes: "リノート"
loadReplies: "返信を見る"
loadConversation: "会話を見る"
pinnedList: "ピン留めされたリスト"
keepScreenOn: "デバイスの画面を常にオンにする"
verifiedLink: "このリンク先の所有者であることが確認されました"
notifyNotes: "投稿を通知"
unnotifyNotes: "投稿の通知を解除"
authentication: "認証"
authenticationRequiredToContinue: "続けるには認証を行ってください"
dateAndTime: "日時"
showRenotes: "リノートを表示"
edited: "編集済み"
notificationRecieveConfig: "通知の受信設定"
mutualFollow: "相互フォロー"
followingOrFollower: "フォロー中またはフォロワー"
fileAttachedOnly: "ファイル付きのみ"
showRepliesToOthersInTimeline: "TLに他の人への返信を含める"
hideRepliesToOthersInTimeline: "TLに他の人への返信を含めない"
showRepliesToOthersInTimelineAll: "TLに現在フォロー中の人全員の返信を含めるようにする"
hideRepliesToOthersInTimelineAll: "TLに現在フォロー中の人全員の返信を含めないようにする"
confirmShowRepliesAll: "この操作は元に戻せません。本当にTLに現在フォロー中の人全員の返信を含めるようにしますか"
confirmHideRepliesAll: "この操作は元に戻せません。本当にTLに現在フォロー中の人全員の返信を含めないようにしますか"
externalServices: "外部サービス"
sourceCode: "ソースコード"
sourceCodeIsNotYetProvided: "ソースコードはまだ提供されていません。この問題の修正について管理者に問い合わせてください。"
repositoryUrl: "リポジトリURL"
repositoryUrlDescription: "ソースコードが公開されているリポジトリがある場合、そのURLを記入します。Misskeyを現状のままソースコードにいかなる変更も加えずに使用している場合は https://github.com/misskey-dev/misskey と記入します。"
repositoryUrlOrTarballRequired: "リポジトリを公開していない場合、代わりにtarballを提供する必要があります。詳細は.config/example.ymlを参照してください。"
feedback: "フィードバック"
feedbackUrl: "フィードバックURL"
impressum: "運営者情報"
impressumUrl: "運営者情報URL"
impressumDescription: "ドイツなどの一部の国と地域では表示が義務付けられています(Impressum)。"
privacyPolicy: "プライバシーポリシー"
privacyPolicyUrl: "プライバシーポリシーURL"
tosAndPrivacyPolicy: "利用規約・プライバシーポリシー"
avatarDecorations: "アイコンデコレーション"
attach: "付ける"
detach: "外す"
detachAll: "全て外す"
angle: "角度"
flip: "反転"
showAvatarDecorations: "アイコンのデコレーションを表示"
releaseToRefresh: "離してリロード"
refreshing: "リロード中"
pullDownToRefresh: "引っ張ってリロード"
disableStreamingTimeline: "タイムラインのリアルタイム更新を無効にする"
useGroupedNotifications: "通知をグルーピングして表示する"
signupPendingError: "メールアドレスの確認中に問題が発生しました。リンクの有効期限が切れている可能性があります。"
cwNotationRequired: "「内容を隠す」がオンの場合は注釈の記述が必要です。"
doReaction: "リアクションする"
code: "コード"
reloadRequiredToApplySettings: "設定の反映にはリロードが必要です。"
remainingN: "残り: {n}"
overwriteContentConfirm: "現在の内容に上書きされますがよろしいですか?"
seasonalScreenEffect: "季節に応じた画面の演出"
decorate: "デコる"
addMfmFunction: "装飾を追加"
enableQuickAddMfmFunction: "高度なMFMのピッカーを表示する"
bubbleGame: "バブルゲーム"
sfx: "効果音"
soundWillBePlayed: "サウンドが再生されます"
showReplay: "リプレイを見る"
replay: "リプレイ"
replaying: "リプレイ中"
endReplay: "リプレイを終了"
copyReplayData: "リプレイデータをコピー"
ranking: "ランキング"
lastNDays: "直近{n}日"
backToTitle: "タイトルへ"
hemisphere: "お住まいの地域"
withSensitive: "センシティブなファイルを含むノートを表示"
userSaysSomethingSensitive: "{name}のセンシティブなファイルを含む投稿"
enableHorizontalSwipe: "スワイプしてタブを切り替える"
loading: "読み込み中"
surrender: "やめる"
gameRetry: "リトライ"
_bubbleGame:
howToPlay: "遊び方"
hold: "ホールド"
_score:
score: "スコア"
scoreYen: "稼いだ金額"
highScore: "ハイスコア"
maxChain: "最大チェーン数"
yen: "{yen}円"
estimatedQty: "{qty}個分"
scoreSweets: "おにぎり {onigiriQtyWithUnit}"
_howToPlay:
section1: "位置を調整してハコにモノを落とします。"
section2: "同じ種類のモノがくっつくと別のモノに変化して、スコアが得られます。"
section3: "モノがハコからあふれるとゲームオーバーです。ハコからあふれないようにしつつモノを融合させてハイスコアを目指そう!"
_announcement:
forExistingUsers: "既存ユーザーのみ"
@@ -1249,14 +1117,10 @@ _announcement:
tooManyActiveAnnouncementDescription: "アクティブなお知らせが多いため、UXが低下する可能性があります。終了したお知らせはアーカイブすることを検討してください。"
readConfirmTitle: "既読にしますか?"
readConfirmText: "「{title}」の内容を読み、既読にします。"
shouldNotBeUsedToPresentPermanentInfo: "特に新規ユーザーのUXを損ねる可能性が高いため、常時掲示するための情報ではなく、即時性が求められる情報の掲示のためにお知らせを使用することを推奨します。"
dialogAnnouncementUxWarn: "ダイアログ形式のお知らせが同時に2つ以上ある場合、UXに悪影響を及ぼす可能性が非常に高いため、使用は慎重に行うことを推奨します。"
silence: "非通知"
silenceDescription: "オンにすると、このお知らせは通知されず、既読にする必要もなくなります。"
_initialAccountSetting:
accountCreated: "アカウントの作成が完了しました!"
letsStartAccountSetup: "さっそくアカウントの初期設定を行いましょう。"
letsStartAccountSetup: "アカウントの初期設定を行いましょう。"
letsFillYourProfile: "まずはあなたのプロフィールを設定しましょう。"
profileSetting: "プロフィール設定"
privacySetting: "プライバシー設定"
@@ -1266,80 +1130,10 @@ _initialAccountSetting:
pushNotificationDescription: "プッシュ通知を有効にすると{name}の通知をお使いのデバイスで受け取ることができます。"
initialAccountSettingCompleted: "初期設定が完了しました!"
haveFun: "{name}をお楽しみください!"
youCanContinueTutorial: "このまま{name}(Misskey)の使い方についてのチュートリアルに進むこともできますが、ここで中断してすぐに使い始めることもできます。"
startTutorial: "チュートリアルを開始"
ifYouNeedLearnMore: "{name}(Misskey)の使い方などを詳しく知るには{link}をご覧ください。"
skipAreYouSure: "初期設定をスキップしますか?"
laterAreYouSure: "初期設定をあとでやり直しますか?"
_initialTutorial:
launchTutorial: "チュートリアルを見る"
title: "チュートリアル"
wellDone: "よくできました"
skipAreYouSure: "チュートリアルを終了しますか?"
_landing:
title: "チュートリアルへようこそ"
description: "ここでは、Misskeyの基本的な使い方や機能を確認できます。"
_note:
title: "ノートって何?"
description: "Misskeyでの投稿は「ート」と呼びます。ートはタイムラインに時系列で並んでいて、リアルタイムで更新されていきます。"
reply: "返信することができます。返信に対しての返信も可能で、スレッドのように会話を続けることもできます。"
renote: "そのノートを自分のタイムラインに流して共有することができます。テキストを追加して引用することも可能です。"
reaction: "リアクションをつけることができます。詳しくは次のページで解説します。"
menu: "ノートの詳細を表示したり、リンクをコピーしたりなどの様々な操作が行えます。"
_reaction:
title: "リアクションって何?"
description: "ノートには「リアクション」をつけることができます。「いいね」では伝わらないニュアンスも、リアクションで簡単・気軽に表現できます。"
letsTryReacting: "リアクションは、ノートの「+」ボタンをクリックするとつけられます。試しにこのサンプルのノートにリアクションをつけてみてください!"
reactToContinue: "リアクションをつけると先に進めるようになります。"
reactNotification: "あなたのノートが誰かにリアクションされると、リアルタイムで通知を受け取ります。"
reactDone: "「ー」ボタンを押すとリアクションを取り消すことができます。"
_timeline:
title: "タイムラインのしくみ"
description1: "Misskeyには、使い方に応じて複数のタイムラインが用意されていますサーバーによってはいずれかが無効になっていることがあります。"
home: "あなたがフォローしているアカウントの投稿を見られます。"
local: "このサーバーにいるユーザー全員の投稿を見られます。"
social: "ホームタイムラインとローカルタイムラインの投稿が両方表示されます。"
global: "接続している他のすべてのサーバーからの投稿を見られます。"
description2: "それぞれのタイムラインは、画面上部でいつでも切り替えられます。"
description3: "その他にも、リストタイムラインやチャンネルタイムラインなどがあります。詳しくは{link}をご覧ください。"
_postNote:
title: "ノートの投稿設定"
description1: "Misskeyにートを投稿する際には、様々なオプションの設定が可能です。投稿フォームはこのようになっています。"
_visibility:
description: "ノートを表示できる相手を制限できます。"
public: "すべてのユーザーに公開。"
home: "ホームタイムラインのみに公開。フォロワー・プロフィールを見に来た人・リノートから、他のユーザーも見ることができます。"
followers: "フォロワーにのみ公開。本人以外がリノートすることはできず、またフォロワー以外は閲覧できません。"
direct: "指定したユーザーにのみ公開され、また相手に通知が入ります。ダイレクトメッセージのかわりにお使いいただけます。"
doNotSendConfidencialOnDirect1: "機密情報は送信する際は注意してください。"
doNotSendConfidencialOnDirect2: "送信先のサーバーの管理者は投稿内容を見ることが可能なので、信頼できないサーバーのユーザーにダイレクト投稿を送信する場合は、機密情報の扱いに注意が必要です。"
localOnly: "他のサーバーに投稿を連合しません。上記の公開範囲に関わらず、他のサーバーのユーザーは、この設定がついたノートを直接閲覧することができなくなります。"
_cw:
title: "内容を隠すCW"
description: "本文のかわりに「注釈」に書いた内容が表示されます。「もっと見る」を押すと本文が表示されます。"
_exampleNote:
cw: "飯テロ注意"
note: "チョコのかかったドーナツを食べました🍩😋"
useCases: "サーバーのガイドラインにより必要とされるノートに指定したり、ネタバレ投稿やセンシティブな文章を自主規制したりするときに使います。"
_howToMakeAttachmentsSensitive:
title: "添付ファイルをセンシティブにするには?"
description: "サーバーのガイドラインにより必要とされる際や、そのまま見れる状態にしておくべきではない添付ファイルには、「センシティブ」設定を付けます。"
tryThisFile: "試しに、このフォームに添付された画像をセンシティブにしてみてください!"
_exampleNote:
note: "納豆のフタ開けるのミスったわね…"
method: "添付ファイルをセンシティブにする際は、そのファイルをクリックしてメニューを開き、「センシティブとして設定」をクリックします。"
sensitiveSucceeded: "ファイルを添付する際は、サーバーのガイドラインに従ってセンシティブを適切に設定してください。"
doItToContinue: "画像をセンシティブに設定すると先に進めるようになります。"
_done:
title: "チュートリアルは終了です🎉"
description: "ここで紹介した機能はほんの一部にすぎません。Misskeyの使い方をより詳しく知るには、{link}をご覧ください。"
_timelineDescription:
home: "ホームタイムラインでは、あなたがフォローしているアカウントの投稿を見られます。"
local: "ローカルタイムラインでは、このサーバーにいるユーザー全員の投稿を見られます。"
social: "ソーシャルタイムラインには、ホームタイムラインとローカルタイムラインの投稿が両方表示されます。"
global: "グローバルタイムラインでは、接続している他のすべてのサーバーからの投稿を見られます。"
_serverRules:
description: "新規登録前に表示する、サーバーの簡潔なルールを設定します。内容は利用規約の要約とすることを推奨します。"
@@ -1347,14 +1141,9 @@ _serverSettings:
iconUrl: "アイコン画像のURL"
appIconDescription: "{host}がアプリとして表示される際のアイコンを指定します。"
appIconUsageExample: "例: PWAや、スマートフォンのホーム画面にブックマークとして追加された時など"
appIconStyleRecommendation: "円形もしくは角丸にクロップされる場合があるため、塗りされた余白ある背景を持つことが推奨されます。"
appIconStyleRecommendation: "画像は透過部分が無く、塗りつぶされた余白ある背景を持つことが推奨されます。"
appIconResolutionMustBe: "解像度は必ず{resolution}である必要があります。"
manifestJsonOverride: "manifest.jsonのオーバーライド"
shortName: "略称"
shortNameDescription: "サーバーの正式名称が長い場合に、代わりに表示することのできる略称や通称。"
fanoutTimelineDescription: "有効にすると、各種タイムラインを取得する際のパフォーマンスが大幅に向上し、データベースへの負荷を軽減することが可能です。ただし、Redisのメモリ使用量は増加します。サーバーのメモリ容量が少ない場合、または動作が不安定な場合は無効にすることができます。"
fanoutTimelineDbFallback: "データベースへのフォールバック"
fanoutTimelineDbFallbackDescription: "有効にすると、タイムラインがキャッシュされていない場合にDBへ追加で問い合わせを行うフォールバック処理を行います。無効にすると、フォールバック処理を行わないことでさらにサーバーの負荷を軽減することができますが、タイムラインが取得できる範囲に制限が生じます。"
_accountMigration:
moveFrom: "別のアカウントからこのアカウントに移行"
@@ -1614,16 +1403,6 @@ _achievements:
_smashTestNotificationButton:
title: "テスト過剰"
description: "通知のテストをごく短時間のうちに連続して行った"
_tutorialCompleted:
title: "Misskey初心者講座 修了証"
description: "チュートリアルを完了した"
_bubbleGameExplodingHead:
title: "🤯"
description: "バブルゲームで最も大きいモノを出した"
_bubbleGameDoubleExplodingHead:
title: "ダブル🤯"
description: "バブルゲームで最も大きいモを2つ同時に出した"
flavor: "これくらいの おべんとばこに 🤯 🤯 ちょっとつめて"
_role:
new: "ロールの作成"
@@ -1635,9 +1414,7 @@ _role:
assignTarget: "アサイン"
descriptionOfAssignTarget: "<b>マニュアル</b>は誰がこのロールに含まれるかを手動で管理します。\n<b>コンディショナル</b>は条件を設定し、それに合致するユーザーが自動で含まれるようになります。"
manual: "マニュアル"
manualRoles: "マニュアルロール"
conditional: "コンディショナル"
conditionalRoles: "コンディショナルロール"
condition: "条件"
isConditionalRole: "これはコンディショナルロールです。"
isPublic: "公開ロール"
@@ -1665,13 +1442,11 @@ _role:
gtlAvailable: "グローバルタイムラインの閲覧"
ltlAvailable: "ローカルタイムラインの閲覧"
canPublicNote: "パブリック投稿の許可"
mentionMax: "ノート内の最大メンション数"
canInvite: "サーバー招待コードの発行"
inviteLimit: "招待コードの作成可能数"
inviteLimitCycle: "招待コードの発行間隔"
inviteExpirationTime: "招待コードの有効期限"
canManageCustomEmojis: "カスタム絵文字の管理"
canManageAvatarDecorations: "アバターデコレーションの管理"
driveCapacity: "ドライブ容量"
alwaysMarkNsfw: "ファイルにNSFWを常に付与"
pinMax: "ノートのピン留めの最大数"
@@ -1685,11 +1460,8 @@ _role:
rateLimitFactor: "レートリミット"
descriptionOfRateLimitFactor: "小さいほど制限が緩和され、大きいほど制限が強化されます。"
canHideAds: "広告の非表示"
canSearchNotes: "ノート検索の利用"
canUseTranslator: "翻訳機能の利用"
avatarDecorationLimit: "アイコンデコレーションの最大取付個数"
canSearchNotes: "ノート検索の利用可否"
_condition:
roleAssignedTo: "マニュアルロールにアサイン済み"
isLocal: "ローカルユーザー"
isRemote: "リモートユーザー"
createdLessThan: "アカウント作成から~以内"
@@ -1719,7 +1491,6 @@ _emailUnavailable:
disposable: "恒久的に使用可能なアドレスではありません"
mx: "正しいメールサーバーではありません"
smtp: "メールサーバーが応答しません"
banned: "このメールアドレスでは登録できません"
_ffVisibility:
public: "公開"
@@ -1729,7 +1500,7 @@ _ffVisibility:
_signup:
almostThere: "ほとんど完了です"
emailAddressInfo: "あなたが使っているメールアドレスを入力してください。メールアドレスが公開されることはありません。"
emailSent: "入力されたメールアドレス({email})宛に確認のメールが送信されました。メールに記載されたリンクにアクセスすると、アカウントの作成が完了します。メールに記載されているリンクの有効期限は30分です。"
emailSent: "入力されたメールアドレス({email})宛に確認のメールが送信されました。メールに記載されたリンクにアクセスすると、アカウントの作成が完了します。"
_accountDelete:
accountDelete: "アカウントの削除"
@@ -1744,10 +1515,6 @@ _ad:
reduceFrequencyOfThisAd: "この広告の表示頻度を下げる"
hide: "表示しない"
timezoneinfo: "曜日はサーバーのタイムゾーンを元に指定されます。"
adsSettings: "広告配信設定"
notesPerOneAd: "リアルタイム更新中に広告を配信する間隔(ノートの個数)"
setZeroToDisable: "0でリアルタイム更新時の広告配信を無効"
adsTooClose: "広告の配信間隔が極めて短いため、ユーザー体験が著しく損われる可能性があります。"
_forgotPassword:
enterEmail: "アカウントに登録したメールアドレスを入力してください。そのアドレス宛てに、パスワードリセット用のリンクが送信されます。"
@@ -1770,7 +1537,6 @@ _plugin:
install: "プラグインのインストール"
installWarn: "信頼できないプラグインはインストールしないでください。"
manage: "プラグインの管理"
viewSource: "ソースを表示"
_preferencesBackups:
list: "作成したバックアップ"
@@ -1800,16 +1566,13 @@ _registry:
_aboutMisskey:
about: "Misskeyはsyuiloによって2014年から開発されている、オープンソースのソフトウェアです。"
contributors: "コントリビューター"
contributors: "主なコントリビューター"
allContributors: "全てのコントリビューター"
source: "ソースコード"
original: "オリジナル"
thisIsModifiedVersion: "{name}はオリジナルのMisskeyを改変したバージョンを使用しています。"
translation: "Misskeyを翻訳"
donate: "Misskeyに寄付"
morePatrons: "他にも多くの方が支援してくれています。ありがとうございます🥰"
patrons: "支援者"
projectMembers: "プロジェクトメンバー"
_displayOfSensitiveMedia:
respect: "センシティブ設定されたメディアを隠す"
@@ -1838,7 +1601,6 @@ _channel:
notesCount: "{n}投稿があります"
nameAndDescription: "名前と説明"
nameOnly: "名前のみ"
allowRenoteToExternal: "チャンネル外へのリノートと引用リノートを許可する"
_menuDisplay:
sideFull: "横"
@@ -1850,6 +1612,11 @@ _wordMute:
muteWords: "ミュートするワード"
muteWordsDescription: "スペースで区切るとAND指定になり、改行で区切るとOR指定になります。"
muteWordsDescription2: "キーワードをスラッシュで囲むと正規表現になります。"
softDescription: "指定した条件のノートをタイムラインから隠します。"
hardDescription: "指定した条件のノートをタイムラインに追加しないようにします。追加されなかったノートは、条件を変更しても除外されたままになります。"
soft: "ソフト"
hard: "ハード"
mutedNotes: "ミュートされたノート"
_instanceMute:
instanceMuteDescription: "ミュートしたサーバーのユーザーへの返信を含めて、設定したサーバーの全てのートとRenoteをミュートします。"
@@ -1916,6 +1683,9 @@ _theme:
infoFg: "情報の文字"
infoWarnBg: "警告の背景"
infoWarnFg: "警告の文字"
cwBg: "CW ボタンの背景"
cwFg: "CW ボタンの文字"
cwHoverBg: "CW ボタンの背景 (ホバー)"
toastBg: "通知トーストの背景"
toastFg: "通知トーストの文字"
buttonBg: "ボタンの背景"
@@ -1934,17 +1704,10 @@ _sfx:
note: "ノート"
noteMy: "ノート(自分)"
notification: "通知"
chat: "チャット"
chatBg: "チャット(バックグラウンド)"
antenna: "アンテナ受信"
channel: "チャンネル通知"
reaction: "リアクション選択時"
_soundSettings:
driveFile: "ドライブの音声を使用"
driveFileWarn: "ドライブのファイルを選択してください"
driveFileTypeWarn: "このファイルは対応していません"
driveFileTypeWarnDescription: "音声ファイルを選択してください"
driveFileDurationWarn: "音声が長すぎます"
driveFileDurationWarnDescription: "長い音声を使用するとMisskeyの使用に支障をきたす可能性があります。それでも続行しますか"
_ago:
future: "未来"
@@ -1956,16 +1719,7 @@ _ago:
weeksAgo: "{n}週間前"
monthsAgo: "{n}ヶ月前"
yearsAgo: "{n}年前"
invalid: "日時の解析に失敗"
_timeIn:
seconds: "{n}秒後"
minutes: "{n}分後"
hours: "{n}時間後"
days: "{n}日後"
weeks: "{n}週間後"
months: "{n}ヶ月後"
years: "{n}年後"
invalid: "ありません"
_time:
second: "秒"
@@ -1973,9 +1727,21 @@ _time:
hour: "時間"
day: "日"
_timelineTutorial:
title: "Misskeyの使い方"
step1_1: "この画面は「タイムライン」です。{name}に投稿された「ノート」が時系列で表示されます。"
step1_2: "タイムラインにはいくつか種類があり、例えば「ホームタイムライン」にはあなたがフォローしている人のノートが流れ、「ローカルタイムライン」には{name}全体のノートが流れます。"
step2_1: "試しに、何かノートを投稿してみましょう。画面上にある鉛筆マークのボタンを押すとフォームが開きます。"
step2_2: "初めてのノートの内容は、あなたの自己紹介や「{name}始めました」などがおすすめです。"
step3_1: "投稿できましたか?"
step3_2: "あなたのノートがタイムラインに表示されていれば成功です。"
step4_1: "ノートには、「リアクション」を付けることができます。"
step4_2: "リアクションを付けるには、ノートの「+」マークをクリックして、好きな絵文字を選択します。"
_2fa:
alreadyRegistered: "既に設定は完了しています。"
registerTOTP: "認証アプリの設定を開始"
passwordToTOTP: "パスワードを入力してください"
step1: "まず、{a}や{b}などの認証アプリをお使いのデバイスにインストールします。"
step2: "次に、表示されているQRコードをアプリでスキャンします。"
step2Click: "QRコードをクリックすると、お使いの端末にインストールされている認証アプリやキーリングに登録できます。"
@@ -2040,55 +1806,6 @@ _permissions:
"write:flash": "Playを操作する"
"read:flash-likes": "Playのいいねを見る"
"write:flash-likes": "Playのいいねを操作する"
"read:admin:abuse-user-reports": "ユーザーからの通報を見る"
"write:admin:delete-account": "ユーザーアカウントを削除する"
"write:admin:delete-all-files-of-a-user": "ユーザーのすべてのファイルを削除する"
"read:admin:index-stats": "データベースインデックスに関する情報を見る"
"read:admin:table-stats": "データベーステーブルに関する情報を見る"
"read:admin:user-ips": "ユーザーのIPアドレスを見る"
"read:admin:meta": "インスタンスのメタデータを見る"
"write:admin:reset-password": "ユーザーのパスワードをリセットする"
"write:admin:resolve-abuse-user-report": "ユーザーからの通報を解決する"
"write:admin:send-email": "メールを送る"
"read:admin:server-info": "サーバーの情報を見る"
"read:admin:show-moderation-log": "モデレーションログを見る"
"read:admin:show-user": "ユーザーのプライベートな情報を見る"
"read:admin:show-users": "ユーザーのプライベートな情報を見る"
"write:admin:suspend-user": "ユーザーを凍結する"
"write:admin:unset-user-avatar": "ユーザーのアバターを削除する"
"write:admin:unset-user-banner": "ユーザーのバーナーを削除する"
"write:admin:unsuspend-user": "ユーザーの凍結を解除する"
"write:admin:meta": "インスタンスのメタデータを操作する"
"write:admin:user-note": "モデレーションノートを操作する"
"write:admin:roles": "ロールを操作する"
"read:admin:roles": "ロールを見る"
"write:admin:relays": "リレーを操作する"
"read:admin:relays": "リレーを見る"
"write:admin:invite-codes": "招待コードを操作する"
"read:admin:invite-codes": "招待コードを見る"
"write:admin:announcements": "お知らせを操作する"
"read:admin:announcements": "お知らせを見る"
"write:admin:avatar-decorations": "アバターデコレーションを操作する"
"read:admin:avatar-decorations": "アバターデコレーションを見る"
"write:admin:federation": "連合に関する情報を操作する"
"write:admin:account": "ユーザーアカウントを操作する"
"read:admin:account": "ユーザーに関する情報を見る"
"write:admin:emoji": "絵文字を操作する"
"read:admin:emoji": "絵文字を見る"
"write:admin:queue": "ジョブキューを操作する"
"read:admin:queue": "ジョブキューに関する情報を見る"
"write:admin:promo": "プロモーションノートを操作する"
"write:admin:drive": "ユーザーのドライブを操作する"
"read:admin:drive": "ユーザーのドライブの関する情報を見る"
"read:admin:stream": "管理者用のWebsocket APIを使う"
"write:admin:ad": "広告を操作する"
"read:admin:ad": "広告を見る"
"write:invite-codes": "招待コードを作成する"
"read:invite-codes": "招待コードを取得する"
"write:clip-favorite": "クリップのいいねを操作する"
"read:clip-favorite": "クリップのいいねを見る"
"read:federation": "連合に関する情報を取得する"
"write:report-abuse": "違反を報告する"
_auth:
shareAccessTitle: "アプリへのアクセス許可"
@@ -2106,7 +1823,6 @@ _antennaSources:
homeTimeline: "フォローしているユーザーのノート"
users: "指定した一人または複数のユーザーのノート"
userList: "指定したリストのユーザーのノート"
userBlacklist: "指定した一人または複数のユーザーを除いた全てのノート"
_weekday:
sunday: "日曜日"
@@ -2147,7 +1863,6 @@ _widgets:
_userList:
chooseList: "リストを選択"
clicker: "クリッカー"
birthdayFollowings: "今日誕生日のユーザー"
_cw:
hide: "隠す"
@@ -2214,20 +1929,16 @@ _profile:
metadataContent: "内容"
changeAvatar: "アイコン画像を変更"
changeBanner: "バナー画像を変更"
verifiedLinkDescription: "内容にURLを設定すると、リンク先のWebサイトに自分のプロフィールへのリンクが含まれている場合に所有者確認済みアイコンを表示させることができます。"
avatarDecorationMax: "最大{max}つまでデコレーションを付けられます。"
_exportOrImport:
allNotes: "全てのノート"
favoritedNotes: "お気に入りにしたノート"
clips: "クリップ"
followingList: "フォロー"
muteList: "ミュート"
blockingList: "ブロック"
userLists: "リスト"
excludeMutingUsers: "ミュートしているユーザーを除外"
excludeInactiveUsers: "使われていないアカウントを除外"
withReplies: "インポートした人による返信をTLに含むようにする"
_charts:
federation: "連合"
@@ -2345,23 +2056,16 @@ _notification:
youReceivedFollowRequest: "フォローリクエストが来ました"
yourFollowRequestAccepted: "フォローリクエストが承認されました"
pollEnded: "アンケートの結果が出ました"
newNote: "新しい投稿"
unreadAntennaNote: "アンテナ {name}"
roleAssigned: "ロールが付与されました"
emptyPushNotificationMessage: "プッシュ通知の更新をしました"
achievementEarned: "実績を獲得"
testNotification: "通知テスト"
checkNotificationBehavior: "通知の表示を確かめる"
sendTestNotification: "テスト通知を送信する"
notificationWillBeDisplayedLikeThis: "通知はこのように表示されます"
reactedBySomeUsers: "{n}人がリアクションしました"
renotedBySomeUsers: "{n}人がリノートしました"
followedBySomeUsers: "{n}人にフォローされました"
flushNotification: "通知の履歴をリセットする"
_types:
all: "すべて"
note: "ユーザーの新規投稿"
follow: "フォロー"
mention: "メンション"
reply: "リプライ"
@@ -2371,7 +2075,6 @@ _notification:
pollEnded: "アンケートが終了"
receiveFollowRequest: "フォロー申請を受け取った"
followRequestAccepted: "フォローが受理された"
roleAssigned: "ロールが付与された"
achievementEarned: "実績の獲得"
app: "連携アプリからの通知"
@@ -2439,161 +2142,3 @@ _webhookSettings:
renote: "Renoteされたとき"
reaction: "リアクションがあったとき"
mention: "メンションされたとき"
_moderationLogTypes:
createRole: "ロールを作成"
deleteRole: "ロールを削除"
updateRole: "ロールを更新"
assignRole: "ロールへアサイン"
unassignRole: "ロールのアサイン解除"
suspend: "凍結"
unsuspend: "凍結解除"
addCustomEmoji: "カスタム絵文字追加"
updateCustomEmoji: "カスタム絵文字更新"
deleteCustomEmoji: "カスタム絵文字削除"
updateServerSettings: "サーバー設定更新"
updateUserNote: "ユーザーのモデレーションノート更新"
deleteDriveFile: "ファイルを削除"
deleteNote: "ノートを削除"
createGlobalAnnouncement: "全体のお知らせを作成"
createUserAnnouncement: "ユーザーへお知らせを作成"
updateGlobalAnnouncement: "全体のお知らせを更新"
updateUserAnnouncement: "ユーザーのお知らせを更新"
deleteGlobalAnnouncement: "全体のお知らせを削除"
deleteUserAnnouncement: "ユーザーのお知らせを削除"
resetPassword: "パスワードをリセット"
suspendRemoteInstance: "リモートサーバーを停止"
unsuspendRemoteInstance: "リモートサーバーを再開"
updateRemoteInstanceNote: "リモートサーバーのモデレーションノート更新"
markSensitiveDriveFile: "ファイルをセンシティブ付与"
unmarkSensitiveDriveFile: "ファイルをセンシティブ解除"
resolveAbuseReport: "通報を解決"
createInvitation: "招待コードを作成"
createAd: "広告を作成"
deleteAd: "広告を削除"
updateAd: "広告を更新"
createAvatarDecoration: "アイコンデコレーションを作成"
updateAvatarDecoration: "アイコンデコレーションを更新"
deleteAvatarDecoration: "アイコンデコレーションを削除"
unsetUserAvatar: "ユーザーのアイコンを解除"
unsetUserBanner: "ユーザーのバナーを解除"
_fileViewer:
title: "ファイルの詳細"
type: "ファイルタイプ"
size: "ファイルサイズ"
url: "URL"
uploadedAt: "追加日"
attachedNotes: "添付されているノート"
thisPageCanBeSeenFromTheAuthor: "このページは、このファイルをアップロードしたユーザーしか閲覧できません。"
_externalResourceInstaller:
title: "外部サイトからインストール"
checkVendorBeforeInstall: "配布元が信頼できるかを確認した上でインストールしてください。"
_plugin:
title: "このプラグインをインストールしますか?"
metaTitle: "プラグイン情報"
_theme:
title: "このテーマをインストールしますか?"
metaTitle: "テーマ情報"
_meta:
base: "基本のカラースキーム"
_vendorInfo:
title: "配布元情報"
endpoint: "参照したエンドポイント"
hashVerify: "ファイル整合性の確認"
_errors:
_invalidParams:
title: "パラメータが不足しています"
description: "外部サイトからデータを取得するために必要な情報が不足しています。URLをお確かめください。"
_resourceTypeNotSupported:
title: "この外部リソースには対応していません"
description: "この外部サイトから取得したリソースの種別には対応していません。サイト管理者にお問い合わせください。"
_failedToFetch:
title: "データの取得に失敗しました"
fetchErrorDescription: "外部サイトとの通信に失敗しました。もう一度試しても改善しない場合、サイト管理者にお問い合わせください。"
parseErrorDescription: "外部サイトから取得したデータが読み取れませんでした。サイト管理者にお問い合わせください。"
_hashUnmatched:
title: "正しいデータが取得できませんでした"
description: "提供されたデータの整合性の確認に失敗しました。セキュリティ上、インストールは続行できません。サイト管理者にお問い合わせください。"
_pluginParseFailed:
title: "AiScript エラー"
description: "データは取得できたものの、AiScriptの解析時にエラーがあったため読み込めませんでした。プラグインの作者にお問い合わせください。エラーの詳細はJavascriptコンソールをご確認ください。"
_pluginInstallFailed:
title: "プラグインのインストールに失敗しました"
description: "プラグインのインストール中に問題が発生しました。もう一度お試しください。エラーの詳細はJavascriptコンソールをご覧ください。"
_themeParseFailed:
title: "テーマ解析エラー"
description: "データは取得できたものの、テーマファイルの解析時にエラーがあったため読み込めませんでした。テーマの作者にお問い合わせください。エラーの詳細はJavascriptコンソールをご確認ください。"
_themeInstallFailed:
title: "テーマのインストールに失敗しました"
description: "テーマのインストール中に問題が発生しました。もう一度お試しください。エラーの詳細はJavascriptコンソールをご覧ください。"
_dataSaver:
_media:
title: "メディアの読み込み"
description: "画像・動画が自動で読み込まれるのを防止します。隠れている画像・動画はタップすると読み込まれます。"
_avatar:
title: "アイコン画像"
description: "アイコン画像のアニメーションが停止します。アニメーション画像は通常の画像よりファイルサイズが大きいことがあるので、データ通信量をさらに削減できます。"
_urlPreview:
title: "URLプレビューのサムネイル"
description: "URLプレビューのサムネイル画像が読み込まれなくなります。"
_code:
title: "コードハイライト"
description: "MFMなどでコードハイライト記法が使われている場合、タップするまで読み込まれなくなります。コードハイライトではハイライトする言語ごとにその定義ファイルを読み込む必要がありますが、それらが自動で読み込まれなくなるため、通信量の削減が見込めます。"
_hemisphere:
N: "北半球"
S: "南半球"
caption: "一部のクライアント設定で、季節を判定するために使用します。"
_reversi:
reversi: "リバーシ"
gameSettings: "対局の設定"
chooseBoard: "ボードを選択"
blackOrWhite: "先行/後攻"
blackIs: "{name}が黒(先行)"
rules: "ルール"
thisGameIsStartedSoon: "対局はまもなく開始されます"
waitingForOther: "相手の準備が完了するのを待っています"
waitingForMe: "あなたの準備が完了するのを待っています"
waitingBoth: "準備してください"
ready: "準備完了"
cancelReady: "準備を再開"
opponentTurn: "相手のターンです"
myTurn: "あなたのターンです"
turnOf: "{name}のターンです"
pastTurnOf: "{name}のターン"
surrender: "投了"
surrendered: "投了により"
timeout: "時間切れ"
drawn: "引き分け"
won: "{name}の勝ち"
black: "黒"
white: "白"
total: "合計"
turnCount: "{count}ターン目"
myGames: "自分の対局"
allGames: "みんなの対局"
ended: "終了"
playing: "対局中"
isLlotheo: "石の少ない方が勝ち(ロセオ)"
loopedMap: "ループマップ"
canPutEverywhere: "どこでも置けるモード"
timeLimitForEachTurn: "1ターンの時間制限"
freeMatch: "フリーマッチ"
lookingForPlayer: "対戦相手を探しています"
gameCanceled: "対局がキャンセルされました"
shareToTlTheGameWhenStart: "開始時に対局をタイムラインに投稿"
iStartedAGame: "対局を開始しました! #MisskeyReversi"
opponentHasSettingsChanged: "相手が設定を変更しました"
allowIrregularRules: "変則許可 (完全フリー)"
disallowIrregularRules: "変則なし"
showBoardLabels: "盤面に行・列番号を表示"
useAvatarAsStone: "石をアイコンにする"
_offlineScreen:
title: "オフライン - サーバーに接続できません"
header: "サーバーに接続できません"

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,3 @@
---
_lang_: "la .lojban."
headlineMisskey: "lo se tcana noi jorne fi loi notci"

View File

@@ -56,7 +56,6 @@ accounts: "Imiḍan"
searchByGoogle: "Nadi"
file: "Ifuyla"
account: "Imiḍan"
replies: "Err"
_email:
_follow:
title: "Yeṭṭafaṛ-ik·em-id"
@@ -104,4 +103,3 @@ _deck:
_columns:
notifications: "Ilɣuyen"
list: "Tibdarin"

View File

@@ -61,7 +61,6 @@ smtpPass: "ಗುಪ್ತಪದ"
user: "ಬಳಕೆದಾರ"
searchByGoogle: "ಹುಡುಕು"
file: "ಕಡತಗಳು"
replies: "ಉತ್ತರಿಸು"
_email:
_follow:
title: "ಹಿಂಬಾಲಿಸಿದರು"
@@ -84,4 +83,3 @@ _deck:
notifications: "ಅಧಿಸೂಚನೆಗಳು"
tl: "ಸಮಯಸಾಲು"
mentions: "ಹೆಸರಿಸಿದ"

View File

@@ -1,800 +0,0 @@
---
_lang_: "한국어(경상)"
headlineMisskey: "노트로 이언 네트워크"
introMisskey: "어서 오이소! Misskey넌 오픈소스 분산헹 마이크로 블로그 서비스입니다.\n노트럴 맨걸어서 지검 일나넌 일얼 노누던가 내 이바구럴 남한데 서 보이소.📡\n리액션 기넝서 남으 노트에 억수로 빠리게 답할 수 잇십니다.👍\n새롭운 세게럴 탐험해 보입시다.🚀"
poweredByMisskeyDescription: "{name} 서버넌 오픈소스 플랫폼 <b>Misskey</b>으 서버 가운데 하나입니다."
monthAndDay: "{month}월 {day}일"
search: "찾기"
notifications: "알림"
username: "사용자 이럼"
password: "비밀번호"
forgotPassword: "비밀번호럴 잊엇뿟십니꺼?"
fetchingAsApObject: "연합서 찾아보고 잇어예"
ok: "예"
gotIt: "알것어예"
cancel: "아이예"
noThankYou: "뎃어예"
enterUsername: "사용자 이럼 서기"
renotedBy: "{user}님이 리노트햇어예"
noNotes: "노트가 없십니다"
noNotifications: "알림이 없십니다"
instance: "서버"
settings: "설정"
notificationSettings: "알림 설정"
basicSettings: "기본 설정"
otherSettings: "다린 설정"
openInWindow: "창서 옐기"
profile: "프로필"
timeline: "타임라인"
noAccountDescription: "자기소개가 없십니다"
login: "로그인"
loggingIn: "로그인하고 잇어예"
logout: "로그아웃"
signup: "가입하기"
uploading: "올리고 잇어예"
save: "저장하기"
users: "사용자"
addUser: "사용자 옇기"
favorite: "질겨찾기"
favorites: "질겨찾기"
unfavorite: "질겨찾기서 어ᇝ애기"
favorited: "질겨찾기에 담앗십니다."
alreadyFavorited: "벌시로 질겨찾기에 담기 잇십니다."
cantFavorite: "질겨찾기에 몬 담앗십니다."
pin: "프로필에 붙이기"
unpin: "프로필서 띠기"
copyContent: "내용 복사하기"
copyLink: "링크 복사하기"
copyLinkRenote: "리노트 링크 복사"
delete: "내삐리기"
deleteAndEdit: "내삐리고 새로 적기"
deleteAndEditConfirm: "요 노트럴 뭉캐고 새로 적십니꺼? 요 노트서 리액션하고 리노트, 답하기도 말캉 뭉캐집니다."
addToList: "리스트에 옇기"
addToAntenna: "안테나에 옇기"
sendMessage: "메시지 보내기"
copyRSS: "알에스에스 복사하기"
copyUsername: "사용자 이럼 복사하기"
copyUserId: "사용자 아이디 복사하기"
copyNoteId: "노트 아이디 복사하기"
copyFileId: "파일 아이디 복사하기"
copyFolderId: "폴더 아이디 복사하기"
copyProfileUrl: "프로필 주소 복사하기"
searchUser: "사용자 찾기"
reply: "답하기"
loadMore: "더 볼래예"
showMore: "더 볼래예"
showLess: "꺼기"
youGotNewFollower: "새 팔로워가 잇십니다"
receiveFollowRequest: "팔로잉 요청이 잇십니다"
followRequestAccepted: "팔로잉이 받아딜이젓십니다"
mention: "멘션"
mentions: "받언 멘션"
directNotes: "쪽지 서기"
importAndExport: "가오기하고 내가기"
import: "가오기"
export: "내가기"
files: "파일"
download: "내리받기"
driveFileDeleteConfirm: "{name} 파일얼 뭉캡니꺼? 요 파일얼 서넌 콘텐츠도 뭉캐집니다."
unfollowConfirm: "{name}님얼 고마 팔로잉합니꺼?"
exportRequested: "내가기 요청얼 햇십니다. 시간이 쪼매 걸릴 깁니다. 요청이 껕나모 ‘드라이브’에 옇십니다."
importRequested: "가오기 요청얼 햇십니다. 시간이 쪼매 걸릴 깁니다."
lists: "리스트"
noLists: "리스트가 없십니다"
note: "노트"
notes: "노트"
following: "팔로잉"
followers: "팔로워"
followsYou: "내럴 팔로잉합니다"
createList: "리스트 맨걸기"
manageLists: "리스트 간리하기"
error: "우짭니꺼"
somethingHappened: "먼가 일낫십니다"
retry: "다시 하기"
pageLoadError: "하멘 부리오기가 아이뎁니다."
pageLoadErrorDescription: "네트워크나 브라우저 캐시 때문일 깁니다. 캐시럴 뭉캐던가 쪼매 잇다 새로 해 주이소."
serverIsDead: "서버가 대답얼 아이합니다. 쪼매 잇다 새로 해 주이소."
youShouldUpgradeClient: "요 하멘얼 볼라먼 새로 곤치던가 새 버전으 클라이언트럴 받아 서 보이소."
enterListName: "리스트 이럼 서기"
privacy: "개인 정보"
makeFollowManuallyApprove: "팔로잉얼 하나석 받아딜이기"
defaultNoteVisibility: "기본 공개 범위"
follow: "팔로우"
followRequest: "팔로우 요청하기"
followRequests: "팔로우 요청"
unfollow: "팔로우 무루기"
followRequestPending: "팔로우 수락 지둘림"
enterEmoji: "이모지 서기"
renote: "리노트"
unrenote: "리노트 무루기"
renoted: "리노트럴 햇십니다."
cantRenote: "요 걸언 리노트럴 몬 합니다."
cantReRenote: "리노트넌 지럴 리노트 몬 합니다."
quote: "따오기"
inChannelRenote: "채널 안 리노트"
inChannelQuote: "채널 안 따오기"
pinnedNote: "붙인 노트"
pinned: "프로필에 붙이기"
you: "나"
clickToShow: "누질라서 보기"
sensitive: "수ᇚ힛섭니다"
add: "옇기"
reaction: "반엉"
reactions: "반엉"
reactionSettingDescription2: "꺼시서 두고, 누질라서 뭉캐고, +’럴 누질라서 옇십니다."
rememberNoteVisibility: "공개 범위럴 기억하기"
attachCancel: "붙임 빼기"
deleteFile: "파일 뭉캐기"
markAsSensitive: "수ᇚ힘 설정"
unmarkAsSensitive: "수ᇚ힘 무루기"
enterFileName: "파일 이럼 서기"
mute: "수ᇚ후기"
unmute: "수ᇚ훈 거 무루기"
renoteMute: "리노트 수ᇚ후기"
renoteUnmute: "리노트 수ᇚ훈 거 무루기"
block: "차단하기"
unblock: "차단 무루기"
suspend: "얼우기"
unsuspend: "얼우기 풀기"
blockConfirm: "차단합니꺼?"
unblockConfirm: "차단얼 무룹니꺼?"
suspendConfirm: "얼웁니꺼?"
unsuspendConfirm: "얼운 거 풉니꺼?"
selectList: "리스트 개리기"
editList: "리스트 적기"
selectChannel: "채널 개리기"
selectAntenna: "안테나 개리기"
editAntenna: "안테나 적기"
selectWidget: "위젯 개리기"
editWidgets: "위젯 적기"
editWidgetsExit: "고마 적기"
customEmojis: "사용자 지정 이모지"
emoji: "이모지"
emojis: "이모지"
emojiName: "이모지 이럼"
emojiUrl: "이모지 주소"
addEmoji: "이모지 옇기"
settingGuide: "개않언 설정"
cacheRemoteFiles: "웬겍 파일 캐시하기"
cacheRemoteFilesDescription: "요 설정얼 키모 웬겍 파일얼 요 서버으 스토리지에 캐시합니다. 미디어가 사게 비이지먼 서버으 스토리지럴 마이 섭니다. 웬겍 사용자가 얼매나 캐시럴 둘 긴가넌 고 옉할으 드라이브 크기 제한마중 다립니다. 요 제한얼 넘구모 엣날 파일버터 캐시서 뭉캐지서 링크가 뎁니다. 요 설정얼 꺼모 웬겍 파일언 첨버터 링크가 뎁니다. 이미지으 섬네일얼 맨걸던 사용자으 개인 정보럴 징키던 할라먼 default.yml서 proxyRemoteFiles럴 ture로 하입시다."
youCanCleanRemoteFilesCache: "파일 간리으 🗑️ 모냥얼 누질리모 캐시럴 말캉 뭉캘 수 잇십니다."
cacheRemoteSensitiveFiles: "웬겍으 수ᇚ힌 파일얼 캐시하기"
cacheRemoteSensitiveFilesDescription: "요 설정얼 꺼모 웬겍 수ᇚ힌 파일이 캐시하지 아이하고 바리 링크합니다."
flagAsBot: "자동 게정입니다"
flagAsBotDescription: "요 게정얼 프로그램서 설라먼 키야 합니다. 키모 다런 개발자가 반엉얼 끋없이 데풀이하지 몬 하게 도아 줄 수 잇고 Misskey으 시스템서 자동 게정이 뎁니다."
flagAsCat: "애웅애웅애웅애웅!"
flagAsCatDescription: "애옹?"
flagShowTimelineReplies: "타임라인서 노트으 답하기 보기"
flagShowTimelineRepliesDescription: "키모 타임라인서 다런 사용자덜으 답하기도 봅니다."
autoAcceptFollowed: "팔로잉하넌 사용자으 팔로잉 요청 바리 받아딜이기"
addAccount: "게정 옇기"
reloadAccountsList: "게정 리스트으 정보 새로 바꾸기"
loginFailed: "로그인이 아이뎁니다."
showOnRemote: "웬겍서 보기"
general: "일반"
wallpaper: "벡지"
setWallpaper: "벡지 설정"
removeWallpaper: "벡지 뭉캐기"
searchWith: "찾기: {q}"
youHaveNoLists: "리스트가 없십니다"
followConfirm: "{name}님얼 팔로잉합니꺼?"
proxyAccount: "프락시 게정"
proxyAccountDescription: "프락시 게정언 턱벨한 조겐서 웬겍 팔로잉얼 하넌 게정입니다. 사용자가 웬겍 사용자럴 리스트에 옇얼 때 리스트에 옇언 사용자럴 누도 팔로잉 아이하모 할동이 서버로 아이 오니께 요 게정이 아인 프락시 게정얼 팔로잉하게 합니다."
host: "호스트 이럼"
selectUser: "사용자 개리기"
recipient: "받넌 사람"
annotation: "주석"
federation: "옌합"
instances: "서버"
registeredAt: "첫 발겐"
latestRequestReceivedAt: "막죽에 받언 요청"
latestStatus: "막죽 상태"
storageUsage: "스토리지 사용량"
charts: "차트"
perHour: "한 시간마중"
perDay: "하리마중"
stopActivityDelivery: "할동 고마 보내기"
blockThisInstance: "요 서버 차단하기"
silenceThisInstance: "서버 수ᇚ후기"
operations: "동작"
software: "소프트웨어"
version: "버전"
metadata: "메타데이터"
withNFiles: "파일 {n}개"
monitor: "모니터"
jobQueue: "작업 대기옐"
cpuAndMemory: "시피유하고 메모리"
network: "네트워크"
disk: "디스크"
instanceInfo: "서버 정보"
statistics: "통게"
clearQueue: "대기옐 비우기"
clearQueueConfirmTitle: "대기옐얼 비웁니꺼?"
clearQueueConfirmText: "대기옐에 잇넌 걸얼 아이 보냅니다. 흐이 요 동작언 할 필요가 없십니다."
clearCachedFiles: "캐시 비우기"
clearCachedFilesConfirm: "캐시한 웬겍 파일얼 말캉 뭉캡니꺼?"
blockedInstances: "차단한 서버"
blockedInstancesDescription: "차단할라넌 서버으 호스트럴 줄 바꿈해서로 비이 줍니다. 차단한 서버넌 요 서버하고 교류 몬 합니다."
silencedInstances: "수ᇚ훈 서버"
silencedInstancesDescription: "수ᇚ훌라넌 서버으 호스트럴 줄 바꿈해서로 비이 줍니다. 수ᇚ훈 서버으 게정언 말캉 ‘수ᇚ후기’가 데서 팔로잉 요청만 데고 팔로워가 아인 로컬 게정서 멘션얼 몬 합니다. 차단한 서버넌 상간 없십니다."
muteAndBlock: "수ᇚ훔하고 차단"
mutedUsers: "수ᇚ훈 사용자"
blockedUsers: "차단한 사용자"
noUsers: "사용자가 없십니다"
editProfile: "프로필 적기"
noteDeleteConfirm: "요 노트럴 뭉캡니꺼?"
pinLimitExceeded: "더 몬 붙입니다"
intro: "Misskey럴 다 깔앗십니다! 간리자 게정얼 맨걸어 보입시다."
done: "햇어예"
processing: "처리하고 잇어예"
preview: "미리보기"
default: "기본값"
defaultValueIs: "기본값: {value}"
noCustomEmojis: "이모지가 없십니다"
noJobs: "작업이 없십니다"
federating: "옌합하고 잇어예"
blocked: "차단햇어예"
suspended: "고만 보내예"
all: "말캉"
subscribing: "구독하고 잇어예"
publishing: "보내고 잇어예"
notResponding: "답이 없어예"
instanceFollowing: "서버으 팔로잉"
instanceFollowers: "서버으 팔로워"
instanceUsers: "서버으 사용자"
changePassword: "비밀번호 바꾸기"
security: "보안"
retypedNotMatch: "선 거가 안 맞십니다."
currentPassword: "지검 비밀번호"
newPassword: "새 비밀번호"
newPasswordRetype: "새 비밀번호 다시 서기"
attachFile: "파일 붙이기"
more: "더 볼래예!"
featured: "인기"
usernameOrUserId: "사용자 이럼이나 사용자 아이디"
noSuchUser: "사용자럴 몬 찾앗십니다"
lookup: "찾아보기"
announcements: "공지 걸"
imageUrl: "이미지 주소"
remove: "내삐리기"
removed: "뭉캣십니다"
removeAreYouSure: "{x}(얼)럴 뭉캡니꺼?"
deleteAreYouSure: "{x}(얼)럴 뭉캡니꺼?"
resetAreYouSure: "아시로 데돌립니꺼?"
areYouSure: "갠찮십니꺼?"
saved: "저장햇십니다"
messaging: "대화"
upload: "올리기"
keepOriginalUploading: "온본 두기"
keepOriginalUploadingDescription: "이미지럴 올릴 때 온본얼 고대로 둡니다. 꺼모 올릴 때 브라우저서 웹 공개 이미지럴 맨겁니다."
fromDrive: "드라이브서"
fromUrl: "주소서"
uploadFromUrl: "주소 올리기"
uploadFromUrlDescription: "올리기할라넌 파일으 주소"
uploadFromUrlRequested: "올리기럴 요청햇십니다"
uploadFromUrlMayTakeTime: "올리기가 껕날라먼 시간이 쪼매 걸릴 깁니다."
explore: "살펴보기"
messageRead: "이럿어예"
noMoreHistory: "요카마 엣날 기록이 없십니다"
startMessaging: "대화하기"
nUsersRead: "{n}멩이 이럿십니다"
agreeTo: "{0}에 동이하기"
agree: "동이합니다"
agreeBelow: "밑으 내용에 동이합니다"
basicNotesBeforeCreateAccount: "주이할 내용"
termsOfService: "이용 약간"
start: "시작하기"
home: "덜머리"
remoteUserCaution: "웬겍 사용자넌 정보가 학실하지 아이할 수 잇십니다."
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: "폴더 뭉캐기"
folder: "폴더"
addFile: "파일 옇기"
emptyDrive: "드라이브가 비잇십니다"
emptyFolder: "폴더가 비잇십니다"
unableToDelete: "몬 뭉캡니다"
inputNewFileName: "새 파일 이럼얼 서 보이소"
inputNewDescription: "새 설멩얼 서 보이소"
inputNewFolderName: "새 폴더 이럼얼 서 보이소"
circularReferenceFolder: "엚길 폴더으 아래 폴더입니다."
hasChildFilesOrFolders: "요 폴더넌 아이 비잇어니께 몬 뭉캡니다."
copyUrl: "주소 복사하기"
rename: "이럼 바꾸기"
avatar: "아바타"
banner: "배너"
displayOfSensitiveMedia: "수ᇚ힌 옝상물 보기"
whenServerDisconnected: "서버하고 옌겔이 껂기모"
disconnectedFromServer: "서버하고 옌겔이 껂깃십니다"
reload: "새로곤침"
doNothing: "무시하기"
reloadConfirm: "새로곤침합니꺼?"
watch: "간심 갖기"
unwatch: "간심 고마 갖기"
accept: "받기"
reject: "아이 받기"
normal: "일반"
instanceName: "서버 이럼"
instanceDescription: "서버 소개"
maintainerName: "간리자 이럼"
maintainerEmail: "간리자 전자우펜"
tosUrl: "이용 약간 주소"
thisYear: "올개"
thisMonth: "요달"
today: "오올"
dayX: "{day}일"
monthX: "{month}월"
yearX: "{year}년"
pages: "바닥"
integration: "옌겔"
connectService: "옌겔하기"
disconnectService: "껂기"
enableLocalTimeline: "로컬 타임라인 키기"
enableGlobalTimeline: "글로벌 타임라인 키기"
disablingTimelinesInfo: "요 타임라인얼 꺼도 간리자하고 중재자넌 고대로 설 수 잇십니다."
registration: "맨걸기"
enableRegistration: "누라도 새로 맨걸 수 잇거로 하기"
invite: "초대하기"
driveCapacityPerLocalAccount: "로컬 사용자 하나마중 드라이브 커기"
driveCapacityPerRemoteAccount: "웬겍 사용자 하나마중 드라이브 커기"
inMb: "메가바이트 단이"
bannerUrl: "배너 이미지 주소"
backgroundImageUrl: "배겡 이미지 주소"
basicInfo: "기본 정보"
pinnedUsers: "붙인 사용자"
pinnedUsersDescription: "‘살펴보기’서 붙일라넌 사용자럴 줄 바꿈해서로 적십니다."
pinnedPages: "붙인 바닥"
pinnedPagesDescription: "서버으 대문서 붙일라넌 바닥으 겡로럴 줄 바꿈해서로 적십니다."
pinnedClipId: "붙일 클립으 아이디"
pinnedNotes: "붙인 노트"
hcaptcha: "에이치캡차"
enableHcaptcha: "에이치캡차 키기"
hcaptchaSiteKey: "사이트키"
hcaptchaSecretKey: "시크릿키"
mcaptchaSiteKey: "사이트키"
mcaptchaSecretKey: "시크릿키"
recaptcha: "리캡차"
enableRecaptcha: "리캡차 키기"
recaptchaSiteKey: "사이트키"
recaptchaSecretKey: "시크릿키"
turnstile: "턴스타일"
enableTurnstile: "턴스타일 키기"
turnstileSiteKey: "사이트키"
turnstileSecretKey: "시크릿키"
avoidMultiCaptchaConfirm: "오만 캡차럴 서모 간섭이 잇얼 깁니다. 다린 캡차를 껍니꺼? ‘아이예’럴 누질리모 오만 캡차럴 키 둘 수도 잇십니다."
antennas: "안테나"
manageAntennas: "안테나 간리"
name: "이럼"
antennaSource: "받얼 소스"
antennaKeywords: "받얼 검색어"
antennaExcludeKeywords: "수ᇚ훌 검색어"
antennaKeywordsDescription: "띠어서기럴 하모 ‘거라고’가 데고 줄 바꿈얼 하모 ‘아이먼’이 뎁니다"
notifyAntenna: "새 노트럴 알리기"
withFileAntenna: "파일이 붙언 노트마"
enableServiceworker: "브라우저서 알림 포시럴 키기"
antennaUsersDescription: "사용자 이럼얼 줄 바꿈해서로 섭니다"
caseSensitive: "대소문자럴 구벨하기"
withReplies: "답하기도 옇기"
connectedTo: "요 게정하고 옌겔데어 잇십니다"
notesAndReplies: "걸하고 답걸"
withFiles: "파일에 붙이기"
silence: "수ᇚ후기"
silenceConfirm: "수ᇚ훕니꺼?"
unsilence: "수ᇚ후기 어ᇝ애기"
unsilenceConfirm: "수ᇚ후기럴 어ᇝ앱니꺼?"
popularUsers: "소문난 사용자"
recentlyUpdatedUsers: "얼마 전에 걸 선 사용자"
recentlyRegisteredUsers: "얼마 전에 맨건 사용자"
recentlyDiscoveredUsers: "얼마 전에 찾언 사용자"
exploreUsersCount: "사용자 {count}멩이 잇십니다."
exploreFediverse: "옌합우주 탐험하기"
popularTags: "소문난 태그"
userList: "리스트"
about: "정보"
aboutMisskey: "Misskey넌예"
administrator: "간리자"
token: "학인 기호"
2fa: "두 단게 정멩"
setupOf2fa: "두 단게 정멩 설정"
totp: "정멩 앱"
totpDescription: "정멩 앱서 단헤용 비밀번호 서기"
moderator: "중재자"
moderation: "중재"
moderationNote: "중재 노트"
addModerationNote: "중재 노트 옇기"
moderationLogs: "중재 일지"
nUsersMentioned: "{n}멩이 이바구하고 잇어예"
securityKeyAndPasskey: "보안키·패스키"
securityKey: "보안키"
lastUsed: "마지막 쓰임"
lastUsedAt: "마지막 쓰임: {t}"
unregister: "맨걸기 무루기"
passwordLessLogin: "비밀번호 없시 로그인"
passwordLessLoginDescription: "비밀번호 말고 보안키나 패스키 같은 것만 써 가 로그인합니다."
resetPassword: "비밀번호 재설정"
newPasswordIs: "새 비밀번호는 \"{password}\" 입니다"
reduceUiAnimation: "화면 움직임 효과들을 수ᇚ후기"
share: "노누기"
notFound: "몬 찾앗십니다"
notFoundDescription: "고런 주소로 들어가는 하멘은 없십니다."
uploadFolder: "기본 업로드 위치"
markAsReadAllNotifications: "모든 알림 이럿다고 표시"
markAsReadAllUnreadNotes: "모든 글 이럿다고 표시"
markAsReadAllTalkMessages: "모든 대화 이럿다고 표시"
help: "도움말"
inputMessageHere: "여따가 메시지를 입력해주이소"
close: "닫기"
invites: "초대하기"
members: "멤버"
transfer: "양도"
title: "제목"
text: "글"
enable: "키기"
next: "다음"
retype: "다시 서기"
noteOf: "{user}님으 노트"
quoteAttached: "따옴"
quoteQuestion: "따와가 작성하겠십니까?"
noMessagesYet: "아직 대화가 없십니다"
newMessageExists: "새 메시지가 있십니다"
onlyOneFileCanBeAttached: "메시지엔 파일 하나까제밖에 몬 넣십니다"
invitations: "초대하기"
invitationCode: "초대장"
checking: "학인하고 잇십니다"
tooShort: "억수로 짜립니다"
tooLong: "억수로 집니다"
passwordMatched: "맞십니다"
passwordNotMatched: "안 맞십니다"
signinFailed: "로그인 몬 했십니다. 고 이름이랑 비밀번호 제대로 썼는가 확인해 주이소."
or: "아니면"
language: "언어"
uiLanguage: "UI 표시 언어"
aboutX: "{x}에 대해서"
emojiStyle: "이모지 모양"
native: "기본"
disableDrawer: "드로어 메뉴 쓰지 않기"
showNoteActionsOnlyHover: "마우스 올맀을 때만 노트 액션 버턴 보이기"
noHistory: "기록이 없십니다"
signinHistory: "로그인 기록"
enableAdvancedMfm: "복잡한 MFM 키기"
enableAnimatedMfm: "정신사나운 MFM 키기"
doing: "잠만예"
category: "카테고리"
tags: "태그"
docSource: "요 문서의 원본"
createAccount: "게정 맨걸기"
existingAccount: "원래 게정"
regenerate: "엎고 다시 맨걸기"
fontSize: "글자 크기"
mediaListWithOneImageAppearance: "사진 하나짜리 미디어 목록의 높이"
limitTo: "{x}로 제한"
noFollowRequests: "지둘리는 팔로우 요청이 없십니다"
openImageInNewTab: "새 탭서 사진 열기"
dashboard: "대시보드"
local: "로컬"
remote: "웬겍"
total: "합계"
weekOverWeekChanges: "저번주보다"
dayOverDayChanges: "어제보다"
appearance: "모냥"
clientSettings: "클라이언트 설정"
accountSettings: "게정 설정"
promotion: "선전"
promote: "선전하기"
numberOfDays: "며칠동안"
hideThisNote: "요 노트를 수ᇚ후기"
showFeaturedNotesInTimeline: "타임라인에다 추천 노트 보이기"
objectStorage: "오브젝트 스토리지"
useObjectStorage: "오브젝트 스토리지 키기"
objectStorageBaseUrl: "Base URL"
objectStorageBaseUrlDesc: "오브젝트 (미디어) 참조 링크 만들 때 쓰는 URL임다. CDN 내지 프락시를 쓴다 카멘은 그 URL을 갖다 늫고, 아이면 써먹을 서비스네 가이드를 봐봐가 공개적으로 접근할 수 있는 주소를 여 넣어 주이소. 그니께, 내가 AWS S3을 쓴다 카면은 'https://<bucket>.s3.amazonaws.com', GCS를 쓴다 카면 'https://storage.googleapis.com/<bucket>' 처럼 쓰믄 되입니더."
objectStorageBucket: "Bucket"
objectStorageBucketDesc: "써먹을 서비스의 바께쓰 이름을 여 써 주이소."
objectStoragePrefix: "Prefix"
objectStoragePrefixDesc: "요 Prefix 디렉토리 안에다가 파일이 들어감다."
objectStorageEndpoint: "Endpoint"
objectStorageEndpointDesc: "AWS S3을 쓸라멘 요는 비워두고, 아이멘은 그 서비스 가이드에 맞게 endpoint를 넣어 주이소. '<host>' 내지 '<host>:<port>'처럼 넣십니다."
objectStorageRegion: "Region"
objectStorageRegionDesc: "'xx-east-1' 같은 region 이름을 옇어 주이소. 만약에 내 서비스엔 region 같은 개념이 읎다, 카면은 대신에 'us-east-1'라고 해 두이소. AWS 설정 파일이나 환경 변수를 끌어다 쓰겠다믄 요는 비워 두이소."
objectStorageUseSSL: "SSL 쓰기"
objectStorageUseSSLDesc: "API 호출할 때 HTTPS 안 쓸거면은 꺼 두이소"
objectStorageUseProxy: "연결에 프락시 사용"
objectStorageUseProxyDesc: "오브젝트 스토리지 API 호출에 프락시 안 쓸 거면 꺼 두이소"
objectStorageSetPublicRead: "업로드할 때 'public-read' 설정하기"
s3ForcePathStyleDesc: "s3ForcePathStyle을 키면, 바께쓰 이름을 URL의 호스트명 말고 경로의 일부로써 취급합니다. 셀프 호스트 Minio 같은 걸 굴릴라믄 켜놔야 될 수도 있십니다."
serverLogs: "서버 로그"
deleteAll: "말캉 뭉캐기"
showFixedPostForm: "타임라인 우에 글 작성 칸 박기"
showFixedPostFormInChannel: "채널 타임라인 우에 글 작성 칸 박기"
withRepliesByDefaultForNewlyFollowed: "팔로우 할 때 기본적으로 답걸도 타임라인에 나오게 하기"
newNoteRecived: "새 노트 있어예"
sounds: "소리"
sound: "소리"
listen: "듣기"
none: "없음"
showInPage: "바닥서 보기"
popout: "새 창 열기"
volume: "음량"
masterVolume: "대빵 음량"
notUseSound: "음소거하기"
useSoundOnlyWhenActive: "Misskey가 활성화되어 있을 때만 소리 내기"
details: "자세히"
chooseEmoji: "이모지 선택"
unableToProcess: "작업 다 몬 했십니다"
recentUsed: "최근 쓴 놈"
install: "설치"
uninstall: "삭제"
installedApps: "설치된 애플리케이션"
nothing: "뭣도 없어예"
installedDate: "설치한 날"
lastUsedDate: "마지막 사용"
state: "상태"
sort: "정렬하기"
ascendingOrder: "작은 순"
descendingOrder: "큰 순"
scratchpad: "스크래치 패드"
scratchpadDescription: "스크래치 패드는 AiScript를 끼적거리는 창입니더. Misskey랑 갖다 이리저리 상호작용하는 코드를 서가 굴리멘은 그 결과도 바로 확인할 수 있십니다."
output: "출력"
script: "스크립트"
disablePagesScript: "온갖 바닥서 AiScript를 쓰지 않음"
updateRemoteUser: "원겍 사용자 근황 알아오기"
unsetUserAvatar: "아바타 치우기"
unsetUserAvatarConfirm: "아바타 갖다 치울까예?"
unsetUserBanner: "배너 치우기"
unsetUserBannerConfirm: "배너 갖다 치울까예?"
deleteAllFiles: "파일 말캉 뭉캐기"
deleteAllFilesConfirm: "파일을 싸그리 다 뭉캐삐릴까예?"
removeAllFollowing: "팔로잉 말캉 무루기"
removeAllFollowingDescription: "{host} 서버랑 걸어놓은 모든 팔로잉을 무룹니다. 고 서버가 아예 없어지삐맀든가, 그런 경우에 하이소."
userSuspended: "요 게정은... 얼어 있십니다."
userSilenced: "요 게정은... 수ᇚ혀 있십니다."
relays: "릴레이"
addRelay: "릴레이 옇기"
addedRelays: "옇은 릴레이"
deletedNote: "뭉캔 걸"
enableInfiniteScroll: "알아서 더 보기"
useCw: "내용 수ᇚ후기"
description: "설멩"
describeFile: "캡션 옇기"
author: "맨던 사람"
manage: "간리"
emailServer: "전자우펜 서버"
email: "전자우펜"
emailAddress: "전자우펜 주소"
smtpHost: "호스트 이럼"
smtpPort: "포트"
smtpUser: "사용자 이럼"
smtpPass: "비밀번호"
display: "보기"
create: "맨걸기"
abuseReports: "신고하기"
reportAbuse: "신고하기"
reportAbuseRenote: "리노트 신고하기"
reportAbuseOf: "{name}님얼 신고하기"
reporter: "신고한 사람"
reporteeOrigin: "신고덴 사람"
reporterOrigin: "신고한 곳"
forwardReport: "웬겍 서버에 신고 보내기"
random: "무작이"
system: "시스템"
clip: "클립 맨걸기"
createNew: "새로 맨걸기"
notesCount: "노트 수"
renotesCount: "리노트한 수"
renotedCount: "리노트덴 수"
followingCount: "팔로우 수"
followersCount: "팔로워 수"
noteFavoritesCount: "질겨찾기한 노트 수"
clips: "클립 맨걸기"
clearCache: "캐시 비우기"
unlikeConfirm: "좋네예럴 무룹니꺼?"
info: "정보"
user: "사용자"
administration: "간리"
on: "킴"
off: "껌"
hide: "수ᇚ후기"
clickToFinishEmailVerification: "[{ok}]럴 누질라서 전자우펜 정멩얼 껕내이소."
searchByGoogle: "찾기"
tenMinutes: "십 분"
oneHour: "한 시간"
oneDay: "하리"
oneWeek: "한 주"
oneMonth: "한 달"
file: "파일"
tools: "도구"
like: "좋네예!"
unlike: "좋네예 무루기"
numberOfLikes: "좋네예 수"
show: "보기"
roles: "옉할"
role: "옉할"
noRole: "옉할이 없십니다"
thisPostMayBeAnnoyingCancel: "아이예"
likeOnly: "좋네예마"
myClips: "내 클립"
icon: "아바타"
replies: "답하기"
renotes: "리노트"
attach: "옇기"
surrender: "아이예"
_initialAccountSetting:
startTutorial: "길라잡이 하기"
_initialTutorial:
launchTutorial: "길라잡이 보기"
title: "길라잡이"
skipAreYouSure: "길라잡이럴 껕냅니까?"
_landing:
title: "길라잡이에 어서 오이소"
_done:
title: "길라잡이가 껕낫십니다!🎉"
_achievements:
_types:
_notes1:
description: "첫 노트럴 섯어예"
_notes10:
description: "노트럴 10번 섰어예"
_notes100:
description: "노트럴 100번 섰어예"
_notes500:
description: "노트럴 500번 섰어예"
_notes1000:
description: "노트럴 1,000번 섰어예"
_notes5000:
description: "노트럴 5,000번 섰어예"
_notes10000:
description: "노트럴 10,000번 섰어예"
_notes20000:
description: "노트럴 20,000번 섰어예"
_notes30000:
description: "노트럴 30,000번 섰어예"
_notes40000:
description: "노트럴 40,000번 섰어예"
_notes50000:
description: "노트럴 50,000번 섰어예"
_notes60000:
description: "노트럴 60,000번 섰어예"
_notes70000:
description: "노트럴 70,000번 섰어예"
_notes80000:
description: "노트럴 80,000번 섰어예"
_notes90000:
description: "노트럴 90,000번 섰어예"
_notes100000:
description: "노트럴 100,000번 섰어예"
_noteClipped1:
description: "첫 노트럴 클립햇어예"
_noteFavorited1:
description: "첫 노트럴 질겨찾기에 담앗어예"
_myNoteFavorited1:
description: "다런 사람이 내 노트럴 질겨찾기에 담앗십니다"
_iLoveMisskey:
description: "“I ❤ #Misskey”럴 섰어예"
_postedAt0min0sec:
description: "0분 0초에 노트를 섰어예"
_tutorialCompleted:
description: "길라잡이럴 껕냇십니다"
_gallery:
my: "내 걸"
liked: "좋네예한 걸"
like: "좋네예!"
unlike: "좋네예 무루기"
_email:
_follow:
title: "새 팔로워가 잇십니다"
_serverDisconnectedBehavior:
reload: "알아서 새로곤침"
_channel:
removeBanner: "배너 뭉캐기"
usersCount: "{n}명 참여"
notesCount: "노트 {n}개"
_menuDisplay:
hide: "수ᇚ후기"
_theme:
description: "설멩"
keys:
mention: "멘션"
_sfx:
note: "새 노트"
notification: "알림"
_2fa:
step3Title: "학인 기호럴 서기"
renewTOTPCancel: "뎃어예"
_permissions:
"read:favorites": "질겨찾기 보기"
"write:favorites": "질겨찾기 곤치기"
_widgets:
profile: "프로필"
instanceInfo: "서버 정보"
notifications: "알림"
timeline: "타임라인"
activity: "할동"
federation: "옌합"
jobQueue: "작업 대기옐"
_userList:
chooseList: "리스트 개리기"
_cw:
hide: "수ᇚ후기"
show: "더 볼래예"
chars: "걸자 {count}개"
files: "파일 {count}개"
_visibility:
home: "덜머리"
followers: "팔로워"
_profile:
name: "이럼"
username: "사용자 이럼"
_exportOrImport:
favoritedNotes: "질겨찾기한 노트"
clips: "클립 맨걸기"
followingList: "팔로잉"
muteList: "수ᇚ후기"
blockingList: "차단하기"
userLists: "리스트"
_charts:
federation: "옌합"
_timelines:
home: "덜머리"
_play:
my: "내 플레이"
script: "스크립트"
summary: "설멩"
_pages:
like: "좋네예"
unlike: "좋네예 무루기"
my: "내 페이지"
blocks:
image: "이미지"
_note:
id: "노트 아이디"
_notification:
youWereFollowed: "새 팔로워가 잇십니다"
newNote: "새 걸"
_types:
follow: "팔로잉"
mention: "멘션"
quote: "따오기"
reaction: "반엉"
_actions:
reply: "답하기"
_deck:
_columns:
notifications: "알림"
tl: "타임라인"
antenna: "안테나"
list: "리스트"
mentions: "받언 멘션"
_webhookSettings:
name: "이럼"
_moderationLogTypes:
suspend: "얼우기"
deleteNote: "노트 뭉캐기"
deleteUserAnnouncement: "사용자 공지 걸 뭉캐기"
resetPassword: "비밀번호 재설정"
resolveAbuseReport: "신고 해겔하기"
_reversi:
total: "합계"

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,9 @@
---
_lang_: "ພາສາລາວ"
headlineMisskey: "ເຊື່ອມຕໍ່ເຄືອຂ່າຍໂດຍ note"
introMisskey: "ຍິນດີຕ້ອນຮັບ! Misskey ເປັນຊອຟແວopensource, ສຳລັບບໍລິການ microblogging ແບບ decentralized\nສ້າງ “note” ເພື່ອແບ່ງປັນຄວາມຄິດຂອງທ່ານກັບທຸກໆ ຄົນທີ່ຢູ່ອ້ອມຮອບທ່ານ 📡\nຢ່າລືມ “reaction” ໂນຕຂອງລາວເພື່ອສະແດງຄວາມຮູ້ສຶກ 👍\nມາສຳຫຼວດໂລກໃໝ່ແນ! 🚀"
headlineMisskey: "ເຊື່ອມຕໍ່ເຄືອຂ່າຍໂດຍຫມາຍເຫດ"
introMisskey: "ຍິນດີຕ້ອນຮັບ! Misskey ເປັນແຫຼ່ງເປີດ, ການບໍລິການ microblogging ກະຈາຍ\nສ້າງ \"ບັນທຶກ\" ເພື່ອແບ່ງປັນຄວາມຄິດຂອງທ່ານກັບທຸກໆຄົນທີ່ຢູ່ອ້ອມຮອບທ່ານ 📡\nດ້ວຍ \"ປະຕິກິລິຍາ\", ທ່ານຍັງສາມາດສະແດງຄວາມຮູ້ສຶກຂອງທ່ານຢ່າງໄວວາກ່ຽວກັບບັນທຶກຂອງທຸກໆຄົນ 👍\nມາສຳຫຼວດໂລກໃໝ່! 🚀"
poweredByMisskeyDescription: "{name} ແມ່ນສ່ວນໜຶ່ງຂອງການບໍລິການທີ່ຂັບເຄື່ອນໂດຍແພລດຟອມ open source. <b>Misskey</b> (ເອີ້ນວ່າ \"Misskey instance\")"
monthAndDay: "ເດືອນ{month} / ວັນ{day}"
monthAndDay: "{ເດືອນ}/{ມື້}"
search: "ຄົ້ນຫາ"
notifications: "ການແຈ້ງເຕືອນ"
username: "ຊື່ຜູ້ໃຊ້"
@@ -15,25 +15,25 @@ gotIt: "ເຂົ້າໃຈແລ້ວ!"
cancel: "ຍົກເລີກ"
noThankYou: "ບໍ່​ແມ່ນ​ຕອນ​ນີ້"
enterUsername: "ປ້ອນຊື່ຜູ້ໃຊ້"
renotedBy: "Renoted ໂດຍ {user}"
noNotes: "ບໍ່ມີ note"
renotedBy: "Renoted ໂດຍ {ຜູ້ໃຊ້}"
noNotes: "ບໍ່ມີຫມາຍເຫດ"
noNotifications: "ບໍ່ມີການແຈ້ງເຕືອນ"
instance: "ອີນສະແຕນ"
settings: "ກຳນົດຄ່າ"
notificationSettings: "ຕັ້ງຄ່າການແຈ້ງເຕືອນ"
basicSettings: "ການຕັ້ງຄ່າພື້ນຖານ"
otherSettings: "ການຕັ້ງຄ່າອື່ນໆ"
openInWindow: "ເປີດໃນປ່ອງຢ້ຽມ"
openInWindow: "ເປີດຢູ່ໃນປ່ອງຢ້ຽມ"
profile: "ໂພຼຟາຍ"
timeline: "ໄທມ໌ໄລນ໌"
timeline: "​ເສັ້ນກຳ​ນົດ​ເວ​ລາ​"
noAccountDescription: "ຜູ້ໃຊ້ນີ້ຍັງບໍ່ໄດ້ຂຽນໃນຊີວະປະຫວັດຂອງເຂົາເຈົ້າເທື່ອ"
login: "ເຂົ້າ​ສູ່​ລະ​ບົບ"
loggingIn: "ກຳລັງເຂົ້າສູ່ລະບົບ..."
logout: "ອອກ​ຈາກ​ລະ​ບົບ"
signup: "ລົງ​ທະ​ບຽນ"
uploading: "ກຳລັງອັບໂຫຼດ..."
uploading: "ການອັບໂຫຼດ..."
save: "ບັນທຶກ"
users: "ຜູ້ໃຊ້"
users: "ຜູ້ໃຊ້ຕ່າງໆ"
addUser: "ເພີ່ມຜູ້ໃຊ້"
favorite: "ເພີ່ມໃສ່ລາຍການທີ່ມັກ"
favorites: "ລາຍການທີ່ມັກ"
@@ -41,14 +41,13 @@ unfavorite: "ລຶບອອກຈາກລາຍການທີ່ມັກ"
favorited: "ເພີ່ມໃສ່ລາຍການທີ່ມັກແລ້ວ"
alreadyFavorited: "ເພີ່ມເຂົ້າໃນລາຍການທີ່ມັກແລ້ວ."
cantFavorite: "ບໍ່ສາມາດເພີ່ມໃສ່ລາຍການທີ່ມັກໄດ້."
pin: "ປັກໝຸດ"
unpin: "ຖອດປັກໝຸດອອກ"
pin: "ປັກໝຸດໄປຫາໂປຣໄຟລ໌"
unpin: "ຖອດປັກໝຸດອອກຈາກໂປຣໄຟລ໌"
copyContent: "ຄັດລອກເນື້ອຫາ"
copyLink: "ຄັດລອກລິ້ງ"
copyLinkRenote: "ຄັດລອກລິ້ງຂອງ renote"
copyLink: "ສຳເນົາລິ້ງ"
delete: "ລຶບ"
deleteAndEdit: "ລບ​ແລະ​ແກ້​ໄຂ​"
deleteAndEditConfirm: "ເຈົ້າ​ແນ່​ໃຈ​ບໍ່? ທີ່ທ່ານຕ້ອງການທີ່ຈະລຶບ note ນີ້ ແລະແກ້ໄຂມັນ ທ່ານອາດຈະສູນເສຍ reaction, renote, ແລະການຕອບກັບທັງໝົດ"
deleteAndEdit: "ລບ​ແລະ​ແກ້​ໄຂ​"
deleteAndEditConfirm: "ເຈົ້າ​ແນ່​ໃຈ​ບໍ່? ທີ່ທ່ານຕ້ອງການທີ່ຈະລຶບບັນທຶກນີ້ແລະແກ້ໄຂມັນ ທ່ານອາດຈະສູນເສຍການໂຕ້ຕອບ, ບັນທຶກ, ແລະການຕອບກັບທັງໝົດ"
addToList: "ເພີ່ມໃສ່ລາຍຊື່"
addToAntenna: "ເພີ່ມໃສ່ເສົາອາກາດ"
sendMessage: "ສົ່ງຂໍ້ຄວາມ"
@@ -67,15 +66,15 @@ showLess: "ປິດ"
youGotNewFollower: "ໄດ້ຕິດຕາມທ່ານ"
receiveFollowRequest: "ປະຕິບັດຕາມຄໍາຮ້ອງຂໍທີ່ໄດ້ຮັບ"
followRequestAccepted: "ຜູ້ຕິດຕາມໄດ້ຍອມຮັບຄໍາຮ້ອງຂໍຂອງທ່ານ"
mention: "ກ່າວຖືງ"
mention: "ໄດ້ກ່າວມາ"
mentions: "ກ່າວເຖິງ"
directNotes: "ໂພສ Direct note"
directNotes: "ໂດຍກົງຫມາຍເຫດ"
importAndExport: "ນໍາເຂົ້າ / ສົ່ງອອກ"
import: "ນຳເຂົ້າ"
export: "ສົ່ງອອກ"
export: "ນຳອອກ"
files: "ໄຟລ໌"
download: "ດາວໂຫລດ"
driveFileDeleteConfirm: "ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການລຶບໄຟລ໌ \"{name}\"? note ທີ່ມີໄຟລ໌ແນບນີ້ຈະຖືກລຶບຖິ້ມ"
driveFileDeleteConfirm: "ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການລຶບໄຟລ໌ \"{name}\"? ບັນທຶກທີ່ມີໄຟລ໌ແນບນີ້ຈະຖືກລຶບຖິ້ມ"
unfollowConfirm: "ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການເຊົາຕິດຕາມ {name}?"
exportRequested: "ໃນເວລາທີ່ທ່ານໄດ້ຮ້ອງຂໍການສົ່ງອອກ ມັນອາດຈະໃຊ້ເວລາບາງເວລາ ແລະມັນຈະຖືກເພີ່ມໃສ່ drive ຂອງທ່ານເມື່ອມັນສຳເລັດແລ້ວ"
importRequested: "ໃນເວລາທີ່ທ່ານໄດ້ຮ້ອງຂໍການນໍາເຂົ້າ ມັນອາດຈະໃຊ້ເວລາບາງເວລາ"
@@ -87,7 +86,7 @@ following: "ກຳລັງຕິດຕາມ"
followers: "ຜູ້ຕິດຕາມ"
followsYou: "ຕິດ​ຕາມ​ເຈົ້າ"
createList: "ສ້າງລາຍຊື່"
manageLists: "ຈັດການລາຍຊື່"
manageLists: "ການບໍລິຫານບັນຊີລາຍການ"
error: "ຂໍ້ຜິດພາດ"
somethingHappened: "​ອຸຍ, ມີ​ບາງ​ຢ່າງ​ຜິ​ດ​ພາດ"
retry: "ລອງໃຫມ່"
@@ -97,30 +96,30 @@ serverIsDead: "ເຊີບເວີນີ້ບໍ່ຕອບສະໜອງ
youShouldUpgradeClient: "ເພື່ອເບິ່ງໜ້ານີ້, ກະລຸນາໂຫຼດຂໍ້ມູນຄືນໃໝ່ເພື່ອອັບເດດລູກຄ້າຂອງທ່ານ"
enterListName: "ໃສ່ຊື່ສຳລັບລາຍຊື່"
privacy: "ຄວາມເປັນສ່ວນຕົວ"
makeFollowManuallyApprove: "ຕິດຕາມຄຳຂໍທີ່ຕ້ອງໄດ້ຮັບການອະນຸມັດ"
defaultNoteVisibility: "ການເບິ່ງເຫັນທີ່ເປັນຄ່າເລີ່ມຕົ້ນ"
makeFollowManuallyApprove: "ປະຕິບັດຕາມການຮ້ອງຂໍຮຽກຮ້ອງໃຫ້ມີການອະນຸມັດ"
defaultNoteVisibility: "ເປັນຄ່າເລີ່ມຕົ້ນ"
follow: "ກຳລັງຕິດຕາມ"
followRequest: "ສົ່ງ​ຄຳຂໍ​ຕິ​​ຕາມ​"
followRequests: "ສົ່ງ​ຄຳຂໍ​ຕິ​ດ​ຕາມ​"
followRequest: "ສົ່ງ​ການ​ຮ້ອງ​ຂໍ​ປະ​ຕິ​​ຕາມ​"
followRequests: "ປະຕິບັດຕາມຄໍາຮ້ອງຂໍ"
unfollow: "ເຊົາຕິດຕາມ"
followRequestPending: "ລໍຖ້າການອະນຸມັດໃຫ້ຕິດຕາມ"
enterEmoji: "ປ້ອນອໂມຈິ"
followRequestPending: "ປະຕິບັດຕາມຄໍາຮ້ອງຂໍທີ່ລໍຖ້າຢູ່"
enterEmoji: "ປ້ອນອໂມຈິ"
renote: "Renote"
unrenote: "ເລີກ Renote"
renoted: "renote ແລ້ວ"
cantRenote: "ໂພສນີ້ບໍ່ສາມາດ renote ໃໝ່ໄດ້"
renoted: "ເກັບບັນທຶກໄວ້"
cantRenote: "ໂພສນີ້ບໍ່ສາມາດຖືກບັນທຶກໄວ້ຄືນໃໝ່ໄດ້"
cantReRenote: "ບໍ່ສາມາດບັນທຶກຄືນໃໝ່ໄດ້"
quote: "ອ້າງອີງ"
inChannelRenote: "Renote ໃນ channel ເທົ່ານັ້ນ"
inChannelQuote: "ອ້າງອິງໃນ channel ເທົ່ານັ້ນ"
pinnedNote: "note ທີ່ປັກໝຸດໄວ້"
pinned: "ປັກໝຸດ"
quote: "ລວມຂໍ້ຄວາມອ້າງອີງ"
inChannelRenote: "ຊ່ອງພຽງແຕ່ Renote"
inChannelQuote: "ຊ່ອງເທົ່ານັ້ນ Quote"
pinnedNote: "ບັນທຶກທີ່ປັກໝຸດໄວ້"
pinned: "ປັກໝຸດໄປຫາໂປຣໄຟລ໌"
you: "ເຈົ້າ"
clickToShow: "ກົດເພື່ອສະແດງໃຫ້ເຫັນ"
sensitive: "NSFW"
add: "ເພີ່ມ"
reaction: "reaction"
reactions: "reaction"
reaction: "ປະຕິກິລິຍາ"
reactions: "ປະຕິກິລິຍາ"
attachCancel: "ເອົາໄຟລ໌ແນບ"
mute: "ປີດສຽງ"
unmute: "ເປີດສຽງ"
@@ -307,8 +306,6 @@ basicInfo: "ຂໍ້ມຸນເບື້ອງຕົ້ນ"
pinnedNotes: "ບັນທຶກທີ່ປັກໝຸດໄວ້"
hcaptchaSiteKey: "ກະແຈໄຊທ໌"
hcaptchaSecretKey: "ກະແຈລັບ"
mcaptchaSiteKey: "ກະແຈໄຊທ໌"
mcaptchaSecretKey: "ກະແຈລັບ"
recaptcha: "reCAPTCHA"
enableRecaptcha: "ເປີດໃຊ້ງານລີແຄ໋ບຈາ"
recaptchaSiteKey: "ກະແຈໄຊທ໌"
@@ -323,6 +320,7 @@ administrator: "ຜູ້ບໍລິຫານ"
token: "ໂທເຄັນ"
share: "ແບ່ງປັນ"
notFound: "ບໍ່ພົບ"
cacheClear: "ລຶບລ້າງແຄສ"
help: "ຊ່ວຍເຫຼືອ"
close: "ປິດ"
invites: "ເຊີນ"
@@ -393,8 +391,6 @@ administration: "ການຈັດການ"
middle: "ປານກາງ"
searchByGoogle: "ຄົ້ນຫາ"
file: "ໄຟລ໌"
replies: "ຕອບ​ໄປ​ທີ"
renotes: "Renote"
_role:
_priority:
middle: "ປານກາງ"
@@ -409,6 +405,7 @@ _theme:
_sfx:
note: "ບັນທຶກ"
notification: "ການແຈ້ງເຕືອນ"
chat: "ແຊ໋ດ"
_2fa:
renewTOTPCancel: "ບໍ່​ແມ່ນ​ຕອນ​ນີ້"
_widgets:
@@ -464,6 +461,3 @@ _deck:
mentions: "ກ່າວເຖິງ"
_webhookSettings:
name: "ຊື່"
_moderationLogTypes:
suspend: "ລະງັບ"

View File

@@ -45,7 +45,6 @@ pin: "Vastmaken aan profielpagina"
unpin: "Losmaken van profielpagina"
copyContent: "Kopiëren inhoud"
copyLink: "Kopiëren link"
copyLinkRenote: ""
delete: "Verwijderen"
deleteAndEdit: "Verwijderen en bewerken"
deleteAndEditConfirm: "Weet je zeker dat je deze notitie wilt verwijderen en dan bewerken? Je verliest alle reacties, herdelingen en antwoorden erop."
@@ -119,6 +118,7 @@ sensitive: "NSFW"
add: "Toevoegen"
reaction: "Reacties"
reactions: "Reacties"
reactionSetting: "Reacties die in de reactie-selector worden getoond"
reactionSettingDescription2: "Sleep om opnieuw te ordenen, Klik om te verwijderen, Druk op \"+\" om toe te voegen"
rememberNoteVisibility: "Vergeet niet de notitie zichtbaarheidsinstellingen"
attachCancel: "Verwijder bijlage"
@@ -338,6 +338,7 @@ invite: "Uitnodigen"
driveCapacityPerLocalAccount: "Opslagruimte per lokale gebruiker"
driveCapacityPerRemoteAccount: "Opslagruimte per externe gebruiker"
inMb: "in megabytes"
iconUrl: "Pictogram URL"
bannerUrl: "Banner URL"
backgroundImageUrl: "URL afbeelding"
basicInfo: "Basisinformatie"
@@ -348,8 +349,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Inschakelen hCaptcha"
hcaptchaSiteKey: "Site sleutel"
hcaptchaSecretKey: "Geheime sleutel"
mcaptchaSiteKey: "Site sleutel"
mcaptchaSecretKey: "Geheime sleutel"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Inschakelen reCAPTCHA"
recaptchaSiteKey: "Site sleutel"
@@ -397,6 +396,7 @@ reduceUiAnimation: "Verminder beweging in de UI"
share: "Delen"
notFound: "Niet gevonden"
uploadFolder: "Standaardmap voor uploaden"
cacheClear: "Cache verwijderen"
markAsReadAllNotifications: "Markeer alle meldingen als gelezen"
markAsReadAllUnreadNotes: "Markeer alle berichten als gelezen"
markAsReadAllTalkMessages: "Markeer alle berichten als gelezen"
@@ -427,8 +427,6 @@ windowMaximize: "Maximaliseren"
windowRestore: "Herstellen"
loggedInAsBot: "Momenteel als bot ingelogd"
icon: "Avatar"
replies: "Antwoord"
renotes: "Herdelen"
_email:
_follow:
title: "volgde jou"
@@ -439,6 +437,7 @@ _theme:
_sfx:
note: "Notities"
notification: "Meldingen"
chat: "Chat"
_2fa:
renewTOTPCancel: "Nee, bedankt"
_widgets:
@@ -494,7 +493,3 @@ _deck:
mentions: "Vermeldingen"
_webhookSettings:
name: "Naam"
_moderationLogTypes:
suspend: "Opschorten"
resetPassword: "Wachtwoord terugzetten"

View File

@@ -102,6 +102,7 @@ clickToShow: "Klikk for å vise"
add: "Legg til"
reaction: "Reaksjon"
reactions: "Reaksjoner"
reactionSetting: "Reaksjoner som vises i reaksjonsvelgeren"
reactionSettingDescription2: "Dra for å endre rekkefølgen, klikk for å slette, trykk \"+\" for å legge til."
rememberNoteVisibility: "Husk innstillingene for synlighet av Notes"
attachCancel: "Fjern vedlegg"
@@ -461,9 +462,6 @@ continue: "Fortsett"
youFollowing: "Følger"
options: "Alternativ"
icon: "Avatar"
replies: "Svar"
renotes: "Renote"
surrender: "Avbryt"
_initialAccountSetting:
theseSettingsCanEditLater: "Du kan endre disse innstillingene senere."
_achievements:
@@ -575,6 +573,9 @@ _channel:
nameAndDescription: "Navn og beskrivelse"
_menuDisplay:
hide: "Skjul"
_wordMute:
soft: "Myk"
hard: "Hard"
_theme:
description: "Beskrivelse"
color: "Farge"
@@ -601,6 +602,9 @@ _time:
minute: "Minutter"
hour: "Timer"
day: "Dager"
_timelineTutorial:
title: "Hvordan bruke Misskey"
step2_2: "Hva med å skrive en selvpresentasjon, eller bare \"Hei {name}!\" hvis du ikke har lyst?"
_2fa:
renewTOTPCancel: "Avbryt"
_weekday:
@@ -719,6 +723,3 @@ _deck:
direct: "Direkte"
_webhookSettings:
name: "Navn"
_moderationLogTypes:
suspend: "Suspender"

View File

@@ -111,6 +111,7 @@ sensitive: "NSFW"
add: "Dodaj"
reaction: "Reakcja"
reactions: "Reakcja"
reactionSetting: "Reakcje do pokazania w wyborniku reakcji"
reactionSettingDescription2: "Przeciągnij aby zmienić kolejność, naciśnij aby usunąć, naciśnij „+” aby dodać"
rememberNoteVisibility: "Zapamiętuj ustawienia widoczności wpisu"
attachCancel: "Usuń załącznik"
@@ -332,6 +333,7 @@ invite: "Zaproś"
driveCapacityPerLocalAccount: "Powierzchnia dyskowa na lokalnego użytkownika"
driveCapacityPerRemoteAccount: "Powierzchnia dyskowa na zdalnego użytkownika"
inMb: "W megabajtach"
iconUrl: "Adres URL ikony"
bannerUrl: "Adres URL banera"
backgroundImageUrl: "Adres URL tła"
basicInfo: "Podstawowe informacje"
@@ -345,8 +347,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Włącz hCaptcha"
hcaptchaSiteKey: "Klucz strony"
hcaptchaSecretKey: "Tajny klucz"
mcaptchaSiteKey: "Klucz strony"
mcaptchaSecretKey: "Tajny klucz"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Włącz reCAPTCHA"
recaptchaSiteKey: "Klucz strony"
@@ -408,6 +408,7 @@ share: "Udostępnij"
notFound: "Nie znaleziono"
notFoundDescription: "Nie ma strony odpowiadającej określonemu adresowi URL."
uploadFolder: "Domyślne położenie wysłanych"
cacheClear: "Wyczyść pamięć podręczną"
markAsReadAllNotifications: "Oznacz wszystkie powiadomienia jako przeczytane"
markAsReadAllUnreadNotes: "Oznacz wszystkie wpisy jako przeczytane"
markAsReadAllTalkMessages: "Oznacz wszystkie wiadomości jako przeczytane"
@@ -808,6 +809,8 @@ makeReactionsPublicDescription: "To spowoduje, że lista wszystkich Twoich dotyc
classic: "Klasyczny"
muteThread: "Wycisz wątek"
unmuteThread: "Wyłącz wyciszenie wątku"
ffVisibility: "Widoczność obserwowanych/obserwujących"
ffVisibilityDescription: "Pozwala skonfigurować, kto może zobaczyć, kogo obserwujesz i kto Cię obserwuje."
continueThread: "Pokaż kontynuację wątku"
deleteAccountConfirm: "Spowoduje to nieodwracalne usunięcie Twojego konta. Kontynuować?"
incorrectPassword: "Nieprawidłowe hasło."
@@ -869,10 +872,6 @@ show: "Wyświetlanie"
color: "Kolor"
youFollowing: "Śledzeni"
icon: "Awatar"
replies: "Odpowiedz"
renotes: "Udostępnij"
sourceCode: "Kod źródłowy"
flip: "Odwróć"
_role:
priority: "Priorytet"
_priority:
@@ -925,7 +924,6 @@ _plugin:
install: "Zainstaluj wtyczki"
installWarn: "Nie instaluj niezaufanych wtyczek."
manage: "Zarządzanie wtyczkami"
viewSource: "Zobacz źródło"
_preferencesBackups:
list: "Utworzone kopie zapasowe"
saveNew: "Zapisz nową kopię zapasową"
@@ -982,6 +980,9 @@ _menuDisplay:
_wordMute:
muteWords: "Słowo do wyciszenia"
muteWordsDescription2: "Otocz słowa kluczowe ukośnikami, aby używać wyrażeń regularnych."
soft: "Łagodny"
hard: "Twardy"
mutedNotes: "Wyciszone wpisy"
_instanceMute:
title: "Ukrywa wpisy z wymienionych instancji."
heading: "Lista instancji do wyciszenia"
@@ -1043,6 +1044,9 @@ _theme:
infoFg: "Tekst informacji"
infoWarnBg: "Tło ostrzeżenia"
infoWarnFg: "Tekst ostrzeżenia"
cwBg: "Tło CW"
cwFg: "Tekst CW"
cwHoverBg: "Tło CW (po najechaniu)"
toastBg: "Tło powiadomień"
toastFg: "Tekst powiadomień"
buttonBg: "Tło przycisku"
@@ -1060,6 +1064,8 @@ _sfx:
note: "Wpisy"
noteMy: "Mój wpis"
notification: "Powiadomienia"
chat: "Wiadomości"
chatBg: "Rozmowy (tło)"
antenna: "Anteny"
channel: "Powiadomienia kanału"
_ago:
@@ -1235,7 +1241,6 @@ _profile:
_exportOrImport:
allNotes: "Wszystkie wpisy"
favoritedNotes: "Ulubione wpisy"
clips: "Klip"
followingList: "Obserwowani"
muteList: "Wycisz"
blockingList: "Zablokuj"
@@ -1395,9 +1400,3 @@ _webhookSettings:
renote: "Po udostępnieniu wpisu"
reaction: "Po otrzymaniu reakcji"
mention: "Po zostaniu wspomnianym"
_moderationLogTypes:
suspend: "Zawieś"
resetPassword: "Zresetuj hasło"
_reversi:
total: "Łącznie"

View File

@@ -121,6 +121,7 @@ sensitive: "Conteúdo sensível"
add: "Adicionar"
reaction: "Reações"
reactions: "Reações"
reactionSetting: "Quais reações exibir no seletor de reações"
reactionSettingDescription2: "Arraste para reordenar, clique para excluir, pressione + para adicionar."
rememberNoteVisibility: "Lembrar das configurações de visibilidade de notas"
attachCancel: "Remover anexo"
@@ -355,6 +356,7 @@ invite: "Convidar"
driveCapacityPerLocalAccount: "Capacidade do drive por usuário local"
driveCapacityPerRemoteAccount: "Capacidade do drive por usuário remoto"
inMb: "Em megabytes"
iconUrl: "URL da imagem do ícone (favicon, etc.)"
bannerUrl: "URL da imagem do banner"
backgroundImageUrl: "URL da imagem de fundo"
basicInfo: "Informações básicas"
@@ -368,8 +370,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Ativar hCaptcha"
hcaptchaSiteKey: "Chave do sítio web"
hcaptchaSecretKey: "Chave secreta"
mcaptchaSiteKey: "Chave do sítio web"
mcaptchaSecretKey: "Chave secreta"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Habilitar reCAPTCHA"
recaptchaSiteKey: "Chave do sítio web"
@@ -412,7 +412,6 @@ aboutMisskey: "Sobre Misskey"
administrator: "Administrador"
token: "Símbolo"
2fa: "Autenticação de dois fatores"
setupOf2fa: "Configuração de autenticação de dois fatores"
totp: "Aplicativo Autenticador"
totpDescription: "Digite a senha de uso único informado pelo aplicativo autenticador"
moderator: "Moderador"
@@ -432,6 +431,7 @@ share: "Compartilhar"
notFound: "Não encontrado"
notFoundDescription: "Não havia página correspondente ao URL especificado."
uploadFolder: "Destino de upload padrão"
cacheClear: "Excluir memória transitória"
markAsReadAllNotifications: "Marcar todas as notificações como lidas"
markAsReadAllUnreadNotes: "Marcar todas as postagens como lidas"
markAsReadAllTalkMessages: "Marcar todas as conversas como lidas"
@@ -860,6 +860,8 @@ makeReactionsPublicDescription: "Isto vai deixar o histórico de todas as suas r
classic: "Clássico"
muteThread: "Silenciar esta conversa"
unmuteThread: "Desativar silêncio desta conversa"
ffVisibility: "Visibilidade de Seguidos/Seguidores"
ffVisibilityDescription: "Permite configurar quem pode ver quem lhe segue e quem você está seguindo."
continueThread: "Ver mais desta conversa"
deleteAccountConfirm: "Deseja realmente excluir a conta?"
incorrectPassword: "Senha inválida."
@@ -917,7 +919,6 @@ pleaseSelect: "Por favor, selecione."
reverse: "Inversão"
colored: "Colorido"
refreshInterval: "Intervalo de atualização"
label: "Etiqueta"
type: "Tipo"
speed: "Velocidade"
slow: "Lento"
@@ -1006,16 +1007,8 @@ rolesThatCanBeUsedThisEmojiAsReactionEmptyDescription: "Se nenhum cargo for espe
rolesThatCanBeUsedThisEmojiAsReactionPublicRoleWarn: "Estes cargos devem ser públicos."
waitingForMailAuth: "Verificação de e-mail pendente "
icon: "Avatar"
replies: "Responder"
renotes: "Repostar"
keepScreenOn: "Manter a tela do dispositivo sempre ligada"
flip: "Inversão"
lastNDays: "Últimos {n} dias"
surrender: "Cancelar"
_initialAccountSetting:
followUsers: "Siga usuários que lhe interessam para criar a sua linha do tempo."
_serverSettings:
iconUrl: "URL do ícone"
_accountMigration:
moveFromDescription: "Se você deseja migrar de outra conta para esta, é necessário criar um alias aqui. Por favor, insira a conta de origem da migração no seguinte formato: @username@server.example.com. Para excluir o alias, deixe o campo em branco e clique em salvar (não recomendado)."
moveAccountDescription: "Você está migrando para uma nova conta.\n ・Seus seguidores irão automaticamente seguir a nova conta.\n ・Todas as suas conexões de seguidores nesta conta serão removidas.\n ・Você não poderá mais criar novas notas nesta conta.\n\nA migração dos seguidores é automática, mas a migração das pessoas que você segue deve ser feita manualmente. Antes de migrar, exporte quem você está seguindo nesta conta e, assim que migrar, importe essa lista na nova conta.\nO mesmo se aplica para listas, silenciamentos e bloqueios, que também devem ser migrados manualmente.\n\n(Esta descrição se refere ao comportamento do servidor Misskey v13.12.0 ou posterior. Outros softwares ActivityPub, como Mastodon, podem ter comportamentos diferentes.)"
@@ -1321,8 +1314,11 @@ _theme:
_sfx:
note: "Posts"
notification: "Notificações"
chat: "Chat"
_ago:
invalid: "Não há nada aqui"
_timelineTutorial:
step1_2: "Existem vários tipos de linhas do tempo, por exemplo, na 'Linha do Tempo Principal', você verá as notas das pessoas que está seguindo, e na 'Linha do Tempo Local', verá todas as notas de {name}."
_2fa:
securityKeyInfo: "Além da autenticação por impressão digital ou PIN, você também pode configurar a autenticação por chaves de segurança de hardware compatível com FIDO2 para proteger ainda mais a sua conta."
removeKeyConfirm: "Deseja excluir {name}?"
@@ -1404,7 +1400,6 @@ _profile:
username: "Nome de usuário"
_exportOrImport:
favoritedNotes: "Notas nos favoritos"
clips: "Clipe"
followingList: "Seguindo"
muteList: "Silenciar"
blockingList: "Bloquear"
@@ -1496,9 +1491,3 @@ _webhookSettings:
follow: "Quando seguindo um usuário"
followed: "Quando sendo seguido"
renote: "Quando repostado"
_moderationLogTypes:
suspend: "Suspender"
resetPassword: "Redefinir senha"
_reversi:
total: "Total"

View File

@@ -2,7 +2,6 @@
_lang_: "Română"
headlineMisskey: "O rețea conectată prin note"
introMisskey: "Bine ai venit! Misskey este un serviciu de microblogging open source și decentralizat.\nCreează \"note\" cu care să îți poți împărți gândurile cu oricine din jurul tău. 📡\nCu \"reacții\" îți poți expirma rapid părerea despre notele oricui. 👍\nHai să explorăm o lume nouă! 🚀"
poweredByMisskeyDescription: "{name} este unul dintre serviciile care se folosește de platforma open source <b>Misskey</b>."
monthAndDay: "{day}/{month}"
search: "Caută"
notifications: "Notificări"
@@ -13,14 +12,12 @@ fetchingAsApObject: "Se aduce din Fediverse..."
ok: "OK"
gotIt: "Am înțeles!"
cancel: "Anulează"
noThankYou: "Nu, mulțumesc."
enterUsername: "Introdu numele de utilizator"
renotedBy: "Re-notat de {user}"
noNotes: "Nicio notă"
noNotifications: "Nicio notificare"
instance: "Instanță"
settings: "Setări"
notificationSettings: "Setări notificări"
basicSettings: "Setări generale"
otherSettings: "Alte Setări"
openInWindow: "Deschide într-o fereastră"
@@ -45,20 +42,12 @@ pin: "Fixează pe profil"
unpin: "Anulati fixare"
copyContent: "Copiază conținutul"
copyLink: "Copiază link-ul"
copyLinkRenote: "Copiază linkul pentru renote"
delete: "Şterge"
deleteAndEdit: "Șterge și editează"
deleteAndEditConfirm: "Ești sigur că vrei să ștergi această notă și să o editezi? Vei pierde reacțiile, re-notele și răspunsurile acesteia."
addToList: "Adaugă în listă"
addToAntenna: "Adaugă la antenă"
sendMessage: "Trimite un mesaj"
copyRSS: "Copiază RSS"
copyUsername: "Copiază numele de utilizator"
copyUserId: "Copiază numele de utilizator"
copyNoteId: "Copiază ID-ul notiței"
copyFileId: "Copiază ID-ul fișierului"
copyFolderId: "Copiază ID-ul folderului"
copyProfileUrl: "Copiază URL profil"
searchUser: "Caută un utilizator"
reply: "Răspunde"
loadMore: "Incarcă mai mult"
@@ -111,8 +100,6 @@ renoted: "Re-notat."
cantRenote: "Această postare nu poate fi re-notată."
cantReRenote: "O re-notă nu poate fi re-notată."
quote: "Citează"
inChannelRenote: "Renotează în canal"
inChannelQuote: "Citează în canal"
pinnedNote: "Notă fixată"
pinned: "Fixat pe profil"
you: "Tu"
@@ -121,6 +108,7 @@ sensitive: "NSFW"
add: "Adaugă"
reaction: "Reacție"
reactions: "Reacție"
reactionSetting: "Reacții care să apară in selectorul de reacții"
reactionSettingDescription2: "Trage pentru a rearanja, apasă pe \"+\" pentru a adăuga."
rememberNoteVisibility: "Amintește setarea de vizibilitate a notelor"
attachCancel: "Înlătură atașament"
@@ -129,8 +117,6 @@ unmarkAsSensitive: "Demarchează ca NSFW"
enterFileName: "Introduceţi numele fişierului"
mute: "Amuțește"
unmute: "Înlătură amuțirea"
renoteMute: "Renotări pe modul silențios"
renoteUnmute: "Scoate renotările de pe modul silențios"
block: "Blochează"
unblock: "Deblochează"
suspend: "Suspendă"
@@ -140,10 +126,7 @@ unblockConfirm: "Ești sigur ca vrei să deblochezi acest cont?"
suspendConfirm: "Ești sigur ca vrei să suspendezi acest cont?"
unsuspendConfirm: "Ești sigur ca vrei să nu mai suspendezi acest cont?"
selectList: "Selectează o listă"
editList: "Editați lista"
selectChannel: "Selectaţi canalul"
selectAntenna: "Selectează o antenă"
editAntenna: "Editează antena"
selectWidget: "Selectați un widget"
editWidgets: "Editează widget-urile"
editWidgetsExit: "Terminat"
@@ -156,7 +139,6 @@ addEmoji: "Adaugă un emoji"
settingGuide: "Setări recomandate"
cacheRemoteFiles: "Ține fișierele externe in cache"
cacheRemoteFilesDescription: "Când această setare este dezactivată, fișierele externe sunt încărcate direct din instanța externă. Dezactivarea va scădea utilizarea spațiului de stocare, dar va crește traficul, deoarece thumbnail-urile nu vor fi generate."
youCanCleanRemoteFilesCache: "Poți goli cache-ul prin a apăsa pe butonul de 🗑️ din fereastra de gestionare a fișierelor."
flagAsBot: "Marchează acest cont ca bot"
flagAsBotDescription: "Activează această opțiune dacă acest cont este controlat de un program. Daca e activată, aceasta va juca rolul unui indicator pentru dezvoltatori pentru a preveni interacțiunea în lanțuri infinite cu ceilalți boți și ajustează sistemele interne al Misskey pentru a trata acest cont drept un bot."
flagAsCat: "Marchează acest cont ca pisică"
@@ -346,6 +328,7 @@ invite: "Invită"
driveCapacityPerLocalAccount: "Capacitatea Drive-ului per utilizator local"
driveCapacityPerRemoteAccount: "Capacitatea Drive-ului per utilizator extern"
inMb: "În megabytes"
iconUrl: "URL-ul iconiței"
bannerUrl: "URL-ul imaginii de banner"
backgroundImageUrl: "URL-ul imaginii de fundal"
basicInfo: "Informații de bază"
@@ -359,8 +342,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Activează hCaptcha"
hcaptchaSiteKey: "Site key"
hcaptchaSecretKey: "Secret key"
mcaptchaSiteKey: "Site key"
mcaptchaSecretKey: "Secret key"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Activează reCAPTCHA"
recaptchaSiteKey: "Site key"
@@ -413,6 +394,7 @@ share: "Distribuie"
notFound: "Nu a fost găsit"
notFoundDescription: "N-a fost găsită nicio pagină cu acest URL."
uploadFolder: "Folder implicit pentru încărcări"
cacheClear: "Golește cache-ul"
markAsReadAllNotifications: "Marchează toate notificările drept citit"
markAsReadAllUnreadNotes: "Marchează toate notele drept citit"
markAsReadAllTalkMessages: "Marchează toate mesajele drept citit"
@@ -649,8 +631,6 @@ searchByGoogle: "Caută"
file: "Fișiere"
show: "Arată"
icon: "Avatar"
replies: "Răspunde"
renotes: "Re-notează"
_role:
_priority:
middle: "Mediu"
@@ -666,10 +646,9 @@ _theme:
_sfx:
note: "Note"
notification: "Notificări"
chat: "Chat"
_ago:
invalid: "Nu e nimic de văzut aici"
_2fa:
renewTOTPCancel: "Nu, mulțumesc."
_widgets:
profile: "Profil"
instanceInfo: "Informații despre instanță"
@@ -724,9 +703,3 @@ _deck:
mentions: "Mențiuni"
_webhookSettings:
name: "Nume"
_moderationLogTypes:
suspend: "Suspendă"
resetPassword: "Resetează parola"
_reversi:
total: "Total"

View File

@@ -53,15 +53,15 @@ addToAntenna: "Добавить к антенне"
sendMessage: "Отправить сообщение"
copyRSS: "Скопировать RSS"
copyUsername: "Скопировать имя пользователя"
copyUserId: "Скопировать идентификатор пользователя"
copyNoteId: "Скопировать идентификатор заметки"
copyUserId: "Скопировать ID пользователя"
copyNoteId: "Скопировать ID заметки"
copyFileId: "Скопировать ID файла"
copyFolderId: "Скопировать ID папки"
copyProfileUrl: "Скопировать URL профиля "
searchUser: "Поиск людей"
reply: "Ответ"
reply: "Ответить"
loadMore: "Показать еще"
showMore: "Показать ещё"
showMore: "Показать еще"
showLess: "Закрыть"
youGotNewFollower: "Новый подписчик"
receiveFollowRequest: "Получен запрос на подписку"
@@ -120,12 +120,7 @@ sensitive: "Содержимое не для всех"
add: "Добавить"
reaction: "Реакции"
reactions: "Реакции"
emojiPicker: "Палитра эмодзи"
pinnedEmojisForReactionSettingDescription: "Здесь можно закрепить эмодзи для реакций"
pinnedEmojisSettingDescription: "Здесь можно закрепить эмодзи в общей палитре"
emojiPickerDisplay: "Внешний вид палитры"
overwriteFromPinnedEmojisForReaction: "Заменить на эмодзи из списка реакций"
overwriteFromPinnedEmojis: "Заменить на эмодзи из общего списка закреплённых"
reactionSetting: "Реакции, отображаемые в палитре"
reactionSettingDescription2: "Расставляйте перетаскиванием, удаляйте нажатием, добавляйте кнопкой «+»."
rememberNoteVisibility: "Запоминать видимость заметок"
attachCancel: "Удалить вложение"
@@ -134,8 +129,8 @@ unmarkAsSensitive: "Снять отметку «не для всех»"
enterFileName: "Введите имя файла"
mute: "Скрыть"
unmute: "Отменить скрытие"
renoteMute: "Скрыть репосты"
renoteUnmute: "Открыть репосты"
renoteMute: "Заглушить репосты"
renoteUnmute: "Включить репосты"
block: "Заблокировать"
unblock: "Разблокировать"
suspend: "Заморозить"
@@ -161,8 +156,8 @@ addEmoji: "Добавить эмодзи"
settingGuide: "Рекомендуемые настройки"
cacheRemoteFiles: "Кешировать внешние файлы"
cacheRemoteFilesDescription: "Когда эта настройка отключена, файлы с других сайтов будут загружаться прямо оттуда. Это сэкономит место на сервере, но увеличит трафик, так как не будут создаваться эскизы."
cacheRemoteSensitiveFiles: "Кэшировать внешние файлы «не для всех»"
cacheRemoteSensitiveFilesDescription: "Если отключено, файлы «не для всех» загружаются непосредственно с удалённых серверов, не кэшируясь."
cacheRemoteSensitiveFiles: "Кешировать внешние файлы"
cacheRemoteSensitiveFilesDescription: "Описание удаленных внешних файлов в кэше"
flagAsBot: "Аккаунт бота"
flagAsBotDescription: "Включите, если этот аккаунт управляется программой. Это позволит системе Misskey учитывать это, а также поможет разработчикам других ботов предотвратить бесконечные циклы взаимодействия."
flagAsCat: "Аккаунт кота"
@@ -261,7 +256,6 @@ removed: "Удалено"
removeAreYouSure: "Хотите удалить «{x}»?"
deleteAreYouSure: "Хотите удалить «{x}»?"
resetAreYouSure: "На самом деле сбросить?"
areYouSure: "Вы уверены?"
saved: "Сохранено"
messaging: "Сообщения"
upload: "Загрузить"
@@ -279,7 +273,7 @@ noMoreHistory: "История закончилась"
startMessaging: "Начать общение"
nUsersRead: "Прочитали {n}"
agreeTo: "Я соглашаюсь с {0}"
agree: "Согласен"
agree: "Согласиться"
agreeBelow: "Согласен со следующими"
basicNotesBeforeCreateAccount: "Записи, перед созданием аккаунта"
termsOfService: "Условия использования"
@@ -325,7 +319,7 @@ copyUrl: "Копировать ссылку"
rename: "Переименовать"
avatar: "Аватар"
banner: "Шапка"
displayOfSensitiveMedia: "Отображение содержимого не для всех"
displayOfSensitiveMedia: "Определение деликатного контента"
whenServerDisconnected: "Когда соединение с сервером потеряно"
disconnectedFromServer: "Разорвано соединение с сервером"
reload: "Перезагрузить"
@@ -360,6 +354,7 @@ invite: "Пригласить"
driveCapacityPerLocalAccount: "Объём диска на одного локального пользователя"
driveCapacityPerRemoteAccount: "Объём диска на одного пользователя с другого сайта"
inMb: "В мегабайтах"
iconUrl: "Ссылка на аватар"
bannerUrl: "Ссылка на изображение в шапке"
backgroundImageUrl: "Ссылка на фоновое изображение"
basicInfo: "Общая информация"
@@ -373,8 +368,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Включить hCaptcha"
hcaptchaSiteKey: "Ключ сайта"
hcaptchaSecretKey: "Секретный ключ"
mcaptchaSiteKey: "Ключ сайта"
mcaptchaSecretKey: "Секретный ключ"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Включить reCAPTCHA"
recaptchaSiteKey: "Ключ сайта"
@@ -416,8 +409,7 @@ about: "Описание"
aboutMisskey: "О Misskey"
administrator: "Администратор"
token: "Токен"
2fa: "Двухфакторная аутентификация"
setupOf2fa: "Настроить двухфакторную аутентификацию"
2fa: "2-х факторная аутентификация"
totp: "Приложение-аутентификатор"
totpDescription: "Описание приложения-аутентификатора"
moderator: "Модератор"
@@ -437,6 +429,7 @@ share: "Поделиться"
notFound: "Не найдено"
notFoundDescription: "Страница по указанной ссылке не найдена"
uploadFolder: "Место загрузки по умолчанию"
cacheClear: "Очистка кэша"
markAsReadAllNotifications: "Отметить все уведомления как прочитанные"
markAsReadAllUnreadNotes: "Отметить все заметки как прочитанные"
markAsReadAllTalkMessages: "Отметить все реплики как прочитанные"
@@ -480,7 +473,7 @@ aboutX: "Описание {x}"
emojiStyle: "Стиль эмодзи"
native: "Системные"
disableDrawer: "Не использовать выдвижные меню"
showNoteActionsOnlyHover: "Показывать кнопки у заметок только при наведении"
showNoteActionsOnlyHover: "Показывать кнопки управления заметкой только при наведении"
noHistory: "История пока пуста"
signinHistory: "Журнал посещений"
enableAdvancedMfm: "Включить расширенный MFM"
@@ -493,8 +486,8 @@ createAccount: "Новая учётная запись"
existingAccount: "Существующая учётная запись"
regenerate: "Создать повторно"
fontSize: "Размер шрифта"
mediaListWithOneImageAppearance: "Вид изображения, если оно единственное в списке"
limitTo: "Ограничить до {x}"
mediaListWithOneImageAppearance: "Показывать список медиа только одним изображением"
limitTo: "Обрезать до {x}"
noFollowRequests: "Нерассмотренные запросы на подписку отсутствуют"
openImageInNewTab: "Открыть изображение в новой вкладке"
dashboard: "Панель управления"
@@ -528,7 +521,7 @@ objectStorageUseSSLDesc: "Отключите, если не собираетес
objectStorageUseProxy: "Использовать прокси"
objectStorageUseProxyDesc: "Отключите, если не будете испоьзовать прокси для соединений по протоколу ObjectStorage."
objectStorageSetPublicRead: "Устанавливать public-read при загрузке на сервер"
s3ForcePathStyleDesc: "Включение s3ForcePathStyle приводит к тому, что имя корзины указывается как часть пути в URL, а не в имени хоста. Может потребоваться включить при использовании локального Minio или чего-то подобного."
s3ForcePathStyleDesc: "Включение s3ForcePathStyle принудительно указывает имя корзины как часть пути в URL-адресе вместо имени хоста. Может потребоваться активация при использовании таких вещей, как локальный Minio."
serverLogs: "Журнал сервера"
deleteAll: "Удалить всё"
showFixedPostForm: "Показывать поле для ввода новой заметки наверху ленты"
@@ -572,7 +565,7 @@ yourAccountSuspendedTitle: "Эта учетная запись заблокир
yourAccountSuspendedDescription: "Эта учетная запись была заблокирована из-за нарушения условий предоставления услуг сервера. Свяжитесь с администратором, если вы хотите узнать более подробную причину. Пожалуйста, не создавайте новую учетную запись."
tokenRevoked: "Токен недействителен"
tokenRevokedDescription: "Срок действия вашего токена входа истек. Пожалуйста, войдите снова."
accountDeleted: "Учетная запись удалена"
accountDeleted: "Эта учетная запись удалена"
accountDeletedDescription: "Эта учетная запись удалена"
menu: "Меню"
divider: "Линия-разделитель"
@@ -650,18 +643,16 @@ create: "Создать"
notificationSetting: "Настройки уведомлений"
notificationSettingDesc: "Выберите тип уведомлений для отображения"
useGlobalSetting: "Использовать глобальные настройки"
useGlobalSettingDesc: "Если включено, будут использоваться настройки учётной записи. Если отключить, этот виджет можно будет настроить индивидуально."
useGlobalSettingDesc: "Если включено, будут использоваться настройки учётной записи. Если включить, этот виджет можно будет настроить индивидуально."
other: "Другие"
regenerateLoginToken: "Создать новый токен для входа"
regenerateLoginTokenDescription: "Создаёт новый токен, используемый внутри программы во время входа. Обычно в этом нет необходимости. При создании все устройства будут отключены."
theKeywordWhenSearchingForCustomEmoji: "Это ключевое слово будет использовано при поиске эмодзи."
setMultipleBySeparatingWithSpace: "Можно написать несколько через пробел"
fileIdOrUrl: "Идентификатор файла или ссылка"
behavior: "Поведение"
sample: "Пример"
abuseReports: "Жалобы"
reportAbuse: "Жалоба"
reportAbuseRenote: "Пожаловаться на репост"
reportAbuseOf: "Пожаловаться на пользователя {name}"
fillAbuseReportDescription: "Опишите, пожалуйста, причину жалобы подробнее. Если речь о конкретной заметке, будьте добры приложить ссылку на неё."
abuseReported: "Жалоба отправлена. Большое спасибо за информацию."
@@ -689,7 +680,7 @@ createNewClip: "Новая подборка"
unclip: "Убрать из подборки"
confirmToUnclipAlreadyClippedNote: "Эта заметка уже есть в подборке «{name}». Удалить из этой подборки?"
public: "Общедоступно"
private: "Личное"
private: "Показываются только вам"
i18nInfo: "Misskey переводят на разные языки добровольцы со всего света. Ваша помощь тоже пригодится здесь: {link}."
manageAccessTokens: "Управление токенами доступа"
accountInfo: "Сведения об учётной записи"
@@ -725,7 +716,7 @@ useSystemFont: "Использовать шрифт, предлагаемый с
clips: "Подборки"
experimentalFeatures: "Экспериментальные функции"
experimental: "Экспериментальные"
thisIsExperimentalFeature: "Это экспериментальная функция. Её поведение, вероятно, поменяется в следующей версии, а ещё она может работать не так, как задумано."
thisIsExperimentalFeature: "Это экспериментальная функция. Технические характеристики могут измениться или он может работать неправильно."
developer: "Разработчик"
makeExplorable: "Опубликовать профиль в «Обзоре»."
makeExplorableDescription: "Если выключить, ваш профиль не будет показан в разделе «Обзор»."
@@ -810,7 +801,7 @@ noMaintainerInformationWarning: "Не заполнены сведения об
noBotProtectionWarning: "Ботозащита не настроена"
configure: "Настроить"
postToGallery: "Опубликовать в галерею"
postToHashtag: "Написать заметку с этим хэштегом"
postToHashtag: "Опубликовать пост с этим хештегом"
gallery: "Галерея"
recentPosts: "Недавние публикации"
popularPosts: "Популярные публикации"
@@ -839,7 +830,7 @@ useBlurEffect: "Размытие в интерфейсе"
learnMore: "Подробнее"
misskeyUpdated: "Misskey обновился!"
whatIsNew: "Что новенького?"
translate: "Перевести"
translate: "Перевод"
translatedFrom: "Перевод. Язык оригинала — {x}"
accountDeletionInProgress: "В настоящее время выполняется удаление учетной записи"
usernameInfo: "Имя, которое отличает вашу учетную запись от других на этом сервере. Вы можете использовать алфавит (a~z, A~Z), цифры (0~9) или символы подчеркивания (_). Имена пользователей не могут быть изменены позже."
@@ -851,11 +842,11 @@ lastCommunication: "Последнее сообщение"
resolved: "Решено"
unresolved: "Без решения"
breakFollow: "Отписка"
breakFollowConfirm: "Действительно удалить этого подписчика?"
breakFollowConfirm: "Удалить из подписок пользователя ?"
itsOn: "Включено"
itsOff: "Выключено"
on: "Вкл."
off: "Выкл."
on: "Вкл"
off: "Выкл"
emailRequiredForSignup: "Для регистрации учётной записи нужен адрес электронной почты"
unread: "Непрочитанное"
filter: "Фильтры"
@@ -866,6 +857,8 @@ makeReactionsPublicDescription: "Список сделанных вами реа
classic: "Классика"
muteThread: "Скрыть цепочку"
unmuteThread: "Отменить сокрытие цепочки"
ffVisibility: "Видимость подписок и подписчиков"
ffVisibilityDescription: "Здесь можно настроить, кто будет видеть ваши подписки и подписчиков."
continueThread: "Показать следующие ответы"
deleteAccountConfirm: "Учётная запись будет безвозвратно удалена. Подтверждаете?"
incorrectPassword: "Пароль неверен."
@@ -884,7 +877,7 @@ numberOfColumn: "Количество столбцов"
searchByGoogle: "Поиск"
instanceDefaultLightTheme: "Светлая тема по умолчанию"
instanceDefaultDarkTheme: "Темная тема по умолчанию"
instanceDefaultThemeDescription: "Введите код темы в формате объекта."
instanceDefaultThemeDescription: "Описание темы по умолчанию для инстанса"
mutePeriod: "Продолжительность скрытия"
period: "Опрос длится"
indefinitely: "вечно"
@@ -908,7 +901,7 @@ thereIsUnresolvedAbuseReportWarning: "Остались нерешённые жа
recommended: "Рекомендуем"
check: "Проверить"
driveCapOverrideLabel: "Изменение лимита дискового пространства для этого пользователя"
driveCapOverrideCaption: "Введите нуль или меньше, чтобы использовать значение по умолчанию."
driveCapOverrideCaption: "Укажите меньше или равное нулю для отмены"
requireAdminForView: "Для просмотра необходимо иметь аккаунт администратора"
isSystemAccount: "Данная учётная запись создана автоматически и управляется системой"
typeToConfirm: "Введите {x} для продолжения"
@@ -928,7 +921,7 @@ type: "Тип"
speed: "Скорость"
slow: "Медленная"
fast: "Быстрая"
sensitiveMediaDetection: "Распознание содержимого не для всех"
sensitiveMediaDetection: "Определение содержимого деликатного характера"
localOnly: "Локально"
remoteOnly: "Только удалённо"
failedToUpload: "Сбой выгрузки"
@@ -961,7 +954,7 @@ numberOfProfileView: "Количество профилей для просмо
like: "Нравится!"
unlike: "Отменить «нравится»"
numberOfLikes: "Количество лайков"
show: "Показать"
show: "Отображение"
neverShow: "Больше не показывать"
remindMeLater: "Напомнить позже"
didYouLikeMisskey: "Вам нравится Misskey?"
@@ -1005,17 +998,15 @@ invitationRequiredToRegister: "Этот сервер в настоящее вр
emailNotSupported: "Доставка почты не поддерживается на этом сервере"
postToTheChannel: "Отправить в канал"
cannotBeChangedLater: "Это нельзя изменить позже"
reactionAcceptance: "Допустимые реакции"
likeOnly: "Только «нравится!»"
likeOnlyForRemote: "Всё (с других серверов только «нравится!»)"
nonSensitiveOnly: "Только безопасные"
nonSensitiveOnlyForLocalLikeOnlyForRemote: "Только безопасные (с других серверов только «нравится!»)"
reactionAcceptance: "Принятие реакций"
likeOnly: "Только лайки"
likeOnlyForRemote: "Только лайки с удалённых серверов"
nonSensitiveOnly: "Безопасный серфинг"
rolesAssignedToMe: "Мои роли"
resetPasswordConfirm: "Сбросить пароль?"
sensitiveWords: "Чувствительные слова"
sensitiveWordsDescription: "Установите общедоступный диапазон заметки, содержащей заданное слово, на домашний. Можно сделать несколько настроек, разделив их переносами строк."
sensitiveWordsDescription2: "Разделение пробелом создаёт спецификацию AND, а разделение косой чертой создаёт регулярное выражение."
prohibitedWordsDescription2: "Разделение пробелом создаёт спецификацию AND, а разделение косой чертой создаёт регулярное выражение."
notesSearchNotAvailable: "Поиск заметок недоступен"
license: "Лицензия"
unfavoriteConfirm: "Удалить избранное?"
@@ -1030,20 +1021,20 @@ noteIdOrUrl: "ID или ссылка на заметку"
video: "Видео"
videos: "Видео"
dataSaver: "Экономия трафика"
accountMigration: "Перенос учётной записи"
accountMoved: "Учётная запись перенесена"
accountMigration: "Перенести учётную запись"
accountMoved: "Учетная запись перенесена"
accountMovedShort: "Эта учётная запись перемещена"
operationForbidden: "Это действие запрещено"
operationForbidden: "Эта операция невозможна."
forceShowAds: "Всегда отображать рекламу"
addMemo: "Добавить памятку"
editMemo: "Изменить памятку"
reactionsList: "Список реакций"
addMemo: "Добавить заметку"
editMemo: "Редактировать заметку"
reactionsList: "Реакции"
renotesList: "Репосты"
notificationDisplay: "Отображение уведомлений"
leftTop: "Влево вверх"
rightTop: "Вправо вверх"
leftBottom: "Влево вниз"
rightBottom: "Вправо вниз"
notificationDisplay: "Отображение уведомления"
leftTop: "Верхний левый угол"
rightTop: "Сверху справа"
leftBottom: "Снизу слева"
rightBottom: "Снизу справа"
vertical: "Вертикальная"
horizontal: "Сбоку"
position: "Позиция"
@@ -1065,27 +1056,16 @@ options: "Настройки ролей"
specifyUser: "Указанный пользователь"
failedToPreviewUrl: "Предварительный просмотр недоступен"
update: "Обновить"
rolesThatCanBeUsedThisEmojiAsReaction: "Роли тех, кому можно использовать эти эмодзи как реакцию"
rolesThatCanBeUsedThisEmojiAsReactionEmptyDescription: "Если здесь ничего не указать, в качестве реакции эту эмодзи сможет использовать каждый."
later: "Позже"
goToMisskey: "К Misskey"
additionalEmojiDictionary: "Дополнительные словари эмодзи"
installed: "Установлено"
branding: "Бренд"
enableIdenticonGeneration: "Включить генерацию иконки пользователя"
turnOffToImprovePerformance: "Отключение этого параметра может повысить производительность."
expirationDate: "Дата истечения"
unused: "Неиспользуемый"
expired: "Срок действия приглашения истёк"
doYouAgree: "Согласны?"
icon: "Аватар"
replies: "Ответы"
renotes: "Репост"
loadReplies: "Показать ответы"
sourceCode: "Исходный код"
flip: "Переворот"
lastNDays: "Последние {n} сут"
surrender: "Этот пост не может быть отменен."
_initialAccountSetting:
accountCreated: "Аккаунт успешно создан!"
letsStartAccountSetup: "Давайте настроим вашу учётную запись."
@@ -1093,16 +1073,6 @@ _initialAccountSetting:
privacySetting: "Настройки конфиденциальности"
initialAccountSettingCompleted: "Первоначальная настройка успешно завершена!"
skipAreYouSure: "Пропустить настройку?"
_initialTutorial:
_note:
description: "Посты в Misskey называются 'Заметками.' Заметки отсортированы в хронологическом порядке в ленте и обновляются в режиме реального времени."
_timelineDescription:
home: "В персональной ленте располагаются заметки тех, на которых вы подписаны."
local: "Местная лента показывает заметки всех пользователей этого сайта."
social: "В социальной ленте собирается всё, что есть в персональной и местной лентах."
global: "В глобальную ленту попадает вообще всё со связанных инстансов."
_serverSettings:
iconUrl: "Адрес на иконку роли"
_achievements:
earnedAt: "Разблокировано в"
_types:
@@ -1454,7 +1424,6 @@ _plugin:
install: "Установка расширений"
installWarn: "Пожалуйста, не устанавливайте расширения, которым не доверяете."
manage: "Управление расширениями"
viewSource: "Просмотр исходника"
_preferencesBackups:
list: "Существующие резервные копии"
saveNew: "Создать резервную копию"
@@ -1515,6 +1484,11 @@ _wordMute:
muteWords: "Скрыть слово"
muteWordsDescription: "Пишите слова через пробел в одной строке, чтобы фильтровать их появление вместе; а если хотите фильтровать любое из них, пишите в отдельных строках."
muteWordsDescription2: "Здесь можно использовать регулярные выражения — просто заключите их между двумя дробными чертами (/)."
softDescription: "Соответствующие условиям заметки будут спрятаны из вашей ленты."
hardDescription: "Соответстующие условиям заметки вообще не будут попадать в вашу ленту. Даже если вы поменяете условия, отсеенные таким образом заметки уже не появятся."
soft: "Мягко"
hard: "Жёстко"
mutedNotes: "Скрытые заметки"
_instanceMute:
instanceMuteDescription: "Заметки и репосты с указанных здесь инстансов, а также ответы пользователям оттуда же не будут отображаться."
instanceMuteDescription2: "Пишите каждый инстанс на отдельной строке"
@@ -1578,6 +1552,9 @@ _theme:
infoFg: "Текст сообщения"
infoWarnBg: "Фон предупреждения"
infoWarnFg: "Текст предупреждения"
cwBg: "Фон предупреждения о содержимом"
cwFg: "Текст предупреждения о содержимом"
cwHoverBg: "Фон предупреждения о содержимом (под указателем)"
toastBg: "Фон оповещения"
toastFg: "Текст оповещения"
buttonBg: "Фон кнопки"
@@ -1595,6 +1572,8 @@ _sfx:
note: "Заметки"
noteMy: "Собственные заметки"
notification: "Уведомления"
chat: "Сообщения"
chatBg: "Сообщения (фон)"
antenna: "Антенна"
channel: "Канал"
_ago:
@@ -1608,22 +1587,25 @@ _ago:
monthsAgo: "{n} мес. назад"
yearsAgo: "{n} г. назад"
invalid: "Ничего нет"
_timeIn:
seconds: "Через {n} с"
minutes: "Через {n} мин"
hours: "Через {n} ч"
days: "Через {n} сут"
weeks: "Через {n} нед."
months: "Через {n} мес."
years: "Через {n} г."
_time:
second: "с"
minute: "мин"
hour: "ч"
day: "сут"
_timelineTutorial:
title: "Как пользоваться Misskey"
step1_1: "Это лицо Misskey, так называемая лента. Ваш инстанс, {name}, покажет тут все опубликованные на нём заметки в хронологическом порядке."
step1_2: "Здесь есть несколько лент. К примеру «персональная» лента отображает заметки тех, на кого вы подписаны. А «местная» — заметки тех, кого приютил {name}."
step2_1: "Что ж, теперь самое время опубликовать заметку. Если нажать вверху страницы на изображение карандаша, появится форма для текста."
step2_2: "Почему бы не написать немного о себе? Ну, или хотя бы «Привет, {name}»?"
step3_1: "Справились с первой заметкой?"
step3_2: "Отлично, теперь она должна появиться в вашей ленте."
step4_1: "А ещё здесь можно делиться своими реакциями на заметки."
step4_2: "Отмечайте реакции, нажимая на символ «+» под заметкой и выбирая значок по душе."
_2fa:
alreadyRegistered: "Двухфакторная аутентификация уже настроена."
registerTOTP: "Начните настраивать приложение-аутентификатор"
passwordToTOTP: "Пожалуйста, введите свой пароль"
step1: "Прежде всего, установите на устройство приложение для аутентификации, например, {a} или {b}."
step2: "Далее отсканируйте отображаемый QR-код при помощи приложения."
step2Click: "Нажав на QR-код, вы можете зарегистрироваться с помощью приложения для аутентификации или брелка для ключей, установленного на вашем устройстве."
@@ -1702,7 +1684,7 @@ _weekday:
_widgets:
profile: "Профиль"
instanceInfo: "Информация об инстансе"
memo: "Памятки"
memo: "Напоминания"
notifications: "Уведомления"
timeline: "Лента"
calendar: "Календарь"
@@ -1731,7 +1713,7 @@ _widgets:
clicker: "Счётчик щелчков"
_cw:
hide: "Спрятать"
show: "Показать"
show: "Показать еще"
chars: "знаков: {count}"
files: "файлов: {count}"
_poll:
@@ -1793,7 +1775,6 @@ _profile:
_exportOrImport:
allNotes: "Все заметки\n"
favoritedNotes: "Избранное"
clips: "Подборка"
followingList: "Подписки"
muteList: "Скрытые"
blockingList: "Заблокированные"
@@ -1927,7 +1908,7 @@ _notification:
app: "Уведомления из приложений"
_actions:
followBack: "отвечает взаимной подпиской"
reply: "Ответ"
reply: "Ответить"
renote: "Репост"
_deck:
alwaysShowMainColumn: "Всегда показывать главную колонку"
@@ -1967,12 +1948,3 @@ _webhookSettings:
createWebhook: "Создать вебхук"
name: "Название"
active: "Вкл."
_moderationLogTypes:
suspend: "Заморозить"
addCustomEmoji: "Добавлено эмодзи"
updateCustomEmoji: "Изменено эмодзи"
deleteCustomEmoji: "Удалено эмодзи"
resetPassword: "Сброс пароля:"
_reversi:
total: "Всего"

View File

@@ -1,2 +1 @@
---

View File

@@ -113,6 +113,7 @@ sensitive: "NSFW"
add: "Pridať"
reaction: "Reakcie"
reactions: "Reakcie"
reactionSetting: "Reakcie zobrazené vo výbere reakcií"
reactionSettingDescription2: "Ťahaním preusporiadate, kliknutím odstránite, Stlačením \"+\" pridáte"
rememberNoteVisibility: "Zapamätať nastavenia viditeľnosti poznámky"
attachCancel: "Odstrániť prílohu"
@@ -336,6 +337,7 @@ invite: "Pozvať"
driveCapacityPerLocalAccount: "Kapacita disku pre používateľa"
driveCapacityPerRemoteAccount: "Kapacita disku pre vzdialeného používateľa"
inMb: "V megabajtoch"
iconUrl: "Favicon URL"
bannerUrl: "URL obrázku bannera"
backgroundImageUrl: "URL obrázku pozadia"
basicInfo: "Základné informácie"
@@ -349,8 +351,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Zapnúť hCaptchu"
hcaptchaSiteKey: "Site key"
hcaptchaSecretKey: "Secret key"
mcaptchaSiteKey: "Site key"
mcaptchaSecretKey: "Secret key"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Zapnúť ReCAPTCHA"
recaptchaSiteKey: "Site key"
@@ -412,6 +412,7 @@ share: "Zdieľať"
notFound: "Nenájdené"
notFoundDescription: "Nenašla sa žiadna stránka na zadanej URL."
uploadFolder: "Predvolený priečinok pre nahrávanie"
cacheClear: "Vyčistiť cache"
markAsReadAllNotifications: "Označiť všetky oznámenia ako prečítané"
markAsReadAllUnreadNotes: "Označiť všetky poznámky ako prečítané"
markAsReadAllTalkMessages: "Označiť všetky správy ako prečítané"
@@ -823,6 +824,8 @@ makeReactionsPublicDescription: "Toto spraví všetky vaše minulé reakcie vidi
classic: "Klasika"
muteThread: "Ztíšiť vlákno"
unmuteThread: "Zrušiť stíšenie vlákna"
ffVisibility: "Viditeľnosť sledujúcich/sledovaných"
ffVisibilityDescription: "Umožňuje nastaviť kto vidí koho sledujete a kto vás sleduje."
continueThread: "Zobraziť pokračovanie vlákna"
deleteAccountConfirm: "Toto nezvrátiteľne vymaže váš účet. Pokračovať?"
incorrectPassword: "Nesprávne heslo."
@@ -917,11 +920,6 @@ color: "Farba"
horizontal: "Strana"
youFollowing: "Sledované"
icon: "Avatar"
replies: "Odpovedať"
renotes: "Preposlať"
sourceCode: "Zdrojový kód"
flip: "Preklopiť"
lastNDays: "Posledných {n} dní"
_role:
priority: "Priorita"
_priority:
@@ -979,7 +977,6 @@ _plugin:
install: "Inštalova pluginy"
installWarn: "Prosím neinštalujte nedôveryhodné pluginy."
manage: "Spravovanie pluginov"
viewSource: "Ukázať zdroj"
_preferencesBackups:
list: "Vytvorené zálohy"
saveNew: "Uložiť novú"
@@ -1040,6 +1037,11 @@ _wordMute:
muteWords: "Umlčané slová"
muteWordsDescription: "Medzerami oddeľte pre podmienku AND a novými riadkami pre podmienku OR."
muteWordsDescription2: "Regulárne výrazy sa použijú keď použijete okolo lomítka."
softDescription: "Skryje poznámky z časovej osi, ktoré spĺňajú podmienky."
hardDescription: "Zabráni poznámky spĺňajúce množinu podmienok, aby boli pridané do časovej osi. Navyše tieto poznámky nepribudnú v časovej osi ani keď sa podmienky zmenia."
soft: "Mäkké"
hard: "Tvrdé"
mutedNotes: "Umlčané poznámky"
_instanceMute:
instanceMuteDescription: "Toto umlčí všetky poznámky/preposlania zo zoznamu serverov, vrátane tých, na ktoré používatelia odpovedajú z umlčaného servera."
instanceMuteDescription2: "Oddeľte novými riadkami"
@@ -1103,6 +1105,9 @@ _theme:
infoFg: "Informačný text"
infoWarnBg: "Pozadie varovania"
infoWarnFg: "Text varovania"
cwBg: "CW pozadie tlačidla"
cwFg: "CW text tlačidla"
cwHoverBg: "CW pozadie tlačidla (pod kurzorom)"
toastBg: "Pozadie upozornenia"
toastFg: "Text upozornenia"
buttonBg: "Pozadie tlačidla"
@@ -1120,6 +1125,8 @@ _sfx:
note: "Poznámky"
noteMy: "Vlastná poznámka"
notification: "Oznámenia"
chat: "Chat"
chatBg: "Chat (pozadie)"
antenna: "Antény"
channel: "Upozornenia kanála"
_ago:
@@ -1288,7 +1295,6 @@ _profile:
changeBanner: "Zmeniť banner"
_exportOrImport:
allNotes: "Všetky poznámky"
clips: "Klip"
followingList: "Sledujete"
muteList: "Vypnúť zvuk"
blockingList: "Zablokovať"
@@ -1443,9 +1449,3 @@ _deck:
_webhookSettings:
name: "Názov"
active: "Zapnuté"
_moderationLogTypes:
suspend: "Zmraziť"
resetPassword: "Resetovať heslo"
_reversi:
total: "Celkom"

View File

@@ -118,6 +118,7 @@ sensitive: "Känsligt innehåll"
add: "Lägg till"
reaction: "Reaktioner"
reactions: "Reaktioner"
reactionSetting: "Reaktioner som ska visas i reaktionsväljaren"
reactionSettingDescription2: "Dra för att omordna, klicka för att radera, tryck \"+\" för att lägga till."
rememberNoteVisibility: "Komihåg notvisningsinställningar"
attachCancel: "Ta bort bilaga"
@@ -336,6 +337,7 @@ registration: "Registrera"
enableRegistration: "Aktivera registrering av nya användare"
invite: "Inbjudan"
inMb: "I megabyte"
iconUrl: "URL till profilbilden"
bannerUrl: "URL till banner-bilden"
basicInfo: "Grundläggande info"
pinnedUsers: "Fästa användare"
@@ -345,8 +347,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Aktivera hCaptcha"
hcaptchaSiteKey: "Webbplatsnyckel"
hcaptchaSecretKey: "Hemlig nyckel"
mcaptchaSiteKey: "Webbplatsnyckel"
mcaptchaSecretKey: "Hemlig nyckel"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Aktivera reCAPTCHA"
recaptchaSiteKey: "Webbplatsnyckel"
@@ -486,8 +486,6 @@ pleaseDonate: "Misskey är en gratis programvara som används på {host}. Donera
resetPasswordConfirm: "Återställ verkligen ditt lösenord?"
dataSaver: "Databesparing"
icon: "Profilbild"
replies: "Svara"
renotes: "Omnotera"
_achievements:
_types:
_open3windows:
@@ -508,8 +506,10 @@ _theme:
_sfx:
note: "Noter"
notification: "Notifikationer"
chat: "Chatt"
antenna: "Antenner"
_2fa:
passwordToTOTP: "Skriv in ditt lösenord"
renewTOTPCancel: "Nej tack"
_antennaSources:
all: "Alla noter"
@@ -573,7 +573,3 @@ _deck:
_webhookSettings:
name: "Namn"
active: "Aktiverad"
_moderationLogTypes:
suspend: "Suspendera"
resetPassword: "Återställ Lösenord"

File diff suppressed because it is too large Load Diff

View File

@@ -9,7 +9,6 @@ notifications: "Bildirim"
username: "Kullanıcı Adı"
password: "Şifre"
forgotPassword: "şifremi unuttum"
fetchingAsApObject: "從聯邦宇宙取得中..."
ok: "TAMAM"
gotIt: "Anladım"
cancel: "İptal"
@@ -45,7 +44,6 @@ pin: "Sabitlenmiş"
unpin: "Sabitlemeyi kaldır"
copyContent: "İçeriği kopyala"
copyLink: "Bağlantıyı Kopyala"
copyLinkRenote: "Turkish"
delete: "Sil"
deleteAndEdit: "Sil ve yeniden düzenle"
deleteAndEditConfirm: "Bu notu silip yeniden düzenlemek istiyor musunuz? Bu nota ilişkin tüm Tepkiler, Yeniden Notlar ve Yanıtlar da silinecektir."
@@ -121,6 +119,7 @@ sensitive: "Hassas içerik"
add: "Ekle"
reaction: "Tepkiler"
reactions: "Tepkiler"
reactionSetting: "Palette görünecek tepkiler"
reactionSettingDescription2: "Sıralamak için sürükleyin, silmek için tıklayın, eklemek için \"+\" tuşuna tıklayın."
rememberNoteVisibility: "Görünürlük ayarlarını hatırla"
attachCancel: "Eki sil"
@@ -156,7 +155,6 @@ addEmoji: "Emoji ekle"
settingGuide: "Önerilen ayarlar"
cacheRemoteFiles: "Uzak dosyalar ön belleğe alınsın"
cacheRemoteFilesDescription: "Bu ayar açık olduğunda diğer sitelerin dosyaları doğrudan uzak sunucudan yüklenecektir. Bu ayarı kapatmak depolama kullanımını azaltacak ama küçük resimler oluşturulmadığından trafiği arttıracaktır."
youCanCleanRemoteFilesCache: ""
cacheRemoteSensitiveFiles: "Hassas uzak dosyalar ön belleğe alınsın"
cacheRemoteSensitiveFilesDescription: "Bu ayar kapalı olduğunda hassas uzak dosyalar ön belleğe alınmadan doğrudan uzak sunucudan yüklenecektir."
flagAsBot: "Bot olarak işaretle"
@@ -194,7 +192,6 @@ perHour: "Saatlik"
perDay: "Günlük"
stopActivityDelivery: "Durum güncellemelerini gönderme"
blockThisInstance: "Bu sunucuyu engelle"
silenceThisInstance: ""
operations: "İşlemler"
software: "Yazılımlar"
version: "Sürüm"
@@ -214,8 +211,6 @@ clearCachedFiles: "Ön belleği temizle"
clearCachedFilesConfirm: "Ön belleğe alınmış tüm uzak sunucu dosyaları silinsin mi?"
blockedInstances: "Engellenen sunucular"
blockedInstancesDescription: "Engellemek istediğiniz sunucuların alan adlarını satır sonlarıyla ayırarak yazın. Yazılan sunucular bu sunucuyla iletişime geçemeyecek."
silencedInstances: "Turkısh"
silencedInstancesDescription: ""
muteAndBlock: "Susturma ve Engelleme"
mutedUsers: "Susturulan kullanıcılar"
blockedUsers: "Engellenen kullanıcılar"
@@ -376,8 +371,6 @@ noRole: "Rol bulunamadı"
color: "Renk"
addMemo: "Kısa not ekle"
icon: "Avatar"
replies: "yanıt"
renotes: "vazgeçme"
_accountDelete:
started: "Silme işlemi başlatıldı"
_email:
@@ -391,6 +384,7 @@ _theme:
_sfx:
note: "notlar"
notification: "Bildirim"
chat: "Mesajlar"
_2fa:
renewTOTPCancel: "Hayır, teşekkürler"
_permissions:
@@ -452,7 +446,3 @@ _deck:
tl: "Zaman çizelgesi"
list: "Listeler"
mentions: "Bahsetmeler"
_moderationLogTypes:
suspend: "askıya al"
resetPassword: "Şifre sıfırlama"

View File

@@ -1,20 +1,4 @@
---
_lang_: "ياپونچە"
headlineMisskey: "خاتىرە ئارقىلىق ئۇلانغان تور"
monthAndDay: "{day}-{month}"
search: "ئىزدەش"
ok: "ماقۇل"
noThankYou: "ئۇنى توختىتىڭ"
profile: "profile"
login: "كىرىش"
loggingIn: "كىرىش"
pin: "pinned"
delete: "ئۆچۈرۈش"
pinned: "pinned"
remove: "ئۆچۈرۈش"
searchByGoogle: "ئىزدەش"
_2fa:
renewTOTPCancel: "ئۇنى توختىتىڭ"
_widgets:
profile: "profile"

View File

@@ -55,7 +55,6 @@ copyRSS: "Скопіювати RSS"
copyUsername: "Скопіювати ім’я користувача"
copyUserId: "Копіювати ID користувача"
copyNoteId: "блокнот ID користувача"
copyFileId: "Скопіювати ідентифікатор файлу."
searchUser: "Пошук користувачів"
reply: "Відповісти"
loadMore: "Показати більше"
@@ -116,6 +115,7 @@ sensitive: "NSFW"
add: "Додати"
reaction: "Реакції"
reactions: "Реакції"
reactionSetting: "Налаштування реакцій"
reactionSettingDescription2: "Перемістити щоб змінити порядок, Клацнути мишою щоб видалити, Натиснути \"+\" щоб додати."
rememberNoteVisibility: "Пам’ятати параметри видимісті"
attachCancel: "Видалити вкладення"
@@ -133,7 +133,6 @@ unblockConfirm: "Ви впевнені, що хочете розблокуват
suspendConfirm: "Ви впевнені, що хочете призупинити цей акаунт?"
unsuspendConfirm: "Ви впевнені, що хочете відновити цей акаунт?"
selectList: "Виберіть список"
editList: "Редагувати список."
selectChannel: "Виберіть канал"
selectAntenna: "Виберіть антену"
selectWidget: "Виберіть віджет"
@@ -339,6 +338,7 @@ invite: "Запросити"
driveCapacityPerLocalAccount: "Об'єм диска на одного локального користувача"
driveCapacityPerRemoteAccount: "Об'єм диска на одного віддаленого користувача"
inMb: "В мегабайтах"
iconUrl: "URL аватара"
bannerUrl: "URL банера"
backgroundImageUrl: "URL-адреса фонового зображення"
basicInfo: "Основна інформація"
@@ -352,8 +352,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Увімкнути hCaptcha"
hcaptchaSiteKey: "Ключ сайту"
hcaptchaSecretKey: "Секретний ключ"
mcaptchaSiteKey: "Ключ сайту"
mcaptchaSecretKey: "Секретний ключ"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Увімкнути reCAPTCHA"
recaptchaSiteKey: "Ключ сайту"
@@ -411,6 +409,7 @@ share: "Поділитись"
notFound: "Не знайдено"
notFoundDescription: "Сторінка за вказаною адресою не знайдена."
uploadFolder: "Місце для завантаження за замовчуванням"
cacheClear: "Очистити кеш"
markAsReadAllNotifications: "Позначити всі сповіщення як прочитані"
markAsReadAllUnreadNotes: "Позначити всі нотатки як прочитані"
markAsReadAllTalkMessages: "Позначити всі повідомлення як прочитані"
@@ -451,7 +450,6 @@ or: "або"
language: "Мова"
uiLanguage: "Мова інтерфейсу"
aboutX: "Про {x}"
native: "місцевий"
disableDrawer: "Не використовувати висувні меню"
noHistory: "Історія порожня"
signinHistory: "Історія входів"
@@ -530,8 +528,6 @@ output: "Вихід"
script: "Скрипт"
disablePagesScript: "Вимкнути AiScript на Сторінках"
updateRemoteUser: "Оновити інформацію про віддаленого користувача"
unsetUserAvatar: "Деактивувати піктограму."
unsetUserBanner: "Випустити прапор."
deleteAllFiles: "Видалити всі файли"
deleteAllFilesConfirm: "Ви дійсно хочете видалити всі файли?"
removeAllFollowing: "Скасувати всі підписки"
@@ -819,6 +815,7 @@ makeReactionsPublicDescription: "Це зробить список усіх ва
classic: "Класичний"
muteThread: "Приглушити тред"
unmuteThread: "Скасувати глушіння"
ffVisibility: "Видимість підписок/підписників"
continueThread: "Показати продовження треду"
deleteAccountConfirm: "Це незворотно видалить ваш акаунт. Продовжити?"
incorrectPassword: "Неправильний пароль."
@@ -909,11 +906,6 @@ letsLookAtTimeline: "Перегляд історії"
horizontal: "Збоку"
youFollowing: "Підписки"
icon: "Аватар"
replies: "Відповісти"
renotes: "Поширити"
sourceCode: "Вихідний код"
flip: "Перевернути"
lastNDays: "Останні {n} днів"
_achievements:
earnedAt: "Відкрито"
_types:
@@ -1187,7 +1179,6 @@ _plugin:
install: "Встановити плагін"
installWarn: "Будь ласка, не встановлюйте плагінів, яким ви не довіряєте."
manage: "Керування плагінами"
viewSource: "Переглянути вихідний код"
_preferencesBackups:
list: "Створені бекапи"
saveNew: "Зберегти як новий"
@@ -1240,6 +1231,11 @@ _wordMute:
muteWords: "Заглушені слова"
muteWordsDescription: "Розділення ключових слів пробілами для \"І\" або з нової лінійки для \"АБО\""
muteWordsDescription2: "Для використання RegEx, ключові слова потрібно вписати поміж слешів \"/\"."
softDescription: "Приховати записи які відповідають критеріям зі стрічки подій."
hardDescription: "Приховати записи які відповідають критеріям зі стрічки подій. Також приховані записи не будуть додані до стрічки подій навіть якщо критерії буде змінено."
soft: "М'яко"
hard: "Жорстко"
mutedNotes: "Заблоковані нотатки"
_instanceMute:
instanceMuteDescription2: "Розділяйте новими рядками"
title: "Приховує нотатки з перелічених інстансів."
@@ -1297,6 +1293,9 @@ _theme:
infoFg: "Текст інформації"
infoWarnBg: "Фон попередження"
infoWarnFg: "Текст попередження"
cwBg: "Фон чутливого змісту"
cwFg: "Текст чутливого змісту"
cwHoverBg: "Фон чутливого змісту (при наведенні)"
toastBg: "Фон повідомлення"
toastFg: "Текст повідомлення"
buttonBg: "Фон кнопки"
@@ -1314,6 +1313,8 @@ _sfx:
note: "Нотатки"
noteMy: "Мої нотатки"
notification: "Сповіщення"
chat: "Чати"
chatBg: "Чати (фон)"
antenna: "Прийом антени"
channel: "Повідомлення каналу"
_ago:
@@ -1472,7 +1473,6 @@ _profile:
changeBanner: "Змінити банер"
_exportOrImport:
allNotes: "Всі нотатки"
clips: "Добірка"
followingList: "Підписки"
muteList: "Ігнорувати"
blockingList: "Заблокувати"
@@ -1618,9 +1618,3 @@ _deck:
_webhookSettings:
name: "Ім'я"
active: "Увімкнено"
_moderationLogTypes:
suspend: "Призупинити"
resetPassword: "Скинути пароль"
_reversi:
total: "Всього"

View File

@@ -120,6 +120,7 @@ sensitive: "Sezuvchan"
add: "Qo'shish"
reaction: "Reaktsiyalar"
reactions: "Reaktsiyalar"
reactionSetting: "Reaksiyalar ro'yxati"
reactionSettingDescription2: "Qayta tartiblash uchun ushlab turib siljiting, oʻchirish uchun bosing, qoʻshish uchun “+” tugmasini bosing."
rememberNoteVisibility: "Qaydning ko'rinish sozlamarini eslab qolish"
attachCancel: "Qo'shimchani olib tashlash"
@@ -354,6 +355,7 @@ invite: "Taklif qilish"
driveCapacityPerLocalAccount: "Har bir mahalliy foydalanuvchi uchun disk maydoni"
driveCapacityPerRemoteAccount: "Har bir masofaviy foydalanuvchi uchun disk maydoni"
inMb: "Megabaytlarda"
iconUrl: "Ikonkaning URL manzili (masalan: favicon)"
bannerUrl: "Banner URLi"
backgroundImageUrl: "Fon rasmi URL manzili"
basicInfo: "Asosiy ma'lumot"
@@ -366,8 +368,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "hCaptchani yoqish"
hcaptchaSiteKey: "Sayt kaliti"
hcaptchaSecretKey: "Mahfiy kalit"
mcaptchaSiteKey: "Sayt kaliti"
mcaptchaSecretKey: "Maxfiy kalit"
recaptcha: "reCAPTCHA"
enableRecaptcha: "reCAPTCHA ni yoqish"
recaptchaSiteKey: "Sayt kaliti"
@@ -429,6 +429,7 @@ share: "Yuborish"
notFound: "Topilmadi"
notFoundDescription: "Ushbu sahifa topilmadi"
uploadFolder: "Jildni yuklash"
cacheClear: "Keshni tozalash"
markAsReadAllNotifications: "Bildirishnomalarni o'qilgan deb belgilash"
markAsReadAllUnreadNotes: "Barch xabarlarni oq'ilgan deb belgilash"
markAsReadAllTalkMessages: "Barcha suhbatlarni o'qilgan deb belgilang"
@@ -843,9 +844,6 @@ rolesAssignedToMe: "Mening rollarim"
resetPasswordConfirm: "Qayta parol o'rnatmoqchimisiz?"
sensitiveWords: "Ta'sirchan so'zlar"
icon: "Avatar"
replies: "Javob berish"
renotes: "Qayta qayd etish"
flip: "Teskari"
_achievements:
_types:
_viewInstanceChart:
@@ -911,6 +909,7 @@ _theme:
_sfx:
note: "Qaydlar"
notification: "Xabarnomalar"
chat: "Suhbat"
_ago:
minutesAgo: "{n} daqiqa oldin"
hoursAgo: "{n} soat oldin"
@@ -975,7 +974,6 @@ _profile:
changeBanner: "Bannerni o'zgartirish"
_exportOrImport:
allNotes: "Barcha qaydlar"
clips: "Klip"
followingList: "Obuna bolish"
muteList: "Ovozni ochirish"
blockingList: "Bloklangan foydalanuvchilar"
@@ -1085,9 +1083,3 @@ _webhookSettings:
_events:
renote: "Qayta qayd qilinganda"
mention: "Eslanganda"
_moderationLogTypes:
suspend: "To'xtatish"
resetPassword: "Parolni tiklash"
_reversi:
total: "Jami"

View File

@@ -1,5 +1,5 @@
---
_lang_: "Tiếng Nhật"
_lang_: "Tiếng Việt"
headlineMisskey: "Mạng xã hội liên hợp"
introMisskey: "Xin chào! Misskey 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>Misskey</b> là nền tảng mã nguồn mở"
@@ -45,7 +45,6 @@ pin: "Ghim"
unpin: "Bỏ ghim"
copyContent: "Chép nội dung"
copyLink: "Chép liên kết"
copyLinkRenote: "Sao chép liên kết ghi chú"
delete: "Xóa"
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."
@@ -121,6 +120,7 @@ sensitive: "Nhạy cảm"
add: "Thêm"
reaction: "Biểu cảm"
reactions: "Biểu cảm"
reactionSetting: "Chọn những biểu cảm hiển thị"
reactionSettingDescription2: "Kéo để sắp xếp, nhấn để xóa, nhấn \"+\" để thêm."
rememberNoteVisibility: "Lưu kiểu tút mặc định"
attachCancel: "Gỡ tập tin đính kèm"
@@ -156,7 +156,6 @@ addEmoji: "Thêm emoji"
settingGuide: "Cài đặt đề xuất"
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."
youCanCleanRemoteFilesCache: "Bạn có thể xoá bộ nhớ đệm bằng cách nhấn vào nút🗑ở trong phần quản lý tệp."
cacheRemoteSensitiveFiles: "Lưu các tập tin nhạy cảm vào bộ nhớ tạm từ xa"
cacheRemoteSensitiveFilesDescription: "Khi bạn tắt tính năng này, các tệp nhạy cảm sẽ được tải trực tiếp từ máy chủ và không được lưu vào bộ nhớ tạm"
flagAsBot: "Đánh dấu đây là tài khoản bot"
@@ -355,6 +354,7 @@ invite: "Mời"
driveCapacityPerLocalAccount: "Dung lượng ổ đĩa tối đa cho mỗi người dùng"
driveCapacityPerRemoteAccount: "Dung lượng ổ đĩa tối đa cho mỗi người dùng từ xa"
inMb: "Tính bằng MB"
iconUrl: "URL Icon"
bannerUrl: "URL Ảnh bìa"
backgroundImageUrl: "URL Ảnh nền"
basicInfo: "Thông tin cơ bản"
@@ -368,8 +368,6 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Bật hCaptcha"
hcaptchaSiteKey: "Khóa của trang"
hcaptchaSecretKey: "Khóa bí mật"
mcaptchaSiteKey: "Khóa của trang"
mcaptchaSecretKey: "Khóa bí mật"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Bật reCAPTCHA"
recaptchaSiteKey: "Khóa của trang"
@@ -412,13 +410,10 @@ aboutMisskey: "Về Misskey"
administrator: "Quản trị viên"
token: "Token"
2fa: "Xác thực 2 yếu tố"
setupOf2fa: "Thiết lập 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"
moderationNote: "Ghi chú kiểm duyệt"
addModerationNote: "Thêm ghi chú 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"
@@ -434,6 +429,7 @@ share: "Chia sẻ"
notFound: "Không tìm thấy"
notFoundDescription: "Không tìm thấy trang nào tương ứng với URL này."
uploadFolder: "Thư mục tải lên mặc định"
cacheClear: "Xóa bộ nhớ đệm"
markAsReadAllNotifications: "Đánh dấu tất cả các thông báo là đã đọc"
markAsReadAllUnreadNotes: "Đánh dấu tất cả các tút là đã đọc"
markAsReadAllTalkMessages: "Đánh dấu tất cả các tin nhắn là đã đọc"
@@ -859,6 +855,8 @@ makeReactionsPublicDescription: "Điều này sẽ hiển thị công khai danh
classic: "Cổ điển"
muteThread: "Không quan tâm nữa"
unmuteThread: "Quan tâm tút này"
ffVisibility: "Hiển thị Theo dõi/Người theo dõi"
ffVisibilityDescription: "Quyết định ai có thể xem những người bạn theo dõi và những người theo dõi bạn."
continueThread: "Tiếp tục xem chuỗi tút"
deleteAccountConfirm: "Điều này sẽ khiến tài khoản bị xóa vĩnh viễn. Vẫn tiếp tục?"
incorrectPassword: "Sai mật khẩu."
@@ -991,98 +989,9 @@ 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"
emailNotSupported: "Máy chủ này không hỗ trợ gửi email"
postToTheChannel: "Đăng lên kênh"
cannotBeChangedLater: "Không thể thay đổi sau này."
rolesAssignedToMe: "Vai trò được giao cho tôi"
resetPasswordConfirm: "Bạn thực sự muốn đặt lại mật khẩu?"
sensitiveWords: "Các từ nhạy cảm"
license: "Giấy phép"
unfavoriteConfirm: "Bạn thực sự muốn xoá khỏi mục yêu thích?"
retryAllQueuesConfirmText: "Điều này sẽ tạm thời làm tăng mức độ tải của máy chủ."
enableChartsForRemoteUser: "Tạo biểu đồ người dùng từ xa"
video: "Video"
videos: "Các video"
dataSaver: "Tiết kiệm dung lượng"
accountMigration: "Chuyển tài khoản"
accountMoved: "Người dùng này đã chuyển sang một tài khoản mới:"
accountMovedShort: "Tài khoản này đã được chuyển"
operationForbidden: "Thao tác này không thể thực hiện"
forceShowAds: "Luôn hiện quảng cáo"
notificationDisplay: "Thông báo"
leftTop: "Phía trên bên tráí"
rightTop: "Phía trên bên phải"
leftBottom: "Phía dưới bên trái"
rightBottom: "Phía dưới bên phải"
stackAxis: "Hướng chồng"
vertical: "Dọc"
horizontal: "Thanh bên"
position: "Vị trí"
serverRules: "Luật của máy chủ"
youFollowing: "Đang theo dõi"
later: "Để sau"
goToMisskey: "Tới Misskey"
installed: "Đã tải xuống"
branding: "Thương hiệu"
turnOffToImprovePerformance: "Tắt mục này có thể cải thiện hiệu năng."
expirationDate: "Ngày hết hạn"
noExpirationDate: "Vô thời hạn"
waitingForMailAuth: "Đang chờ xác nhận email"
unused: "Chưa được sử dụng"
used: "Đã được sử dụng"
expired: "Đã hết hạn"
doYouAgree: "Đồng ý?"
iHaveReadXCarefullyAndAgree: "Tôi đã đọc và đồng ý với \"x\"."
dialog: "Hộp thoại"
icon: "Ảnh đại diện"
forYou: "Dành cho bạn"
currentAnnouncements: "Thông báo hiện tại"
pastAnnouncements: "Thông báo trước đó"
youHaveUnreadAnnouncements: "Có thông báo chưa đọc."
replies: "Trả lời"
renotes: "Đăng lại"
loadReplies: "Hiển thị các trả lời"
pinnedList: "Các mục đã được ghim"
keepScreenOn: "Giữ màn hình luôn bật"
verifiedLink: "Chúng tôi đã xác nhận bạn là chủ sở hữu của đường dẫn này"
sourceCode: "Mã nguồn"
flip: "Lật"
lastNDays: "{n} ngày trước"
surrender: "Từ chối"
_announcement:
forExistingUsers: "Chỉ những người dùng đã tồn tại"
forExistingUsersDescription: "Nếu được bật, thông báo này sẽ chỉ hiển thị với những người dùng đã tồn tại vào lúc thông báo được tạo. Nếu tắt đi, những tài khoản mới đăng ký sau khi thông báo được đăng lên cũng sẽ thấy nó."
end: "Lưu trữ thông báo"
tooManyActiveAnnouncementDescription: "Có quá nhiều thông báo sẽ làm trải nghiệm của người dùng tệ đi. Vui lòng lưu trữ những thông báo đã hết hiệu lực."
readConfirmTitle: "Đánh dấu là đã đọc?"
readConfirmText: "Điều này sẽ đánh dấu nội dung của \"{title}\" là đã đọc."
_initialAccountSetting:
accountCreated: "Tài khoản của bạn đã được tạo thành công!"
letsStartAccountSetup: "Để bắt đầu, hãy cùng thiết lập tài khoản nhé."
letsFillYourProfile: "Đầu tiên, hãy thiết lập hồ sơ của bạn."
profileSetting: "Thiết lập hồ sơ"
privacySetting: "Cài đặt quyền riêng tư"
theseSettingsCanEditLater: "Bạn vẫn có thể thay đổi những cài đặt này."
youCanEditMoreSettingsInSettingsPageLater: "Còn rất nhiều những cài đặt khác bạn có thể thay đổi ở trang \"Cài đặt\". Hãy nhớ ghé thăm trong lần sau nhé."
followUsers: "Thử theo dõi một vài người mà bạn có thể thích để xây dựng dòng thời gian của mình."
pushNotificationDescription: "Bật thông báo đẩy sẽ cho phép bạn nhận thông báo từ {name} trực tiếp từ thiết bị của bạn."
initialAccountSettingCompleted: "Thiết lập tài khoản thành công!"
haveFun: "Hãy tận hưởng {name} nhé!"
skipAreYouSure: "Bạn thực sự muốn bỏ qua mục thiết lập tài khoản?"
laterAreYouSure: "Bạn thực sự muốn thiết lập tài khoản vào lúc khác?"
_serverSettings:
iconUrl: "Biểu tượng URL"
appIconResolutionMustBe: "Độ phân giải tối thiểu là {resolution}."
manifestJsonOverride: "Ghi đè manifest.json"
_accountMigration:
moveFrom: "Chuyển một tài khoản khác vào tài khoản này"
moveFromLabel: "Tài khoản gốc #{n}"
moveTo: "Chuyển tài khoản này vào một tài khoản khác"
moveCannotBeUndone: "Việc chuyển tài khoản không thể huỷ."
moveAccountDescription: "Điều này sẽ chuyển tài khoản này sang một tài khoản khác.\n ・Những người theo dõi sẽ tự động được chuyển sang tài khoản mới\n ・Tài khoản này sẽ tự bỏ theo dõi những người mà bạn đã theo dõi trước đây\n ・Bạn sẽ không thể đăng tút mới, v.v trên tài khoản này\n\nDù việc chuyển người theo dõi được diễn ra tự động, bạn vẫn phải tự chuẩn bị một vài bước để chuyển danh sách những người dùng bạn đang theo dõi. Để làm vậy, vui lòng thực hiện việc xuất dữ liệu những người dùng đã theo dõi mà sau này bạn sẽ dùng để nhập vào tài khoản mới ở menu Cài đặt. Hành động tương tự áp dụng với danh sách những người dùng bị chặn hoặc tắt tiếng.\n\n(Điều này áp dụng cho phiên bản Misskey v13.12.0 và sau này. Các phần mềm ActivityPub khác , ví dụ như Mastodon, sẽ có thể hoạt động khác đi.)"
startMigration: "Chuyển"
movedAndCannotBeUndone: "\nTài khoản này đã được chuyển đi.\nViệc di chuyển tài khoản không thể bị huỷ bỏ."
movedTo: "Tài khoản mới:"
_achievements:
earnedAt: "Ngày thu nhận"
_types:
@@ -1121,8 +1030,6 @@ _achievements:
title: "Hàng tinh đăng bài"
description: "Đã đăng bài 50,000 lần rồi"
_notes100000:
title: "ALL YOUR NOTE ARE BELONG TO US"
description: "Đăng 100,000 tút"
flavor: "Liệu viết bài gì tầm này vậy? "
_login3:
title: "Sơ cấp I"
@@ -1154,15 +1061,6 @@ _achievements:
_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"
_login1000:
flavor: "Cảm ơn bạn đã sử dụng Misskey!"
_noteFavorited1:
title: "Nhà thiên văn học"
_myNoteFavorited1:
title: "Đi tìm những ngôi sao"
_profileFilled:
title: "Luôn sẵn sàng"
description: "Thiết lập tài khoản của bạn"
_markedAsCat:
title: "Tôi là một con mèo"
description: "Bật chế độ mèo"
@@ -1188,18 +1086,8 @@ _achievements:
_followers10:
title: "FOLLOW ME!!"
description: "Người theo dõi bạn vượt lên 10 người"
_followers50:
title: "Từng chút một"
description: "Đạt được 50 lượt theo dõi"
_followers100:
title: "Người nổi tiếng"
description: "Đạt được 100 lượt theo dõi"
_followers300:
title: "Vui lòng xếp thành hàng nào"
description: "Đạt được 300 lượt theo dõi"
_followers500:
title: "Trạm phát sóng"
description: "Đạt được 500 lượt theo dõi"
_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"
@@ -1218,15 +1106,11 @@ _achievements:
description: "Tìm thấy được những kho báu cất giấu"
_client30min:
title: "Giải lao xỉu"
description: "Giữ Misskey mở trong ít nhất 30 phút"
_client60min:
description: "Giữ Misskey mở trong ít nhất 60 phút"
_noteDeletedWithin1min:
title: "Xem như không có gì đâu nha"
_postedAtLateNight:
title: "Loài ăn đêm"
description: "Đăng bài trong đêm khuya "
flavor: "Đến giờ đi ngủ rồi."
_postedAt0min0sec:
title: "Tín hiệu báo giờ"
description: "Đăng bài vào 0 phút 0 giây"
@@ -1257,8 +1141,6 @@ _achievements:
_setNameToSyuilo:
title: "Ngưỡng mộ với vị thần"
description: "Đạt tên là syuilo"
_passedSinceAccountCreated1:
title: "Kỷ niệm một năm"
_loggedInOnBirthday:
title: "Sinh nhật vủi vẻ"
description: "Đăng nhập vào ngày sinh"
@@ -1344,7 +1226,6 @@ _plugin:
install: "Cài đặt tiện ích"
installWarn: "Vui lòng không cài đặt những tiện ích đáng ngờ."
manage: "Quản lý plugin"
viewSource: "Xem mã nguồn"
_preferencesBackups:
list: "Tạo sao lưu"
saveNew: "Lưu bản sao lưu"
@@ -1405,6 +1286,11 @@ _wordMute:
muteWords: "Ẩn từ ngữ"
muteWordsDescription: "Separate with spaces for an AND condition or with line breaks for an OR condition."
muteWordsDescription2: "Bao quanh các từ khóa bằng dấu gạch chéo để sử dụng cụm từ thông dụng."
softDescription: "Ẩn các tút phù hợp điều kiện đã đặt khỏi bảng tin."
hardDescription: "Ngăn các tút đáp ứng các điều kiện đã đặt xuất hiện trên bảng tin. Lưu ý, những tút này sẽ không được thêm vào bảng tin ngay cả khi các điều kiện được thay đổi."
soft: "Yếu"
hard: "Mạnh"
mutedNotes: "Những tút đã ẩn"
_instanceMute:
instanceMuteDescription: "Thao tác này sẽ ẩn mọi tút/lượt đăng lại từ các máy chủ được liệt kê, bao gồm cả những tút dạng trả lời từ máy chủ bị ẩn."
instanceMuteDescription2: "Tách bằng cách xuống dòng"
@@ -1468,6 +1354,9 @@ _theme:
infoFg: "Chữ thông tin"
infoWarnBg: "Nền cảnh báo"
infoWarnFg: "Chữ cảnh báo"
cwBg: "Nền nút nội dung ẩn"
cwFg: "Chữ nút nội dung ẩn"
cwHoverBg: "Nền nút nội dung ẩn (Chạm)"
toastBg: "Nền thông báo"
toastFg: "Chữ thông báo"
buttonBg: "Nền nút"
@@ -1485,6 +1374,8 @@ _sfx:
note: "Tút"
noteMy: "Tút của tôi"
notification: "Thông báo"
chat: "Trò chuyện"
chatBg: "Chat (Nền)"
antenna: "Trạm phát sóng"
channel: "Kênh"
_ago:
@@ -1503,9 +1394,13 @@ _time:
minute: "phút"
hour: "giờ"
day: "ngày"
_timelineTutorial:
step4_1: "Bạn có thể thêm \"Reaction\" vào ghi chú"
step4_2: "Khi thêm biểu cảm hãy nhấn dấu \"+\""
_2fa:
alreadyRegistered: "Bạn đã đăng ký thiết bị xác minh 2 bước."
registerTOTP: "Đăng ký ứng dụng xác thực"
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."
step2Click: "Quét mã QR trên ứng dụng xác thực (Authy, Google authenticator, v.v.)"
@@ -1674,7 +1569,6 @@ _profile:
_exportOrImport:
allNotes: "Toàn bộ tút"
favoritedNotes: "Bài viết đã thích"
clips: "Lưu bài viết"
followingList: "Đang theo dõi"
muteList: "Ẩn"
blockingList: "Chặn"
@@ -1849,9 +1743,3 @@ _webhookSettings:
_events:
reaction: "Khi nhận được sự kiện"
mention: "Khi có người nhắc tới bạn"
_moderationLogTypes:
suspend: "Vô hiệu hóa"
resetPassword: "Đặt lại mật khẩu"
_reversi:
total: "Tổng cộng"

View File

@@ -11,7 +11,7 @@ password: "密码"
forgotPassword: "忘记密码"
fetchingAsApObject: "在联邦宇宙查询中..."
ok: "OK"
gotIt: ""
gotIt: "我明白了"
cancel: "取消"
noThankYou: "不用,谢谢"
enterUsername: "输入用户名"
@@ -121,21 +121,15 @@ sensitive: "敏感内容"
add: "添加"
reaction: "回应"
reactions: "回应"
emojiPicker: "表情符号选择器"
pinnedEmojisForReactionSettingDescription: "可以设置发表回应时置顶显示的表情符号"
pinnedEmojisSettingDescription: "可以设置输入表情符号时置顶显示的表情符号"
emojiPickerDisplay: "选择器显示设置"
overwriteFromPinnedEmojisForReaction: "从「置顶(回应)」设置覆盖"
overwriteFromPinnedEmojis: "从全局设置覆盖"
reactionSetting: "在选择器中显示回应"
reactionSettingDescription2: "拖动重新排序,单击删除,点击 + 添加。"
rememberNoteVisibility: "保存上次设置的可见性"
attachCancel: "删除附件"
deleteFile: "删除文件"
markAsSensitive: "标记为敏感内容"
unmarkAsSensitive: "取消标记为敏感内容"
enterFileName: "输入文件名"
mute: "屏蔽"
unmute: "解除静音"
unmute: "解除屏蔽"
renoteMute: "屏蔽转帖"
renoteUnmute: "解除屏蔽转帖"
block: "拉黑"
@@ -201,7 +195,6 @@ perHour: "每小时"
perDay: "每天"
stopActivityDelivery: "停止发送活动"
blockThisInstance: "阻止此服务器向本服务器推流"
silenceThisInstance: "使服务器静音"
operations: "操作"
software: "软件"
version: "版本"
@@ -216,15 +209,13 @@ instanceInfo: "服务器信息"
statistics: "统计"
clearQueue: "清除队列"
clearQueueConfirmTitle: "确定清除队列?"
clearQueueConfirmText: "未送达的帖子将不会投递。 通常无需执行此操作。"
clearQueueConfirmText: "未送达的帖子将不会投递。 通常,您不需要这样做。"
clearCachedFiles: "清除缓存"
clearCachedFilesConfirm: "确定要清除所有缓存的远程文件?"
clearCachedFilesConfirm: "确定要清除缓存文件?"
blockedInstances: "被封锁的服务器"
blockedInstancesDescription: "设定要封锁的服务器,以换行来进行分割。被封锁的服务器将无法与本服务器进行交换通讯。子域名也同样会被封锁。"
silencedInstances: "被静音的服务器"
silencedInstancesDescription: "设置要静音的服务器,以换行符分隔。被静音的服务器内所有的账户将默认处于「静音」状态,仅能发送关注请求,并且在未关注状态下无法提及本地账户。被阻止的实例不受影响。"
muteAndBlock: "静音/拉黑"
mutedUsers: "已静音用户"
muteAndBlock: "屏蔽/拉黑"
mutedUsers: "已屏蔽用户"
blockedUsers: "已拉黑的用户"
noUsers: "无用户"
editProfile: "编辑资料"
@@ -267,7 +258,6 @@ removed: "已删除"
removeAreYouSure: "要删掉「{x}」吗?"
deleteAreYouSure: "要删掉「{x}」吗?"
resetAreYouSure: "恢复默认设置?"
areYouSure: "你确定吗?"
saved: "已保存"
messaging: "聊天"
upload: "本地上传"
@@ -318,7 +308,6 @@ folderName: "文件夹名称"
createFolder: "创建文件夹"
renameFolder: "重命名文件夹"
deleteFolder: "删除文件夹"
folder: "文件夹"
addFile: "添加文件"
emptyDrive: "网盘中无文件"
emptyFolder: "此文件夹中无文件"
@@ -336,7 +325,7 @@ displayOfSensitiveMedia: "显示敏感媒体"
whenServerDisconnected: "与服务器连接中断时"
disconnectedFromServer: "已和服务器断开连接"
reload: "重新加载"
doNothing: "关闭"
doNothing: "关闭弹窗"
reloadConfirm: "确定要重新加载吗?"
watch: "关注"
unwatch: "取消关注"
@@ -360,13 +349,14 @@ connectService: "连接"
disconnectService: "断开连接"
enableLocalTimeline: "启用本地时间线"
enableGlobalTimeline: "启用全局时间线"
disablingTimelinesInfo: "即使时间线功能被禁用,出于方便,管理员和监察员也可以继续使用。"
disablingTimelinesInfo: "即使时间线功能被禁用,出于方便,管理员和协作者也可以继续使用。"
registration: "注册"
enableRegistration: "允许任何人注册"
invite: "邀请"
driveCapacityPerLocalAccount: "每个用户的网盘容量"
driveCapacityPerRemoteAccount: "每个远程用户的网盘容量"
inMb: "以兆字节(MegaByte)为单位"
iconUrl: "图标 URL"
bannerUrl: "横幅 URL"
backgroundImageUrl: "背景图 URL"
basicInfo: "基本信息"
@@ -380,20 +370,15 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "启用 hCaptcha"
hcaptchaSiteKey: "网站密钥"
hcaptchaSecretKey: "hCaptcha 密钥(SecretKey)"
mcaptcha: "mCaptcha"
enableMcaptcha: "启用 mCaptcha"
mcaptchaSiteKey: "网站密钥"
mcaptchaSecretKey: "mCaptcha 密钥(SecretKey)"
mcaptchaInstanceUrl: "mCaptcha 实例地址"
recaptcha: "reCAPTCHA"
enableRecaptcha: "启用 reCAPTCHA\n(请注意, 此功能在中国大陆不可用. 如果启用, 可能导致无法正常使用登录或注册等功能)"
recaptchaSiteKey: "网站密钥"
recaptchaSecretKey: "mCaptcha 密钥(SecretKey)"
recaptchaSecretKey: "reCAPTCHA 密钥(SecretKey)"
turnstile: "Turnstile"
enableTurnstile: "启用 Turnstile"
turnstileSiteKey: "网站密钥"
turnstileSecretKey: "Turnstile 密钥(SecretKey)"
avoidMultiCaptchaConfirm: "使用多个 Captcha 可能会互相干扰,您要禁用其它 Captcha 吗?您可以按“取消”按钮,继续保持启用多种验证方式。"
avoidMultiCaptchaConfirm: "使用多种验证方式可能会造成干扰,您要禁用其他验证方式吗?您可以按“取消”按钮,继续保持启用多种验证方式。"
antennas: "天线"
manageAntennas: "天线管理"
name: "名称"
@@ -434,7 +419,6 @@ moderator: "监察员"
moderation: "管理"
moderationNote: "管理笔记"
addModerationNote: "添加管理笔记"
moderationLogs: "管理日志"
nUsersMentioned: "{n} 被提到"
securityKeyAndPasskey: "安全密钥或 Passkey"
securityKey: "安全密钥"
@@ -450,6 +434,7 @@ share: "分享"
notFound: "未找到"
notFoundDescription: "没有与指定 URL 对应的页面。"
uploadFolder: "默认上传文件夹"
cacheClear: "清空缓存"
markAsReadAllNotifications: "将所有通知标为已读"
markAsReadAllUnreadNotes: "将所有帖子标记为已读"
markAsReadAllTalkMessages: "将所有聊天标记为已读"
@@ -490,7 +475,7 @@ or: "或者"
language: "语言"
uiLanguage: "显示语言"
aboutX: "关于 {x}"
emojiStyle: "表情符号的样式"
emojiStyle: "emoji 的样式"
native: "原生"
disableDrawer: "不显示抽屉菜单"
showNoteActionsOnlyHover: "仅在悬停时显示帖子操作"
@@ -527,7 +512,7 @@ showFeaturedNotesInTimeline: "在时间线上显示热门推荐"
objectStorage: "对象存储"
useObjectStorage: "使用对象存储"
objectStorageBaseUrl: "Base URL"
objectStorageBaseUrlDesc: "用于参考的 URL如果您正在使用 CDN 或 Proxy请填入服务商提供的 URLS3“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: "前缀"
@@ -546,7 +531,6 @@ serverLogs: "服务器日志"
deleteAll: "全部删除"
showFixedPostForm: "在时间线顶部显示发帖框"
showFixedPostFormInChannel: "在时间线顶部显示发帖对话框(频道)"
withRepliesByDefaultForNewlyFollowed: "在时间线中默认包含新关注用户的回复"
newNoteRecived: "有新的帖子"
sounds: "提示音"
sound: "提示音"
@@ -556,8 +540,6 @@ showInPage: "在页面中显示"
popout: "弹窗"
volume: "音量"
masterVolume: "主音量"
notUseSound: "静音"
useSoundOnlyWhenActive: "仅在 Misskey 活跃时输出声音"
details: "详情"
chooseEmoji: "选择表情符号"
unableToProcess: "操作无法完成"
@@ -578,14 +560,10 @@ output: "输出"
script: "脚本"
disablePagesScript: "禁用页面脚本"
updateRemoteUser: "更新远程用户信息"
unsetUserAvatar: "清除头像"
unsetUserAvatarConfirm: "要清除头像吗?"
unsetUserBanner: "清除横幅"
unsetUserBannerConfirm: "要清除横幅吗?"
deleteAllFiles: "删除所有文件"
deleteAllFilesConfirm: "要删除所有文件吗?"
removeAllFollowing: "取消所有关注"
removeAllFollowingDescription: "取消来自 {host} 的所有关注者。当服务器不再存在时执行。"
removeAllFollowingDescription: "取消 {host} 的所有关注者。当服务器不再存在时执行。"
userSuspended: "该用户已被冻结。"
userSilenced: "该用户已被禁言。"
yourAccountSuspendedTitle: "账户已被冻结"
@@ -632,7 +610,6 @@ medium: "中"
small: "小"
generateAccessToken: "生成访问令牌"
permission: "权限"
adminPermission: "管理员权限"
enableAll: "启用全部"
disableAll: "禁用全部"
tokenRequested: "允许访问账户"
@@ -654,7 +631,6 @@ smtpSecure: "在 SMTP 连接中使用隐式 SSL / TLS"
smtpSecureInfo: "使用 STARTTLS 时关闭。"
testEmail: "邮件发送测试"
wordMute: "文字屏蔽"
hardWordMute: "屏蔽关键词"
regexpError: "正则表达式错误"
regexpErrorDescription: "{tab} 屏蔽文字的第 {line} 行的正则表达式有错误:"
instanceMute: "被屏蔽的服务器"
@@ -676,7 +652,6 @@ useGlobalSettingDesc: "启用时,将使用账户通知设置。关闭时,则
other: "其他"
regenerateLoginToken: "重新生成登录令牌"
regenerateLoginTokenDescription: "重新生成用于登录的内部令牌。通常您不需要这样做。重新生成后,您将在所有设备上登出。"
theKeywordWhenSearchingForCustomEmoji: "这将是搜素自定义表情符号时的关键词。"
setMultipleBySeparatingWithSpace: "您可以使用空格分隔多个项目。"
fileIdOrUrl: "文件 ID 或者 URL"
behavior: "行为"
@@ -736,7 +711,6 @@ lockedAccountInfo: "即使启用该功能,只要您不将帖子可见范围设
alwaysMarkSensitive: "默认将媒体文件标记为敏感内容"
loadRawImages: "添加附件图像的缩略图时使用原始图像质量"
disableShowingAnimatedImages: "不播放动画"
highlightSensitiveMedia: "高亮显示敏感媒体"
verificationEmailSent: "已发送确认电子邮件。请访问电子邮件中的链接以完成设置。"
notSet: "未设置"
emailVerified: "电子邮件地址已验证"
@@ -889,8 +863,8 @@ makeReactionsPublicDescription: "将您发表过的回应设置成公开可见
classic: "经典"
muteThread: "屏蔽帖子列表"
unmuteThread: "取消屏蔽帖子列表"
followingVisibility: "关注的人的公开范围"
followersVisibility: "关注者的公开范围"
ffVisibility: "关注关系的可见范围"
ffVisibilityDescription: "您可以设置您的关注/关注者信息的公开范围"
continueThread: "查看更多帖子"
deleteAccountConfirm: "将要删除账户。是否确认?"
incorrectPassword: "密码错误"
@@ -974,7 +948,7 @@ unsubscribePushNotification: "停用推送通知消息"
pushNotificationAlreadySubscribed: "推送通知消息已启用"
pushNotificationNotSupported: "浏览器或服务器不支持推送通知消息"
sendPushNotificationReadMessage: "删除已读推送通知消息"
sendPushNotificationReadMessageCaption: "您终端设备的电池消耗可能会增加。"
sendPushNotificationReadMessageCaption: "“{emptyPushNotificationMessage}”的通知消息将会显示。您终端设备的电池消耗可能会增加。"
windowMaximize: "最大化"
windowMinimize: "最小化"
windowRestore: "还原"
@@ -991,7 +965,6 @@ neverShow: "不再显示"
remindMeLater: "稍后提醒我"
didYouLikeMisskey: "您喜欢 Misskey 吗?"
pleaseDonate: "Misskey 是 {host} 所使用的免费软件。为了今后也能够维持 Misskey 的开发,请在有余力的情况下进行捐助!"
correspondingSourceIsAvailable: "对应的源代码可在{anchor}找到"
roles: "角色"
role: "角色"
noRole: "角色不存在"
@@ -1001,7 +974,6 @@ assign: "分配"
unassign: "取消分配"
color: "颜色"
manageCustomEmojis: "管理自定义表情符号"
manageAvatarDecorations: "管理头像挂件"
youCannotCreateAnymore: "抱歉,您无法再创建更多了。"
cannotPerformTemporary: "暂时不可用"
cannotPerformTemporaryDescription: "因操作过于频繁,暂时不可用,请稍后再试。"
@@ -1042,11 +1014,6 @@ resetPasswordConfirm: "确定重置密码?"
sensitiveWords: "敏感词"
sensitiveWordsDescription: "将包含设置词的帖子的可见范围设置为首页。可以通过用换行符分隔来设置多个。"
sensitiveWordsDescription2: "AND 条件用空格分隔,正则表达式用斜线包裹。"
prohibitedWords: "禁用词"
prohibitedWordsDescription: "发布包含设定词汇的帖子时将出错。可用换行设定多个关键字"
prohibitedWordsDescription2: "AND 条件用空格分隔,正则表达式用斜线包裹。"
hiddenTags: "隐藏标签"
hiddenTagsDescription: "设定的标签将不会在时间线上显示。可使用换行来设置多个标签。"
notesSearchNotAvailable: "帖子检索不可用"
license: "许可信息"
unfavoriteConfirm: "确定要取消收藏吗?"
@@ -1059,12 +1026,9 @@ enableChartsForRemoteUser: "生成远程用户的图表"
enableChartsForFederatedInstances: "生成远程服务器的图表"
showClipButtonInNoteFooter: "在贴文下方显示便签按钮"
reactionsDisplaySize: "回应显示大小"
limitWidthOfReaction: "限制回应的最大宽度,并将其缩小显示"
noteIdOrUrl: "帖子 ID 或 URL"
video: "视频"
videos: "视频"
audio: "音频"
audioFiles: "音频"
dataSaver: "省流量模式"
accountMigration: "账户迁移"
accountMoved: "此用户已迁移账户"
@@ -1117,7 +1081,7 @@ branding: "品牌"
enableServerMachineStats: "公开服务器硬件统计信息"
enableIdenticonGeneration: "启用生成用户 Identicon"
turnOffToImprovePerformance: "关闭该选项可以提高性能。"
createInviteCode: "生成邀请码"
createInviteCode: "发行邀请码"
createWithOptions: "使用选项来创建"
createCount: "发行数"
inviteCodeCreated: "已创建邀请码"
@@ -1129,7 +1093,7 @@ noExpirationDate: "不设置有效日期"
inviteCodeUsedAt: "邀请码被使用的日期和时间"
registeredUserUsingInviteCode: "使用了邀请码的用户"
waitingForMailAuth: "等待验证电子邮件"
inviteCodeCreator: "生成邀请码的用户"
inviteCodeCreator: "发行邀请码的用户"
usedAt: "使用时间"
unused: "未使用"
used: "已使用"
@@ -1144,112 +1108,15 @@ currentAnnouncements: "现在的公告"
pastAnnouncements: "过去的公告"
youHaveUnreadAnnouncements: "您有未读的公告"
useSecurityKey: "请根据浏览器或设备的提示,使用安全密钥或通行密钥。"
replies: "回复"
renotes: "转发"
loadReplies: "查看回复"
loadConversation: "查看对话"
pinnedList: "已置顶的列表"
keepScreenOn: "保持设备屏幕开启"
verifiedLink: "已验证的链接"
notifyNotes: "打开发帖通知"
unnotifyNotes: "关闭发帖通知"
authentication: "验证"
authenticationRequiredToContinue: "要继续,请先进行验证"
dateAndTime: "日期和时间"
showRenotes: "显示转帖"
edited: "已编辑"
notificationRecieveConfig: "通知接收设置"
mutualFollow: "互相关注"
followingOrFollower: "关注中或关注者"
fileAttachedOnly: "仅限媒体"
showRepliesToOthersInTimeline: "在时间线中包含给别人的回复"
hideRepliesToOthersInTimeline: "在时间线中隐藏给别人的回复"
showRepliesToOthersInTimelineAll: "在时间线中包含现在关注的所有人的回复"
hideRepliesToOthersInTimelineAll: "在时间线中隐藏现在关注的所有人的回复"
confirmShowRepliesAll: "此操作不可撤销。确认要在时间线中包含现在关注的所有人的回复吗?"
confirmHideRepliesAll: "此操作不可撤销。确认要在时间线中隐藏现在关注的所有人的回复吗?"
externalServices: "外部服务"
sourceCode: "源代码"
sourceCodeIsNotYetProvided: "还未提供源代码。要解决此问题请联系管理员。"
repositoryUrl: "仓库地址"
repositoryUrlDescription: "若源代码所在的仓库是公开的,请填入对应的 URL。若是按原样使用 Misskey并未追加或者修改代码的情况请填入 https://github.com/misskey-dev/misskey。"
repositoryUrlOrTarballRequired: "若仓库并未公开,则需要提供 tarball 作为替代。详情请看 .config/example.yml。"
feedback: "反馈"
feedbackUrl: "反馈地址"
impressum: "运营商信息"
impressumUrl: "运营商信息地址"
impressumDescription: "德国等国家和地区有义务展示此类信息Impressum。"
privacyPolicy: "隐私政策"
privacyPolicyUrl: "隐私政策地址"
tosAndPrivacyPolicy: "服务条款及隐私政策"
avatarDecorations: "头像挂件"
attach: "佩戴"
detach: "卸下"
detachAll: "全部卸下"
angle: "角度"
flip: "翻转"
showAvatarDecorations: "显示头像挂件"
releaseToRefresh: "松开以刷新"
refreshing: "刷新中"
pullDownToRefresh: "下拉以刷新"
disableStreamingTimeline: "禁止实时更新时间线"
useGroupedNotifications: "分组显示通知"
signupPendingError: "确认电子邮件时出现错误。链接可能已过期。"
cwNotationRequired: "在启用「隐藏内容」时必须输入注释"
doReaction: "回应"
code: "代码"
reloadRequiredToApplySettings: "需要重新载入来使设置生效"
remainingN: "剩余:{n}"
overwriteContentConfirm: "将覆盖现有内容。确定吗?"
seasonalScreenEffect: "应景的画面效果"
decorate: "装饰"
addMfmFunction: "添加装饰"
enableQuickAddMfmFunction: "显示高级 MFM 选择器"
bubbleGame: "泡泡游戏"
sfx: "音效"
soundWillBePlayed: "声音将会播放"
showReplay: "观看回放"
replay: "重播"
replaying: "重播中"
endReplay: "结束回放"
copyReplayData: "复制回放数据"
ranking: "排行榜"
lastNDays: "最近 {n} 天"
backToTitle: "返回标题"
hemisphere: "居住地区"
withSensitive: "显示包含敏感媒体的帖子"
userSaysSomethingSensitive: "含 {name} 敏感文件的帖子"
enableHorizontalSwipe: "滑动切换标签页"
loading: "读取中"
surrender: "取消"
gameRetry: "重试"
_bubbleGame:
howToPlay: "游戏说明"
hold: "抓住"
_score:
score: "得分"
scoreYen: "赚到的钱"
highScore: "最高分"
maxChain: "最高连击数"
yen: "{yen} 日元"
estimatedQty: "约 {qty} 个"
_howToPlay:
section1: "对准位置将Emoji投入盒子。"
section2: "相同的Emoji相互接触合成后会得到新的Emoji以此获得分数。"
section3: "如果Emoji从箱子中溢出游戏将会结束。在防止Emoji溢出的同时不断合成新的Emoji来获取更高的分数吧"
_announcement:
forExistingUsers: "仅限现有用户"
forExistingUsersDescription: "若启用,该公告将仅对创建此公告时存在的用户可见。 如果禁用,则在创建此公告后注册的用户也可以看到该公告。"
needConfirmationToRead: "需要确认才能标记为已读"
needConfirmationToReadDescription: "若启用,则会在标记已读时会显示确认对话框。此外,它也会不受批量已读操作的影响。"
end: "结束公告"
tooManyActiveAnnouncementDescription: "若有大量活动公告,可能会造成用户体验下降。请考虑归档已完成的公告。"
tooManyActiveAnnouncementDescription: "若有大量活动公告,可能会造成用户体验可能下降。请考虑归档已完成的公告。"
readConfirmTitle: "标记为已读?"
readConfirmText: "阅读“{title}”的内容并将其标记为已读。"
shouldNotBeUsedToPresentPermanentInfo: "我们建议使用公告来发布临时性的流动信息而不是固定的常规信息,因为这可能损害用户体验,尤其是对于新用户而言。"
dialogAnnouncementUxWarn: "同时存在 2 个或以上的对话框公告极有可能对用户体验产生负面的影响,建议谨慎使用。"
silence: "不发送通知"
silenceDescription: "开启后,此条公告将不会发送通知,也不强制用户阅读。"
_initialAccountSetting:
accountCreated: "账户创建完成了!"
letsStartAccountSetup: "来进行帐户的初始设置吧。"
@@ -1262,91 +1129,11 @@ _initialAccountSetting:
pushNotificationDescription: "启用推送通知的话,就可以在设备上接收来自 {name} 的通知了。"
initialAccountSettingCompleted: "初始设定已经完成了!"
haveFun: "希望 {name} 在这里玩得开心!"
youCanContinueTutorial: "您可以继续了解 {name}(Misskey) 的使用教程,也可以在此停止教程并立即开始使用它。\n"
startTutorial: "开始教学"
ifYouNeedLearnMore: "关于 {name}(Misskey) 的使用方法,详见 {link}。"
skipAreYouSure: "要跳过初始设置吗?"
laterAreYouSure: "要稍后再进行初始设定吗?"
_initialTutorial:
launchTutorial: "观看教学"
title: "教学"
wellDone: "做得好"
skipAreYouSure: "是否退出教学?"
_landing:
title: "欢迎来到教学"
description: "在这里,您可以查看 Misskey 的基本使用方法和功能。"
_note:
title: "什么是帖子?"
description: "在 Misskey 上发表的文章称为「帖子」。帖子在时间线上按照时间顺序排列,并实时更新。"
reply: "用来回复帖子。可以对回复进行回复,从而形成一串对话。"
renote: "用来将帖子共享到自己的时间线上。也可以加上自己的文字然后引用它。"
reaction: "用来添加回应。详细信息将在下一页进行说明。"
menu: "用来进行例如显示帖子详情、复制链接等各种各样的操作。"
_reaction:
title: "什么是回应?"
description: "您可以在帖子中添加“回应”。 您可以使用反应轻松地表达点“赞”所无法传达的细微差别。"
letsTryReacting: "回应可以通过点击帖子中的「+」按钮来添加。试着给这个示例帖子添加一个回应!"
reactToContinue: "添加一个回应来继续"
reactNotification: "当您的帖子被某人添加了回应时,将实时收到通知。"
reactDone: "通过按下「ー」按钮,可以取消已经添加的回应"
_timeline:
title: "时间线的运作方式"
description1: "Misskey 根据使用方式提供了多个时间线(根据服务器的设定,可能有一些被禁用)。"
home: "可以查看您关注的账户的帖子。"
local: "可以查看这个服务器上所有用户发表的帖子。"
social: "将同时显示首页时间线和本地时间线的内容。"
global: "可以查看所有已联合的服务器上的帖子。"
description2: "可以随时在屏幕顶部在每个时间线之间切换。"
description3: "另外,还有列表时间线和频道时间线。请参阅{link}了解更多详细信息。"
_postNote:
title: "帖子发布设置"
description1: "在 Misskey 发布帖子时,您可以设置各种选项。发帖窗口看起来是这样的。\n"
_visibility:
description: "您可以限制谁可以看到您的帖子。"
public: "向所有用户公开。\n"
home: "仅在首页时间线上发布。 关注者、从个人资料页查看过来的用户、以及通过转帖也能被别的用户看见。"
followers: "仅对关注者可见。 除了您自己之外,没有人可以转贴,并且只有您的关注者可以查看它。\n"
direct: "它将仅向指定用户公开,并且他们也会收到通知。 您可以使用它来代替私信。\n"
doNotSendConfidencialOnDirect1: "发送敏感信息时请注意。\n"
doNotSendConfidencialOnDirect2: "目标服务器的管理员可以看到发布的内容,因此如果您向不受信任的服务器上的用户发送私信,则在处理敏感信息时需要小心。"
localOnly: "不将帖子推送到其它服务器。 无论上述公开范围如何,其它服务器的用户将无法看到附加了此设定的帖子。\n"
_cw:
title: "隐藏内容 (CW)\n"
description: "显示「注解」里的内容而不是正文。点击「查看更多」将会把正文显示出来。"
_exampleNote:
cw: "深夜报复社会"
note: "茨了带巧克力的甜甜圈🍩😋"
useCases: "用于服务器条款所规定的帖子,或对剧透内容和敏感内容进行自主规制。"
_howToMakeAttachmentsSensitive:
title: "如何将附件标注为敏感内容?"
description: "对于服务器方针所要求要求的,又或者不适合直接展示的附件,请添加「敏感」标记。\n"
tryThisFile: "试试看,将附加到此窗口的图像标注为敏感!"
_exampleNote:
note: "拆纳豆包装时出错了…"
method: "要标注附件为敏感内容,请单击该文件以打开菜单,然后单击“标记为敏感内容”。"
sensitiveSucceeded: "附加文件时,请遵循服务器的条款来设置正确敏感设定。\n"
doItToContinue: "将图像标记为敏感后才能够继续"
_done:
title: "恭喜您,已经完成了教程🎉\n"
description: "这里介绍的只是其中一小部分的功能。 要了解更多有关如何使用 Misskey 的更多信息,请访问 {link}。"
_timelineDescription:
home: "首页时间线可以查看您关注的账户的帖子。"
local: "本地时间线可以查看这个服务器上所有用户发表的帖子。"
social: "社交时间线将同时显示首页时间线和本地时间线的内容。"
global: "全局时间线可以查看所有已联合的服务器上的帖子。"
_serverRules:
description: "在新用户注册前显示服务器的简单规则。推荐显示服务条款的主要内容。"
_serverSettings:
iconUrl: "图标 URL"
appIconDescription: "指定当 {host} 显示为 app 时的图标。"
appIconUsageExample: "如作为书签添加到 PWA 或手机主屏幕时"
appIconStyleRecommendation: "因为有可能会被裁切为圆形或者圆角矩形,建议使用边缘带有留白背景的图标。"
appIconResolutionMustBe: "分辨率必须为 {resolution}。"
manifestJsonOverride: "覆盖 manifest.json"
shortName: "简称"
shortNameDescription: "如果服务器的正式名称很长,可以用简称或者別名来替代。"
fanoutTimelineDescription: "当启用时,可显著提高获取各种时间线时的性能,并减轻数据库的负荷。但是相对的 Redis 的内存使用量将会增加。如果服务器的内存不是很大,又或者运行不稳定的话可以把它关掉。"
fanoutTimelineDbFallback: "回退到数据库"
fanoutTimelineDbFallbackDescription: "当启用时,若时间线未被缓存,则将额外查询数据库。禁用该功能可通过不执行回退处理进一步减少服务器负载,但会限制可检索的时间线范围。"
_accountMigration:
moveFrom: "从别的账号迁移到此账户"
moveFromSub: "为另一个账户建立别名"
@@ -1573,7 +1360,7 @@ _achievements:
description: "点了这里"
_justPlainLucky:
title: "超高校级的幸运"
description: "每 10 秒有 0.005% 的概率自动获得"
description: "每 10 秒有 0.01 的概率自动获得"
_setNameToSyuilo:
title: "像神一样呐"
description: "将名称设定为 syuilo"
@@ -1604,15 +1391,6 @@ _achievements:
_smashTestNotificationButton:
title: "过度测试"
description: "短时间内连续测试通知"
_tutorialCompleted:
title: "Misskey 初学者课程 结业证书"
description: "完成了教学"
_bubbleGameExplodingHead:
title: "🤯"
description: "你合成出了游戏里最大的Emoji"
_bubbleGameDoubleExplodingHead:
title: "两个🤯"
description: "你合成出了2个游戏里最大的Emoji"
_role:
new: "创建角色"
edit: "编辑角色"
@@ -1623,9 +1401,7 @@ _role:
assignTarget: "授权对象"
descriptionOfAssignTarget: "<b>手动</b>指手动选择谁被包括在这个角色中。\n<b>符合条件</b>指设置条件以自动包括符合条件的用户。"
manual: "手动"
manualRoles: "手动角色"
conditional: "符合条件"
conditionalRoles: "条件角色"
condition: "条件"
isConditionalRole: "这是一个条件控制的角色。"
isPublic: "角色公开"
@@ -1653,13 +1429,11 @@ _role:
gtlAvailable: "查看全局时间线"
ltlAvailable: "查看本地时间线"
canPublicNote: "允许公开发帖"
mentionMax: "帖子内最多提及数"
canInvite: "发放服务器邀请码"
inviteLimit: "可生成邀请码的数量"
inviteLimit: "可发行邀请码的数量"
inviteLimitCycle: "邀请码的发行间隔"
inviteExpirationTime: "邀请码的有效日期"
canManageCustomEmojis: "管理自定义表情符号"
canManageAvatarDecorations: "管理头像挂件"
driveCapacity: "网盘容量"
alwaysMarkNsfw: "总是将文件标记为 NSFW"
pinMax: "帖子置顶数量限制"
@@ -1674,10 +1448,7 @@ _role:
descriptionOfRateLimitFactor: "值越小限制越少,值越大限制越多。"
canHideAds: "可以隐藏广告"
canSearchNotes: "是否可以搜索帖子"
canUseTranslator: "使用翻译功能"
avatarDecorationLimit: "可添加头像挂件的最大个数"
_condition:
roleAssignedTo: "已分配给手动角色"
isLocal: "是本地用户"
isRemote: "是远程用户"
createdLessThan: "账户创建时间少于"
@@ -1705,7 +1476,6 @@ _emailUnavailable:
disposable: "不是永久可用的地址"
mx: "邮件服务器不正确"
smtp: "邮件服务器没有响应"
banned: "无法使用此邮件地址注册"
_ffVisibility:
public: "公开"
followers: "只有关注你的用户能看到"
@@ -1726,10 +1496,6 @@ _ad:
reduceFrequencyOfThisAd: "减少此广告的频率"
hide: "不显示"
timezoneinfo: "星期几是由服务器的时区所指定的。"
adsSettings: "广告设置"
notesPerOneAd: "在实时更新时间线中插入广告的间隔(帖子个数)"
setZeroToDisable: "设为 0 将不在实时更新时间线中投放广告"
adsTooClose: "广告投放时间间隔过短将可能显著损害用户体验。"
_forgotPassword:
enterEmail: "请输入您设置的电子邮箱地址,密码重置链接将发送至该邮箱上。"
ifNoEmail: "如果您没有设置电子邮件地址,请联系管理员。"
@@ -1748,7 +1514,6 @@ _plugin:
install: "安装插件"
installWarn: "请不要安装不可信的插件。"
manage: "管理插件..."
viewSource: "查看源代码"
_preferencesBackups:
list: "已创建的备份"
saveNew: "另存为"
@@ -1769,8 +1534,8 @@ _preferencesBackups:
invalidFile: "无效的的文件格式。"
_registry:
scope: "范围"
key: ""
keys: ""
key: "主要"
keys: "主要"
domain: "域"
createKey: "创建键"
_aboutMisskey:
@@ -1778,13 +1543,10 @@ _aboutMisskey:
contributors: "主要贡献者"
allContributors: "全体贡献者"
source: "源代码"
original: "原版"
thisIsModifiedVersion: "{name}正在使用修改后的 Misskey。"
translation: "翻译 Misskey"
donate: "赞助 Misskey"
morePatrons: "还有很多其它的人也在支持我们,非常感谢🥰"
patrons: "支持者"
projectMembers: "项目成员"
_displayOfSensitiveMedia:
respect: "隐藏敏感媒体"
ignore: "显示敏感媒体"
@@ -1809,7 +1571,6 @@ _channel:
notesCount: "有 {n} 个帖子"
nameAndDescription: "名称与描述"
nameOnly: "仅名称"
allowRenoteToExternal: "允许在频道外转帖及引用"
_menuDisplay:
sideFull: "横向"
sideIcon: "横向(图标)"
@@ -1819,6 +1580,11 @@ _wordMute:
muteWords: "禁用词"
muteWordsDescription: "AND 条件用空格分隔OR 条件用换行符分隔。"
muteWordsDescription2: "正则表达式用斜线包裹"
softDescription: "隐藏时间线中指定条件的帖子。"
hardDescription: "防止将具有指定条件的帖子添加到时间线。 即使您更改条件,未添加的帖文也会被排除在外。"
soft: "软屏蔽"
hard: "硬屏蔽"
mutedNotes: "被屏蔽的帖子"
_instanceMute:
instanceMuteDescription: "屏蔽服务器中的所有帖子和转帖,包括这些服务器上的用户回复。"
instanceMuteDescription2: "一行一个"
@@ -1882,6 +1648,9 @@ _theme:
infoFg: "信息文本"
infoWarnBg: "警告背景"
infoWarnFg: "警告文本"
cwBg: "隐藏内容按钮背景"
cwFg: "隐藏内容按钮文本"
cwHoverBg: "隐藏内容按钮背景(悬停)"
toastBg: "Toast 通知背景"
toastFg: "Toast 通知文本"
buttonBg: "按钮背景"
@@ -1899,16 +1668,10 @@ _sfx:
note: "帖子"
noteMy: "我的帖子"
notification: "通知"
chat: "聊天"
chatBg: "聊天背景"
antenna: "天线接收"
channel: "频道通知"
reaction: "选择回应时"
_soundSettings:
driveFile: "使用网盘内的音频"
driveFileWarn: "选择网盘上的文件"
driveFileTypeWarn: "不支持此文件"
driveFileTypeWarnDescription: "请选择音频文件"
driveFileDurationWarn: "音频过长"
driveFileDurationWarnDescription: "使用长音频可能会影响 Misskey 的使用。即使这样也要继续吗?"
_ago:
future: "未来"
justNow: "最近"
@@ -1920,22 +1683,25 @@ _ago:
monthsAgo: "{n} 月前"
yearsAgo: "{n} 年前"
invalid: "没有"
_timeIn:
seconds: "{n}秒后"
minutes: "{n} 分后"
hours: "{n} 小时后"
days: "{n}天后"
weeks: "{n} 周后"
months: "{n} 月后"
years: "{n} 年后"
_time:
second: "秒"
minute: "分"
hour: "小时"
day: "日"
_timelineTutorial:
title: "Misskey 的使用方法"
step1_1: "这个画面是「时间线」。{name}的投稿会按照帖子的发布时间顺序来显示。"
step1_2: "时间线有许多种类,比如在「首页时间线」中展现的是你关注的人的贴文;而在「本地时间线」中展现的是{name}里全部用户的贴文。"
step2_1: "那么接下来,试着写一些什么东西来发布吧!你可以通过点击屏幕上的铅笔图标来打开投稿页面。"
step2_2: "第一次发布的帖子内容,建议包含自我介绍,以及「开始使用{name}了」。"
step3_1: "将想说的话发出去了吗?"
step3_2: "太棒了!现在你可以在你的时间线中看到刚刚发布的帖子了。"
step4_1: "试着对帖子使用「回应」吧!"
step4_2: "在他人的帖子上按下「+」图标,即可选择想要的表情来进行「回应」。"
_2fa:
alreadyRegistered: "此设备已被注册"
registerTOTP: "开始设置认证应用"
passwordToTOTP: "请输入您的密码"
step1: "首先,在您的设备上安装验证应用,例如 {a} 或 {b}。"
step2: "然后,扫描屏幕上显示的二维码。"
step2Click: "通过点击二维码,您可以使用设备上安装的身份验证器应用程序或密钥环进行注册"
@@ -1999,55 +1765,6 @@ _permissions:
"write:flash": "编辑 Play"
"read:flash-likes": "查看 Play 的点赞"
"write:flash-likes": "编辑 Play 的点赞列表"
"read:admin:abuse-user-reports": "查看来自用户的举报"
"write:admin:delete-account": "删除用户账户"
"write:admin:delete-all-files-of-a-user": "删除用户所有的文件"
"read:admin:index-stats": "查看数据库索引相关的信息"
"read:admin:table-stats": "查看数据库表相关的信息"
"read:admin:user-ips": "查看用户 IP 地址"
"read:admin:meta": "查看实例的元数据"
"write:admin:reset-password": "重置用户密码"
"write:admin:resolve-abuse-user-report": "将来自用户的报告标记为「已解决」"
"write:admin:send-email": "发送邮件"
"read:admin:server-info": "查看服务器信息"
"read:admin:show-moderation-log": "查看管理日志"
"read:admin:show-user": "查看用户的非公开信息"
"read:admin:show-users": "查看用户的非公开信息"
"write:admin:suspend-user": "冻结用户"
"write:admin:unset-user-avatar": "删除用户头像"
"write:admin:unset-user-banner": "删除用户横幅"
"write:admin:unsuspend-user": "解除用户冻结"
"write:admin:meta": "编辑实例元数据"
"write:admin:user-note": "编辑管理笔记"
"write:admin:roles": "编辑角色"
"read:admin:roles": "查看角色"
"write:admin:relays": "编辑中继"
"read:admin:relays": "查看中继"
"write:admin:invite-codes": "编辑邀请码"
"read:admin:invite-codes": "查看邀请码"
"write:admin:announcements": "编辑公告"
"read:admin:announcements": "查看公告"
"write:admin:avatar-decorations": "编辑头像挂件"
"read:admin:avatar-decorations": "查看头像挂件"
"write:admin:federation": "编辑联合相关信息"
"write:admin:account": "编辑用户账户"
"read:admin:account": "查看用户相关情报"
"write:admin:emoji": "编辑表情文字"
"read:admin:emoji": "查看表情文字"
"write:admin:queue": "编辑作业队列"
"read:admin:queue": "查看作业队列相关情报"
"write:admin:promo": "运营推广说明"
"write:admin:drive": "编辑用户网盘"
"read:admin:drive": "查看用户网盘相关情报"
"read:admin:stream": "使用管理员用的 Websocket API"
"write:admin:ad": "编辑广告"
"read:admin:ad": "查看广告"
"write:invite-codes": "生成邀请码"
"read:invite-codes": "获取已发行的邀请码"
"write:clip-favorite": "编辑便签的点赞"
"read:clip-favorite": "查看便签的点赞"
"read:federation": "查看联合相关信息"
"write:report-abuse": "举报用户"
_auth:
shareAccessTitle: "应用程序授权许可"
shareAccess: "您要授权允许 “{name}” 访问您的帐户吗?"
@@ -2063,7 +1780,6 @@ _antennaSources:
homeTimeline: "已关注用户的帖子"
users: "来自指定用户的帖子"
userList: "来自指定列表中的帖子"
userBlacklist: "除掉已选择用户后所有的帖子"
_weekday:
sunday: "星期日"
monday: "星期一"
@@ -2102,7 +1818,6 @@ _widgets:
_userList:
chooseList: "选择列表"
clicker: "点击器"
birthdayFollowings: "今天是他们的生日"
_cw:
hide: "隐藏"
show: "查看更多"
@@ -2164,19 +1879,15 @@ _profile:
metadataContent: "内容"
changeAvatar: "修改头像"
changeBanner: "修改横幅"
verifiedLinkDescription: "如果将内容设置为 URL当链接所指向的网页内包含自己的个人资料链接时可以显示一个已验证图标。"
avatarDecorationMax: "最多可添加 {max} 个挂件"
_exportOrImport:
allNotes: "所有帖子"
favoritedNotes: "收藏的帖子"
clips: "便签"
followingList: "关注中"
muteList: "屏蔽"
blockingList: "拉黑"
userLists: "列表"
excludeMutingUsers: "排除屏蔽用户"
excludeInactiveUsers: "排除不活跃用户"
withReplies: "在时间线中包含导入用户的回复"
_charts:
federation: "联合"
apRequest: "请求"
@@ -2286,22 +1997,15 @@ _notification:
youReceivedFollowRequest: "您有新的关注请求"
yourFollowRequestAccepted: "您的关注请求已通过"
pollEnded: "问卷调查结果已生成。"
newNote: "新的帖子"
unreadAntennaNote: "天线 {name}"
roleAssigned: "授予的角色"
emptyPushNotificationMessage: "推送通知已更新"
achievementEarned: "获得成就"
testNotification: "测试通知"
checkNotificationBehavior: "检查通知显示"
sendTestNotification: "发送测试通知"
notificationWillBeDisplayedLikeThis: "通知将会这样表示"
reactedBySomeUsers: "{n} 人回应了"
renotedBySomeUsers: "{n} 人转发了"
followedBySomeUsers: "被 {n} 人关注"
flushNotification: "重置通知历史"
_types:
all: "全部"
note: "用户的新帖子"
follow: "关注中"
mention: "提及"
reply: "回复"
@@ -2311,7 +2015,6 @@ _notification:
pollEnded: "问卷调查结束"
receiveFollowRequest: "收到关注请求"
followRequestAccepted: "关注请求已通过"
roleAssigned: "授予的角色"
achievementEarned: "取得的成就"
app: "关联应用的通知"
_actions:
@@ -2372,151 +2075,3 @@ _webhookSettings:
renote: "被转发时"
reaction: "被回应时"
mention: "被提及时"
_moderationLogTypes:
createRole: "创建角色"
deleteRole: "删除角色"
updateRole: "更新角色"
assignRole: "分配角色"
unassignRole: "取消分配角色"
suspend: "冻结"
unsuspend: "解除冻结"
addCustomEmoji: "添加自定义表情符号"
updateCustomEmoji: "更新自定义表情符号"
deleteCustomEmoji: "删除自定义表情符号"
updateServerSettings: "更新服务器设置"
updateUserNote: "更新管理笔记"
deleteDriveFile: "删除文件"
deleteNote: "删除帖子"
createGlobalAnnouncement: "创建全体通知"
createUserAnnouncement: "创建用户通知"
updateGlobalAnnouncement: "更新全体通知"
updateUserAnnouncement: "更新用户通知"
deleteGlobalAnnouncement: "删除全体通知"
deleteUserAnnouncement: "删除用户通知"
resetPassword: "重置密码"
suspendRemoteInstance: "停止远程服务器"
unsuspendRemoteInstance: "恢复远程服务器"
updateRemoteInstanceNote: "更新远程服务器的管理笔记"
markSensitiveDriveFile: "标记网盘文件为敏感媒体"
unmarkSensitiveDriveFile: "取消标记网盘文件为敏感媒体"
resolveAbuseReport: "处理举报"
createInvitation: "生成邀请码"
createAd: "创建了广告"
deleteAd: "删除了广告"
updateAd: "更新了广告"
createAvatarDecoration: "新建头像挂件"
updateAvatarDecoration: "更新头像挂件"
deleteAvatarDecoration: "删除头像挂件"
unsetUserAvatar: "清除用户头像"
unsetUserBanner: "清除用户横幅"
_fileViewer:
title: "文件信息"
type: "文件类型"
size: "文件大小"
url: "URL"
uploadedAt: "添加日期"
attachedNotes: "附加到的帖子"
thisPageCanBeSeenFromTheAuthor: "此页只能被该文件的上传者查看。"
_externalResourceInstaller:
title: "从外部站点安装"
checkVendorBeforeInstall: "请在安装前确保来源可靠"
_plugin:
title: "要安装此插件吗?"
metaTitle: "插件信息"
_theme:
title: "要安装此主题吗?"
metaTitle: "主题信息"
_meta:
base: "基本配色方案"
_vendorInfo:
title: "来源信息"
endpoint: "参考端点"
hashVerify: "确认文件完整性"
_errors:
_invalidParams:
title: "缺少参数"
description: "缺少从外部站点获取数据所需的信息。请检查 URL。"
_resourceTypeNotSupported:
title: "不支持此外部资源"
description: "不支持从此外部站点获取的资源类型。请联系站点管理员。"
_failedToFetch:
title: "获取数据失败"
fetchErrorDescription: "与外部站点的通信失败。 如果重试后问题仍然存在,请联系站点管理员。"
parseErrorDescription: "无法读取从外部站点取得的数据。请联系站点管理员。"
_hashUnmatched:
title: "无法获取正确数据"
description: "无法验证数据的完整性。安全起见,无法继续安装。请联系站点管理员。"
_pluginParseFailed:
title: "AiScript 错误"
description: "虽然取得了数据,但是由于 AiScript 解析时出现错误,无法读取数据。请联系插件的作者。可在 Javascript 控制台查看错误详情。"
_pluginInstallFailed:
title: "插件安装失败"
description: "安装插件时出现错误。请再试一次。可在 Javascript 控制台查看错误详情。"
_themeParseFailed:
title: "主题解析错误"
description: "虽然取得了主题文件,但是由于解析时出现错误,无法加载主题。请联系主题的作者。可在 Javascript 控制台查看错误详情。"
_themeInstallFailed:
title: "安装主题失败"
description: "安装主题时出错。请再试一次。可在 Javascript 控制台查看错误详情。"
_dataSaver:
_media:
title: "加载媒体"
description: "防止自动加载图像和视频。 点击隐藏的图像/视频即可加载它们。\n"
_avatar:
title: "头像"
description: "停止播放头像的动画。 由于动画图片的文件大小可能比普通图像大,这可以进一步减少数据流量。"
_urlPreview:
title: "URL预览缩略图\n"
description: "将不再加载 URL 预览缩略图。"
_code:
title: "代码高亮"
description: "如果使用了代码高亮标记,例如在 MFM 中,则在点击之前不会加载。 代码高亮要求加载每种高亮语言的定义文件,由于这些文件不再自动加载,因此有望减少数据传输量。"
_hemisphere:
N: "北半球"
S: "南半球"
caption: "在某些客户端设置中用来确定季节"
_reversi:
reversi: "黑白棋"
gameSettings: "对局设置"
blackOrWhite: "先手/后手"
blackIs: "{name}执黑(先手)"
rules: "规则"
thisGameIsStartedSoon: "对局即将开始"
waitingForOther: "等待对手准备"
waitingForMe: "等待你的准备"
waitingBoth: "请准备"
ready: "准备就绪"
cancelReady: "重新准备"
opponentTurn: "对手的回合"
myTurn: "你的回合"
turnOf: "{name}的回合"
pastTurnOf: "{name}的回合"
surrender: "认输"
surrendered: "已认输"
timeout: "超时"
drawn: "平局"
won: "{name}获胜"
black: "黑"
white: "白"
total: "总计"
turnCount: "第{count}回合"
myGames: "我的对局"
allGames: "所有对局"
ended: "结束"
playing: "对局中"
canPutEverywhere: "无限制放置模式"
timeLimitForEachTurn: "1回合的时间限制"
freeMatch: "自由匹配"
lookingForPlayer: "正在寻找对手"
gameCanceled: "对局被取消了"
shareToTlTheGameWhenStart: "开始时在时间线发布对局"
iStartedAGame: "对局开始!#MisskeyReversi"
opponentHasSettingsChanged: "对手更改了设定"
allowIrregularRules: "允许非常规规则(完全自由)"
disallowIrregularRules: "禁止非常规规则"
showBoardLabels: "显示行号和列号"
useAvatarAsStone: "用头像作为棋子"
_offlineScreen:
title: "离线——无法连接到服务器"
header: "无法连接到服务器"

File diff suppressed because it is too large Load Diff

View File

@@ -1,19 +1,16 @@
{
"name": "misskey",
"version": "2024.3.1",
"version": "2023.9.0-beta.6",
"codename": "nasubi",
"repository": {
"type": "git",
"url": "https://github.com/misskey-dev/misskey.git"
},
"packageManager": "pnpm@8.15.4",
"packageManager": "pnpm@8.7.5",
"workspaces": [
"packages/frontend",
"packages/backend",
"packages/sw",
"packages/misskey-js",
"packages/misskey-reversi",
"packages/misskey-bubble-game"
"packages/sw"
],
"private": true,
"scripts": {
@@ -21,16 +18,14 @@
"build-assets": "node ./scripts/build-assets.mjs",
"build": "pnpm build-pre && pnpm -r build && pnpm build-assets",
"build-storybook": "pnpm --filter frontend build-storybook",
"build-misskey-js-with-types": "pnpm build-pre && pnpm --filter backend... --filter=!misskey-js build && pnpm --filter backend generate-api-json && ncp packages/backend/built/api.json packages/misskey-js/generator/api.json && pnpm --filter misskey-js update-autogen-code && pnpm --filter misskey-js build && pnpm --filter misskey-js api",
"start": "pnpm check:connect && cd packages/backend && node ./built/boot/entry.js",
"start:test": "cd packages/backend && cross-env NODE_ENV=test node ./built/boot/entry.js",
"init": "pnpm migrate",
"migrate": "cd packages/backend && pnpm migrate",
"revert": "cd packages/backend && pnpm revert",
"check:connect": "cd packages/backend && pnpm check:connect",
"migrateandstart": "pnpm migrate && pnpm start",
"watch": "pnpm dev",
"dev": "node scripts/dev.mjs",
"dev": "node ./scripts/dev.mjs",
"lint": "pnpm -r lint",
"cy:open": "pnpm cypress open --browser --e2e --config-file=cypress.config.ts",
"cy:run": "pnpm cypress run",
@@ -48,24 +43,20 @@
"lodash": "4.17.21"
},
"dependencies": {
"cssnano": "6.0.5",
"execa": "8.0.1",
"fast-glob": "3.3.2",
"ignore-walk": "6.0.4",
"cssnano": "6.0.1",
"js-yaml": "4.1.0",
"postcss": "8.4.35",
"tar": "6.2.0",
"terser": "5.28.1",
"typescript": "5.3.3"
"postcss": "8.4.29",
"terser": "5.19.4",
"typescript": "5.2.2"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "7.1.0",
"@typescript-eslint/parser": "7.1.0",
"@typescript-eslint/eslint-plugin": "6.7.0",
"@typescript-eslint/parser": "6.7.0",
"cross-env": "7.0.3",
"cypress": "13.6.6",
"eslint": "8.57.0",
"ncp": "2.0.0",
"start-server-and-test": "2.0.3"
"cypress": "13.2.0",
"eslint": "8.49.0",
"start-server-and-test": "2.0.0"
},
"optionalDependencies": {
"@tensorflow/tfjs-core": "4.4.0"

View File

@@ -11,7 +11,7 @@
"decoratorMetadata": true
},
"experimental": {
"keepImportAssertions": true
"keepImportAttributes": true
},
"baseUrl": "src",
"paths": {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Some files were not shown because too many files have changed in this diff Show More