Compare commits

..

No commits in common. "develop" and "2024.8.0-rc.3" have entirely different histories.

1717 changed files with 71923 additions and 149232 deletions

View file

@ -1,223 +0,0 @@
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Misskey configuration
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ┌────────────────────────┐
#───┘ Initial Setup Password └─────────────────────────────────────────────────────
# Password to initiate setting up admin account.
# It will not be used after the initial setup is complete.
#
# Be sure to change this when you set up Misskey via the Internet.
#
# The provider of the service who sets up Misskey on behalf of the customer should
# set this value to something unique when generating the Misskey config file,
# and provide it to the customer.
setupPassword: example_password_please_change_this_or_you_will_get_hacked
# ┌─────┐
#───┘ URL └─────────────────────────────────────────────────────
# Final accessible URL seen by a user.
url: 'http://misskey.local'
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
# URL SETTINGS AFTER THAT!
# ┌───────────────────────┐
#───┘ Port and TLS settings └───────────────────────────────────
#
# Misskey requires a reverse proxy to support HTTPS connections.
#
# +----- https://example.tld/ ------------+
# +------+ |+-------------+ +----------------+|
# | User | ---> || Proxy (443) | ---> | Misskey (3000) ||
# +------+ |+-------------+ +----------------+|
# +---------------------------------------+
#
# You need to set up a reverse proxy. (e.g. nginx)
# An encrypted connection with HTTPS is highly recommended
# because tokens may be transferred in GET requests.
# The port that your Misskey server should listen on.
port: 61812
# ┌──────────────────────────┐
#───┘ PostgreSQL configuration └────────────────────────────────
db:
host: db
port: 5432
# Database name
db: misskey
# Auth
user: postgres
pass: postgres
# Whether disable Caching queries
#disableCache: true
# Extra Connection options
#extra:
# ssl: true
dbReplications: false
# You can configure any number of replicas here
#dbSlaves:
# -
# host:
# port:
# db:
# user:
# pass:
# -
# host:
# port:
# db:
# user:
# pass:
# ┌─────────────────────┐
#───┘ Redis configuration └─────────────────────────────────────
redis:
host: redis
port: 6379
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
#pass: example-pass
#prefix: example-prefix
#db: 1
#redisForPubsub:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
#redisForJobQueue:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #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
#redisForReactions:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# ┌───────────────────────────┐
#───┘ MeiliSearch configuration └─────────────────────────────
#meilisearch:
# host: meilisearch
# port: 7700
# apiKey: ''
# ssl: true
# index: ''
# ┌───────────────┐
#───┘ ID generation └───────────────────────────────────────────
# You can select the ID generation method.
# You don't usually need to change this setting, but you can
# change it according to your preferences.
# Available methods:
# aid ... Short, Millisecond accuracy
# aidx ... Millisecond accuracy
# meid ... Similar to ObjectID, Millisecond accuracy
# ulid ... Millisecond accuracy
# objectid ... This is left for backward compatibility
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
# ID SETTINGS AFTER THAT!
id: 'aidx'
# ┌────────────────┐
#───┘ Error tracking └──────────────────────────────────────────
# Sentry is available for error tracking.
# See the Sentry documentation for more details on options.
#sentryForBackend:
# enableNodeProfiling: true
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend:
# vueIntegration:
# tracingOptions:
# trackComponents: true
# browserTracingIntegration:
# replayIntegration:
# options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
# ┌─────────────────────┐
#───┘ Other configuration └─────────────────────────────────────
# Whether disable HSTS
#disableHsts: true
# Number of worker processes
#clusterLimit: 1
# Job concurrency per worker
# deliverJobConcurrency: 128
# inboxJobConcurrency: 16
# Job rate limiter
# deliverJobPerSec: 128
# inboxJobPerSec: 32
# Job attempts
# deliverJobMaxAttempts: 12
# inboxJobMaxAttempts: 8
# IP address family used for outgoing request (ipv4, ipv6 or dual)
#outgoingAddressFamily: ipv4
# Proxy for HTTP/HTTPS
#proxy: http://127.0.0.1:3128
proxyBypassHosts:
- api.deepl.com
- api-free.deepl.com
- www.recaptcha.net
- hcaptcha.com
- challenges.cloudflare.com
# Proxy for SMTP/SMTPS
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
# Media Proxy
#mediaProxy: https://example.com/proxy
allowedPrivateNetworks: [
'127.0.0.1/32'
]
# Upload or download file size limits (bytes)
#maxFileSize: 262144000

View file

@ -106,35 +106,9 @@ redis:
# #prefix: example-prefix # #prefix: example-prefix
# #db: 1 # #db: 1
#redisForReactions: # ┌───────────────────────────┐
# host: redis #───┘ MeiliSearch configuration └─────────────────────────────
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# ┌───────────────────────────────┐
#───┘ Fulltext search configuration └─────────────────────────────
# These are the setting items for the full-text search provider.
fulltextSearch:
# You can select the ID generation method.
# - sqlLike (default)
# Use SQL-like search.
# This is a standard feature of PostgreSQL, so no special extensions are required.
# - sqlPgroonga
# Use pgroonga.
# You need to install pgroonga and configure it as a PostgreSQL extension.
# In addition to the above, you need to create a pgroonga index on the text column of the note table.
# see: https://pgroonga.github.io/tutorial/
# - meilisearch
# Use Meilisearch.
# You need to install Meilisearch and configure.
provider: sqlLike
# For Meilisearch settings.
# If you select "meilisearch" for "fulltextSearch.provider", it must be set.
# You can set scope to local (default value) or global # You can set scope to local (default value) or global
# (include notes from remote). # (include notes from remote).
@ -177,11 +151,6 @@ id: 'aidx'
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend: #sentryForFrontend:
# vueIntegration:
# tracingOptions:
# trackComponents: true
# browserTracingIntegration:
# replayIntegration:
# options: # options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
@ -227,6 +196,12 @@ proxyBypassHosts:
# Media Proxy # Media Proxy
#mediaProxy: https://example.com/proxy #mediaProxy: https://example.com/proxy
# Proxy remote files (default: true)
proxyRemoteFiles: true
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
# For security reasons, uploading attachments from the intranet is prohibited, # For security reasons, uploading attachments from the intranet is prohibited,
# but exceptions can be made from the following settings. Default value is "undefined". # 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)). # Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)).
@ -236,13 +211,3 @@ proxyBypassHosts:
# Upload or download file size limits (bytes) # Upload or download file size limits (bytes)
#maxFileSize: 262144000 #maxFileSize: 262144000
# Log settings
# logging:
# sql:
# # Outputs query parameters during SQL execution to the log.
# # default: false
# enableQueryParamLogging: false
# # Disable query truncation. If set to true, the full text of the query will be output to the log.
# # default: false
# disableQueryTruncation: false

View file

@ -59,20 +59,6 @@
# #
# publishTarballInsteadOfProvideRepositoryUrl: true # publishTarballInsteadOfProvideRepositoryUrl: true
# ┌────────────────────────┐
#───┘ Initial Setup Password └─────────────────────────────────────────────────────
# Password to initiate setting up admin account.
# It will not be used after the initial setup is complete.
#
# Be sure to change this when you set up Misskey via the Internet.
#
# The provider of the service who sets up Misskey on behalf of the customer should
# set this value to something unique when generating the Misskey config file,
# and provide it to the customer.
#
# setupPassword: example_password_please_change_this_or_you_will_get_hacked
# ┌─────┐ # ┌─────┐
#───┘ URL └───────────────────────────────────────────────────── #───┘ URL └─────────────────────────────────────────────────────
@ -186,37 +172,9 @@ redis:
# # You can specify more ioredis options... # # You can specify more ioredis options...
# #username: example-username # #username: example-username
#redisForReactions: # ┌───────────────────────────┐
# host: localhost #───┘ MeiliSearch configuration └─────────────────────────────
# 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
# ┌───────────────────────────────┐
#───┘ Fulltext search configuration └─────────────────────────────
# These are the setting items for the full-text search provider.
fulltextSearch:
# You can select the ID generation method.
# - sqlLike (default)
# Use SQL-like search.
# This is a standard feature of PostgreSQL, so no special extensions are required.
# - sqlPgroonga
# Use pgroonga.
# You need to install pgroonga and configure it as a PostgreSQL extension.
# In addition to the above, you need to create a pgroonga index on the text column of the note table.
# see: https://pgroonga.github.io/tutorial/
# - meilisearch
# Use Meilisearch.
# You need to install Meilisearch and configure.
provider: sqlLike
# For Meilisearch settings.
# If you select "meilisearch" for "fulltextSearch.provider", it must be set.
# You can set scope to local (default value) or global # You can set scope to local (default value) or global
# (include notes from remote). # (include notes from remote).
@ -259,11 +217,6 @@ id: 'aidx'
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend: #sentryForFrontend:
# vueIntegration:
# tracingOptions:
# trackComponents: true
# browserTracingIntegration:
# replayIntegration:
# options: # options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
@ -319,12 +272,19 @@ proxyBypassHosts:
# * Perform image compression (on a different server resource than the main process) # * Perform image compression (on a different server resource than the main process)
#mediaProxy: https://example.com/proxy #mediaProxy: https://example.com/proxy
# Proxy remote files (default: true)
# Proxy remote files by this instance or mediaProxy to prevent remote files from running in remote domains.
proxyRemoteFiles: true
# Movie Thumbnail Generation URL # Movie Thumbnail Generation URL
# There is no reference implementation. # There is no reference implementation.
# For example, Misskey will point to the following URL: # For example, Misskey will point to the following URL:
# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4 # https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4
#videoThumbnailGenerator: https://example.com #videoThumbnailGenerator: https://example.com
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
# For security reasons, uploading attachments from the intranet is prohibited, # For security reasons, uploading attachments from the intranet is prohibited,
# but exceptions can be made from the following settings. Default value is "undefined". # 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)). # Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)).
@ -337,13 +297,3 @@ proxyBypassHosts:
# PID File of master process # PID File of master process
#pidFile: /tmp/misskey.pid #pidFile: /tmp/misskey.pid
# Log settings
# logging:
# sql:
# # Outputs query parameters during SQL execution to the log.
# # default: false
# enableQueryParamLogging: false
# # Disable query truncation. If set to true, the full text of the query will be output to the log.
# # default: false
# disableQueryTruncation: false

View file

@ -5,11 +5,9 @@
"workspaceFolder": "/workspace", "workspaceFolder": "/workspace",
"features": { "features": {
"ghcr.io/devcontainers/features/node:1": { "ghcr.io/devcontainers/features/node:1": {
"version": "22.15.0" "version": "20.16.0"
}, },
"ghcr.io/devcontainers-extra/features/pnpm:2": { "ghcr.io/devcontainers-contrib/features/corepack:1": {}
"version": "10.10.0"
}
}, },
"forwardPorts": [3000], "forwardPorts": [3000],
"postCreateCommand": "/bin/bash .devcontainer/init.sh", "postCreateCommand": "/bin/bash .devcontainer/init.sh",

View file

@ -103,14 +103,6 @@ redis:
# #prefix: example-prefix # #prefix: example-prefix
# #db: 1 # #db: 1
#redisForReactions:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# ┌───────────────────────────┐ # ┌───────────────────────────┐
#───┘ MeiliSearch configuration └───────────────────────────── #───┘ MeiliSearch configuration └─────────────────────────────
@ -152,11 +144,6 @@ id: 'aidx'
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend: #sentryForFrontend:
# vueIntegration:
# tracingOptions:
# trackComponents: true
# browserTracingIntegration:
# replayIntegration:
# options: # options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
@ -202,6 +189,12 @@ proxyBypassHosts:
# Media Proxy # Media Proxy
#mediaProxy: https://example.com/proxy #mediaProxy: https://example.com/proxy
# Proxy remote files (default: true)
proxyRemoteFiles: true
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
allowedPrivateNetworks: [ allowedPrivateNetworks: [
'127.0.0.1/32' '127.0.0.1/32'
] ]

View file

@ -3,13 +3,12 @@
set -xe set -xe
sudo chown node node_modules sudo chown node node_modules
sudo apt-get update
sudo apt-get -y install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth xvfb
git config --global --add safe.directory /workspace git config --global --add safe.directory /workspace
git submodule update --init git submodule update --init
corepack install
corepack enable
pnpm config set store-dir /home/node/.local/share/pnpm/store pnpm config set store-dir /home/node/.local/share/pnpm/store
pnpm install --frozen-lockfile pnpm install --frozen-lockfile
cp .devcontainer/devcontainer.yml .config/default.yml cp .devcontainer/devcontainer.yml .config/default.yml
pnpm build pnpm build
pnpm migrate pnpm migrate
pnpm exec cypress install

View file

@ -13,7 +13,3 @@ trim_trailing_whitespace = false
[*.{yml,yaml}] [*.{yml,yaml}]
indent_style = space indent_style = space
[packages/backend/migration/*.js]
indent_style = space
indent_size = 4

View file

@ -54,7 +54,7 @@ body:
* Model and OS of the device(s): MacBook Pro (14inch, 2021), macOS Ventura 13.4 * Model and OS of the device(s): MacBook Pro (14inch, 2021), macOS Ventura 13.4
* Browser: Chrome 113.0.5672.126 * Browser: Chrome 113.0.5672.126
* Server URL: misskey.example.com * Server URL: misskey.example.com
* Misskey: 2025.x.x * Misskey: 2024.x.x
value: | value: |
* Model and OS of the device(s): * Model and OS of the device(s):
* Browser: * Browser:
@ -74,7 +74,7 @@ body:
Examples: Examples:
* Installation Method or Hosting Service: docker compose, k8s/docker, systemd, "Misskey install shell script", development environment * Installation Method or Hosting Service: docker compose, k8s/docker, systemd, "Misskey install shell script", development environment
* Misskey: 2025.x.x * Misskey: 2024.x.x
* Node: 20.x.x * Node: 20.x.x
* PostgreSQL: 15.x.x * PostgreSQL: 15.x.x
* Redis: 7.x.x * Redis: 7.x.x

View file

@ -9,7 +9,7 @@ updates:
directory: "/" directory: "/"
schedule: schedule:
interval: daily interval: daily
open-pull-requests-limit: 0 open-pull-requests-limit: 100
# Add only the root, not each workspace item # Add only the root, not each workspace item
# https://github.com/dependabot/dependabot-core/issues/4993#issuecomment-1289133027 # https://github.com/dependabot/dependabot-core/issues/4993#issuecomment-1289133027
@ -17,13 +17,16 @@ updates:
directory: "/" directory: "/"
schedule: schedule:
interval: daily interval: daily
open-pull-requests-limit: 0 open-pull-requests-limit: 10
# List dependencies required to be updated together, sharing the same version numbers. # 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. # Those who simply have the common owner (e.g. @fastify) don't need to be listed.
groups: groups:
aws-sdk: aws-sdk:
patterns: patterns:
- "@aws-sdk/*" - "@aws-sdk/*"
bull-board:
patterns:
- "@bull-board/*"
nestjs: nestjs:
patterns: patterns:
- "@nestjs/*" - "@nestjs/*"

2
.github/labeler.yml vendored
View file

@ -6,7 +6,7 @@
'packages/backend:test': 'packages/backend:test':
- any: - any:
- changed-files: - changed-files:
- any-glob-to-any-file: ['packages/backend/test/**/*', 'packages/backend/test-federation/**/*'] - any-glob-to-any-file: ['packages/backend/test/**/*']
'packages/frontend': 'packages/frontend':
- any: - any:

View file

@ -1 +0,0 @@
20.18.1

View file

@ -1,7 +1,5 @@
url: 'http://misskey.local' url: 'http://misskey.local'
setupPassword: example_password_please_change_this_or_you_will_get_hacked
# ローカルでテストするときにポートを被らないようにするためデフォルトのものとは変える(以下同じ) # ローカルでテストするときにポートを被らないようにするためデフォルトのものとは変える(以下同じ)
port: 61812 port: 61812
@ -15,5 +13,3 @@ redis:
host: 127.0.0.1 host: 127.0.0.1
port: 56312 port: 56312
id: aidx id: aidx
proxyRemoteFiles: true

View file

@ -16,13 +16,12 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.1.1
- name: Setup pnpm - run: corepack enable
uses: pnpm/action-setup@v4.1.0
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.0.3
with: with:
node-version-file: '.node-version' node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'

View file

@ -12,9 +12,9 @@ jobs:
steps: steps:
- name: Checkout head - name: Checkout head
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.1.1
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.0.3
with: with:
node-version-file: '.node-version' node-version-file: '.node-version'

View file

@ -18,10 +18,9 @@ jobs:
if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }} if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.1.1
with: with:
submodules: true submodules: true
persist-credentials: false
ref: refs/pull/${{ github.event.pull_request.number }}/merge ref: refs/pull/${{ github.event.pull_request.number }}/merge
- name: setup pnpm - name: setup pnpm
@ -29,7 +28,7 @@ jobs:
- name: setup node - name: setup node
id: setup-node id: setup-node
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.0.3
with: with:
node-version-file: '.node-version' node-version-file: '.node-version'
cache: pnpm cache: pnpm
@ -58,7 +57,7 @@ jobs:
name: generated-misskey-js name: generated-misskey-js
path: packages/misskey-js/generator/built/autogen path: packages/misskey-js/generator/built/autogen
# pull_request_target safety: permissions: read-all, and no user codes are executed # pull_request_target safety: permissions: read-all, and there are no secrets used in this job
get-actual-misskey-js: get-actual-misskey-js:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
@ -66,10 +65,9 @@ jobs:
if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }} if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.1.1
with: with:
submodules: true submodules: true
persist-credentials: false
ref: refs/pull/${{ github.event.pull_request.number }}/merge ref: refs/pull/${{ github.event.pull_request.number }}/merge
- name: Upload From Merged - name: Upload From Merged
@ -133,7 +131,3 @@ jobs:
mode: delete mode: delete
message: "Thank you!" message: "Thank you!"
create_if_not_exists: false create_if_not_exists: false
- name: Make failure if changes are detected
if: steps.check-changes.outputs.changes == 'true'
run: exit 1

View file

@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.1.1
- name: Check version - name: Check version
run: | run: |
if [ "$(jq -r '.version' package.json)" != "$(jq -r '.version' packages/misskey-js/package.json)" ]; then if [ "$(jq -r '.version' package.json)" != "$(jq -r '.version' packages/misskey-js/package.json)" ]; then

View file

@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.1.1
- name: Check - name: Check
run: | run: |
counter=0 counter=0
@ -48,17 +48,12 @@ jobs:
"packages/backend/migration" "packages/backend/migration"
"packages/backend/src" "packages/backend/src"
"packages/backend/test" "packages/backend/test"
"packages/frontend-shared/@types"
"packages/frontend-shared/js"
"packages/frontend/.storybook" "packages/frontend/.storybook"
"packages/frontend/@types" "packages/frontend/@types"
"packages/frontend/lib" "packages/frontend/lib"
"packages/frontend/public" "packages/frontend/public"
"packages/frontend/src" "packages/frontend/src"
"packages/frontend/test" "packages/frontend/test"
"packages/frontend-embed/@types"
"packages/frontend-embed/src"
"packages/icons-subsetter/src"
"packages/misskey-bubble-game/src" "packages/misskey-bubble-game/src"
"packages/misskey-reversi/src" "packages/misskey-reversi/src"
"packages/sw/src" "packages/sw/src"

View file

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

View file

@ -28,7 +28,7 @@ jobs:
wait_time: ${{ steps.get-wait-time.outputs.wait_time }} wait_time: ${{ steps.get-wait-time.outputs.wait_time }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.1.1
- name: Check allowed users - name: Check allowed users
id: check-allowed-users id: check-allowed-users

View file

@ -27,7 +27,7 @@ jobs:
platform=${{ matrix.platform }} platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Check out the repo - name: Check out the repo
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.1.1
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
- name: Log in to Docker Hub - name: Log in to Docker Hub

View file

@ -32,7 +32,7 @@ jobs:
platform=${{ matrix.platform }} platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Check out the repo - name: Check out the repo
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.1.1
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
- name: Docker meta - name: Docker meta

View file

@ -15,7 +15,7 @@ jobs:
DOCKER_CONTENT_TRUST: 1 DOCKER_CONTENT_TRUST: 1
DOCKLE_VERSION: 0.4.14 DOCKLE_VERSION: 0.4.14
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.1.1
- name: Download and install dockle v${{ env.DOCKLE_VERSION }} - name: Download and install dockle v${{ env.DOCKLE_VERSION }}
run: | run: |
curl -L -o dockle.deb "https://github.com/goodwithtech/dockle/releases/download/v${DOCKLE_VERSION}/dockle_${DOCKLE_VERSION}_Linux-64bit.deb" curl -L -o dockle.deb "https://github.com/goodwithtech/dockle/releases/download/v${DOCKLE_VERSION}/dockle_${DOCKLE_VERSION}_Linux-64bit.deb"

View file

@ -17,6 +17,7 @@ jobs:
strategy: strategy:
matrix: matrix:
node-version: [20.16.0]
api-json-name: [api-base.json, api-head.json] api-json-name: [api-base.json, api-head.json]
include: include:
- api-json-name: api-base.json - api-json-name: api-base.json
@ -25,17 +26,18 @@ jobs:
ref: refs/pull/${{ github.event.number }}/merge ref: refs/pull/${{ github.event.number }}/merge
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.1.1
with: with:
ref: ${{ matrix.ref }} ref: ${{ matrix.ref }}
submodules: true submodules: true
- name: Setup pnpm - name: Install pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4
- name: Use Node.js - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.0.3
with: with:
node-version-file: '.node-version' node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml - name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml run: git diff --exit-code pnpm-lock.yaml

View file

@ -8,82 +8,67 @@ on:
paths: paths:
- packages/backend/** - packages/backend/**
- packages/frontend/** - packages/frontend/**
- packages/frontend-shared/**
- packages/frontend-embed/**
- packages/icons-subsetter/**
- packages/sw/** - packages/sw/**
- packages/misskey-js/** - packages/misskey-js/**
- packages/misskey-bubble-game/**
- packages/misskey-reversi/**
- packages/shared/eslint.config.js - packages/shared/eslint.config.js
- .github/workflows/lint.yml - .github/workflows/lint.yml
pull_request: pull_request:
paths: paths:
- packages/backend/** - packages/backend/**
- packages/frontend/** - packages/frontend/**
- packages/frontend-shared/**
- packages/frontend-embed/**
- packages/icons-subsetter/**
- packages/sw/** - packages/sw/**
- packages/misskey-js/** - packages/misskey-js/**
- packages/misskey-bubble-game/**
- packages/misskey-reversi/**
- packages/shared/eslint.config.js - packages/shared/eslint.config.js
- .github/workflows/lint.yml - .github/workflows/lint.yml
jobs: jobs:
pnpm_install: pnpm_install:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.1.1
with: with:
fetch-depth: 0 fetch-depth: 0
submodules: true submodules: true
- name: Setup pnpm - uses: pnpm/action-setup@v4
uses: pnpm/action-setup@v4.1.0 - uses: actions/setup-node@v4.0.3
- uses: actions/setup-node@v4.4.0
with: with:
node-version-file: '.node-version' node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
lint: lint:
needs: [pnpm_install] needs: [pnpm_install]
runs-on: ubuntu-latest runs-on: ubuntu-latest
continue-on-error: true continue-on-error: true
env:
eslint-cache-version: v1
strategy: strategy:
matrix: matrix:
workspace: workspace:
- backend - backend
- frontend - frontend
- frontend-shared
- frontend-embed
- icons-subsetter
- sw - sw
- misskey-js - misskey-js
- misskey-bubble-game
- misskey-reversi
env:
eslint-cache-version: v1
eslint-cache-path: ${{ github.workspace }}/node_modules/.cache/eslint-${{ matrix.workspace }}
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.1.1
with: with:
fetch-depth: 0 fetch-depth: 0
submodules: true submodules: true
- name: Setup pnpm - uses: pnpm/action-setup@v4
uses: pnpm/action-setup@v4.1.0 - uses: actions/setup-node@v4.0.3
- uses: actions/setup-node@v4.4.0
with: with:
node-version-file: '.node-version' node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- name: Restore eslint cache - name: Restore eslint cache
uses: actions/cache@v4.2.3 uses: actions/cache@v4.0.2
with: with:
path: ${{ env.eslint-cache-path }} path: node_modules/.cache/eslint
key: eslint-${{ env.eslint-cache-version }}-${{ matrix.workspace }}-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.ref_name }}-${{ github.sha }} key: eslint-${{ env.eslint-cache-version }}-${{ hashFiles('/pnpm-lock.yaml') }}-${{ github.ref_name }}-${{ github.sha }}
restore-keys: eslint-${{ env.eslint-cache-version }}-${{ matrix.workspace }}-${{ hashFiles('**/pnpm-lock.yaml') }}- restore-keys: |
- run: pnpm --filter ${{ matrix.workspace }} run eslint --cache --cache-location ${{ env.eslint-cache-path }} --cache-strategy content eslint-${{ env.eslint-cache-version }}-${{ hashFiles('/pnpm-lock.yaml') }}-
- run: pnpm --filter ${{ matrix.workspace }} run eslint --cache --cache-location node_modules/.cache/eslint --cache-strategy content
typecheck: typecheck:
needs: [pnpm_install] needs: [pnpm_install]
@ -93,22 +78,21 @@ jobs:
matrix: matrix:
workspace: workspace:
- backend - backend
- sw
- misskey-js - misskey-js
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.1.1
with: with:
fetch-depth: 0 fetch-depth: 0
submodules: true submodules: true
- name: Setup pnpm - uses: pnpm/action-setup@v4
uses: pnpm/action-setup@v4.1.0 - uses: actions/setup-node@v4.0.3
- uses: actions/setup-node@v4.4.0
with: with:
node-version-file: '.node-version' node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- run: pnpm --filter misskey-js run build - run: pnpm --filter misskey-js run build
if: ${{ matrix.workspace == 'backend' || matrix.workspace == 'sw' }} if: ${{ matrix.workspace == 'backend' }}
- run: pnpm --filter misskey-reversi run build - run: pnpm --filter misskey-reversi run build
if: ${{ matrix.workspace == 'backend' }} if: ${{ matrix.workspace == 'backend' }}
- run: pnpm --filter ${{ matrix.workspace }} run typecheck - run: pnpm --filter ${{ matrix.workspace }} run typecheck

View file

@ -14,15 +14,15 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
continue-on-error: true continue-on-error: true
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.1.1
with: with:
fetch-depth: 0 fetch-depth: 0
submodules: true submodules: true
- name: Setup pnpm - uses: pnpm/action-setup@v4
uses: pnpm/action-setup@v4.1.0 - uses: actions/setup-node@v4.0.3
- uses: actions/setup-node@v4.4.0
with: with:
node-version-file: '.node-version' node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- run: cd locales && node verify.js - run: cd locales && node verify.js

36
.github/workflows/ok-to-test.yml vendored Normal file
View file

@ -0,0 +1,36 @@
# If someone with write access comments "/ok-to-test" on a pull request, emit a repository_dispatch event
name: Ok To Test
on:
issue_comment:
types: [created]
jobs:
ok-to-test:
runs-on: ubuntu-latest
# Only run for PRs, not issue comments
if: ${{ github.event.issue.pull_request }}
steps:
# Generate a GitHub App installation access token from an App ID and private key
# To create a new GitHub App:
# https://developer.github.com/apps/building-github-apps/creating-a-github-app/
# See app.yml for an example app manifest
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@v2
with:
app_id: ${{ secrets.DEPLOYBOT_APP_ID }}
private_key: ${{ secrets.DEPLOYBOT_PRIVATE_KEY }}
- name: Slash Command Dispatch
uses: peter-evans/slash-command-dispatch@v4
env:
TOKEN: ${{ steps.generate_token.outputs.token }}
with:
token: ${{ env.TOKEN }} # GitHub App installation access token
# token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} # PAT or OAuth token will also work
reaction-token: ${{ secrets.GITHUB_TOKEN }}
issue-type: pull-request
commands: deploy
named-args: true
permission: write

View file

@ -15,21 +15,25 @@ jobs:
contents: read contents: read
id-token: write id-token: write
strategy:
matrix:
node-version: [20.16.0]
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.1.1
with: with:
submodules: true submodules: true
- name: Setup pnpm - name: Install pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4
- name: Use Node.js - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.0.3
with: with:
node-version-file: '.node-version' node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'pnpm'
# see https://docs.github.com/actions/use-cases-and-examples/publishing-packages/publishing-nodejs-packages#publishing-packages-to-the-npm-registry
registry-url: 'https://registry.npmjs.org' registry-url: 'https://registry.npmjs.org'
- name: Publish package - name: Publish package
run: | run: |
corepack enable
pnpm i --frozen-lockfile pnpm i --frozen-lockfile
pnpm build pnpm build
pnpm --filter misskey-js publish --access public --no-git-checks --provenance pnpm --filter misskey-js publish --access public --no-git-checks --provenance

92
.github/workflows/pr-preview-deploy.yml vendored Normal file
View file

@ -0,0 +1,92 @@
# Run secret-dependent integration tests only after /deploy approval
on:
repository_dispatch:
types: [deploy-command]
name: Deploy preview environment
jobs:
# Repo owner has commented /deploy on a (fork-based) pull request
deploy-preview-environment:
runs-on: ubuntu-latest
if:
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
id: check-id
env:
number: ${{ github.event.client_payload.pull_request.number }}
job: ${{ github.job }}
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
result-encoding: string
script: |
const { data: pull } = await github.rest.pulls.get({
...context.repo,
pull_number: process.env.number
});
const ref = pull.head.sha;
const { data: checks } = await github.rest.checks.listForRef({
...context.repo,
ref
});
const check = checks.check_runs.filter(c => c.name === process.env.job);
return check[0].id;
- uses: actions/github-script@v7.0.1
env:
check_id: ${{ steps.check-id.outputs.result }}
details_url: ${{ github.server_url }}/${{ github.repository }}/runs/${{ github.run_id }}
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
await github.rest.checks.update({
...context.repo,
check_run_id: process.env.check_id,
status: 'in_progress',
details_url: process.env.details_url
});
# Check out merge commit
- name: Fork based /deploy checkout
uses: actions/checkout@v4.1.1
with:
ref: 'refs/pull/${{ github.event.client_payload.pull_request.number }}/merge'
# <insert integration tests needing secrets>
- name: Context
uses: okteto/context@latest
with:
token: ${{ secrets.OKTETO_TOKEN }}
- name: Deploy preview environment
uses: ikuradon/deploy-preview@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: pr-${{ github.event.client_payload.pull_request.number }}-syuilo
timeout: 15m
# Update check run called "integration-fork"
- uses: actions/github-script@v7.0.1
id: update-check-run
if: ${{ always() }}
env:
# Conveniently, job.status maps to https://developer.github.com/v3/checks/runs/#update-a-check-run
conclusion: ${{ job.status }}
check_id: ${{ steps.check-id.outputs.result }}
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const { data: result } = await github.rest.checks.update({
...context.repo,
check_run_id: process.env.check_id,
status: 'completed',
conclusion: process.env.conclusion
});
return result;

View file

@ -0,0 +1,54 @@
# file: .github/workflows/preview-closed.yaml
on:
pull_request:
types:
- closed
name: Destroy preview environment
jobs:
destroy-preview-environment:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v7.0.1
id: check-conclusion
env:
number: ${{ github.event.number }}
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
result-encoding: string
script: |
const { data: pull } = await github.rest.pulls.get({
...context.repo,
pull_number: process.env.number
});
const ref = pull.head.sha;
const { data: checks } = await github.rest.checks.listForRef({
...context.repo,
ref
});
const check = checks.check_runs.filter(c => c.name === 'deploy-preview-environment');
if (check.length === 0) {
return;
}
const { data: result } = await github.rest.checks.get({
...context.repo,
check_run_id: check[0].id,
});
return result.conclusion;
- name: Context
if: steps.check-conclusion.outputs.result == 'success'
uses: okteto/context@latest
with:
token: ${{ secrets.OKTETO_TOKEN }}
- name: Destroy preview environment
if: steps.check-conclusion.outputs.result == 'success'
uses: okteto/destroy-preview@latest
with:
name: pr-${{ github.event.number }}-syuilo

View file

@ -60,13 +60,13 @@ jobs:
### General ### General
- -
### Client ### Client
- -
### Server ### Server
- -
use_external_app_to_release: ${{ vars.USE_RELEASE_APP == 'true' }} use_external_app_to_release: ${{ vars.USE_RELEASE_APP == 'true' }}
indent: ${{ vars.INDENT }} indent: ${{ vars.INDENT }}
secrets: secrets:
@ -86,7 +86,6 @@ jobs:
draft_prerelease_channel: alpha draft_prerelease_channel: alpha
ready_start_prerelease_channel: beta ready_start_prerelease_channel: beta
prerelease_channel: ${{ inputs.start-rc && 'rc' || '' }} prerelease_channel: ${{ inputs.start-rc && 'rc' || '' }}
reset_number_on_channel_change: true
secrets: secrets:
RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }} RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }}
RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}

View file

@ -0,0 +1,46 @@
name: "Release Manager: release RC when ready for review"
on:
pull_request:
types: [ready_for_review]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
permissions:
contents: write
issues: write
pull-requests: write
jobs:
check:
runs-on: ubuntu-latest
outputs:
head: ${{ steps.get_pr.outputs.head }}
base: ${{ steps.get_pr.outputs.base }}
steps:
- uses: actions/checkout@v4
# PR情報を取得
- name: Get PR
run: |
pr_json=$(gh pr view "$PR_NUMBER" --json isDraft,headRefName,baseRefName)
echo "head=$(echo $pr_json | jq -r '.headRefName')" >> $GITHUB_OUTPUT
echo "base=$(echo $pr_json | jq -r '.baseRefName')" >> $GITHUB_OUTPUT
id: get_pr
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
release:
uses: misskey-dev/release-manager-actions/.github/workflows/create-prerelease.yml@v2
needs: check
if: needs.check.outputs.head == github.event.repository.default_branch && needs.check.outputs.base == vars.STABLE_BRANCH
with:
pr_number: ${{ github.event.pull_request.number }}
user: 'github-actions[bot]'
package_jsons_to_rewrite: ${{ vars.PACKAGE_JSONS_TO_REWRITE }}
use_external_app_to_release: ${{ vars.USE_RELEASE_APP == 'true' }}
indent: ${{ vars.INDENT }}
draft_prerelease_channel: alpha
ready_start_prerelease_channel: beta
secrets:
RELEASE_APP_ID: ${{ secrets.RELEASE_APP_ID }}
RELEASE_APP_PRIVATE_KEY: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}

View file

@ -70,25 +70,18 @@ jobs:
- id: out-diff - id: out-diff
name: Build diff Comment name: Build diff Comment
run: | run: |
HEADER="このPRによるapi.jsonの差分" cat <<- EOF > ./output.md
FOOTER="[Get diff files from Workflow Page](https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})" このPRによるapi.jsonの差分
DIFF_BYTES="$(stat ./api.json.diff -c '%s' | tr -d '\n')" <details>
<summary>差分はこちら</summary>
echo "$HEADER" > ./output.md
\`\`\`diff
if (( "$DIFF_BYTES" <= 1 )); then $(cat ./api.json.diff)
echo '差分はありません。' >> ./output.md \`\`\`
else </details>
echo '<details>' >> ./output.md
echo '<summary>差分はこちら</summary>' >> ./output.md [Get diff files from Workflow Page](https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})
echo >> ./output.md EOF
echo '```diff' >> ./output.md
cat ./api.json.diff >> ./output.md
echo '```' >> ./output.md
echo '</details>' >> .output.md
fi
echo "$FOOTER" >> ./output.md
- uses: thollander/actions-comment-pull-request@v2 - uses: thollander/actions-comment-pull-request@v2
with: with:
pr_number: ${{ steps.load-pr-num.outputs.pr-number }} pr_number: ${{ steps.load-pr-num.outputs.pr-number }}

View file

@ -5,6 +5,7 @@ on:
branches: branches:
- master - master
- develop - develop
- dev/storybook8 # for testing
pull_request_target: pull_request_target:
branches-ignore: branches-ignore:
# Since pull requests targets master mostly is the "develop" branch. # Since pull requests targets master mostly is the "develop" branch.
@ -14,20 +15,18 @@ on:
jobs: jobs:
build: build:
# Chromatic is not likely to be available for fork repositories, so we disable for fork repositories.
if: github.repository == 'misskey-dev/misskey'
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
NODE_OPTIONS: "--max_old_space_size=7168" NODE_OPTIONS: "--max_old_space_size=7168"
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.1.1
if: github.event_name != 'pull_request_target' if: github.event_name != 'pull_request_target'
with: with:
fetch-depth: 0 fetch-depth: 0
submodules: true submodules: true
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.1.1
if: github.event_name == 'pull_request_target' if: github.event_name == 'pull_request_target'
with: with:
fetch-depth: 0 fetch-depth: 0
@ -35,19 +34,23 @@ jobs:
ref: "refs/pull/${{ github.event.number }}/merge" ref: "refs/pull/${{ github.event.number }}/merge"
- name: Checkout actual HEAD - name: Checkout actual HEAD
if: github.event_name == 'pull_request_target' if: github.event_name == 'pull_request_target'
run: git checkout "$(git rev-list --parents -n1 HEAD | cut -d" " -f3)" id: rev
- name: Setup pnpm run: |
uses: pnpm/action-setup@v4.1.0 echo "base=$(git rev-list --parents -n1 HEAD | cut -d" " -f2)" >> $GITHUB_OUTPUT
- name: Use Node.js git checkout $(git rev-list --parents -n1 HEAD | cut -d" " -f3)
uses: actions/setup-node@v4.4.0 - name: Install pnpm
uses: pnpm/action-setup@v4
- name: Use Node.js 20.x
uses: actions/setup-node@v4.0.3
with: with:
node-version-file: '.node-version' node-version-file: '.node-version'
cache: 'pnpm' cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml - name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml run: git diff --exit-code pnpm-lock.yaml
- name: Build dependent packages - name: Build misskey-js
run: pnpm -F misskey-js -F misskey-bubble-game -F misskey-reversi build run: pnpm --filter misskey-js build
- name: Build storybook - name: Build storybook
run: pnpm --filter frontend build-storybook run: pnpm --filter frontend build-storybook
- name: Publish to Chromatic - name: Publish to Chromatic
@ -78,16 +81,21 @@ jobs:
if: github.event_name == 'pull_request_target' if: github.event_name == 'pull_request_target'
id: chromatic_pull_request id: chromatic_pull_request
run: | run: |
CHROMATIC_PARAMETER="$(node packages/frontend/.storybook/changes.js $(git diff --name-only origin/${GITHUB_BASE_REF}...origin/${GITHUB_HEAD_REF} | xargs))" 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 if [ "$CHROMATIC_PARAMETER" = " --skip" ]; then
echo "skip=true" >> $GITHUB_OUTPUT echo "skip=true" >> $GITHUB_OUTPUT
fi fi
BRANCH="${{ github.event.pull_request.head.user.login }}:$GITHUB_HEAD_REF" BRANCH="${{ github.event.pull_request.head.user.login }}:$HEAD_REF"
if [ "$BRANCH" = "misskey-dev:$GITHUB_HEAD_REF" ]; then if [ "$BRANCH" = "misskey-dev:$HEAD_REF" ]; then
BRANCH="$GITHUB_HEAD_REF" BRANCH="$HEAD_REF"
fi fi
pnpm --filter frontend chromatic --exit-once-uploaded -d storybook-static --branch-name "$BRANCH" $(echo "$CHROMATIC_PARAMETER") pnpm --filter frontend chromatic --exit-once-uploaded -d storybook-static --branch-name "$BRANCH" $(echo "$CHROMATIC_PARAMETER")
env: env:
HEAD_REF: ${{ github.event.pull_request.head.ref }}
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
- name: Notify that Chromatic detects changes - name: Notify that Chromatic detects changes
uses: actions/github-script@v7.0.1 uses: actions/github-script@v7.0.1

View file

@ -10,31 +10,19 @@ on:
# for permissions # for permissions
- packages/misskey-js/** - packages/misskey-js/**
- .github/workflows/test-backend.yml - .github/workflows/test-backend.yml
- .github/misskey/test.yml
pull_request: pull_request:
paths: paths:
- packages/backend/** - packages/backend/**
# for permissions # for permissions
- packages/misskey-js/** - packages/misskey-js/**
- .github/workflows/test-backend.yml - .github/workflows/test-backend.yml
- .github/misskey/test.yml
workflow_dispatch:
inputs:
force_ffmpeg_cache_update:
description: 'Force update ffmpeg cache'
required: false
default: false
type: boolean
jobs: jobs:
unit: unit:
name: Unit tests (backend)
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
node-version-file: node-version: [20.16.0]
- .node-version
- .github/min.node-version
services: services:
postgres: postgres:
@ -50,46 +38,19 @@ jobs:
- 56312:6379 - 56312:6379
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.1.1
with: with:
submodules: true submodules: true
- name: Setup pnpm - name: Install pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4
- name: Get current date
id: current-date
run: echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Setup and Restore ffmpeg/ffprobe Cache
id: cache-ffmpeg
uses: actions/cache@v4
with:
path: |
/usr/local/bin/ffmpeg
/usr/local/bin/ffprobe
# daily cache
key: ${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
restore-keys: |
${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
- name: Install FFmpeg - name: Install FFmpeg
if: steps.cache-ffmpeg.outputs.cache-hit != 'true' || github.event.inputs.force_ffmpeg_cache_update == true uses: FedericoCarboni/setup-ffmpeg@v3
run: | - name: Use Node.js ${{ matrix.node-version }}
for i in {1..3}; do uses: actions/setup-node@v4.0.3
echo "Attempt $i: Installing FFmpeg..."
curl -s -L https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz -o ffmpeg.tar.xz && \
tar -xf ffmpeg.tar.xz && \
mv ffmpeg-*-static/ffmpeg /usr/local/bin/ && \
mv ffmpeg-*-static/ffprobe /usr/local/bin/ && \
rm -rf ffmpeg.tar.xz ffmpeg-*-static/ && \
break || sleep 10
if [ $i -eq 3 ]; then
echo "Failed to install FFmpeg after 3 attempts"
exit 1
fi
done
- name: Use Node.js
uses: actions/setup-node@v4.4.0
with: with:
node-version-file: ${{ matrix.node-version-file }} node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml - name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml run: git diff --exit-code pnpm-lock.yaml
@ -100,19 +61,17 @@ jobs:
- name: Test - name: Test
run: pnpm --filter backend test-and-coverage run: pnpm --filter backend test-and-coverage
- name: Upload to Codecov - name: Upload to Codecov
uses: codecov/codecov-action@v5 uses: codecov/codecov-action@v4
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/coverage/coverage-final.json files: ./packages/backend/coverage/coverage-final.json
e2e: e2e:
name: E2E tests (backend)
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
node-version-file: node-version: [20.16.0]
- .node-version
- .github/min.node-version
services: services:
postgres: postgres:
@ -128,16 +87,17 @@ jobs:
- 56312:6379 - 56312:6379
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.1.1
with: with:
submodules: true submodules: true
- name: Setup pnpm - name: Install pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4
- name: Use Node.js - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.0.3
with: with:
node-version-file: ${{ matrix.node-version-file }} node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml - name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml run: git diff --exit-code pnpm-lock.yaml
@ -148,51 +108,7 @@ jobs:
- name: Test - name: Test
run: pnpm --filter backend test-and-coverage:e2e run: pnpm --filter backend test-and-coverage:e2e
- name: Upload to Codecov - name: Upload to Codecov
uses: codecov/codecov-action@v5 uses: codecov/codecov-action@v4
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/coverage/coverage-final.json files: ./packages/backend/coverage/coverage-final.json
migration:
name: Migration tests (backend)
runs-on: ubuntu-latest
strategy:
matrix:
node-version-file:
- .node-version
#- .github/min.node-version
services:
postgres:
image: postgres:15
ports:
- 54312:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
steps:
- uses: actions/checkout@v4.2.2
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- name: Get current date
id: current-date
run: echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Use Node.js
uses: actions/setup-node@v4.4.0
with:
node-version-file: ${{ matrix.node-version-file }}
cache: 'pnpm'
- 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: Run migrations
run: MISSKEY_CONFIG_YML=test.yml pnpm --filter backend migrate
- name: Check no migrations are remaining
run: MISSKEY_CONFIG_YML=test.yml pnpm --filter backend check-migrations

View file

@ -1,111 +0,0 @@
name: Test (federation)
on:
push:
branches:
- master
- develop
paths:
- packages/backend/**
- packages/misskey-js/**
- .github/workflows/test-federation.yml
pull_request:
paths:
- packages/backend/**
- packages/misskey-js/**
- .github/workflows/test-federation.yml
workflow_dispatch:
inputs:
force_ffmpeg_cache_update:
description: 'Force update ffmpeg cache'
required: false
default: false
type: boolean
jobs:
test:
name: Federation test
runs-on: ubuntu-latest
strategy:
matrix:
node-version-file:
- .node-version
- .github/min.node-version
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- name: Get current date
id: current-date
run: echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Setup and Restore ffmpeg/ffprobe Cache
id: cache-ffmpeg
uses: actions/cache@v4
with:
path: |
/usr/local/bin/ffmpeg
/usr/local/bin/ffprobe
# daily cache
key: ${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
restore-keys: |
${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
- name: Install FFmpeg
if: steps.cache-ffmpeg.outputs.cache-hit != 'true' || github.event.inputs.force_ffmpeg_cache_update == true
run: |
for i in {1..3}; do
echo "Attempt $i: Installing FFmpeg..."
curl -s -L https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz -o ffmpeg.tar.xz && \
tar -xf ffmpeg.tar.xz && \
mv ffmpeg-*-static/ffmpeg /usr/local/bin/ && \
mv ffmpeg-*-static/ffprobe /usr/local/bin/ && \
rm -rf ffmpeg.tar.xz ffmpeg-*-static/ && \
break || sleep 10
if [ $i -eq 3 ]; then
echo "Failed to install FFmpeg after 3 attempts"
exit 1
fi
done
- name: Use Node.js
uses: actions/setup-node@v4.4.0
with:
node-version-file: ${{ matrix.node-version-file }}
cache: 'pnpm'
- name: Build Misskey
run: |
pnpm i --frozen-lockfile
pnpm build
- name: Setup
run: |
echo "NODE_VERSION=$(cat ${{ matrix.node-version-file }})" >> $GITHUB_ENV
cd packages/backend/test-federation
bash ./setup.sh
sudo chmod 644 ./certificates/*.test.key
- name: Start servers
id: start_servers
continue-on-error: true
# https://github.com/docker/compose/issues/1294#issuecomment-374847206
run: |
cd packages/backend/test-federation
docker compose up -d --scale tester=0
- name: Print start_servers error
if: ${{ steps.start_servers.outcome == 'failure' }}
run: |
cd packages/backend/test-federation
docker compose logs | tail -n 300
exit 1
- name: Test
run: |
cd packages/backend/test-federation
docker compose run --no-deps tester
- name: Log
if: always()
run: |
cd packages/backend/test-federation
docker compose logs
- name: Stop servers
if: always()
run: |
cd packages/backend/test-federation
docker compose down

View file

@ -12,7 +12,6 @@ on:
# for e2e # for e2e
- packages/backend/** - packages/backend/**
- .github/workflows/test-frontend.yml - .github/workflows/test-frontend.yml
- .github/misskey/test.yml
pull_request: pull_request:
paths: paths:
- packages/frontend/** - packages/frontend/**
@ -21,23 +20,26 @@ on:
# for e2e # for e2e
- packages/backend/** - packages/backend/**
- .github/workflows/test-frontend.yml - .github/workflows/test-frontend.yml
- .github/misskey/test.yml
jobs: jobs:
vitest: vitest:
name: Unit tests (frontend)
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.16.0]
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.1.1
with: with:
submodules: true submodules: true
- name: Setup pnpm - name: Install pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4
- name: Use Node.js - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.0.3
with: with:
node-version-file: '.node-version' node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml - name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml run: git diff --exit-code pnpm-lock.yaml
@ -48,18 +50,18 @@ jobs:
- name: Test - name: Test
run: pnpm --filter frontend test-and-coverage run: pnpm --filter frontend test-and-coverage
- name: Upload Coverage - name: Upload Coverage
uses: codecov/codecov-action@v5 uses: codecov/codecov-action@v4
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/frontend/coverage/coverage-final.json files: ./packages/frontend/coverage/coverage-final.json
e2e: e2e:
name: E2E tests (frontend)
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
node-version: [20.16.0]
browser: [chrome] browser: [chrome]
services: services:
@ -76,7 +78,7 @@ jobs:
- 56312:6379 - 56312:6379
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.1.1
with: with:
submodules: true submodules: true
# https://github.com/cypress-io/cypress-docker-images/issues/150 # https://github.com/cypress-io/cypress-docker-images/issues/150
@ -85,13 +87,14 @@ jobs:
# if: ${{ matrix.browser == 'firefox' }} # if: ${{ matrix.browser == 'firefox' }}
#- uses: browser-actions/setup-firefox@latest #- uses: browser-actions/setup-firefox@latest
# if: ${{ matrix.browser == 'firefox' }} # if: ${{ matrix.browser == 'firefox' }}
- name: Setup pnpm - name: Install pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4
- name: Use Node.js - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.0.3
with: with:
node-version-file: '.node-version' node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- name: Copy Configure - name: Copy Configure
run: cp .github/misskey/test.yml .config run: cp .github/misskey/test.yml .config

View file

@ -16,21 +16,24 @@ on:
- .github/workflows/test-misskey-js.yml - .github/workflows/test-misskey-js.yml
jobs: jobs:
test: test:
name: Unit tests (misskey.js)
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.16.0]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.1.1
- name: Setup pnpm - run: corepack enable
uses: pnpm/action-setup@v4.1.0
- name: Setup Node.js - name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.0.3
with: with:
node-version-file: '.node-version' node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'pnpm'
- name: Install dependencies - name: Install dependencies
@ -48,7 +51,7 @@ jobs:
CI: true CI: true
- name: Upload Coverage - name: Upload Coverage
uses: codecov/codecov-action@v5 uses: codecov/codecov-action@v4
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/misskey-js/coverage/coverage-final.json files: ./packages/misskey-js/coverage/coverage-final.json

View file

@ -12,20 +12,24 @@ env:
jobs: jobs:
production: production:
name: Production build
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.16.0]
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.1.1
with: with:
submodules: true submodules: true
- name: Setup pnpm - name: Install pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4
- name: Use Node.js - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.0.3
with: with:
node-version-file: '.node-version' node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml - name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml run: git diff --exit-code pnpm-lock.yaml

View file

@ -1,4 +1,4 @@
name: api.json validation name: Test (backend)
on: on:
push: push:
@ -16,19 +16,24 @@ jobs:
validate-api-json: validate-api-json:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20.16.0]
steps: steps:
- uses: actions/checkout@v4.2.2 - uses: actions/checkout@v4.1.1
with: with:
submodules: true submodules: true
- name: Setup pnpm - name: Install pnpm
uses: pnpm/action-setup@v4.1.0 uses: pnpm/action-setup@v4
- name: Use Node.js - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.4.0 uses: actions/setup-node@v4.0.3
with: with:
node-version-file: '.node-version' node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'pnpm'
- name: Install Redocly CLI - name: Install Redocly CLI
run: npm i -g @redocly/cli run: npm i -g @redocly/cli
- run: corepack enable
- run: pnpm i --frozen-lockfile - run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml - name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml run: git diff --exit-code pnpm-lock.yaml

10
.gitignore vendored
View file

@ -35,9 +35,8 @@ coverage
!/.config/example.yml !/.config/example.yml
!/.config/docker_example.yml !/.config/docker_example.yml
!/.config/docker_example.env !/.config/docker_example.env
!/.config/cypress-devcontainer.yml
docker-compose.yml docker-compose.yml
./compose.yml compose.yml
.devcontainer/compose.yml .devcontainer/compose.yml
!/.devcontainer/compose.yml !/.devcontainer/compose.yml
@ -45,7 +44,6 @@ docker-compose.yml
/build /build
built built
built-test built-test
js-built
/data /data
/.cache-loader /.cache-loader
/db /db
@ -65,12 +63,6 @@ temp
tsdoc-metadata.json tsdoc-metadata.json
misskey-assets misskey-assets
# Vite temporary files
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
vite.config.local-dev.js.timestamp-*
vite.config.local-dev.ts.timestamp-*
# blender backups # blender backups
*.blend1 *.blend1
*.blend2 *.blend2

View file

@ -1 +1 @@
22.15.0 20.16.0

2
.npmrc
View file

@ -1,3 +1 @@
engine-strict = true engine-strict = true
save-exact = true
shell-emulator = true

View file

@ -6,12 +6,8 @@
"files.associations": { "files.associations": {
"*.test.ts": "typescript" "*.test.ts": "typescript"
}, },
"jest.jestCommandLine": "pnpm run jest",
"jest.runMode": "on-demand", "jest.runMode": "on-demand",
"jest.virtualFolders": [
{ "name": "backend unit", "jestCommandLine": "pnpm -F backend run test" },
{ "name": "backend e2e", "jestCommandLine": "pnpm -F backend run test:e2e"},
{ "name": "misskey-js", "jestCommandLine": "pnpm -F misskey-js run jest" }
],
"editor.codeActionsOnSave": { "editor.codeActionsOnSave": {
"source.fixAll": "explicit" "source.fixAll": "explicit"
}, },

View file

@ -1,683 +1,3 @@
## Unreleased
### General
-
### Client
-
### Server
-
## 2025.7.0
### Note
- Node.jsの最小バージョンを20.10.0から20.18.1に引き上げました
- なお、特に必要がない限りNode.jsは推奨バージョンであるv22を使用するようにしてください
### General
- Feat: ノートの下書き機能
- Feat: クリップ内でノートを検索できるように
- Feat: Playを検索できるように
- Feat: モデレーションにおいて、特定のドライブファイルを添付しているチャットメッセージを一覧できるように
- Enhance: ウォーターマーク機能をロールで制御可能に
### Client
- Note: 「自動でもっと見る」オプションは無効になっています
- Feat: モデログを検索できるように
- Enhance: 設定の自動バックアップをオンにした直後に自動バックアップするように
- Enhance: ファイルアップロード前にキャプション設定を行えるように
- Enhance: ファイルアップロード時にセンシティブ設定されているか表示するように
- Enhance: 投稿フォームにファイルをペースト/ドロップした際のUXを改善
- Enhance: ページネーション(一覧表示)の並び順を逆にできるように
- Enhance: ページネーション(一覧表示)の基準日時を指定できるように
- Enhance: レンダリングパフォーマンスの向上
- Fix: ファイルがドライブの既定アップロード先に指定したフォルダにアップロードされない問題を修正
- Fix: プラグインをアンインストールしてもセーブデータが残る問題を修正
- Fix: 数時間後Misskeyのタブに戻った際に、タブがスロットリングされている間の更新アニメーションを延々見せ続けられる問題を修正
- Fix: 非ログイン時のハイライトートの画像がCWの有無を考慮せず表示される問題を修正
- Fix: レンジ選択・ドロップダウンにて、操作を無効にすべきところで無効にならない問題を修正
- Fix: Pull to refreshが有効なときに横スクロールができない問題を修正
### Server
- Enhance: sinceId/untilIdが指定可能なエンドポイントにおいて、sinceDate/untilDateも指定可能に
- Enhance: メールの送信者としてサーバー名を表示するように (サーバー名が設定されている場合)
- Fix: ジョブキューのProgressの値を正しく計算する
## 2025.6.3
### Client
- Fix: キャッシュを削除しないとクライアントが使用できないことがある問題を修正
## 2025.6.2
### Client
- Fix: キャッシュを削除しないとクライアントが使用できないことがある問題を修正
- 翻訳の更新
## 2025.6.1
### Note
- AiScript Misskey拡張APIMisskey Webプラグインの[note_view_interruptor](https://misskey-hub.net/ja/docs/for-developers/plugin/plugin-api-reference/#pluginregister_note_view_interruptorfn)は不具合の影響により現在一時的に無効化されています。
- Misskey Web投稿フォームのプレビュー切り替えは「...」メニュー内に配置されました
### Client
- Feat: 画像にウォーターマークを付与できるようになりました
- Feat: 画像の加工ができるようになりました(実験的)
- Enhance: ノートのリアクション一覧で、押せるリアクションを優先して表示できるようにするオプションを追加
- Enhance: 全てのチャットメッセージを既読にできるように(設定→その他)
- Enhance: ミュートした絵文字をデバイス間で同期できるように
- Fix: ドライブファイルの選択が不安定な問題を修正
- Fix: コントロールパネルのファイル欄などのデザインが崩れている問題を修正
- Fix: ユーザーの検索結果を追加で読み込むことができない問題を修正
- Fix: タッチ操作時にチャートのツールチップが消えなくなる場合がある問題を修正
- Fix: ウェルカムタイムラインでリアクションが表示されない問題を修正
- Fix: デッキのタイムラインカラムで新着ノート時のサウンドが再生されない問題を修正
### Server
- Feat: 全てのチャットメッセージを既読にするAPIを追加(chat/read-all)
- Fix: アカウント削除が正常に行われないことがあった問題を修正
- Fix: outboxのページネーションが正しく行われない問題を修正
### Misskey.js
- Fix: misskey-jsの drive/file/create でファイルアップロードができない問題を修正
## 2025.6.0
### Client
- Enhance: 非同期的なコンポーネントの読み込み時のハンドリングを強化
- Fix: リアクションの一部の絵文字が重複して表示されることがある問題を修正
- Fix: 非利用者に対するユーザー作成コンテンツの公開範囲が全て非公開になっている場合にログインできない問題を修正
### Server
- Fix: 非利用者に対するユーザー作成コンテンツの公開範囲が全て非公開になっている場合でもusers/showを許可するように
## 2025.5.1
### Note
- 設定ファイルの以下の項目がコントロールパネルから設定するようになりました
- signToActivityPubGet
- proxyRemoteFiles
- disallowExternalApRedirect
- 許可しないかどうかではなく、許可するかどうかの設定(allowExternalApRedirect)になりました
### General
- Feat: 非ログインでサーバーを閲覧された際に、サーバー内のコンテンツを非公開にすることができるようになりました
- モデレーションが行き届きにくい不適切なリモートコンテンツなどが、自サーバー経由で図らずもインターネットに公開されてしまうことによるトラブル防止などに役立ちます
- 「全て公開(今までの挙動)」「ローカルのコンテンツだけ公開(=サーバー内で受信されたリモートのコンテンツは公開しない)」「何も公開しない」から選択できます
- デフォルト値は「ローカルのコンテンツだけ公開」になっています
- Feat: ロールでアップロード可能なファイル種別を設定可能になりました
- デフォルトは**テキスト、JSON、画像、動画、音声ファイル**になっています。zipなど、その他の種別のファイルは含まれていないため、必要に応じて設定を変更してください。
- 場合によってはファイル種別を正しく検出できないことがあります(特にテキストフォーマット)。その場合、ファイル種別は application/octet-stream と見做されます。
- したがって、それらの種別不明ファイルを許可したい場合は application/octet-stream を指定に追加してください。
- Feat: プレビュー先がリダイレクトを伴う場合、リダイレクト先のコンテンツを取得しに行くか否かを設定できるように(#16043)
- Enhance: UIのアイコンデータの読み込みを軽量化
### Client
- Feat: ドライブのUIが強化されました
- 複数のファイルをまとめて移動できるようになりました
- Feat: ファイルのアップロードUIが一新されました
- アップロード前にファイル情報を確認できるようになりました
- 圧縮の品質を選択できるようになりました
- アップロードに失敗したときに再試行できるようになりました
- アップロード前に画像のクロッピングを行えるようになりました
- ファイルサイズのチェックは圧縮後の実際にアップロードされるサイズで行われるようになりました
- ファイルのアップロードを中断できるようになりました
- Feat: サーバー初期設定ウィザードが実装されました
- 簡単なウィザードに従うだけで、サーバーに最適な設定が適用されます
- Feat: Websocket接続を行わずにMisskeyを利用するNo Websocketモードが実装されました(beta)
- サーバーのパフォーマンス向上に寄与することが期待されます
- 何らの理由によりWebsocket接続が行えない環境でも快適に利用可能です
- 従来のWebsocket接続を行うモードはリアルタイムモードとして再定義されました
- チャットなど、一部の機能は引き続き設定に関わらずWebsocket接続が行われます
- Feat: 絵文字をミュート可能にする機能
- 絵文字(ユニコードの絵文字・カスタム絵文字)毎にミュートし、不可視化することができるようになりました
- Feat: モバイルデバイスで折りたたまれたUIの展開表示に全画面ページを使用できるように(実験的)
- Enhance: 設定の同期をオンにするときに競合したときに値をマージできるように
- Enhance: メモリ使用量を軽減しました
- Enhance: 画像の高品質なプレースホルダを無効化してパフォーマンスを向上させるオプションを追加
- Enhance: 招待されているが参加していないルームを開いたときに、招待を承認するかどうか尋ねるように
- Enhance: リプライ元にアンケートがあることが表示されるように
- Enhance: ノートのサーバー情報のデザインを改善・パフォーマンス向上
(Based on https://github.com/taiyme/misskey/pull/198, https://github.com/taiyme/misskey/pull/211, https://github.com/taiyme/misskey/pull/283)
- Enhance: ユーザー設定でURLプレビューを無効化できるように
- Enhance: ヒントとコツを追加
- Enhance: ヒントとコツを再表示できるように
- Enhance: AiScriptからtoastを表示する関数 `Mk:toast` を追加
- Enhance: シンタックスハイライトのエンジンをJavaScriptベースのものに変更
- フロントエンドの読み込みサイズを軽量化しました
- ほとんどの言語のハイライトは問題なく行えますが、互換性の問題により一部の言語が正常にハイライトできなくなる可能性があります。詳しくは https://shiki.style/references/engine-js-compat をご覧ください。
- Fix: チャットに動画ファイルを送付すると、動画の表示が崩れてしまい視聴出来ない問題を修正
- Fix: アカウント依存かつ初期状態である設定値をサーバー同期しようとした際に正しくコンフリクト検出されない問題を修正
- Fix: "時計"ウィジェット(Clock)において、Transparent設定が有効でも、その背景が透過されない問題を修正
- Fix: 一定時間操作がなかったら動画プレイヤーのコントロールを隠すように
- Fix: Twitchのクリップがプレイヤーで再生できない問題を修正
### Server
- Enhance: リストやフォローをエクスポートする際にリプライを含むかどうかの情報を含むように
- Enhance: チャットルームの最大メンバー数を30人から50人に調整
- Enhance: ノートのレスポンスにアンケートが添付されているかどうかを示すフラグ`hasPoll`を追加
- Enhance: チャットルームのレスポンスに招待されているかどうかを示すフラグ`invitationExists`を追加
- Enhance: レートリミットの計算方法を調整 (#13997)
- Enhance: 外部サイトのOGPのキャッシュ期間を調整
- Fix: チャットルームが削除された場合・チャットルームから抜けた場合に、未読状態が残り続けることがあるのを修正
- Fix: ユーザ除外アンテナをインポートできない問題を修正
- Fix: アンテナのセンシティブなチャンネルのノートを含むかどうかの情報がエクスポートされない問題を修正
- Fix: ミュート対象ユーザーが引用されているートがRNされたときにミュートを貫通してしまう問題を修正 #16009
- Fix: 連合モードが「なし」の場合に、生成されるHTML内のactivity jsonへのリンクタグを省略するように
- Fix: コントロールパネルから招待コードを作成すると作成者の情報が記録されない問題を修正
- Fix: コントロールパネルのジョブキューページからPausedなジョブ一覧を閲覧できない問題を修正
## 2025.5.0
### Note
- DockerのNode.jsが22.15.0に更新されました
### Client
- Feat: マウスで中ボタンドラッグによりタイムラインを引っ張って更新できるように
- アクセシビリティ設定からオフにすることもできます
- Enhance: タイムラインのパフォーマンスを向上
- Enhance: バックアップされた設定のプロファイルを削除できるように
- Fix: 一部のブラウザでアコーディオンメニューのアニメーションが動作しない問題を修正
- Fix: ダイアログのお知らせが画面からはみ出ることがある問題を修正
- Fix: ユーザーポップアップでエラーが生じてもインジケーターが表示され続けてしまう問題を修正
### Server
- Enhance: 凍結されたユーザのノートが各種タイムラインで表示されないように `#15775`
- Enhance: 連合先のソフトウェア及びバージョン名により配信停止を行えるように `#15727`
- Enhance: 2025.4.1 で追加されたインデックスの再生成をノートの追加しながら行えるようになりました。 `#15915`
- `MISSKEY_MIGRATION_CREATE_INDEX_CONCURRENTLY` 環境変数を `1` にセットしていると、巨大なテーブルの既存のカラムに関するインデックス再生成が`CREATE INDEX CONCURRENTLY`を使用するようになりました。
- 複数のサーバープロセスをクラスタリングしているサーバーにおいて、一部のプロセスが起動している状態でこのオプションを有効にしてマイグレーションすることにより、ダウンタイムを削減することができます。
- ただし、このオプションを有効にする場合、インデックスの作成にかかる時間が倍~3倍以上になることがあります。
- また、大きなインスタンスである場合にはインデックスの作成に失敗し、複数回再試行する必要がある可能性があります。
- Fix: チャンネルのフォロー一覧の結果が一部正しくないのを修正 (#12175)
- Fix: ファイルをアップロードした際にファイル名が常に untitled になる問題を修正
- Fix: ファイルのアップロードに失敗することがある問題を修正
- 投稿フォーム上で画像のクロップを行うと、`Invalid Param.`エラーでノートが投稿出来なくなる問題も解決されます。
- この事象によって既にノートが投稿出来ない状態になっている場合は、投稿フォーム右上のメニューから、下書きデータの「リセット」を行ってください。
## 2025.4.1
### General
- Feat: bull-boardに代わるジョブキューの管理ツールが実装されました
- Feat: アップロード可能な最大ファイルサイズをロールごとに設定可能に
- デフォルトで10MBになっています
- Enhance: チャットの新規メッセージをプッシュ通知するように
- Enhance: サーバーブロックの対象になっているサーバーについて、当該サーバーのユーザーや既知投稿を見えないように
- Enhance: 依存関係の更新
- Enhance: 翻訳の更新
- Fix: セキュリティに関する修正
### Client
- Feat: チャットウィジェットを追加
- Feat: デッキにチャットカラムを追加
- Feat: タイトルバーを表示できるように
- Enhance: Unicode絵文字をslugから入力する際に`:ok:`のように最後の`:`を入力したあとにUnicode絵文字に変換できるように
- Enhance: コントロールパネルでジョブキューをクリアできるように
- Enhance: テーマでページヘッダーの色を変更できるように
- Enhance: スワイプでのタブ切り替えを強化
- Enhance: デザインのブラッシュアップ
- Fix: ログアウトした際に処理が終了しない問題を修正
- Fix: 自動バックアップが設定されている環境でログアウト直前に設定をバックアップするように
- Fix: フォルダを開いた状態でメニューからアップロードしてもルートフォルダにアップロードされる問題を修正 #15836
- Fix: タイムラインのスクロール位置を記憶するように修正
- Fix: ノートの直後のノートを表示する機能で表示が逆順になっていた問題を修正 #15841
- Fix: アカウントの移行時にアンテナのフィルターのユーザが更新されない問題を修正 #15843
- Fix: タイムラインでノートが重複して表示されることがあるのを修正
### Server
- Enhance: ジョブキューの成功/失敗したジョブも一定数・一定期間保存するようにし、後から問題を調査することを容易に
- Enhance: フォローしているユーザーならフォロワー限定投稿のノートでもアンテナで検知できるように
(Cherry-picked from https://github.com/yojo-art/cherrypick/pull/568 and https://github.com/team-shahu/misskey/pull/38)
- Enhance: ユーザーごとにノートの表示が高速化するように
- Fix: システムアカウントの名前がサーバー名と同期されない問題を修正
- Fix: 大文字を含むユーザの URL で照会された場合に 404 エラーを返す問題 #15813
- Fix: リードレプリカ設定時にレコードの追加・更新・削除を伴うクエリを発行した際はmasterードで実行されるように調整( #10897 )
- Fix: ファイルアップロード時の挙動を一部調整(#15895)
## 2025.4.0
### General
- Feat: チャット(ダイレクトメッセージ)がリニューアルして復活しました
- 既存のDM機能よりも便利で効率的な実装になっています
- チャットを受け付ける相手を制限可能です
- 誰でも / フォローユーザーのみ / フォロワーのみ / 相互のみ / 受け付けない から選択できます
- 自分からメッセージを送った相手とは上記の設定に関わらずチャット可能です
- チャット機能を開放するかどうかをロールで制御可能です
- ルームを作成して、複数人でのチャットも可能です
- 過去自分が送ったメッセージ・自分に送られたメッセージの検索が可能です
- 参加中のルームをミュートして通知が来ないように設定可能です
- メッセージにはリアクションも可能です
- 現在、リモートユーザーがチャットを受け付ける設定になっているかどうかを取得する術がないため、ローカルユーザー間でのみ利用可能です
- Feat: アカウントの移行時に古いアカウントからあたらしいアカウントにロールをコピーできるようになりました。
- 管理者がロールの設定でマイグレーション時にコピーするかを指定できるようになります。
- Enhance: セキュリティを強化するため、ジョブキューのダッシュボード(bull-board)統合が削除されました。
- Misskeyネイティブでダッシュボードを実装予定です
- Enhance: フロントエンドのエラートラッキングができるように
- `.config/default.yml`中の項目`sentryForFrontend`を適宜設定してください。
- 外部サービスであるSentryへエラー情報が送信されます。ご利用の地域の法令に従い、適切なプライバシーポリシーを策定の上で運用してください。
- Enhance: ミュートしているユーザーをユーザー検索の結果から除外するように
- Enhance: アンテナでセンシティブなチャンネルのノートを除外できるように `#14177`
- Fix: 通知のページネーションで2つ以上読み込めなくなることがある問題を修正
### Client
- Feat: 設定の管理が強化されました
- 内部処理が一新され、安定性とパフォーマンスが向上しました
- 全てのクライアント設定がエクスポート(バックアップ)/インポート対象に含まれるようになりました
- プラグイン、テーマ、クライアントに追加されたすべてのアカウント情報も含まれるようになりました
- 自動で設定データをサーバーにバックアップできるように
- 設定→設定のプロファイル→自動バックアップ で有効にできます
- ログインしたとき、ブラウザから設定データが消えてしまったときに自動で復元されます(復元をスキップすることも可能)
- 任意の設定項目をデバイス間で同期できるように
- 設定項目の「...」メニュー→「デバイス間で同期」
- 同期をオンにした際にサーバーに保存された値とローカルの値が競合する場合はどちらを優先するか選択できます
- 任意の設定項目を初期値にリセットできるように
- 設定項目の「...」メニュー→「初期値にリセット」
- アカウントごとに設定値が分離される設定とそうでないクライアント設定が混在していた(かつ分離するかどうかを設定不可だった)のを、基本的に一律でクライアント全体に適用されるようにし、個別でアカウントごとに異なる設定を行えるように
- 設定項目の「...」メニュー→「アカウントで上書き」をオンにすることで、設定値をそのアカウントでだけ適用するようにできます
- ログアウトすると設定データもブラウザから消去されるようになりプライバシーが向上しました
- バックアップを有効にしている場合、ログインした後にバックアップから設定データを復元可能です
- エクスポートした設定データを他のサーバーでインポートして適用すること(設定の持ち運び)が可能になりました
- 設定情報の移行は自動で行われますが、何らかの理由で失敗した場合、設定→その他→旧設定情報を移行 で再試行可能です
- 過去に作成されたバックアップデータとは現在互換性がありませんのでご注意ください
- Feat: 画面を重ねて表示するオプションを実装(実験的)
- 設定 → その他 → 実験的機能 → Enable stacking router view
- Enhance: プラグインの管理が強化されました
- インストール/アンインストール/設定の変更時にリロード不要になりました
- Enhance: ログアウト時、ブラウザに保存されたWebクライアントのデータを全て消去するように
- Enhance: デッキUIでカラム間のマージンを設定できるように
- Enhance: デッキUIでデッキメニューの位置を設定できるように
- Enhance: デッキUIでナビゲーションバーの位置を設定できるように
- Enhance: アイコンのスクロール追従を無効化してパフォーマンス向上できるように
- Enhance: CWの注釈テキストが入力されていない場合, Postボタンを非アクティブに
- Enhance: CWを無効にした場合, 注釈テキストが最大入力文字数を超えていても投稿できるように
- Enhance: テーマ設定画面のデザインを改善
- Enhance: 投稿フォームの設定メニューを改良
- 投稿フォームをリセットできるように
- 文字数カウントを復活
- Enhance: 2段階認証時のリカバリーコードのファイル名にサーバーURLを含めるように
- Enhance: 全体的なブラッシュアップ
- Enhance 全体的なパフォーマンス向上
- Enhance: ファイルのアップロードでデフォルトで圧縮するかどうかのオプションが廃止され、アップロード時に圧縮するかどうかを選択するようになりました
- 画像データの貼り付け、ドロップ時は圧縮されるようになりました
- Fix: 読み込み直後にスクロールしようとすると途中で止まる場合があるのを修正
- Fix: テーマ切り替え時に一部の色が変わらない問題を修正
- Fix: iPadOSでdeck uiをマウスカーソルによってスクロールできない問題を修正
- NOTE: 構造上クラシックUIを新しいデザインシステムに移行することが困難なため、クラシックUIが削除されました
- デッキUIでカラムを中央寄せにし、メインカラムの左右にウィジェットカラムを配置し、ナビゲーションバーを上部に表示することである程度クラシックUIを再現できます
### Server
- Enhance 全体的なパフォーマンス向上
- Fix: プロフィール追加情報で無効なURLに入力された場合に照会エラーを出るのを修正
- Fix: ActivityPubリクエストURLチェック実装は仕様に従っていないのを修正
- Fix: 連合無しモードでも外部から照会可能だった問題を修正
- Fix: テスト用WebHookのペイロードの`emojis`パラメータが実際のものと異なる問題を修正
- Fix: 非ログインでタイムラインのストリームに接続した際、表示にログイン必須のノートが流れる場合がある問題を修正
## 2025.3.1
### General
- pnpmをv10に更新
- Corepackを削除
### Client
- Feat: 設定の検索を追加(実験的)
- Enhance: 設定項目の再配置
### Server
- Fix: DBマイグレーション際にシステムアカウントのユーザーID判定が正しくない問題を修正
- Fix: user.featured列が状況によってJSON文字列になっていたのを修正
## 2025.3.0
### General
- Enhance: プロキシアカウントをシステムアカウントとして作成するように
- Enhance: OAuthで外部アプリからロゴが提供されている場合、それを表示できるように
書式は https://indieauth.spec.indieweb.org/20220212/#example-2 に準じます。
- Fix: システムアカウントが削除できる問題を修正
### Client
- Enhance: モデレーターがセンシティブ設定を変更する際に確認ダイアログを出すように
- Enhance: 「UIのアニメーションを減らす」で画面上のエフェクトも減らせるように
- Enhance: 投稿フォームにおける、メディアの添付可能個数のカウントを反転しました
- これまでの表示は`添付可能残り個数/上限数`でしたが、`添付個数/上限数`としました
- Fix: フォローされたときのメッセージがちらつくことがある問題を修正
- Fix: 投稿ダイアログがサイズ限界を超えた際にスクロールできない問題を修正
### Server
- Fix: 特定のケースでActivityPubの処理がデッドロックになることがあるのを修正
- Fix: S3互換オブジェクトストレージでファイルのアップロードに失敗することがある問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/895)
## 2025.2.1
### General
- Feat: アクセストークン発行時に通知するように
- Feat: 実験的なGoogleAnalyticsサポートを追加
- 依存関係の更新
### Client
- Feat: 投稿フォームで画像をプレビュー可能に
- Enhance: 投稿フォームの「迷惑になる可能性があります」のダイアログを表示する条件においてCWを考慮するように
- Enhance: アンテナ、リスト等の名前をカラム名のデフォルト値にするように `#13992`
- Enhance: クライアントエラー画面の多言語対応
- Enhance: 開発者モードでメニューからファイルIDをコピー出来るように `#15441'
- Enhance: ノートに埋め込まれたメディアのコンテキストメニューから管理者用のファイル管理画面を開けるように ( #15440 )
- Enhance: リアクションする際に確認ダイアログを表示できるように
- Enhance: コントロールパネルのユーザ検索で入力された情報をページ遷移で損なわないように `#15437`
- Enhance: CWの注釈で入力済みの文字数を表示
- Enhance: ノート検索ページのデザイン調整
(Cherry-picked from https://github.com/taiyme/misskey/pull/273)
- Fix: ノートページで、クリップ一覧が表示されないことがある問題を修正
- Fix: コンディショナルロールを手動で割り当てできる導線を削除 `#13529`
- Fix: 埋め込みプレイヤーから外部ページに移動できない問題を修正
- Fix: Play の再読込時に UI が以前の状態を引き継いでしまう問題を修正 `#14378`
- Fix: カスタム絵文字管理画面(beta)にてisSensitive/localOnlyの絞り込みが上手くいかない問題の修正 ( #15445 )
- Fix: ユーザのサジェスト中に@を入力してもサジェスト結果が消えないように `#14385`
- Fix: CWの注釈が100文字を超えている場合、ート投稿ボタンを非アクティブに
- Fix: テーマ選択で現在のテーマが初期表示されていない問題を修正
- 翻訳の更新
### Server
- Enhance: 成り済まし対策として、ActivityPub照会された時にリモートのリダイレクトを拒否できるように (config.disallowExternalApRedirect)
- Fix: `following/invalidate`でフォロワーを解除しようとしているユーザーの情報を返すように
- Fix: オブジェクトストレージの設定でPrefixを設定していなかった場合nullまたは空文字になる問題を修正
- Fix: HTTPプロキシとその除外設定を行った状態でカスタム絵文字の一括インポートをしたとき、除外設定が効かないのを修正( #8766 )
- Fix: pgroongaでの検索時にはじめのキーワードのみが検索に使用される問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/886)
- Fix: メールアドレスの形式が正しくなければ以降の処理を行わないように
- Fix: `update-meta`でobjectStoragePrefixにS3_SAFEかつURL-safeでない文字列を使えないように
- Fix: クリップの説明欄を更新する際に空にできない問題を修正
- Fix: フォロワーではないユーザーにリートもしくは返信された場合にートのDeleteアクティビティが送られていない問題を修正
## 2025.2.0
### General
- Fix: Docker のビルドに失敗する問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/883)
### Client
- Fix: パスキーでパスワードレスログインが出来ない問題を修正
- Fix: 一部環境でセンシティブなファイルを含むノートの非表示が効かない問題
- Fix: データセーバー有効時にもユーザーページの「ファイル」タブで画像が読み込まれてしまう問題を修正
- Fix: MFMの `sparkle` エフェクトが正しく表示されない問題を修正
- Fix: ページのURLにスラッシュが含まれている場合にページが正しく表示されない問題を修正
- Fix: デッキのプロファイルが新規作成できない問題を修正
- Fix: セキュリティに関する修正
- ローカライゼーションの更新
- Playが実装されたため、ページ機能の「ソースを見る」は削除されました
### Server
- Enhance: ページのURLに使用可能な文字を限定するように
- Fix: 個別お知らせページのmetaタグ出力の条件が間違っていたのを修正
## 2025.1.0
### Note
- [重要] ート検索プロバイダの追加に伴い、configファイルdefault.ymlなどの構成が少し変わります.
- 新しい設定項目"fulltextSearch.provider"が追加されました. sqlLike, sqlPgroonga, meilisearchのいずれかを設定出来ます.
- すでにMeilisearchをお使いの場合、 **"fulltextSearch.provider"を"meilisearch"に設定する必要** があります.
- 詳細は #14730 および `.config/example.yml` または `.config/docker_example.yml`の'Fulltext search configuration'をご参照願います.
- 【開発者向け】従来の開発モードでHMRが機能しない問題が修正されたため、バックエンド・フロントエンド分離型の開発モードが削除されました。開発環境においてconfigの変更が必要となる可能性があります。
### General
- Feat: カスタム絵文字管理画面をリニューアル #10996
* β版として公開のため、旧画面も引き続き利用可能です
### Client
- Enhance: PC画面でチャンネルが複数列で表示されるように
(Cherry-picked from https://github.com/Otaku-Social/maniakey/pull/13)
- Enhance: 照会に失敗した場合、その理由を表示するように
- Enhance: ワードミュートで検知されたワードを表示できるように
- Enhance: リモートのノートのリンクをコピーできるように
- Enhance: 連合がホワイトリスト化・無効化されているサーバー向けのデザイン修正
- Enhance: AiScriptのセーブデータを明示的に削除する関数`Mk:remove`を追加
- Enhance: ノートの添付ファイルを一覧で遡れる「ファイル」タブを追加
(Based on https://github.com/Otaku-Social/maniakey/pull/14)
- Enhance: AiScriptの拡張API関数において引数の型チェックをより厳格に
- Enhance: クエリパラメータでuiを一時的に変更できるように #15240
- Enhance: リモート絵文字のインポート時に詳細を確認できるように #15336
- Fix: 画面サイズが変わった際にナビゲーションバーが自動で折りたたまれない問題を修正
- Fix: サーバー情報メニューに区切り線が不足していたのを修正
- Fix: ノートがログインしているユーザーしか見れない場合にログインダイアログを閉じるとその後の動線がなくなる問題を修正
- Fix: 公開範囲がホームのノートの埋め込みウィジェットが読み込まれない問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/803)
- Fix: 絵文字管理画面で一部の絵文字が表示されない問題を修正
- Fix: プラグイン `register_note_view_interruptor` でノートのサーバー情報の書き換えができない問題を修正
- Fix: Botプロテクションの設定変更時は実際に検証を通過しないと保存できないように( #15137 )
- Fix: ノート検索が使用できない場合でもチャンネルのノート検索欄がでていた問題を修正
- Fix: `Ui:C:select`で値の変更が画面に反映されない問題を修正
- Fix: MiAuth認可画面で、認可処理に失敗した場合でもコールバックURLに遷移してしまう問題を修正
(Cherry-picked from https://github.com/TeamNijimiss/misskey/commit/800359623e41a662551d774de15b0437b6849bb4)
- Fix: ノート作成画面でファイルの添付可能個数を超えてもノートボタンが押せていた問題を修正
- Fix: 「アカウントを管理」画面で、ユーザー情報の取得に失敗したアカウント(削除されたアカウントなど)が表示されない問題を修正
- Fix: MacOSでChrome系ブラウザを使用している場合に、Misskeyを閉じた際に他のタブのオーディオ機能と干渉する問題を修正
- Fix: 言語データのキャッシュ状況によっては、埋め込みウィジェットが正しく起動しない問題を修正
- Fix: 「削除して編集」でノートの引用を解除出来なかった問題を修正( #14476 )
- Fix: RSSウィジェットが正しく表示されない問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/857)
- Fix: ワードミュートの保存失敗時にAPIエラーが握りつぶされる事があるのを修正
- Fix: アンケートでリモートの絵文字が正しく描画できない問題の修正
(Cherry-picked from https://github.com/yojo-art/cherrypick/pull/153)
- Fix: 非ログイン時のサーバー概要画面のメニューボタンが押せないことがあるのを修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/656)
- Fix: URLにはじめから`#pswp`が含まれている場合に画像ビューワーがブラウザの戻るボタンで閉じられない問題を修正
- Fix: ロール作成画面で設定できるアイコンデコレーションの最大取付個数を16に制限
- Fix: Firefox Nightlyなどでアイコンが読み込めない問題を修正
### Server
- Enhance: pg_bigmが利用できるよう、ートの検索をILIKE演算子でなくLIKE演算子でLOWER()をかけたテキストに対して行うように
- Enhance: ート検索の選択肢としてpgroongaに対応 ( #14730 )
- Enhance: チャート更新時にDBに同時接続しないように
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/830)
- Enhance: config(default.yml)からSQLログ全文を出力するか否かを設定可能に ( #15266 )
- Fix: ユーザーのプロフィール画面をアドレス入力などで直接表示した際に概要タブの描画に失敗する問題の修正( #15032 )
- Fix: 起動前の疎通チェックが機能しなくなっていた問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/737)
- Fix: ートの閲覧にログイン必須にしてもFeedでートが表示されてしまう問題を修正
- Fix: 絵文字の連合でライセンス欄を相互にやり取りするように ( #10859, #14109 )
- Fix: ロックダウンされた期間指定のートがStreaming経由でLTLに出現するのを修正 ( #15200 )
- Fix: disableClustering設定時の初期化ロジックを調整( #15223 )
- Fix: URLとURIが異なるエンティティの照会に失敗する問題を修正( #15039 )
- Fix: ActivityPubリクエストかどうかの判定が正しくない問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/869)
- Fix: `/api/pages/update`にて`name`を指定せずにリクエストするとエラーが発生する問題を修正
- Fix: AIセンシティブ判定が arm64 環境で動作しない問題を修正
- Fix: 非Misskey系のソフトウェアからHTML`<ruby>`タグを含むートを受信した場合、MFMの読み仮名ルビ文法に変換して表示
- Fix: 連合OFFで投稿されたートに対する冗長な処理を抑止 ( #15018 )
- Fix: `/api.json`のレスポンスが2回目のリクエスト以降おかしくなる問題を修正
### Misskey.js
- Feat: allow setting `binaryType` of WebSocket connection
## 2024.11.0
### Note
- Node.js 20.xは非推奨になりました。Node.js 22.x (LTS)の利用を推奨します。
- なお、Node.js 23.xは対応していません。
- DockerのNode.jsが22.11.0に更新されました
### General
- Feat: コンテンツの表示にログインを必須にできるように
- Feat: 過去のノートを非公開化/フォロワーのみ表示可能にできるように
- Enhance: 依存関係の更新
- Enhance: l10nの更新
- Fix: お知らせ作成時に画像URL入力欄を空欄に変更できないのを修正 ( #14976 )
### Client
- Enhance: Bull DashboardでRelationship Queueの状態も確認できるように
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/751)
- Enhance: ドライブでソートができるように
- Enhance: アイコンデコレーション管理画面の改善
- Enhance: 「単なるラッキー」の取得条件を変更
- Enhance: 投稿フォームでEscキーを押したときIME入力中ならフォームを閉じないように #10866
- Enhance: MiAuth, OAuthの認可画面の改善
- どのアカウントで認証しようとしているのかがわかるように
- 認証するアカウントを切り替えられるように
- Enhance: Self-XSS防止用の警告を追加
- Enhance: カタルーニャ語 (ca-ES) に対応
- Enhance: 個別お知らせページではMetaタグを出力するように
- Enhance: ノート詳細画面にロールのバッジを表示
- Enhance: 過去に送信したフォローリクエストを確認できるように
(Based on https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/663)
- Enhance: サイドバーを簡単に展開・折りたたみできるように ( #14981 )
- Enhance: リノートメニューに「リノートの詳細」を追加
- Enhance: 非ログイン状態でMisskeyを開いた際のパフォーマンスを向上
- Fix: 通知の範囲指定の設定項目が必要ない通知設定でも範囲指定の設定がでている問題を修正
- Fix: Turnstileが失敗・期限切れした際にも成功扱いとなってしまう問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/768)
- Fix: デッキのタイムラインカラムで「センシティブなファイルを含むノートを表示」設定が使用できなかった問題を修正
- Fix: Encode RSS urls with escape sequences before fetching allowing query parameters to be used
- Fix: リンク切れを修正
- Fix: ノート投稿ボタンにホバー時のスタイルが適用されていないのを修正
(Cherry-picked from https://github.com/taiyme/misskey/pull/305)
- Fix: メールアドレス登録有効化時の「完了」ダイアログボックスの表示条件を修正
- Fix: 画面幅が狭い環境でデザインが崩れる問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/815)
- Fix: TypeScriptの型チェック対象ファイルを限定してビルドを高速化するように
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/725)
### Server
- Enhance: DockerのNode.jsを22.11.0に更新
- Enhance: 起動前の疎通チェックで、DBとメイン以外のRedisの疎通確認も行うように
(Based on https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/588)
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/715)
- Enhance: リモートユーザーの照会をオリジナルにリダイレクトするように
- Fix: sharedInboxが無いActorに紐づくリモートユーザーを照会できない
- Fix: Aproving request from GtS appears with some delay
- Fix: フォロワーへのメッセージの絵文字をemojisに含めるように
- Fix: Nested proxy requestsを検出した際にブロックするように
[ghsa-gq5q-c77c-v236](https://github.com/misskey-dev/misskey/security/advisories/ghsa-gq5q-c77c-v236)
- Fix: 招待コードの発行可能な残り数算出に使用すべきロールポリシーの値が違う問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/706)
- Fix: 連合への配信時に、acctの大小文字が区別されてしまい正しくメンションが処理されないことがある問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/711)
- Fix: ローカルユーザーへのメンションを含むートが連合される際に正しいURLに変換されないことがある問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/712)
- Fix: FTT無効時にユーザーリストタイムラインが使用できない問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/709)
- Fix: User Webhookテスト機能のMock Payloadを修正
- Fix: アカウント削除のモデレーションログが動作していないのを修正 (#14996)
- Fix: リノートミュートが新規投稿通知に対して作用していなかった問題を修正
- Fix: Inboxの処理で生じるエラーを誤ってActivityとして処理することがある問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/730)
- Fix: セキュリティに関する修正
### Misskey.js
- Fix: Stream初期化時、別途WebSocketを指定する場合の型定義を修正
## 2024.10.1
### Note
- スパム対策として、モデレータ権限を持つユーザのアクティビティが7日以上確認できない場合は自動的に招待制へと切り替えコントロールパネル -> モデレーション -> "誰でも新規登録できるようにする"をオフに変更)るようになりました。 ( #13437 )
- 切り替わった際はモデレーターへお知らせとして通知されます。登録をオープンな状態で継続したい場合は、コントロールパネルから再度設定を行ってください。
### General
- Feat: ユーザーの名前に禁止ワードを設定できるように
### Client
- Enhance: タイムライン表示時のパフォーマンスを向上
- Enhance: アーカイブした個人宛のお知らせを表示・編集できるように
- Enhance: l10nの更新
- Fix: メールアドレス不要でCaptchaが有効な場合にアカウント登録完了後自動でのログインに失敗する問題を修正
### Server
- Feat: モデレータ権限を持つユーザが全員7日間活動しなかった場合は自動的に招待制へと切り替えるように ( #13437 )
- Enhance: 個人宛のお知らせは「わかった」を押すと自動的にアーカイブされるように
- Fix: `admin/emoji/update`エンドポイントのidのみ指定した時不正なエラーが発生するバグを修正
- Fix: RBT有効時、リートのリアクションが反映されない問題を修正
- Fix: キューのエラーログを簡略化するように
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/649)
## 2024.10.0
### Note
- セキュリティ向上のため、サーバー初期設定時に使用する初期パスワードを設定できるようになりました。今後Misskeyサーバーを新たに設置する際には、初回の起動前にコンフィグファイルの`setupPassword`をコメントアウトし、初期パスワードを設定することをおすすめします。(すでに初期設定を完了しているサーバーについては、この変更に伴い対応する必要はありません)
- ホスティングサービスを運営している場合は、コンフィグファイルを構築する際に`setupPassword`をランダムな値に設定し、ユーザーに通知するようにシステムを更新することをおすすめします。
- なお、初期パスワードが設定されていない場合でも初期設定を行うことが可能ですUI上で初期パスワードの入力欄を空欄にすると続行できます
- ユーザーデータを読み込む際の型が一部変更されました。
- `twoFactorEnabled`, `usePasswordLessLogin`, `securityKeys`: 自分とモデレーター以外のユーザーからは取得できなくなりました
### General
- Feat: サーバー初期設定時に初期パスワードを設定できるように
- Feat: 通報にモデレーションノートを残せるように
- Feat: 通報の解決種別を設定できるように
- Enhance: 通報の解決と転送を個別に行えるように
- Enhance: セキュリティ向上のため、サインイン時もCAPTCHAを求めるようになりました
- Enhance: 依存関係の更新
- Enhance: l10nの更新
- Enhance: Playの「人気」タブで10件以上表示可能に #14399
- Fix: 連合のホワイトリストが正常に登録されない問題を修正
### Client
- Enhance: デザインの調整
- Enhance: ログイン画面の認証フローを改善
- Fix: クライアント上での時間ベースの実績獲得動作が実績獲得後も発動していた問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/657)
### Server
- Enhance: セキュリティ向上のため、ログイン時にメール通知を行うように
- Enhance: 自分とモデレーター以外のユーザーから二要素認証関連のデータが取得できないように
- Enhance: 通報および通報解決時に送出されるSystemWebhookにユーザ情報を含めるように ( #14697 )
- Fix: `admin/abuse-user-reports`エンドポイントのスキーマが間違っていた問題を修正
## 2024.9.0
### General
- Feat: ノート単体・ユーザーのノート・クリップのノートの埋め込み機能
- 埋め込みコードやウェブサイトへの実装方法の詳細は https://misskey-hub.net/docs/for-users/features/embed/ をご覧ください
- Feat: パスキーでログインボタンを実装 (#14574)
- Feat: フォローされた際のメッセージを設定できるように
- Feat: 連合をホワイトリスト制にできるように
- Feat: UserWebhookとSystemWebhookのテスト送信機能を追加 (#14445)
- Feat: モデレーターはユーザーにかかわらずファイルが添付されているノートを検索できるように
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/680)
- Feat: データエクスポートが完了した際に通知を発行するように
- Enhance: ユーザーによるコンテンツインポートの可否をロールポリシーで制御できるように
- Enhance: 依存関係の更新
- Enhance: l10nの更新
### Client
- Enhance: サイズ制限を超過するファイルをアップロードしようとした際にエラーを出すように
- Enhance: アイコンデコレーション管理画面にプレビューを追加
- Enhance: コントロールパネル内のファイル一覧でセンシティブなファイルを区別しやすく
- Enhance: ScratchpadにUIインスペクターを追加
- Enhance: Play編集画面の項目の並びを少しリデザイン
- Enhance: 各種メニューをドロワー表示するかどうか設定可能に
- Enhance: AiScriptのMk:C:containerのオプションに`borderStyle``borderRadius`を追加
- Enhance: CWでも絵文字をクリックしてメニューを表示できるように
- Fix: サーバーメトリクスが2つ以上あるとリロード直後の表示がおかしくなる問題を修正
- Fix: コントロールパネル内のAp requests内のチャートの表示がおかしかった問題を修正
- Fix: 月の違う同じ日はセパレータが表示されないのを修正
- Fix: タッチ画面でレンジスライダーを操作するとツールチップが複数表示される問題を修正
(Cherry-picked from https://github.com/taiyme/misskey/pull/265)
- Fix: 縦横比が極端なカスタム絵文字を表示する際にレイアウトが崩れる箇所があるのを修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/725)
- Fix: 設定変更時のリロード確認ダイアログが複数個表示されることがある問題を修正
- Fix: ファイルの詳細ページのファイルの説明で改行が正しく表示されない問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/commit/bde6bb0bd2e8b0d027e724d2acdb8ae0585a8110)
- Fix: 一部画面のページネーションが動作しにくくなっていたのを修正 ( #12766 , #11449 )
### Server
- Feat: Misskey® Reactions Boost Technology™ (RBT)により、リアクションの作成負荷を低減することが可能に
- Fix: アンテナの書き込み時にキーワードが与えられなかった場合のエラーをApiErrorとして投げるように
- この変更により、公式フロントエンドでは入力の不備が内部エラーとして報告される代わりに一般的なエラーダイアログで報告されます
- Fix: ファイルがサイズの制限を超えてアップロードされた際にエラーを返さなかった問題を修正
- Fix: 外部ページを解析する際に、ページに紐づけられた関連リソースも読み込まれてしまう問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/commit/26e0412fbb91447c37e8fb06ffb0487346063bb8)
- Fix: Continue importing from file if single emoji import fails
- Fix: `Retry-After`ヘッダーが送信されなかった問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/commit/8a982c61c01909e7540ff1be9f019df07c3f0624)
- Fix: サーバーサイドのDOM解析完了時にリソースを開放するように
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/634)
- Fix: `<link rel="alternate">`を追って照会するのはOKレスポンスが返却された場合のみに
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/633)
- Fix: メールにスタイルが適用されていなかった問題を修正
## 2024.8.0 ## 2024.8.0
### General ### General
@ -697,7 +17,7 @@
- Fix: 特定の条件下でノートの削除ボタンが出ないのを修正 - Fix: 特定の条件下でノートの削除ボタンが出ないのを修正
### Server ### Server
- Enhance: 照会時にURLがhtmlかつheadタグ内に`rel="alternate"`, `type="application/activity+json"``link`タグがある場合に追ってリンク先を照会できるように - enhance: 照会時にURLがhtmlかつheadタグ内に`rel="alternate"`, `type="application/activity+json"``link`タグがある場合に追ってリンク先を照会できるように
- Enhance: 凍結されたアカウントのフォローリクエストを表示しないように - Enhance: 凍結されたアカウントのフォローリクエストを表示しないように
- Fix: WSの`readAllNotifications` メッセージが `body` を持たない場合に動作しない問題 #14374 - Fix: WSの`readAllNotifications` メッセージが `body` を持たない場合に動作しない問題 #14374
- 通知ページや通知カラム(デッキ)を開いている状態において、新たに発生した通知が既読されない問題が修正されます。 - 通知ページや通知カラム(デッキ)を開いている状態において、新たに発生した通知が既読されない問題が修正されます。
@ -713,8 +33,6 @@
- Fix: 無制限にストリーミングのチャンネルに接続できる問題を修正 - Fix: 無制限にストリーミングのチャンネルに接続できる問題を修正
- Fix: ベースロールのポリシーを変更した際にモデログに記録されないのを修正 - Fix: ベースロールのポリシーを変更した際にモデログに記録されないのを修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/700) (Cherry-picked from https://github.com/MisskeyIO/misskey/pull/700)
- Fix: Prevent memory leak from memory caches (#14310)
- Fix: More reliable memory cache eviction (#14311)
## 2024.7.0 ## 2024.7.0

View file

@ -64,29 +64,9 @@ Thank you for your PR! Before creating a PR, please check the following:
Thanks for your cooperation 🤗 Thanks for your cooperation 🤗
### Additional things for ActivityPub payload changes
*This section is specific to misskey-dev implementation. Other fork or implementation may take different way. A significant difference is that non-"misskey-dev" extension is not described in the misskey-hub's document.*
If PR includes changes to ActivityPub payload, please reflect it in [misskey-hub's document](https://github.com/misskey-dev/misskey-hub-next/blob/master/content/ns.md) by sending PR.
The name of purporsed extension property (referred as "extended property" in later) to ActivityPub shall be prefixed by `_misskey_`. (i.e. `_misskey_quote`)
The extended property in `packages/backend/src/core/activitypub/type.ts` **must** be declared as optional because ActivityPub payloads that comes from older Misskey or other implementation may not contain it.
The extended property must be included in the context definition. Context is defined in `packages/backend/src/core/activitypub/misc/contexts.ts`.
The key shall be same as the name of extended property, and the value shall be same as "short IRI".
"Short IRI" is defined in misskey-hub's document, but usually takes form of `misskey:<name of extended property>`. (i.e. `misskey:_misskey_quote`)
One should not add property that has defined before by other implementation, or add custom variant value to "well-known" property.
## Reviewers guide ## Reviewers guide
Be willing to comment on the good points and not just the things you want fixed 💯 Be willing to comment on the good points and not just the things you want fixed 💯
読んでおくといいやつ
- https://blog.lacolaco.net/posts/1e2cf439b3c2/
- https://konifar-zatsu.hatenadiary.jp/entry/2024/11/05/192421
### Review perspective ### Review perspective
- Scope - Scope
- Are the goals of the PR clear? - Are the goals of the PR clear?
@ -101,22 +81,6 @@ Be willing to comment on the good points and not just the things you want fixed
- Are there any omissions or gaps? - Are there any omissions or gaps?
- Does it check for anomalies? - Does it check for anomalies?
## Security Advisory
### For reporter
Thank you for your reporting!
If you can also create a patch to fix the vulnerability, please create a PR on the private fork.
> [!note]
> There is a GitHub bug that prevents merging if a PR not following the develop branch of upstream, so please keep follow the develop branch.
### For misskey-dev member
修正PRがdevelopに追従されていないとマージできないので、マージできなかったら
> Could you merge or rebase onto upstream develop branch?
などと伝える。
## Deploy ## Deploy
The `/deploy` command by issue comment can be used to deploy the contents of a PR to the preview environment. The `/deploy` command by issue comment can be used to deploy the contents of a PR to the preview environment.
``` ```
@ -152,8 +116,7 @@ You can improve our translations with your Crowdin account.
Your changes in Crowdin are automatically submitted as a PR (with the title "New Crowdin translations") to the repository. Your changes in Crowdin are automatically submitted as a PR (with the title "New Crowdin translations") to the repository.
The owner [@syuilo](https://github.com/syuilo) merges the PR into the develop branch before the next release. The owner [@syuilo](https://github.com/syuilo) merges the PR into the develop branch before the next release.
If your language is not listed in Crowdin, please open an issue. We will add it to Crowdin. If your language is not listed in Crowdin, please open an issue.
For newly added languages, once the translation progress per language exceeds 70%, it will be officially introduced into Misskey and made available to users.
![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg) ![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg)
@ -197,51 +160,52 @@ pnpm dev
command. command.
- Server-side source files and automatically builds them if they are modified. Automatically start the server process(es). - Server-side source files and automatically builds them if they are modified. Automatically start the server process(es).
- Service Worker is watched by esbuild.
- Vite HMR (just the `vite` command) is available. The behavior may be different from production. - Vite HMR (just the `vite` command) is available. The behavior may be different from production.
- Vite runs behind the backend (the backend will proxy Vite at /vite and /embed_vite except for websocket used for HMR). - 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). - 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.
## Testing ## Testing
You can run non-backend tests by executing following commands: - Test codes are located in [`/packages/backend/test`](/packages/backend/test).
```sh
pnpm --filter frontend test ### Run test
pnpm --filter misskey-js test Create a config file.
``` ```
Backend tests require manual preparation of servers. See the next section for more on this.
### Backend
There are three types of test codes for the backend:
- Unit tests: [`/packages/backend/test/unit`](/packages/backend/test/unit)
- Single-server E2E tests: [`/packages/backend/test/e2e`](/packages/backend/test/e2e)
- Multiple-server E2E tests: [`/packages/backend/test-federation`](/packages/backend/test-federation)
#### Running Unit Tests or Single-server E2E Tests
1. Create a config file:
```sh
cp .github/misskey/test.yml .config/ cp .github/misskey/test.yml .config/
``` ```
Prepare DB/Redis for testing.
2. Start DB and Redis servers for testing: ```
```sh
docker compose -f packages/backend/test/compose.yml up docker compose -f packages/backend/test/compose.yml up
``` ```
Instead, you can prepare an empty (data can be erased) DB and edit `.config/test.yml` appropriately. Alternatively, prepare an empty (data can be erased) DB and edit `.config/test.yml`.
3. Run all tests: Run all test.
```sh
pnpm --filter backend test # unit tests
pnpm --filter backend test:e2e # single-server E2E tests
``` ```
If you want to run a specific test, run as a following command: pnpm test
```sh
pnpm --filter backend test -- packages/backend/test/unit/activitypub.ts
pnpm --filter backend test:e2e -- packages/backend/test/e2e/nodeinfo.ts
``` ```
#### Running Multiple-server E2E Tests #### Run specify test
See [`/packages/backend/test-federation/README.md`](/packages/backend/test-federation/README.md). ```
pnpm jest -- foo.ts
```
### e2e tests
TODO
## Environment Variable ## Environment Variable
@ -258,12 +222,6 @@ Misskey uses Vue(v3) as its front-end framework.
- **When creating a new component, please use the Composition API (with [setup sugar](https://v3.vuejs.org/api/sfc-script-setup.html) and [ref sugar](https://github.com/vuejs/rfcs/discussions/369)) instead of the Options API.** - **When creating a new component, please use the Composition API (with [setup sugar](https://v3.vuejs.org/api/sfc-script-setup.html) and [ref sugar](https://github.com/vuejs/rfcs/discussions/369)) instead of the Options API.**
- Some of the existing components are implemented in the Options API, but it is an old implementation. Refactors that migrate those components to the Composition API are also welcome. - Some of the existing components are implemented in the Options API, but it is an old implementation. Refactors that migrate those components to the Composition API are also welcome.
## Tabler Icons
アイコンは、Production Build時に使用されていないものが削除されるようになっています。
**アイコンを動的に設定する際には、 `ti-${someVal}` のような、アイコン名のみを動的に変化させる実装を行わないでください。**
必ず `ti-xxx` のような完全なクラス名を含めるようにしてください。
## nirax ## nirax
niraxは、Misskeyで使用しているオリジナルのフロントエンドルーティングシステムです。 niraxは、Misskeyで使用しているオリジナルのフロントエンドルーティングシステムです。
**vue-routerから影響を多大に受けているので、まずはvue-routerについて学ぶことをお勧めします。** **vue-routerから影響を多大に受けているので、まずはvue-routerについて学ぶことをお勧めします。**
@ -279,6 +237,7 @@ niraxは、Misskeyで使用しているオリジナルのフロントエンド
query?: Record<string, string>; query?: Record<string, string>;
loginRequired?: boolean; loginRequired?: boolean;
hash?: string; hash?: string;
globalCacheKey?: string;
children?: RouteDef[]; children?: RouteDef[];
} }
``` ```
@ -481,11 +440,6 @@ describe('test', () => {
コード上でMisskeyのドメイン固有の概念には`Mi`をprefixすることで、他のドメインの同様の概念と区別できるほか、名前の衝突を防ぐ。 コード上でMisskeyのドメイン固有の概念には`Mi`をprefixすることで、他のドメインの同様の概念と区別できるほか、名前の衝突を防ぐ。
ただし、文脈上Misskeyのものを指すことが明らかであり、名前の衝突の恐れがない場合は、一時的なローカル変数に限って`Mi`を省略してもよい。 ただし、文脈上Misskeyのものを指すことが明らかであり、名前の衝突の恐れがない場合は、一時的なローカル変数に限って`Mi`を省略してもよい。
### Misskey.jsの型生成
```bash
pnpm build-misskey-js-with-types
```
### How to resolve conflictions occurred at pnpm-lock.yaml? ### How to resolve conflictions occurred at pnpm-lock.yaml?
Just execute `pnpm` to fix it. Just execute `pnpm` to fix it.
@ -581,6 +535,27 @@ pnpm dlx typeorm migration:generate -d ormconfig.js -o <migration name>
- 生成後、ファイルをmigration下に移してください - 生成後、ファイルをmigration下に移してください
- 作成されたスクリプトは不必要な変更を含むため除去してください - 作成されたスクリプトは不必要な変更を含むため除去してください
### JSON SchemaのobjectでanyOfを使うとき
JSON Schemaで、objectに対してanyOfを使う場合、anyOfの中でpropertiesを定義しないこと。
バリデーションが効かないため。SchemaTypeもそのように作られており、objectのanyOf内のpropertiesは捨てられます
https://github.com/misskey-dev/misskey/pull/10082
テキストhogeおよびfugaについて、片方を必須としつつ両方の指定もありうる場合:
```ts
export const paramDef = {
type: 'object',
properties: {
hoge: { type: 'string', minLength: 1 },
fuga: { type: 'string', minLength: 1 },
},
anyOf: [
{ required: ['hoge'] },
{ required: ['fuga'] },
],
} as const;
```
### コネクションには`markRaw`せよ ### コネクションには`markRaw`せよ
**Vueのコンポーネントのdataオプションとして**misskey.jsのコネクションを設定するとき、必ず`markRaw`でラップしてください。インスタンスが不必要にリアクティブ化されることで、misskey.js内の処理で不具合が発生するとともに、パフォーマンス上の問題にも繋がる。なお、Composition APIを使う場合はこの限りではない(リアクティブ化はマニュアルなため)。 **Vueのコンポーネントのdataオプションとして**misskey.jsのコネクションを設定するとき、必ず`markRaw`でラップしてください。インスタンスが不必要にリアクティブ化されることで、misskey.js内の処理で不具合が発生するとともに、パフォーマンス上の問題にも繋がる。なお、Composition APIを使う場合はこの限りではない(リアクティブ化はマニュアルなため)。
@ -597,24 +572,3 @@ marginはそのコンポーネントを使う側が設定する
### indexというファイル名を使うな ### indexというファイル名を使うな
ESMではディレクトリインポートは廃止されているのと、ディレクトリインポートせずともファイル名が index だと何故か一部のライブラリ?でディレクトリインポートだと見做されてエラーになる ESMではディレクトリインポートは廃止されているのと、ディレクトリインポートせずともファイル名が index だと何故か一部のライブラリ?でディレクトリインポートだと見做されてエラーになる
## CSS Recipe
### Lighten CSS vars
``` css
color: hsl(from var(--MI_THEME-accent) h s calc(l + 10));
```
### Darken CSS vars
``` css
color: hsl(from var(--MI_THEME-accent) h s calc(l - 10));
```
### Add alpha to CSS vars
``` css
color: color(from var(--MI_THEME-accent) srgb r g b / 0.5);
```

View file

@ -1,5 +1,5 @@
Unless otherwise stated this repository is Unless otherwise stated this repository is
Copyright © 2014-2025 syuilo and contributors Copyright © 2014-2024 syuilo and contributors
And is distributed under The GNU Affero General Public License Version 3, you should have received a copy of the license file as LICENSE. 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 # syntax = docker/dockerfile:1.4
ARG NODE_VERSION=22.15.0-bookworm ARG NODE_VERSION=20.16.0-bullseye
# build assets & compile TypeScript # build assets & compile TypeScript
@ -14,16 +14,14 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
&& apt-get install -yqq --no-install-recommends \ && apt-get install -yqq --no-install-recommends \
build-essential build-essential
RUN corepack enable
WORKDIR /misskey WORKDIR /misskey
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"] COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
COPY --link ["scripts", "./scripts"] COPY --link ["scripts", "./scripts"]
COPY --link ["patches", "./patches"]
COPY --link ["packages/backend/package.json", "./packages/backend/"] COPY --link ["packages/backend/package.json", "./packages/backend/"]
COPY --link ["packages/frontend-shared/package.json", "./packages/frontend-shared/"]
COPY --link ["packages/frontend/package.json", "./packages/frontend/"] COPY --link ["packages/frontend/package.json", "./packages/frontend/"]
COPY --link ["packages/frontend-embed/package.json", "./packages/frontend-embed/"]
COPY --link ["packages/icons-subsetter/package.json", "./packages/icons-subsetter/"]
COPY --link ["packages/sw/package.json", "./packages/sw/"] COPY --link ["packages/sw/package.json", "./packages/sw/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"] COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"] COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
@ -31,8 +29,6 @@ COPY --link ["packages/misskey-bubble-game/package.json", "./packages/misskey-bu
ARG NODE_ENV=production ARG NODE_ENV=production
RUN node -e "console.log(JSON.parse(require('node:fs').readFileSync('./package.json')).packageManager)" | xargs npm install -g
RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \ RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \
pnpm i --frozen-lockfile --aggregate-output pnpm i --frozen-lockfile --aggregate-output
@ -50,11 +46,12 @@ RUN apt-get update \
&& apt-get install -yqq --no-install-recommends \ && apt-get install -yqq --no-install-recommends \
build-essential build-essential
RUN corepack enable
WORKDIR /misskey WORKDIR /misskey
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"] COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
COPY --link ["scripts", "./scripts"] COPY --link ["scripts", "./scripts"]
COPY --link ["patches", "./patches"]
COPY --link ["packages/backend/package.json", "./packages/backend/"] COPY --link ["packages/backend/package.json", "./packages/backend/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"] COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"] COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
@ -62,8 +59,6 @@ COPY --link ["packages/misskey-bubble-game/package.json", "./packages/misskey-bu
ARG NODE_ENV=production ARG NODE_ENV=production
RUN node -e "console.log(JSON.parse(require('node:fs').readFileSync('./package.json')).packageManager)" | xargs npm install -g
RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \ RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \
pnpm i --frozen-lockfile --aggregate-output pnpm i --frozen-lockfile --aggregate-output
@ -76,6 +71,7 @@ RUN apt-get update \
&& apt-get install -y --no-install-recommends \ && apt-get install -y --no-install-recommends \
ffmpeg tini curl libjemalloc-dev libjemalloc2 \ ffmpeg tini curl libjemalloc-dev libjemalloc2 \
&& ln -s /usr/lib/$(uname -m)-linux-gnu/libjemalloc.so.2 /usr/local/lib/libjemalloc.so \ && ln -s /usr/lib/$(uname -m)-linux-gnu/libjemalloc.so.2 /usr/local/lib/libjemalloc.so \
&& corepack enable \
&& groupadd -g "${GID}" misskey \ && groupadd -g "${GID}" misskey \
&& useradd -l -u "${UID}" -g "${GID}" -m -d /misskey 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 /u+s -ignore_readdir_race -exec chmod u-s {} \; \
@ -83,13 +79,13 @@ RUN apt-get update \
&& apt-get clean \ && apt-get clean \
&& rm -rf /var/lib/apt/lists && rm -rf /var/lib/apt/lists
# add package.json to add pnpm
COPY ./package.json ./package.json
RUN node -e "console.log(JSON.parse(require('node:fs').readFileSync('./package.json')).packageManager)" | xargs npm install -g
USER misskey USER misskey
WORKDIR /misskey WORKDIR /misskey
# add package.json to add pnpm
COPY --chown=misskey:misskey ./package.json ./package.json
RUN corepack install
COPY --chown=misskey:misskey --from=target-builder /misskey/node_modules ./node_modules 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/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-js/node_modules ./packages/misskey-js/node_modules

View file

@ -6,15 +6,3 @@ This will allow us to assess the risk, and make a fix available before we add a
bug report to the GitHub repository. bug report to the GitHub repository.
Thanks for helping make Misskey safe for everyone. Thanks for helping make Misskey safe for everyone.
> [!note]
> CNA [requires](https://www.cve.org/ResourcesSupport/AllResources/CNARules#section_5-2_Description) that CVEs include a description in English for inclusion in the CVE Catalog.
>
> When creating a security advisory, all content must be written in English (it is acceptable to include a non-English description along with the English one).
## When create a patch
If you can also create a patch to fix the vulnerability, please create a PR on the private fork.
> [!note]
> There is a GitHub bug that prevents merging if a PR not following the develop branch of upstream, so please keep follow the develop branch.

BIN
assets/about/drive.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
assets/about/post.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 KiB

BIN
assets/about/reaction.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
assets/about/ui.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

BIN
assets/ss/explore.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

BIN
assets/ss/user.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

View file

@ -124,14 +124,6 @@ redis:
# #prefix: example-prefix # #prefix: example-prefix
# #db: 1 # #db: 1
#redisForReactions:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# ┌───────────────────────────┐ # ┌───────────────────────────┐
#───┘ MeiliSearch configuration └───────────────────────────── #───┘ MeiliSearch configuration └─────────────────────────────
@ -173,11 +165,6 @@ id: "aidx"
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend: #sentryForFrontend:
# vueIntegration:
# tracingOptions:
# trackComponents: true
# browserTracingIntegration:
# replayIntegration:
# options: # options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
@ -221,6 +208,9 @@ id: "aidx"
# Media Proxy # Media Proxy
#mediaProxy: https://example.com/proxy #mediaProxy: https://example.com/proxy
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
#allowedPrivateNetworks: [ #allowedPrivateNetworks: [
# '127.0.0.1/32' # '127.0.0.1/32'
#] #]

View file

@ -2,6 +2,11 @@ import { defineConfig } from 'cypress'
export default defineConfig({ export default defineConfig({
e2e: { e2e: {
// We've imported your old cypress plugins here.
// You may want to clean this up later by importing these.
setupNodeEvents(on, config) {
return require('./cypress/plugins/index.js')(on, config)
},
baseUrl: 'http://localhost:61812', baseUrl: 'http://localhost:61812',
}, },
}) })

View file

@ -23,7 +23,6 @@ describe('Before setup instance', () => {
cy.intercept('POST', '/api/admin/accounts/create').as('signup'); cy.intercept('POST', '/api/admin/accounts/create').as('signup');
cy.get('[data-cy-admin-initial-password] input').type('example_password_please_change_this_or_you_will_get_hacked');
cy.get('[data-cy-admin-username] input').type('admin'); cy.get('[data-cy-admin-username] input').type('admin');
cy.get('[data-cy-admin-password] input').type('admin1234'); cy.get('[data-cy-admin-password] input').type('admin1234');
cy.get('[data-cy-admin-ok]').click(); cy.get('[data-cy-admin-ok]').click();
@ -31,14 +30,6 @@ describe('Before setup instance', () => {
// なぜか動かない // なぜか動かない
//cy.wait('@signup').should('have.property', 'response.statusCode'); //cy.wait('@signup').should('have.property', 'response.statusCode');
cy.wait('@signup'); cy.wait('@signup');
cy.intercept('POST', '/api/admin/update-meta').as('update-meta');
cy.get('[data-cy-next]').click();
cy.get('[data-cy-server-name] input').type('Testskey');
cy.get('[data-cy-server-setup-wizard-apply]').click();
cy.wait('@update-meta');
}); });
}); });
@ -78,8 +69,6 @@ describe('After setup instance', () => {
cy.get('[data-cy-signup-password] input').type('alice1234'); cy.get('[data-cy-signup-password] input').type('alice1234');
cy.get('[data-cy-signup-submit]').should('be.disabled'); cy.get('[data-cy-signup-submit]').should('be.disabled');
cy.get('[data-cy-signup-password-retype] input').type('alice1234'); cy.get('[data-cy-signup-password-retype] input').type('alice1234');
cy.get('[data-cy-signup-submit]').should('be.disabled');
cy.get('[data-cy-signup-invitation-code] input').type('test-invitation-code');
cy.get('[data-cy-signup-submit]').should('not.be.disabled'); cy.get('[data-cy-signup-submit]').should('not.be.disabled');
cy.get('[data-cy-signup-submit]').click(); cy.get('[data-cy-signup-submit]').click();
@ -130,16 +119,11 @@ describe('After user signup', () => {
it('signin', () => { it('signin', () => {
cy.visitHome(); cy.visitHome();
cy.intercept('POST', '/api/signin-flow').as('signin'); cy.intercept('POST', '/api/signin').as('signin');
cy.get('[data-cy-signin]').click(); cy.get('[data-cy-signin]').click();
cy.get('[data-cy-signin-username] input').type('alice');
cy.get('[data-cy-signin-page-input]').should('be.visible', { timeout: 1000 }); // Enterキーでサインインできるかの確認も兼ねる
// Enterキーで続行できるかの確認も兼ねる
cy.get('[data-cy-signin-username] input').type('alice{enter}');
cy.get('[data-cy-signin-page-password]').should('be.visible', { timeout: 10000 });
// Enterキーで続行できるかの確認も兼ねる
cy.get('[data-cy-signin-password] input').type('alice1234{enter}'); cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
cy.wait('@signin'); cy.wait('@signin');
@ -154,9 +138,8 @@ describe('After user signup', () => {
cy.visitHome(); cy.visitHome();
cy.get('[data-cy-signin]').click(); cy.get('[data-cy-signin]').click();
cy.get('[data-cy-signin-username] input').type('alice');
cy.get('[data-cy-signin-page-input]').should('be.visible', { timeout: 1000 }); cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
cy.get('[data-cy-signin-username] input').type('alice{enter}');
// TODO: cypressにブラウザの言語指定できる機能が実装され次第英語のみテストするようにする // TODO: cypressにブラウザの言語指定できる機能が実装され次第英語のみテストするようにする
cy.contains(/アカウントが凍結されています|This account has been suspended due to/gi); cy.contains(/アカウントが凍結されています|This account has been suspended due to/gi);
@ -243,7 +226,7 @@ describe('After user setup', () => {
cy.get('[data-cy-post-form-text]').type('Hello, Misskey!'); cy.get('[data-cy-post-form-text]').type('Hello, Misskey!');
cy.get('[data-cy-open-post-form-submit]').click(); cy.get('[data-cy-open-post-form-submit]').click();
cy.contains('Hello, Misskey!', { timeout: 15000 }); cy.contains('Hello, Misskey!');
}); });
it('open note form with hotkey', () => { it('open note form with hotkey', () => {

22
cypress/plugins/index.js Normal file
View file

@ -0,0 +1,22 @@
/// <reference types="cypress" />
// ***********************************************************
// This example plugins/index.js can be used to load plugins
//
// You can change the location of this file or turn off loading
// the plugins file with the 'pluginsFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/plugins-guide
// ***********************************************************
// This function is called when a project is opened or re-opened (e.g. due to
// the project's config changing)
/**
* @type {Cypress.PluginConfig}
*/
// eslint-disable-next-line no-unused-vars
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
}

View file

@ -48,19 +48,16 @@ Cypress.Commands.add('registerUser', (username, password, isAdmin = false) => {
cy.request('POST', route, { cy.request('POST', route, {
username: username, username: username,
password: password, password: password,
...(isAdmin ? { setupPassword: 'example_password_please_change_this_or_you_will_get_hacked' } : {}),
}).its('body').as(username); }).its('body').as(username);
}); });
Cypress.Commands.add('login', (username, password) => { Cypress.Commands.add('login', (username, password) => {
cy.visitHome(); cy.visitHome();
cy.intercept('POST', '/api/signin-flow').as('signin'); cy.intercept('POST', '/api/signin').as('signin');
cy.get('[data-cy-signin]').click(); cy.get('[data-cy-signin]').click();
cy.get('[data-cy-signin-page-input]').should('be.visible', { timeout: 1000 }); cy.get('[data-cy-signin-username] input').type(username);
cy.get('[data-cy-signin-username] input').type(`${username}{enter}`);
cy.get('[data-cy-signin-page-password]').should('be.visible', { timeout: 10000 });
cy.get('[data-cy-signin-password] input').type(`${password}{enter}`); cy.get('[data-cy-signin-password] input').type(`${password}{enter}`);
cy.wait('@signin').as('signedIn'); cy.wait('@signin').as('signedIn');

View file

@ -1 +0,0 @@
使われなくなったけど消すのは勿体ない(将来使えるかもしれない)コードを入れておくとこ

View file

@ -215,6 +215,7 @@ noUsers: "ليس هناك مستخدمون"
editProfile: "تعديل الملف التعريفي" editProfile: "تعديل الملف التعريفي"
noteDeleteConfirm: "هل تريد حذف هذه الملاحظة؟" noteDeleteConfirm: "هل تريد حذف هذه الملاحظة؟"
pinLimitExceeded: "لا يمكنك تثبيت الملاحظات بعد الآن." pinLimitExceeded: "لا يمكنك تثبيت الملاحظات بعد الآن."
intro: "لقد انتهت عملية تنصيب Misskey. الرجاء إنشاء حساب إداري."
done: "تمّ" done: "تمّ"
processing: "المعالجة جارية" processing: "المعالجة جارية"
preview: "معاينة" preview: "معاينة"
@ -250,6 +251,7 @@ removeAreYouSure: "متأكد من أنك تريد حذف {x}؟"
deleteAreYouSure: "متأكد من أنك تريد حذف {x}؟" deleteAreYouSure: "متأكد من أنك تريد حذف {x}؟"
resetAreYouSure: "هل تريد إعادة التعيين؟" resetAreYouSure: "هل تريد إعادة التعيين؟"
saved: "حُفظ" saved: "حُفظ"
messaging: "المحادثة"
upload: "ارفع" upload: "ارفع"
keepOriginalUploading: "ابق الصورة الأصلية" keepOriginalUploading: "ابق الصورة الأصلية"
keepOriginalUploadingDescription: "يحفظ الصور المرفوعة على حالتها الأصلية، وان عطّل ستولد نسخة مخصصة من الصورة." keepOriginalUploadingDescription: "يحفظ الصور المرفوعة على حالتها الأصلية، وان عطّل ستولد نسخة مخصصة من الصورة."
@ -262,6 +264,7 @@ uploadFromUrlMayTakeTime: "سيستغرق بعض الوقت لاتمام الر
explore: "استكشاف" explore: "استكشاف"
messageRead: "مقروءة" messageRead: "مقروءة"
noMoreHistory: "لا يوجد المزيد من التاريخ" noMoreHistory: "لا يوجد المزيد من التاريخ"
startMessaging: "ابدأ محادثة"
nUsersRead: "قرأه {n}" nUsersRead: "قرأه {n}"
agreeTo: "اوافق على {0}" agreeTo: "اوافق على {0}"
agree: "أقبل" agree: "أقبل"
@ -340,6 +343,7 @@ enableLocalTimeline: "تفعيل الخيط المحلي"
enableGlobalTimeline: "تفعيل الخيط الزمني الشامل" enableGlobalTimeline: "تفعيل الخيط الزمني الشامل"
disablingTimelinesInfo: "سيتمكن المديرون والمشرفون من الوصول إلى كل الخيوط الزمنية حتى وإن لم تفعّل." disablingTimelinesInfo: "سيتمكن المديرون والمشرفون من الوصول إلى كل الخيوط الزمنية حتى وإن لم تفعّل."
registration: "إنشاء حساب" registration: "إنشاء حساب"
enableRegistration: "تفعيل إنشاء الحسابات الجديدة"
invite: "دعوة" invite: "دعوة"
driveCapacityPerLocalAccount: "حصة التخزين لكل مستخدم محلي" driveCapacityPerLocalAccount: "حصة التخزين لكل مستخدم محلي"
driveCapacityPerRemoteAccount: "حصة التخزين لكل مستخدم بعيد" driveCapacityPerRemoteAccount: "حصة التخزين لكل مستخدم بعيد"
@ -433,6 +437,8 @@ retype: "أعد الكتابة"
noteOf: "ملاحظات {user}" noteOf: "ملاحظات {user}"
quoteAttached: "اِقتُبسَ" quoteAttached: "اِقتُبسَ"
quoteQuestion: "أتريد تضمينها كاقتباس" quoteQuestion: "أتريد تضمينها كاقتباس"
noMessagesYet: "ليس هناك رسائل بعد"
newMessageExists: "لقد تلقيت رسالة جديدة"
onlyOneFileCanBeAttached: "يمكنك إرفاق ملف واحد بالرسالة" onlyOneFileCanBeAttached: "يمكنك إرفاق ملف واحد بالرسالة"
signinRequired: "رجاءً لِج" signinRequired: "رجاءً لِج"
invitations: "دعوة" invitations: "دعوة"
@ -620,7 +626,10 @@ abuseReported: "أُرسل البلاغ، شكرًا لك"
reporter: "المُبلّغ" reporter: "المُبلّغ"
reporteeOrigin: "أصل البلاغ" reporteeOrigin: "أصل البلاغ"
reporterOrigin: "أصل المُبلّغ" reporterOrigin: "أصل المُبلّغ"
forwardReport: "وجّه البلاغ إلى المثيل البعيد"
forwardReportIsAnonymous: "في المثيل البعيد سيظهر المبلّغ كحساب مجهول."
send: "أرسل" send: "أرسل"
abuseMarkAsResolved: "علّم البلاغ كمحلول"
openInNewTab: "افتح في لسان جديد" openInNewTab: "افتح في لسان جديد"
defaultNavigationBehaviour: "سلوك الملاحة الافتراضي" defaultNavigationBehaviour: "سلوك الملاحة الافتراضي"
editTheseSettingsMayBreakAccount: "تعديل هذه الإعدادات قد يسبب عطبًا لحسابك" editTheseSettingsMayBreakAccount: "تعديل هذه الإعدادات قد يسبب عطبًا لحسابك"
@ -675,6 +684,7 @@ experimental: "اختباري"
developer: "المطور" developer: "المطور"
makeExplorable: "أظهر الحساب في صفحة \"استكشاف\"" makeExplorable: "أظهر الحساب في صفحة \"استكشاف\""
makeExplorableDescription: "بتعطيل هذا الخيار لن يظهر حسابك في صفحة \"استكشاف\"" makeExplorableDescription: "بتعطيل هذا الخيار لن يظهر حسابك في صفحة \"استكشاف\""
showGapBetweenNotesInTimeline: "أظهر فجوات بين المشاركات في الخيط الزمني"
left: "يسار" left: "يسار"
center: "وسط" center: "وسط"
wide: "عريض" wide: "عريض"
@ -1006,14 +1016,6 @@ sourceCode: "الشفرة المصدرية"
flip: "اقلب" flip: "اقلب"
lastNDays: "آخر {n} أيام" lastNDays: "آخر {n} أيام"
surrender: "ألغِ" surrender: "ألغِ"
postForm: "أنشئ ملاحظة"
information: "عن"
_chat:
invitations: "دعوة"
noHistory: "السجل فارغ"
members: "الأعضاء"
home: "الرئيسي"
send: "أرسل"
_delivery: _delivery:
stop: "مُعلّق" stop: "مُعلّق"
_initialAccountSetting: _initialAccountSetting:
@ -1238,6 +1240,7 @@ _theme:
shadow: "الظل" shadow: "الظل"
navBg: "خلفية الشريط الجانبي" navBg: "خلفية الشريط الجانبي"
navFg: "نص الشريط الجانبي" navFg: "نص الشريط الجانبي"
navHoverFg: "نص الشريط الجانبي (عند التمرير فوقه)"
link: "رابط" link: "رابط"
hashtag: "وسم" hashtag: "وسم"
mention: "أشر الى" mention: "أشر الى"
@ -1252,6 +1255,8 @@ _theme:
buttonBg: "خلفية الأزرار" buttonBg: "خلفية الأزرار"
buttonHoverBg: "خلفية الأزرار (عند التمرير فوقها)" buttonHoverBg: "خلفية الأزرار (عند التمرير فوقها)"
inputBorder: "حواف حقل الإدخال" inputBorder: "حواف حقل الإدخال"
listItemHoverBg: "خلفية عناصر القائمة (عند التمرير فوقها)"
driveFolderBg: "خلفية مجلد قرص التخزين"
messageBg: "خلفية المحادثة" messageBg: "خلفية المحادثة"
_sfx: _sfx:
note: "الملاحظات" note: "الملاحظات"
@ -1311,7 +1316,6 @@ _permissions:
"read:gallery": "اعرض المعرض" "read:gallery": "اعرض المعرض"
"write:gallery": "عدّل المعرض" "write:gallery": "عدّل المعرض"
"read:gallery-likes": "يعرض ما أعجبك من مشاركات المعرض" "read:gallery-likes": "يعرض ما أعجبك من مشاركات المعرض"
"write:chat": "اكتب أو احذف رسائل محادثة"
_auth: _auth:
shareAccess: "أتريد التفويض لـ \"{name}\" بالوصول لحسابك؟" shareAccess: "أتريد التفويض لـ \"{name}\" بالوصول لحسابك؟"
shareAccessAsk: "هل تخول لهذا التطبيق الوصول لحسابك؟" shareAccessAsk: "هل تخول لهذا التطبيق الوصول لحسابك؟"
@ -1461,6 +1465,9 @@ _pages:
newPage: "أنشئ صفحة جديدة" newPage: "أنشئ صفحة جديدة"
editPage: "عدّل الصفحة" editPage: "عدّل الصفحة"
readPage: "نُشّط عرض المصدر" readPage: "نُشّط عرض المصدر"
created: "نجح إنشاء الصفحة"
updated: "نجح تعديل الصفحة"
deleted: "نجح حذف الصفحة"
pageSetting: "إعدادات الصفحة" pageSetting: "إعدادات الصفحة"
nameAlreadyExists: "رابط الصفحة موجود مسبقًا" nameAlreadyExists: "رابط الصفحة موجود مسبقًا"
invalidNameTitle: "رابط الصفحة ليس صالحًا" invalidNameTitle: "رابط الصفحة ليس صالحًا"
@ -1526,7 +1533,6 @@ _notification:
reaction: "التفاعل" reaction: "التفاعل"
receiveFollowRequest: "طلبات المتابعة" receiveFollowRequest: "طلبات المتابعة"
followRequestAccepted: "طلبات المتابعة المقبولة" followRequestAccepted: "طلبات المتابعة المقبولة"
login: "لِج"
app: "إشعارات التطبيقات المرتبطة" app: "إشعارات التطبيقات المرتبطة"
_actions: _actions:
followBack: "تابعك بالمثل" followBack: "تابعك بالمثل"
@ -1582,18 +1588,3 @@ _reversi:
_offlineScreen: _offlineScreen:
title: "غير متصل - يتعذر الاتصال بالخادم" title: "غير متصل - يتعذر الاتصال بالخادم"
header: "يتعذر الاتصال بالخادم" header: "يتعذر الاتصال بالخادم"
_remoteLookupErrors:
_noSuchObject:
title: "غير موجود"
_search:
searchScopeAll: "الكل"
searchScopeLocal: "المحلي"
searchScopeUser: "مستخدم محدد"
_watermarkEditor:
opacity: "الشفافية"
scale: "الحجم"
text: "نص"
position: "الموضع"
type: "نوع"
image: "صور"
advanced: "متقدم"

View file

@ -215,6 +215,7 @@ noUsers: "কোন ব্যাবহারকারী নেই"
editProfile: "প্রোফাইল সম্পাদনা করুন" editProfile: "প্রোফাইল সম্পাদনা করুন"
noteDeleteConfirm: "আপনি কি নোট ডিলিট করার ব্যাপারে নিশ্চিত?" noteDeleteConfirm: "আপনি কি নোট ডিলিট করার ব্যাপারে নিশ্চিত?"
pinLimitExceeded: "আপনি আর কোন নোট পিন করতে পারবেন না" pinLimitExceeded: "আপনি আর কোন নোট পিন করতে পারবেন না"
intro: "Misskey এর ইন্সটলেশন সম্পন্ন হয়েছে!দয়া করে অ্যাডমিন ইউজার তৈরি করুন।"
done: "সম্পন্ন" done: "সম্পন্ন"
processing: "প্রক্রিয়াধীন..." processing: "প্রক্রিয়াধীন..."
preview: "পূর্বরূপ দেখুন" preview: "পূর্বরূপ দেখুন"
@ -251,6 +252,7 @@ removeAreYouSure: "আপনি কি \"{x}\" সরানোর ব্যা
deleteAreYouSure: "আপনি কি \"{x}\" সরানোর ব্যাপারে নিশ্চিত?" deleteAreYouSure: "আপনি কি \"{x}\" সরানোর ব্যাপারে নিশ্চিত?"
resetAreYouSure: "রিসেট করার ব্যাপারে নিশ্চিত?" resetAreYouSure: "রিসেট করার ব্যাপারে নিশ্চিত?"
saved: "সংরক্ষিত হয়েছে" saved: "সংরক্ষিত হয়েছে"
messaging: "চ্যাট"
upload: "আপলোড" upload: "আপলোড"
keepOriginalUploading: "আসল ছবি রাখুন" keepOriginalUploading: "আসল ছবি রাখুন"
keepOriginalUploadingDescription: "ছবিটি আপলোড করার সময় আসল সংস্করণটি রাখুন। অপশনটি বন্ধ থাকলে, আপলোডের সময় ওয়েব প্রকাশনার জন্য ছবি ব্রাউজারে তৈরি করা হবে।" keepOriginalUploadingDescription: "ছবিটি আপলোড করার সময় আসল সংস্করণটি রাখুন। অপশনটি বন্ধ থাকলে, আপলোডের সময় ওয়েব প্রকাশনার জন্য ছবি ব্রাউজারে তৈরি করা হবে।"
@ -263,6 +265,7 @@ uploadFromUrlMayTakeTime: "URL হতে আপলোড হতে কিছু
explore: "ঘুরে দেখুন" explore: "ঘুরে দেখুন"
messageRead: "পড়া" messageRead: "পড়া"
noMoreHistory: "আর কোন ইতিহাস নেই" noMoreHistory: "আর কোন ইতিহাস নেই"
startMessaging: "চ্যাট শুরু করুন"
nUsersRead: "{n} জন পড়েছেন" nUsersRead: "{n} জন পড়েছেন"
agreeTo: "{0} এর প্রতি আমি সম্মত" agreeTo: "{0} এর প্রতি আমি সম্মত"
start: "শুরু করুন" start: "শুরু করুন"
@ -336,6 +339,7 @@ enableLocalTimeline: "স্থানীয় টাইমলাইন চাল
enableGlobalTimeline: "গ্লোবাল টাইমলাইন চালু করুন" enableGlobalTimeline: "গ্লোবাল টাইমলাইন চালু করুন"
disablingTimelinesInfo: "আপনি এই টাইমলাইনগুলি বন্ধ করলেও প্রশাসক এবং মডারেটররা এই টাইমলাইনগুলি ব্যাবহার করতে পারবে" disablingTimelinesInfo: "আপনি এই টাইমলাইনগুলি বন্ধ করলেও প্রশাসক এবং মডারেটররা এই টাইমলাইনগুলি ব্যাবহার করতে পারবে"
registration: "নিবন্ধন" registration: "নিবন্ধন"
enableRegistration: "নতুন ব্যাবহারকারী নিবন্ধন চালু করুন"
invite: "আমন্ত্রণ" invite: "আমন্ত্রণ"
driveCapacityPerLocalAccount: "প্রত্যেক স্থানীয় ব্যাবহারকারীর জন্য ড্রাইভের জায়গা" driveCapacityPerLocalAccount: "প্রত্যেক স্থানীয় ব্যাবহারকারীর জন্য ড্রাইভের জায়গা"
driveCapacityPerRemoteAccount: "প্রত্যেক রিমোট ব্যাবহারকারীর জন্য ড্রাইভের জায়গা" driveCapacityPerRemoteAccount: "প্রত্যেক রিমোট ব্যাবহারকারীর জন্য ড্রাইভের জায়গা"
@ -424,6 +428,8 @@ retype: "পুনঃ প্রবেশ"
noteOf: "{user} এর নোট" noteOf: "{user} এর নোট"
quoteAttached: "উদ্ধৃত" quoteAttached: "উদ্ধৃত"
quoteQuestion: "উদ্ধৃতি হিসাবে সংযুক্ত করবেন?" quoteQuestion: "উদ্ধৃতি হিসাবে সংযুক্ত করবেন?"
noMessagesYet: "কোন মেসেজ নেই"
newMessageExists: "নতুন মেসেজ পেয়েছেন"
onlyOneFileCanBeAttached: "আপনি মেসেজের সাথে সর্বোচ্চ একটি ফাইল যুক্ত করতে পারবেন" onlyOneFileCanBeAttached: "আপনি মেসেজের সাথে সর্বোচ্চ একটি ফাইল যুক্ত করতে পারবেন"
signinRequired: "দয়া করে লগ ইন করুন" signinRequired: "দয়া করে লগ ইন করুন"
invitations: "আমন্ত্রণ" invitations: "আমন্ত্রণ"
@ -445,6 +451,7 @@ or: "অথবা"
language: "ভাষা" language: "ভাষা"
uiLanguage: "UI এর ভাষা" uiLanguage: "UI এর ভাষা"
aboutX: "{x} সম্পর্কে" aboutX: "{x} সম্পর্কে"
disableDrawer: "ড্রয়ার মেনু প্রদর্শন করবেন না"
noHistory: "কোনো ইতিহাস নেই" noHistory: "কোনো ইতিহাস নেই"
signinHistory: "প্রবেশ করার ইতিহাস" signinHistory: "প্রবেশ করার ইতিহাস"
doing: "প্রক্রিয়া করছে..." doing: "প্রক্রিয়া করছে..."
@ -618,7 +625,10 @@ abuseReported: "আপনার অভিযোগটি দাখিল কর
reporter: "অভিযোগকারী" reporter: "অভিযোগকারী"
reporteeOrigin: "অভিযোগটির উৎস" reporteeOrigin: "অভিযোগটির উৎস"
reporterOrigin: "অভিযোগকারীর উৎস" reporterOrigin: "অভিযোগকারীর উৎস"
forwardReport: "রিমোট ইন্সত্যান্সে অভিযোগটি পাঠান"
forwardReportIsAnonymous: "আপনার তথ্য রিমোট ইন্সত্যান্সে পাঠানো হবে না এবং একটি বেনামী সিস্টেম অ্যাকাউন্ট হিসাবে প্রদর্শিত হবে।"
send: "পাঠান" send: "পাঠান"
abuseMarkAsResolved: "অভিযোগটিকে সমাধাকৃত হিসাবে চিহ্নিত করুন"
openInNewTab: "নতুন ট্যাবে খুলুন" openInNewTab: "নতুন ট্যাবে খুলুন"
openInSideView: "সাইড ভিউতে খুলুন" openInSideView: "সাইড ভিউতে খুলুন"
defaultNavigationBehaviour: "ডিফল্ট নেভিগেশন" defaultNavigationBehaviour: "ডিফল্ট নেভিগেশন"
@ -672,6 +682,7 @@ experimentalFeatures: "পরীক্ষামূলক বৈশিষ্ট
developer: "ডেভেলপার" developer: "ডেভেলপার"
makeExplorable: "অ্যাকাউন্ট \"ঘুরে দেখুন\" পৃষ্ঠায় দেখান" makeExplorable: "অ্যাকাউন্ট \"ঘুরে দেখুন\" পৃষ্ঠায় দেখান"
makeExplorableDescription: "আপনি এটি বন্ধ করলে, আপনার অ্যাকাউন্ট \"ঘুরে দেখুন\" পৃষ্ঠায় প্রদর্শিত হবে না।" makeExplorableDescription: "আপনি এটি বন্ধ করলে, আপনার অ্যাকাউন্ট \"ঘুরে দেখুন\" পৃষ্ঠায় প্রদর্শিত হবে না।"
showGapBetweenNotesInTimeline: "টাইমলাইন এবং নোটের মাঝে ফাকা জায়গা রাখুন"
duplicate: "প্রতিরূপ" duplicate: "প্রতিরূপ"
left: "বাম" left: "বাম"
center: "মাঝখান" center: "মাঝখান"
@ -846,14 +857,6 @@ replies: "জবাব"
renotes: "রিনোট" renotes: "রিনোট"
sourceCode: "সোর্স কোড" sourceCode: "সোর্স কোড"
flip: "উল্টান" flip: "উল্টান"
postForm: "নোট লিখুন"
information: "আপনার সম্পর্কে"
_chat:
invitations: "আমন্ত্রণ"
noHistory: "কোনো ইতিহাস নেই"
members: "সদস্যবৃন্দ"
home: "মূল পাতা"
send: "পাঠান"
_delivery: _delivery:
stop: "স্থগিত করা হয়েছে" stop: "স্থগিত করা হয়েছে"
_type: _type:
@ -996,6 +999,7 @@ _theme:
header: "হেডার" header: "হেডার"
navBg: "সাইডবারের পটভূমি" navBg: "সাইডবারের পটভূমি"
navFg: "সাইডবারের পাঠ্য" navFg: "সাইডবারের পাঠ্য"
navHoverFg: "সাইডবারের পাঠ্য (হভার)"
navActive: "সাইডবারের পাঠ্য (অ্যাকটিভ)" navActive: "সাইডবারের পাঠ্য (অ্যাকটিভ)"
navIndicator: "সাইডবারের ইনডিকেটর" navIndicator: "সাইডবারের ইনডিকেটর"
link: "লিংক" link: "লিংক"
@ -1017,8 +1021,13 @@ _theme:
buttonBg: "বাটনের পটভূমি" buttonBg: "বাটনের পটভূমি"
buttonHoverBg: "বাটনের পটভূমি (হভার)" buttonHoverBg: "বাটনের পটভূমি (হভার)"
inputBorder: "ইনপুট ফিল্ডের বর্ডার" inputBorder: "ইনপুট ফিল্ডের বর্ডার"
listItemHoverBg: "লিস্ট আইটেমের পটভূমি (হোভার)"
driveFolderBg: "ড্রাইভ ফোল্ডারের পটভূমি"
wallpaperOverlay: "ওয়ালপেপার ওভারলে"
badge: "ব্যাজ" badge: "ব্যাজ"
messageBg: "চ্যাটের পটভূমি" messageBg: "চ্যাটের পটভূমি"
accentDarken: "অ্যাকসেন্ট (গাঢ়)"
accentLighten: "অ্যাকসেন্ট (হাল্কা)"
fgHighlighted: "হাইলাইট করা পাঠ্য" fgHighlighted: "হাইলাইট করা পাঠ্য"
_sfx: _sfx:
note: "নোটগুলি" note: "নোটগুলি"
@ -1081,7 +1090,6 @@ _permissions:
"write:gallery": "গ্যালারী সম্পাদনা করুন" "write:gallery": "গ্যালারী সম্পাদনা করুন"
"read:gallery-likes": "গ্যালারীর পছন্দগুলি দেখুন" "read:gallery-likes": "গ্যালারীর পছন্দগুলি দেখুন"
"write:gallery-likes": "গ্যালারীর পছন্দগুলি সম্পাদনা করুন" "write:gallery-likes": "গ্যালারীর পছন্দগুলি সম্পাদনা করুন"
"write:chat": "চ্যাটগুলি সম্পাদনা করুন"
_auth: _auth:
shareAccess: "\"{name}\" কে অ্যাকাউন্টের অ্যাক্সেস দিবেন?" shareAccess: "\"{name}\" কে অ্যাকাউন্টের অ্যাক্সেস দিবেন?"
shareAccessAsk: "অ্যাপ্লিকেশনটিকে অ্যাকাউন্টের অ্যাক্সেস দিবেন?" shareAccessAsk: "অ্যাপ্লিকেশনটিকে অ্যাকাউন্টের অ্যাক্সেস দিবেন?"
@ -1235,6 +1243,9 @@ _pages:
newPage: "নতুন পৃষ্ঠা বানান" newPage: "নতুন পৃষ্ঠা বানান"
editPage: "পৃষ্ঠাটি সম্পাদনা করুন" editPage: "পৃষ্ঠাটি সম্পাদনা করুন"
readPage: "উৎস দেখছেন" readPage: "উৎস দেখছেন"
created: "পৃষ্ঠা তৈরি করা হয়েছে"
updated: "পৃষ্ঠা সম্পাদনা করা হয়েছে"
deleted: "পৃষ্ঠা মুছে ফেলা হয়েছে"
pageSetting: "পৃষ্ঠার সেটিংস" pageSetting: "পৃষ্ঠার সেটিংস"
nameAlreadyExists: "পৃষ্ঠার URLটি ইতিমধ্যেই ব্যাবহার করা হয়েছে" nameAlreadyExists: "পৃষ্ঠার URLটি ইতিমধ্যেই ব্যাবহার করা হয়েছে"
invalidNameTitle: "পৃষ্ঠার URL অবৈধ" invalidNameTitle: "পৃষ্ঠার URL অবৈধ"
@ -1303,7 +1314,6 @@ _notification:
pollEnded: "পোল শেষ" pollEnded: "পোল শেষ"
receiveFollowRequest: "প্রাপ্ত অনুসরণের অনুরোধসমূহ" receiveFollowRequest: "প্রাপ্ত অনুসরণের অনুরোধসমূহ"
followRequestAccepted: "গৃহীত অনুসরণের অনুরোধসমূহ" followRequestAccepted: "গৃহীত অনুসরণের অনুরোধসমূহ"
login: "প্রবেশ করুন"
app: "লিঙ্ক করা অ্যাপ থেকে বিজ্ঞপ্তি" app: "লিঙ্ক করা অ্যাপ থেকে বিজ্ঞপ্তি"
_actions: _actions:
followBack: "ফলো ব্যাক করেছে" followBack: "ফলো ব্যাক করেছে"
@ -1343,15 +1353,3 @@ _moderationLogTypes:
resetPassword: "পাসওয়ার্ড রিসেট করুন" resetPassword: "পাসওয়ার্ড রিসেট করুন"
_reversi: _reversi:
total: "মোট" total: "মোট"
_remoteLookupErrors:
_noSuchObject:
title: "পাওয়া যায়নি"
_search:
searchScopeAll: "সবগুলো"
searchScopeLocal: "স্থানীয়"
_watermarkEditor:
opacity: "অস্বচ্ছতা"
scale: "আকার"
text: "লেখা"
image: "ছবি"
advanced: "উন্নত"

File diff suppressed because it is too large Load diff

View file

@ -1,17 +1,13 @@
--- ---
_lang_: "Čeština" _lang_: "Čeština"
headlineMisskey: "Síť propojená poznámkami" headlineMisskey: "Síť propojená poznámkami"
introMisskey: "Vítejte! Misskey je otevřená a decentralizovaná microblogovací služba.\n\"Poznámkami\" můžete sdílet co se zrovna děje se všemi ve Vašem okolí. 📡\nPomocí \"reakcí\" můžete sdílet své názory a pocity na ostatní poznámky. 👍\nPojďte objevovat nový svět! 🚀" introMisskey: "Vítejte! Misskey je otevřený a decentralizovaný microblogový servis.\n\"Poznámkami\" můžete sdílet co se zrovna děje se všemi ve Vašem okolí. 📡\nPomocí \"reakcí\" můžete sdílet své názory a pocity na ostatní poznámky. 👍\nPojďte objevovat nový svět! 🚀"
poweredByMisskeyDescription: "{name} je jeden ze serverů využívající open source platformu <b>Misskey<b> (nazývaná \"Misskey instance\")." poweredByMisskeyDescription: "{name} je jeden ze serverů využívající open source platformu <b>Misskey<b> (nazývaná \"Misskey instance\")."
monthAndDay: "{day}. {month}." monthAndDay: "{day}. {month}."
search: "Vyhledávání" search: "Vyhledávání"
reset: "Obnovit"
notifications: "Oznámení" notifications: "Oznámení"
username: "Uživatelské jméno" username: "Uživatelské jméno"
password: "Heslo" password: "Heslo"
initialPasswordForSetup: "Počáteční heslo pro nastavení"
initialPasswordIsIncorrect: "Počáteční heslo pro nastavení je nesprávné"
initialPasswordForSetupDescription: "Použijte heslo, které jste nastavili v konfiguračním souboru, pokud jste Misskey instalovali ručně.\nPokud užíváte Misskey hostovací službu, použijte poskytnuté heslo.\nPokud jste heslo nenastavovali, zanechte prázdné."
forgotPassword: "Zapomenuté heslo" forgotPassword: "Zapomenuté heslo"
fetchingAsApObject: "Načítám data z Fediversu..." fetchingAsApObject: "Načítám data z Fediversu..."
ok: "Potvrdit" ok: "Potvrdit"
@ -19,7 +15,7 @@ gotIt: "Rozumím!"
cancel: "Zrušit" cancel: "Zrušit"
noThankYou: "Ne děkuji" noThankYou: "Ne děkuji"
enterUsername: "Zadej uživatelské jméno" enterUsername: "Zadej uživatelské jméno"
renotedBy: "{user} přeposlal*a" renotedBy: "{user} přeposla/a"
noNotes: "Žádné poznámky" noNotes: "Žádné poznámky"
noNotifications: "Žádná oznámení" noNotifications: "Žádná oznámení"
instance: "Instance" instance: "Instance"
@ -49,8 +45,6 @@ pin: "Připnout"
unpin: "Odepnout" unpin: "Odepnout"
copyContent: "Zkopírovat obsah" copyContent: "Zkopírovat obsah"
copyLink: "Kopírovat odkaz" copyLink: "Kopírovat odkaz"
copyRemoteLink: "Zkoprírovat vzdálený odkaz"
copyLinkRenote: "Zkopírovat odkaz renotu"
delete: "Smazat" delete: "Smazat"
deleteAndEdit: "Smazat a upravit" deleteAndEdit: "Smazat a upravit"
deleteAndEditConfirm: "Jste si jistí že chcete smazat tuto poznámku a editovat ji? Ztratíte tím všechny reakce, sdílení a odpovědi na ni." deleteAndEditConfirm: "Jste si jistí že chcete smazat tuto poznámku a editovat ji? Ztratíte tím všechny reakce, sdílení a odpovědi na ni."
@ -65,7 +59,6 @@ copyFileId: "Kopírovat ID souboru"
copyFolderId: "Kopírovat ID složky" copyFolderId: "Kopírovat ID složky"
copyProfileUrl: "Kopírovat URL profilu" copyProfileUrl: "Kopírovat URL profilu"
searchUser: "Vyhledat uživatele" searchUser: "Vyhledat uživatele"
searchThisUsersNotes: "Prohledat poznámky uživatele"
reply: "Odpovědět" reply: "Odpovědět"
loadMore: "Zobrazit více" loadMore: "Zobrazit více"
showMore: "Zobrazit více" showMore: "Zobrazit více"
@ -175,9 +168,6 @@ addAccount: "Přidat účet"
reloadAccountsList: "Obnovit list účtů" reloadAccountsList: "Obnovit list účtů"
loginFailed: "Přihlášení se nezdařilo." loginFailed: "Přihlášení se nezdařilo."
showOnRemote: "Více na původním profilu" showOnRemote: "Více na původním profilu"
continueOnRemote: "Pokračujte na původní profil"
chooseServerOnMisskeyHub: "Vyberete si server z Misskey Hubu"
inputHostName: "Zadejte doménu"
general: "Obecně" general: "Obecně"
wallpaper: "Obrázek na pozadí" wallpaper: "Obrázek na pozadí"
setWallpaper: "Nastavení obrázku na pozadí" setWallpaper: "Nastavení obrázku na pozadí"
@ -202,7 +192,6 @@ perHour: "za hodinu"
perDay: "za den" perDay: "za den"
stopActivityDelivery: "Přestat zasílat aktivitu" stopActivityDelivery: "Přestat zasílat aktivitu"
blockThisInstance: "Blokovat tuto instanci" blockThisInstance: "Blokovat tuto instanci"
silenceThisInstance: "Utišit tuto instanci"
operations: "Operace" operations: "Operace"
software: "Software" software: "Software"
version: "Verze" version: "Verze"
@ -229,6 +218,7 @@ noUsers: "Žádní uživatelé"
editProfile: "Upravit můj profil" editProfile: "Upravit můj profil"
noteDeleteConfirm: "Jste si jistí že chcete smazat tuhle poznámku?" noteDeleteConfirm: "Jste si jistí že chcete smazat tuhle poznámku?"
pinLimitExceeded: "Nemůžete připnout další poznámky." pinLimitExceeded: "Nemůžete připnout další poznámky."
intro: "Instalace Misskey byla dokončena! Prosím vytvořte admina."
done: "Hotovo" done: "Hotovo"
processing: "Zpracovávám" processing: "Zpracovávám"
preview: "Náhled" preview: "Náhled"
@ -266,6 +256,7 @@ removeAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?"
deleteAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?" deleteAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?"
resetAreYouSure: "Opravdu resetovat?" resetAreYouSure: "Opravdu resetovat?"
saved: "Uloženo" saved: "Uloženo"
messaging: "Zprávy"
upload: "Nahrát soubory" upload: "Nahrát soubory"
keepOriginalUploading: "Ponechat originální obrázek" keepOriginalUploading: "Ponechat originální obrázek"
keepOriginalUploadingDescription: "Uloží původní nahraný obrázek jak je. Pokud je to vypnuté, vygeneruje se zobrazení verze na webu při nahrátí." keepOriginalUploadingDescription: "Uloží původní nahraný obrázek jak je. Pokud je to vypnuté, vygeneruje se zobrazení verze na webu při nahrátí."
@ -278,6 +269,7 @@ uploadFromUrlMayTakeTime: "Může trvat nějakou dobu, dokud nebude dokončeno n
explore: "Objevovat" explore: "Objevovat"
messageRead: "Přečtené" messageRead: "Přečtené"
noMoreHistory: "To je vše" noMoreHistory: "To je vše"
startMessaging: "Zahájit chat"
nUsersRead: "přečteno {n} uživateli" nUsersRead: "přečteno {n} uživateli"
agreeTo: "Souhlasím s {0}" agreeTo: "Souhlasím s {0}"
agree: "Souhlasím" agree: "Souhlasím"
@ -356,6 +348,7 @@ enableLocalTimeline: "Povolit lokální čas"
enableGlobalTimeline: "Povolit globální čas" enableGlobalTimeline: "Povolit globální čas"
disablingTimelinesInfo: "Administrátoři a Moderátoři budou mít stálý přístup ke všem časovým osám i přes to že nejsou zapnuté." disablingTimelinesInfo: "Administrátoři a Moderátoři budou mít stálý přístup ke všem časovým osám i přes to že nejsou zapnuté."
registration: "Registrace" registration: "Registrace"
enableRegistration: "Povolit registraci novým uživatelům"
invite: "Pozvat" invite: "Pozvat"
driveCapacityPerLocalAccount: "Kapacita disku na lokálního uživatele" driveCapacityPerLocalAccount: "Kapacita disku na lokálního uživatele"
driveCapacityPerRemoteAccount: "Kapacita disku na vzdáleného uživatele" driveCapacityPerRemoteAccount: "Kapacita disku na vzdáleného uživatele"
@ -373,11 +366,8 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Aktivovat hCaptchu" enableHcaptcha: "Aktivovat hCaptchu"
hcaptchaSiteKey: "Klíč stránky" hcaptchaSiteKey: "Klíč stránky"
hcaptchaSecretKey: "Tajný Klíč (Secret Key)" hcaptchaSecretKey: "Tajný Klíč (Secret Key)"
mcaptcha: "mCaptcha"
enableMcaptcha: "Aktivovat mCaptchu"
mcaptchaSiteKey: "Klíč stránky" mcaptchaSiteKey: "Klíč stránky"
mcaptchaSecretKey: "Tajný Klíč (Secret Key)" mcaptchaSecretKey: "Tajný Klíč (Secret Key)"
mcaptchaInstanceUrl: "URL mCaptcha serveru"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Zapnout ReCAPTCHu" enableRecaptcha: "Zapnout ReCAPTCHu"
recaptchaSiteKey: "Klíč stránky" recaptchaSiteKey: "Klíč stránky"
@ -456,6 +446,8 @@ retype: "Zadejte znovu"
noteOf: "{user} poznámky" noteOf: "{user} poznámky"
quoteAttached: "Citace" quoteAttached: "Citace"
quoteQuestion: "Přiložit jako citaci?" quoteQuestion: "Přiložit jako citaci?"
noMessagesYet: "Zatím tu nejsou žádné zprávy"
newMessageExists: "Máte novou zprávu"
onlyOneFileCanBeAttached: "Ke zprávě můžete přiložit jenom jeden soubor" onlyOneFileCanBeAttached: "Ke zprávě můžete přiložit jenom jeden soubor"
signinRequired: "Přihlašte se, prosím" signinRequired: "Přihlašte se, prosím"
invitations: "Pozvat" invitations: "Pozvat"
@ -479,8 +471,7 @@ uiLanguage: "Jazyk uživatelského rozhraní"
aboutX: "O {x}" aboutX: "O {x}"
emojiStyle: "Styl emoji" emojiStyle: "Styl emoji"
native: "Výchozí" native: "Výchozí"
style: "Vzhled" disableDrawer: "Nepoužívat šuplíkové menu"
popup: "Vyskakovací okno"
showNoteActionsOnlyHover: "Zobrazit akce poznámky jenom při naběhnutí myši" showNoteActionsOnlyHover: "Zobrazit akce poznámky jenom při naběhnutí myši"
noHistory: "Žádná historie" noHistory: "Žádná historie"
signinHistory: "Historie přihlášení" signinHistory: "Historie přihlášení"
@ -543,7 +534,6 @@ showInPage: "Zobrazit na stránce"
popout: "Pop-out" popout: "Pop-out"
volume: "Hlasitost" volume: "Hlasitost"
masterVolume: "Celková hlasitost" masterVolume: "Celková hlasitost"
notUseSound: "Zakázat zvuk"
details: "Detaily" details: "Detaily"
chooseEmoji: "Vybrat emotikon" chooseEmoji: "Vybrat emotikon"
unableToProcess: "Operace nebyla dokončena." unableToProcess: "Operace nebyla dokončena."
@ -668,7 +658,10 @@ abuseReported: "Nahlášení bylo odesláno. Děkujeme převelice."
reporter: "Nahlásil" reporter: "Nahlásil"
reporteeOrigin: "Původ nahlášení" reporteeOrigin: "Původ nahlášení"
reporterOrigin: "Původ nahlasovače" reporterOrigin: "Původ nahlasovače"
forwardReport: "Přeposlat nahlášení do vzdálené instance"
forwardReportIsAnonymous: "Místo vašeho účtu se ve vzdálené instanci zobrazí anonymní systémový účet jako nahlašovač."
send: "Odeslat" send: "Odeslat"
abuseMarkAsResolved: "Označit nahlášení jako vyřešené"
openInNewTab: "Otevřít v nové kartě" openInNewTab: "Otevřít v nové kartě"
openInSideView: "Otevřít v bočním panelu" openInSideView: "Otevřít v bočním panelu"
defaultNavigationBehaviour: "Výchozí chování navigace" defaultNavigationBehaviour: "Výchozí chování navigace"
@ -726,6 +719,7 @@ thisIsExperimentalFeature: "Tohle je experimentální funkce. Její funkce se m
developer: "Vývojář" developer: "Vývojář"
makeExplorable: "Udělat účet viditelný v \"Objevit\"" makeExplorable: "Udělat účet viditelný v \"Objevit\""
makeExplorableDescription: "Pokud tohle vypnete, tak se účet přestane zobrazovat v sekci \"Objevit\"." makeExplorableDescription: "Pokud tohle vypnete, tak se účet přestane zobrazovat v sekci \"Objevit\"."
showGapBetweenNotesInTimeline: "Zobrazit mezeru mezi příspěvkama na časové ose"
duplicate: "Duplikovat" duplicate: "Duplikovat"
left: "Vlevo" left: "Vlevo"
center: "Uprostřed" center: "Uprostřed"
@ -1105,14 +1099,6 @@ sourceCode: "Zdrojový kód"
flip: "Otočit" flip: "Otočit"
lastNDays: "Posledních {n} dnů" lastNDays: "Posledních {n} dnů"
surrender: "Zrušit" surrender: "Zrušit"
postForm: "Formulář pro odeslání"
information: "Informace"
_chat:
invitations: "Pozvat"
noHistory: "Žádná historie"
members: "Členové"
home: "Domů"
send: "Odeslat"
_delivery: _delivery:
stop: "Suspendováno" stop: "Suspendováno"
_type: _type:
@ -1625,6 +1611,7 @@ _theme:
header: "Nadpis" header: "Nadpis"
navBg: "Pozadí postranního panelu" navBg: "Pozadí postranního panelu"
navFg: "Text na postranním panelu" navFg: "Text na postranním panelu"
navHoverFg: "Text na postranním panelu (Hover)"
navActive: "Text na postranním panelu (Aktivní)" navActive: "Text na postranním panelu (Aktivní)"
navIndicator: "Indikátor na postranním panelu" navIndicator: "Indikátor na postranním panelu"
link: "Odkaz" link: "Odkaz"
@ -1646,8 +1633,13 @@ _theme:
buttonBg: "Pozadí tlačítka" buttonBg: "Pozadí tlačítka"
buttonHoverBg: "Pozadí tlačítka (Hover)" buttonHoverBg: "Pozadí tlačítka (Hover)"
inputBorder: "Ohraničení vstupního pole" inputBorder: "Ohraničení vstupního pole"
listItemHoverBg: "Pozadí položky seznamu (Hover)"
driveFolderBg: "Pozadí složky disku"
wallpaperOverlay: "Překrytí tapety"
badge: "Odznak" badge: "Odznak"
messageBg: "Pozadí chatu" messageBg: "Pozadí chatu"
accentDarken: "Akcent (Ztmavený)"
accentLighten: "Akcent (Zesvětlený)"
fgHighlighted: "Zvýrazněný text" fgHighlighted: "Zvýrazněný text"
_sfx: _sfx:
note: "Poznámky" note: "Poznámky"
@ -1723,7 +1715,6 @@ _permissions:
"write:gallery": "Upravit galerii" "write:gallery": "Upravit galerii"
"read:gallery-likes": "Zobrazit seznam to se mi líbí příspěvků v galerii" "read:gallery-likes": "Zobrazit seznam to se mi líbí příspěvků v galerii"
"write:gallery-likes": "Upravit seznam to se mi líbí příspěvků v galerii" "write:gallery-likes": "Upravit seznam to se mi líbí příspěvků v galerii"
"write:chat": "Sestavit nebo mazat zprávy chatu"
_auth: _auth:
shareAccessTitle: "Udělovat oprávnění k aplikacím" shareAccessTitle: "Udělovat oprávnění k aplikacím"
shareAccess: "Chcete autorizovat \"{name}\" pro přístup k tomuto účtu?" shareAccess: "Chcete autorizovat \"{name}\" pro přístup k tomuto účtu?"
@ -1898,6 +1889,9 @@ _pages:
newPage: "Vytvořit novou stránku" newPage: "Vytvořit novou stránku"
editPage: "Upravit stránku" editPage: "Upravit stránku"
readPage: "Prohlížení zdroje této stránky" readPage: "Prohlížení zdroje této stránky"
created: "Stránka byla úspěšně vytvořena"
updated: "Stránka byla úspěšně aktualizována"
deleted: "Stránka byla úspěšně smazána"
pageSetting: "Nastavení stránky" pageSetting: "Nastavení stránky"
nameAlreadyExists: "Zadaná adresa URL stránky již existuje" nameAlreadyExists: "Zadaná adresa URL stránky již existuje"
invalidNameTitle: "Zadaná adresa URL stránky je neplatná" invalidNameTitle: "Zadaná adresa URL stránky je neplatná"
@ -1969,7 +1963,6 @@ _notification:
receiveFollowRequest: "Obdržené žádosti o sledování" receiveFollowRequest: "Obdržené žádosti o sledování"
followRequestAccepted: "Přijaté žádosti o sledování" followRequestAccepted: "Přijaté žádosti o sledování"
achievementEarned: "Úspěch odemčen" achievementEarned: "Úspěch odemčen"
login: "Přihlásit se"
app: "Oznámení z propojených aplikací" app: "Oznámení z propojených aplikací"
_actions: _actions:
followBack: "vás začal sledovat zpět" followBack: "vás začal sledovat zpět"
@ -2036,18 +2029,3 @@ _moderationLogTypes:
createInvitation: "Vygenerovat pozvánku" createInvitation: "Vygenerovat pozvánku"
_reversi: _reversi:
total: "Celkem" total: "Celkem"
_remoteLookupErrors:
_noSuchObject:
title: "Nenalezeno"
_search:
searchScopeAll: "Vše"
searchScopeLocal: "Místní"
searchScopeUser: "Upřesnit uživatele"
_watermarkEditor:
opacity: "Průhlednost"
scale: "Velikost"
text: "Text"
position: "Pozice"
type: "Typ"
image: "Obrázky"
advanced: "Pokročilé"

File diff suppressed because it is too large Load diff

View file

@ -162,12 +162,14 @@ imageUrl: "URL εικόνας"
remove: "Διαγραφή" remove: "Διαγραφή"
removed: "Η διαγραφή ολοκληρώθηκε επιτυχώς" removed: "Η διαγραφή ολοκληρώθηκε επιτυχώς"
saved: "Αποθηκεύτηκε" saved: "Αποθηκεύτηκε"
messaging: "Συνομιλία"
upload: "Ανεβάστε" upload: "Ανεβάστε"
fromDrive: "Από τον Αποθηκευτικό Χώρο" fromDrive: "Από τον Αποθηκευτικό Χώρο"
fromUrl: "Από URL" fromUrl: "Από URL"
uploadFromUrl: "Ανεβάστε από URL" uploadFromUrl: "Ανεβάστε από URL"
explore: "Εξερευνήστε" explore: "Εξερευνήστε"
messageRead: "Διαβάστηκε" messageRead: "Διαβάστηκε"
startMessaging: "Ξεκινήστε μία συνομιλία"
nUsersRead: "διαβάστηκε από {n}" nUsersRead: "διαβάστηκε από {n}"
start: "Ας αρχίσουμε" start: "Ας αρχίσουμε"
home: "Κεντρικό" home: "Κεντρικό"
@ -286,11 +288,6 @@ cannotUploadBecauseNoFreeSpace: "Το ανέβασμα απέτυχε λόγω
icon: "Εικονίδιο" icon: "Εικονίδιο"
replies: "Απάντηση" replies: "Απάντηση"
renotes: "Κοινοποίηση σημειώματος" renotes: "Κοινοποίηση σημειώματος"
postForm: "Φόρμα δημοσίευσης"
information: "Πληροφορίες"
_chat:
members: "Μέλη"
home: "Κεντρικό"
_email: _email:
_follow: _follow:
title: "Έχετε ένα νέο ακόλουθο" title: "Έχετε ένα νέο ακόλουθο"
@ -324,7 +321,6 @@ _permissions:
"write:notifications": "Διαχειριστείτε τις ειδοποιήσεις σας" "write:notifications": "Διαχειριστείτε τις ειδοποιήσεις σας"
"read:pages": "Δείτε τις Σελίδες σας" "read:pages": "Δείτε τις Σελίδες σας"
"write:pages": "Επεξεργαστείτε ή διαγράψτε τις σελίδες σας" "write:pages": "Επεξεργαστείτε ή διαγράψτε τις σελίδες σας"
"write:chat": "Γράψτε ή διαγράψτε μηνύματα συνομιλίας"
_antennaSources: _antennaSources:
all: "Όλα τα σημειώματα" all: "Όλα τα σημειώματα"
homeTimeline: "Σημειώματα από μέλη που ακολουθείτε" homeTimeline: "Σημειώματα από μέλη που ακολουθείτε"
@ -382,7 +378,6 @@ _notification:
renote: "Κοινοποίηση σημειώματος" renote: "Κοινοποίηση σημειώματος"
quote: "Παράθεση" quote: "Παράθεση"
reaction: "Αντιδράσεις" reaction: "Αντιδράσεις"
login: "Σύνδεση"
_actions: _actions:
reply: "Απάντηση" reply: "Απάντηση"
renote: "Κοινοποίηση σημειώματος" renote: "Κοινοποίηση σημειώματος"
@ -401,7 +396,3 @@ _moderationLogTypes:
suspend: "Αποβολή" suspend: "Αποβολή"
_reversi: _reversi:
total: "Σύνολο" total: "Σύνολο"
_search:
searchScopeLocal: "Τοπικό"
_watermarkEditor:
image: "Εικόνες"

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -8,9 +8,6 @@ search: "Rechercher"
notifications: "Notifications" notifications: "Notifications"
username: "Nom dutilisateur·rice" username: "Nom dutilisateur·rice"
password: "Mot de passe" password: "Mot de passe"
initialPasswordForSetup: "Mot de passe initial pour la configuration"
initialPasswordIsIncorrect: "Mot de passe initial pour la configuration est incorrecte"
initialPasswordForSetupDescription: "Utilisez le mot de passe que vous avez entré pour le fichier de configuration si vous avez installé Misskey vous-même.\nSi vous utilisez un service d'hébergement Misskey, utilisez le mot de passe fourni.\nSi vous n'avez pas défini de mot de passe, laissez le champ vide pour continuer."
forgotPassword: "Mot de passe oublié" forgotPassword: "Mot de passe oublié"
fetchingAsApObject: "Récupération depuis le fédiverse …" fetchingAsApObject: "Récupération depuis le fédiverse …"
ok: "OK" ok: "OK"
@ -63,7 +60,6 @@ copyFileId: "Copier l'identifiant du fichier"
copyFolderId: "Copier l'identifiant du dossier" copyFolderId: "Copier l'identifiant du dossier"
copyProfileUrl: "Copier l'URL du profil" copyProfileUrl: "Copier l'URL du profil"
searchUser: "Chercher un·e utilisateur·rice" searchUser: "Chercher un·e utilisateur·rice"
searchThisUsersNotes: "Cherchez les notes de cet·te utilisateur·rice"
reply: "Répondre" reply: "Répondre"
loadMore: "Afficher plus …" loadMore: "Afficher plus …"
showMore: "Voir plus" showMore: "Voir plus"
@ -112,7 +108,6 @@ enterEmoji: "Insérer un émoji"
renote: "Renoter" renote: "Renoter"
unrenote: "Annuler la Renote" unrenote: "Annuler la Renote"
renoted: "Renoté !" renoted: "Renoté !"
renotedToX: "Renoté en {name}"
cantRenote: "Ce message ne peut pas être renoté." cantRenote: "Ce message ne peut pas être renoté."
cantReRenote: "Impossible de renoter une Renote." cantReRenote: "Impossible de renoter une Renote."
quote: "Citer" quote: "Citer"
@ -156,7 +151,6 @@ editList: "Modifier la liste"
selectChannel: "Sélectionner un canal" selectChannel: "Sélectionner un canal"
selectAntenna: "Sélectionner une antenne" selectAntenna: "Sélectionner une antenne"
editAntenna: "Modifier l'antenne" editAntenna: "Modifier l'antenne"
createAntenna: "Créer une antenne"
selectWidget: "Sélectionner un widget" selectWidget: "Sélectionner un widget"
editWidgets: "Modifier les widgets" editWidgets: "Modifier les widgets"
editWidgetsExit: "Valider les modifications" editWidgetsExit: "Valider les modifications"
@ -183,7 +177,6 @@ addAccount: "Ajouter un compte"
reloadAccountsList: "Rafraichir la liste des comptes" reloadAccountsList: "Rafraichir la liste des comptes"
loginFailed: "Échec de la connexion" loginFailed: "Échec de la connexion"
showOnRemote: "Voir sur linstance distante" showOnRemote: "Voir sur linstance distante"
continueOnRemote: "Continuer sur l'instance distante"
general: "Général" general: "Général"
wallpaper: "Fond décran" wallpaper: "Fond décran"
setWallpaper: "Définir le fond décran" setWallpaper: "Définir le fond décran"
@ -194,7 +187,6 @@ followConfirm: "Êtes-vous sûr·e de vouloir suivre {name} ?"
proxyAccount: "Compte proxy" proxyAccount: "Compte proxy"
proxyAccountDescription: "Un compte proxy se comporte, dans certaines conditions, comme un·e abonné·e distant·e pour les utilisateurs d'autres instances. Par exemple, quand un·e utilisateur·rice ajoute un·e utilisateur·rice distant·e à une liste, ses notes ne seront pas visibles sur l'instance si personne ne suit cet·te utilisateur·rice. Le compte proxy va donc suivre cet·te utilisateur·rice pour que ses notes soient acheminées." proxyAccountDescription: "Un compte proxy se comporte, dans certaines conditions, comme un·e abonné·e distant·e pour les utilisateurs d'autres instances. Par exemple, quand un·e utilisateur·rice ajoute un·e utilisateur·rice distant·e à une liste, ses notes ne seront pas visibles sur l'instance si personne ne suit cet·te utilisateur·rice. Le compte proxy va donc suivre cet·te utilisateur·rice pour que ses notes soient acheminées."
host: "Serveur distant" host: "Serveur distant"
selectSelf: "Sélectionner manuellement"
selectUser: "Sélectionner un·e utilisateur·rice" selectUser: "Sélectionner un·e utilisateur·rice"
recipient: "Destinataire" recipient: "Destinataire"
annotation: "Commentaires" annotation: "Commentaires"
@ -238,6 +230,7 @@ noUsers: "Il ny a pas dutilisateur·rice·s"
editProfile: "Modifier votre profil" editProfile: "Modifier votre profil"
noteDeleteConfirm: "Êtes-vous sûr·e de vouloir supprimer cette note ?" noteDeleteConfirm: "Êtes-vous sûr·e de vouloir supprimer cette note ?"
pinLimitExceeded: "Vous ne pouvez plus épingler dautres notes." pinLimitExceeded: "Vous ne pouvez plus épingler dautres notes."
intro: "Linstallation de Misskey est terminée ! Veuillez créer un compte administrateur."
done: "Terminé" done: "Terminé"
processing: "Traitement en cours" processing: "Traitement en cours"
preview: "Aperçu" preview: "Aperçu"
@ -276,6 +269,7 @@ deleteAreYouSure: "Êtes-vous sûr·e de vouloir supprimer « {x} » ?"
resetAreYouSure: "Voulez-vous réinitialiser ?" resetAreYouSure: "Voulez-vous réinitialiser ?"
areYouSure: "Êtes-vous sûr·e ?" areYouSure: "Êtes-vous sûr·e ?"
saved: "Enregistré" saved: "Enregistré"
messaging: "Discuter"
upload: "Téléverser" upload: "Téléverser"
keepOriginalUploading: "Garder limage dorigine" keepOriginalUploading: "Garder limage dorigine"
keepOriginalUploadingDescription: "Conserve la version originale lors du téléchargement d'images. S'il est désactivé, le navigateur génère l'image pour la publication web lors du téléchargement." keepOriginalUploadingDescription: "Conserve la version originale lors du téléchargement d'images. S'il est désactivé, le navigateur génère l'image pour la publication web lors du téléchargement."
@ -288,6 +282,7 @@ uploadFromUrlMayTakeTime: "Le téléversement de votre fichier peut prendre un c
explore: "Découvrir" explore: "Découvrir"
messageRead: "Lu" messageRead: "Lu"
noMoreHistory: "Il ny a plus dhistorique" noMoreHistory: "Il ny a plus dhistorique"
startMessaging: "Commencer à discuter"
nUsersRead: "Lu par {n} personnes" nUsersRead: "Lu par {n} personnes"
agreeTo: "Jaccepte {0}" agreeTo: "Jaccepte {0}"
agree: "Accepter" agree: "Accepter"
@ -325,7 +320,6 @@ renameFolder: "Renommer le dossier"
deleteFolder: "Supprimer le dossier" deleteFolder: "Supprimer le dossier"
folder: "Dossier" folder: "Dossier"
addFile: "Ajouter un fichier" addFile: "Ajouter un fichier"
showFile: "Voir les fichiers"
emptyDrive: "Le Disque est vide" emptyDrive: "Le Disque est vide"
emptyFolder: "Le dossier est vide" emptyFolder: "Le dossier est vide"
unableToDelete: "Suppression impossible" unableToDelete: "Suppression impossible"
@ -368,6 +362,7 @@ enableLocalTimeline: "Activer le fil local"
enableGlobalTimeline: "Activer le fil global" enableGlobalTimeline: "Activer le fil global"
disablingTimelinesInfo: "Même si vous désactivez ces fils, les administrateur·rice·s et les modérateur·rice·s pourront toujours y accéder." disablingTimelinesInfo: "Même si vous désactivez ces fils, les administrateur·rice·s et les modérateur·rice·s pourront toujours y accéder."
registration: "Sinscrire" registration: "Sinscrire"
enableRegistration: "Autoriser les nouvelles inscriptions"
invite: "Inviter" invite: "Inviter"
driveCapacityPerLocalAccount: "Capacité de stockage du Disque par utilisateur local" driveCapacityPerLocalAccount: "Capacité de stockage du Disque par utilisateur local"
driveCapacityPerRemoteAccount: "Capacité de stockage du Disque par utilisateur distant" driveCapacityPerRemoteAccount: "Capacité de stockage du Disque par utilisateur distant"
@ -435,11 +430,10 @@ token: "Jeton"
2fa: "Authentification à deux facteurs" 2fa: "Authentification à deux facteurs"
setupOf2fa: "Configuration de lauthentification à deux facteurs" setupOf2fa: "Configuration de lauthentification à deux facteurs"
totp: "Application d'authentification" totp: "Application d'authentification"
totpDescription: "Entrer un mot de passe à usage unique à l'aide d'une application d'authentification" totpDescription: "Entrez un mot de passe à usage unique à l'aide d'une application d'authentification"
moderator: "Modérateur·rice·s" moderator: "Modérateur·rice·s"
moderation: "Modérations" moderation: "Modérations"
moderationNote: "Note de modération" moderationNote: "Note de modération"
moderationNoteDescription: "Vous pouvez remplir des notes qui seront partagés seulement entre modérateurs."
addModerationNote: "Ajouter une note de modération" addModerationNote: "Ajouter une note de modération"
moderationLogs: "Journal de modération" moderationLogs: "Journal de modération"
nUsersMentioned: "{n} utilisateur·rice·s mentionné·e·s" nUsersMentioned: "{n} utilisateur·rice·s mentionné·e·s"
@ -474,6 +468,8 @@ retype: "Confirmation"
noteOf: "Notes de {user}" noteOf: "Notes de {user}"
quoteAttached: "Avec citation" quoteAttached: "Avec citation"
quoteQuestion: "Souhaitez-vous ajouter une citation ?" quoteQuestion: "Souhaitez-vous ajouter une citation ?"
noMessagesYet: "Pas encore de discussion"
newMessageExists: "Vous avez un nouveau message"
onlyOneFileCanBeAttached: "Vous ne pouvez joindre quun seul fichier au message" onlyOneFileCanBeAttached: "Vous ne pouvez joindre quun seul fichier au message"
signinRequired: "Veuillez vous connecter" signinRequired: "Veuillez vous connecter"
invitations: "Invitations" invitations: "Invitations"
@ -497,10 +493,7 @@ uiLanguage: "Langue daffichage de linterface"
aboutX: "À propos de {x}" aboutX: "À propos de {x}"
emojiStyle: "Style des émojis" emojiStyle: "Style des émojis"
native: "Natif" native: "Natif"
menuStyle: "Style du menu" disableDrawer: "Les menus ne s'affichent pas dans le tiroir"
style: "Style"
drawer: "Sélecteur"
popup: "Pop-up"
showNoteActionsOnlyHover: "Afficher les actions de note uniquement au survol" showNoteActionsOnlyHover: "Afficher les actions de note uniquement au survol"
showReactionsCount: "Afficher le nombre de réactions des notes" showReactionsCount: "Afficher le nombre de réactions des notes"
noHistory: "Pas d'historique" noHistory: "Pas d'historique"
@ -583,7 +576,6 @@ ascendingOrder: "Ascendant"
descendingOrder: "Descendant" descendingOrder: "Descendant"
scratchpad: "ScratchPad" scratchpad: "ScratchPad"
scratchpadDescription: "ScratchPad fournit un environnement expérimental pour AiScript. Vous pouvez vérifier la rédaction de votre code, sa bonne exécution et le résultat de son interaction avec Misskey." scratchpadDescription: "ScratchPad fournit un environnement expérimental pour AiScript. Vous pouvez vérifier la rédaction de votre code, sa bonne exécution et le résultat de son interaction avec Misskey."
uiInspector: "Inspecteur UI"
output: "Sortie" output: "Sortie"
script: "Script" script: "Script"
disablePagesScript: "Désactiver AiScript sur les Pages" disablePagesScript: "Désactiver AiScript sur les Pages"
@ -627,7 +619,7 @@ description: "Description"
describeFile: "Ajouter une description d'image" describeFile: "Ajouter une description d'image"
enterFileDescription: "Saisissez une description" enterFileDescription: "Saisissez une description"
author: "Auteur·rice" author: "Auteur·rice"
leaveConfirm: "Vous avez des modifications non sauvegardées. Voulez-vous les ignorer ?" leaveConfirm: "Vous avez des modifications non-sauvegardées. Voulez-vous les ignorer ?"
manage: "Gestion" manage: "Gestion"
plugins: "Extensions" plugins: "Extensions"
preferencesBackups: "Sauvegarder les paramètres" preferencesBackups: "Sauvegarder les paramètres"
@ -700,7 +692,10 @@ abuseReported: "Le rapport est envoyé. Merci."
reporter: "Signalé par" reporter: "Signalé par"
reporteeOrigin: "Origine du signalement" reporteeOrigin: "Origine du signalement"
reporterOrigin: "Signalé par" reporterOrigin: "Signalé par"
forwardReport: "Transférer le signalement à linstance distante"
forwardReportIsAnonymous: "L'instance distante ne sera pas en mesure de voir vos informations et apparaîtra comme un compte anonyme du système."
send: "Envoyer" send: "Envoyer"
abuseMarkAsResolved: "Marquer le signalement comme résolu"
openInNewTab: "Ouvrir dans un nouvel onglet" openInNewTab: "Ouvrir dans un nouvel onglet"
openInSideView: "Ouvrir en vue latérale" openInSideView: "Ouvrir en vue latérale"
defaultNavigationBehaviour: "Navigation par défaut" defaultNavigationBehaviour: "Navigation par défaut"
@ -759,6 +754,7 @@ thisIsExperimentalFeature: "Ceci est une fonctionnalité expérimentale. Il y a
developer: "Développeur" developer: "Développeur"
makeExplorable: "Rendre le compte visible sur la page \"Découvrir\"." makeExplorable: "Rendre le compte visible sur la page \"Découvrir\"."
makeExplorableDescription: "Si vous désactivez cette option, votre compte n'apparaîtra pas sur la page \"Découvrir\"." makeExplorableDescription: "Si vous désactivez cette option, votre compte n'apparaîtra pas sur la page \"Découvrir\"."
showGapBetweenNotesInTimeline: "Afficher un écart entre les notes sur la Timeline"
duplicate: "Duliquer" duplicate: "Duliquer"
left: "Gauche" left: "Gauche"
center: "Centrer" center: "Centrer"
@ -836,7 +832,6 @@ administration: "Gestion"
accounts: "Comptes" accounts: "Comptes"
switch: "Remplacer" switch: "Remplacer"
noMaintainerInformationWarning: "Informations administrateur non configurées." noMaintainerInformationWarning: "Informations administrateur non configurées."
noInquiryUrlWarning: "L'URL demandé n'est pas définie"
noBotProtectionWarning: "La protection contre les bots n'est pas configurée." noBotProtectionWarning: "La protection contre les bots n'est pas configurée."
configure: "Configurer" configure: "Configurer"
postToGallery: "Publier dans la galerie" postToGallery: "Publier dans la galerie"
@ -901,7 +896,6 @@ followersVisibility: "Visibilité des abonnés"
continueThread: "Afficher la suite du fil" continueThread: "Afficher la suite du fil"
deleteAccountConfirm: "Votre compte sera supprimé. Êtes vous certain ?" deleteAccountConfirm: "Votre compte sera supprimé. Êtes vous certain ?"
incorrectPassword: "Le mot de passe est incorrect." incorrectPassword: "Le mot de passe est incorrect."
incorrectTotp: "Le mot de passe à usage unique est incorrect ou a expiré."
voteConfirm: "Confirmez-vous votre vote pour « {choice} » ?" voteConfirm: "Confirmez-vous votre vote pour « {choice} » ?"
hide: "Masquer" hide: "Masquer"
useDrawerReactionPickerForMobile: "Afficher le sélecteur de réactions en tant que panneau sur mobile" useDrawerReactionPickerForMobile: "Afficher le sélecteur de réactions en tant que panneau sur mobile"
@ -926,9 +920,6 @@ oneHour: "1 heure"
oneDay: "1 jour" oneDay: "1 jour"
oneWeek: "1 semaine" oneWeek: "1 semaine"
oneMonth: "Un mois" oneMonth: "Un mois"
threeMonths: "3 mois"
oneYear: "1 an"
threeDays: "3 jours"
reflectMayTakeTime: "Cela peut prendre un certain temps avant que cela ne se termine." reflectMayTakeTime: "Cela peut prendre un certain temps avant que cela ne se termine."
failedToFetchAccountInformation: "Impossible de récupérer les informations du compte." failedToFetchAccountInformation: "Impossible de récupérer les informations du compte."
rateLimitExceeded: "Limite de taux dépassée" rateLimitExceeded: "Limite de taux dépassée"
@ -936,7 +927,7 @@ cropImage: "Recadrer l'image"
cropImageAsk: "Voulez-vous recadrer cette image ?" cropImageAsk: "Voulez-vous recadrer cette image ?"
cropYes: "Rogner" cropYes: "Rogner"
cropNo: "Utiliser en l'état" cropNo: "Utiliser en l'état"
file: "Fichier" file: "Fichiers"
recentNHours: "Dernières {n} heures" recentNHours: "Dernières {n} heures"
recentNDays: "Derniers {n} jours" recentNDays: "Derniers {n} jours"
noEmailServerWarning: "Serveur de courrier non configuré." noEmailServerWarning: "Serveur de courrier non configuré."
@ -1068,7 +1059,6 @@ retryAllQueuesConfirmTitle: "Vraiment réessayer ?"
retryAllQueuesConfirmText: "Cela peut augmenter temporairement la charge du serveur." retryAllQueuesConfirmText: "Cela peut augmenter temporairement la charge du serveur."
enableChartsForRemoteUser: "Générer les graphiques pour les utilisateurs distants" enableChartsForRemoteUser: "Générer les graphiques pour les utilisateurs distants"
enableChartsForFederatedInstances: "Générer les graphiques pour les instances distantes" enableChartsForFederatedInstances: "Générer les graphiques pour les instances distantes"
enableStatsForFederatedInstances: "Recevoir les statistiques des instances distantes"
showClipButtonInNoteFooter: "Ajouter « Clip » au menu d'action de la note" showClipButtonInNoteFooter: "Ajouter « Clip » au menu d'action de la note"
reactionsDisplaySize: "Taille de l'affichage des réactions" reactionsDisplaySize: "Taille de l'affichage des réactions"
limitWidthOfReaction: "Limiter la largeur maximale des réactions et les afficher en taille réduite" limitWidthOfReaction: "Limiter la largeur maximale des réactions et les afficher en taille réduite"
@ -1116,8 +1106,6 @@ preventAiLearning: "Refuser l'usage dans l'apprentissage automatique d'IA géné
preventAiLearningDescription: "Demander aux robots d'indexation de ne pas utiliser le contenu publié, tel que les notes et les images, dans l'apprentissage automatique d'IA générative. Cela est réalisé en incluant le drapeau « noai » dans la réponse HTML. Une prévention complète n'est toutefois pas possible, car il est au robot d'indexation de respecter cette demande." preventAiLearningDescription: "Demander aux robots d'indexation de ne pas utiliser le contenu publié, tel que les notes et les images, dans l'apprentissage automatique d'IA générative. Cela est réalisé en incluant le drapeau « noai » dans la réponse HTML. Une prévention complète n'est toutefois pas possible, car il est au robot d'indexation de respecter cette demande."
options: "Options" options: "Options"
specifyUser: "Spécifier l'utilisateur·rice" specifyUser: "Spécifier l'utilisateur·rice"
openTagPageConfirm: "Ouvrir une page d'hashtags ?"
specifyHost: "Spécifier un serveur distant"
failedToPreviewUrl: "Aperçu d'URL échoué" failedToPreviewUrl: "Aperçu d'URL échoué"
update: "Mettre à jour" update: "Mettre à jour"
rolesThatCanBeUsedThisEmojiAsReaction: "Rôles qui peuvent utiliser cet émoji comme réaction" rolesThatCanBeUsedThisEmojiAsReaction: "Rôles qui peuvent utiliser cet émoji comme réaction"
@ -1207,6 +1195,7 @@ showAvatarDecorations: "Afficher les décorations d'avatar"
releaseToRefresh: "Relâcher pour rafraîchir" releaseToRefresh: "Relâcher pour rafraîchir"
refreshing: "Rafraîchissement..." refreshing: "Rafraîchissement..."
pullDownToRefresh: "Tirer vers le bas pour rafraîchir" pullDownToRefresh: "Tirer vers le bas pour rafraîchir"
disableStreamingTimeline: "Désactiver les mises à jour en temps réel de la ligne du temps"
useGroupedNotifications: "Grouper les notifications" useGroupedNotifications: "Grouper les notifications"
signupPendingError: "Un problème est survenu lors de la vérification de votre adresse e-mail. Le lien a peut-être expiré." signupPendingError: "Un problème est survenu lors de la vérification de votre adresse e-mail. Le lien a peut-être expiré."
cwNotationRequired: "Si « Masquer le contenu » est activé, une description doit être fournie." cwNotationRequired: "Si « Masquer le contenu » est activé, une description doit être fournie."
@ -1237,63 +1226,13 @@ enableHorizontalSwipe: "Glisser pour changer d'onglet"
loading: "Chargement en cours" loading: "Chargement en cours"
surrender: "Annuler" surrender: "Annuler"
gameRetry: "Réessayer" gameRetry: "Réessayer"
notUsePleaseLeaveBlank: "Laisser vide si non utilisé"
useTotp: "Entrer un mot de passe à usage unique"
useBackupCode: "Utiliser le codes de secours"
launchApp: "Lancer l'app" launchApp: "Lancer l'app"
useNativeUIForVideoAudioPlayer: "Lire les vidéos et audios en utilisant l'UI du navigateur"
keepOriginalFilename: "Garder le nom original du fichier"
keepOriginalFilenameDescription: "Si vous désactivez ce paramètre, les noms de fichiers seront automatiquement remplacés par des noms aléatoires lorsque vous téléchargerez des fichiers."
noDescription: "Il n'y a pas de description"
alwaysConfirmFollow: "Confirmer lors d'un abonnement"
inquiry: "Contact" inquiry: "Contact"
tryAgain: "Veuillez réessayer plus tard"
confirmWhenRevealingSensitiveMedia: "Confirmer pour révéler du contenu sensible"
sensitiveMediaRevealConfirm: "Ceci pourrait être du contenu sensible. Voulez-vous l'afficher ?"
createdLists: "Listes créées"
createdAntennas: "Antennes créées"
fromX: "De {x}"
genEmbedCode: "Générer le code d'intégration"
noteOfThisUser: "Notes de cet·te utilisateur·rice"
clipNoteLimitExceeded: "Aucune note supplémentaire ne peut être ajoutée à ce clip."
performance: "Performance"
modified: "Modifié"
discard: "Annuler"
thereAreNChanges: "Il y a {n} modification(s)"
signinWithPasskey: "Se connecter avec une clé d'accès"
unknownWebAuthnKey: "Clé d'accès inconnue."
passkeyVerificationFailed: "La vérification de la clé d'accès a échoué."
passkeyVerificationSucceededButPasswordlessLoginDisabled: "La vérification de la clé d'accès a réussi, mais la connexion sans mot de passe est désactivée."
messageToFollower: "Message aux abonné·es"
target: "Destinataire"
prohibitedWordsForNameOfUser: "Mots interdits pour les noms d'utilisateur·rices"
lockdown: "Verrouiller"
pleaseSelectAccount: "Sélectionner un compte"
availableRoles: "Rôles disponibles"
postForm: "Formulaire de publication"
information: "Informations"
_chat:
invitations: "Inviter"
noHistory: "Pas d'historique"
members: "Membres"
home: "Principal"
send: "Envoyer"
_abuseUserReport:
forward: "Transférer"
forwardDescription: "Transférer le signalement vers une instance distante en tant qu'anonyme."
resolve: "Résoudre"
accept: "Accepter"
reject: "Rejeter"
resolveTutorial: "Si le signalement est légitime dans son contenu, sélectionnez « Accepter » pour marquer le cas comme résolu par l'affirmative.\nSi le contenu du rapport n'est pas légitime, sélectionnez « Rejeter » pour marquer le cas comme résolu par la négative."
_delivery: _delivery:
status: "Statut de la diffusion" status: "Statut de la diffusion"
stop: "Suspendu·e" stop: "Suspendu·e"
resume: "Reprendre"
_type: _type:
none: "Publié" none: "Publié"
manuallySuspended: "Suspendre manuellement"
goneSuspended: "L'instance est suspendue en raison de la suppression de ce dernier"
autoSuspendedForNotResponding: "L'instance est suspendue car elle ne répond pas"
_bubbleGame: _bubbleGame:
howToPlay: "Comment jouer" howToPlay: "Comment jouer"
hold: "Réserver" hold: "Réserver"
@ -1304,7 +1243,6 @@ _bubbleGame:
maxChain: "Nombre maximum de chaînes" maxChain: "Nombre maximum de chaînes"
yen: "{yen} yens" yen: "{yen} yens"
estimatedQty: "{qty} pièces" estimatedQty: "{qty} pièces"
scoreSweets: "{onigiriQtyWithUnit} Onigiri(s)"
_announcement: _announcement:
forExistingUsers: "Pour les utilisateurs existants seulement" forExistingUsers: "Pour les utilisateurs existants seulement"
needConfirmationToRead: "Exiger la confirmation de la lecture" needConfirmationToRead: "Exiger la confirmation de la lecture"
@ -1324,7 +1262,6 @@ _initialAccountSetting:
profileSetting: "Paramètres du profil" profileSetting: "Paramètres du profil"
privacySetting: "Paramètres de confidentialité" privacySetting: "Paramètres de confidentialité"
initialAccountSettingCompleted: "Configuration du profil terminée avec succès !" initialAccountSettingCompleted: "Configuration du profil terminée avec succès !"
haveFun: "Profitez de {name} !"
youCanContinueTutorial: "Vous pouvez procéder au tutoriel sur l'utilisation de {name}(Misskey) ou vous arrêter ici et commencer à l'utiliser immédiatement." youCanContinueTutorial: "Vous pouvez procéder au tutoriel sur l'utilisation de {name}(Misskey) ou vous arrêter ici et commencer à l'utiliser immédiatement."
startTutorial: "Démarrer le tutoriel" startTutorial: "Démarrer le tutoriel"
skipAreYouSure: "Désirez-vous ignorer la configuration du profil ?" skipAreYouSure: "Désirez-vous ignorer la configuration du profil ?"
@ -1418,60 +1355,18 @@ _achievements:
flavor: "Passez un bon moment avec Misskey !" flavor: "Passez un bon moment avec Misskey !"
_notes10: _notes10:
title: "Quelques notes" title: "Quelques notes"
description: "Poster 10 notes"
_notes100: _notes100:
title: "Beaucoup de notes" title: "Beaucoup de notes"
description: "Poster 100 notes"
_notes500:
title: "Couvert de notes"
description: "Poster 500 notes"
_notes1000:
title: "Une montagne de notes"
description: "Poster 1000 notes"
_notes5000:
title: "Débordement de notes"
description: "Poster 5 000 notes"
_notes10000:
title: "Super note"
description: "Poster 10 000 notes"
_notes20000:
title: "Encore... plus... de... notes..."
description: "Poster 20 000 notes"
_notes30000:
title: "Notes notes notes !"
description: "Poster 30 000 notes"
_notes40000:
title: "Usine de notes"
description: "Poster 40 000 notes"
_notes50000:
title: "Planète des notes"
description: "Poster 50 000 notes"
_notes60000:
title: "Quasar de note"
description: "Poster 50 000 notes"
_notes70000:
title: "Trou noir de notes"
description: "Poster 70 000 notes"
_notes80000:
title: "Galaxie de notes"
description: "Poster 80 000 notes"
_notes90000:
title: "Univers de notes"
description: "Poster 90 000 notes"
_notes100000: _notes100000:
title: "ALL YOUR NOTE ARE BELONG TO US" title: "ALL YOUR NOTE ARE BELONG TO US"
description: "Poster 100 000 notes"
flavor: "Avez-vous tant de choses à dire ?"
_login3: _login3:
title: "Débutant I" title: "Débutant "
description: "Se connecter pour un total de 3 jours" description: "Se connecter pour un total de 3 jours"
flavor: "Dès maintenant, appelez-moi Misskeynaute"
_login7: _login7:
title: "Débutant II" title: "Débutant Ⅱ"
description: "Se connecter pour un total de 7 jours" description: "Se connecter pour un total de 7 jours"
flavor: "On s'habitue ?"
_login15: _login15:
title: "Débutant III" title: "Débutant Ⅲ"
description: "Se connecter pour un total de 15 jours" description: "Se connecter pour un total de 15 jours"
_login30: _login30:
title: "Misskeynaute I" title: "Misskeynaute I"
@ -1495,7 +1390,6 @@ _achievements:
_login500: _login500:
title: "Expert I" title: "Expert I"
description: "Se connecter pour un total de 500 jours" description: "Se connecter pour un total de 500 jours"
flavor: "Non, mes amis, j'aime les notes"
_login600: _login600:
title: "Expert II" title: "Expert II"
description: "Se connecter pour un total de 600 jours" description: "Se connecter pour un total de 600 jours"
@ -1503,18 +1397,11 @@ _achievements:
title: "Expert III" title: "Expert III"
description: "Se connecter pour un total de 700 jours" description: "Se connecter pour un total de 700 jours"
_login800: _login800:
title: "Maître des notes I"
description: "Se connecter pour un total de 800 jours" description: "Se connecter pour un total de 800 jours"
_login900: _login900:
title: "Maître des notes II"
description: "Se connecter pour un total de 900 jours" description: "Se connecter pour un total de 900 jours"
_login1000: _login1000:
title: "Maître des notes III"
description: "Se connecter pour un total de 1 000 jours"
flavor: "Merci d'utiliser Misskey !" flavor: "Merci d'utiliser Misskey !"
_noteClipped1:
title: "Je... dois... clip..."
description: "Ajouter sa première note aux clips"
_profileFilled: _profileFilled:
title: "Bien préparé" title: "Bien préparé"
description: "Configuration de votre profil" description: "Configuration de votre profil"
@ -1573,31 +1460,21 @@ _achievements:
_driveFolderCircularReference: _driveFolderCircularReference:
title: "Référence circulaire" title: "Référence circulaire"
_setNameToSyuilo: _setNameToSyuilo:
title: "Complexe de dieu"
description: "Vous avez spécifié « syuilo » comme nom" description: "Vous avez spécifié « syuilo » comme nom"
_passedSinceAccountCreated1: _passedSinceAccountCreated1:
title: "Premier anniversaire" title: "Premier anniversaire"
description: "Un an est passé depuis la création du compte"
_passedSinceAccountCreated2: _passedSinceAccountCreated2:
title: "Second anniversaire" title: "Second anniversaire"
description: "Deux ans sont passés depuis la création du compte"
_passedSinceAccountCreated3: _passedSinceAccountCreated3:
title: "3ème anniversaire" title: "3ème anniversaire"
description: "Trois ans sont passés depuis la création du compte"
_loggedInOnBirthday: _loggedInOnBirthday:
title: "Joyeux Anniversaire !" title: "Joyeux Anniversaire !"
description: "Vous vous êtes connecté à la date de votre anniversaire" description: "Vous vous êtes connecté à la date de votre anniversaire"
_loggedInOnNewYearsDay: _loggedInOnNewYearsDay:
title: "Bonne année !" title: "Bonne année !"
description: "Vous vous êtes connecté le premier jour de l'année"
flavor: "Merci pour le soutient continue sur cette instance."
_cookieClicked: _cookieClicked:
title: "Jeu de clic sur des cookies"
description: "Cliqué sur un cookie"
flavor: "Attendez une minute, vous êtes sur le mauvais site web ?" flavor: "Attendez une minute, vous êtes sur le mauvais site web ?"
_brainDiver: _brainDiver:
title: "Brain Diver"
description: "Poster le lien sur Brain Diver"
flavor: "Misskey-Misskey La-Tu-Ma" flavor: "Misskey-Misskey La-Tu-Ma"
_smashTestNotificationButton: _smashTestNotificationButton:
title: "Débordement de tests" title: "Débordement de tests"
@ -1605,11 +1482,6 @@ _achievements:
_tutorialCompleted: _tutorialCompleted:
title: "Diplôme de la course élémentaire de Misskey" title: "Diplôme de la course élémentaire de Misskey"
description: "Terminer le tutoriel" description: "Terminer le tutoriel"
_bubbleGameExplodingHead:
title: "🤯"
description: "Le plus gros objet du jeu de bulles"
_bubbleGameDoubleExplodingHead:
title: "Double🤯"
_role: _role:
new: "Nouveau rôle" new: "Nouveau rôle"
edit: "Modifier le rôle" edit: "Modifier le rôle"
@ -1640,11 +1512,9 @@ _role:
canManageCustomEmojis: "Gestion des émojis personnalisés" canManageCustomEmojis: "Gestion des émojis personnalisés"
canManageAvatarDecorations: "Gestion des décorations d'avatar" canManageAvatarDecorations: "Gestion des décorations d'avatar"
driveCapacity: "Capacité de stockage du Disque" driveCapacity: "Capacité de stockage du Disque"
antennaMax: "Nombre maximum d'antennes"
wordMuteMax: "Nombre maximal de caractères dans le filtre de mots" wordMuteMax: "Nombre maximal de caractères dans le filtre de mots"
canUseTranslator: "Usage de la fonctionnalité de traduction" canUseTranslator: "Usage de la fonctionnalité de traduction"
avatarDecorationLimit: "Nombre maximal de décorations d'avatar" avatarDecorationLimit: "Nombre maximal de décorations d'avatar"
canImportAntennas: "Autoriser l'importation d'antennes"
_sensitiveMediaDetection: _sensitiveMediaDetection:
description: "L'apprentissage automatique peut être utilisé pour détecter automatiquement les médias sensibles à modérer. La sollicitation des serveurs augmente légèrement." description: "L'apprentissage automatique peut être utilisé pour détecter automatiquement les médias sensibles à modérer. La sollicitation des serveurs augmente légèrement."
sensitivity: "Sensibilité de la détection" sensitivity: "Sensibilité de la détection"
@ -1813,6 +1683,7 @@ _theme:
header: "Entête" header: "Entête"
navBg: "Fond de la barre latérale" navBg: "Fond de la barre latérale"
navFg: "Texte de la barre latérale" navFg: "Texte de la barre latérale"
navHoverFg: "Texte de la barre latérale (survolé)"
navActive: "Texte de la barre latérale (actif)" navActive: "Texte de la barre latérale (actif)"
navIndicator: "Indicateur de barre latérale" navIndicator: "Indicateur de barre latérale"
link: "Lien" link: "Lien"
@ -1834,8 +1705,13 @@ _theme:
buttonBg: "Arrière-plan du bouton" buttonBg: "Arrière-plan du bouton"
buttonHoverBg: "Arrière-plan du bouton (survolé)" buttonHoverBg: "Arrière-plan du bouton (survolé)"
inputBorder: "Cadre de la zone de texte" inputBorder: "Cadre de la zone de texte"
listItemHoverBg: "Arrière-plan d'item de liste (survolé)"
driveFolderBg: "Arrière-plan du dossier de disque"
wallpaperOverlay: "Superposition de fond d'écran"
badge: "Badge" badge: "Badge"
messageBg: "Arrière plan de la discussion" messageBg: "Arrière plan de la discussion"
accentDarken: "Plus sombre"
accentLighten: "Plus clair"
fgHighlighted: "Texte mis en évidence" fgHighlighted: "Texte mis en évidence"
_sfx: _sfx:
note: "Nouvelle note" note: "Nouvelle note"
@ -1922,30 +1798,6 @@ _permissions:
"write:gallery": "Éditer la galerie" "write:gallery": "Éditer la galerie"
"read:gallery-likes": "Voir les mentions « J'aime » dans la galerie" "read:gallery-likes": "Voir les mentions « J'aime » dans la galerie"
"write:gallery-likes": "Gérer les mentions « J'aime » dans la galerie" "write:gallery-likes": "Gérer les mentions « J'aime » dans la galerie"
"read:flash": "Voir le Play"
"write:flash": "Modifier le Play"
"read:flash-likes": "Lire vos mentions j'aime des Play"
"write:flash-likes": "Modifier vos mentions j'aime des Play"
"read:admin:abuse-user-reports": "Voir les utilisateurs signalés"
"write:admin:delete-account": "Supprimer le compte d'utilisateur"
"write:admin:delete-all-files-of-a-user": "Supprimer tous les fichiers d'un utilisateur"
"read:admin:index-stats": "Voir les statistiques sur les index de base de données"
"read:admin:table-stats": "Voir les statistiques sur les index de base de données"
"read:admin:user-ips": "Voir l'adresse IP de l'utilisateur"
"read:admin:meta": "Voir les métadonnées de l'instance"
"write:admin:reset-password": "Réinitialiser le mot de passe de l'utilisateur"
"write:admin:resolve-abuse-user-report": "Résoudre le signalement d'un utilisateur"
"write:admin:send-email": "Envoyer un mail"
"read:admin:server-info": "Voir les informations de l'instance"
"read:admin:show-moderation-log": "Voir les logs de modération"
"read:admin:show-user": "Voir les informations privées de l'utilisateur"
"write:admin:suspend-user": "Suspendre l'utilisateur"
"write:admin:unset-user-avatar": "Retirer l'avatar de l'utilisateur"
"write:admin:unset-user-banner": "Retirer la bannière de l'utilisateur"
"write:admin:unsuspend-user": "Lever la suspension d'un utilisateur"
"write:admin:meta": "Gérer les métadonnées de l'instance"
"write:admin:roles": "Gérer les rôles"
"write:chat": "Gérer les discussions"
_auth: _auth:
shareAccess: "Autoriser \"{name}\" à accéder à votre compte ?" shareAccess: "Autoriser \"{name}\" à accéder à votre compte ?"
shareAccessAsk: "Voulez-vous vraiment autoriser cette application à accéder à votre compte?" shareAccessAsk: "Voulez-vous vraiment autoriser cette application à accéder à votre compte?"
@ -2097,16 +1949,7 @@ _timelines:
social: "Social" social: "Social"
global: "Global" global: "Global"
_play: _play:
new: "Créer un Play"
edit: "Modifier un Play"
created: "Play créé"
updated: "Play édité"
deleted: "Play supprimé"
pageSetting: "Configuration du Play"
editThisPage: "Modifier ce Play"
viewSource: "Afficher la source" viewSource: "Afficher la source"
my: "Mes Play"
liked: "Play aimés"
featured: "Populaire" featured: "Populaire"
title: "Titre" title: "Titre"
script: "Script" script: "Script"
@ -2115,6 +1958,9 @@ _pages:
newPage: "Créer une page" newPage: "Créer une page"
editPage: "Modifier une page" editPage: "Modifier une page"
readPage: "Affichage de la source en cours" readPage: "Affichage de la source en cours"
created: "La page a été créée !"
updated: "La page a été mise à jour !"
deleted: "La page a été supprimée"
pageSetting: "Paramètres de la Page" pageSetting: "Paramètres de la Page"
nameAlreadyExists: "L'URL de page spécifiée existe déjà" nameAlreadyExists: "L'URL de page spécifiée existe déjà"
invalidNameTitle: "L'URL de page spécifiée nest pas valide" invalidNameTitle: "L'URL de page spécifiée nest pas valide"
@ -2177,13 +2023,10 @@ _notification:
achievementEarned: "Accomplissement déverrouillé" achievementEarned: "Accomplissement déverrouillé"
testNotification: "Tester la notification" testNotification: "Tester la notification"
reactedBySomeUsers: "{n} utilisateur·rice·s ont réagi" reactedBySomeUsers: "{n} utilisateur·rice·s ont réagi"
likedBySomeUsers: "{n} utilisateurs ont aimé votre note"
renotedBySomeUsers: "{n} utilisateur·rice·s ont renoté" renotedBySomeUsers: "{n} utilisateur·rice·s ont renoté"
followedBySomeUsers: "{n} utilisateur·rice·s se sont abonné·e·s à vous" followedBySomeUsers: "{n} utilisateur·rice·s se sont abonné·e·s à vous"
login: "Quelqu'un s'est connecté"
_types: _types:
all: "Toutes" all: "Toutes"
note: "Nouvelles notes"
follow: "Nouvel·le abonné·e" follow: "Nouvel·le abonné·e"
mention: "Mentions" mention: "Mentions"
reply: "Réponses" reply: "Réponses"
@ -2195,7 +2038,6 @@ _notification:
followRequestAccepted: "Demande d'abonnement acceptée" followRequestAccepted: "Demande d'abonnement acceptée"
roleAssigned: "Rôle reçu" roleAssigned: "Rôle reçu"
achievementEarned: "Déverrouillage d'accomplissement" achievementEarned: "Déverrouillage d'accomplissement"
login: "Se connecter"
app: "Notifications provenant des apps" app: "Notifications provenant des apps"
_actions: _actions:
followBack: "Suivre" followBack: "Suivre"
@ -2233,14 +2075,11 @@ _drivecleaner:
orderByCreatedAtAsc: "Date d'ajout ascendante" orderByCreatedAtAsc: "Date d'ajout ascendante"
_webhookSettings: _webhookSettings:
name: "Nom" name: "Nom"
secret: "Secret"
trigger: "Activateur"
active: "Activé" active: "Activé"
_abuseReport: _abuseReport:
_notificationRecipient: _notificationRecipient:
_recipientType: _recipientType:
mail: "E-mail " mail: "E-mail "
keywords: "Mots clés "
_moderationLogTypes: _moderationLogTypes:
createRole: "Rôle créé" createRole: "Rôle créé"
deleteRole: "Rôle supprimé" deleteRole: "Rôle supprimé"
@ -2277,7 +2116,6 @@ _moderationLogTypes:
deleteAvatarDecoration: "Décoration d'avatar supprimée" deleteAvatarDecoration: "Décoration d'avatar supprimée"
unsetUserAvatar: "Supprimer l'avatar de l'utilisateur·rice" unsetUserAvatar: "Supprimer l'avatar de l'utilisateur·rice"
unsetUserBanner: "Supprimer la bannière de l'utilisateur·rice" unsetUserBanner: "Supprimer la bannière de l'utilisateur·rice"
deleteFlash: "Supprimer le Play"
_fileViewer: _fileViewer:
title: "Détails du fichier" title: "Détails du fichier"
type: "Type du fichier" type: "Type du fichier"
@ -2291,8 +2129,10 @@ _externalResourceInstaller:
checkVendorBeforeInstall: "Veuillez confirmer que le distributeur est fiable avant l'installation." checkVendorBeforeInstall: "Veuillez confirmer que le distributeur est fiable avant l'installation."
_plugin: _plugin:
title: "Voulez-vous installer cette extension ?" title: "Voulez-vous installer cette extension ?"
metaTitle: "Informations sur l'extension"
_theme: _theme:
title: "Voulez-vous installer ce thème ?" title: "Voulez-vous installer ce thème ?"
metaTitle: "Informations sur le thème"
_meta: _meta:
base: "Palette de couleurs de base" base: "Palette de couleurs de base"
_vendorInfo: _vendorInfo:
@ -2332,41 +2172,12 @@ _dataSaver:
_avatar: _avatar:
title: "Animation d'avatars" title: "Animation d'avatars"
description: "Arrête l'animation d'avatars. Comme les images animées peuvent être plus volumineuses que les images normales, cela permet de réduire davantage le trafic de données." description: "Arrête l'animation d'avatars. Comme les images animées peuvent être plus volumineuses que les images normales, cela permet de réduire davantage le trafic de données."
_urlPreview:
title: "Vignettes d'aperçu des URL"
description: "Les vignettes d'aperçu des URL ne seront plus chargées."
_code: _code:
title: "Mise en évidence du code" title: "Mise en évidence du code"
description: "Si la notation de mise en évidence du code est utilisée, par exemple dans la MFM, elle ne sera pas chargée tant qu'elle n'aura pas été tapée. La mise en évidence du code nécessite le chargement du fichier de définition de chaque langue à mettre en évidence, mais comme ces fichiers ne sont plus chargés automatiquement, on peut s'attendre à une réduction du trafic de données." description: "Si la notation de mise en évidence du code est utilisée, par exemple dans la MFM, elle ne sera pas chargée tant qu'elle n'aura pas été tapée. La mise en évidence du code nécessite le chargement du fichier de définition de chaque langue à mettre en évidence, mais comme ces fichiers ne sont plus chargés automatiquement, on peut s'attendre à une réduction du trafic de données."
_reversi: _reversi:
reversi: "Reversi"
blackIs: "{name} joue les noirs"
rules: "Règles"
waitingBoth: "Préparez-vous" waitingBoth: "Préparez-vous"
myTurn: "Cest votre tour"
turnOf: "C'est le tour de {name}"
pastTurnOf: "Tour de {name}"
surrender: "Se rendre"
surrendered: "Par abandon"
total: "Total" total: "Total"
playing: "En cours"
lookingForPlayer: "Recherche d'adversaire"
_mediaControls:
playbackRate: "Vitesse de lecture"
_embedCodeGen:
title: "Personnaliser le code d'intégration"
generateCode: "Générer le code d'intégration"
_remoteLookupErrors:
_noSuchObject:
title: "Non trouvé"
_search:
searchScopeAll: "Tous"
searchScopeLocal: "Local"
searchScopeUser: "Spécifier l'utilisateur·rice"
_watermarkEditor:
driveFileTypeWarn: "Ce fichier n'est pas pris en charge"
opacity: "Transparence"
scale: "Taille"
text: "Texte"
position: "Position"
type: "Type"
image: "Images"
advanced: "Avancé"
angle: "Angle"

View file

@ -1,5 +1,5 @@
--- ---
_lang_: "Magyar" _lang_: "Japán"
monthAndDay: "{month}.{day}." monthAndDay: "{month}.{day}."
search: "Keresés" search: "Keresés"
notifications: "Értesítések" notifications: "Értesítések"
@ -96,7 +96,6 @@ _notification:
renote: "Renote" renote: "Renote"
quote: "Idézet" quote: "Idézet"
reaction: "Reakciók" reaction: "Reakciók"
login: "Bejelentkezés"
_actions: _actions:
renote: "Renote" renote: "Renote"
_deck: _deck:

View file

@ -5,13 +5,9 @@ introMisskey: "Selamat datang! Misskey adalah perangkat mikroblog tercatu bersif
poweredByMisskeyDescription: "{name} adalah sebuah layanan (instance) yang menggunakan platform sumber terbuka <b>Misskey</b>." poweredByMisskeyDescription: "{name} adalah sebuah layanan (instance) yang menggunakan platform sumber terbuka <b>Misskey</b>."
monthAndDay: "{day} {month}" monthAndDay: "{day} {month}"
search: "Penelusuran" search: "Penelusuran"
reset: "Reset"
notifications: "Notifikasi" notifications: "Notifikasi"
username: "Nama Pengguna" username: "Nama Pengguna"
password: "Kata sandi" password: "Kata sandi"
initialPasswordForSetup: "Kata sandi untuk memulai konfigurasi awal"
initialPasswordIsIncorrect: "Kata sandi untuk memulai konfigurasi awal salah."
initialPasswordForSetupDescription: "Jika Anda menginstal Misskey sendiri, gunakan kata sandi yang Anda masukkan di berkas konfigurasi.\nJika Anda menggunakan layanan hosting Misskey, gunakan kata sandi yang diberikan.\nJika Anda belum mengatur kata sandi, biarkan kosong dan lanjutkan."
forgotPassword: "Lupa Kata Sandi" forgotPassword: "Lupa Kata Sandi"
fetchingAsApObject: "Mengambil data dari Fediverse..." fetchingAsApObject: "Mengambil data dari Fediverse..."
ok: "OK" ok: "OK"
@ -49,7 +45,6 @@ pin: "Sematkan ke profil"
unpin: "Lepas sematan dari profil" unpin: "Lepas sematan dari profil"
copyContent: "Salin konten" copyContent: "Salin konten"
copyLink: "Salin tautan" copyLink: "Salin tautan"
copyRemoteLink: "Salin tautan jarak jauh"
copyLinkRenote: "Salin tautan renote" copyLinkRenote: "Salin tautan renote"
delete: "Hapus" delete: "Hapus"
deleteAndEdit: "Hapus dan sunting" deleteAndEdit: "Hapus dan sunting"
@ -65,7 +60,6 @@ copyFileId: "Salin Berkas"
copyFolderId: "Salin Folder" copyFolderId: "Salin Folder"
copyProfileUrl: "Salin Alamat Web Profil" copyProfileUrl: "Salin Alamat Web Profil"
searchUser: "Cari pengguna" searchUser: "Cari pengguna"
searchThisUsersNotes: "Mencari catatan pengguna"
reply: "Balas" reply: "Balas"
loadMore: "Selebihnya" loadMore: "Selebihnya"
showMore: "Selebihnya" showMore: "Selebihnya"
@ -160,7 +154,6 @@ editList: "Sunting daftar"
selectChannel: "Pilih kanal" selectChannel: "Pilih kanal"
selectAntenna: "Pilih Antena" selectAntenna: "Pilih Antena"
editAntenna: "Sunting antena" editAntenna: "Sunting antena"
createAntenna: "Membuat antena."
selectWidget: "Pilih gawit" selectWidget: "Pilih gawit"
editWidgets: "Sunting gawit" editWidgets: "Sunting gawit"
editWidgetsExit: "Selesai" editWidgetsExit: "Selesai"
@ -201,7 +194,6 @@ followConfirm: "Apakah kamu yakin ingin mengikuti {name}?"
proxyAccount: "Akun proksi" proxyAccount: "Akun proksi"
proxyAccountDescription: "Akun proksi merupakan sebuah akun yang bertindak sebagai pengikut instansi luar untuk pengguna dalam kondisi tertentu. Sebagai contoh, ketika pengguna menambahkan seorang pengguna instansi luar ke dalam daftar, aktivitas dari pengguna instansi luar tidak akan disampaikan ke instansi apabila tidak ada pengguna lokal yang mengikuti pengguna tersebut, dengan begitu akun proksilah yang akan mengikutinya." proxyAccountDescription: "Akun proksi merupakan sebuah akun yang bertindak sebagai pengikut instansi luar untuk pengguna dalam kondisi tertentu. Sebagai contoh, ketika pengguna menambahkan seorang pengguna instansi luar ke dalam daftar, aktivitas dari pengguna instansi luar tidak akan disampaikan ke instansi apabila tidak ada pengguna lokal yang mengikuti pengguna tersebut, dengan begitu akun proksilah yang akan mengikutinya."
host: "Host" host: "Host"
selectSelf: "Pilih diri sendiri"
selectUser: "Pilih pengguna" selectUser: "Pilih pengguna"
recipient: "Penerima" recipient: "Penerima"
annotation: "Keterangan konten" annotation: "Keterangan konten"
@ -217,10 +209,8 @@ perDay: "per Hari"
stopActivityDelivery: "Berhenti mengirim aktivitas" stopActivityDelivery: "Berhenti mengirim aktivitas"
blockThisInstance: "Blokir instansi ini" blockThisInstance: "Blokir instansi ini"
silenceThisInstance: "Senyapkan instansi ini" silenceThisInstance: "Senyapkan instansi ini"
mediaSilenceThisInstance: "Server media senyap"
operations: "Tindakan" operations: "Tindakan"
software: "Perangkat lunak" software: "Perangkat lunak"
softwareName: "Nama Perangkat Lunak"
version: "Versi" version: "Versi"
metadata: "Metadata" metadata: "Metadata"
withNFiles: "{n} berkas" withNFiles: "{n} berkas"
@ -240,7 +230,6 @@ blockedInstances: "Instansi terblokir"
blockedInstancesDescription: "Daftar nama host dari instansi yang diperlukan untuk diblokir. Instansi yang didaftarkan tidak akan dapat berkomunikasi dengan instansi ini." blockedInstancesDescription: "Daftar nama host dari instansi yang diperlukan untuk diblokir. Instansi yang didaftarkan tidak akan dapat berkomunikasi dengan instansi ini."
silencedInstances: "Instansi yang disenyapkan" 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." 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."
federationAllowedHosts: "Server yang membolehkan federasi"
muteAndBlock: "Bisukan / Blokir" muteAndBlock: "Bisukan / Blokir"
mutedUsers: "Pengguna yang dibisukan" mutedUsers: "Pengguna yang dibisukan"
blockedUsers: "Pengguna yang diblokir" blockedUsers: "Pengguna yang diblokir"
@ -248,6 +237,7 @@ noUsers: "Tidak ada pengguna"
editProfile: "Sunting profil" editProfile: "Sunting profil"
noteDeleteConfirm: "Apakah kamu yakin ingin menghapus catatan ini?" noteDeleteConfirm: "Apakah kamu yakin ingin menghapus catatan ini?"
pinLimitExceeded: "Kamu tidak dapat menyematkan catatan lagi" pinLimitExceeded: "Kamu tidak dapat menyematkan catatan lagi"
intro: "Instalasi Misskey telah selesai! Mohon untuk membuat pengguna admin."
done: "Selesai" done: "Selesai"
processing: "Memproses" processing: "Memproses"
preview: "Pratinjau" preview: "Pratinjau"
@ -286,6 +276,7 @@ deleteAreYouSure: "Apakah kamu yakin ingin menghapus \"{x}\"?"
resetAreYouSure: "Yakin mau atur ulang?" resetAreYouSure: "Yakin mau atur ulang?"
areYouSure: "Apakah kamu yakin?" areYouSure: "Apakah kamu yakin?"
saved: "Telah disimpan" saved: "Telah disimpan"
messaging: "Pesan"
upload: "Unggah" upload: "Unggah"
keepOriginalUploading: "Simpan gambar asli" keepOriginalUploading: "Simpan gambar asli"
keepOriginalUploadingDescription: "Simpan gambar yang diunggah sebagaimana gambar aslinya. Bila dimatikan, versi tampilan web akan dihasilkan pada saat diunggah." keepOriginalUploadingDescription: "Simpan gambar yang diunggah sebagaimana gambar aslinya. Bila dimatikan, versi tampilan web akan dihasilkan pada saat diunggah."
@ -298,6 +289,7 @@ uploadFromUrlMayTakeTime: "Membutuhkan beberapa waktu hingga pengunggahan selesa
explore: "Jelajahi" explore: "Jelajahi"
messageRead: "Telah dibaca" messageRead: "Telah dibaca"
noMoreHistory: "Tidak ada sejarah lagi" noMoreHistory: "Tidak ada sejarah lagi"
startMessaging: "Mulai mengirim pesan"
nUsersRead: "Dibaca oleh {n}" nUsersRead: "Dibaca oleh {n}"
agreeTo: "Saya setuju kepada {0}" agreeTo: "Saya setuju kepada {0}"
agree: "Setuju" agree: "Setuju"
@ -336,7 +328,6 @@ renameFolder: "Ubah nama folder"
deleteFolder: "Hapus folder" deleteFolder: "Hapus folder"
folder: "Folder" folder: "Folder"
addFile: "Tambahkan berkas" addFile: "Tambahkan berkas"
showFile: "Tampilkan berkas"
emptyDrive: "Drive kosong" emptyDrive: "Drive kosong"
emptyFolder: "Folder kosong" emptyFolder: "Folder kosong"
unableToDelete: "Tidak dapat menghapus" unableToDelete: "Tidak dapat menghapus"
@ -379,6 +370,7 @@ enableLocalTimeline: "Nyalakan lini masa lokal"
enableGlobalTimeline: "Nyalakan lini masa global" enableGlobalTimeline: "Nyalakan lini masa global"
disablingTimelinesInfo: "Admin dan Moderator akan selalu memiliki akses ke semua lini masa meskipun lini masa tersebut tidak diaktifkan." disablingTimelinesInfo: "Admin dan Moderator akan selalu memiliki akses ke semua lini masa meskipun lini masa tersebut tidak diaktifkan."
registration: "Pendaftaran" registration: "Pendaftaran"
enableRegistration: "Nyalakan pendaftaran pengguna baru"
invite: "Undang" invite: "Undang"
driveCapacityPerLocalAccount: "Kapasitas drive per pengguna lokal" driveCapacityPerLocalAccount: "Kapasitas drive per pengguna lokal"
driveCapacityPerRemoteAccount: "Kapasitas drive per pengguna remote" driveCapacityPerRemoteAccount: "Kapasitas drive per pengguna remote"
@ -485,6 +477,8 @@ noteOf: "Catatan milik {user}"
quoteAttached: "Dikutip" quoteAttached: "Dikutip"
quoteQuestion: "Apakah kamu ingin menambahkan kutipan?" quoteQuestion: "Apakah kamu ingin menambahkan kutipan?"
attachAsFileQuestion: "Teks dalam papan klip terlalu panjang. Apakah kamu ingin melampirkannya sebagai berkas teks?" attachAsFileQuestion: "Teks dalam papan klip terlalu panjang. Apakah kamu ingin melampirkannya sebagai berkas teks?"
noMessagesYet: "Tidak ada pesan"
newMessageExists: "Kamu mendapatkan pesan baru"
onlyOneFileCanBeAttached: "Kamu hanya dapat melampirkan satu berkas ke dalam pesan" onlyOneFileCanBeAttached: "Kamu hanya dapat melampirkan satu berkas ke dalam pesan"
signinRequired: "Silahkan login" signinRequired: "Silahkan login"
invitations: "Undangan" invitations: "Undangan"
@ -508,8 +502,7 @@ uiLanguage: "Bahasa antarmuka pengguna"
aboutX: "Tentang {x}" aboutX: "Tentang {x}"
emojiStyle: "Gaya emoji" emojiStyle: "Gaya emoji"
native: "Native" native: "Native"
menuStyle: "Gaya menu" disableDrawer: "Jangan gunakan menu bergaya laci"
style: "Gaya"
showNoteActionsOnlyHover: "Hanya tampilkan aksi catatan saat ditunjuk" showNoteActionsOnlyHover: "Hanya tampilkan aksi catatan saat ditunjuk"
showReactionsCount: "Lihat jumlah reaksi dalam catatan" showReactionsCount: "Lihat jumlah reaksi dalam catatan"
noHistory: "Tidak ada riwayat" noHistory: "Tidak ada riwayat"
@ -708,7 +701,10 @@ abuseReported: "Laporan kamu telah dikirimkan. Terima kasih."
reporter: "Pelapor" reporter: "Pelapor"
reporteeOrigin: "Yang dilaporkan" reporteeOrigin: "Yang dilaporkan"
reporterOrigin: "Pelapor" reporterOrigin: "Pelapor"
forwardReport: "Teruskan laporan ke instansi luar"
forwardReportIsAnonymous: "Untuk melindungi privasi akun kamu, akun anonim dari sistem akan digunakan sebagai pelapor pada instansi luar."
send: "Kirim" send: "Kirim"
abuseMarkAsResolved: "Tandai laporan sebagai selesai"
openInNewTab: "Buka di tab baru" openInNewTab: "Buka di tab baru"
openInSideView: "Buka di tampilan samping" openInSideView: "Buka di tampilan samping"
defaultNavigationBehaviour: "Navigasi bawaan" defaultNavigationBehaviour: "Navigasi bawaan"
@ -767,6 +763,7 @@ thisIsExperimentalFeature: "Fitur ini eksperimental. Fungsionalitas dari fitur i
developer: "Pengembang" developer: "Pengembang"
makeExplorable: "Buat akun tampil di \"Jelajahi\"" makeExplorable: "Buat akun tampil di \"Jelajahi\""
makeExplorableDescription: "Jika kamu mematikan ini, akun kamu tidak akan muncul di menu \"Jelajahi\"" makeExplorableDescription: "Jika kamu mematikan ini, akun kamu tidak akan muncul di menu \"Jelajahi\""
showGapBetweenNotesInTimeline: "Tampilkan jarak diantara catatan pada lini masa"
duplicate: "Duplikat" duplicate: "Duplikat"
left: "Kiri" left: "Kiri"
center: "Tengah" center: "Tengah"
@ -932,9 +929,6 @@ oneHour: "1 Jam"
oneDay: "1 Hari" oneDay: "1 Hari"
oneWeek: "1 Bulan" oneWeek: "1 Bulan"
oneMonth: "satu bulan" oneMonth: "satu bulan"
threeMonths: "3 bulan"
oneYear: "1 tahun"
threeDays: "3 hari"
reflectMayTakeTime: "Mungkin perlu beberapa saat untuk dicerminkan." reflectMayTakeTime: "Mungkin perlu beberapa saat untuk dicerminkan."
failedToFetchAccountInformation: "Gagal untuk mendapatkan informasi akun" failedToFetchAccountInformation: "Gagal untuk mendapatkan informasi akun"
rateLimitExceeded: "Batas sudah terlampaui" rateLimitExceeded: "Batas sudah terlampaui"
@ -1047,7 +1041,7 @@ disableFederationConfirmWarn: "Mematikan federasi tidak membuat kiriman menjadi
disableFederationOk: "Matikan federasi" disableFederationOk: "Matikan federasi"
invitationRequiredToRegister: "Instansi ini dalam mode undangan-saja. Kamu harus memasukkan kode undangan yang valid untuk mendaftar." invitationRequiredToRegister: "Instansi ini dalam mode undangan-saja. Kamu harus memasukkan kode undangan yang valid untuk mendaftar."
emailNotSupported: "Instansi ini tidak mendukung mengirim surel" emailNotSupported: "Instansi ini tidak mendukung mengirim surel"
postToTheChannel: "Buat Catatan ke Kanal" postToTheChannel: "Catat ke kanal"
cannotBeChangedLater: "Hal ini nantinya tidak dapat diubah lagi." cannotBeChangedLater: "Hal ini nantinya tidak dapat diubah lagi."
reactionAcceptance: "Penerimaan reaksi" reactionAcceptance: "Penerimaan reaksi"
likeOnly: "Hanya suka" likeOnly: "Hanya suka"
@ -1109,7 +1103,6 @@ preservedUsernames: "Nama pengguna tercadangkan"
preservedUsernamesDescription: "Daftar nama pengguna yang dicadangkan dipisah dengan baris baru. Nama pengguna berikut akan tidak dapat dipakai pada pembuatan akun normal, namun dapat digunakan oleh admin untuk membuat akun baru. Akun yang sudah ada dengan menggunakan nama pengguna ini tidak akan terpengaruh." preservedUsernamesDescription: "Daftar nama pengguna yang dicadangkan dipisah dengan baris baru. Nama pengguna berikut akan tidak dapat dipakai pada pembuatan akun normal, namun dapat digunakan oleh admin untuk membuat akun baru. Akun yang sudah ada dengan menggunakan nama pengguna ini tidak akan terpengaruh."
createNoteFromTheFile: "Buat catatan dari berkas ini" createNoteFromTheFile: "Buat catatan dari berkas ini"
archive: "Arsipkan" archive: "Arsipkan"
archived: "Diarsipkan"
channelArchiveConfirmTitle: "Yakin untuk mengarsipkan {name}?" channelArchiveConfirmTitle: "Yakin untuk mengarsipkan {name}?"
channelArchiveConfirmDescription: "Kanal yang diarsipkan tidak akan muncul pada daftar kanal atau hasil pencarian. Postingan baru juga tidak dapat ditambahkan lagi." channelArchiveConfirmDescription: "Kanal yang diarsipkan tidak akan muncul pada daftar kanal atau hasil pencarian. Postingan baru juga tidak dapat ditambahkan lagi."
thisChannelArchived: "Kanal ini telah diarsipkan." thisChannelArchived: "Kanal ini telah diarsipkan."
@ -1120,7 +1113,6 @@ preventAiLearning: "Tolak penggunaan Pembelajaran Mesin (AI Generatif)"
preventAiLearningDescription: "Minta perayap web untuk tidak menggunakan materi teks atau gambar yang telah diposting ke dalam set data Pembelajaran Mesin (Prediktif / Generatif). Hal ini dicapai dengan menambahkan flag HTML-Response \"noai\" ke masing-masing konten. Pencegahan penuh mungkin tidak dapat dicapai dengan flag ini, karena juga dapat diabaikan begitu saja." preventAiLearningDescription: "Minta perayap web untuk tidak menggunakan materi teks atau gambar yang telah diposting ke dalam set data Pembelajaran Mesin (Prediktif / Generatif). Hal ini dicapai dengan menambahkan flag HTML-Response \"noai\" ke masing-masing konten. Pencegahan penuh mungkin tidak dapat dicapai dengan flag ini, karena juga dapat diabaikan begitu saja."
options: "Opsi peran" options: "Opsi peran"
specifyUser: "Pengguna spesifik" specifyUser: "Pengguna spesifik"
openTagPageConfirm: "Apakah ingin membuka laman tagar?"
failedToPreviewUrl: "Tidak dapat dipratinjau" failedToPreviewUrl: "Tidak dapat dipratinjau"
update: "Perbarui" update: "Perbarui"
rolesThatCanBeUsedThisEmojiAsReaction: "Peran yang dapat menggunakan emoji ini sebagai reaksi" rolesThatCanBeUsedThisEmojiAsReaction: "Peran yang dapat menggunakan emoji ini sebagai reaksi"
@ -1211,6 +1203,7 @@ showAvatarDecorations: "Tampilkan dekorasi avatar"
releaseToRefresh: "Lepaskan untuk memuat ulang" releaseToRefresh: "Lepaskan untuk memuat ulang"
refreshing: "Sedang memuat ulang..." refreshing: "Sedang memuat ulang..."
pullDownToRefresh: "Tarik ke bawah untuk memuat ulang" pullDownToRefresh: "Tarik ke bawah untuk memuat ulang"
disableStreamingTimeline: "Nonaktifkan pembaharuan lini masa real-time"
useGroupedNotifications: "Tampilkan notifikasi secara dikelompokkan" useGroupedNotifications: "Tampilkan notifikasi secara dikelompokkan"
signupPendingError: "Terdapat masalah ketika memverifikasi alamat surel. Tautan kemungkinan telah kedaluwarsa." signupPendingError: "Terdapat masalah ketika memverifikasi alamat surel. Tautan kemungkinan telah kedaluwarsa."
cwNotationRequired: "Jika \"Sembunyikan konten\" diaktifkan, deskripsi harus disediakan." cwNotationRequired: "Jika \"Sembunyikan konten\" diaktifkan, deskripsi harus disediakan."
@ -1252,28 +1245,6 @@ noDescription: "Tidak ada deskripsi"
alwaysConfirmFollow: "Selalu konfirmasi ketika mengikuti" alwaysConfirmFollow: "Selalu konfirmasi ketika mengikuti"
inquiry: "Hubungi kami" inquiry: "Hubungi kami"
tryAgain: "Silahkan coba lagi." tryAgain: "Silahkan coba lagi."
createdLists: "Senarai yang dibuat"
createdAntennas: "Antena yang dibuat"
fromX: "Dari {x}"
noteOfThisUser: "Catatan oleh pengguna ini"
clipNoteLimitExceeded: "Klip ini tak bisa ditambahi lagi catatan."
performance: "Kinerja"
modified: "Diubah"
thereAreNChanges: "Ada {n} perubahan"
prohibitedWordsForNameOfUser: "Kata yang dilarang untuk nama pengguna"
postForm: "Buat catatan"
information: "Informasi"
_chat:
invitations: "Undang"
noHistory: "Tidak ada riwayat"
members: "Anggota"
home: "Beranda"
send: "Kirim"
_settings:
webhook: "Webhook"
_abuseUserReport:
accept: "Setuju"
reject: "Tolak"
_delivery: _delivery:
status: "Status pengiriman" status: "Status pengiriman"
stop: "Ditangguhkan" stop: "Ditangguhkan"
@ -1738,8 +1709,6 @@ _role:
canSearchNotes: "Penggunaan pencarian catatan" canSearchNotes: "Penggunaan pencarian catatan"
canUseTranslator: "Penggunaan penerjemah" canUseTranslator: "Penggunaan penerjemah"
avatarDecorationLimit: "Jumlah maksimum dekorasi avatar yang dapat diterapkan" avatarDecorationLimit: "Jumlah maksimum dekorasi avatar yang dapat diterapkan"
canImportAntennas: "Izinkan mengimpor antena"
canImportUserLists: "Izinkan mengimpor senarai"
_condition: _condition:
roleAssignedTo: "Ditugaskan ke peran manual" roleAssignedTo: "Ditugaskan ke peran manual"
isLocal: "Pengguna lokal" isLocal: "Pengguna lokal"
@ -1935,6 +1904,7 @@ _theme:
header: "Header" header: "Header"
navBg: "Latar belakang bilah samping" navBg: "Latar belakang bilah samping"
navFg: "Teks bilah samping" navFg: "Teks bilah samping"
navHoverFg: "Teks bilah samping (Mengambang)"
navActive: "Teks bilah samping (Aktif)" navActive: "Teks bilah samping (Aktif)"
navIndicator: "Indikator bilah samping" navIndicator: "Indikator bilah samping"
link: "Tautan" link: "Tautan"
@ -1956,8 +1926,13 @@ _theme:
buttonBg: "Latar belakang tombol" buttonBg: "Latar belakang tombol"
buttonHoverBg: "Latar belakang tombol (Mengambang)" buttonHoverBg: "Latar belakang tombol (Mengambang)"
inputBorder: "Batas bidang masukan" inputBorder: "Batas bidang masukan"
listItemHoverBg: "Latar belakang daftar item (Mengambang)"
driveFolderBg: "Latar belakang folder drive"
wallpaperOverlay: "Lapisan wallpaper"
badge: "Lencana" badge: "Lencana"
messageBg: "Latar belakang obrolan" messageBg: "Latar belakang obrolan"
accentDarken: "Aksen (Gelap)"
accentLighten: "Aksen (Terang)"
fgHighlighted: "Teks yang disorot" fgHighlighted: "Teks yang disorot"
_sfx: _sfx:
note: "Catatan" note: "Catatan"
@ -1971,7 +1946,6 @@ _soundSettings:
driveFileTypeWarnDescription: "Pilih berkas audio" driveFileTypeWarnDescription: "Pilih berkas audio"
driveFileDurationWarn: "Audio ini terlalu panjang" driveFileDurationWarn: "Audio ini terlalu panjang"
driveFileDurationWarnDescription: "Audio panjang dapat mengganggu penggunaan Misskey. Masih ingin melanjutkan?" driveFileDurationWarnDescription: "Audio panjang dapat mengganggu penggunaan Misskey. Masih ingin melanjutkan?"
driveFileError: "Tak bisa memuat audio. Mohon ubah pengaturan"
_ago: _ago:
future: "Masa depan" future: "Masa depan"
justNow: "Baru saja" justNow: "Baru saja"
@ -2110,7 +2084,6 @@ _permissions:
"read:clip-favorite": "Lihat klip yang difavoritkan" "read:clip-favorite": "Lihat klip yang difavoritkan"
"read:federation": "Mendapatkan data federasi" "read:federation": "Mendapatkan data federasi"
"write:report-abuse": "Melaporkan pelanggaran" "write:report-abuse": "Melaporkan pelanggaran"
"write:chat": "Buat atau hapus obrolan"
_auth: _auth:
shareAccessTitle: "Mendapatkan ijin akses aplikasi" shareAccessTitle: "Mendapatkan ijin akses aplikasi"
shareAccess: "Apakah kamu ingin mengijinkan \"{name}\" untuk mengakses akun ini?" shareAccess: "Apakah kamu ingin mengijinkan \"{name}\" untuk mengakses akun ini?"
@ -2291,6 +2264,9 @@ _pages:
newPage: "Buat halaman baru" newPage: "Buat halaman baru"
editPage: "Sunting halaman" editPage: "Sunting halaman"
readPage: "Lihat sumber kode aktif" readPage: "Lihat sumber kode aktif"
created: "Halaman berhasil dibuat"
updated: "Halaman berhasil diperbaharui!"
deleted: "Halaman telah dihapus"
pageSetting: "Pengaturan Halaman" pageSetting: "Pengaturan Halaman"
nameAlreadyExists: "URL Halaman yang ditentukan sudah ada" nameAlreadyExists: "URL Halaman yang ditentukan sudah ada"
invalidNameTitle: "URL Halaman yang ditentukan tidak valid" invalidNameTitle: "URL Halaman yang ditentukan tidak valid"
@ -2377,7 +2353,6 @@ _notification:
followRequestAccepted: "Permintaan mengikuti disetujui" followRequestAccepted: "Permintaan mengikuti disetujui"
roleAssigned: "Peran Diberikan" roleAssigned: "Peran Diberikan"
achievementEarned: "Pencapaian didapatkan" achievementEarned: "Pencapaian didapatkan"
login: "Masuk"
app: "Notifikasi dari aplikasi tertaut" app: "Notifikasi dari aplikasi tertaut"
_actions: _actions:
followBack: "Ikuti Kembali" followBack: "Ikuti Kembali"
@ -2407,7 +2382,7 @@ _deck:
main: "Utama" main: "Utama"
widgets: "Widget" widgets: "Widget"
notifications: "Notifikasi" notifications: "Notifikasi"
tl: "Beranda" tl: "Lini masa"
antenna: "Antena" antenna: "Antena"
list: "Daftar" list: "Daftar"
channel: "Kanal" channel: "Kanal"
@ -2442,8 +2417,6 @@ _abuseReport:
_notificationRecipient: _notificationRecipient:
_recipientType: _recipientType:
mail: "Surel" mail: "Surel"
webhook: "Webhook"
keywords: "Kata kunci"
_moderationLogTypes: _moderationLogTypes:
createRole: "Peran telah dibuat" createRole: "Peran telah dibuat"
deleteRole: "Peran telah dihapus" deleteRole: "Peran telah dihapus"
@ -2481,7 +2454,6 @@ _moderationLogTypes:
deleteAvatarDecoration: "Hapus dekorasi avatar" deleteAvatarDecoration: "Hapus dekorasi avatar"
unsetUserAvatar: "Hapus avatar pengguna" unsetUserAvatar: "Hapus avatar pengguna"
unsetUserBanner: "Hapus banner pengguna" unsetUserBanner: "Hapus banner pengguna"
deleteAccount: "Akun dihapus"
_fileViewer: _fileViewer:
title: "Rincian berkas" title: "Rincian berkas"
type: "Jenis berkas" type: "Jenis berkas"
@ -2495,8 +2467,10 @@ _externalResourceInstaller:
checkVendorBeforeInstall: "Pastikan sumber dari sumber daya ini terpercaya sebelum melakukan pemasangan." checkVendorBeforeInstall: "Pastikan sumber dari sumber daya ini terpercaya sebelum melakukan pemasangan."
_plugin: _plugin:
title: "Apakah kamu ingin memasang plugin ini?" title: "Apakah kamu ingin memasang plugin ini?"
metaTitle: "Informasi plugin"
_theme: _theme:
title: "Apakah kamu ingin memasang tema ini?" title: "Apakah kamu ingin memasang tema ini?"
metaTitle: "Informasi tema"
_meta: _meta:
base: "Skema warna dasar" base: "Skema warna dasar"
_vendorInfo: _vendorInfo:
@ -2536,6 +2510,9 @@ _dataSaver:
_avatar: _avatar:
title: "Gambar 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." 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: _code:
title: "Penyorotan kode" 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." 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."
@ -2608,20 +2585,3 @@ _mediaControls:
pip: "Gambar dalam Gambar" pip: "Gambar dalam Gambar"
playbackRate: "Kecepatan Pemutaran" playbackRate: "Kecepatan Pemutaran"
loop: "Ulangi Pemutaran" loop: "Ulangi Pemutaran"
_remoteLookupErrors:
_noSuchObject:
title: "Tidak dapat ditemukan"
_search:
searchScopeAll: "Semua"
searchScopeLocal: "Lokal"
searchScopeUser: "Pengguna spesifik"
_watermarkEditor:
driveFileTypeWarn: "Berkas ini tidak didukung"
opacity: "Opasitas"
scale: "Ukuran"
text: "Teks"
position: "Posisi"
type: "Tipe"
image: "Gambar"
advanced: "Tingkat lanjut"
angle: "Sudut"

2336
locales/index.d.ts vendored

File diff suppressed because it is too large Load diff

View file

@ -15,7 +15,6 @@ const merge = (...args) => args.reduce((a, c) => ({
const languages = [ const languages = [
'ar-SA', 'ar-SA',
'ca-ES',
'cs-CZ', 'cs-CZ',
'da-DK', 'da-DK',
'de-DE', 'de-DE',

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -5,18 +5,14 @@ introMisskey: "ようお越しMisskeyは、オープンソースの分散型
poweredByMisskeyDescription: "{name}は、オープンソースのプラットフォーム<b>Misskey</b>のサーバーのひとつなんやで。" poweredByMisskeyDescription: "{name}は、オープンソースのプラットフォーム<b>Misskey</b>のサーバーのひとつなんやで。"
monthAndDay: "{month}月 {day}日" monthAndDay: "{month}月 {day}日"
search: "探す" search: "探す"
reset: "リセット"
notifications: "通知" notifications: "通知"
username: "ユーザー名" username: "ユーザー名"
password: "パスワード" password: "パスワード"
initialPasswordForSetup: "初期設定開始用パスワード"
initialPasswordIsIncorrect: "初期設定開始用のパスワードがちゃうで。"
initialPasswordForSetupDescription: "Miskkeyを自分でインストールしたんやったら、設定ファイルに入れたパスワードを使ってや。\nホスティングサービスを使っとるんやったら、サービスから言われたやつを使うんやで。\n別に何も設定しとらんのやったら、何も入れずに空けといてな。"
forgotPassword: "パスワード忘れたん?" forgotPassword: "パスワード忘れたん?"
fetchingAsApObject: "今ちと連合に照会しとるで" fetchingAsApObject: "今ちと連合に照会しとるで"
ok: "ええで" ok: "ええで"
gotIt: "ほい" gotIt: "ほい"
cancel: "やめ" cancel: "やめとく"
noThankYou: "やめとく" noThankYou: "やめとく"
enterUsername: "ユーザー名を入れてや" enterUsername: "ユーザー名を入れてや"
renotedBy: "{user}がリノートしたで" renotedBy: "{user}がリノートしたで"
@ -27,7 +23,7 @@ settings: "設定"
notificationSettings: "通知の設定" notificationSettings: "通知の設定"
basicSettings: "基本設定" basicSettings: "基本設定"
otherSettings: "ほかの設定" otherSettings: "ほかの設定"
openInWindow: "ウィンドウで開く" openInWindow: "ウィンドウで開く"
profile: "プロフィール" profile: "プロフィール"
timeline: "タイムライン" timeline: "タイムライン"
noAccountDescription: "自己紹介食ってもた" noAccountDescription: "自己紹介食ってもた"
@ -46,10 +42,9 @@ favorited: "お気に入りに入れたで。"
alreadyFavorited: "もうお気に入りに入れとるがな。" alreadyFavorited: "もうお気に入りに入れとるがな。"
cantFavorite: "アカン、お気に入りに入れれんかったわ。" cantFavorite: "アカン、お気に入りに入れれんかったわ。"
pin: "ピン留めしとく" pin: "ピン留めしとく"
unpin: "ピン留めやめる" unpin: "やっぱピン留めせん"
copyContent: "内容をコピー" copyContent: "内容をコピー"
copyLink: "リンクをコピー" copyLink: "リンクをコピー"
copyRemoteLink: "リモートのリンクをコピーするで?"
copyLinkRenote: "リノートのリンクをコピーするで?" copyLinkRenote: "リノートのリンクをコピーするで?"
delete: "ほかす" delete: "ほかす"
deleteAndEdit: "ほかして直す" deleteAndEdit: "ほかして直す"
@ -65,7 +60,7 @@ copyFileId: "ファイルIDをコピー"
copyFolderId: "フォルダーIDをコピー" copyFolderId: "フォルダーIDをコピー"
copyProfileUrl: "プロフィールURLをコピー" copyProfileUrl: "プロフィールURLをコピー"
searchUser: "ユーザーを探す" searchUser: "ユーザーを探す"
searchThisUsersNotes: "ユーザーのノートを探す" searchThisUsersNotes: "ユーザーのノートを検索"
reply: "返事" reply: "返事"
loadMore: "まだまだあるで!" loadMore: "まだまだあるで!"
showMore: "まだまだあるで!" showMore: "まだまだあるで!"
@ -140,8 +135,8 @@ reactionSettingDescription2: "ドラッグで並び替え、クリックで削
rememberNoteVisibility: "公開範囲覚えといて" rememberNoteVisibility: "公開範囲覚えといて"
attachCancel: "のっけるのやめる" attachCancel: "のっけるのやめる"
deleteFile: "ファイルをほかす" deleteFile: "ファイルをほかす"
markAsSensitive: "ちょっと見せられへんわ" markAsSensitive: "ちょっとこれはアカン"
unmarkAsSensitive: "別にええんじゃね?" unmarkAsSensitive: "そこまでアカンことないやろ"
enterFileName: "ファイル名を入れてや" enterFileName: "ファイル名を入れてや"
mute: "ミュート" mute: "ミュート"
unmute: "ミュートやめたる" unmute: "ミュートやめたる"
@ -154,13 +149,13 @@ unsuspend: "溶かす"
blockConfirm: "ブロックしてもええんか?" blockConfirm: "ブロックしてもええんか?"
unblockConfirm: "ブロックやめたるってほんまか?" unblockConfirm: "ブロックやめたるってほんまか?"
suspendConfirm: "凍結してしもうてええか?" suspendConfirm: "凍結してしもうてええか?"
unsuspendConfirm: "溶かしたるけどええか?" unsuspendConfirm: "解凍するけどええか?"
selectList: "リストを選ぶ" selectList: "リストを選ぶ"
editList: "リストいじる" editList: "リストいじる"
selectChannel: "チャンネルを選ぶ" selectChannel: "チャンネルを選ぶ"
selectAntenna: "アンテナを選ぶ" selectAntenna: "アンテナを選ぶ"
editAntenna: "アンテナいじる" editAntenna: "アンテナいじる"
createAntenna: "アンテナを作" createAntenna: "アンテナを作"
selectWidget: "ウィジェットを選ぶ" selectWidget: "ウィジェットを選ぶ"
editWidgets: "ウィジェットをいじる" editWidgets: "ウィジェットをいじる"
editWidgetsExit: "いじるのをやめる" editWidgetsExit: "いじるのをやめる"
@ -174,12 +169,12 @@ settingGuide: "ええ感じの設定"
cacheRemoteFiles: "リモートのファイルをキャッシュする" cacheRemoteFiles: "リモートのファイルをキャッシュする"
cacheRemoteFilesDescription: "この設定を入れとったら、リモートのファイルを端から端までこのサーバーのキャッシュん中突っ込むようになるで。画像映し出すんがめっちゃ速うなるけど、サーバーの容量をやたらと食うようになるで。リモートの人がどんだけ長くキャッシュを持っとくかはドライブ容量の制限で決めとくで。制限を超えたら古いのから順々に消してって、かわりにリンクになるで。この設定を切ったら、リモートのファイルは最初っからリンクとして扱うことにするけど、画像のサムネ作るのとかみんなのプライバシー守るために、default.ymlのproxyRemoteFilesをtrueにしといたほうがええよ。" cacheRemoteFilesDescription: "この設定を入れとったら、リモートのファイルを端から端までこのサーバーのキャッシュん中突っ込むようになるで。画像映し出すんがめっちゃ速うなるけど、サーバーの容量をやたらと食うようになるで。リモートの人がどんだけ長くキャッシュを持っとくかはドライブ容量の制限で決めとくで。制限を超えたら古いのから順々に消してって、かわりにリンクになるで。この設定を切ったら、リモートのファイルは最初っからリンクとして扱うことにするけど、画像のサムネ作るのとかみんなのプライバシー守るために、default.ymlのproxyRemoteFilesをtrueにしといたほうがええよ。"
youCanCleanRemoteFilesCache: "ファイル管理にある🗑️ボタンでキャッシュ全部ほかすで。" youCanCleanRemoteFilesCache: "ファイル管理にある🗑️ボタンでキャッシュ全部ほかすで。"
cacheRemoteSensitiveFiles: "リモートのきわどいファイルをキャッシュする" cacheRemoteSensitiveFiles: "リモートのきわどいファイルをキャッシュに突っ込む"
cacheRemoteSensitiveFilesDescription: "この設定を切ると、リモートのきわどいファイルはキャッシュせず直でリンクするようになるで。" cacheRemoteSensitiveFilesDescription: "この設定を切ると、リモートのきわどいファイルはキャッシュせず直でリンクするようになるで。"
flagAsBot: "Botにするで" flagAsBot: "Botにするで"
flagAsBotDescription: "もしこのアカウントをプログラム使うて運用するんやったら、このフラグをオンにしてや。オンにすれば、反応がバーッて連鎖せんように開発者が使うたり、Misskeyのシステム上での扱いがBotに合ったもんになるからな。" flagAsBotDescription: "もしこのアカウントをプログラム使うて運用するんやったら、このフラグをオンにしてや。オンにすれば、反応がバーッて連鎖せんように開発者が使うたり、Misskeyのシステム上での扱いがBotに合ったもんになるからな。"
flagAsCat: "猫や。かわええな。" flagAsCat: "猫や。かわええな。"
flagAsCatDescription: "になりたいんならこれつけとき。" flagAsCatDescription: "ネコになりたいんならこれつけとき。"
flagShowTimelineReplies: "タイムラインにノートへの返信を表示するで" flagShowTimelineReplies: "タイムラインにノートへの返信を表示するで"
flagShowTimelineRepliesDescription: "オンにしたら、タイムラインにユーザーのノートの他にもそのユーザーの他のノートへの返信を表示するで。" flagShowTimelineRepliesDescription: "オンにしたら、タイムラインにユーザーのノートの他にもそのユーザーの他のノートへの返信を表示するで。"
autoAcceptFollowed: "フォローしとるユーザーからのフォローリクエストを勝手に許可しとく" autoAcceptFollowed: "フォローしとるユーザーからのフォローリクエストを勝手に許可しとく"
@ -188,9 +183,9 @@ reloadAccountsList: "アカウントリストの情報を更新"
loginFailed: "ログインに失敗してもうた…" loginFailed: "ログインに失敗してもうた…"
showOnRemote: "リモートで見る" showOnRemote: "リモートで見る"
continueOnRemote: "リモートで続行" continueOnRemote: "リモートで続行"
chooseServerOnMisskeyHub: "Misskey Hubからサーバーを選" chooseServerOnMisskeyHub: "Misskey Hubからサーバーを選"
specifyServerHost: "サーバーのドメインを直接指定" specifyServerHost: "サーバーのドメインを直接指定"
inputHostName: "ドメインを入力してや" inputHostName: "ドメインを入力せえや"
general: "全般" general: "全般"
wallpaper: "壁紙" wallpaper: "壁紙"
setWallpaper: "壁紙を設定" setWallpaper: "壁紙を設定"
@ -234,15 +229,13 @@ clearQueue: "キューをほかす"
clearQueueConfirmTitle: "キューをほかしとこか?" clearQueueConfirmTitle: "キューをほかしとこか?"
clearQueueConfirmText: "未配達の投稿は配送されんなるで。ふつうこの操作を行う必要は無いんやけどな。" clearQueueConfirmText: "未配達の投稿は配送されんなるで。ふつうこの操作を行う必要は無いんやけどな。"
clearCachedFiles: "キャッシュをほかす" clearCachedFiles: "キャッシュをほかす"
clearCachedFilesConfirm: "キャッシュされとるリモートファイルを全部ほかしてええか?" clearCachedFilesConfirm: "キャッシュされとるリモートファイルをみんなほかしてええか?"
blockedInstances: "ブロックしたサーバー" blockedInstances: "ブロックしたサーバー"
blockedInstancesDescription: "ブロックしたいサーバーのホストを改行で区切って設定してな。ブロックされてもうたサーバーとはもう金輪際やり取りできひんくなるで。" blockedInstancesDescription: "ブロックしたいサーバーのホストを改行で区切って設定してな。ブロックされてもうたサーバーとはもう金輪際やり取りできひんくなるで。"
silencedInstances: "サーバーサイレンスされてんねん" silencedInstances: "サーバーサイレンスされてんねん"
silencedInstancesDescription: "サイレンスしたいサーバーのホストを改行で区切って設定すんで。サイレンスされたサーバーに所属するアカウントはすべて「サイレンス」として扱われ、フォローがすべてリクエストになり、フォロワーでないローカルアカウントにはメンションできなくなんねん。ブロックしたインスタンスには影響せーへんで。" silencedInstancesDescription: "サイレンスしたいサーバーのホストを改行で区切って設定すんで。サイレンスされたサーバーに所属するアカウントはすべて「サイレンス」として扱われ、フォローがすべてリクエストになり、フォロワーでないローカルアカウントにはメンションできなくなんねん。ブロックしたインスタンスには影響せーへんで。"
mediaSilencedInstances: "メディアサイレンスしたサーバー" mediaSilencedInstances: "メディアサイレンスしたサーバー"
mediaSilencedInstancesDescription: "メディアサイレンスしたいサーバーのホストを改行で区切って設定するで。メディアサイレンスされたサーバーに所属するアカウントによるファイルはすべてセンシティブとして扱われてな、カスタム絵文字が使えへんようになるで。ブロックしたインスタンスには影響せえへんで。" mediaSilencedInstancesDescription: "メディアサイレンスしたいサーバーのホストを改行で区切って設定するで。メディアサイレンスされたサーバーに所属するアカウントによるファイルはすべてセンシティブとして扱われてな、カスタム絵文字が使えへんようになるで。ブロックしたインスタンスには影響せえへんで。"
federationAllowedHosts: "連合を許すサーバー"
federationAllowedHostsDescription: "連合してもいいサーバーのホストを行ごとに区切って設定してや。"
muteAndBlock: "ミュートとブロック" muteAndBlock: "ミュートとブロック"
mutedUsers: "ミュートしとるユーザー" mutedUsers: "ミュートしとるユーザー"
blockedUsers: "ブロックしとるユーザー" blockedUsers: "ブロックしとるユーザー"
@ -250,6 +243,7 @@ noUsers: "ユーザーはおらん"
editProfile: "プロフィールをいじる" editProfile: "プロフィールをいじる"
noteDeleteConfirm: "このノートをほかしてええか?" noteDeleteConfirm: "このノートをほかしてええか?"
pinLimitExceeded: "これ以上ピン留めできひん" pinLimitExceeded: "これ以上ピン留めできひん"
intro: "Misskeyのインストールが完了したで管理者アカウントを作ってや。"
done: "でけた" done: "でけた"
processing: "処理しとる" processing: "処理しとる"
preview: "プレビュー" preview: "プレビュー"
@ -288,6 +282,7 @@ deleteAreYouSure: "「{x}」はほかしてええか?"
resetAreYouSure: "リセットしてええん?" resetAreYouSure: "リセットしてええん?"
areYouSure: "いいん?" areYouSure: "いいん?"
saved: "保存したで!" saved: "保存したで!"
messaging: "チャット"
upload: "アップロード" upload: "アップロード"
keepOriginalUploading: "オリジナル画像のまんま" keepOriginalUploading: "オリジナル画像のまんま"
keepOriginalUploadingDescription: "画像を上げるときにオリジナル版のまんまにするで。オフにしたら、上げたときにブラウザでWeb公開用の画像を生成するで。 " keepOriginalUploadingDescription: "画像を上げるときにオリジナル版のまんまにするで。オフにしたら、上げたときにブラウザでWeb公開用の画像を生成するで。 "
@ -300,6 +295,7 @@ uploadFromUrlMayTakeTime: "アップロード終わるんにちょい時間か
explore: "みつける" explore: "みつける"
messageRead: "もう読んだ" messageRead: "もう読んだ"
noMoreHistory: "これより昔のんはあらへんで" noMoreHistory: "これより昔のんはあらへんで"
startMessaging: "チャットやるで"
nUsersRead: "{n}人が読んでもうた" nUsersRead: "{n}人が読んでもうた"
agreeTo: "{0}に同意したで" agreeTo: "{0}に同意したで"
agree: "せやな" agree: "せやな"
@ -338,7 +334,6 @@ renameFolder: "フォルダー名を変える"
deleteFolder: "フォルダーをほかす" deleteFolder: "フォルダーをほかす"
folder: "フォルダー" folder: "フォルダー"
addFile: "ファイルを追加" addFile: "ファイルを追加"
showFile: "ファイル出す"
emptyDrive: "ドライブは空っぽや" emptyDrive: "ドライブは空っぽや"
emptyFolder: "このフォルダーは空や" emptyFolder: "このフォルダーは空や"
unableToDelete: "消せんかったわ" unableToDelete: "消せんかったわ"
@ -381,6 +376,7 @@ enableLocalTimeline: "ローカルタイムラインを使えるようにする
enableGlobalTimeline: "グローバルタイムラインを使えるようにするわ" enableGlobalTimeline: "グローバルタイムラインを使えるようにするわ"
disablingTimelinesInfo: "ここらへんのタイムラインを使えんようにしてしもても、管理者とモデレーターは使えるままになってるで、そうやなかったら不便やからな。" disablingTimelinesInfo: "ここらへんのタイムラインを使えんようにしてしもても、管理者とモデレーターは使えるままになってるで、そうやなかったら不便やからな。"
registration: "登録" registration: "登録"
enableRegistration: "一見さんでも誰でもいらっしゃ~い"
invite: "来てや" invite: "来てや"
driveCapacityPerLocalAccount: "ローカルユーザーはんひとりあたりのドライブ容量" driveCapacityPerLocalAccount: "ローカルユーザーはんひとりあたりのドライブ容量"
driveCapacityPerRemoteAccount: "リモートユーザーはんひとりあたりのドライブ容量" driveCapacityPerRemoteAccount: "リモートユーザーはんひとりあたりのドライブ容量"
@ -452,7 +448,6 @@ totpDescription: "認証アプリ使うてワンタイムパスワードを入
moderator: "モデレーター" moderator: "モデレーター"
moderation: "モデレーション" moderation: "モデレーション"
moderationNote: "モデレーションノート" moderationNote: "モデレーションノート"
moderationNoteDescription: "モデレーターの中だけで共有するメモを入れれるで。"
addModerationNote: "モデレーションノートを追加するで" addModerationNote: "モデレーションノートを追加するで"
moderationLogs: "モデログ" moderationLogs: "モデログ"
nUsersMentioned: "{n}人が投稿" nUsersMentioned: "{n}人が投稿"
@ -488,6 +483,8 @@ noteOf: "{user}はんのノート"
quoteAttached: "引用付いとるで" quoteAttached: "引用付いとるで"
quoteQuestion: "引用として添付してもええか?" quoteQuestion: "引用として添付してもええか?"
attachAsFileQuestion: "クリップボードのテキストが長すぎるからテキストファイルとして添付してもええか?" attachAsFileQuestion: "クリップボードのテキストが長すぎるからテキストファイルとして添付してもええか?"
noMessagesYet: "まだチャットはあらへんで"
newMessageExists: "新しいメッセージがきたで"
onlyOneFileCanBeAttached: "ごめんな、メッセージに添付できるファイルはひとつだけなんよ。" onlyOneFileCanBeAttached: "ごめんな、メッセージに添付できるファイルはひとつだけなんよ。"
signinRequired: "ログインしてくれへん?" signinRequired: "ログインしてくれへん?"
signinOrContinueOnRemote: "続行するには、お使いのサーバーに移動するか、このサーバーに登録・ログインする必要があるで" signinOrContinueOnRemote: "続行するには、お使いのサーバーに移動するか、このサーバーに登録・ログインする必要があるで"
@ -512,10 +509,7 @@ uiLanguage: "UIの表示言語"
aboutX: "{x}について" aboutX: "{x}について"
emojiStyle: "絵文字のスタイル" emojiStyle: "絵文字のスタイル"
native: "ネイティブ" native: "ネイティブ"
menuStyle: "メニューのスタイル" disableDrawer: "メニューをドロワーで表示せえへん"
style: "スタイル"
drawer: "ドロワー"
popup: "ポップアップ"
showNoteActionsOnlyHover: "ノートの操作部をホバー時のみ表示するで" showNoteActionsOnlyHover: "ノートの操作部をホバー時のみ表示するで"
showReactionsCount: "ノートのリアクション数を表示する" showReactionsCount: "ノートのリアクション数を表示する"
noHistory: "履歴はないわ。" noHistory: "履歴はないわ。"
@ -583,7 +577,6 @@ masterVolume: "全体のやかましさ"
notUseSound: "音出さへん" notUseSound: "音出さへん"
useSoundOnlyWhenActive: "Misskeyがアクティブなときだけ音出す" useSoundOnlyWhenActive: "Misskeyがアクティブなときだけ音出す"
details: "もっと" details: "もっと"
renoteDetails: "リノートの詳細"
chooseEmoji: "絵文字を選ぶ" chooseEmoji: "絵文字を選ぶ"
unableToProcess: "なんか奥の方で詰まってもうた" unableToProcess: "なんか奥の方で詰まってもうた"
recentUsed: "最近使ったやつ" recentUsed: "最近使ったやつ"
@ -599,8 +592,6 @@ ascendingOrder: "小さい順"
descendingOrder: "大きい順" descendingOrder: "大きい順"
scratchpad: "スクラッチパッド" scratchpad: "スクラッチパッド"
scratchpadDescription: "スクラッチパッドではAiScriptを色々試すことができるんや。Misskeyに対して色々できるコードを書いて動かしてみたり、結果を見たりできるで。" scratchpadDescription: "スクラッチパッドではAiScriptを色々試すことができるんや。Misskeyに対して色々できるコードを書いて動かしてみたり、結果を見たりできるで。"
uiInspector: "UIインスペクター"
uiInspectorDescription: "メモリ上にあるUIコンポーネントのインスタンス一覧を見れるで。UIコンポーネントはUi:C:系関数で生成されるで。"
output: "出力" output: "出力"
script: "スクリプト" script: "スクリプト"
disablePagesScript: "Pagesのスクリプトを無効にしてや" disablePagesScript: "Pagesのスクリプトを無効にしてや"
@ -681,15 +672,11 @@ smtpSecure: "SMTP 接続に暗黙的なSSL/TLSを使用する"
smtpSecureInfo: "STARTTLS使っとる時はオフにしてや。" smtpSecureInfo: "STARTTLS使っとる時はオフにしてや。"
testEmail: "配信テスト" testEmail: "配信テスト"
wordMute: "ワードミュート" wordMute: "ワードミュート"
wordMuteDescription: "指定した語句が入ってるノートを最小化するで。最小化されたノートをクリックしたら、表示できるようになるで。"
hardWordMute: "ハードワードミュート" hardWordMute: "ハードワードミュート"
showMutedWord: "ミュートされたワードを表示するで"
hardWordMuteDescription: "指定した語句が入ってるノートを隠すで。ワードミュートとちゃうて、ノートは完全に表示されんようになるで。"
regexpError: "正規表現エラー" regexpError: "正規表現エラー"
regexpErrorDescription: "{tab}ワードミュートの{line}行目の正規表現にエラーが出てきたで:" regexpErrorDescription: "{tab}ワードミュートの{line}行目の正規表現にエラーが出てきたで:"
instanceMute: "サーバーミュート" instanceMute: "サーバーミュート"
userSaysSomething: "{name}が何か言うとるわ" userSaysSomething: "{name}が何か言うとるわ"
userSaysSomethingAbout: "{name}が「{word}」についてなんか言うてたで"
makeActive: "使うで" makeActive: "使うで"
display: "表示" display: "表示"
copy: "コピー" copy: "コピー"
@ -721,7 +708,10 @@ abuseReported: "無事内容が送信されたみたいやで。おおきに〜
reporter: "通報者" reporter: "通報者"
reporteeOrigin: "通報先" reporteeOrigin: "通報先"
reporterOrigin: "通報元" reporterOrigin: "通報元"
forwardReport: "リモートサーバーに通報を転送するで"
forwardReportIsAnonymous: "リモートサーバーからはあんたの情報は見えんなって、匿名のシステムアカウントとして表示されるで。"
send: "送信" send: "送信"
abuseMarkAsResolved: "対応したで"
openInNewTab: "新しいタブで開く" openInNewTab: "新しいタブで開く"
openInSideView: "サイドビューで開く" openInSideView: "サイドビューで開く"
defaultNavigationBehaviour: "デフォルトのナビゲーション" defaultNavigationBehaviour: "デフォルトのナビゲーション"
@ -780,6 +770,7 @@ thisIsExperimentalFeature: "これは実験的な機能やから、仕様が変
developer: "開発者やで" developer: "開発者やで"
makeExplorable: "アカウントを見つけやすくするで" makeExplorable: "アカウントを見つけやすくするで"
makeExplorableDescription: "オフにすると、「みつける」にアカウントが載らんくなるで。" makeExplorableDescription: "オフにすると、「みつける」にアカウントが載らんくなるで。"
showGapBetweenNotesInTimeline: "タイムラインのノートを離して表示するで"
duplicate: "複製" duplicate: "複製"
left: "左" left: "左"
center: "真ん中" center: "真ん中"
@ -922,7 +913,6 @@ followersVisibility: "フォロワーの公開範囲"
continueThread: "さらにスレッドを見るで" continueThread: "さらにスレッドを見るで"
deleteAccountConfirm: "アカウントを消すで?ええんか?" deleteAccountConfirm: "アカウントを消すで?ええんか?"
incorrectPassword: "パスワードがちゃうわ。" incorrectPassword: "パスワードがちゃうわ。"
incorrectTotp: "ワンタイムパスワードが間違っとるか、期限が切れとるみたいやな。"
voteConfirm: "「{choice}」に投票するんか?" voteConfirm: "「{choice}」に投票するんか?"
hide: "隠す" hide: "隠す"
useDrawerReactionPickerForMobile: "ケータイとかのときドロワーで表示するで" useDrawerReactionPickerForMobile: "ケータイとかのときドロワーで表示するで"
@ -947,9 +937,6 @@ oneHour: "1時間"
oneDay: "1日" oneDay: "1日"
oneWeek: "1週間" oneWeek: "1週間"
oneMonth: "1ヶ月" oneMonth: "1ヶ月"
threeMonths: "3ヶ月"
oneYear: "1年"
threeDays: "3日"
reflectMayTakeTime: "反映されるまで時間がかかることがあるで" reflectMayTakeTime: "反映されるまで時間がかかることがあるで"
failedToFetchAccountInformation: "アカウントの取得に失敗したみたいや…" failedToFetchAccountInformation: "アカウントの取得に失敗したみたいや…"
rateLimitExceeded: "レート制限が超えたみたいやで" rateLimitExceeded: "レート制限が超えたみたいやで"
@ -1090,7 +1077,6 @@ retryAllQueuesConfirmTitle: "もっかいやってみるか?"
retryAllQueuesConfirmText: "一時的にサーバー重なるかもしれへんで。" retryAllQueuesConfirmText: "一時的にサーバー重なるかもしれへんで。"
enableChartsForRemoteUser: "リモートユーザーのチャートを作る" enableChartsForRemoteUser: "リモートユーザーのチャートを作る"
enableChartsForFederatedInstances: "リモートサーバーのチャートを作る" enableChartsForFederatedInstances: "リモートサーバーのチャートを作る"
enableStatsForFederatedInstances: "リモートサーバの情報を取得"
showClipButtonInNoteFooter: "ノートのアクションにクリップを追加" showClipButtonInNoteFooter: "ノートのアクションにクリップを追加"
reactionsDisplaySize: "ツッコミの表示のでかさ" reactionsDisplaySize: "ツッコミの表示のでかさ"
limitWidthOfReaction: "ツッコミの最大横幅を制限して、ちっさく表示するで" limitWidthOfReaction: "ツッコミの最大横幅を制限して、ちっさく表示するで"
@ -1231,6 +1217,7 @@ showAvatarDecorations: "アイコンのデコレーション映す"
releaseToRefresh: "離したらリロード" releaseToRefresh: "離したらリロード"
refreshing: "リロードしとる" refreshing: "リロードしとる"
pullDownToRefresh: "引っ張ってリロードするで" pullDownToRefresh: "引っ張ってリロードするで"
disableStreamingTimeline: "タイムラインのリアルタイム更新をやめるで"
useGroupedNotifications: "通知をグループ分けして出すで" useGroupedNotifications: "通知をグループ分けして出すで"
signupPendingError: "メアド確認してたらなんか変なことなったわ。リンクの期限切れてるかもしれん。" signupPendingError: "メアド確認してたらなんか変なことなったわ。リンクの期限切れてるかもしれん。"
cwNotationRequired: "「内容を隠す」んやったら注釈書かなアカンで。" cwNotationRequired: "「内容を隠す」んやったら注釈書かなアカンで。"
@ -1276,63 +1263,6 @@ confirmWhenRevealingSensitiveMedia: "センシティブなメディアを表示
sensitiveMediaRevealConfirm: "センシティブなメディアやで。表示するんか?" sensitiveMediaRevealConfirm: "センシティブなメディアやで。表示するんか?"
createdLists: "作成したリスト" createdLists: "作成したリスト"
createdAntennas: "作成したアンテナ" createdAntennas: "作成したアンテナ"
fromX: "{x}から"
genEmbedCode: "埋め込みコードを作る"
noteOfThisUser: "このユーザーのノート全部"
clipNoteLimitExceeded: "これ以上このクリップにノート追加でけへんわ。"
performance: "パフォーマンス"
modified: "変更あり"
discard: "やめる"
thereAreNChanges: "{n}個の変更があるみたいや"
signinWithPasskey: "パスキーでログイン"
unknownWebAuthnKey: "登録されてへんパスキーやな。"
passkeyVerificationFailed: "パスキーの検証に失敗したで。"
passkeyVerificationSucceededButPasswordlessLoginDisabled: "パスキーの検証は成功したんやけど、パスワードレスログインが無効になっとるわ。"
messageToFollower: "フォロワーへのメッセージ"
target: "対象"
testCaptchaWarning: "CAPTCHAのテストを目的としてるで。<strong>絶対に本番環境で使わんといてな。絶対やで。</strong>"
prohibitedWordsForNameOfUser: "禁止ワード(ユーザー名)"
prohibitedWordsForNameOfUserDescription: "このリストの中にある文字列がユーザー名に入っとったら、その名前に変更できひんようになるで。モデレーター権限があるユーザーは除外や。"
yourNameContainsProhibitedWords: "その名前は禁止した文字列が含まれとるで"
yourNameContainsProhibitedWordsDescription: "その名前は禁止した文字列が含まれとるわ。どうしてもって言うなら、サーバー管理者に言うしかないで。"
thisContentsAreMarkedAsSigninRequiredByAuthor: "投稿者が、表示にログインが要るって設定してるで"
lockdown: "ロックダウン"
pleaseSelectAccount: "アカウント選んでや"
availableRoles: "使えるロール"
acknowledgeNotesAndEnable: "注意事項をわかった上でオンにする。"
federationSpecified: "このサーバーはホワイトリスト連合で運用されてるで。管理者が指定したサーバー以外とはやり取りできひんで。"
federationDisabled: "このサーバーは連合が無効化されてるで。他のサーバーのユーザーとやり取りすることはできひんで。"
confirmOnReact: "ツッコむときに確認とる"
reactAreYouSure: "\" {emoji} \" でツッコむ?"
postForm: "投稿フォーム"
information: "情報"
_chat:
invitations: "来てや"
noHistory: "履歴はないわ。"
members: "メンバーはん"
home: "ホーム"
send: "送信"
_settings:
webhook: "Webhook"
_accountSettings:
requireSigninToViewContents: "ログインしてもらってからコンテンツ見てもらう"
requireSigninToViewContentsDescription1: "あなたが作成した全部のノートとかのコンテンツを見れるようにするのにログインがいるようにするで。クローラーにいろいろ収集されるんを防げるかもしれん。"
requireSigninToViewContentsDescription2: "URLプレビュー(OGP)、Webページへの埋め込み、ートの引用に対応してないサーバーからの表示ができんくなるで。"
requireSigninToViewContentsDescription3: "リモートサーバーに連合されたコンテンツは、これらの制限が適用されんかもしれんで。"
makeNotesFollowersOnlyBefore: "昔のノートをフォロワーだけに見てもらう"
makeNotesFollowersOnlyBeforeDescription: "この機能が有効になってる間は、設定された日時より前、それか設定された時間が経ったノートがフォロワーのみ見れるようになるで。無効に戻すと、ノートの公開状態も戻るで。"
makeNotesHiddenBefore: "昔のノートを見れんようにする"
makeNotesHiddenBeforeDescription: "この機能が有効になってる間は、設定された日時より前、それか設定された時間が経ったノートがフォロワーのみ見れるようになるで。無効に戻すと、ノートの公開状態も戻るで。"
mayNotEffectForFederatedNotes: "リモートサーバーに連合されたノートには効果が及ばんかもしれん。"
notesHavePassedSpecifiedPeriod: "決めた時間が経ったノート"
notesOlderThanSpecifiedDateAndTime: "決めた日時より前のノート"
_abuseUserReport:
forward: "転送"
forwardDescription: "匿名のシステムアカウントってことにして、リモートサーバーに通報を転送するで。"
resolve: "解決"
accept: "ええよ"
reject: "あかんよ"
resolveTutorial: "内容がええなら「ええよ」を選ぶんや。肯定的に解決されたことにして記録するで。\n逆に、内容がだめなら「あかんよ」を選びいや。否定的に解決されたって記録しとくで。"
_delivery: _delivery:
status: "配信状態" status: "配信状態"
stop: "配信せぇへん" stop: "配信せぇへん"
@ -1467,12 +1397,8 @@ _serverSettings:
fanoutTimelineDescription: "入れると、おのおのタイムラインを取得するときにめちゃめちゃ動きが良うなって、データベースが軽くなるわ。でも、Redisのメモリ使う量が増えるから注意な。サーバーのメモリが足りんときとか、動きが変なときは切れるで。" fanoutTimelineDescription: "入れると、おのおのタイムラインを取得するときにめちゃめちゃ動きが良うなって、データベースが軽くなるわ。でも、Redisのメモリ使う量が増えるから注意な。サーバーのメモリが足りんときとか、動きが変なときは切れるで。"
fanoutTimelineDbFallback: "データベースにフォールバックする" fanoutTimelineDbFallback: "データベースにフォールバックする"
fanoutTimelineDbFallbackDescription: "有効にしたら、タイムラインがキャッシュん中に入ってないときにDBにもっかい問い合わせるフォールバック処理ってのをやっとくで。切ったらフォールバック処理をやらんからサーバーはもっと軽くなんねんけど、タイムラインの取得範囲がちょっと減るで。" fanoutTimelineDbFallbackDescription: "有効にしたら、タイムラインがキャッシュん中に入ってないときにDBにもっかい問い合わせるフォールバック処理ってのをやっとくで。切ったらフォールバック処理をやらんからサーバーはもっと軽くなんねんけど、タイムラインの取得範囲がちょっと減るで。"
reactionsBufferingDescription: "有効にしたら、リアクション作るときのパフォーマンスがすっごい上がって、データベースへの負荷が減るで。代わりに、Redisのメモリ使用は増えるで。"
inquiryUrl: "問い合わせ先URL" inquiryUrl: "問い合わせ先URL"
inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定するで。" inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定するで。"
openRegistration: "アカウントの作成をオープンにする"
openRegistrationWarning: "登録を解放するのはリスクが伴うで。サーバーをいっつも監視して、なんか起きたらすぐに対応できるんやったら、オンにしてもええと思う。"
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "一定期間モデレーターがおらんかったら、スパムを防ぐためにこの設定は勝手に切られるで。"
_accountMigration: _accountMigration:
moveFrom: "別のアカウントからこのアカウントに引っ越す" moveFrom: "別のアカウントからこのアカウントに引っ越す"
moveFromSub: "別のアカウントへエイリアスを作る" moveFromSub: "別のアカウントへエイリアスを作る"
@ -1804,11 +1730,6 @@ _role:
canSearchNotes: "ノート探せるかどうか" canSearchNotes: "ノート探せるかどうか"
canUseTranslator: "翻訳使えるかどうか" canUseTranslator: "翻訳使えるかどうか"
avatarDecorationLimit: "アイコンデコのいっちばんつけれる数" avatarDecorationLimit: "アイコンデコのいっちばんつけれる数"
canImportAntennas: "アンテナのインポートを許す"
canImportBlocking: "ブロックのインポートを許す"
canImportFollowing: "フォローのインポートを許す"
canImportMuting: "ミュートのインポートを許す"
canImportUserLists: "リストのインポートを許す"
_condition: _condition:
roleAssignedTo: "マニュアルロールにアサイン済み" roleAssignedTo: "マニュアルロールにアサイン済み"
isLocal: "ローカルユーザー" isLocal: "ローカルユーザー"
@ -2004,6 +1925,7 @@ _theme:
header: "ヘッダー" header: "ヘッダー"
navBg: "サイドバーの背景" navBg: "サイドバーの背景"
navFg: "サイドバーの文字" navFg: "サイドバーの文字"
navHoverFg: "サイドバー文字(ホバー)"
navActive: "サイドバー文字(アクティブ)" navActive: "サイドバー文字(アクティブ)"
navIndicator: "サイドバーのインジケーター" navIndicator: "サイドバーのインジケーター"
link: "リンク" link: "リンク"
@ -2025,8 +1947,13 @@ _theme:
buttonBg: "ボタンの背景" buttonBg: "ボタンの背景"
buttonHoverBg: "ボタンの背景 (ホバー)" buttonHoverBg: "ボタンの背景 (ホバー)"
inputBorder: "入力ボックスの縁取り" inputBorder: "入力ボックスの縁取り"
listItemHoverBg: "リスト項目の背景 (ホバー)"
driveFolderBg: "ドライブフォルダーの背景"
wallpaperOverlay: "壁紙のオーバーレイ"
badge: "バッジ" badge: "バッジ"
messageBg: "チャットの背景" messageBg: "チャットの背景"
accentDarken: "アクセント (暗め)"
accentLighten: "アクセント (明るめ)"
fgHighlighted: "強調されとる文字" fgHighlighted: "強調されとる文字"
_sfx: _sfx:
note: "ノート" note: "ノート"
@ -2179,7 +2106,6 @@ _permissions:
"read:clip-favorite": "クリップのいいね見る" "read:clip-favorite": "クリップのいいね見る"
"read:federation": "連合の情報取得" "read:federation": "連合の情報取得"
"write:report-abuse": "違反報告" "write:report-abuse": "違反報告"
"write:chat": "チャットを操作するで"
_auth: _auth:
shareAccessTitle: "アプリへのアクセス許してやったらどうや" shareAccessTitle: "アプリへのアクセス許してやったらどうや"
shareAccess: "「{name}」がアカウントにアクセスすることを許可してええか?" shareAccess: "「{name}」がアカウントにアクセスすることを許可してええか?"
@ -2188,11 +2114,8 @@ _auth:
permissionAsk: "このアプリは次の権限を要求しとるで" permissionAsk: "このアプリは次の権限を要求しとるで"
pleaseGoBack: "アプリケーションに戻ってええよ" pleaseGoBack: "アプリケーションに戻ってええよ"
callback: "アプリケーションに戻っとるで" callback: "アプリケーションに戻っとるで"
accepted: "アクセスを許可したで"
denied: "アクセスを拒否ったで" denied: "アクセスを拒否ったで"
scopeUser: "以下のユーザーとしていじってるで"
pleaseLogin: "アプリにアクセスさせるんやったら、ログインしてや。" pleaseLogin: "アプリにアクセスさせるんやったら、ログインしてや。"
byClickingYouWillBeRedirectedToThisUrl: "アクセスを許したら、自動で下のURLに遷移するで"
_antennaSources: _antennaSources:
all: "みんなのノート" all: "みんなのノート"
homeTimeline: "フォローしとるユーザーのノート" homeTimeline: "フォローしとるユーザーのノート"
@ -2301,9 +2224,6 @@ _profile:
changeBanner: "バナー画像を変更するで" changeBanner: "バナー画像を変更するで"
verifiedLinkDescription: "内容をURLに設定すると、リンク先のwebサイトに自分のプロフのリンクが含まれてる場合に所有者確認済みアイコンを表示させることができるで。" verifiedLinkDescription: "内容をURLに設定すると、リンク先のwebサイトに自分のプロフのリンクが含まれてる場合に所有者確認済みアイコンを表示させることができるで。"
avatarDecorationMax: "最大{max}つまでデコつけれんで" avatarDecorationMax: "最大{max}つまでデコつけれんで"
followedMessage: "フォローされたら返すメッセージ"
followedMessageDescription: "フォローされたときに相手に返す短めのメッセージを決めれるで。"
followedMessageDescriptionForLockedAccount: "フォローが承認制なら、フォローリクエストをOKしたときに見せるで。"
_exportOrImport: _exportOrImport:
allNotes: "全てのノート" allNotes: "全てのノート"
favoritedNotes: "お気に入りにしたノート" favoritedNotes: "お気に入りにしたノート"
@ -2366,6 +2286,9 @@ _pages:
newPage: "ページを作る" newPage: "ページを作る"
editPage: "ページの編集" editPage: "ページの編集"
readPage: "ソースを表示中" readPage: "ソースを表示中"
created: "ページを作成したで"
updated: "ページを更新したで"
deleted: "ページを削除したで"
pageSetting: "ページ設定" pageSetting: "ページ設定"
nameAlreadyExists: "指定されたページURLはもうあるみたいや" nameAlreadyExists: "指定されたページURLはもうあるみたいや"
invalidNameTitle: "正しくないページURLみたいやで" invalidNameTitle: "正しくないページURLみたいやで"
@ -2393,7 +2316,6 @@ _pages:
eyeCatchingImageSet: "アイキャッチ画像を設定" eyeCatchingImageSet: "アイキャッチ画像を設定"
eyeCatchingImageRemove: "アイキャッチ画像を削除" eyeCatchingImageRemove: "アイキャッチ画像を削除"
chooseBlock: "ブロックを追加" chooseBlock: "ブロックを追加"
enterSectionTitle: "セクションタイトルを入れる"
selectType: "種類を選択" selectType: "種類を選択"
contentBlocks: "コンテンツ" contentBlocks: "コンテンツ"
inputBlocks: "入力" inputBlocks: "入力"
@ -2439,17 +2361,13 @@ _notification:
renotedBySomeUsers: "{n}人がリノートしたで" renotedBySomeUsers: "{n}人がリノートしたで"
followedBySomeUsers: "{n}人にフォローされたで" followedBySomeUsers: "{n}人にフォローされたで"
flushNotification: "通知の履歴をリセットする" flushNotification: "通知の履歴をリセットする"
exportOfXCompleted: "{x}のエクスポートが終わったわ"
login: "ログインしとったで"
createToken: "アクセストークンが作成されたで"
createTokenDescription: "心当たりないんやったら「{text}」でアクセストークンを削除してやって。"
_types: _types:
all: "すべて" all: "すべて"
note: "あんたらの新規投稿" note: "あんたらの新規投稿"
follow: "フォロー" follow: "フォロー"
mention: "メンション" mention: "メンション"
reply: "リプライ" reply: "リプライ"
renote: "リノート" renote: "Renote"
quote: "引用" quote: "引用"
reaction: "ツッコミ" reaction: "ツッコミ"
pollEnded: "アンケートが終了したで" pollEnded: "アンケートが終了したで"
@ -2457,14 +2375,11 @@ _notification:
followRequestAccepted: "フォローが受理されたで" followRequestAccepted: "フォローが受理されたで"
roleAssigned: "ロールが付与された" roleAssigned: "ロールが付与された"
achievementEarned: "実績の獲得" achievementEarned: "実績の獲得"
exportCompleted: "エクスポート終わった"
login: "ログイン"
test: "通知テスト"
app: "連携アプリからの通知や" app: "連携アプリからの通知や"
_actions: _actions:
followBack: "フォローバック" followBack: "フォローバック"
reply: "返事" reply: "返事"
renote: "リノート" renote: "Renote"
_deck: _deck:
alwaysShowMainColumn: "いつもメインカラムを表示" alwaysShowMainColumn: "いつもメインカラムを表示"
columnAlign: "カラムの寄せ" columnAlign: "カラムの寄せ"
@ -2525,10 +2440,7 @@ _webhookSettings:
abuseReport: "ユーザーから通報があったとき" abuseReport: "ユーザーから通報があったとき"
abuseReportResolved: "ユーザーからの通報を処理したとき" abuseReportResolved: "ユーザーからの通報を処理したとき"
userCreated: "ユーザーが作成されたとき" userCreated: "ユーザーが作成されたとき"
inactiveModeratorsWarning: "モデレーターがしばらくおらんかったとき"
inactiveModeratorsInvitationOnlyChanged: "モデレーターがしばらくおらんかったから、システムが招待制に変えたとき"
deleteConfirm: "ほんまにWebhookをほかしてもええんか" deleteConfirm: "ほんまにWebhookをほかしてもええんか"
testRemarks: "スイッチ右のボタンを押すとダミーデータを使ったテスト用Webhookを送れるで。"
_abuseReport: _abuseReport:
_notificationRecipient: _notificationRecipient:
createRecipient: "通報の通知先を追加" createRecipient: "通報の通知先を追加"
@ -2572,8 +2484,6 @@ _moderationLogTypes:
markSensitiveDriveFile: "ファイルをセンシティブ付与" markSensitiveDriveFile: "ファイルをセンシティブ付与"
unmarkSensitiveDriveFile: "ファイルをセンシティブ解除" unmarkSensitiveDriveFile: "ファイルをセンシティブ解除"
resolveAbuseReport: "苦情を解決" resolveAbuseReport: "苦情を解決"
forwardAbuseReport: "通報を転送"
updateAbuseReportNote: "通報のモデレーションノート更新"
createInvitation: "招待コード作る" createInvitation: "招待コード作る"
createAd: "広告を作んで" createAd: "広告を作んで"
deleteAd: "広告ほかす" deleteAd: "広告ほかす"
@ -2585,14 +2495,6 @@ _moderationLogTypes:
unsetUserBanner: "この子のバナー元に戻す" unsetUserBanner: "この子のバナー元に戻す"
createSystemWebhook: "SystemWebhookを作成" createSystemWebhook: "SystemWebhookを作成"
updateSystemWebhook: "SystemWebhookを更新" updateSystemWebhook: "SystemWebhookを更新"
deleteSystemWebhook: "SystemWebhookを削除"
createAbuseReportNotificationRecipient: "通報の通知先作る"
updateAbuseReportNotificationRecipient: "通報の通知先更新"
deleteAbuseReportNotificationRecipient: "通報の通知先消す"
deleteAccount: "アカウント消す"
deletePage: "ページ消す"
deleteFlash: "Playをほかす"
deleteGalleryPost: "ギャラリーの投稿をほかす"
_fileViewer: _fileViewer:
title: "ファイルの詳しい情報" title: "ファイルの詳しい情報"
type: "ファイルの種類" type: "ファイルの種類"
@ -2606,8 +2508,10 @@ _externalResourceInstaller:
checkVendorBeforeInstall: "配ってるとこが信頼できるか確認した上でインストールしてな。" checkVendorBeforeInstall: "配ってるとこが信頼できるか確認した上でインストールしてな。"
_plugin: _plugin:
title: "このプラグイン、インストールする?" title: "このプラグイン、インストールする?"
metaTitle: "プラグイン情報"
_theme: _theme:
title: "このテーマインストールする?" title: "このテーマインストールする?"
metaTitle: "テーマ情報"
_meta: _meta:
base: "" base: ""
_vendorInfo: _vendorInfo:
@ -2647,6 +2551,9 @@ _dataSaver:
_avatar: _avatar:
title: "アイコンの絵" title: "アイコンの絵"
description: "アイコン画像のアニメが止まるで。普通の画像よりもデータ量がでかいから、もっと通信量を節約できるねん。" description: "アイコン画像のアニメが止まるで。普通の画像よりもデータ量がでかいから、もっと通信量を節約できるねん。"
_urlPreview:
title: "URLプレビューのサムネイル画像"
description: "URLプレビューのサムネイル画像が読み込まへんなるで。"
_code: _code:
title: "コードハイライト" title: "コードハイライト"
description: "MFMとかでコードハイライト記法が使われてるとき、タップするまで読み込まれへんくなるで。コードハイライトではハイライトする言語ごとにその決めてるファイルを読む必要はあんねんな。けどな、それは自動で読み込まれなくなるから、通信量を少なくできることができるねん。" description: "MFMとかでコードハイライト記法が使われてるとき、タップするまで読み込まれへんくなるで。コードハイライトではハイライトする言語ごとにその決めてるファイルを読む必要はあんねんな。けどな、それは自動で読み込まれなくなるから、通信量を少なくできることができるねん。"
@ -2719,142 +2626,3 @@ _mediaControls:
pip: "ピクチャインピクチャ" pip: "ピクチャインピクチャ"
playbackRate: "再生速度" playbackRate: "再生速度"
loop: "ループ再生" loop: "ループ再生"
_contextMenu:
title: "コンテキストメニュー"
app: "アプリ"
appWithShift: "Shiftキーでアプリ"
native: "ブラウザのUI"
_gridComponent:
_error:
requiredValue: "この値は必須項目やで"
columnTypeNotSupport: "正規表現によるバリデーションはtype:textのカラムだけサポートしてるで"
patternNotMatch: "この値は{pattern}のパターンに一致しいひんで"
notUnique: "この値は一意でなあかんで"
_roleSelectDialog:
notSelected: "選択されとらんで"
_customEmojisManager:
_gridCommon:
copySelectionRows: "選択行をコピーするで"
copySelectionRanges: "選択範囲をコピーするで"
deleteSelectionRows: "選択行を削除するで"
deleteSelectionRanges: "選択範囲の値をクリアするで"
searchSettings: "検索設定"
searchSettingCaption: "検索条件を詳しく設定するで。"
searchLimit: "表示件数"
sortOrder: "並び順"
registrationLogs: "登録ログ"
registrationLogsCaption: "絵文字更新・削除時のログが表示されるで。更新・削除操作をしたり、ページを遷移・リロードしたら消えるから気ぃつけてな。"
alertEmojisRegisterFailedDescription: "絵文字の更新・削除に失敗したで。詳細は登録ログを確認してな。"
_logs:
showSuccessLogSwitch: "成功ログを表示するで"
failureLogNothing: "失敗ログはあらへん。"
logNothing: "失敗ログはあらへん。"
_remote:
selectionRowDetail: "選択行の詳細やで"
importSelectionRows: "選択行をインポートするで"
importSelectionRangesRows: "選択範囲の行をインポートするで"
importEmojisButton: "チェックされた絵文字をインポートするで"
confirmImportEmojisTitle: "絵文字のインポートするで"
confirmImportEmojisDescription: "リモートから受信した{count}個の絵文字をインポートするで。絵文字のライセンスには十分気ぃつけてな。実行してもええか?"
_local:
tabTitleList: "登録済み絵文字一覧"
tabTitleRegister: "絵文字の登録"
_list:
emojisNothing: "登録された絵文字はないで。"
markAsDeleteTargetRows: "選択行を削除対象にするで"
markAsDeleteTargetRanges: "選択範囲の行を削除対象にするで"
alertUpdateEmojisNothingDescription: "変更された絵文字はないで。"
alertDeleteEmojisNothingDescription: "削除対象の絵文字はないで。"
confirmMovePage: "ページを移動してもええんか?"
confirmChangeView: "表示を変更してもええんか?"
confirmUpdateEmojisDescription: "{count}個の絵文字を更新するで。実行してもええか?"
confirmDeleteEmojisDescription: "チェックがつけられた{count}個の絵文字を削除するで。ほんまにええか?"
confirmResetDescription: "今までやった変更が全部リセットされるで。"
confirmMovePageDesciption: "このページの絵文字に変更が加えられてるで。\n保存せずページを移動してまうと、このページで加えた変更が全てパーになるで。"
dialogSelectRoleTitle: "絵文字に設定されたロールで検索"
_register:
uploadSettingTitle: "アップロード設定"
uploadSettingDescription: "この画面で絵文字アップロードするときの動きを設定できるで。"
directoryToCategoryLabel: "ディレクトリ名を\"category\"に入力する"
directoryToCategoryCaption: "ディレクトリをドラッグ・ドロップした時に、ディレクトリ名を\"category\"に入力します。"
confirmRegisterEmojisDescription: "リストに表示されてる絵文字を新たなカスタム絵文字として登録するで。ほんまにええか? (サーバーがしんどくなるから、一回で登録できる絵文字は{count}件までやで)"
confirmClearEmojisDescription: "編集内容をほかして、リストに表示されている絵文字をクリアするで。ほんまにええか?"
confirmUploadEmojisDescription: "ドラッグ&ドロップされた{count}個のファイルをドライブにアップロードするで。ほんまにええか?"
_embedCodeGen:
title: "埋め込みコードをカスタム"
header: "ヘッダー出す"
autoload: "勝手に続きを読み込む(非推奨)"
maxHeight: "高さの最大値"
maxHeightDescription: "0は最大値を指定せえへんけど、ウィジェットが伸び続けるから絶対1以上にしといてや。"
maxHeightWarn: "高さの最大値が無効になっとるで。意図してへん変更なら、普通の値に戻してや。"
previewIsNotActual: "プレビュー画面で出せる範囲をはみ出したから、ホンマの表示とはちゃうとおもうで。"
rounded: "角丸める"
border: "外枠に枠線つける"
applyToPreview: "プレビューに反映"
generateCode: "埋め込みコード作る"
codeGenerated: "コード作ったで"
codeGeneratedDescription: "作ったコードはウェブサイトに貼っつけて使ってや。"
_selfXssPrevention:
warning: "警告"
title: "「この画面になんか貼り付けろ」は全部詐欺やで。"
description1: "ここになんかはつっつけると、悪いユーザーにアカウント乗っ取られたり、個人情報盗まれたりするかもやで"
description2: "はっつけようとしてるものがなんなんかわからんのやったら、%c今すぐ作業やめてウィンドウを閉じて。"
description3: "詳しくはこれを見て。{link}"
_followRequest:
recieved: "もらった申請"
sent: "送った申請"
_remoteLookupErrors:
_federationNotAllowed:
title: "このサーバーと通信できん"
description: "このサーバーとの通信は無効化されてるか、このサーバーをブロックしてるんか、ブロックされてるかもしれん。\nサーバー管理者に問い合わせてや。"
_uriInvalid:
title: "URIがおかしいで"
description: "入力されたURIに問題があるで。URIに使えん文字を入れてないから確かめて。"
_requestFailed:
title: "リクエスト失敗してもうたで"
description: "このサーバーとの通信に失敗してもうたわ。相手サーバーがダウンしてるかもしれん。あと、おかしいURIとか、ありえんURIを入れてないか確かめて。"
_responseInvalid:
title: "レスポンスがおかしいで"
description: "このサーバーと通信することはできたけど、もらったデータがおかしかったで。"
_noSuchObject:
title: "見つからへんね"
description: "求められたリソースが見つからんかったで。URIをもっかい確かめてや。"
_captcha:
verify: "CAPTCHAしばいたって"
testSiteKeyMessage: "サイトキーとシークレットキーにテスト用の値を入力することでプレビューを確認できるで。\n詳細は下記ページを確認してな。"
_error:
_requestFailed:
title: "CAPTCHAのリクエストに失敗してもうた"
text: "しばらく後で実行するか、設定をもっかい確認してや。"
_verificationFailed:
title: "CAPTCHAのリクエストに失敗してもうた"
text: "設定がほんまに合ってるかもっかい確認してや。"
_unknown:
title: "CAPTCHAエラー"
text: "思いもせんかったエラーが起きたわ。"
_bootErrors:
title: "読み込みに失敗したで"
serverError: "少し待ってからリロードしてもまだ問題が解決されんのやったら、以下のError IDを添えてサーバー管理者に連絡して。"
solution: "以下のことやったら解決するかもやで。"
solution1: "ブラウザとかOSを最新バージョンに更新する"
solution2: "アドブロッカーを無効にする"
solution3: "ブラウザのキャッシュをクリアする"
solution4: "(Tor Browser) dom.webaudio.enabledをtrueに設定する"
otherOption: "ほかのオプション"
otherOption1: "クライアント設定とキャッシュをほかす"
otherOption2: "簡易クライアントを起動"
otherOption3: "修復ツールを起動"
_search:
searchScopeAll: "みんな"
searchScopeLocal: "ローカル"
searchScopeUser: "ユーザー指定"
_watermarkEditor:
driveFileTypeWarn: "このファイルは対応しとらへん"
opacity: "不透明度"
scale: "大きさ"
text: "テキスト"
position: "位置"
type: "タイプ"
image: "画像"
advanced: "高度"
angle: "角度"

View file

@ -77,8 +77,6 @@ _profile:
username: "ಬಳಕೆಹೆಸರು" username: "ಬಳಕೆಹೆಸರು"
_notification: _notification:
youWereFollowed: "ಹಿಂಬಾಲಿಸಿದರು" youWereFollowed: "ಹಿಂಬಾಲಿಸಿದರು"
_types:
login: "ಪ್ರವೇಶ"
_actions: _actions:
reply: "ಉತ್ತರಿಸು" reply: "ಉತ್ತರಿಸು"
_deck: _deck:

View file

@ -224,6 +224,7 @@ noUsers: "사용자가 어ᇝ십니다"
editProfile: "프로필 적기" editProfile: "프로필 적기"
noteDeleteConfirm: "요 노트럴 뭉캡니꺼?" noteDeleteConfirm: "요 노트럴 뭉캡니꺼?"
pinLimitExceeded: "더 몬 붙입니다" pinLimitExceeded: "더 몬 붙입니다"
intro: "Misskey럴 다 깔앗십니다! 간리자 게정얼 맨걸어 보입시다."
done: "햇어예" done: "햇어예"
processing: "처리하고 잇어예" processing: "처리하고 잇어예"
preview: "미리보기" preview: "미리보기"
@ -262,6 +263,7 @@ deleteAreYouSure: "{x}(얼)럴 뭉캡니꺼?"
resetAreYouSure: "아시로 데돌립니꺼?" resetAreYouSure: "아시로 데돌립니꺼?"
areYouSure: "갠찮십니꺼?" areYouSure: "갠찮십니꺼?"
saved: "저장햇십니다" saved: "저장햇십니다"
messaging: "대화"
upload: "올리기" upload: "올리기"
keepOriginalUploading: "온본 두기" keepOriginalUploading: "온본 두기"
keepOriginalUploadingDescription: "이미지럴 올릴 때 온본얼 고대로 둡니다. 꺼모 올릴 때 브라우저서 웹 공개 이미지럴 맨겁니다." keepOriginalUploadingDescription: "이미지럴 올릴 때 온본얼 고대로 둡니다. 꺼모 올릴 때 브라우저서 웹 공개 이미지럴 맨겁니다."
@ -274,6 +276,7 @@ uploadFromUrlMayTakeTime: "올리기가 껕날라먼 시간이 쪼매 걸릴 깁
explore: "살펴보기" explore: "살펴보기"
messageRead: "이럿어예" messageRead: "이럿어예"
noMoreHistory: "요카마 옛날 기록이 어ᇝ십니다" noMoreHistory: "요카마 옛날 기록이 어ᇝ십니다"
startMessaging: "대화하기"
nUsersRead: "{n}멩이 이럿십니다" nUsersRead: "{n}멩이 이럿십니다"
agreeTo: "{0}에 동이하기" agreeTo: "{0}에 동이하기"
agree: "동이합니다" agree: "동이합니다"
@ -353,6 +356,7 @@ enableLocalTimeline: "로컬 타임라인 키기"
enableGlobalTimeline: "글로벌 타임라인 키기" enableGlobalTimeline: "글로벌 타임라인 키기"
disablingTimelinesInfo: "요 타임라인얼 꺼도 간리자하고 중재자넌 고대로 설 수 잇십니다." disablingTimelinesInfo: "요 타임라인얼 꺼도 간리자하고 중재자넌 고대로 설 수 잇십니다."
registration: "맨걸기" registration: "맨걸기"
enableRegistration: "누라도 새로 맨걸 수 잇거로 하기"
invite: "초대하기" invite: "초대하기"
driveCapacityPerLocalAccount: "로컬 사용자 하나마중 드라이브 커기" driveCapacityPerLocalAccount: "로컬 사용자 하나마중 드라이브 커기"
driveCapacityPerRemoteAccount: "웬겍 사용자 하나마중 드라이브 커기" driveCapacityPerRemoteAccount: "웬겍 사용자 하나마중 드라이브 커기"
@ -454,6 +458,8 @@ retype: "다시 서기"
noteOf: "{user}님으 노트" noteOf: "{user}님으 노트"
quoteAttached: "따옴" quoteAttached: "따옴"
quoteQuestion: "따와가 작성하겠십니까?" quoteQuestion: "따와가 작성하겠십니까?"
noMessagesYet: "아직 대화가 없십니다"
newMessageExists: "새 메시지가 있십니다"
onlyOneFileCanBeAttached: "메시지엔 파일 하나까제밖에 몬 넣십니다" onlyOneFileCanBeAttached: "메시지엔 파일 하나까제밖에 몬 넣십니다"
invitations: "초대하기" invitations: "초대하기"
invitationCode: "초대장" invitationCode: "초대장"
@ -462,7 +468,7 @@ tooShort: "억수로 짜립니다"
tooLong: "억수로 집니다" tooLong: "억수로 집니다"
passwordMatched: "맞십니다" passwordMatched: "맞십니다"
passwordNotMatched: "안 맞십니다" passwordNotMatched: "안 맞십니다"
signinWith: "{x} 서 로그인" signinWith: "{n}서 로그인"
signinFailed: "로그인 몬 했십니다. 고 이름이랑 비밀번호 제대로 썼는가 확인해 주이소." signinFailed: "로그인 몬 했십니다. 고 이름이랑 비밀번호 제대로 썼는가 확인해 주이소."
or: "아니면" or: "아니면"
language: "언어" language: "언어"
@ -470,6 +476,7 @@ uiLanguage: "UI 표시 언어"
aboutX: "{x}에 대해서" aboutX: "{x}에 대해서"
emojiStyle: "이모지 모양" emojiStyle: "이모지 모양"
native: "기본" native: "기본"
disableDrawer: "드로어 메뉴 쓰지 않기"
showNoteActionsOnlyHover: "마우스 올맀을 때만 노트 액션 버턴 보이기" showNoteActionsOnlyHover: "마우스 올맀을 때만 노트 액션 버턴 보이기"
noHistory: "기록이 없십니다" noHistory: "기록이 없십니다"
signinHistory: "로그인 기록" signinHistory: "로그인 기록"
@ -576,9 +583,6 @@ describeFile: "캡션 옇기"
enterFileDescription: "캡션 서기" enterFileDescription: "캡션 서기"
author: "맨던 사람" author: "맨던 사람"
manage: "간리" manage: "간리"
large: "커게"
medium: "엔갆게"
small: "쪼맪게"
emailServer: "전자우펜 서버" emailServer: "전자우펜 서버"
email: "전자우펜" email: "전자우펜"
emailAddress: "전자우펜 주소" emailAddress: "전자우펜 주소"
@ -595,6 +599,7 @@ reportAbuseOf: "{name}님얼 신고하기"
reporter: "신고한 사람" reporter: "신고한 사람"
reporteeOrigin: "신고덴 사람" reporteeOrigin: "신고덴 사람"
reporterOrigin: "신고한 곳" reporterOrigin: "신고한 곳"
forwardReport: "웬겍 서버에 신고 보내기"
waitingFor: "{x}(얼)럴 지달리고 잇십니다" waitingFor: "{x}(얼)럴 지달리고 잇십니다"
random: "무작이" random: "무작이"
system: "시스템" system: "시스템"
@ -608,14 +613,12 @@ followersCount: "팔로워 수"
noteFavoritesCount: "질겨찾기한 노트 수" noteFavoritesCount: "질겨찾기한 노트 수"
clips: "클립 맨걸기" clips: "클립 맨걸기"
clearCache: "캐시 비우기" clearCache: "캐시 비우기"
nUsers: "{n} 사용자"
typingUsers: "{users} 님이 서고 잇어예" typingUsers: "{users} 님이 서고 잇어예"
unlikeConfirm: "좋네예럴 무룹니꺼?" unlikeConfirm: "좋네예럴 무룹니꺼?"
info: "정보" info: "정보"
selectAccount: "계정 개리기" selectAccount: "계정 개리기"
user: "사용자" user: "사용자"
administration: "간리" administration: "간리"
middle: "엔갆게"
translatedFrom: "{x}서 번옉" translatedFrom: "{x}서 번옉"
on: "킴" on: "킴"
off: "껌" off: "껌"
@ -630,7 +633,6 @@ oneMonth: "한 달"
file: "파일" file: "파일"
typeToConfirm: "게속할라먼 {x}럴 누질라 주이소" typeToConfirm: "게속할라먼 {x}럴 누질라 주이소"
pleaseSelect: "개리 주이소" pleaseSelect: "개리 주이소"
remoteOnly: "웬겍만"
tools: "도구" tools: "도구"
like: "좋네예!" like: "좋네예!"
unlike: "좋네예 무루기" unlike: "좋네예 무루기"
@ -641,21 +643,12 @@ role: "옉할"
noRole: "옉할이 어ᇝ십니다" noRole: "옉할이 어ᇝ십니다"
thisPostMayBeAnnoyingCancel: "아이예" thisPostMayBeAnnoyingCancel: "아이예"
likeOnly: "좋네예마" likeOnly: "좋네예마"
hiddenTags: "수ᇚ훈 해시태그"
myClips: "내 클립" myClips: "내 클립"
preservedUsernames: "예약 사용자 이럼"
specifyUser: "사용자 지정"
icon: "아바타" icon: "아바타"
replies: "답하기" replies: "답하기"
renotes: "리노트" renotes: "리노트"
attach: "옇기" attach: "옇기"
surrender: "아이예" surrender: "아이예"
information: "정보"
_chat:
invitations: "초대하기"
noHistory: "기록이 없십니다"
members: "구성원"
home: "덜머리"
_delivery: _delivery:
stop: "고만 보내예" stop: "고만 보내예"
_type: _type:
@ -716,16 +709,6 @@ _achievements:
description: "0분 0초에 노트를 섰어예" description: "0분 0초에 노트를 섰어예"
_tutorialCompleted: _tutorialCompleted:
description: "길라잡이럴 껕냇십니다" description: "길라잡이럴 껕냇십니다"
_role:
displayOrder: "보기 순서"
_priority:
middle: "엔갆게"
_options:
canHideAds: "강고 수ᇚ후기"
_condition:
isRemote: "웬겍 사용자"
isCat: "갱이 사용자"
isBot: "자동 사용자"
_gallery: _gallery:
my: "내 걸" my: "내 걸"
liked: "좋네예한 걸" liked: "좋네예한 걸"
@ -746,7 +729,6 @@ _theme:
description: "설멩" description: "설멩"
keys: keys:
mention: "멘션" mention: "멘션"
renote: "리노트"
_sfx: _sfx:
note: "새 노트" note: "새 노트"
notification: "알림" notification: "알림"
@ -810,13 +792,10 @@ _notification:
_types: _types:
follow: "팔로잉" follow: "팔로잉"
mention: "멘션" mention: "멘션"
renote: "리노트"
quote: "따오기" quote: "따오기"
reaction: "반엉" reaction: "반엉"
login: "로그인"
_actions: _actions:
reply: "답하기" reply: "답하기"
renote: "리노트"
_deck: _deck:
_columns: _columns:
notifications: "알림" notifications: "알림"
@ -842,11 +821,3 @@ _reversi:
black: "꺼멍" black: "꺼멍"
white: "허영" white: "허영"
total: "합게" total: "합게"
_remoteLookupErrors:
_noSuchObject:
title: "몬 찾앗십니다"
_search:
searchScopeAll: "말캉"
searchScopeUser: "사용자 지정"
_watermarkEditor:
image: "이미지"

File diff suppressed because it is too large Load diff

View file

@ -223,6 +223,7 @@ remove: "ລຶບ"
removed: "ລຶບແລ້ວ" removed: "ລຶບແລ້ວ"
resetAreYouSure: "ຣີ​ເຊັດບໍ?" resetAreYouSure: "ຣີ​ເຊັດບໍ?"
saved: "ບັນທຶກແລ້ວ" saved: "ບັນທຶກແລ້ວ"
messaging: "ແຊັຕ"
upload: "ອັບໂຫຼດ" upload: "ອັບໂຫຼດ"
keepOriginalUploading: "ຮັກສາຮູບພາບຕົ້ນສະບັບ" keepOriginalUploading: "ຮັກສາຮູບພາບຕົ້ນສະບັບ"
fromDrive: "ຈາກ Drive" fromDrive: "ຈາກ Drive"
@ -232,6 +233,7 @@ uploadFromUrlDescription: "URL ຂອງໄຟລ໌ທີ່ທ່ານຕ້
uploadFromUrlRequested: "ຮ້ອງຂໍການອັບໂຫລດແລ້ວ" uploadFromUrlRequested: "ຮ້ອງຂໍການອັບໂຫລດແລ້ວ"
explore: "ສຳຫຼວດ" explore: "ສຳຫຼວດ"
messageRead: "ອ່ານແລ້ວ" messageRead: "ອ່ານແລ້ວ"
startMessaging: "ເລີ່ມການສົນທະນາໃໝ່"
nUsersRead: "ອ່ານໂດຍ {n}" nUsersRead: "ອ່ານໂດຍ {n}"
agree: "ຍອມຮັບ" agree: "ຍອມຮັບ"
termsOfService: "ເງື່ອນໄຂການບໍລິການ" termsOfService: "ເງື່ອນໄຂການບໍລິການ"
@ -297,6 +299,7 @@ enableLocalTimeline: "ເປີດໃຊ້ທາມລາຍທ້ອງຖິ
enableGlobalTimeline: "ເປີດໃຊ້ທາມລາຍທົ່ວໂລກ" enableGlobalTimeline: "ເປີດໃຊ້ທາມລາຍທົ່ວໂລກ"
disablingTimelinesInfo: "ຜູ້ດູແລລະບບແລະຜູ້ຄວບຄຸມຈະສາມາດເຂົ້າເຖີງໄທມ໌ໄລນ໌ທັ້ງເບີດ ເຖີງວ່າຈະບໍ່ໄດ້ເປີດໃຊ້ງານກໍ່ຕາມ" disablingTimelinesInfo: "ຜູ້ດູແລລະບບແລະຜູ້ຄວບຄຸມຈະສາມາດເຂົ້າເຖີງໄທມ໌ໄລນ໌ທັ້ງເບີດ ເຖີງວ່າຈະບໍ່ໄດ້ເປີດໃຊ້ງານກໍ່ຕາມ"
registration: "ລົງທະບຽນ" registration: "ລົງທະບຽນ"
enableRegistration: "ເປີດໃຊ້ການລົງທະບຽນຜູ້ໃຊ້ໃໝ່"
invite: "ເຊີນ" invite: "ເຊີນ"
driveCapacityPerLocalAccount: "ຄວາມຈຸຂອງ drive ຕໍ່ຜູ້ໃຊ້ທ້ອງຖິ່ນ" driveCapacityPerLocalAccount: "ຄວາມຈຸຂອງ drive ຕໍ່ຜູ້ໃຊ້ທ້ອງຖິ່ນ"
driveCapacityPerRemoteAccount: "ຄວາມຈຸຂອງ drive ຕໍ່ຜູ້ໃຊ້ໄລຍະໄກ" driveCapacityPerRemoteAccount: "ຄວາມຈຸຂອງ drive ຕໍ່ຜູ້ໃຊ້ໄລຍະໄກ"
@ -392,12 +395,6 @@ searchByGoogle: "ຄົ້ນຫາ"
file: "ໄຟລ໌" file: "ໄຟລ໌"
replies: "ຕອບ​ກັບ" replies: "ຕອບ​ກັບ"
renotes: "Renote" renotes: "Renote"
information: "ກ່ຽວກັບ"
_chat:
invitations: "ເຊີນ"
noHistory: "​ບໍ່​ມີປະຫວັດ"
members: "ສະມາຊິກ"
home: "ໜ້າຫຼັກ"
_delivery: _delivery:
stop: "ໂຈະ" stop: "ໂຈະ"
_type: _type:
@ -459,7 +456,6 @@ _notification:
renote: "Renote" renote: "Renote"
quote: "ອ້າງອີງ" quote: "ອ້າງອີງ"
reaction: "Reaction" reaction: "Reaction"
login: "ເຂົ້າ​ສູ່​ລະ​ບົບ"
_actions: _actions:
reply: "ຕອບ​ກັບ" reply: "ຕອບ​ກັບ"
renote: "Renote" renote: "Renote"
@ -478,10 +474,3 @@ _abuseReport:
mail: "ອີເມວ" mail: "ອີເມວ"
_moderationLogTypes: _moderationLogTypes:
suspend: "ລະງັບ" suspend: "ລະງັບ"
_remoteLookupErrors:
_noSuchObject:
title: "ບໍ່ພົບ"
_search:
searchScopeAll: "ທັງໝົດ"
_watermarkEditor:
image: "ຮູບພາບ"

View file

@ -5,13 +5,9 @@ introMisskey: "Welkom! Misskey is een open source, gedecentraliseerde microblogd
poweredByMisskeyDescription: "{name} is één van de services die door het open source platform <b>Misskey</b> wordt geleverd (het wordt ook wel een \"Misskey server genmoemd\")." poweredByMisskeyDescription: "{name} is één van de services die door het open source platform <b>Misskey</b> wordt geleverd (het wordt ook wel een \"Misskey server genmoemd\")."
monthAndDay: "{day} {month}" monthAndDay: "{day} {month}"
search: "Zoeken" search: "Zoeken"
reset: "Herstellen"
notifications: "Meldingen" notifications: "Meldingen"
username: "Gebruikersnaam" username: "Gebruikersnaam"
password: "Wachtwoord" password: "Wachtwoord"
initialPasswordForSetup: "Initiële wachtwoord voor configuratie"
initialPasswordIsIncorrect: "Initiële wachtwoord voor configuratie is onjuist"
initialPasswordForSetupDescription: "Gebruik het initiële wachtwoord uit de configuratie, als je Misskey zelf hebt geïnstalleerd.\nAls je een Misskey hosting provider gebruikt, gebruik dan het gegeven wachtwoord.\nAls je geen wachtwoord hebt gezet, laat het dan leeg om verder te gaan."
forgotPassword: "Wachtwoord vergeten" forgotPassword: "Wachtwoord vergeten"
fetchingAsApObject: "Ophalen vanuit de Fediverse" fetchingAsApObject: "Ophalen vanuit de Fediverse"
ok: "Ok" ok: "Ok"
@ -49,7 +45,6 @@ pin: "Vastmaken aan profielpagina"
unpin: "Losmaken van profielpagina" unpin: "Losmaken van profielpagina"
copyContent: "Kopiëren inhoud" copyContent: "Kopiëren inhoud"
copyLink: "Kopiëren link" copyLink: "Kopiëren link"
copyRemoteLink: "Remote-link kopiëren"
copyLinkRenote: "" copyLinkRenote: ""
delete: "Verwijderen" delete: "Verwijderen"
deleteAndEdit: "Verwijderen en bewerken" deleteAndEdit: "Verwijderen en bewerken"
@ -65,7 +60,6 @@ copyFileId: "Kopieer veld ID"
copyFolderId: "Kopieer folder ID" copyFolderId: "Kopieer folder ID"
copyProfileUrl: "Kopieer profiel URL" copyProfileUrl: "Kopieer profiel URL"
searchUser: "Zoeken een gebruiker" searchUser: "Zoeken een gebruiker"
searchThisUsersNotes: "Notities van deze gebruiker doorzoeken"
reply: "Antwoord" reply: "Antwoord"
loadMore: "Laad meer" loadMore: "Laad meer"
showMore: "Toon meer" showMore: "Toon meer"
@ -114,14 +108,9 @@ enterEmoji: "Voer een emoji in"
renote: "Herdelen" renote: "Herdelen"
unrenote: "Stop herdelen" unrenote: "Stop herdelen"
renoted: "Herdeeld" renoted: "Herdeeld"
renotedToX: "Renoted naar {name}"
cantRenote: "Dit bericht kan niet worden herdeeld" cantRenote: "Dit bericht kan niet worden herdeeld"
cantReRenote: "Een herdeling kan niet worden herdeeld" cantReRenote: "Een herdeling kan niet worden herdeeld"
quote: "Quote" quote: "Quote"
inChannelRenote: "Alleen-kanaal Renote"
inChannelQuote: "Alleen-kanaal Citaat"
renoteToChannel: "Renote naar kanaal"
renoteToOtherChannel: "Renote naar ander kanaal"
pinnedNote: "Vastgemaakte notitie" pinnedNote: "Vastgemaakte notitie"
pinned: "Vastmaken aan profielpagina" pinned: "Vastmaken aan profielpagina"
you: "Jij" you: "Jij"
@ -130,23 +119,14 @@ sensitive: "NSFW"
add: "Toevoegen" add: "Toevoegen"
reaction: "Reacties" reaction: "Reacties"
reactions: "Reacties" reactions: "Reacties"
emojiPicker: "Emoji kiezer"
pinnedEmojisForReactionSettingDescription: "Kies de emojis die als eerste getoond worden tijdens het reageren"
pinnedEmojisSettingDescription: "Kies de emojis die als eerste getoond worden tijdens het reageren"
emojiPickerDisplay: "Emoji kiezer weergave"
overwriteFromPinnedEmojisForReaction: "Overschrijven met reactieinstellingen"
overwriteFromPinnedEmojis: "Overschrijven met algemene instellingen"
reactionSettingDescription2: "Sleep om opnieuw te ordenen, Klik om te verwijderen, Druk op \"+\" om toe te voegen" reactionSettingDescription2: "Sleep om opnieuw te ordenen, Klik om te verwijderen, Druk op \"+\" om toe te voegen"
rememberNoteVisibility: "Vergeet niet de notitie zichtbaarheidsinstellingen" rememberNoteVisibility: "Vergeet niet de notitie zichtbaarheidsinstellingen"
attachCancel: "Verwijder bijlage" attachCancel: "Verwijder bijlage"
deleteFile: "Bestand verwijderen"
markAsSensitive: "Markeren als NSFW" markAsSensitive: "Markeren als NSFW"
unmarkAsSensitive: "Geen NSFW" unmarkAsSensitive: "Geen NSFW"
enterFileName: "Invoeren bestandsnaam" enterFileName: "Invoeren bestandsnaam"
mute: "Dempen" mute: "Dempen"
unmute: "Stop dempen" unmute: "Stop dempen"
renoteMute: "Renotes dempen"
renoteUnmute: "Dempen Renotes opheffen"
block: "Blokkeren" block: "Blokkeren"
unblock: "Deblokkeren" unblock: "Deblokkeren"
suspend: "Opschorten" suspend: "Opschorten"
@ -156,15 +136,11 @@ unblockConfirm: "Ben je zeker dat je deze account wil blokkeren?"
suspendConfirm: "Ben je zeker dat je deze account wil suspenderen?" suspendConfirm: "Ben je zeker dat je deze account wil suspenderen?"
unsuspendConfirm: "Ben je zeker dat je deze account wil opnieuw aanstellen?" unsuspendConfirm: "Ben je zeker dat je deze account wil opnieuw aanstellen?"
selectList: "Kies een lijst." selectList: "Kies een lijst."
editList: "Lijst bewerken"
selectChannel: "Kanaal selecteren"
selectAntenna: "Kies een antenne" selectAntenna: "Kies een antenne"
editAntenna: "Antenne bewerken"
createAntenna: "Antenne aanmaken"
selectWidget: "Kies een widget" selectWidget: "Kies een widget"
editWidgets: "Bewerk widgets" editWidgets: "Bewerk widgets"
editWidgetsExit: "Klaar" editWidgetsExit: "Klaar"
customEmojis: "Eigen emoji" customEmojis: "Maatwerk emoji"
emoji: "Emoji" emoji: "Emoji"
emojis: "Emoji" emojis: "Emoji"
emojiName: "Naam emoji" emojiName: "Naam emoji"
@ -172,10 +148,6 @@ emojiUrl: "URL emoji"
addEmoji: "Toevoegen emoji" addEmoji: "Toevoegen emoji"
settingGuide: "Aanbevolen instellingen" settingGuide: "Aanbevolen instellingen"
cacheRemoteFiles: "Externe bestanden cachen" cacheRemoteFiles: "Externe bestanden cachen"
cacheRemoteFilesDescription: "Als deze instelling uitgeschakeld is worden bestanden altijd direct van remote servers geladen. Hiermee wordt opslagruimte bespaard, maar doordat er geen thumbnails worden gegenereerd, zal netwerkverkeer toenemen."
youCanCleanRemoteFilesCache: "Klik op de 🗑️ knop in de bestandsbeheerweergave om de cache te wissen."
cacheRemoteSensitiveFiles: "Gevoelige bestanden van externe instances in de cache bewaren"
cacheRemoteSensitiveFilesDescription: "Als deze instelling is uitgeschakeld, worden gevoelige bestanden op afstand direct vanuit de instantie op afstand geladen zonder caching."
flagAsBot: "Markeer dit account als een robot." flagAsBot: "Markeer dit account als een robot."
flagAsBotDescription: "Als dit account van een programma wordt beheerd, zet deze vlag aan. Het aanzetten helpt andere ontwikkelaars om bijvoorbeeld onbedoelde feedback loops te doorbreken of om Misskey meer geschikt te maken." flagAsBotDescription: "Als dit account van een programma wordt beheerd, zet deze vlag aan. Het aanzetten helpt andere ontwikkelaars om bijvoorbeeld onbedoelde feedback loops te doorbreken of om Misskey meer geschikt te maken."
flagAsCat: "Markeer dit account als een kat." flagAsCat: "Markeer dit account als een kat."
@ -184,13 +156,8 @@ flagShowTimelineReplies: "Toon antwoorden op de tijdlijn."
flagShowTimelineRepliesDescription: "Als je dit vlag aanzet, toont de tijdlijn ook antwoorden op andere en niet alleen jouw eigen notities." flagShowTimelineRepliesDescription: "Als je dit vlag aanzet, toont de tijdlijn ook antwoorden op andere en niet alleen jouw eigen notities."
autoAcceptFollowed: "Accepteer verzoeken om jezelf te volgen vanzelf als je de verzoeker al volgt." autoAcceptFollowed: "Accepteer verzoeken om jezelf te volgen vanzelf als je de verzoeker al volgt."
addAccount: "Account toevoegen" addAccount: "Account toevoegen"
reloadAccountsList: "Accountlijst opnieuw laden"
loginFailed: "Aanmelding mislukt." loginFailed: "Aanmelding mislukt."
showOnRemote: "Toon op de externe instantie." showOnRemote: "Toon op de externe instantie."
continueOnRemote: "Verder op remote server"
chooseServerOnMisskeyHub: "Kies een server van de Misskey Hub"
specifyServerHost: "Serverhost uitkiezen"
inputHostName: "Domein invullen"
general: "Algemeen" general: "Algemeen"
wallpaper: "Achtergrond" wallpaper: "Achtergrond"
setWallpaper: "Achtergrond instellen" setWallpaper: "Achtergrond instellen"
@ -201,7 +168,6 @@ followConfirm: "Weet je zeker dat je {name} wilt volgen?"
proxyAccount: "Proxy account" proxyAccount: "Proxy account"
proxyAccountDescription: "Een proxy-account is een account dat onder bepaalde voorwaarden fungeert als externe volger voor gebruikers. Als een gebruiker bijvoorbeeld een externe gebruiker aan de lijst toevoegt, wordt de activiteit van de externe gebruiker niet aan de server geleverd als geen lokale gebruiker die gebruiker volgt, dus het proxy-account volgt in plaats daarvan." proxyAccountDescription: "Een proxy-account is een account dat onder bepaalde voorwaarden fungeert als externe volger voor gebruikers. Als een gebruiker bijvoorbeeld een externe gebruiker aan de lijst toevoegt, wordt de activiteit van de externe gebruiker niet aan de server geleverd als geen lokale gebruiker die gebruiker volgt, dus het proxy-account volgt in plaats daarvan."
host: "Server" host: "Server"
selectSelf: "Mezelf kiezen"
selectUser: "Kies een gebruiker" selectUser: "Kies een gebruiker"
recipient: "Ontvanger" recipient: "Ontvanger"
annotation: "Reacties" annotation: "Reacties"
@ -216,8 +182,6 @@ perHour: "Per uur"
perDay: "Per dag" perDay: "Per dag"
stopActivityDelivery: "Stop met versturen activiteiten" stopActivityDelivery: "Stop met versturen activiteiten"
blockThisInstance: "Blokkeer deze server" blockThisInstance: "Blokkeer deze server"
silenceThisInstance: "Instantie dempen"
mediaSilenceThisInstance: "Media van deze server dempen"
operations: "Verwerkingen" operations: "Verwerkingen"
software: "Software" software: "Software"
version: "Versie" version: "Versie"
@ -237,12 +201,6 @@ clearCachedFiles: "Cache opschonen"
clearCachedFilesConfirm: "Weet je zeker dat je alle externe bestanden in de cache wilt verwijderen?" clearCachedFilesConfirm: "Weet je zeker dat je alle externe bestanden in de cache wilt verwijderen?"
blockedInstances: "Geblokkeerde servers" blockedInstances: "Geblokkeerde servers"
blockedInstancesDescription: "Maak een lijst van de servers die moeten worden geblokkeerd, gescheiden door regeleinden. Geblokkeerde servers kunnen niet meer communiceren met deze server." blockedInstancesDescription: "Maak een lijst van de servers die moeten worden geblokkeerd, gescheiden door regeleinden. Geblokkeerde servers kunnen niet meer communiceren met deze server."
silencedInstances: "Gedempte instanties"
silencedInstancesDescription: "Geef de hostnamen van de servers die je wil dempen op, elk op hun eigen regel. Alle accounts die bij de opgegeven servers horen worden als gedempt behandeld, kunnen alleen maar volgverzoeken maken, en kunnen lokale accounts niet vermelden als ze niet gevolgd worden. Geblokkeerde servers worden hier niet door beïnvloed."
mediaSilencedInstances: "Media-gedempte servers"
mediaSilencedInstancesDescription: "Geef de hostnamen van de servers die je wil media-dempen op, elk op hun eigen regel. Alle accounts die bij de opgegeven servers horen worden als gedempt behandeld, en kunnen geen eigen emojis gebruiken. Geblokkeerde servers worden hier niet door beïnvloed."
federationAllowedHosts: "Servers die mogen federeren "
federationAllowedHostsDescription: "Geef de hostnamen van de servers die mogen federeren op, elk op hun eigen regel."
muteAndBlock: "Gedempt en geblokkeerd" muteAndBlock: "Gedempt en geblokkeerd"
mutedUsers: "Gedempte gebruikers" mutedUsers: "Gedempte gebruikers"
blockedUsers: "Geblokkeerde gebruikers" blockedUsers: "Geblokkeerde gebruikers"
@ -250,6 +208,7 @@ noUsers: "Er zijn geen gebruikers."
editProfile: "Bewerk Profiel" editProfile: "Bewerk Profiel"
noteDeleteConfirm: "Ben je zeker dat je dit bericht wil verwijderen?" noteDeleteConfirm: "Ben je zeker dat je dit bericht wil verwijderen?"
pinLimitExceeded: "Je kunt geen berichten meer vastprikken" pinLimitExceeded: "Je kunt geen berichten meer vastprikken"
intro: "Installatie van Misskey geëindigd! Maak nu een beheerder aan."
done: "Klaar" done: "Klaar"
processing: "Bezig met verwerken" processing: "Bezig met verwerken"
preview: "Voorbeeld" preview: "Voorbeeld"
@ -286,8 +245,8 @@ removed: "Succesvol verwijderd"
removeAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?" removeAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?"
deleteAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?" deleteAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?"
resetAreYouSure: "Resetten?" resetAreYouSure: "Resetten?"
areYouSure: "Weet je het zeker?"
saved: "Opgeslagen" saved: "Opgeslagen"
messaging: "Chat"
upload: "Uploaden" upload: "Uploaden"
keepOriginalUploading: "Origineel beeld behouden." keepOriginalUploading: "Origineel beeld behouden."
keepOriginalUploadingDescription: "Bewaar de originele versie bij het uploaden van afbeeldingen. Indien uitgeschakeld, wordt bij het uploaden een alternatieve versie voor webpublicatie genereert." keepOriginalUploadingDescription: "Bewaar de originele versie bij het uploaden van afbeeldingen. Indien uitgeschakeld, wordt bij het uploaden een alternatieve versie voor webpublicatie genereert."
@ -300,13 +259,9 @@ uploadFromUrlMayTakeTime: "Het kan even duren voordat het uploaden voltooid is."
explore: "Verkennen" explore: "Verkennen"
messageRead: "Lezen" messageRead: "Lezen"
noMoreHistory: "Er is geen verdere geschiedenis" noMoreHistory: "Er is geen verdere geschiedenis"
startChat: "Chat starten" startMessaging: "Start een gesprek"
nUsersRead: "gelezen door {n}" nUsersRead: "gelezen door {n}"
agreeTo: "Ik stem in met {0}" agreeTo: "Ik stem in met {0}"
agree: "Akkoord"
agreeBelow: "Ik ga akkoord met de volgende"
basicNotesBeforeCreateAccount: "Belangrijke informatie"
termsOfService: "Gebruiksvoorwaarden"
start: "Aan de slag" start: "Aan de slag"
home: "Startpagina" home: "Startpagina"
remoteUserCaution: "Aangezien deze gebruiker van een externe server afkomstig is, kan de weergegeven informatie onvolledig zijn." remoteUserCaution: "Aangezien deze gebruiker van een externe server afkomstig is, kan de weergegeven informatie onvolledig zijn."
@ -331,15 +286,12 @@ selectFile: "Kies een bestand"
selectFiles: "Selecteer bestanden" selectFiles: "Selecteer bestanden"
selectFolder: "Kies een map" selectFolder: "Kies een map"
selectFolders: "Kies mappen" selectFolders: "Kies mappen"
fileNotSelected: "Geen bestand geselecteerd"
renameFile: "Wijzig bestandsnaam" renameFile: "Wijzig bestandsnaam"
folderName: "Mapnaam" folderName: "Mapnaam"
createFolder: "Map aanmaken" createFolder: "Map aanmaken"
renameFolder: "Map hernoemen" renameFolder: "Map hernoemen"
deleteFolder: "Map verwijderen" deleteFolder: "Map verwijderen"
folder: "Map"
addFile: "Bestand toevoegen" addFile: "Bestand toevoegen"
showFile: "Bestanden weergeven"
emptyDrive: "Jouw Drive is leeg." emptyDrive: "Jouw Drive is leeg."
emptyFolder: "Deze map is leeg" emptyFolder: "Deze map is leeg"
unableToDelete: "Kan niet worden verwijderd" unableToDelete: "Kan niet worden verwijderd"
@ -352,7 +304,6 @@ copyUrl: "URL kopiëren"
rename: "Hernoemen" rename: "Hernoemen"
avatar: "Avatar" avatar: "Avatar"
banner: "Banner" banner: "Banner"
displayOfSensitiveMedia: "Weergave van gevoelige media"
whenServerDisconnected: "Wanneer de verbinding met de server wordt onderbroken" whenServerDisconnected: "Wanneer de verbinding met de server wordt onderbroken"
disconnectedFromServer: "Verbinding met de server onderbroken." disconnectedFromServer: "Verbinding met de server onderbroken."
reload: "Verversen" reload: "Verversen"
@ -382,6 +333,7 @@ enableLocalTimeline: "Inschakelen lokale tijdlijn"
enableGlobalTimeline: "Inschakelen globale tijdlijn " enableGlobalTimeline: "Inschakelen globale tijdlijn "
disablingTimelinesInfo: "Beheerders en moderators hebben altijd toegang tot alle tijdlijnen, ook als ze niet actief zijn." disablingTimelinesInfo: "Beheerders en moderators hebben altijd toegang tot alle tijdlijnen, ook als ze niet actief zijn."
registration: "Registreren" registration: "Registreren"
enableRegistration: "Inschakelen registratie nieuwe gebruikers "
invite: "Uitnodigen" invite: "Uitnodigen"
driveCapacityPerLocalAccount: "Opslagruimte per lokale gebruiker" driveCapacityPerLocalAccount: "Opslagruimte per lokale gebruiker"
driveCapacityPerRemoteAccount: "Opslagruimte per externe gebruiker" driveCapacityPerRemoteAccount: "Opslagruimte per externe gebruiker"
@ -390,20 +342,14 @@ bannerUrl: "Banner URL"
backgroundImageUrl: "URL afbeelding" backgroundImageUrl: "URL afbeelding"
basicInfo: "Basisinformatie" basicInfo: "Basisinformatie"
pinnedUsers: "Vastgeprikte gebruikers" pinnedUsers: "Vastgeprikte gebruikers"
pinnedUsersDescription: "Een lijst met gebruikersnamen, gescheiden door regeleinden, die moet worden vastgemaakt in het tabblad “Verkennen”"
pinnedPages: "Vastgeprikte pagina's" pinnedPages: "Vastgeprikte pagina's"
pinnedPagesDescription: "Voer de paden in van de Pagina's die je aan de bovenste pagina van deze instantie wilt vastmaken, gescheiden door regeleinden."
pinnedClipId: "ID van de clip die moet worden vastgepind"
pinnedNotes: "Vastgemaakte notitie" pinnedNotes: "Vastgemaakte notitie"
hcaptcha: "hCaptcha" hcaptcha: "hCaptcha"
enableHcaptcha: "Inschakelen hCaptcha" enableHcaptcha: "Inschakelen hCaptcha"
hcaptchaSiteKey: "Site sleutel" hcaptchaSiteKey: "Site sleutel"
hcaptchaSecretKey: "Geheime sleutel" hcaptchaSecretKey: "Geheime sleutel"
mcaptcha: "mCaptcha"
enableMcaptcha: "mCaptcha activeren"
mcaptchaSiteKey: "Site sleutel" mcaptchaSiteKey: "Site sleutel"
mcaptchaSecretKey: "Geheime sleutel" mcaptchaSecretKey: "Geheime sleutel"
mcaptchaInstanceUrl: "mCaptcha server-URL"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Inschakelen reCAPTCHA" enableRecaptcha: "Inschakelen reCAPTCHA"
recaptchaSiteKey: "Site sleutel" recaptchaSiteKey: "Site sleutel"
@ -412,21 +358,12 @@ turnstile: "Tourniquet"
enableTurnstile: "Inschakelen tourniquet" enableTurnstile: "Inschakelen tourniquet"
turnstileSiteKey: "Site sleutel" turnstileSiteKey: "Site sleutel"
turnstileSecretKey: "Geheime sleutel" turnstileSecretKey: "Geheime sleutel"
avoidMultiCaptchaConfirm: "Het gebruik van meerdere Captcha-systemen kan interferentie tussen deze systemen veroorzaken. Wil je de andere Captcha-systemen die momenteel actief zijn uitschakelen? Als je wilt dat ze ingeschakeld blijven, druk dan op annuleren."
antennas: "Antennes" antennas: "Antennes"
manageAntennas: "Antennes beheren" manageAntennas: "Antennes beheren"
name: "Naam" name: "Naam"
antennaSource: "Bron antenne" antennaSource: "Bron antenne"
antennaKeywords: "Sleutelwoorden" antennaKeywords: "Sleutelwoorden"
antennaExcludeKeywords: "Blokkeerwoorden" antennaExcludeKeywords: "Blokkeerwoorden"
antennaExcludeBots: "Bot-accounts uitsluiten"
antennaKeywordsDescription: "Scheid met spaties voor een EN-voorwaarde of met regeleinden voor een OF-voorwaarde."
notifyAntenna: "Houd een notificatie bij nieuwe notities"
withFileAntenna: "Alleen notities met bestanden"
excludeNotesInSensitiveChannel: "Sluit notities uit van gevoelige kanalen"
enableServiceworker: "Activeer pushmeldingen in de browser"
antennaUsersDescription: "Lijst één gebruikersnaam per regel"
caseSensitive: "Hoofdlettergevoelig"
withReplies: "Antwoorden toevoegen" withReplies: "Antwoorden toevoegen"
connectedTo: "De volgende accounts zijn verbonden" connectedTo: "De volgende accounts zijn verbonden"
notesAndReplies: "Berichten en reacties" notesAndReplies: "Berichten en reacties"
@ -447,30 +384,18 @@ about: "Over"
aboutMisskey: "Over Misskey" aboutMisskey: "Over Misskey"
administrator: "Beheerder" administrator: "Beheerder"
token: "Token" token: "Token"
2fa: "Twee factor authenticatie"
setupOf2fa: "Tweefactorauthenticatie instellen"
totp: "Verificatie-App"
totpDescription: "Log in via de verificatie-app met het eenmalige wachtwoord"
moderator: "Moderator" moderator: "Moderator"
moderation: "Moderatie" moderation: "Moderatie"
moderationNote: "Moderatienotitie"
moderationNoteDescription: "Voer hier notities in. Deze zijn alleen zichtbaar voor de moderators."
addModerationNote: "Moderatienotitie toevoegen"
moderationLogs: "Moderatieprotocollen"
nUsersMentioned: "Vermeld door {n} gebruikers" nUsersMentioned: "Vermeld door {n} gebruikers"
securityKeyAndPasskey: "Beveiligings- en pasjessleutels"
securityKey: "Beveiligingssleutel" securityKey: "Beveiligingssleutel"
lastUsed: "Laatst gebruikt" lastUsed: "Laatst gebruikt"
lastUsedAt: "Laatst gebruikt: {t}"
unregister: "Uitschrijven" unregister: "Uitschrijven"
passwordLessLogin: "Inloggen zonder wachtwoord" passwordLessLogin: "Inloggen zonder wachtwoord"
passwordLessLoginDescription: "Maakt aanmelden zonder wachtwoord mogelijk met een beveiligingstoken of -wachtsleutel"
resetPassword: "Wachtwoord terugzetten" resetPassword: "Wachtwoord terugzetten"
newPasswordIs: "Het nieuwe wachtwoord is „{password}”." newPasswordIs: "Het nieuwe wachtwoord is „{password}”."
reduceUiAnimation: "Verminder beweging in de UI" reduceUiAnimation: "Verminder beweging in de UI"
share: "Delen" share: "Delen"
notFound: "Niet gevonden" notFound: "Niet gevonden"
notFoundDescription: "Er is geen pagina gevonden onder deze URL."
uploadFolder: "Standaardmap voor uploaden" uploadFolder: "Standaardmap voor uploaden"
markAsReadAllNotifications: "Markeer alle meldingen als gelezen" markAsReadAllNotifications: "Markeer alle meldingen als gelezen"
markAsReadAllUnreadNotes: "Markeer alle berichten als gelezen" markAsReadAllUnreadNotes: "Markeer alle berichten als gelezen"
@ -479,466 +404,21 @@ help: "Help"
inputMessageHere: "Voer hier je bericht in" inputMessageHere: "Voer hier je bericht in"
close: "Sluiten" close: "Sluiten"
invites: "Uitnodigen" invites: "Uitnodigen"
members: "Leden"
transfer: "Overdracht"
title: "Titel"
text: "Tekst"
enable: "Inschakelen"
next: "Volgende"
retype: "Opnieuw invoeren"
noteOf: "Notitie van {user}"
quoteAttached: "Citaat"
quoteQuestion: "Toevoegen als citaat?"
attachAsFileQuestion: "De tekst op het klembord is te lang. Wilt u het als een tekstbestand bijvoegen?"
onlyOneFileCanBeAttached: "Per bericht kan slechts één bestand worden bijgevoegd"
signinRequired: "Gelieve te registreren of in te loggen om verder te gaan"
signinOrContinueOnRemote: "Ga naar je eigen instantie of registreer je/log in op deze server om door te gaan."
invitations: "Uitnodigen" invitations: "Uitnodigen"
invitationCode: "Uitnodigingscode"
checking: "Wordt gecheckt ..."
available: "Beschikbaar"
unavailable: "Onbeschikbaar"
usernameInvalidFormat: "Je kunt kleine letters, hoofdletters, cijfers en onderstrepingstekens gebruiken."
tooShort: "Te kort"
tooLong: "Te lang"
weakPassword: "Zwak wachtwoord"
normalPassword: "Redelijke wachtwoord"
strongPassword: "Sterk wachtwoord"
passwordMatched: "Lucifers"
passwordNotMatched: "Komt niet overeen"
signinWith: "Aanmelden met {x}"
signinFailed: "Inloggen mislukt. Controleer gebruikersnaam en wachtwoord."
or: "Of"
language: "Taal"
uiLanguage: "Taal van gebruikersinterface"
aboutX: "Over {x}"
emojiStyle: "Emoji-stijl"
native: "Inheems"
menuStyle: "Menustijl"
style: "Stijl"
drawer: "Lade"
popup: "Pop-up"
showNoteActionsOnlyHover: "Toon notitiemenu alleen bij muisaanwijzer"
showReactionsCount: "Zie het aantal reacties op notities"
noHistory: "Geen geschiedenis gevonden"
signinHistory: "Inloggeschiedenis"
enableAdvancedMfm: "Uitgebreide MFM activeren"
enableAnimatedMfm: "Geanimeerde MFM activeren"
doing: "In uitvoering..."
category: "Categorie"
tags: "Aliassen"
docSource: "Broncode van dit document"
createAccount: "Gebruikersaccount maken"
existingAccount: "Bestaand gebruikersaccount"
regenerate: "Regenereer"
fontSize: "Lettergrootte"
mediaListWithOneImageAppearance: "Hoogte van medialijsten met slechts één afbeelding"
limitTo: "Beperken tot {x}"
noFollowRequests: "Je hebt geen lopende volgverzoeken"
openImageInNewTab: "Afbeeldingen in nieuw tabblad openen"
dashboard: "Overzicht"
local: "Lokaal"
remote: "Remote"
total: "Totaal"
weekOverWeekChanges: "Wijzigingen sinds vorige week"
dayOverDayChanges: "Dagelijkse wijzigingen"
appearance: "Weergave"
clientSettings: "Clientinstellingen"
accountSettings: "Accountinstellingen"
promotion: "Promotie"
promote: "Promoot"
numberOfDays: "Aantal dagen"
hideThisNote: "Verberg deze notitie"
showFeaturedNotesInTimeline: "Laat featured notities in tijdlijn zien"
objectStorage: "Object Storage"
useObjectStorage: "Object Storage gebruiken"
objectStorageBaseUrl: "Basis-URL"
objectStorageBaseUrlDesc: "De URL die wordt gebruikt als referentie. Als je een CDN of proxy gebruikt, voer dan de URL daarvan in. Gebruik voor S3 https://<bucket>.s3.amazonaws.com. Gebruik voor GCS of vergelijkbaar https://storage.googleapis.com/<bucket>."
objectStorageBucket: "Bucket"
objectStorageBucketDesc: "Geef de bucketnaam op die bij je provider wordt gebruikt."
objectStoragePrefix: "Prefix"
objectStoragePrefixDesc: "Bestanden worden opgeslagen in de mappen onder deze prefix."
objectStorageEndpoint: "Endpoint"
objectStorageEndpointDesc: "Laat dit leeg als je AWS S3 gebruikt, anders geef je het eindpunt op als <host> of <host>:<port>, afhankelijk van de service die je gebruikt."
objectStorageRegion: "Region"
objectStorageRegionDesc: "Voer een regio in zoals “xx-east-1”. Als je provider geen onderscheid maakt tussen regio's, voer dan “us-east-1” in. Laat leeg als je AWS-configuratiebestanden of omgevingsvariabelen gebruikt."
objectStorageUseSSL: "SSL gebruiken"
objectStorageUseSSLDesc: "Deactiveer dit als u geen HTTPS gebruikt voor API-verbindingen"
objectStorageUseProxy: "Verbinden via proxy"
objectStorageUseProxyDesc: "Deactiveer dit als u geen proxy wilt gebruiken voor verbindingen met de API"
objectStorageSetPublicRead: "Instellen op “public-read” op upload"
s3ForcePathStyleDesc: "Als s3ForcePathStyle is geactiveerd, moet de bucketnaam niet worden opgegeven in de hostnaam van de URL, maar in het pad van de URL. Deze optie moet mogelijk worden geactiveerd als services zoals een zelfbediende Minio-instantie worden gebruikt."
serverLogs: "Serverprotocollen"
deleteAll: "Alles verwijderen"
showFixedPostForm: "Het postingformulier bovenaan de tijdbalk weergeven"
showFixedPostFormInChannel: "Het postingformulier bovenaan de tijdbalk weergeven (Kanalen)"
withRepliesByDefaultForNewlyFollowed: "Toon replies van nieuw gevolgde gebruikers standaard in de tijdlijn"
newNoteRecived: "Er zijn nieuwe notities"
sounds: "Geluiden"
sound: "Geluid" sound: "Geluid"
listen: "Luisteren"
none: "Niets"
showInPage: "Weergeven in een pagina"
popout: "Pop-Up"
volume: "Volume"
masterVolume: "Hoofdvolume"
notUseSound: "Geluid uitschakelen"
useSoundOnlyWhenActive: "Geluid alleen inschakelen wanneer Misskey actief is"
details: "Details"
renoteDetails: "Renote Details"
chooseEmoji: "Emoji selecteren"
unableToProcess: "De operatie kan niet worden voltooid."
recentUsed: "Recent gebruikt"
install: "Installeren"
uninstall: "Deinstalleren"
installedApps: "Geautoriseerde toepassingen"
nothing: "Niets te zien hier"
installedDate: "Geautoriseerd at"
lastUsedDate: "Laatst gebruikt at"
state: "Status"
sort: "Sorteren"
ascendingOrder: "Oplopende volgorde"
descendingOrder: "Aflopende volgorde"
scratchpad: "Testomgeving"
scratchpadDescription: "De testomgeving biedt een gebied voor AiScript experimenten. Daar kunt u AiScript schrijven en uitvoeren en de effecten ervan op Misskey controleren."
uiInspector: "UI-inspecteur"
uiInspectorDescription: "De lijst met servers van UI-componenten kan worden bekeken in de cache. De UI-component wordt gegenereerd door de functie Ui:C:"
output: "Uitvoer"
script: "Script"
disablePagesScript: "AiScript uitschakelen op pagina's"
updateRemoteUser: "Gebruikersinformatie bijwerken"
unsetUserAvatar: "Avatar verwijderen"
unsetUserAvatarConfirm: "Weet je zeker dat je je avatar wil verwijderen?"
unsetUserBanner: "Banner verwijderen"
unsetUserBannerConfirm: "Weet je zeker dat je je banner wil verwijderen?"
deleteAllFiles: "Alle bestanden verwijderen"
deleteAllFilesConfirm: "Wil je echt alle bestanden verwijderen?"
removeAllFollowing: "Ontvolg alle gevolgde gebruikers"
removeAllFollowingDescription: "Door dit uit te voeren worden alle accounts van {host} ontvolgd. Voer dit uit als de instantie bijvoorbeeld niet meer bestaat."
userSuspended: "Deze gebruiker is geschorst."
userSilenced: "Deze gebruiker is instantiebreed gedempt."
yourAccountSuspendedTitle: "Deze account is geschorst"
yourAccountSuspendedDescription: "Dit gebruikersaccount is geschorst omdat het de gebruiksvoorwaarden van deze server heeft geschonden. Neem contact op met de operator voor meer informatie. Maak geen nieuwe gebruikersaccount aan."
tokenRevoked: "Ongeldig token"
tokenRevokedDescription: "Het token is verlopen. Log opnieuw in."
accountDeleted: "Het gebruikersaccount is verwijderd"
accountDeletedDescription: "Deze account is verwijderd."
menu: "Menu"
divider: "Scheider"
addItem: "Element toevoegen"
rearrange: "Sorteren"
relays: "Relays"
addRelay: "Relay toevoegen"
inboxUrl: "Inbox-URL"
addedRelays: "Toegevoegd Relays"
serviceworkerInfo: "Moet worden geactiveerd voor pushmeldingen."
deletedNote: "Verwijderde notitie"
invisibleNote: "Privé notitie"
enableInfiniteScroll: "Automatisch meer laden"
visibility: "Zichtbaarheid"
poll: "Peiling"
useCw: "Inhoudswaarschuwing gebruiken"
enablePlayer: "Videospeler openen"
disablePlayer: "Videospeler sluiten"
expandTweet: "Notitie uitklappen"
themeEditor: "Thema-editor"
description: "Beschrijving"
describeFile: "Beschrijving toevoegen"
enterFileDescription: "Beschrijving invoeren"
author: "Auteur"
leaveConfirm: "Er zijn niet-opgeslagen wijzigingen. Wil je ze verwijderen?"
manage: "Beheer"
plugins: "Plugins"
preferencesBackups: "Instellingen Back-ups"
deck: "Dek"
undeck: "Dek verlaten"
useBlurEffectForModal: "Vervagingseffect gebruiken voor modals"
useFullReactionPicker: "Volledige reaktieselectier gebruiken"
width: "Breedte"
height: "Hoogte"
large: "Groot"
medium: "Medium"
small: "Klein"
generateAccessToken: "Toegangstoken genereren"
permission: "Machtigingen"
adminPermission: "Administratorrechten"
enableAll: "Alle activeren"
disableAll: "Alle deactiveren"
tokenRequested: "Toegang verlenen tot het gebruikersaccount"
pluginTokenRequestedDescription: "Deze plugin kan de hier geconfigureerde autorisaties gebruiken."
notificationType: "Type melding"
edit: "Bewerken"
emailServer: "Email-Server"
enableEmail: "Email distributie inschakelen"
emailConfigInfo: "Wordt gebruikt om je email te bevestigen tijdens het aanmelden of als je je wachtwoord bent vergeten"
email: "Email"
emailAddress: "Email adres"
smtpConfig: "SMTP-server configuratie"
smtpHost: "Server" smtpHost: "Server"
smtpPort: "Poort"
smtpUser: "Gebruikersnaam" smtpUser: "Gebruikersnaam"
smtpPass: "Wachtwoord" smtpPass: "Wachtwoord"
emptyToDisableSmtpAuth: "Laat gebruikersnaam en wachtwoord leeg om SMTP-authenticatie uit te schakelen."
smtpSecure: "Impliciet SSL/TLS gebruiken voor SMTP-verbindingen"
smtpSecureInfo: "Schakel dit uit bij gebruik van STARTTLS"
testEmail: "Emailversand testen"
wordMute: "Woord dempen"
wordMuteDescription: "Minimaliseert notities die het gespecificeerde woord of zin bevatten. Geminimaliseerde notities kunnen worden weergegeven door er op te klikken."
hardWordMute: "Harde woorddemping"
showMutedWord: "Gedempte woorden weergeven"
hardWordMuteDescription: "Verbert notities die het gespecificeerde woord of zin bevatten. In tegenstelling tot woorddemping wordt de notitie volledig verborgen."
regexpError: "Fout in reguliere expressie"
regexpErrorDescription: "Er is een fout opgetreden in de reguliere expressie op regel {line} van uw {tab} woord dempen:"
instanceMute: "Instantie dempers"
userSaysSomething: "{name} zei iets"
userSaysSomethingAbout: "{name} zei iets over '{word}'"
makeActive: "Activeren"
display: "Weergave"
copy: "Kopiëren"
copiedToClipboard: "Naar het klembord gekopieerd"
metrics: "Metrieken"
overview: "Overzicht"
logs: "Protocollen"
delayed: "Vertraagd"
database: "Database"
channel: "Kanalen"
create: "Creëer"
notificationSetting: "Instellingen meldingen"
notificationSettingDesc: "Selecteer het type meldingen dat moet worden weergegeven."
useGlobalSetting: "Globale instelling gebruiken"
useGlobalSettingDesc: "Als deze optie is ingeschakeld, worden de meldingsinstellingen van je account gebruikt. Als deze optie uitgeschakeld is, kunnen individuele configuraties worden gemaakt."
other: "Ander"
regenerateLoginToken: "Login token opnieuw genereren"
regenerateLoginTokenDescription: "Regenereren van het token dat intern wordt gebruikt om in te loggen. Dit is normaal gezien niet nodig. Alle apparaten worden afgemeld tijdens het regenereren."
theKeywordWhenSearchingForCustomEmoji: "Dit is het keyword dat gebruikt wordt bij het zoeken naar eigen emojis."
setMultipleBySeparatingWithSpace: "Scheid elementen met een spatie om meerdere instellingen te configureren."
fileIdOrUrl: "Bestands-ID of URL"
behavior: "Gedrag"
sample: "Voorbeeld"
abuseReports: "Meldt"
reportAbuse: "Meld"
reportAbuseRenote: "Meld renote"
reportAbuseOf: "Meld {name}"
fillAbuseReportDescription: "Vul s.v.p. de details in over deze melding. Geef, als het over een specifieke notitie gaat, ook de URL op."
abuseReported: "Uw rapport is verzonden. Hartelijk dank."
reporter: "Verslaggever"
reporteeOrigin: "Oorsprong van de gemelde persoon"
reporterOrigin: "Verslaggever Oorsprong"
send: "Stuur"
openInNewTab: "In nieuw tabblad openen"
openInSideView: "In zijaanzicht openen"
defaultNavigationBehaviour: "Standaard navigatie gedrag"
editTheseSettingsMayBreakAccount: "Het wijzigen van deze instellingen kan je account beschadigen."
instanceTicker: "Instantie-informatie van notities"
waitingFor: "Wachten op {x}"
random: "Willekeurig"
system: "Systeem"
switchUi: "UI omschakelen"
desktop: "Desktop"
clip: "Clip aanmaken"
createNew: "Nieuwe aanmaken"
optional: "Optioneel"
createNewClip: "Nieuwe clip aanmaken"
unclip: "Van clip verwijderen"
confirmToUnclipAlreadyClippedNote: "Deze notitie is al toegevoegd aan de clip “{name}”. Wil je deze uit deze clip verwijderen?"
public: "Openbare"
private: "Privé"
i18nInfo: "Misskey wordt in veel verschillende talen vertaald door vrijwilligers. Je kunt helpen op {link}"
manageAccessTokens: "Toegangstokens beheren"
accountInfo: "Informatie over gebruikersaccount"
notesCount: "Aantal notities"
repliesCount: "Aantal verzonden replies"
renotesCount: "Aantal verzonden renotes"
repliedCount: "Aantal ontvangen replies"
renotedCount: "Aantal ontvangen renotes"
followingCount: "Aantal gevolgde accounts"
followersCount: "Aantal volgers"
sentReactionsCount: "Aantal verzonden reacties"
receivedReactionsCount: "Aantal ontvangen reacties"
pollVotesCount: "Aantal verzonden peiling stemmen"
pollVotedCount: "Aantal ontvangen peiling stemmen"
yes: "Ja"
no: "Nee"
driveFilesCount: "Aantal bestanden in station"
driveUsage: "Schijfruimtegebruik"
noCrawle: "Crawler-indexering verwerpen"
noCrawleDescription: "Vraag zoekmachines om je eigen profielpagina, notities, pagina's, enz. niet te indexeren."
lockedAccountInfo: "Tenzij je de zichtbaarheid van je notities instelt op “Alleen volgers”, zijn je notities zichtbaar voor iedereen, zelfs als je vereist dat volgers handmatig worden goedgekeurd."
alwaysMarkSensitive: "Markeer media standaard als gevoelig"
loadRawImages: "Toon altijd originele afbeeldingen in plaats van miniaturen"
disableShowingAnimatedImages: "Speel geen geanimeerde afbeeldingen af"
highlightSensitiveMedia: "Markeer gevoelige media"
verificationEmailSent: "Er is een bevestigingsmail naar uw e-mailadres verzonden. Ga naar de link in de e-mail om het verificatieproces te voltooien."
notSet: "Niet geconfigureerd"
emailVerified: "Emailadres bevestigd"
noteFavoritesCount: "Aantal notities gemarkeerd als favoriet"
pageLikesCount: "Aantal gelikete pagina's"
pageLikedCount: "Aantal ontvangen pagina-likes"
contact: "Contact"
useSystemFont: "Het standaardlettertype van het systeem gebruiken"
clips: "Clips"
experimentalFeatures: "Experimentele functionaliteiten"
experimental: "Experimentele"
thisIsExperimentalFeature: "Dit is een experimentele functie. De functionaliteit kan worden gewijzigd en werkt mogelijk niet zoals bedoeld."
developer: "Ontwikkelaar"
makeExplorable: "Gebruikersaccount zichtbaar maken in “Verkennen”"
makeExplorableDescription: "Als deze optie is uitgeschakeld, is uw gebruikersaccount niet zichtbaar in het gedeelte “Verkennen”."
duplicate: "Dupliceren"
left: "Links"
center: "Center"
wide: "Breed"
narrow: "Smal"
reloadToApplySetting: "Deze instelling gaat pas in nadat de pagina herladen is. Nu herladen?"
needReloadToApply: "Deze instelling wordt van kracht nadat de pagina is vernieuwd."
showTitlebar: "Titelbalk weergeven"
clearCache: "Cache opschonen" clearCache: "Cache opschonen"
onlineUsersCount: "{n} Gebruikers zijn online"
nUsers: "{n} Gebruikers"
nNotes: "{n} Notities"
sendErrorReports: "Foutrapporten sturen"
sendErrorReportsDescription: "Als u deze optie inschakelt, wordt gedetailleerde foutinformatie met Misskey gedeeld wanneer zich een probleem voordoet. Dit helpt de kwaliteit van Misskey te verbeteren.\nDit omvat informatie zoals de versie van uw OS, welke browser u gebruikt, uw activiteit in Misskey, enz."
myTheme: "Mijn thema"
backgroundColor: "Achtergrondkleur"
accentColor: "Accentkleur"
textColor: "Tekstkleur"
saveAs: "Opslaan als…"
advanced: "Geavanceerd"
advancedSettings: "Geavanceerde instellingen"
value: "Waarde"
createdAt: "Aangemaakt at"
updatedAt: "Laatst gewijzigd at"
saveConfirm: "Wijzigingen opslaan?"
deleteConfirm: "Echt verwijderen?"
invalidValue: "Ongeldige waarde."
registry: "Registry"
closeAccount: "Gebruikersaccount sluiten"
currentVersion: "Huidige versie"
latestVersion: "Nieuwste versie"
youAreRunningUpToDateClient: "Je gebruikt de nieuwste versie van je client."
newVersionOfClientAvailable: "Er is een nieuwere versie van je client beschikbaar."
usageAmount: "Gebruik"
capacity: "Capaciteit"
inUse: "Gebruikt"
editCode: "Code bewerken"
apply: "Toepassen"
receiveAnnouncementFromInstance: "Meldingen ontvangen van deze instantie"
emailNotification: "E-mailmeldingen"
publish: "Publiceren"
inChannelSearch: "In kanaal zoeken"
useReactionPickerForContextMenu: "Open reactieselectie door rechts te klikken"
typingUsers: "{users} is/zijn aan het schrijven..."
jumpToSpecifiedDate: "Naar een specifieke datum springen"
showingPastTimeline: "Momenteel wordt een oude tijdlijn weergeven"
clear: "Terugkeren"
markAllAsRead: "Alles als gelezen markeren"
goBack: "Terug"
unlikeConfirm: "Wil je echt je like verwijderen?"
fullView: "Volledig zicht"
quitFullView: "Volledig zicht verlaten"
addDescription: "Beschrijving toevoegen"
userPagePinTip: "Je kunt hier notities tonen door “Vastmaken aan profiel” te selecteren in het menu van de individuele notities."
notSpecifiedMentionWarning: "Deze notitie bevat verwijzingen naar gebruikers die niet zijn geselecteerd als ontvangers"
info: "Over" info: "Over"
userInfo: "Gebruikersinformatie"
unknown: "Onbekend"
onlineStatus: "Online status"
hideOnlineStatus: "Online status verbergen"
hideOnlineStatusDescription: "Het verbergen van je online status vermindert het nut van functies zoals zoeken."
online: "Online"
active: "Actief"
offline: "Offline"
notRecommended: "Niet aanbevolen"
botProtection: "Beveiliging tegen bots"
instanceBlocking: "Geblokkeerde/gedempte Instanties"
selectAccount: "Gebruikersaccount selecteren"
switchAccount: "Account wisselen"
enabled: "Ingeschakeld"
disabled: "Uitgeschakeld"
quickAction: "Snelle acties"
user: "Gebruikers" user: "Gebruikers"
administration: "Beheer"
accounts: "Gebruikersaccounts"
switch: "Wissel"
noMaintainerInformationWarning: "Operatorinformatie is niet geconfigureerd."
noInquiryUrlWarning: "Contact-URL niet opgegeven"
noBotProtectionWarning: "Bescherming tegen bots is niet geconfigureerd."
configure: "Configureer"
postToGallery: "Nieuw galerijbericht maken"
postToHashtag: "Post naar deze hashtag"
gallery: "Galerij"
recentPosts: "Recente berichten"
popularPosts: "Populair berichten"
shareWithNote: "Delen met notitie"
ads: "Advertenties"
expiration: "Deadline"
startingperiod: "Start"
memo: "Memo"
priority: "Prioriteit"
high: "Hoge"
middle: "Medium"
low: "Lage"
emailNotConfiguredWarning: "E-mailadres niet ingesteld."
ratio: "Verhouding"
previewNoteText: "Show voorproefje"
customCss: "Aangepaste CSS"
customCssWarn: "Gebruik deze instelling alleen als je weet wat het doet. Ongeldige invoer kan ertoe leiden dat de client niet meer normaal functioneert."
global: "Globaal"
squareAvatars: "Toon profielfoto's as vierkant"
sent: "Verzonden"
received: "Ontvangen"
searchResult: "Zoekresultaten"
hashtags: "Hashtags"
troubleshooting: "Probleemoplossing"
useBlurEffect: "Vervagingseffecten in de UI gebruike"
learnMore: "Meer leren"
misskeyUpdated: "Misskey is bijgewerkt!"
whatIsNew: "Wijzigingen tonen"
translate: "Vertalen"
translatedFrom: "Vertaald uit {x}"
accountDeletionInProgress: "De verwijdering van je gebruikersaccount wordt momenteel verwerkt."
usernameInfo: "Een naam die kan worden gebruikt om je gebruikersaccount op deze server te identificeren. Je kunt het alfabet (a~z, A~Z), cijfers (0~9) of underscores (_) gebruiken. Gebruikersnamen kunnen later niet worden gewijzigd."
aiChanMode: "Ai Mode"
devMode: "Ontwikkelaar modus"
keepCw: "Inhoudswaarschuwingen behouden"
pubSub: "Pub/Sub Gebruikersaccounts"
lastCommunication: "Laatste communicatie"
resolved: "Opgelost"
unresolved: "Onopgelost"
breakFollow: "Volger verwijderen"
breakFollowConfirm: "Deze volger echt weghalen?"
itsOn: "Ingeschakeld"
itsOff: "Uitgeschakeld"
on: "Op"
off: "Uit"
emailRequiredForSignup: "Vereist e-mailadres voor aanmelding"
unread: "Ongelezen"
filter: "Filter"
controlPanel: "Controlepaneel"
manageAccounts: "Gebruikersaccounts beheren"
makeReactionsPublic: "Reactiegeschiedenis publiceren"
makeReactionsPublicDescription: "Hierdoor wordt de lijst met al je eerdere reacties openbaar."
classic: "Classic"
muteThread: "Discussies dempen " muteThread: "Discussies dempen "
unmuteThread: "Dempen van discussie ongedaan maken" unmuteThread: "Dempen van discussie ongedaan maken"
followingVisibility: "Zichtbaarheid van gevolgden"
followersVisibility: "Zichtbaarheid van volgers"
continueThread: "Bekijk draad voortzetting"
deleteAccountConfirm: "Je gebruikersaccount wordt onherroepelijk verwijderd. Wil je nog steeds doorgaan?"
incorrectPassword: "Onjuist wachtwoord."
incorrectTotp: "Het eenmalige wachtwoord is incorrect of verlopen"
voteConfirm: "Bevestig je je stem op “{choice}”?"
hide: "Verbergen" hide: "Verbergen"
useDrawerReactionPickerForMobile: "Toon reactiekiezer als lade op mobiel"
welcomeBackWithName: "Welkom terug, {name}"
clickToFinishEmailVerification: "Druk op [{ok}] om de e-mailbevestiging af te ronden."
searchByGoogle: "Zoeken" searchByGoogle: "Zoeken"
threeMonths: "3 maanden"
oneYear: "1 jaar"
threeDays: "3 dagen"
cropImage: "Afbeelding bijsnijden" cropImage: "Afbeelding bijsnijden"
cropImageAsk: "Bijsnijdengevraagd" cropImageAsk: "Bijsnijdengevraagd"
file: "Bestanden" file: "Bestanden"
account: "Gebruikersaccounts"
pushNotification: "Pushberichten" pushNotification: "Pushberichten"
subscribePushNotification: "Push meldingen inschakelen" subscribePushNotification: "Push meldingen inschakelen"
unsubscribePushNotification: "Pushberichten uitschakelen" unsubscribePushNotification: "Pushberichten uitschakelen"
@ -946,59 +426,20 @@ pushNotificationAlreadySubscribed: "Pushberichtrn al ingeschakeld"
windowMaximize: "Maximaliseren" windowMaximize: "Maximaliseren"
windowRestore: "Herstellen" windowRestore: "Herstellen"
loggedInAsBot: "Momenteel als bot ingelogd" loggedInAsBot: "Momenteel als bot ingelogd"
show: "Weergave"
correspondingSourceIsAvailable: "De bijbehorende broncode is beschikbaar bij {anchor}"
invalidParamErrorDescription: "De aanvraagparameters zijn ongeldig. Dit komt meestal door een bug, maar kan ook omdat de invoer te lang is of iets dergelijks."
collapseRenotes: "Renotes die je al gezien hebt, inklappen"
collapseRenotesDescription: "Klapt notities in waar je al op gereageerd hebt of die je al gerenotet hebt."
prohibitedWords: "Verboden woorden"
prohibitedWordsDescription: "Activeert een foutmelding als er geprobeerd wordt een notitie met de ingestelde woorden te plaatsen. Meerdere woorden kunnen worden ingesteld, elk op hun eigen regel."
hiddenTags: "Verborgen hashtags"
hiddenTagsDescription: "Selecteer tags die niet worden weergegeven in de trends. Meerdere tags kunnen worden geregistreerd, elk op hun eigen regel."
enableStatsForFederatedInstances: "Statistieken van remote servers ontvangen"
limitWidthOfReaction: "Limiteert de maximale breedte van reacties en geef ze verkleind weer"
audio: "Audio"
audioFiles: "Audio"
archived: "Gearchiveerd"
unarchive: "Dearchiveren"
lookupConfirm: "Weet je zeker dat je dit wil opzoeken?"
openTagPageConfirm: "Wil je deze hashtagpagina openen?"
specifyHost: "Specificeer host"
icon: "Avatar" icon: "Avatar"
replies: "Antwoorden" replies: "Antwoord"
renotes: "Herdelen" renotes: "Herdelen"
followingOrFollower: "Gevolgd of volger"
confirmShowRepliesAll: "Dit is een onomkeerbare operatie. Weet je zeker dat reacties op anderen van iedereen die je volgt, wil weergeven in je tijdlijn?"
information: "Over"
_chat:
invitations: "Uitnodigen"
noHistory: "Geen geschiedenis gevonden"
members: "Leden"
home: "Startpagina"
send: "Stuur"
_delivery: _delivery:
stop: "Opgeschort" stop: "Opgeschort"
_type: _type:
none: "Publiceren" none: "Publiceren"
_role:
priority: "Prioriteit"
_priority:
low: "Lage"
middle: "Medium"
high: "Hoge"
_ffVisibility:
public: "Publiceren"
_ad:
back: "Terug"
_email: _email:
_follow: _follow:
title: "volgde jou" title: "volgde jou"
_theme: _theme:
description: "Beschrijving"
keys: keys:
mention: "Vermelding" mention: "Vermelding"
renote: "Herdelen" renote: "Herdelen"
divider: "Scheider"
_sfx: _sfx:
note: "Notities" note: "Notities"
notification: "Meldingen" notification: "Meldingen"
@ -1023,7 +464,6 @@ _profile:
name: "Naam" name: "Naam"
username: "Gebruikersnaam" username: "Gebruikersnaam"
_exportOrImport: _exportOrImport:
clips: "Clip aanmaken"
followingList: "Volgend" followingList: "Volgend"
muteList: "Dempen" muteList: "Dempen"
blockingList: "Blokkeren" blockingList: "Blokkeren"
@ -1034,9 +474,6 @@ _charts:
federation: "Federatie" federation: "Federatie"
_timelines: _timelines:
home: "Startpagina" home: "Startpagina"
_play:
script: "Script"
summary: "Beschrijving"
_pages: _pages:
blocks: blocks:
image: "Afbeeldingen" image: "Afbeeldingen"
@ -1049,7 +486,6 @@ _notification:
renote: "Herdelen" renote: "Herdelen"
quote: "Quote" quote: "Quote"
reaction: "Reacties" reaction: "Reacties"
login: "Inloggen"
_actions: _actions:
reply: "Antwoord" reply: "Antwoord"
renote: "Herdelen" renote: "Herdelen"
@ -1059,25 +495,9 @@ _deck:
tl: "Tijdlijn" tl: "Tijdlijn"
antenna: "Antennes" antenna: "Antennes"
list: "Lijsten" list: "Lijsten"
channel: "Kanalen"
mentions: "Vermeldingen" mentions: "Vermeldingen"
_webhookSettings: _webhookSettings:
name: "Naam" name: "Naam"
active: "Ingeschakeld"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "Email"
_moderationLogTypes: _moderationLogTypes:
suspend: "Opschorten" suspend: "Opschorten"
resetPassword: "Wachtwoord terugzetten" resetPassword: "Wachtwoord terugzetten"
_reversi:
total: "Totaal"
_remoteLookupErrors:
_noSuchObject:
title: "Niet gevonden"
_search:
searchScopeAll: "Alle"
_watermarkEditor:
image: "Afbeeldingen"
advanced: "Geavanceerd"

View file

@ -171,6 +171,7 @@ noUsers: "Det er ingen brukere"
editProfile: "Rediger profil" editProfile: "Rediger profil"
noteDeleteConfirm: "Er du sikker på at du vil slette denne Noten?" noteDeleteConfirm: "Er du sikker på at du vil slette denne Noten?"
pinLimitExceeded: "Du kan ikke feste flere." pinLimitExceeded: "Du kan ikke feste flere."
intro: "Installasjonen av Misskey er ferdig! Vennligst opprett en administratorkonto."
done: "Ferdig" done: "Ferdig"
default: "Standard" default: "Standard"
defaultValueIs: "Standard: {value}" defaultValueIs: "Standard: {value}"
@ -259,6 +260,7 @@ enableLocalTimeline: "Aktiver lokal tidslinje"
enableGlobalTimeline: "Aktiver global tidslinje" enableGlobalTimeline: "Aktiver global tidslinje"
disablingTimelinesInfo: "Administratorer og Moderatorer vil alltid ha tilgang til alle tidslinjer, selv om de ikke er aktivert." disablingTimelinesInfo: "Administratorer og Moderatorer vil alltid ha tilgang til alle tidslinjer, selv om de ikke er aktivert."
registration: "Registrer" registration: "Registrer"
enableRegistration: "Aktiver registrering av nye brukere"
invite: "Inviter" invite: "Inviter"
basicInfo: "Grunnleggende informasjon" basicInfo: "Grunnleggende informasjon"
pinnedUsers: "Festede brukrere" pinnedUsers: "Festede brukrere"
@ -298,6 +300,8 @@ text: "Tekst"
next: "Neste" next: "Neste"
retype: "Gjenta" retype: "Gjenta"
quoteAttached: "Sitat" quoteAttached: "Sitat"
noMessagesYet: "Ingen meldinger ennå"
newMessageExists: "Det er nye meldinger"
onlyOneFileCanBeAttached: "Du kan bare legge ved én fil i en melding" onlyOneFileCanBeAttached: "Du kan bare legge ved én fil i en melding"
invitations: "Inviter" invitations: "Inviter"
available: "Tilgjengelig" available: "Tilgjengelig"
@ -460,12 +464,6 @@ icon: "Avatar"
replies: "Svar" replies: "Svar"
renotes: "Renote" renotes: "Renote"
surrender: "Avbryt" surrender: "Avbryt"
information: "Informasjon"
_chat:
invitations: "Inviter"
members: "Medlemmer"
home: "Hjem"
send: "Send"
_delivery: _delivery:
stop: "Suspendert" stop: "Suspendert"
_initialAccountSetting: _initialAccountSetting:
@ -703,7 +701,6 @@ _notification:
renote: "Renotes" renote: "Renotes"
quote: "Sitater" quote: "Sitater"
reaction: "Reaksjoner" reaction: "Reaksjoner"
login: "Logg inn"
_actions: _actions:
reply: "Svar" reply: "Svar"
renote: "Renote" renote: "Renote"
@ -730,13 +727,3 @@ _abuseReport:
mail: "E-post" mail: "E-post"
_moderationLogTypes: _moderationLogTypes:
suspend: "Suspender" suspend: "Suspender"
_remoteLookupErrors:
_noSuchObject:
title: "Ikke funnet"
_search:
searchScopeAll: "Alle"
_watermarkEditor:
scale: "Størrelse"
text: "Tekst"
type: "Type"
image: "Bilder"

View file

@ -230,6 +230,7 @@ noUsers: "Brak użytkowników"
editProfile: "Edytuj profil" editProfile: "Edytuj profil"
noteDeleteConfirm: "Czy na pewno chcesz usunąć ten wpis?" noteDeleteConfirm: "Czy na pewno chcesz usunąć ten wpis?"
pinLimitExceeded: "Nie możesz przypiąć więcej wpisów." pinLimitExceeded: "Nie możesz przypiąć więcej wpisów."
intro: "Zakończono instalację Misskey! Utwórz konto administratora."
done: "Gotowe" done: "Gotowe"
processing: "Przetwarzanie" processing: "Przetwarzanie"
preview: "Podgląd" preview: "Podgląd"
@ -268,6 +269,7 @@ deleteAreYouSure: "Czy na pewno chcesz usunąć „{x}”?"
resetAreYouSure: "Czy na pewno chcesz zresetować?" resetAreYouSure: "Czy na pewno chcesz zresetować?"
areYouSure: "Na pewno?" areYouSure: "Na pewno?"
saved: "Zapisano" saved: "Zapisano"
messaging: "Wiadomości"
upload: "Wyślij" upload: "Wyślij"
keepOriginalUploading: "Zachowaj oryginalny obraz" keepOriginalUploading: "Zachowaj oryginalny obraz"
keepOriginalUploadingDescription: "Zapisuje oryginalnie przesłany obraz w niezmienionej postaci. Jeśli ta opcja jest wyłączona, po przesłaniu zostanie wygenerowana wersja do wyświetlenia w Internecie." keepOriginalUploadingDescription: "Zapisuje oryginalnie przesłany obraz w niezmienionej postaci. Jeśli ta opcja jest wyłączona, po przesłaniu zostanie wygenerowana wersja do wyświetlenia w Internecie."
@ -280,6 +282,7 @@ uploadFromUrlMayTakeTime: "Wysyłanie może chwilę potrwać."
explore: "Eksploruj" explore: "Eksploruj"
messageRead: "Przeczytano" messageRead: "Przeczytano"
noMoreHistory: "Nie ma dalszej historii" noMoreHistory: "Nie ma dalszej historii"
startMessaging: "Rozpocznij czat"
nUsersRead: "przeczytano przez {n}" nUsersRead: "przeczytano przez {n}"
agreeTo: "Wyrażam zgodę na {0}" agreeTo: "Wyrażam zgodę na {0}"
agree: "Zatwierdź" agree: "Zatwierdź"
@ -359,6 +362,7 @@ enableLocalTimeline: "Włącz lokalną oś czasu"
enableGlobalTimeline: "Włącz globalną oś czasu" enableGlobalTimeline: "Włącz globalną oś czasu"
disablingTimelinesInfo: "Administratorzy i moderatorzy będą zawsze mieć dostęp do wszystkich osi czasu, nawet gdy są one wyłączone." disablingTimelinesInfo: "Administratorzy i moderatorzy będą zawsze mieć dostęp do wszystkich osi czasu, nawet gdy są one wyłączone."
registration: "Zarejestruj się" registration: "Zarejestruj się"
enableRegistration: "Włącz rejestrację nowych użytkowników"
invite: "Zaproś" invite: "Zaproś"
driveCapacityPerLocalAccount: "Powierzchnia dyskowa na lokalnego użytkownika" driveCapacityPerLocalAccount: "Powierzchnia dyskowa na lokalnego użytkownika"
driveCapacityPerRemoteAccount: "Powierzchnia dyskowa na zdalnego użytkownika" driveCapacityPerRemoteAccount: "Powierzchnia dyskowa na zdalnego użytkownika"
@ -463,6 +467,8 @@ retype: "Wprowadź ponownie"
noteOf: "Wpisy {user}" noteOf: "Wpisy {user}"
quoteAttached: "Zacytowano" quoteAttached: "Zacytowano"
quoteQuestion: "Czy na pewno chcesz umieścić cytat?" quoteQuestion: "Czy na pewno chcesz umieścić cytat?"
noMessagesYet: "Nie napisano jeszcze wiadomości"
newMessageExists: "Masz nową wiadomość"
onlyOneFileCanBeAttached: "Możesz załączyć tylko jeden plik do wiadomości" onlyOneFileCanBeAttached: "Możesz załączyć tylko jeden plik do wiadomości"
signinRequired: "Proszę się zalogować" signinRequired: "Proszę się zalogować"
invitations: "Zaproś" invitations: "Zaproś"
@ -486,10 +492,7 @@ uiLanguage: "Język wyświetlania UI"
aboutX: "O {x}" aboutX: "O {x}"
emojiStyle: "Styl emoji" emojiStyle: "Styl emoji"
native: "Natywny" native: "Natywny"
menuStyle: "Styl Menu" disableDrawer: "Nie używaj menu w stylu szuflady"
style: "Styl"
drawer: "Schowek"
popup: "Wyskakujące okienka"
showNoteActionsOnlyHover: "Pokazuj akcje notatek tylko po najechaniu myszką" showNoteActionsOnlyHover: "Pokazuj akcje notatek tylko po najechaniu myszką"
showReactionsCount: "Wyświetl liczbę reakcji na notatkę" showReactionsCount: "Wyświetl liczbę reakcji na notatkę"
noHistory: "Brak historii" noHistory: "Brak historii"
@ -572,7 +575,6 @@ ascendingOrder: "Rosnąco"
descendingOrder: "Malejąco" descendingOrder: "Malejąco"
scratchpad: "Brudnopis" scratchpad: "Brudnopis"
scratchpadDescription: "Brudnopis zawiera eksperymentalne środowisko dla AiScript. Możesz pisać, wykonywać i sprawdzać wyniki w interakcji z Misskey." scratchpadDescription: "Brudnopis zawiera eksperymentalne środowisko dla AiScript. Możesz pisać, wykonywać i sprawdzać wyniki w interakcji z Misskey."
uiInspector: "Inspektor UI"
output: "Wyjście" output: "Wyjście"
script: "Skrypt" script: "Skrypt"
disablePagesScript: "Wyłącz AiScript na Stronach" disablePagesScript: "Wyłącz AiScript na Stronach"
@ -653,7 +655,6 @@ smtpSecure: "Użyj niejawnego SSL/TLS dla połączeń SMTP"
smtpSecureInfo: "Wyłącz, jeżeli używasz STARTTLS" smtpSecureInfo: "Wyłącz, jeżeli używasz STARTTLS"
testEmail: "Przetestuj dostarczanie wiadomości e-mail" testEmail: "Przetestuj dostarczanie wiadomości e-mail"
wordMute: "Wyciszenie słowa" wordMute: "Wyciszenie słowa"
hardWordMute: "Wyciszaj przekleństwa"
regexpError: "Błąd wyrażenia regularnego" regexpError: "Błąd wyrażenia regularnego"
regexpErrorDescription: "Wystąpił błąd w wyrażeniu regularnym w linii {line} twoich {tab} wyciszeń:" regexpErrorDescription: "Wystąpił błąd w wyrażeniu regularnym w linii {line} twoich {tab} wyciszeń:"
instanceMute: "Wyciszone instancje" instanceMute: "Wyciszone instancje"
@ -689,7 +690,10 @@ abuseReported: "Twoje zgłoszenie zostało wysłane. Dziękujemy."
reporter: "Zgłaszający" reporter: "Zgłaszający"
reporteeOrigin: "Pochodzenie zgłoszonego" reporteeOrigin: "Pochodzenie zgłoszonego"
reporterOrigin: "Pochodzenie zgłaszającego" reporterOrigin: "Pochodzenie zgłaszającego"
forwardReport: "Przekaż zgłoszenie do innej instancji"
forwardReportIsAnonymous: "Zamiast twojego konta, anonimowe konto systemowe będzie wyświetlone jako zgłaszający na instancji zdalnej."
send: "Wyślij" send: "Wyślij"
abuseMarkAsResolved: "Oznacz zgłoszenie jako rozwiązane"
openInNewTab: "Otwórz w nowej karcie" openInNewTab: "Otwórz w nowej karcie"
openInSideView: "Otwórz w bocznym widoku" openInSideView: "Otwórz w bocznym widoku"
defaultNavigationBehaviour: "Domyślne zachowanie nawigacji" defaultNavigationBehaviour: "Domyślne zachowanie nawigacji"
@ -748,6 +752,7 @@ thisIsExperimentalFeature: "Ta funkcja jest eksperymentalna. Jej funkcjonalnoś
developer: "Programista" developer: "Programista"
makeExplorable: "Pokazuj konto na stronie „Eksploruj”" makeExplorable: "Pokazuj konto na stronie „Eksploruj”"
makeExplorableDescription: "Jeżeli wyłączysz tę opcję, Twoje konto nie będzie wyświetlać się w sekcji „Eksploruj”." makeExplorableDescription: "Jeżeli wyłączysz tę opcję, Twoje konto nie będzie wyświetlać się w sekcji „Eksploruj”."
showGapBetweenNotesInTimeline: "Pokazuj odstęp między wpisami na osi czasu."
duplicate: "Duplikuj" duplicate: "Duplikuj"
left: "Lewo" left: "Lewo"
center: "Wyśsrodkuj" center: "Wyśsrodkuj"
@ -825,7 +830,6 @@ administration: "Zarządzanie"
accounts: "Konta" accounts: "Konta"
switch: "Przełącz" switch: "Przełącz"
noMaintainerInformationWarning: "Informacje o administratorze nie są skonfigurowane." noMaintainerInformationWarning: "Informacje o administratorze nie są skonfigurowane."
noInquiryUrlWarning: "Adres URL zapytania nie został ustawiony"
noBotProtectionWarning: "Zabezpieczenie przed botami nie jest skonfigurowane." noBotProtectionWarning: "Zabezpieczenie przed botami nie jest skonfigurowane."
configure: "Skonfiguruj" configure: "Skonfiguruj"
postToGallery: "Opublikuj w galerii" postToGallery: "Opublikuj w galerii"
@ -890,7 +894,6 @@ followersVisibility: "Widoczność obserwujących"
continueThread: "Pokaż kontynuację wątku" continueThread: "Pokaż kontynuację wątku"
deleteAccountConfirm: "Spowoduje to nieodwracalne usunięcie Twojego konta. Kontynuować?" deleteAccountConfirm: "Spowoduje to nieodwracalne usunięcie Twojego konta. Kontynuować?"
incorrectPassword: "Nieprawidłowe hasło." incorrectPassword: "Nieprawidłowe hasło."
incorrectTotp: "Hasło pojedynczego użytku jest nie poprawne, lub straciło ważność"
voteConfirm: "Potwierdzić swój głos na \"{choice}\"?" voteConfirm: "Potwierdzić swój głos na \"{choice}\"?"
hide: "Ukryj" hide: "Ukryj"
useDrawerReactionPickerForMobile: "Wyświetlaj wybornik reakcji jako szufladę na urządzeniach mobilnych" useDrawerReactionPickerForMobile: "Wyświetlaj wybornik reakcji jako szufladę na urządzeniach mobilnych"
@ -915,10 +918,6 @@ oneHour: "1 godzina"
oneDay: "1 dzień" oneDay: "1 dzień"
oneWeek: "1 tydzień" oneWeek: "1 tydzień"
oneMonth: "jeden miesiąc" oneMonth: "jeden miesiąc"
threeMonths: "3 miesiące"
oneYear: "Rok"
threeDays: "3 dni"
reflectMayTakeTime: "Może minąć trochę czasu, zanim będzie to uwzględnione"
failedToFetchAccountInformation: "Nie udało się uzyskać informacji o koncie" failedToFetchAccountInformation: "Nie udało się uzyskać informacji o koncie"
rateLimitExceeded: "Limit szybkości przekroczony" rateLimitExceeded: "Limit szybkości przekroczony"
cropImage: "Przytnij obraz" cropImage: "Przytnij obraz"
@ -929,11 +928,9 @@ file: "Pliki"
recentNHours: "W ciągu ostatnich {n} godzin" recentNHours: "W ciągu ostatnich {n} godzin"
recentNDays: "W ciągu ostatnich {n} dni" recentNDays: "W ciągu ostatnich {n} dni"
noEmailServerWarning: "Serwer Email nie jest skonfigurowany" noEmailServerWarning: "Serwer Email nie jest skonfigurowany"
thereIsUnresolvedAbuseReportWarning: "Istnieją niewyjaśnione raporty"
recommended: "Zalecane" recommended: "Zalecane"
check: "Zweryfikuj" check: "Zweryfikuj"
driveCapOverrideLabel: "Zmień limit pojemności dysku użytkownika" driveCapOverrideLabel: "Zmień limit pojemności dysku użytkownika"
driveCapOverrideCaption: "Resetuje pojemność do wartości domyślnej, przez wpisanie wartości 0 lub niższej"
requireAdminForView: "Aby to zobaczyć, musisz być administratorem" requireAdminForView: "Aby to zobaczyć, musisz być administratorem"
isSystemAccount: "To jest konto stworzone i zarządzane przez system" isSystemAccount: "To jest konto stworzone i zarządzane przez system"
typeToConfirm: "Wprowadź {x}, aby potwierdzić" typeToConfirm: "Wprowadź {x}, aby potwierdzić"
@ -1002,29 +999,17 @@ unassign: "Cofnij przydzielenie"
color: "Kolor" color: "Kolor"
manageCustomEmojis: "Zarządzaj niestandardowymi Emoji" manageCustomEmojis: "Zarządzaj niestandardowymi Emoji"
manageAvatarDecorations: "Zarządzaj dekoracjami awatara" manageAvatarDecorations: "Zarządzaj dekoracjami awatara"
youCannotCreateAnymore: "Limit kreacji został przekroczony"
cannotPerformTemporary: "Opcja tymczasowo niedostępna"
cannotPerformTemporaryDescription: "Ta akcja nie może zostać wykonana, z powodu przekroczenia limitu wykonań. Prosimy poczekać chwilę i spróbować ponownie"
invalidParamError: "Błąd parametrów" invalidParamError: "Błąd parametrów"
invalidParamErrorDescription: "Wartości, które zostały podane są niepoprawne. Zwykle jest to spowodowane bugiem, lecz również może być to spowodowane przekroczeniem limitu wartości, lub podobnym problemem"
permissionDeniedError: "Odrzucono operacje" permissionDeniedError: "Odrzucono operacje"
permissionDeniedErrorDescription: "Konto nie posiada uprawnień" permissionDeniedErrorDescription: "Konto nie posiada uprawnień"
preset: "Konfiguracja" preset: "Konfiguracja"
selectFromPresets: "Wybierz konfiguracje" selectFromPresets: "Wybierz konfiguracje"
achievements: "Osiągnięcia" achievements: "Osiągnięcia"
gotInvalidResponseError: "Niepoprawna odpowiedź serwera"
gotInvalidResponseErrorDescription: "Wystąpił problem z Twoim połączeniem z Internetem, lub z serwerem. {Spróbuj ponownie} wkrótce."
thisPostMayBeAnnoying: "Ten wpis może obrażać pozostałych użytkowników"
thisPostMayBeAnnoyingHome: "Opublikuj na domowej osi czasu"
thisPostMayBeAnnoyingCancel: "Odrzuć" thisPostMayBeAnnoyingCancel: "Odrzuć"
thisPostMayBeAnnoyingIgnore: "Zignoruj i wyślij"
collapseRenotes: "Zwiń wpisy, które już zobaczyłeś"
collapseRenotesDescription: "Zwiń wpisy, na które już zareagowałeś lub udostępniłeś"
internalServerError: "Wewnętrzny błąd serwera" internalServerError: "Wewnętrzny błąd serwera"
internalServerErrorDescription: "Niespodziewany błąd po stronie serwera" internalServerErrorDescription: "Niespodziewany błąd po stronie serwera"
copyErrorInfo: "Kopiuj informacje o błędzie" copyErrorInfo: "Kopiuj informacje o błędzie"
joinThisServer: "Dołącz do chaty" joinThisServer: "Dołącz do chaty"
exploreOtherServers: "Szukaj innej instancji"
disableFederationOk: "Wyłącz federacje" disableFederationOk: "Wyłącz federacje"
invitationRequiredToRegister: "Ten serwer wymaga zaproszenia. Tylko osoby z zaproszeniem mogą się zarejestrować" invitationRequiredToRegister: "Ten serwer wymaga zaproszenia. Tylko osoby z zaproszeniem mogą się zarejestrować"
emailNotSupported: "Wysyłanie wiadomości E-mail nie jest obsługiwane na tym serwerze" emailNotSupported: "Wysyłanie wiadomości E-mail nie jest obsługiwane na tym serwerze"
@ -1038,14 +1023,6 @@ flip: "Odwróć"
lastNDays: "W ciągu ostatnich {n} dni" lastNDays: "W ciągu ostatnich {n} dni"
surrender: "Odrzuć" surrender: "Odrzuć"
gameRetry: "Spróbuj ponownie" gameRetry: "Spróbuj ponownie"
postForm: "Formularz tworzenia wpisu"
information: "Informacje"
_chat:
invitations: "Zaproś"
noHistory: "Brak historii"
members: "Członkowie"
home: "Strona główna"
send: "Wyślij"
_delivery: _delivery:
stop: "Zawieszono" stop: "Zawieszono"
_type: _type:
@ -1210,6 +1187,7 @@ _theme:
header: "Nagłówek" header: "Nagłówek"
navBg: "Tło paska bocznego" navBg: "Tło paska bocznego"
navFg: "Tekst paska bocznego" navFg: "Tekst paska bocznego"
navHoverFg: "Tekst paska bocznego (zbliżenie)"
navActive: "Tekst paska bocznego (aktywny)" navActive: "Tekst paska bocznego (aktywny)"
navIndicator: "Wskaźnik paska bocznego" navIndicator: "Wskaźnik paska bocznego"
link: "Odnośnik" link: "Odnośnik"
@ -1231,8 +1209,13 @@ _theme:
buttonBg: "Tło przycisku" buttonBg: "Tło przycisku"
buttonHoverBg: "Tło przycisku (po najechaniu)" buttonHoverBg: "Tło przycisku (po najechaniu)"
inputBorder: "Obramowanie pola wejścia" inputBorder: "Obramowanie pola wejścia"
listItemHoverBg: "Tło elementu listy (po najechaniu)"
driveFolderBg: "Tło folderu na dysku"
wallpaperOverlay: "Nakładka tapety"
badge: "Odznaka" badge: "Odznaka"
messageBg: "Tło czatu" messageBg: "Tło czatu"
accentDarken: "Akcent (ciemniejszy)"
accentLighten: "Akcent (jaśniejszy)"
fgHighlighted: "Wyróżniony tekst" fgHighlighted: "Wyróżniony tekst"
_sfx: _sfx:
note: "Wpisy" note: "Wpisy"
@ -1297,7 +1280,6 @@ _permissions:
"write:gallery": "Edytuj swoją galerię" "write:gallery": "Edytuj swoją galerię"
"read:gallery-likes": "Wyświetlanie listy polubionych postów w galerii" "read:gallery-likes": "Wyświetlanie listy polubionych postów w galerii"
"write:gallery-likes": "Edytowanie listy polubionych postów w galerii" "write:gallery-likes": "Edytowanie listy polubionych postów w galerii"
"write:chat": "Tworzenie lub usuwanie wiadomości czatu"
_auth: _auth:
shareAccessTitle: "Przyznawanie uprawnień aplikacji" shareAccessTitle: "Przyznawanie uprawnień aplikacji"
shareAccess: "Czy chcesz autoryzować „{name}” do dostępu do tego konta?" shareAccess: "Czy chcesz autoryzować „{name}” do dostępu do tego konta?"
@ -1457,6 +1439,9 @@ _pages:
newPage: "Utwórz stronę" newPage: "Utwórz stronę"
editPage: "Edytuj tę stronę" editPage: "Edytuj tę stronę"
readPage: "Aktywowano widok źródła" readPage: "Aktywowano widok źródła"
created: "Pomyślnie utworzono stronę!"
updated: "Pomyślnie zaktualizowano stronę!"
deleted: "Strona została usunięta"
pageSetting: "Ustawienia strony" pageSetting: "Ustawienia strony"
nameAlreadyExists: "Określony adres URL strony już istnieje" nameAlreadyExists: "Określony adres URL strony już istnieje"
invalidNameTitle: "Podany adres URL strony jest nieprawidłowy" invalidNameTitle: "Podany adres URL strony jest nieprawidłowy"
@ -1525,7 +1510,6 @@ _notification:
reaction: "Reakcja" reaction: "Reakcja"
receiveFollowRequest: "Otrzymano prośbę o możliwość obserwacji" receiveFollowRequest: "Otrzymano prośbę o możliwość obserwacji"
followRequestAccepted: "Przyjęto prośbę o możliwość obserwacji" followRequestAccepted: "Przyjęto prośbę o możliwość obserwacji"
login: "Zaloguj się"
app: "Powiadomienia z aplikacji" app: "Powiadomienia z aplikacji"
_actions: _actions:
followBack: "zaobserwował cię z powrotem" followBack: "zaobserwował cię z powrotem"
@ -1578,16 +1562,3 @@ _moderationLogTypes:
resetPassword: "Zresetuj hasło" resetPassword: "Zresetuj hasło"
_reversi: _reversi:
total: "Łącznie" total: "Łącznie"
_remoteLookupErrors:
_noSuchObject:
title: "Nie znaleziono"
_search:
searchScopeAll: "Wszystkie"
searchScopeLocal: "Lokalne"
_watermarkEditor:
opacity: "Przezroczystość"
scale: "Rozmiar"
text: "Tekst"
type: "Typ"
image: "Zdjęcia"
advanced: "Zaawansowane"

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -2,27 +2,23 @@
_lang_: "Русский" _lang_: "Русский"
headlineMisskey: "Сеть, сплетённая из заметок" headlineMisskey: "Сеть, сплетённая из заметок"
introMisskey: "Добро пожаловать! Misskey — это децентрализованный сервис микроблогов с открытым исходным кодом.\nПишите «заметки» — делитесь со всеми происходящим вокруг или рассказывайте о себе 📡\nСтавьте «реакции» — выражайте свои чувства и эмоции от заметок других 👍\nОткройте для себя новый мир 🚀" introMisskey: "Добро пожаловать! Misskey — это децентрализованный сервис микроблогов с открытым исходным кодом.\nПишите «заметки» — делитесь со всеми происходящим вокруг или рассказывайте о себе 📡\nСтавьте «реакции» — выражайте свои чувства и эмоции от заметок других 👍\nОткройте для себя новый мир 🚀"
poweredByMisskeyDescription: "{name} сервис на платформе с открытым исходным кодом <b>Misskey</b>, называемый экземпляром Misskey." poweredByMisskeyDescription: "{name} сервис на платформе с открытым исходным кодом <b>Misskey</b>, называемый инстансом Misskey."
monthAndDay: "{day}.{month}" monthAndDay: "{day}.{month}"
search: "Поиск" search: "Поиск"
reset: "Сброс"
notifications: "Уведомления" notifications: "Уведомления"
username: "Имя пользователя" username: "Имя пользователя"
password: "Пароль" password: "Пароль"
initialPasswordForSetup: "Пароль для начала настройки"
initialPasswordIsIncorrect: "Пароль для запуска настройки неверен"
initialPasswordForSetupDescription: "Если вы установили Misskey самостоятельно, используйте пароль, который вы указали в файле конфигурации.\nЕсли вы используете что-то вроде хостинга Misskey, используйте предоставленный пароль.\nЕсли вы не установили пароль, оставьте его пустым и продолжайте."
forgotPassword: "Забыли пароль?" forgotPassword: "Забыли пароль?"
fetchingAsApObject: "Приём с других сайтов" fetchingAsApObject: "Приём с других сайтов"
ok: "Подтвердить" ok: "Окей"
gotIt: "Ясно!" gotIt: "Ясно!"
cancel: "Отмена" cancel: "Отмена"
noThankYou: "Нет, спасибо" noThankYou: "Нет, спасибо"
enterUsername: "Введите имя пользователя" enterUsername: "Введите имя пользователя"
renotedBy: "{user} делает репост" renotedBy: "{user} делится"
noNotes: "Нет ни одной заметки" noNotes: "Нет ни одной заметки"
noNotifications: "Нет уведомлений" noNotifications: "Нет уведомлений"
instance: "Экземпляр" instance: "Инстанс"
settings: "Настройки" settings: "Настройки"
notificationSettings: "Настройки уведомлений" notificationSettings: "Настройки уведомлений"
basicSettings: "Основные настройки" basicSettings: "Основные настройки"
@ -49,25 +45,22 @@ pin: "Закрепить в профиле"
unpin: "Открепить от профиля" unpin: "Открепить от профиля"
copyContent: "Скопировать содержимое" copyContent: "Скопировать содержимое"
copyLink: "Скопировать ссылку" copyLink: "Скопировать ссылку"
copyRemoteLink: "Скопировать ссылку на репост"
copyLinkRenote: "Скопировать ссылку на репост"
delete: "Удалить" delete: "Удалить"
deleteAndEdit: "Удалить и отредактировать" deleteAndEdit: "Удалить и отредактировать"
deleteAndEditConfirm: "Удалить этот пост и отредактировать заново? Все реакции, репосты и ответы на него также будут удалены." deleteAndEditConfirm: "Удалить эту заметку и создать отредактированную? Все реакции, ссылки и ответы на существующую будут будут потеряны."
addToList: "Добавить в список" addToList: "Добавить в список"
addToAntenna: "Добавить к антенне" addToAntenna: "Добавить к антенне"
sendMessage: "Отправить сообщение" sendMessage: "Отправить сообщение"
copyRSS: "Скопировать RSS" copyRSS: "Скопировать RSS"
copyUsername: "Скопировать имя пользователя" copyUsername: "Скопировать имя пользователя"
copyUserId: "Скопировать ID пользователя" copyUserId: "Скопировать идентификатор пользователя"
copyNoteId: "Скопировать ID поста" copyNoteId: "Скопировать идентификатор заметки"
copyFileId: "Скопировать ID файла" copyFileId: "Скопировать ID файла"
copyFolderId: "Скопировать ID папки" copyFolderId: "Скопировать ID папки"
copyProfileUrl: "Скопировать ссылку на профиль" copyProfileUrl: "Скопировать URL профиля "
searchUser: "Поиск людей" searchUser: "Поиск людей"
searchThisUsersNotes: "Искать по заметкам пользователя"
reply: "Ответ" reply: "Ответ"
loadMore: "Загрузить ещё" loadMore: "Показать еще"
showMore: "Показать ещё" showMore: "Показать ещё"
showLess: "Закрыть" showLess: "Закрыть"
youGotNewFollower: "Новый подписчик" youGotNewFollower: "Новый подписчик"
@ -114,14 +107,11 @@ enterEmoji: "Введите эмодзи"
renote: "Репост" renote: "Репост"
unrenote: "Отмена репоста" unrenote: "Отмена репоста"
renoted: "Репост совершён." renoted: "Репост совершён."
renotedToX: "Репостнуть в {name}."
cantRenote: "Это нельзя репостить." cantRenote: "Это нельзя репостить."
cantReRenote: "Невозможно репостить репост." cantReRenote: "Невозможно репостить репост."
quote: "Цитата" quote: "Цитата"
inChannelRenote: "В канале" inChannelRenote: "В канале"
inChannelQuote: "Заметки в канале" inChannelQuote: "Заметки в канале"
renoteToChannel: "Репостнуть в канал"
renoteToOtherChannel: "Репостнуть в другой канал"
pinnedNote: "Закреплённая заметка" pinnedNote: "Закреплённая заметка"
pinned: "Закрепить в профиле" pinned: "Закрепить в профиле"
you: "Вы" you: "Вы"
@ -160,7 +150,6 @@ editList: "Редактировать список"
selectChannel: "Выберите канал" selectChannel: "Выберите канал"
selectAntenna: "Выберите антенну" selectAntenna: "Выберите антенну"
editAntenna: "Редактировать антенну" editAntenna: "Редактировать антенну"
createAntenna: "Создать антенну"
selectWidget: "Выберите виджет" selectWidget: "Выберите виджет"
editWidgets: "Редактировать виджеты" editWidgets: "Редактировать виджеты"
editWidgetsExit: "Готово" editWidgetsExit: "Готово"
@ -168,12 +157,11 @@ customEmojis: "Собственные эмодзи"
emoji: "Эмодзи" emoji: "Эмодзи"
emojis: "Эмодзи" emojis: "Эмодзи"
emojiName: "Название эмодзи" emojiName: "Название эмодзи"
emojiUrl: "Ссылка на эмодзи" emojiUrl: "URL эмодзи"
addEmoji: "Добавить эмодзи" addEmoji: "Добавить эмодзи"
settingGuide: "Рекомендуемые настройки" settingGuide: "Рекомендуемые настройки"
cacheRemoteFiles: "Кешировать внешние файлы" cacheRemoteFiles: "Кешировать внешние файлы"
cacheRemoteFilesDescription: "Когда эта настройка отключена, файлы с других сайтов будут загружаться прямо оттуда. Это сэкономит место на сервере, но увеличит трафик, так как не будут создаваться эскизы." cacheRemoteFilesDescription: "Когда эта настройка отключена, файлы с других сайтов будут загружаться прямо оттуда. Это сэкономит место на сервере, но увеличит трафик, так как не будут создаваться эскизы."
youCanCleanRemoteFilesCache: "Вы можете очистить кэш, нажав на кнопку 🗑️ в меню управления файлами."
cacheRemoteSensitiveFiles: "Кэшировать внешние файлы «не для всех»" cacheRemoteSensitiveFiles: "Кэшировать внешние файлы «не для всех»"
cacheRemoteSensitiveFilesDescription: "Если отключено, файлы «не для всех» загружаются непосредственно с удалённых серверов, не кэшируясь." cacheRemoteSensitiveFilesDescription: "Если отключено, файлы «не для всех» загружаются непосредственно с удалённых серверов, не кэшируясь."
flagAsBot: "Аккаунт бота" flagAsBot: "Аккаунт бота"
@ -187,10 +175,6 @@ addAccount: "Добавить учётную запись"
reloadAccountsList: "Обновить список учётных записей" reloadAccountsList: "Обновить список учётных записей"
loginFailed: "Неудачная попытка входа" loginFailed: "Неудачная попытка входа"
showOnRemote: "Перейти к оригиналу на сайт" showOnRemote: "Перейти к оригиналу на сайт"
continueOnRemote: "Продолжить на удалённом сервере"
chooseServerOnMisskeyHub: "Выбрать сервер с Misskey Hub"
specifyServerHost: "Укажите сервер напрямую"
inputHostName: "Введите домен"
general: "Общее" general: "Общее"
wallpaper: "Обои" wallpaper: "Обои"
setWallpaper: "Установить обои" setWallpaper: "Установить обои"
@ -201,7 +185,6 @@ followConfirm: "Подписаться на {name}?"
proxyAccount: "Учётная запись прокси" proxyAccount: "Учётная запись прокси"
proxyAccountDescription: "Учетная запись прокси предназначена служить подписчиком на пользователей с других сайтов. Например, если пользователь добавит кого-то с другого сайта а список, деятельность того не отобразится, пока никто с этого же сайта не подписан на него. Чтобы это стало возможным, на него подписывается прокси." proxyAccountDescription: "Учетная запись прокси предназначена служить подписчиком на пользователей с других сайтов. Например, если пользователь добавит кого-то с другого сайта а список, деятельность того не отобразится, пока никто с этого же сайта не подписан на него. Чтобы это стало возможным, на него подписывается прокси."
host: "Хост" host: "Хост"
selectSelf: "Выбрать себя"
selectUser: "Выберите пользователя" selectUser: "Выберите пользователя"
recipient: "Кому" recipient: "Кому"
annotation: "Описание" annotation: "Описание"
@ -216,11 +199,8 @@ perHour: "По часам"
perDay: "По дням" perDay: "По дням"
stopActivityDelivery: "Остановить отправку обновлений активности" stopActivityDelivery: "Остановить отправку обновлений активности"
blockThisInstance: "Блокировать этот инстанс" blockThisInstance: "Блокировать этот инстанс"
silenceThisInstance: "Заглушить этот инстанс"
mediaSilenceThisInstance: "Заглушить сервер"
operations: "Операции" operations: "Операции"
software: "Программы" software: "Программы"
softwareName: "Software Name"
version: "Версия" version: "Версия"
metadata: "Метаданные" metadata: "Метаданные"
withNFiles: "Файлы, {n} шт." withNFiles: "Файлы, {n} шт."
@ -238,12 +218,6 @@ clearCachedFiles: "Очистить кэш"
clearCachedFilesConfirm: "Удалить все закэшированные файлы с других сайтов?" clearCachedFilesConfirm: "Удалить все закэшированные файлы с других сайтов?"
blockedInstances: "Заблокированные инстансы" blockedInstances: "Заблокированные инстансы"
blockedInstancesDescription: "Введите список инстансов, которые хотите заблокировать. Они больше не смогут обмениваться с вашим инстансом." blockedInstancesDescription: "Введите список инстансов, которые хотите заблокировать. Они больше не смогут обмениваться с вашим инстансом."
silencedInstances: "Заглушённые инстансы"
silencedInstancesDescription: "Перечислите имена серверов, которые вы хотите отключить, разделив их новой строкой. Все учетные записи, принадлежащие к указанным в списке серверам, будут заблокированы и смогут отправлять запросы только на повторное использование и не смогут указывать локальные учетные записи, если они не будут отслеживаться. Это не повлияет на заблокированные серверы."
mediaSilencedInstances: "Заглушённые сервера"
mediaSilencedInstancesDescription: "Укажите названия серверов, для которых вы хотите отключить доступ к файлам, по одному серверу в строке. Все учетные записи, принадлежащие к перечисленным серверам, будут считаться конфиденциальными и не смогут использовать пользовательские эмодзи. Это никак не повлияет на заблокированные серверы."
federationAllowedHosts: "Серверы, поддерживающие федерацию"
federationAllowedHostsDescription: "Укажите имена серверов, для которых вы хотите разрешить объединение, разделив их разделителями строк."
muteAndBlock: "Скрытие и блокировка" muteAndBlock: "Скрытие и блокировка"
mutedUsers: "Скрытые пользователи" mutedUsers: "Скрытые пользователи"
blockedUsers: "Заблокированные пользователи" blockedUsers: "Заблокированные пользователи"
@ -251,6 +225,7 @@ noUsers: "Нет ни одного пользователя"
editProfile: "Редактировать профиль" editProfile: "Редактировать профиль"
noteDeleteConfirm: "Вы хотите удалить эту заметку?" noteDeleteConfirm: "Вы хотите удалить эту заметку?"
pinLimitExceeded: "Нельзя закрепить ещё больше заметок" pinLimitExceeded: "Нельзя закрепить ещё больше заметок"
intro: "Установка Misskey завершена! А теперь создайте учетную запись администратора."
done: "Готово" done: "Готово"
processing: "Обработка" processing: "Обработка"
preview: "Предпросмотр" preview: "Предпросмотр"
@ -261,7 +236,7 @@ noJobs: "Нет заданий"
federating: "Федерируется" federating: "Федерируется"
blocked: "Заблокировано" blocked: "Заблокировано"
suspended: "Заморожено" suspended: "Заморожено"
all: "Все" all: "Всё"
subscribing: "Подписка" subscribing: "Подписка"
publishing: "Публикация" publishing: "Публикация"
notResponding: "Нет ответа" notResponding: "Нет ответа"
@ -289,10 +264,11 @@ deleteAreYouSure: "Хотите удалить «{x}»?"
resetAreYouSure: "На самом деле сбросить?" resetAreYouSure: "На самом деле сбросить?"
areYouSure: "Вы уверены?" areYouSure: "Вы уверены?"
saved: "Сохранено" saved: "Сохранено"
messaging: "Сообщения"
upload: "Загрузить" upload: "Загрузить"
keepOriginalUploading: "Сохранить исходное изображение" keepOriginalUploading: "Сохранить исходное изображение"
keepOriginalUploadingDescription: "Сохраняет исходную версию при загрузке изображений. Если выключить, то при загрузке браузер генерирует изображение для публикации." keepOriginalUploadingDescription: "Сохраняет исходную версию при загрузке изображений. Если выключить, то при загрузке браузер генерирует изображение для публикации."
fromDrive: "С Диска" fromDrive: "С «диска»"
fromUrl: "По ссылке" fromUrl: "По ссылке"
uploadFromUrl: "Загрузить по ссылке" uploadFromUrl: "Загрузить по ссылке"
uploadFromUrlDescription: "Ссылка на файл, который хотите загрузить" uploadFromUrlDescription: "Ссылка на файл, который хотите загрузить"
@ -301,7 +277,7 @@ uploadFromUrlMayTakeTime: "Загрузка может занять некото
explore: "Обзор" explore: "Обзор"
messageRead: "Прочитали" messageRead: "Прочитали"
noMoreHistory: "История закончилась" noMoreHistory: "История закончилась"
startChat: "Начать чат" startMessaging: "Начать общение"
nUsersRead: "Прочитали {n}" nUsersRead: "Прочитали {n}"
agreeTo: "Я соглашаюсь с {0}" agreeTo: "Я соглашаюсь с {0}"
agree: "Согласен" agree: "Согласен"
@ -332,7 +308,6 @@ selectFile: "Выберите файл"
selectFiles: "Выберите файлы" selectFiles: "Выберите файлы"
selectFolder: "Выберите папку" selectFolder: "Выберите папку"
selectFolders: "Выберите папки" selectFolders: "Выберите папки"
fileNotSelected: "Файл не выбран"
renameFile: "Переименовать файл" renameFile: "Переименовать файл"
folderName: "Имя папки" folderName: "Имя папки"
createFolder: "Создать папку" createFolder: "Создать папку"
@ -340,7 +315,6 @@ renameFolder: "Переименовать папку"
deleteFolder: "Удалить папку" deleteFolder: "Удалить папку"
folder: "Папка" folder: "Папка"
addFile: "Добавить файл" addFile: "Добавить файл"
showFile: "Посмотреть файл"
emptyDrive: "Диск пуст" emptyDrive: "Диск пуст"
emptyFolder: "Папка пуста" emptyFolder: "Папка пуста"
unableToDelete: "Удаление невозможно" unableToDelete: "Удаление невозможно"
@ -383,9 +357,10 @@ enableLocalTimeline: "Включить локальную ленту"
enableGlobalTimeline: "Включить глобальную ленту" enableGlobalTimeline: "Включить глобальную ленту"
disablingTimelinesInfo: "У администраторов и модераторов есть доступ ко всем лентам, даже если они отключены." disablingTimelinesInfo: "У администраторов и модераторов есть доступ ко всем лентам, даже если они отключены."
registration: "Регистрация" registration: "Регистрация"
enableRegistration: "Разрешить регистрацию"
invite: "Пригласить" invite: "Пригласить"
driveCapacityPerLocalAccount: "Объём Диска на одного локального пользователя" driveCapacityPerLocalAccount: "Объём диска на одного локального пользователя"
driveCapacityPerRemoteAccount: "Объём Диска на одного пользователя с другого экземпляра" driveCapacityPerRemoteAccount: "Объём диска на одного пользователя с другого сайта"
inMb: "В мегабайтах" inMb: "В мегабайтах"
bannerUrl: "Ссылка на изображение в шапке" bannerUrl: "Ссылка на изображение в шапке"
backgroundImageUrl: "Ссылка на фоновое изображение" backgroundImageUrl: "Ссылка на фоновое изображение"
@ -404,7 +379,6 @@ mcaptcha: "mCaptcha"
enableMcaptcha: "Включить mCaptcha" enableMcaptcha: "Включить mCaptcha"
mcaptchaSiteKey: "Ключ сайта" mcaptchaSiteKey: "Ключ сайта"
mcaptchaSecretKey: "Секретный ключ" mcaptchaSecretKey: "Секретный ключ"
mcaptchaInstanceUrl: "Ссылка на сервер mCaptcha"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Включить reCAPTCHA" enableRecaptcha: "Включить reCAPTCHA"
recaptchaSiteKey: "Ключ сайта" recaptchaSiteKey: "Ключ сайта"
@ -419,12 +393,10 @@ manageAntennas: "Настройки антенн"
name: "Название" name: "Название"
antennaSource: "Источник антенны" antennaSource: "Источник антенны"
antennaKeywords: "Ключевые слова" antennaKeywords: "Ключевые слова"
antennaExcludeKeywords: "Чёрный список слов" antennaExcludeKeywords: "Исключения"
antennaExcludeBots: "Исключать ботов"
antennaKeywordsDescription: "Пишите слова через пробел в одной строке, чтобы ловить их появление вместе; на отдельных строках располагайте слова, или группы слов, чтобы ловить любые из них." antennaKeywordsDescription: "Пишите слова через пробел в одной строке, чтобы ловить их появление вместе; на отдельных строках располагайте слова, или группы слов, чтобы ловить любые из них."
notifyAntenna: "Уведомлять о новых заметках" notifyAntenna: "Уведомлять о новых заметках"
withFileAntenna: "Только заметки с вложениями" withFileAntenna: "Только заметки с вложениями"
excludeNotesInSensitiveChannel: "Исключить заметки из конфиденциальных каналов"
enableServiceworker: "Включить ServiceWorker" enableServiceworker: "Включить ServiceWorker"
antennaUsersDescription: "Пишите каждое название аккаута на отдельной строке" antennaUsersDescription: "Пишите каждое название аккаута на отдельной строке"
caseSensitive: "С учётом регистра" caseSensitive: "С учётом регистра"
@ -454,10 +426,6 @@ totp: "Приложение-аутентификатор"
totpDescription: "Описание приложения-аутентификатора" totpDescription: "Описание приложения-аутентификатора"
moderator: "Модератор" moderator: "Модератор"
moderation: "Модерация" moderation: "Модерация"
moderationNote: "Примечания модератора"
moderationNoteDescription: "Вы можете заполнять заметки, которые будут доступны только модераторам."
addModerationNote: ""
moderationLogs: "Журнал модерации"
nUsersMentioned: "Упомянуло пользователей: {n}" nUsersMentioned: "Упомянуло пользователей: {n}"
securityKeyAndPasskey: "Ключ безопасности и парольная фраза" securityKeyAndPasskey: "Ключ безопасности и парольная фраза"
securityKey: "Ключ безопасности" securityKey: "Ключ безопасности"
@ -490,10 +458,10 @@ retype: "Введите ещё раз"
noteOf: "Что пишет {user}" noteOf: "Что пишет {user}"
quoteAttached: "Цитата" quoteAttached: "Цитата"
quoteQuestion: "Хотите добавить цитату?" quoteQuestion: "Хотите добавить цитату?"
attachAsFileQuestion: "Текста в буфере обмена слишком много. Прикрепить как текстовый файл?" noMessagesYet: "Пока ни одного сообщения"
newMessageExists: "Новое сообщение"
onlyOneFileCanBeAttached: "К сообщению можно прикрепить только один файл" onlyOneFileCanBeAttached: "К сообщению можно прикрепить только один файл"
signinRequired: "Пожалуйста, войдите" signinRequired: "Пожалуйста, войдите"
signinOrContinueOnRemote: "Чтобы продолжить, вам необходимо войти в аккаунт на своём сервере или зарегистрироваться / войти в аккаунт на этом."
invitations: "Приглашения" invitations: "Приглашения"
invitationCode: "Код приглашения" invitationCode: "Код приглашения"
checking: "Проверка" checking: "Проверка"
@ -503,7 +471,7 @@ usernameInvalidFormat: "Можно использовать только лат
tooShort: "Слишком короткий" tooShort: "Слишком короткий"
tooLong: "Слишком длинный" tooLong: "Слишком длинный"
weakPassword: "Слабый пароль" weakPassword: "Слабый пароль"
normalPassword: "Хороший пароль" normalPassword: "Годный пароль"
strongPassword: "Надёжный пароль" strongPassword: "Надёжный пароль"
passwordMatched: "Совпали" passwordMatched: "Совпали"
passwordNotMatched: "Не совпадают" passwordNotMatched: "Не совпадают"
@ -515,12 +483,8 @@ uiLanguage: "Язык интерфейса"
aboutX: "Описание {x}" aboutX: "Описание {x}"
emojiStyle: "Стиль эмодзи" emojiStyle: "Стиль эмодзи"
native: "Системные" native: "Системные"
menuStyle: "Стиль меню" disableDrawer: "Не использовать выдвижные меню"
style: "Стиль"
drawer: "Панель"
popup: "Всплывающие окна"
showNoteActionsOnlyHover: "Показывать кнопки у заметок только при наведении" showNoteActionsOnlyHover: "Показывать кнопки у заметок только при наведении"
showReactionsCount: "Видеть количество реакций на заметках"
noHistory: "История пока пуста" noHistory: "История пока пуста"
signinHistory: "Журнал посещений" signinHistory: "Журнал посещений"
enableAdvancedMfm: "Включить расширенный MFM" enableAdvancedMfm: "Включить расширенный MFM"
@ -573,7 +537,6 @@ serverLogs: "Журнал сервера"
deleteAll: "Удалить всё" deleteAll: "Удалить всё"
showFixedPostForm: "Показывать поле для ввода новой заметки наверху ленты" showFixedPostForm: "Показывать поле для ввода новой заметки наверху ленты"
showFixedPostFormInChannel: "Показывать поле для ввода новой заметки наверху ленты (каналы)" showFixedPostFormInChannel: "Показывать поле для ввода новой заметки наверху ленты (каналы)"
withRepliesByDefaultForNewlyFollowed: "По умолчанию включайте ответы новых пользователей, на которых вы подписались, во временную шкалу"
newNoteRecived: "Появилась новая заметка" newNoteRecived: "Появилась новая заметка"
sounds: "Звуки" sounds: "Звуки"
sound: "Звуки" sound: "Звуки"
@ -584,9 +547,8 @@ popout: "Развернуть"
volume: "Громкость" volume: "Громкость"
masterVolume: "Основная регулировка громкости" masterVolume: "Основная регулировка громкости"
notUseSound: "Выключить звук" notUseSound: "Выключить звук"
useSoundOnlyWhenActive: "Воспроизводить звук только когда Misskey активен." useSoundOnlyWhenActive: "Использовать звук, когда Misskey активен."
details: "Подробнее" details: "Подробнее"
renoteDetails: "Узнать больше"
chooseEmoji: "Выберите эмодзи" chooseEmoji: "Выберите эмодзи"
unableToProcess: "Не удаётся завершить операцию" unableToProcess: "Не удаётся завершить операцию"
recentUsed: "Последние использованные" recentUsed: "Последние использованные"
@ -602,8 +564,6 @@ ascendingOrder: "по возрастанию"
descendingOrder: "По убыванию" descendingOrder: "По убыванию"
scratchpad: "Когтеточка" scratchpad: "Когтеточка"
scratchpadDescription: "«Когтеточка» — это место для опытов с AiScript. Здесь можно писать программы, взаимодействующие с Misskey, запускать и смотреть что из этого получается." scratchpadDescription: "«Когтеточка» — это место для опытов с AiScript. Здесь можно писать программы, взаимодействующие с Misskey, запускать и смотреть что из этого получается."
uiInspector: "Средство проверки пользовательского интерфейса"
uiInspectorDescription: "Вы можете просмотреть список экземпляров компонентов пользовательского интерфейса, существующих в памяти. Элементы пользовательского интерфейса генерируются с помощью серии функций Ui:C:."
output: "Выходы" output: "Выходы"
script: "Скрипт" script: "Скрипт"
disablePagesScript: "Отключить скрипты на «Страницах»" disablePagesScript: "Отключить скрипты на «Страницах»"
@ -641,7 +601,7 @@ poll: "Опрос"
useCw: "Скрывать содержимое под предупреждением" useCw: "Скрывать содержимое под предупреждением"
enablePlayer: "Включить проигрыватель" enablePlayer: "Включить проигрыватель"
disablePlayer: "Выключить проигрыватель" disablePlayer: "Выключить проигрыватель"
expandTweet: "Развернуть заметку" expandTweet: "Развернуть твит"
themeEditor: "Редактор темы оформления" themeEditor: "Редактор темы оформления"
description: "Описание" description: "Описание"
describeFile: "Добавить подпись" describeFile: "Добавить подпись"
@ -653,7 +613,7 @@ plugins: "Расширения"
preferencesBackups: "Резервная копия" preferencesBackups: "Резервная копия"
deck: "Пульт" deck: "Пульт"
undeck: "Покинуть пульт" undeck: "Покинуть пульт"
useBlurEffectForModal: "Размытие за формой ввода заметки" useBlurEffectForModal: "Размывка под формой поверх всего"
useFullReactionPicker: "Полнофункциональный выбор реакций" useFullReactionPicker: "Полнофункциональный выбор реакций"
width: "Ширина" width: "Ширина"
height: "Высота" height: "Высота"
@ -684,19 +644,14 @@ smtpSecure: "Использовать SSL/TLS для SMTP-соединений"
smtpSecureInfo: "Выключите при использовании STARTTLS." smtpSecureInfo: "Выключите при использовании STARTTLS."
testEmail: "Проверка доставки электронной почты" testEmail: "Проверка доставки электронной почты"
wordMute: "Скрытие слов" wordMute: "Скрытие слов"
wordMuteDescription: "Сведите к минимуму записи, содержащие указанное утверждение. Нажмите на свернутую запись, чтобы отобразить ее." hardWordMute: ""
hardWordMute: "Строгое скрытие слов"
showMutedWord: "Отображать слово без уведомления (звука)"
hardWordMuteDescription: "Скрыть заметки, содержащие указанное слово или фразу. В отличие от word mute, заметка будет полностью скрыта от просмотра."
regexpError: "Ошибка в регулярном выражении" regexpError: "Ошибка в регулярном выражении"
regexpErrorDescription: "В списке {tab} скрытых слов, в строке {line} обнаружена синтаксическая ошибка:" regexpErrorDescription: "В списке {tab} скрытых слов, в строке {line} обнаружена синтаксическая ошибка:"
instanceMute: "Глушение инстансов" instanceMute: "Глушение инстансов"
userSaysSomething: "{name} что-то сообщает" userSaysSomething: "{name} что-то сообщает"
userSaysSomethingAbout: "{name} что-то говорил о「{word}」"
makeActive: "Активировать" makeActive: "Активировать"
display: "Отображение" display: "Отображение"
copy: "Копировать" copy: "Копировать"
copiedToClipboard: "Скопированы в буфер обмена"
metrics: "Метрики" metrics: "Метрики"
overview: "Обзор" overview: "Обзор"
logs: "Журналы" logs: "Журналы"
@ -725,7 +680,10 @@ abuseReported: "Жалоба отправлена. Большое спасибо
reporter: "Сообщивший" reporter: "Сообщивший"
reporteeOrigin: "О ком сообщено" reporteeOrigin: "О ком сообщено"
reporterOrigin: "Кто сообщил" reporterOrigin: "Кто сообщил"
forwardReport: "Отправить жалобу на инстанс автора."
forwardReportIsAnonymous: "Жалоба на удалённый инстанс будет отправлена анонимно. Вместо ваших данных у получателя будет отображена системная учётная запись."
send: "Отправить" send: "Отправить"
abuseMarkAsResolved: "Отметить жалобу как решённую"
openInNewTab: "Открыть в новой вкладке" openInNewTab: "Открыть в новой вкладке"
openInSideView: "Открывать в боковой колонке" openInSideView: "Открывать в боковой колонке"
defaultNavigationBehaviour: "Поведение навигации по умолчанию" defaultNavigationBehaviour: "Поведение навигации по умолчанию"
@ -768,7 +726,6 @@ lockedAccountInfo: "Даже если вы вручную подтверждае
alwaysMarkSensitive: "Отмечать файлы как «содержимое не для всех» по умолчанию" alwaysMarkSensitive: "Отмечать файлы как «содержимое не для всех» по умолчанию"
loadRawImages: "Сразу показывать изображения в полном размере" loadRawImages: "Сразу показывать изображения в полном размере"
disableShowingAnimatedImages: "Не проигрывать анимацию" disableShowingAnimatedImages: "Не проигрывать анимацию"
highlightSensitiveMedia: "Выделять содержимое не для всех"
verificationEmailSent: "Вам отправлено письмо для подтверждения. Пройдите, пожалуйста, по ссылке из письма, чтобы завершить проверку." verificationEmailSent: "Вам отправлено письмо для подтверждения. Пройдите, пожалуйста, по ссылке из письма, чтобы завершить проверку."
notSet: "Не настроено" notSet: "Не настроено"
emailVerified: "Адрес электронной почты подтверждён." emailVerified: "Адрес электронной почты подтверждён."
@ -784,8 +741,9 @@ thisIsExperimentalFeature: "Это экспериментальная функц
developer: "Разработчик" developer: "Разработчик"
makeExplorable: "Опубликовать профиль в «Обзоре»." makeExplorable: "Опубликовать профиль в «Обзоре»."
makeExplorableDescription: "Если выключить, ваш профиль не будет показан в разделе «Обзор»." makeExplorableDescription: "Если выключить, ваш профиль не будет показан в разделе «Обзор»."
showGapBetweenNotesInTimeline: "Показывать разделитель между заметками в ленте"
duplicate: "Дубликат" duplicate: "Дубликат"
left: "Слева" left: "Влево"
center: "По центру" center: "По центру"
wide: "Толстый" wide: "Толстый"
narrow: "Тонкий" narrow: "Тонкий"
@ -861,11 +819,10 @@ administration: "Управление"
accounts: "Учётные записи" accounts: "Учётные записи"
switch: "Переключение" switch: "Переключение"
noMaintainerInformationWarning: "Не заполнены сведения об администраторах" noMaintainerInformationWarning: "Не заполнены сведения об администраторах"
noInquiryUrlWarning: "URL-адрес контактной формы еще не задан."
noBotProtectionWarning: "Ботозащита не настроена" noBotProtectionWarning: "Ботозащита не настроена"
configure: "Настроить" configure: "Настроить"
postToGallery: "Опубликовать в галерею" postToGallery: "Опубликовать в галерею"
postToHashtag: "Написать заметку с этим хештегом" postToHashtag: "Написать заметку с этим хэштегом"
gallery: "Галерея" gallery: "Галерея"
recentPosts: "Недавние публикации" recentPosts: "Недавние публикации"
popularPosts: "Популярные публикации" popularPosts: "Популярные публикации"
@ -882,13 +839,13 @@ emailNotConfiguredWarning: "Не указан адрес электронной
ratio: "Соотношение" ratio: "Соотношение"
previewNoteText: "Предварительный просмотр" previewNoteText: "Предварительный просмотр"
customCss: "Индивидуальный CSS" customCss: "Индивидуальный CSS"
customCssWarn: "Используйте эту настройку только если знаете, что делаете. Ошибки здесь чреваты тем, что у вас перестанет нормально работать сайт." customCssWarn: "Используйте эту настройку только если знаете, что делаете. Ошибки здесь чреваты тем, что сайт перестанет нормально работать у вас."
global: "Всеобщая" global: "Всеобщая"
squareAvatars: "Квадратные аватарки" squareAvatars: "Квадратные аватарки"
sent: "Отправить" sent: "Отправить"
received: "Получено" received: "Получено"
searchResult: "Результаты поиска" searchResult: "Результаты поиска"
hashtags: "Хештеги" hashtags: "Хэштег"
troubleshooting: "Разрешение проблем" troubleshooting: "Разрешение проблем"
useBlurEffect: "Размытие в интерфейсе" useBlurEffect: "Размытие в интерфейсе"
learnMore: "Подробнее" learnMore: "Подробнее"
@ -900,7 +857,7 @@ accountDeletionInProgress: "В настоящее время выполняет
usernameInfo: "Имя, которое отличает вашу учетную запись от других на этом сервере. Вы можете использовать алфавит (a~z, A~Z), цифры (0~9) или символы подчеркивания (_). Имена пользователей не могут быть изменены позже." usernameInfo: "Имя, которое отличает вашу учетную запись от других на этом сервере. Вы можете использовать алфавит (a~z, A~Z), цифры (0~9) или символы подчеркивания (_). Имена пользователей не могут быть изменены позже."
aiChanMode: "Режим Ай" aiChanMode: "Режим Ай"
devMode: "Режим разработчика" devMode: "Режим разработчика"
keepCw: "Сохраняйте предупреждения о содержимом" keepCw: "Сохраняйте Предупреждения о содержимом"
pubSub: "Учётные записи Pub/Sub" pubSub: "Учётные записи Pub/Sub"
lastCommunication: "Последнее сообщение" lastCommunication: "Последнее сообщение"
resolved: "Решено" resolved: "Решено"
@ -921,12 +878,9 @@ makeReactionsPublicDescription: "Список сделанных вами реа
classic: "Классика" classic: "Классика"
muteThread: "Скрыть цепочку" muteThread: "Скрыть цепочку"
unmuteThread: "Отменить сокрытие цепочки" unmuteThread: "Отменить сокрытие цепочки"
followingVisibility: "Видимость подписок"
followersVisibility: "Видимость подписчиков"
continueThread: "Показать следующие ответы" continueThread: "Показать следующие ответы"
deleteAccountConfirm: "Учётная запись будет безвозвратно удалена. Подтверждаете?" deleteAccountConfirm: "Учётная запись будет безвозвратно удалена. Подтверждаете?"
incorrectPassword: "Пароль неверен." incorrectPassword: "Пароль неверен."
incorrectTotp: "Введен неверный одноразовый пароль или срок его действия истек."
voteConfirm: "Отдать голос за «{choice}»?" voteConfirm: "Отдать голос за «{choice}»?"
hide: "Спрятать" hide: "Спрятать"
useDrawerReactionPickerForMobile: "Выдвижная палитра на мобильном устройстве" useDrawerReactionPickerForMobile: "Выдвижная палитра на мобильном устройстве"
@ -951,9 +905,6 @@ oneHour: "1 час"
oneDay: "1 день" oneDay: "1 день"
oneWeek: "1 неделя" oneWeek: "1 неделя"
oneMonth: "1 месяц" oneMonth: "1 месяц"
threeMonths: "3 месяца"
oneYear: "1 год"
threeDays: "3 дня"
reflectMayTakeTime: "Изменения могут занять время для отображения" reflectMayTakeTime: "Изменения могут занять время для отображения"
failedToFetchAccountInformation: "Не удалось получить информацию об аккаунте" failedToFetchAccountInformation: "Не удалось получить информацию об аккаунте"
rateLimitExceeded: "Ограничение скорости превышено" rateLimitExceeded: "Ограничение скорости превышено"
@ -978,7 +929,6 @@ document: "Документ"
numberOfPageCache: "Количество сохранённых страниц в кэше" numberOfPageCache: "Количество сохранённых страниц в кэше"
numberOfPageCacheDescription: "Описание количества страниц в кэше" numberOfPageCacheDescription: "Описание количества страниц в кэше"
logoutConfirm: "Вы хотите выйти из аккаунта?" logoutConfirm: "Вы хотите выйти из аккаунта?"
logoutWillClearClientData: "Когда вы выйдете из системы, информация о конфигурации клиента будет удалена из браузера.Чтобы иметь возможность восстановить информацию о вашей конфигурации при повторном входе в систему, пожалуйста, включите опцию автоматического резервного копирования в настройках."
lastActiveDate: "Последняя дата использования" lastActiveDate: "Последняя дата использования"
statusbar: "Статусбар" statusbar: "Статусбар"
pleaseSelect: "Пожалуйста, выберите" pleaseSelect: "Пожалуйста, выберите"
@ -1028,7 +978,6 @@ neverShow: "Больше не показывать"
remindMeLater: "Напомнить позже" remindMeLater: "Напомнить позже"
didYouLikeMisskey: "Вам нравится Misskey?" didYouLikeMisskey: "Вам нравится Misskey?"
pleaseDonate: "Сайт {host} работает на Misskey. Это бесплатное программное обеспечение, и ваши пожертвования очень бы помогли продолжать его разработку!" pleaseDonate: "Сайт {host} работает на Misskey. Это бесплатное программное обеспечение, и ваши пожертвования очень бы помогли продолжать его разработку!"
correspondingSourceIsAvailable: "Соответствующий исходный код можно найти по адресу {anchor} "
roles: "Роли" roles: "Роли"
role: "Роль" role: "Роль"
noRole: "Нет роли" noRole: "Нет роли"
@ -1038,7 +987,6 @@ assign: "Назначить"
unassign: "Отменить назначение" unassign: "Отменить назначение"
color: "Цвет" color: "Цвет"
manageCustomEmojis: "Управлять пользовательскими эмодзи" manageCustomEmojis: "Управлять пользовательскими эмодзи"
manageAvatarDecorations: "Управление украшениями аватара"
youCannotCreateAnymore: "Вы достигли лимита создания." youCannotCreateAnymore: "Вы достигли лимита создания."
cannotPerformTemporary: "Временно недоступен" cannotPerformTemporary: "Временно недоступен"
cannotPerformTemporaryDescription: "Это действие временно невозможно выполнить из-за превышения лимита выполнения." cannotPerformTemporaryDescription: "Это действие временно невозможно выполнить из-за превышения лимита выполнения."
@ -1055,8 +1003,7 @@ thisPostMayBeAnnoying: "Это сообщение может быть непри
thisPostMayBeAnnoyingHome: "Этот пост может быть отправлен на главную" thisPostMayBeAnnoyingHome: "Этот пост может быть отправлен на главную"
thisPostMayBeAnnoyingCancel: "Этот пост не может быть отменен." thisPostMayBeAnnoyingCancel: "Этот пост не может быть отменен."
thisPostMayBeAnnoyingIgnore: "Этот пост может быть проигнорирован " thisPostMayBeAnnoyingIgnore: "Этот пост может быть проигнорирован "
collapseRenotes: "Сворачивать увиденные репосты" collapseRenotes: "Свернуть репосты"
collapseRenotesDescription: "Сворачивать посты с которыми вы взаимодействовали."
internalServerError: "Внутренняя ошибка сервера" internalServerError: "Внутренняя ошибка сервера"
internalServerErrorDescription: "Внутри сервера произошла непредвиденная ошибка." internalServerErrorDescription: "Внутри сервера произошла непредвиденная ошибка."
copyErrorInfo: "Скопировать код ошибки" copyErrorInfo: "Скопировать код ошибки"
@ -1080,30 +1027,20 @@ resetPasswordConfirm: "Сбросить пароль?"
sensitiveWords: "Чувствительные слова" sensitiveWords: "Чувствительные слова"
sensitiveWordsDescription: "Установите общедоступный диапазон заметки, содержащей заданное слово, на домашний. Можно сделать несколько настроек, разделив их переносами строк." sensitiveWordsDescription: "Установите общедоступный диапазон заметки, содержащей заданное слово, на домашний. Можно сделать несколько настроек, разделив их переносами строк."
sensitiveWordsDescription2: "Разделение пробелом создаёт спецификацию AND, а разделение косой чертой создаёт регулярное выражение." sensitiveWordsDescription2: "Разделение пробелом создаёт спецификацию AND, а разделение косой чертой создаёт регулярное выражение."
prohibitedWords: "Запрещённые слова"
prohibitedWordsDescription: "Включает вывод ошибки при попытке опубликовать пост, содержащий указанное слово/набор слов.\nМножество слов может быть указано, разделяемые новой строкой."
prohibitedWordsDescription2: "Разделение пробелом создаёт спецификацию AND, а разделение косой чертой создаёт регулярное выражение." prohibitedWordsDescription2: "Разделение пробелом создаёт спецификацию AND, а разделение косой чертой создаёт регулярное выражение."
hiddenTags: "Скрытые хештеги"
hiddenTagsDescription: "Установленные теги не будут отображаться в тренде, можно установить несколько тегов."
notesSearchNotAvailable: "Поиск заметок недоступен" notesSearchNotAvailable: "Поиск заметок недоступен"
license: "Лицензия" license: "Лицензия"
unfavoriteConfirm: "Удалить избранное?" unfavoriteConfirm: "Удалить избранное?"
myClips: "Мои подборки" myClips: "Мои клипы"
drivecleaner: "Очиститель дисков" drivecleaner: "Очиститель дисков"
retryAllQueuesNow: "Повторить все очереди сейчас" retryAllQueuesNow: "Повторить все очереди сейчас"
retryAllQueuesConfirmTitle: "Хотите попробовать ещё раз?" retryAllQueuesConfirmTitle: "Хотите попробовать ещё раз?"
retryAllQueuesConfirmText: "Нагрузка на сервер может увеличиться" retryAllQueuesConfirmText: "Нагрузка на сервер может увеличиться"
enableChartsForRemoteUser: "Создание диаграмм для удалённых пользователей" enableChartsForRemoteUser: "Создание диаграмм для удалённых пользователей"
enableChartsForFederatedInstances: "Создание диаграмм для удалённых серверов" enableChartsForFederatedInstances: "Создание диаграмм для удалённых серверов"
enableStatsForFederatedInstances: "Получить информацию об удаленном сервере"
showClipButtonInNoteFooter: "Показать кнопку добавления в подборку в меню действий с заметкой"
reactionsDisplaySize: "Размер реакций"
limitWidthOfReaction: "Ограничить максимальную ширину реакций и отображать их в уменьшенном размере."
noteIdOrUrl: "ID или ссылка на заметку" noteIdOrUrl: "ID или ссылка на заметку"
video: "Видео" video: "Видео"
videos: "Видео" videos: "Видео"
audio: "Звук"
audioFiles: "Звуковые файлы"
dataSaver: "Экономия трафика" dataSaver: "Экономия трафика"
accountMigration: "Перенос учётной записи" accountMigration: "Перенос учётной записи"
accountMoved: "Учётная запись перенесена" accountMoved: "Учётная запись перенесена"
@ -1115,13 +1052,12 @@ editMemo: "Изменить памятку"
reactionsList: "Список реакций" reactionsList: "Список реакций"
renotesList: "Репосты" renotesList: "Репосты"
notificationDisplay: "Отображение уведомлений" notificationDisplay: "Отображение уведомлений"
leftTop: "Слева вверху" leftTop: "Влево вверх"
rightTop: "Справа сверху" rightTop: "Вправо вверх"
leftBottom: "Слева внизу" leftBottom: "Влево вниз"
rightBottom: "Справа внизу" rightBottom: "Вправо вниз"
stackAxis: "Положение уведомлений" vertical: "Вертикальная"
vertical: "Вертикально" horizontal: "Сбоку"
horizontal: "Горизонтально"
position: "Позиция" position: "Позиция"
serverRules: "Правила сервера" serverRules: "Правила сервера"
pleaseConfirmBelowBeforeSignup: "Для регистрации на данном сервере, необходимо согласится с нижеследующими положениями." pleaseConfirmBelowBeforeSignup: "Для регистрации на данном сервере, необходимо согласится с нижеследующими положениями."
@ -1131,137 +1067,59 @@ preservedUsernames: "Зарезервированные имена пользо
preservedUsernamesDescription: "Перечислите зарезервированные имена пользователей, отделяя их строками. Они станут недоступны при создании учётной записи. Это ограничение не применяется при создании учётной записи администраторами. Также, уже существующие учётные записи останутся без изменений." preservedUsernamesDescription: "Перечислите зарезервированные имена пользователей, отделяя их строками. Они станут недоступны при создании учётной записи. Это ограничение не применяется при создании учётной записи администраторами. Также, уже существующие учётные записи останутся без изменений."
createNoteFromTheFile: "Создать заметку из этого файла" createNoteFromTheFile: "Создать заметку из этого файла"
archive: "Архив" archive: "Архив"
archived: "Архивировано"
unarchive: "Разархивировать"
channelArchiveConfirmTitle: "Переместить {name} в архив?" channelArchiveConfirmTitle: "Переместить {name} в архив?"
channelArchiveConfirmDescription: "Архивированные каналы перестанут отображаться в списке каналов или результатах поиска. В них также нельзя будет добавлять новые записи." channelArchiveConfirmDescription: "Архивированные каналы перестанут отображаться в списке каналов или результатах поиска. В них также нельзя будет добавлять новые записи."
thisChannelArchived: "Этот канал находится в архиве."
displayOfNote: "Отображение заметок" displayOfNote: "Отображение заметок"
initialAccountSetting: "Настройка профиля" initialAccountSetting: "Настройка профиля"
youFollowing: "Вы подписаны" youFollowing: "Подписки"
preventAiLearning: "Отказаться от использования в машинном обучении (Генеративный ИИ)" preventAiLearning: "Отказаться от использования в машинном обучении (Генеративный ИИ)"
preventAiLearningDescription: "Запросить краулеров не использовать опубликованный текст или изображения и т.д. для машинного обучения (Прогнозирующий / Генеративный ИИ) датасетов. Это достигается путём добавления \"noai\" HTTP-заголовка в ответ на соответствующий контент. Полного предотвращения через этот заголовок не избежать, так как он может быть просто проигнорирован."
options: "Настройки ролей" options: "Настройки ролей"
specifyUser: "Указанный пользователь" specifyUser: "Указанный пользователь"
lookupConfirm: "Хотите узнать?"
openTagPageConfirm: "Открыть страницу этого хештега?"
specifyHost: "Указать сайт"
failedToPreviewUrl: "Предварительный просмотр недоступен" failedToPreviewUrl: "Предварительный просмотр недоступен"
update: "Обновить" update: "Обновить"
rolesThatCanBeUsedThisEmojiAsReaction: "Роли тех, кому можно использовать эти эмодзи как реакцию" rolesThatCanBeUsedThisEmojiAsReaction: "Роли тех, кому можно использовать эти эмодзи как реакцию"
rolesThatCanBeUsedThisEmojiAsReactionEmptyDescription: "Если здесь ничего не указать, в качестве реакции эту эмодзи сможет использовать каждый." rolesThatCanBeUsedThisEmojiAsReactionEmptyDescription: "Если здесь ничего не указать, в качестве реакции эту эмодзи сможет использовать каждый."
rolesThatCanBeUsedThisEmojiAsReactionPublicRoleWarn: "Эти роли должны быть общедоступными."
cancelReactionConfirm: "Вы действительно хотите удалить свою реакцию?"
changeReactionConfirm: "Вы действительно хотите удалить свою реакцию?"
later: "Позже" later: "Позже"
goToMisskey: "К Misskey" goToMisskey: "К Misskey"
additionalEmojiDictionary: "Дополнительные словари эмодзи" additionalEmojiDictionary: "Дополнительные словари эмодзи"
installed: "Установлено" installed: "Установлено"
branding: "Бренд" branding: "Бренд"
enableServerMachineStats: "Опубликовать характеристики сервера"
enableIdenticonGeneration: "Включить генерацию иконки пользователя" enableIdenticonGeneration: "Включить генерацию иконки пользователя"
turnOffToImprovePerformance: "Отключение этого параметра может повысить производительность." turnOffToImprovePerformance: "Отключение этого параметра может повысить производительность."
createInviteCode: "Создать код приглашения"
createWithOptions: "Используйте параметры для создания"
createCount: "Количество приглашений"
inviteCodeCreated: "Создан пригласительный код"
inviteLimitExceeded: "Достигнут предел количества пригласительных кодов, которые могут быть созданы."
createLimitRemaining: "Пригласительные коды, которые могут быть созданы: {limit} "
inviteLimitResetCycle: "За определенное {time} Вы можете создать неограниченное количество пригласительных кодов {limit} "
expirationDate: "Дата истечения" expirationDate: "Дата истечения"
noExpirationDate: "Бессрочно" unused: "Неиспользуемый"
inviteCodeUsedAt: "Дата и время, когда был использован пригласительный код"
registeredUserUsingInviteCode: "Пользователи, которые использовали пригласительный код"
unused: "Неиспользованное"
used: "Использован"
expired: "Срок действия приглашения истёк" expired: "Срок действия приглашения истёк"
doYouAgree: "Согласны?" doYouAgree: "Согласны?"
icon: "Аватар" icon: "Аватар"
replies: "Ответы" replies: "Ответы"
renotes: "Репост" renotes: "Репост"
loadReplies: "Показать ответы" loadReplies: "Показать ответы"
pinnedList: "Закреплённый список"
keepScreenOn: "Держать экран включённым"
showRenotes: "Показывать репосты"
mutualFollow: "Взаимные подписки"
followingOrFollower: "Подписки или подписчики"
fileAttachedOnly: "Только заметки с файлами"
showRepliesToOthersInTimeline: "Показывать ответы в ленте"
showRepliesToOthersInTimelineAll: "Показывать в ленте ответы пользователей, на которых вы подписаны"
hideRepliesToOthersInTimelineAll: "Скрывать в ленте ответы пользователей, на которых вы подписаны"
sourceCode: "Исходный код" sourceCode: "Исходный код"
sourceCodeIsNotYetProvided: "Исходный код пока не доступен. Свяжитесь с администратором, чтобы исправить эту проблему."
repositoryUrl: "Ссылка на репозиторий"
repositoryUrlDescription: "Если вы используете Misskey как есть (без изменений в исходном коде), введите https://github.com/misskey-dev/misskey"
privacyPolicy: "Политика Конфиденциальности"
privacyPolicyUrl: "Ссылка на Политику Конфиденциальности"
attach: "Прикрепить"
angle: "Угол"
flip: "Переворот" flip: "Переворот"
useGroupedNotifications: "Отображать уведомления сгруппировано"
doReaction: "Добавить реакцию"
code: "Код" code: "Код"
remainingN: "Остаётся: {n}"
seasonalScreenEffect: "Эффект времени года на экране"
decorate: "Украсить"
addMfmFunction: "Добавить MFM"
lastNDays: "Последние {n} сут" lastNDays: "Последние {n} сут"
hemisphere: "Место проживания"
enableHorizontalSwipe: "Смахните в сторону, чтобы сменить вкладки"
surrender: "Этот пост не может быть отменен." surrender: "Этот пост не может быть отменен."
useNativeUIForVideoAudioPlayer: "Использовать интерфейс браузера при проигрывании видео и звука"
keepOriginalFilename: "Сохранять исходное имя файла"
keepOriginalFilenameDescription: "Если вы выключите данную настройку, имена файлов будут автоматически заменены случайной строкой при загрузке."
alwaysConfirmFollow: "Всегда подтверждать подписку"
inquiry: "Связаться"
messageToFollower: "Сообщение подписчикам"
postForm: "Форма отправки"
information: "Описание"
_chat:
invitations: "Пригласить"
noHistory: "История пока пуста"
members: "Участники"
home: "Главная"
send: "Отправить"
_settings:
webhook: "Вебхук"
_delivery: _delivery:
stop: "Заморожено" stop: "Заморожено"
_type: _type:
none: "Публикация" none: "Публикация"
_announcement:
tooManyActiveAnnouncementDescription: "Большое количество оповещений может ухудшить пользовательский опыт. Рассмотрите архивирование неактуальных оповещений. "
_initialAccountSetting: _initialAccountSetting:
accountCreated: "Аккаунт успешно создан!" accountCreated: "Аккаунт успешно создан!"
letsStartAccountSetup: "Давайте настроим вашу учётную запись." letsStartAccountSetup: "Давайте настроим вашу учётную запись."
profileSetting: "Настройки профиля" profileSetting: "Настройки профиля"
privacySetting: "Настройки конфиденциальности" privacySetting: "Настройки конфиденциальности"
initialAccountSettingCompleted: "Первоначальная настройка успешно завершена!" initialAccountSettingCompleted: "Первоначальная настройка успешно завершена!"
startTutorial: "Пройти Обучение"
skipAreYouSure: "Пропустить настройку?" skipAreYouSure: "Пропустить настройку?"
_initialTutorial: _initialTutorial:
launchTutorial: "Пройти обучение"
_note: _note:
description: "Посты в Misskey называются 'Заметками.' Заметки отсортированы в хронологическом порядке в ленте и обновляются в режиме реального времени." description: "Посты в Misskey называются 'Заметками.' Заметки отсортированы в хронологическом порядке в ленте и обновляются в режиме реального времени."
_reaction:
reactToContinue: "Добавьте реакцию, чтобы продолжить."
_postNote:
_visibility:
public: "Твоя заметка будет видна всем."
doNotSendConfidencialOnDirect2: "Администратор целевого сервера может видеть что вы отправляете. Будьте осторожны с конфиденциальной информацией, когда отправляете личные заметки пользователям с ненадёжных серверов."
_timelineDescription: _timelineDescription:
home: "В персональной ленте располагаются заметки тех, на которых вы подписаны." home: "В персональной ленте располагаются заметки тех, на которых вы подписаны."
local: "Местная лента показывает заметки всех пользователей этого экземпляра." local: "Местная лента показывает заметки всех пользователей этого сайта."
social: "В социальной ленте собирается всё, что есть в персональной и местной лентах." social: "В социальной ленте собирается всё, что есть в персональной и местной лентах."
global: "В глобальную ленту попадает вообще всё со связанных экземпляров." global: "В глобальную ленту попадает вообще всё со связанных инстансов."
_serverSettings: _serverSettings:
iconUrl: "Адрес на иконку роли" iconUrl: "Адрес на иконку роли"
_accountMigration:
moveFrom: "Перенести другую учётную запись сюда"
moveTo: "Перенести учётную запись на другой сервер"
moveAccountDescription: "Это действие перенесёт ваш аккаунт на другой сервер.\n ・Подписчики с этого аккаунта автоматически подпишутся на новый\n ・Этот аккаунт отпишется от всех пользователей, на которых подписан сейчас\n Вы не сможете создавать новые заметки и т.д. на этом аккаунте\n\nТогда как перенос подписчиков происходит автоматически, вы должны будете подготовиться, сделав некоторые шаги, чтобы перенести список пользователей, на которых вы подписаны. Чтобы сделать это, экспортируйте список подписчиков в файл, который затем импортируете на новом аккаунте в меню настроек. То же самое необходимо будет сделать со списками, также как и со скрытыми и заблокированными пользователями.\n\n(Это объяснение применяется к Misskey v13.12.0 и выше. Другое ActivityPub программное обеспечение, такое, как Mastodon, может работать по-другому."
startMigration: "Перенести"
movedAndCannotBeUndone: "Аккаунт был перемещён. Это действие необратимо."
_achievements: _achievements:
earnedAt: "Разблокировано в" earnedAt: "Разблокировано в"
_types: _types:
@ -1537,7 +1395,6 @@ _role:
canPublicNote: "Может публиковать общедоступные заметки" canPublicNote: "Может публиковать общедоступные заметки"
canInvite: "Может создавать пригласительные коды" canInvite: "Может создавать пригласительные коды"
canManageCustomEmojis: "Управлять пользовательскими эмодзи" canManageCustomEmojis: "Управлять пользовательскими эмодзи"
canManageAvatarDecorations: "Управление украшениями аватара"
driveCapacity: "Доступное пространство на «диске»" driveCapacity: "Доступное пространство на «диске»"
alwaysMarkNsfw: "Всегда отмечать файлы как «не для всех»" alwaysMarkNsfw: "Всегда отмечать файлы как «не для всех»"
pinMax: "Доступное количество закреплённых заметок" pinMax: "Доступное количество закреплённых заметок"
@ -1551,7 +1408,6 @@ _role:
rateLimitFactor: "Ограничение активности" rateLimitFactor: "Ограничение активности"
descriptionOfRateLimitFactor: "Меньшее значение — слабые ограничения, большее — сильные" descriptionOfRateLimitFactor: "Меньшее значение — слабые ограничения, большее — сильные"
canHideAds: "Может скрыть рекламу" canHideAds: "Может скрыть рекламу"
canImportFollowing: "Можно импортировать подписчиков"
_condition: _condition:
isLocal: "Местный" isLocal: "Местный"
isRemote: "Неместный" isRemote: "Неместный"
@ -1649,11 +1505,6 @@ _aboutMisskey:
donate: "Пожертвование на Misskey" donate: "Пожертвование на Misskey"
morePatrons: "Большое спасибо и многим другим, кто принял участие в этом проекте! 🥰" morePatrons: "Большое спасибо и многим другим, кто принял участие в этом проекте! 🥰"
patrons: "Материальная поддержка" patrons: "Материальная поддержка"
projectMembers: "Участники проекта"
_displayOfSensitiveMedia:
respect: "Скрывать содержимое не для всех"
ignore: "Показывать содержимое не для всех"
force: "Скрывать всё содержимое"
_instanceTicker: _instanceTicker:
none: "Не показывать" none: "Не показывать"
remote: "Только для других сайтов" remote: "Только для других сайтов"
@ -1682,7 +1533,7 @@ _wordMute:
muteWordsDescription: "Пишите слова через пробел в одной строке, чтобы фильтровать их появление вместе; а если хотите фильтровать любое из них, пишите в отдельных строках." muteWordsDescription: "Пишите слова через пробел в одной строке, чтобы фильтровать их появление вместе; а если хотите фильтровать любое из них, пишите в отдельных строках."
muteWordsDescription2: "Здесь можно использовать регулярные выражения — просто заключите их между двумя дробными чертами (/)." muteWordsDescription2: "Здесь можно использовать регулярные выражения — просто заключите их между двумя дробными чертами (/)."
_instanceMute: _instanceMute:
instanceMuteDescription: "Любые активности, затрагивающие инстансы из данного списка, будут скрыты." instanceMuteDescription: "Заметки и репосты с указанных здесь инстансов, а также ответы пользователям оттуда же не будут отображаться."
instanceMuteDescription2: "Пишите каждый инстанс на отдельной строке" instanceMuteDescription2: "Пишите каждый инстанс на отдельной строке"
title: "Скрывает заметки с заданных инстансов." title: "Скрывает заметки с заданных инстансов."
heading: "Список скрытых инстансов" heading: "Список скрытых инстансов"
@ -1727,10 +1578,11 @@ _theme:
header: "Заголовок" header: "Заголовок"
navBg: "Фон боковой панели" navBg: "Фон боковой панели"
navFg: "Текст на боковой панели" navFg: "Текст на боковой панели"
navHoverFg: "Текст на боковой панели (под указателем)"
navActive: "Текст на боковой панели (активирован)" navActive: "Текст на боковой панели (активирован)"
navIndicator: "Индикатор на боковой панели" navIndicator: "Индикатор на боковой панели"
link: "Ссылка" link: "Ссылка"
hashtag: "Хештег" hashtag: "Хэштег"
mention: "Упоминание" mention: "Упоминание"
mentionMe: "Упоминания вас" mentionMe: "Упоминания вас"
renote: "Репост" renote: "Репост"
@ -1748,17 +1600,18 @@ _theme:
buttonBg: "Фон кнопки" buttonBg: "Фон кнопки"
buttonHoverBg: "Текст кнопки" buttonHoverBg: "Текст кнопки"
inputBorder: "Рамка поля ввода" inputBorder: "Рамка поля ввода"
listItemHoverBg: "Фон пункта списка (под указателем)"
driveFolderBg: "Фон папки «Диска»"
wallpaperOverlay: "Слой обоев"
badge: "Значок" badge: "Значок"
messageBg: "Фон беседы" messageBg: "Фон беседы"
accentDarken: "Фон (затемнённый)"
accentLighten: "Фон (осветлённый)"
fgHighlighted: "Подсвеченный текст" fgHighlighted: "Подсвеченный текст"
_sfx: _sfx:
note: "Заметки" note: "Заметки"
noteMy: "Собственные заметки" noteMy: "Собственные заметки"
notification: "Уведомления" notification: "Уведомления"
reaction: "При выборе реакции"
_soundSettings:
driveFile: "Использовать аудиофайл с Диска."
driveFileWarn: "Выбрать аудиофайл с Диска."
_ago: _ago:
future: "Из будущего" future: "Из будущего"
justNow: "Только что" justNow: "Только что"
@ -1837,8 +1690,6 @@ _permissions:
"write:gallery": "Редактирование галереи" "write:gallery": "Редактирование галереи"
"read:gallery-likes": "Просмотр списка понравившегося в галерее" "read:gallery-likes": "Просмотр списка понравившегося в галерее"
"write:gallery-likes": "Изменение списка понравившегося в галерее" "write:gallery-likes": "Изменение списка понравившегося в галерее"
"write:admin:reset-password": "Сбросить пароль пользователю"
"write:chat": "Писать и удалять сообщения"
_auth: _auth:
shareAccessTitle: "Разрешения для приложений" shareAccessTitle: "Разрешения для приложений"
shareAccess: "Дать доступ для «{name}» к вашей учётной записи?" shareAccess: "Дать доступ для «{name}» к вашей учётной записи?"
@ -1892,7 +1743,6 @@ _widgets:
_userList: _userList:
chooseList: "Выберите список" chooseList: "Выберите список"
clicker: "Счётчик щелчков" clicker: "Счётчик щелчков"
birthdayFollowings: "Пользователи, у которых сегодня день рождения"
_cw: _cw:
hide: "Спрятать" hide: "Спрятать"
show: "Показать" show: "Показать"
@ -1946,7 +1796,7 @@ _profile:
name: "Имя" name: "Имя"
username: "Имя пользователя" username: "Имя пользователя"
description: "О себе" description: "О себе"
youCanIncludeHashtags: "Можете использовать здесь хештеги." youCanIncludeHashtags: "Можете использовать здесь хэштеги"
metadata: "Дополнительные сведения" metadata: "Дополнительные сведения"
metadataEdit: "Редактировать дополнительные сведения" metadataEdit: "Редактировать дополнительные сведения"
metadataDescription: "Можно добавить до четырёх дополнительных граф в профиль." metadataDescription: "Можно добавить до четырёх дополнительных граф в профиль."
@ -1954,8 +1804,6 @@ _profile:
metadataContent: "Содержимое" metadataContent: "Содержимое"
changeAvatar: "Поменять аватар" changeAvatar: "Поменять аватар"
changeBanner: "Поменять изображение в шапке" changeBanner: "Поменять изображение в шапке"
verifiedLinkDescription: "Указывая здесь URL, содержащий ссылку на профиль, иконка владения ресурсом может быть отображена рядом с полем"
avatarDecorationMax: "Вы можете добавить до {max} украшений."
_exportOrImport: _exportOrImport:
allNotes: "Все заметки\n" allNotes: "Все заметки\n"
favoritedNotes: "Избранное" favoritedNotes: "Избранное"
@ -2016,6 +1864,9 @@ _pages:
newPage: "Создать страницу" newPage: "Создать страницу"
editPage: "Править страницу" editPage: "Править страницу"
readPage: "Читать страницу" readPage: "Читать страницу"
created: "Страница успешно создана."
updated: "Страница успешно обновлена."
deleted: "Страница успешно удалена."
pageSetting: "Настройки страницы" pageSetting: "Настройки страницы"
nameAlreadyExists: "Указанный адрес страницы уже существует." nameAlreadyExists: "Указанный адрес страницы уже существует."
invalidNameTitle: "Указанный адрес страницы недопустим." invalidNameTitle: "Указанный адрес страницы недопустим."
@ -2075,9 +1926,6 @@ _notification:
unreadAntennaNote: "Антенна {name}" unreadAntennaNote: "Антенна {name}"
emptyPushNotificationMessage: "Обновлены push-уведомления" emptyPushNotificationMessage: "Обновлены push-уведомления"
achievementEarned: "Получено достижение" achievementEarned: "Получено достижение"
checkNotificationBehavior: "Проверить внешний вид уведомления"
sendTestNotification: "Отправить тестовое уведомление"
flushNotification: "Очистить уведомления"
_types: _types:
all: "Все" all: "Все"
follow: "Подписки" follow: "Подписки"
@ -2090,7 +1938,6 @@ _notification:
receiveFollowRequest: "Получен запрос на подписку" receiveFollowRequest: "Получен запрос на подписку"
followRequestAccepted: "Запрос на подписку одобрен" followRequestAccepted: "Запрос на подписку одобрен"
achievementEarned: "Получение достижений" achievementEarned: "Получение достижений"
login: "Войти"
app: "Уведомления из приложений" app: "Уведомления из приложений"
_actions: _actions:
followBack: "отвечает взаимной подпиской" followBack: "отвечает взаимной подпиской"
@ -2130,73 +1977,19 @@ _dialog:
_disabledTimeline: _disabledTimeline:
title: "Лента отключена" title: "Лента отключена"
description: "Ваша текущая роль не позволяет пользоваться этой лентой." description: "Ваша текущая роль не позволяет пользоваться этой лентой."
_drivecleaner:
orderBySizeDesc: "Размеры файлов по убыванию"
orderByCreatedAtAsc: "По увеличению даты"
_webhookSettings: _webhookSettings:
createWebhook: "Создать вебхук" createWebhook: "Создать вебхук"
modifyWebhook: "Изменить Вебхук"
name: "Название" name: "Название"
secret: "Секрет"
trigger: "Условие срабатывания"
active: "Вкл." active: "Вкл."
_events:
follow: "Когда подписались на пользователя"
followed: "Когда на вас подписались"
note: "Когда создали заметку"
reply: "Когда получили ответ на заметку"
renote: "Когда вас репостнули"
reaction: "Когда получили реакцию"
mention: "Когда вас упоминают"
_systemEvents:
abuseReport: "Когда приходит жалоба"
abuseReportResolved: "Когда разрешается жалоба"
userCreated: "Когда создан пользователь"
deleteConfirm: "Вы уверены, что хотите удалить этот Вебхук?"
_abuseReport: _abuseReport:
_notificationRecipient: _notificationRecipient:
_recipientType: _recipientType:
mail: "Электронная почта" mail: "Электронная почта"
webhook: "Вебхук"
_captions:
webhook: "Отправить уведомление Системному Вебхуку при получении или разрешении жалоб."
notifiedWebhook: "Используемый Вебхук"
_moderationLogTypes: _moderationLogTypes:
suspend: "Заморозить" suspend: "Заморозить"
addCustomEmoji: "Добавлено эмодзи" addCustomEmoji: "Добавлено эмодзи"
updateCustomEmoji: "Изменено эмодзи" updateCustomEmoji: "Изменено эмодзи"
deleteCustomEmoji: "Удалено эмодзи" deleteCustomEmoji: "Удалено эмодзи"
deleteDriveFile: "Файл удалён"
resetPassword: "Сброс пароля:" resetPassword: "Сброс пароля:"
createInvitation: "Создать код приглашения"
createSystemWebhook: "Создать Системный Вебхук"
updateSystemWebhook: "Обновить Системый Вебхук"
deleteSystemWebhook: "Удалить Системный Вебхук"
_fileViewer:
url: "Ссылка"
attachedNotes: "Закреплённые заметки"
_dataSaver:
_code:
title: "Подсветка кода"
_hemisphere:
N: "Северное полушарие"
S: "Южное полушарие"
caption: "Используется для некоторых настроек клиента для определения сезона."
_reversi: _reversi:
total: "Всего" total: "Всего"
_remoteLookupErrors:
_noSuchObject:
title: "Не найдено"
_search:
searchScopeAll: "Все"
searchScopeLocal: "Местная"
searchScopeUser: "Указанный пользователь"
_watermarkEditor:
opacity: "Непрозрачность"
scale: "Размер"
text: "Текст"
position: "Позиция"
type: "Тип"
image: "Изображения"
advanced: "Для продвинутых"
angle: "Угол"

View file

@ -1,18 +1,10 @@
--- ---
_lang_: "සිංහල" _lang_: "සිංහල"
monthAndDay: "{month}-{day}" monthAndDay: "{month}-{day}"
search: "සොයන්න"
reset: "යළි සකසන්න"
notifications: "දැනුම්දීම්"
username: "පරිශීලක නාමය" username: "පරිශීලක නාමය"
password: "මුරපදය" password: "මුරපදය"
ok: "හරි"
gotIt: "තේරුණා"
cancel: "අවලංගු කරන්න" cancel: "අවලංගු කරන්න"
noThankYou: "එපා, ස්තුතියි"
noNotifications: "දැනුම්දීම් නැත"
instance: "සර්වර්" instance: "සර්වර්"
settings: "සැකසුම්"
login: "පිවිසෙන්න" login: "පිවිසෙන්න"
users: "පරිශීලක" users: "පරිශීලක"
note: "නෝට්" note: "නෝට්"
@ -21,19 +13,7 @@ instances: "සර්වර්"
smtpUser: "පරිශීලක නාමය" smtpUser: "පරිශීලක නාමය"
smtpPass: "මුරපදය" smtpPass: "මුරපදය"
user: "පරිශීලක" user: "පරිශීලක"
searchByGoogle: "සොයන්න"
_sfx: _sfx:
note: "නෝට්" note: "නෝට්"
notification: "දැනුම්දීම්"
_2fa:
renewTOTPCancel: "එපා, ස්තුතියි"
_widgets:
notifications: "දැනුම්දීම්"
_profile: _profile:
username: "පරිශීලක නාමය" username: "පරිශීලක නාමය"
_notification:
_types:
login: "පිවිසෙන්න"
_deck:
_columns:
notifications: "දැනුම්දීම්"

View file

@ -204,6 +204,7 @@ noUsers: "Žiadni používatelia"
editProfile: "Upraviť profil" editProfile: "Upraviť profil"
noteDeleteConfirm: "Naozaj chcete odstrániť túto poznámku?" noteDeleteConfirm: "Naozaj chcete odstrániť túto poznámku?"
pinLimitExceeded: "Ďalšie poznámky už nemôžete pripnúť." pinLimitExceeded: "Ďalšie poznámky už nemôžete pripnúť."
intro: "Inštalácia Misskey je dokončená! Prosím vytvorte administrátora."
done: "Hotovo" done: "Hotovo"
processing: "Pracujem..." processing: "Pracujem..."
preview: "Náhľad" preview: "Náhľad"
@ -241,6 +242,7 @@ removeAreYouSure: "Naozaj chcete odstrániť \"{x}\"?"
deleteAreYouSure: "Naozaj chcete odstrániť \"{x}\"?" deleteAreYouSure: "Naozaj chcete odstrániť \"{x}\"?"
resetAreYouSure: "Naozaj resetovať?" resetAreYouSure: "Naozaj resetovať?"
saved: "Uložené" saved: "Uložené"
messaging: "Chat"
upload: "Nahrať súbor" upload: "Nahrať súbor"
keepOriginalUploading: "Zachovať pôvodný obrázok" keepOriginalUploading: "Zachovať pôvodný obrázok"
keepOriginalUploadingDescription: "Uloží pôvodný obrázok ako je. Ak je vypnuté, verzia pre web sa vygeneruje pri nahratí." keepOriginalUploadingDescription: "Uloží pôvodný obrázok ako je. Ak je vypnuté, verzia pre web sa vygeneruje pri nahratí."
@ -253,6 +255,7 @@ uploadFromUrlMayTakeTime: "Nahrávanie môže nejaký čas trvať."
explore: "Objavovať" explore: "Objavovať"
messageRead: "Prečítané" messageRead: "Prečítané"
noMoreHistory: "To je všetko" noMoreHistory: "To je všetko"
startMessaging: "Začať chat"
nUsersRead: "prečítané {n} používateľmi" nUsersRead: "prečítané {n} používateľmi"
agreeTo: "Súhlasím s {0}" agreeTo: "Súhlasím s {0}"
agreeBelow: "Súhlasím s nasledovným" agreeBelow: "Súhlasím s nasledovným"
@ -328,6 +331,7 @@ enableLocalTimeline: "Povoliť lokálnu časovú os"
enableGlobalTimeline: "Povoliť globálnu časovú os" enableGlobalTimeline: "Povoliť globálnu časovú os"
disablingTimelinesInfo: "Administrátori a moderátori majú vždy prístup ku všetkým časovým osiam, aj keď sú vypnuté." disablingTimelinesInfo: "Administrátori a moderátori majú vždy prístup ku všetkým časovým osiam, aj keď sú vypnuté."
registration: "Registrácia" registration: "Registrácia"
enableRegistration: "Povoliť registráciu nových používateľov"
invite: "Pozvať" invite: "Pozvať"
driveCapacityPerLocalAccount: "Kapacita disku pre používateľa" driveCapacityPerLocalAccount: "Kapacita disku pre používateľa"
driveCapacityPerRemoteAccount: "Kapacita disku pre vzdialeného používateľa" driveCapacityPerRemoteAccount: "Kapacita disku pre vzdialeného používateľa"
@ -425,6 +429,8 @@ retype: "Zadajte znovu"
noteOf: "Poznámky používateľa {user}" noteOf: "Poznámky používateľa {user}"
quoteAttached: "Citované" quoteAttached: "Citované"
quoteQuestion: "Pripojiť ako citát?" quoteQuestion: "Pripojiť ako citát?"
noMessagesYet: "Zatiaľ žiadne správy"
newMessageExists: "Máte novú správu"
onlyOneFileCanBeAttached: "Ku správe môžete priložiť len jeden súbor" onlyOneFileCanBeAttached: "Ku správe môžete priložiť len jeden súbor"
signinRequired: "Prihláste sa, prosím!" signinRequired: "Prihláste sa, prosím!"
invitations: "Pozvať" invitations: "Pozvať"
@ -448,6 +454,7 @@ uiLanguage: "Jazyk používateľského prostredia"
aboutX: "O {x}" aboutX: "O {x}"
emojiStyle: "Štýl emoji" emojiStyle: "Štýl emoji"
native: "Natívne" native: "Natívne"
disableDrawer: "Nepoužívať šuflíkové menu"
showNoteActionsOnlyHover: "Ovládacie prvky poznámky sa zobrazujú len po nabehnutí myši" showNoteActionsOnlyHover: "Ovládacie prvky poznámky sa zobrazujú len po nabehnutí myši"
noHistory: "Žiadna história" noHistory: "Žiadna história"
signinHistory: "História prihlásení" signinHistory: "História prihlásení"
@ -625,7 +632,10 @@ abuseReported: "Vaše nahlásenie je odoslané. Veľmi pekne ďakujeme."
reporter: "Nahlásil" reporter: "Nahlásil"
reporteeOrigin: "Pôvod nahláseného" reporteeOrigin: "Pôvod nahláseného"
reporterOrigin: "Pôvod nahlasovača" reporterOrigin: "Pôvod nahlasovača"
forwardReport: "Preposlať nahlásenie na server"
forwardReportIsAnonymous: "Namiesto vášho účtu bude zobrazený anonymný systémový účet na vzdialenom serveri ako autor nahlásenia."
send: "Poslať" send: "Poslať"
abuseMarkAsResolved: "Označiť nahlásenia ako vyriešené"
openInNewTab: "Otvoriť v novom tabe" openInNewTab: "Otvoriť v novom tabe"
openInSideView: "Otvoriť v bočnom paneli" openInSideView: "Otvoriť v bočnom paneli"
defaultNavigationBehaviour: "Predvolené správanie navigácie" defaultNavigationBehaviour: "Predvolené správanie navigácie"
@ -681,6 +691,7 @@ experimentalFeatures: "Experimentálne funkcie"
developer: "Vývojár" developer: "Vývojár"
makeExplorable: "Spraviť účet viditeľný v \"Objavovať\"" makeExplorable: "Spraviť účet viditeľný v \"Objavovať\""
makeExplorableDescription: "Ak toto vypnete, váš účet sa nezobrazí v sekcii \"Objavovat\"." makeExplorableDescription: "Ak toto vypnete, váš účet sa nezobrazí v sekcii \"Objavovat\"."
showGapBetweenNotesInTimeline: "Zobraziť medzeru medzi príspevkami časovej osi."
duplicate: "Duplikovať" duplicate: "Duplikovať"
left: "Naľavo" left: "Naľavo"
center: "Stred" center: "Stred"
@ -911,14 +922,6 @@ renotes: "Preposlať"
sourceCode: "Zdrojový kód" sourceCode: "Zdrojový kód"
flip: "Preklopiť" flip: "Preklopiť"
lastNDays: "Posledných {n} dní" lastNDays: "Posledných {n} dní"
postForm: "Napísať poznámku"
information: "Informácie"
_chat:
invitations: "Pozvať"
noHistory: "Žiadna história"
members: "Členovia"
home: "Domov"
send: "Poslať"
_delivery: _delivery:
stop: "Zmrazené" stop: "Zmrazené"
_type: _type:
@ -1087,6 +1090,7 @@ _theme:
header: "Hlavička" header: "Hlavička"
navBg: "Pozadie bočného panela" navBg: "Pozadie bočného panela"
navFg: "Text bočného panela" navFg: "Text bočného panela"
navHoverFg: "Text bočného panela (pod kurzorom)"
navActive: "Text bočného panela (aktívny)" navActive: "Text bočného panela (aktívny)"
navIndicator: "Indikátor bočného panela" navIndicator: "Indikátor bočného panela"
link: "Odkaz" link: "Odkaz"
@ -1108,8 +1112,13 @@ _theme:
buttonBg: "Pozadie tlačidla" buttonBg: "Pozadie tlačidla"
buttonHoverBg: "Pozadie tlačidla (pod kurzorom)" buttonHoverBg: "Pozadie tlačidla (pod kurzorom)"
inputBorder: "Okraj vstupného poľa" inputBorder: "Okraj vstupného poľa"
listItemHoverBg: "Pozadie položky zoznamu (pod kurzorom)"
driveFolderBg: "Pozadie priečinu disku"
wallpaperOverlay: "Vrstvenie pozadia"
badge: "Odznak" badge: "Odznak"
messageBg: "Pozadie chatu" messageBg: "Pozadie chatu"
accentDarken: "Akcent (stmavené)"
accentLighten: "Akcent (zosvetlené)"
fgHighlighted: "Zvýraznený text" fgHighlighted: "Zvýraznený text"
_sfx: _sfx:
note: "Poznámky" note: "Poznámky"
@ -1173,7 +1182,6 @@ _permissions:
"write:gallery": "Upravovať vašu galériu" "write:gallery": "Upravovať vašu galériu"
"read:gallery-likes": "Vidieť zoznam obľúbených príspevkov z galérie" "read:gallery-likes": "Vidieť zoznam obľúbených príspevkov z galérie"
"write:gallery-likes": "Upraviť zoznam obľúbených príspevov z galérie" "write:gallery-likes": "Upraviť zoznam obľúbených príspevov z galérie"
"write:chat": "Písať alebo odstraňovať správy v chate"
_auth: _auth:
shareAccess: "Prajete si povoliť \"{name}\", aby mal prístup k tomuto účtu?" shareAccess: "Prajete si povoliť \"{name}\", aby mal prístup k tomuto účtu?"
shareAccessAsk: "Naozaj chcete povoliť tejto aplikácii prístup k tomuto účtu?" shareAccessAsk: "Naozaj chcete povoliť tejto aplikácii prístup k tomuto účtu?"
@ -1330,6 +1338,9 @@ _pages:
newPage: "Vytvoriť novú stránku" newPage: "Vytvoriť novú stránku"
editPage: "Upraviť túto stránku" editPage: "Upraviť túto stránku"
readPage: "Zobrazenie zdroja aktívne" readPage: "Zobrazenie zdroja aktívne"
created: "Stránka úspešne vytvorená"
updated: "Stránka úspešne upravená"
deleted: "Stránka úspešne odstránená"
pageSetting: "Nastavenia stránky" pageSetting: "Nastavenia stránky"
nameAlreadyExists: "Zadaná URL stránku už existuje" nameAlreadyExists: "Zadaná URL stránku už existuje"
invalidNameTitle: "Zadaná URL stránku je nesprávna" invalidNameTitle: "Zadaná URL stránku je nesprávna"
@ -1399,7 +1410,6 @@ _notification:
pollEnded: "Hlasovanie skončilo" pollEnded: "Hlasovanie skončilo"
receiveFollowRequest: "Doručené žiadosti o sledovanie" receiveFollowRequest: "Doručené žiadosti o sledovanie"
followRequestAccepted: "Schválené žiadosti o sledovanie" followRequestAccepted: "Schválené žiadosti o sledovanie"
login: "Prihlásiť sa"
app: "Oznámenia z prepojených aplikácií" app: "Oznámenia z prepojených aplikácií"
_actions: _actions:
followBack: "Sledovať späť\n" followBack: "Sledovať späť\n"
@ -1444,16 +1454,3 @@ _moderationLogTypes:
resetPassword: "Resetovať heslo" resetPassword: "Resetovať heslo"
_reversi: _reversi:
total: "Celkom" total: "Celkom"
_remoteLookupErrors:
_noSuchObject:
title: "Nenájdené"
_search:
searchScopeAll: "Všetko"
searchScopeLocal: "Lokálne"
_watermarkEditor:
opacity: "Priehľadnosť"
scale: "Veľkosť"
text: "Text"
type: "Typ"
image: "Obrázky"
advanced: "Rozšírené"

View file

@ -211,6 +211,7 @@ noUsers: "Det finns inga användare"
editProfile: "Redigera profil" editProfile: "Redigera profil"
noteDeleteConfirm: "Är du säker på att du vill ta bort denna not?" noteDeleteConfirm: "Är du säker på att du vill ta bort denna not?"
pinLimitExceeded: "Du kan inte fästa fler noter" pinLimitExceeded: "Du kan inte fästa fler noter"
intro: "Misskey har installerats! Vänligen skapa en adminanvändare."
done: "Klar" done: "Klar"
processing: "Bearbetar..." processing: "Bearbetar..."
preview: "Förhandsvisning" preview: "Förhandsvisning"
@ -248,6 +249,7 @@ removeAreYouSure: "Är du säker att du vill radera \"{x}\"?"
deleteAreYouSure: "Är du säker att du vill radera \"{x}\"?" deleteAreYouSure: "Är du säker att du vill radera \"{x}\"?"
resetAreYouSure: "Vill du återställa?" resetAreYouSure: "Vill du återställa?"
saved: "Sparad" saved: "Sparad"
messaging: "Chatt"
upload: "Ladda upp" upload: "Ladda upp"
keepOriginalUploading: "Behåll originalbild" keepOriginalUploading: "Behåll originalbild"
keepOriginalUploadingDescription: "Sparar den originellt uppladdade bilden i sitt i befintliga skick. Om avstängd, kommer en webbversion bli genererad vid uppladdning." keepOriginalUploadingDescription: "Sparar den originellt uppladdade bilden i sitt i befintliga skick. Om avstängd, kommer en webbversion bli genererad vid uppladdning."
@ -260,6 +262,7 @@ uploadFromUrlMayTakeTime: "Det kan ta tid tills att uppladdningen blir klar."
explore: "Utforska" explore: "Utforska"
messageRead: "Läs" messageRead: "Läs"
noMoreHistory: "Det finns ingen mer historik" noMoreHistory: "Det finns ingen mer historik"
startMessaging: "Starta en chatt"
nUsersRead: "läst av {n}" nUsersRead: "läst av {n}"
agreeTo: "Jag accepterar {0}" agreeTo: "Jag accepterar {0}"
agree: "Överens" agree: "Överens"
@ -330,6 +333,7 @@ disconnectService: "Koppla från"
enableLocalTimeline: "Aktivera lokal tidslinje" enableLocalTimeline: "Aktivera lokal tidslinje"
enableGlobalTimeline: "Aktivera global tidslinje" enableGlobalTimeline: "Aktivera global tidslinje"
registration: "Registrera" registration: "Registrera"
enableRegistration: "Aktivera registrering av nya användare"
invite: "Inbjudan" invite: "Inbjudan"
inMb: "I megabyte" inMb: "I megabyte"
bannerUrl: "URL till banner-bilden" bannerUrl: "URL till banner-bilden"
@ -381,7 +385,6 @@ passwordLessLoginDescription: "Tillåter lösenordsfri inloggning med endast en
resetPassword: "Återställ Lösenord" resetPassword: "Återställ Lösenord"
newPasswordIs: "Det nya lösenordet är \"{password}\"" newPasswordIs: "Det nya lösenordet är \"{password}\""
share: "Dela" share: "Dela"
markAsReadAllTalkMessages: "Markera alla meddelanden som lästa"
help: "Hjälp" help: "Hjälp"
close: "Stäng" close: "Stäng"
invites: "Inbjudan" invites: "Inbjudan"
@ -390,14 +393,12 @@ transfer: "Överför"
text: "Text" text: "Text"
enable: "Aktivera" enable: "Aktivera"
next: "Nästa" next: "Nästa"
retype: "Ange igen"
invitations: "Inbjudan" invitations: "Inbjudan"
invitationCode: "Inbjudningskod" invitationCode: "Inbjudningskod"
available: "Tillgängligt" available: "Tillgängligt"
weakPassword: "Svagt Lösenord" weakPassword: "Svagt Lösenord"
normalPassword: "Medel Lösenord" normalPassword: "Medel Lösenord"
strongPassword: "Starkt Lösenord" strongPassword: "Starkt Lösenord"
signinWith: "Logga in med {x}"
signinFailed: "Kan inte logga in. Det angivna användarnamnet eller lösenordet är felaktigt." signinFailed: "Kan inte logga in. Det angivna användarnamnet eller lösenordet är felaktigt."
or: "eller" or: "eller"
language: "Språk" language: "Språk"
@ -409,124 +410,70 @@ existingAccount: "Existerande konto"
regenerate: "Regenerera" regenerate: "Regenerera"
fontSize: "Textstorlek" fontSize: "Textstorlek"
openImageInNewTab: "Öppna bild i ny flik" openImageInNewTab: "Öppna bild i ny flik"
appearance: "Utseende"
clientSettings: "Klientinställningar" clientSettings: "Klientinställningar"
accountSettings: "Kontoinställningar" accountSettings: "Kontoinställningar"
numberOfDays: "Antal dagar" numberOfDays: "Antal dagar"
objectStorageUseSSL: "Använd SSL"
serverLogs: "Serverloggar"
deleteAll: "Radera alla" deleteAll: "Radera alla"
sounds: "Ljud" sounds: "Ljud"
sound: "Ljud" sound: "Ljud"
listen: "Lyssna" listen: "Lyssna"
none: "Ingen" none: "Ingen"
volume: "Volym" volume: "Volym"
notUseSound: "Inaktivera ljud"
chooseEmoji: "Välj en emoji" chooseEmoji: "Välj en emoji"
recentUsed: "Senast använd" recentUsed: "Senast använd"
install: "Installera" install: "Installera"
uninstall: "Avinstallera" uninstall: "Avinstallera"
deleteAllFiles: "Radera alla filer"
deleteAllFilesConfirm: "Är du säker på att du vill radera alla filer?"
menu: "Meny" menu: "Meny"
addItem: "Lägg till objekt"
serviceworkerInfo: "Måste vara aktiverad för pushnotiser." serviceworkerInfo: "Måste vara aktiverad för pushnotiser."
enableInfiniteScroll: "Ladda mer automatiskt" enableInfiniteScroll: "Ladda mer automatiskt"
enablePlayer: "Öppna videospelare" enablePlayer: "Öppna videospelare"
description: "Beskrivning"
permission: "Behörigheter" permission: "Behörigheter"
enableAll: "Aktivera alla" enableAll: "Aktivera alla"
disableAll: "Inaktivera alla"
edit: "Ändra" edit: "Ändra"
enableEmail: "Aktivera epost-utskick" enableEmail: "Aktivera epost-utskick"
email: "E-post" email: "E-post"
emailAddress: "E-postadress"
smtpHost: "Värd" smtpHost: "Värd"
smtpUser: "Användarnamn" smtpUser: "Användarnamn"
smtpPass: "Lösenord" smtpPass: "Lösenord"
emptyToDisableSmtpAuth: "Lämna användarnamn och lösenord tomt för att avaktivera SMTP verifiering" emptyToDisableSmtpAuth: "Lämna användarnamn och lösenord tomt för att avaktivera SMTP verifiering"
makeActive: "Aktivera"
copy: "Kopiera"
overview: "Översikt"
logs: "Logg" logs: "Logg"
database: "Databas"
channel: "kanal" channel: "kanal"
create: "Skapa" create: "Skapa"
other: "Mer" other: "Mer"
abuseReports: "Rapporter"
reportAbuse: "Rapporter"
reportAbuseOf: "Rapportera {name}"
abuseReported: "Din rapport har skickats. Tack så mycket."
send: "Skicka" send: "Skicka"
openInNewTab: "Öppna i ny flik" openInNewTab: "Öppna i ny flik"
createNew: "Skapa ny" createNew: "Skapa ny"
private: "Privat"
i18nInfo: "Misskey översätts till många olika språk av volontärer. Du kan hjälpa till med översättningen på {link}." i18nInfo: "Misskey översätts till många olika språk av volontärer. Du kan hjälpa till med översättningen på {link}."
accountInfo: "Kontoinformation" accountInfo: "Kontoinformation"
followersCount: "Antal följare"
yes: "Ja"
no: "Nej"
clips: "Klipp" clips: "Klipp"
duplicate: "Duplicera" duplicate: "Duplicera"
reloadToApplySetting: "Inställningen tillämpas efter sidan laddas om. Vill du göra det nu?" reloadToApplySetting: "Inställningen tillämpas efter sidan laddas om. Vill du göra det nu?"
clearCache: "Rensa cache" clearCache: "Rensa cache"
onlineUsersCount: "{n} användare är online" onlineUsersCount: "{n} användare är online"
nUsers: "{n} användare"
nNotes: "{n} Noter" nNotes: "{n} Noter"
backgroundColor: "Bakgrundsbild" backgroundColor: "Bakgrundsbild"
textColor: "Text" textColor: "Text"
saveAs: "Spara som..."
saveConfirm: "Spara ändringar?"
youAreRunningUpToDateClient: "Klienten du använder är uppdaterat." youAreRunningUpToDateClient: "Klienten du använder är uppdaterat."
newVersionOfClientAvailable: "Ny version av klienten är tillgänglig." newVersionOfClientAvailable: "Ny version av klienten är tillgänglig."
editCode: "Redigera kod"
publish: "Publicera" publish: "Publicera"
typingUsers: "{users} skriver" typingUsers: "{users} skriver"
goBack: "Tillbaka"
addDescription: "Lägg till beskrivning"
info: "Om" info: "Om"
online: "Online"
active: "Aktiv"
offline: "Offline"
enabled: "Aktiverad" enabled: "Aktiverad"
quickAction: "Snabbåtgärder"
user: "Användare" user: "Användare"
gallery: "Galleri"
popularPosts: "Populära inlägg"
customCssWarn: "Den här inställningen borde bara ändrats av en som har rätta kunskaper. Om du ställer in det här fel så kan klienten sluta fungera rätt." customCssWarn: "Den här inställningen borde bara ändrats av en som har rätta kunskaper. Om du ställer in det här fel så kan klienten sluta fungera rätt."
global: "Global" global: "Global"
squareAvatars: "Visa fyrkantiga profilbilder" squareAvatars: "Visa fyrkantiga profilbilder"
sent: "Skicka" sent: "Skicka"
searchResult: "Sökresultat"
learnMore: "Läs mer"
misskeyUpdated: "Misskey har uppdaterats!" misskeyUpdated: "Misskey har uppdaterats!"
translate: "Översätt"
controlPanel: "Kontrollpanel"
manageAccounts: "Hantera konton"
incorrectPassword: "Fel lösenord." incorrectPassword: "Fel lösenord."
hide: "Dölj"
welcomeBackWithName: "Välkommen tillbaka, {name}" welcomeBackWithName: "Välkommen tillbaka, {name}"
clickToFinishEmailVerification: "Tryck på [{ok}] för att slutföra bekräftelsen på e-postadressen." clickToFinishEmailVerification: "Tryck på [{ok}] för att slutföra bekräftelsen på e-postadressen."
size: "Storlek"
searchByGoogle: "Sök" searchByGoogle: "Sök"
indefinitely: "Aldrig"
tenMinutes: "10 minuter"
oneHour: "En timme"
oneDay: "En dag"
oneWeek: "En vecka"
oneMonth: "En månad"
threeMonths: "3 månader"
oneYear: "1 år"
threeDays: "3 dagar"
file: "Filer" file: "Filer"
deleteAccount: "Radera konto"
label: "Etikett"
cannotUploadBecauseNoFreeSpace: "Kan inte ladda upp filen för att det finns inget lagringsutrymme kvar." cannotUploadBecauseNoFreeSpace: "Kan inte ladda upp filen för att det finns inget lagringsutrymme kvar."
cannotUploadBecauseExceedsFileSizeLimit: "Kan inte ladda upp filen för att den är större än filstorleksgränsen." cannotUploadBecauseExceedsFileSizeLimit: "Kan inte ladda upp filen för att den är större än filstorleksgränsen."
beta: "Beta"
enableAutoSensitive: "Automatisk NSFW markering" enableAutoSensitive: "Automatisk NSFW markering"
enableAutoSensitiveDescription: "Tillåter automatiskt detektering och marketing av NSFW media genom Maskininlärning när möjligt. Även om denna inställningen är avaktiverad, kan det vara aktiverat på hela instansen." enableAutoSensitiveDescription: "Tillåter automatiskt detektering och marketing av NSFW media genom Maskininlärning när möjligt. Även om denna inställningen är avaktiverad, kan det vara aktiverat på hela instansen."
move: "Flytta"
pushNotification: "Pushnotiser" pushNotification: "Pushnotiser"
subscribePushNotification: "Aktivera pushnotiser" subscribePushNotification: "Aktivera pushnotiser"
unsubscribePushNotification: "Avaktivera pushnotiser" unsubscribePushNotification: "Avaktivera pushnotiser"
@ -535,92 +482,38 @@ pushNotificationNotSupported: "Din webbläsare eller instans har inte stöd för
windowMaximize: "Maximera" windowMaximize: "Maximera"
windowMinimize: "Minimera" windowMinimize: "Minimera"
windowRestore: "Återställ" windowRestore: "Återställ"
tools: "Verktyg"
like: "Gilla"
pleaseDonate: "Misskey är en gratis programvara som används på {host}. Donera gärna för att göra utvecklingen ständigt, tack!" pleaseDonate: "Misskey är en gratis programvara som används på {host}. Donera gärna för att göra utvecklingen ständigt, tack!"
roles: "Roll"
role: "Roll"
color: "Färg"
resetPasswordConfirm: "Återställ verkligen ditt lösenord?" resetPasswordConfirm: "Återställ verkligen ditt lösenord?"
dataSaver: "Databesparing" dataSaver: "Databesparing"
icon: "Profilbild" icon: "Profilbild"
forYou: "För dig"
replies: "Svara" replies: "Svara"
renotes: "Omnotera" renotes: "Omnotera"
loadReplies: "Visa svar"
loadConversation: "Visa konversation"
authentication: "Autentisering"
sourceCode: "Källkod"
doReaction: "Lägg till reaktion"
code: "Kod"
gameRetry: "Försök igen"
inquiry: "Kontakt"
tryAgain: "Försök igen senare"
signinWithPasskey: "Logga in med nyckel"
unknownWebAuthnKey: "Okänd nyckel"
information: "Om"
_chat:
invitations: "Inbjudan"
members: "Medlemmar"
home: "Hem"
send: "Skicka"
_delivery: _delivery:
stop: "Suspenderad" stop: "Suspenderad"
_type: _type:
none: "Publiceras" none: "Publiceras"
_initialAccountSetting:
profileSetting: "Profilinställningar"
_initialTutorial:
_reaction:
title: "Vad är reaktioner?"
_achievements: _achievements:
_types: _types:
_open3windows: _open3windows:
title: "Flera Fönster" title: "Flera Fönster"
description: "Ha minst 3 fönster öppna samtidigt" description: "Ha minst 3 fönster öppna samtidigt"
_role:
edit: "Redigera roll"
_ffVisibility: _ffVisibility:
public: "Publicera" public: "Publicera"
private: "Privat"
_accountDelete:
accountDelete: "Radera konto"
_ad:
back: "Tillbaka"
_gallery:
like: "Gilla"
_email: _email:
_follow: _follow:
title: "följde dig" title: "följde dig"
_aboutMisskey:
source: "Källkod"
projectMembers: "Projektmedlemmar"
_channel: _channel:
setBanner: "Välj banner" setBanner: "Välj banner"
removeBanner: "Ta bort banner" removeBanner: "Ta bort banner"
nameAndDescription: "Namn och beskrivning"
_menuDisplay:
hide: "Dölj"
_theme: _theme:
description: "Beskrivning"
color: "Färg"
keys: keys:
mention: "Nämn" mention: "Nämn"
renote: "Omnotera" renote: "Omnotera"
_sfx: _sfx:
note: "Noter" note: "Noter"
notification: "Notifikationer" notification: "Notifikationer"
_ago:
justNow: "Just nu"
_2fa: _2fa:
step3Title: "Ange en autentiseringskod"
renewTOTPCancel: "Nej tack" renewTOTPCancel: "Nej tack"
_permissions:
"read:reactions": "Visa dina reaktioner"
"write:reactions": "Redigera dina reaktioner"
"write:admin:delete-account": "Radera användarkonto"
"write:admin:roles": "Hantera roller"
"read:admin:roles": "Visa roller"
_antennaSources: _antennaSources:
all: "Alla noter" all: "Alla noter"
homeTimeline: "Noter från följda användare" homeTimeline: "Noter från följda användare"
@ -637,19 +530,13 @@ _widgets:
_userList: _userList:
chooseList: "Välj lista" chooseList: "Välj lista"
_cw: _cw:
hide: "Dölj"
show: "Ladda mer" show: "Ladda mer"
chars: "{count} tecken"
files: "{count} fil(er)"
_poll:
infinite: "Aldrig"
_visibility: _visibility:
home: "Hem" home: "Hem"
followers: "Följare" followers: "Följare"
_profile: _profile:
name: "Namn" name: "Namn"
username: "Användarnamn" username: "Användarnamn"
metadataLabel: "Etikett"
changeAvatar: "Ändra profilbild" changeAvatar: "Ändra profilbild"
changeBanner: "Ändra banner" changeBanner: "Ändra banner"
_exportOrImport: _exportOrImport:
@ -660,12 +547,9 @@ _exportOrImport:
userLists: "Listor" userLists: "Listor"
_charts: _charts:
federation: "Federation" federation: "Federation"
activeUsers: "Aktiva användare"
_timelines: _timelines:
home: "Hem" home: "Hem"
global: "Global" global: "Global"
_play:
summary: "Beskrivning"
_pages: _pages:
blocks: blocks:
image: "Bilder" image: "Bilder"
@ -678,13 +562,10 @@ _notification:
renote: "Omnotera" renote: "Omnotera"
quote: "Citat" quote: "Citat"
reaction: "Reaktioner" reaction: "Reaktioner"
login: "Logga in"
_actions: _actions:
reply: "Svara" reply: "Svara"
renote: "Omnotera" renote: "Omnotera"
_deck: _deck:
addColumn: "Lägg till kolumn"
deleteProfile: "Radera profil"
_columns: _columns:
notifications: "Notifikationer" notifications: "Notifikationer"
tl: "Tidslinje" tl: "Tidslinje"
@ -702,15 +583,3 @@ _abuseReport:
_moderationLogTypes: _moderationLogTypes:
suspend: "Suspendera" suspend: "Suspendera"
resetPassword: "Återställ Lösenord" resetPassword: "Återställ Lösenord"
_reversi:
blackOrWhite: "Svart/Vit"
rules: "Regler"
black: "Svart"
white: "Vit"
_selfXssPrevention:
warning: "VARNING"
_search:
searchScopeAll: "Allt"
_watermarkEditor:
scale: "Storlek"
image: "Bilder"

File diff suppressed because it is too large Load diff

View file

@ -8,7 +8,6 @@ search: "Arama"
notifications: "Bildirim" notifications: "Bildirim"
username: "Kullanıcı Adı" username: "Kullanıcı Adı"
password: "Şifre" password: "Şifre"
initialPasswordForSetup: ""
forgotPassword: "şifremi unuttum" forgotPassword: "şifremi unuttum"
fetchingAsApObject: "從聯邦宇宙取得中..." fetchingAsApObject: "從聯邦宇宙取得中..."
ok: "TAMAM" ok: "TAMAM"
@ -224,6 +223,7 @@ noUsers: "Kullanıcı yok"
editProfile: "Profili düzenle" editProfile: "Profili düzenle"
noteDeleteConfirm: "Bu notu silmek istediğinizden emin misiniz?" noteDeleteConfirm: "Bu notu silmek istediğinizden emin misiniz?"
pinLimitExceeded: "Daha fazla not sabitlenemez" pinLimitExceeded: "Daha fazla not sabitlenemez"
intro: "Misskey yüklemesi tamamlandı! Lütfen yönetici hesabını oluşturun."
done: "Tamamlandı" done: "Tamamlandı"
preview: "Önizleme" preview: "Önizleme"
default: "Varsayılan" default: "Varsayılan"
@ -260,6 +260,7 @@ removeAreYouSure: "\"{x}\" silmek istediğinizden emin misiniz?"
deleteAreYouSure: "\"{x}\" silmek istediğinizden emin misiniz?" deleteAreYouSure: "\"{x}\" silmek istediğinizden emin misiniz?"
resetAreYouSure: "Sıfırlansın mı?" resetAreYouSure: "Sıfırlansın mı?"
saved: "Kaydedildi" saved: "Kaydedildi"
messaging: "Mesajlar"
upload: "Yükle" upload: "Yükle"
keepOriginalUploading: "Orijinal görseli koru" keepOriginalUploading: "Orijinal görseli koru"
keepOriginalUploadingDescription: "Orijinal olarak yüklenen görüntüyü olduğu gibi kaydeder. Kapatılırsa, yükleme sırasında web'de görüntülenecek bir sürüm oluşturulur." keepOriginalUploadingDescription: "Orijinal olarak yüklenen görüntüyü olduğu gibi kaydeder. Kapatılırsa, yükleme sırasında web'de görüntülenecek bir sürüm oluşturulur."
@ -272,6 +273,7 @@ uploadFromUrlMayTakeTime: "Yüklemenin tamamlanması biraz süre alabilir."
explore: "Keşfet" explore: "Keşfet"
messageRead: "Okundu" messageRead: "Okundu"
noMoreHistory: "Bundan öncesi yok" noMoreHistory: "Bundan öncesi yok"
startMessaging: "Yeni bir sohbet başlat"
nUsersRead: "{n} kişi okudu" nUsersRead: "{n} kişi okudu"
agreeTo: "Kabul Ediyorum: {0}" agreeTo: "Kabul Ediyorum: {0}"
agree: "Kabul Et" agree: "Kabul Et"
@ -342,12 +344,14 @@ today: "Bugün"
monthX: "{month} ay" monthX: "{month} ay"
pages: "Sayfalar" pages: "Sayfalar"
integration: "Entegrasyon" integration: "Entegrasyon"
enableRegistration: "Kayıtlara izin ver"
basicInfo: "Temel bilgiler" basicInfo: "Temel bilgiler"
pinnedUsers: "Sabitlenmiş kullanıcılar" pinnedUsers: "Sabitlenmiş kullanıcılar"
pinnedNotes: "Sabitlenen" pinnedNotes: "Sabitlenen"
manageAntennas: "Anten ayarları" manageAntennas: "Anten ayarları"
userList: "Listeler" userList: "Listeler"
resetPassword: "Şifre sıfırlama" resetPassword: "Şifre sıfırlama"
noMessagesYet: "Şimdilik mesaj yok"
details: "Detaylar" details: "Detaylar"
deck: "Güverte" deck: "Güverte"
smtpHost: "Sağlayıcı" smtpHost: "Sağlayıcı"
@ -374,8 +378,6 @@ addMemo: "Kısa not ekle"
icon: "Avatar" icon: "Avatar"
replies: "yanıt" replies: "yanıt"
renotes: "vazgeçme" renotes: "vazgeçme"
_chat:
home: "Ana sayfa"
_delivery: _delivery:
stop: "Askıya alınmış" stop: "Askıya alınmış"
_type: _type:
@ -444,7 +446,6 @@ _notification:
reaction: "Tepkiler" reaction: "Tepkiler"
receiveFollowRequest: "Takip isteği alındı" receiveFollowRequest: "Takip isteği alındı"
followRequestAccepted: "Takip isteği kabul edildi" followRequestAccepted: "Takip isteği kabul edildi"
login: "Giriş Yap "
_actions: _actions:
reply: "yanıt" reply: "yanıt"
renote: "vazgeçme" renote: "vazgeçme"
@ -458,7 +459,3 @@ _deck:
_moderationLogTypes: _moderationLogTypes:
suspend: "askıya al" suspend: "askıya al"
resetPassword: "Şifre sıfırlama" resetPassword: "Şifre sıfırlama"
_search:
searchScopeAll: "Tümü"
_watermarkEditor:
image: "Görseller"

View file

@ -17,6 +17,3 @@ _2fa:
renewTOTPCancel: "ئۇنى توختىتىڭ" renewTOTPCancel: "ئۇنى توختىتىڭ"
_widgets: _widgets:
profile: "profile" profile: "profile"
_notification:
_types:
login: "كىرىش"

View file

@ -8,9 +8,6 @@ search: "Пошук"
notifications: "Сповіщення" notifications: "Сповіщення"
username: "Ім'я користувача" username: "Ім'я користувача"
password: "Пароль" password: "Пароль"
initialPasswordForSetup: "Початковий пароль для налаштування"
initialPasswordIsIncorrect: "Початковий пароль для налаштування неправильний"
initialPasswordForSetupDescription: "Використайте пароль, вказаний у конфігураційному файлі, якщо ви встановлювали Misskey власноруч.\nЯкщо використовуєте сервіси хостингу Misskey, використайте наданий пароль.\nЯкщо ви не маєте паролю, лишіть порожнім щоб продовжити. "
forgotPassword: "Я забув пароль" forgotPassword: "Я забув пароль"
fetchingAsApObject: "Отримуємо з федіверсу..." fetchingAsApObject: "Отримуємо з федіверсу..."
ok: "OK" ok: "OK"
@ -48,7 +45,6 @@ pin: "Закріпити"
unpin: "Відкріпити" unpin: "Відкріпити"
copyContent: "Скопіювати контент" copyContent: "Скопіювати контент"
copyLink: "Скопіювати посилання" copyLink: "Скопіювати посилання"
copyRemoteLink: "Копіювати віддалене посилання"
delete: "Видалити" delete: "Видалити"
deleteAndEdit: "Видалити й редагувати" deleteAndEdit: "Видалити й редагувати"
deleteAndEditConfirm: "Ви впевнені, що хочете видалити цю нотатку та відредагувати її? Ви втратите всі реакції, поширення та відповіді на неї." deleteAndEditConfirm: "Ви впевнені, що хочете видалити цю нотатку та відредагувати її? Ви втратите всі реакції, поширення та відповіді на неї."
@ -61,7 +57,6 @@ copyUserId: "Копіювати ID користувача"
copyNoteId: "блокнот ID користувача" copyNoteId: "блокнот ID користувача"
copyFileId: "Скопіювати ідентифікатор файлу." copyFileId: "Скопіювати ідентифікатор файлу."
searchUser: "Пошук користувачів" searchUser: "Пошук користувачів"
searchThisUsersNotes: "Пошук нотаток користувача"
reply: "Відповісти" reply: "Відповісти"
loadMore: "Показати більше" loadMore: "Показати більше"
showMore: "Показати більше" showMore: "Показати більше"
@ -110,11 +105,9 @@ enterEmoji: "Введіть емодзі"
renote: "Поширити" renote: "Поширити"
unrenote: "Відміна поширення" unrenote: "Відміна поширення"
renoted: "Поширити запис." renoted: "Поширити запис."
renotedToX: "Поширено до {name}"
cantRenote: "Неможливо поширити." cantRenote: "Неможливо поширити."
cantReRenote: "Поширення не можливо поширити." cantReRenote: "Поширення не можливо поширити."
quote: "Цитата" quote: "Цитата"
inChannelRenote: "Поширено у канал"
pinnedNote: "Закріплений запис" pinnedNote: "Закріплений запис"
pinned: "Закріпити" pinned: "Закріпити"
you: "Ви" you: "Ви"
@ -123,7 +116,6 @@ sensitive: "NSFW"
add: "Додати" add: "Додати"
reaction: "Реакції" reaction: "Реакції"
reactions: "Реакції" reactions: "Реакції"
emojiPicker: "Вибір реакції"
reactionSettingDescription2: "Перемістити щоб змінити порядок, Клацнути мишою щоб видалити, Натиснути \"+\" щоб додати." reactionSettingDescription2: "Перемістити щоб змінити порядок, Клацнути мишою щоб видалити, Натиснути \"+\" щоб додати."
rememberNoteVisibility: "Пам’ятати параметри видимісті" rememberNoteVisibility: "Пам’ятати параметри видимісті"
attachCancel: "Видалити вкладення" attachCancel: "Видалити вкладення"
@ -216,6 +208,7 @@ noUsers: "Немає користувачів"
editProfile: "Редагувати обліковий запис" editProfile: "Редагувати обліковий запис"
noteDeleteConfirm: "Ви дійсно хочете видалити цей запис?" noteDeleteConfirm: "Ви дійсно хочете видалити цей запис?"
pinLimitExceeded: "Більше записів не можна закріпити" pinLimitExceeded: "Більше записів не можна закріпити"
intro: "Встановлення Misskey завершено! Будь ласка, створіть обліковий запис адміністратора."
done: "Готово" done: "Готово"
processing: "Обробка" processing: "Обробка"
preview: "Попередній перегляд" preview: "Попередній перегляд"
@ -253,6 +246,7 @@ removeAreYouSure: "Ви впевнені, що хочете видалити \"{
deleteAreYouSure: "Ви впевнені, що хочете видалити \"{x}\"?" deleteAreYouSure: "Ви впевнені, що хочете видалити \"{x}\"?"
resetAreYouSure: "Справді скинути?" resetAreYouSure: "Справді скинути?"
saved: "Збережено" saved: "Збережено"
messaging: "Чати"
upload: "Завантажити" upload: "Завантажити"
keepOriginalUploading: "Зберегти оригінальне зображення" keepOriginalUploading: "Зберегти оригінальне зображення"
keepOriginalUploadingDescription: "Зберігає початково завантажене зображення як є. Якщо вимкнено, версія для відображення в Інтернеті буде створена під час завантаження." keepOriginalUploadingDescription: "Зберігає початково завантажене зображення як є. Якщо вимкнено, версія для відображення в Інтернеті буде створена під час завантаження."
@ -265,6 +259,7 @@ uploadFromUrlMayTakeTime: "Завантаження може зайняти де
explore: "Огляд" explore: "Огляд"
messageRead: "Прочитано" messageRead: "Прочитано"
noMoreHistory: "Подальшої історії немає" noMoreHistory: "Подальшої історії немає"
startMessaging: "Розпочати діалог"
nUsersRead: "Прочитали {n}" nUsersRead: "Прочитали {n}"
agreeTo: "Я погоджуюсь з {0}" agreeTo: "Я погоджуюсь з {0}"
agreeBelow: "Я погоджуюся з наведеним нижче" agreeBelow: "Я погоджуюся з наведеним нижче"
@ -297,9 +292,7 @@ folderName: "Ім'я теки"
createFolder: "Створити теку" createFolder: "Створити теку"
renameFolder: "Перейменувати теку" renameFolder: "Перейменувати теку"
deleteFolder: "Видалити теку" deleteFolder: "Видалити теку"
folder: "Тека"
addFile: "Додати файл" addFile: "Додати файл"
showFile: "Показати файл"
emptyDrive: "Диск порожній" emptyDrive: "Диск порожній"
emptyFolder: "Тека порожня" emptyFolder: "Тека порожня"
unableToDelete: "Видалення неможливе" unableToDelete: "Видалення неможливе"
@ -312,7 +305,6 @@ copyUrl: "Копіювати URL"
rename: "Перейменувати" rename: "Перейменувати"
avatar: "Аватар" avatar: "Аватар"
banner: "Банер" banner: "Банер"
displayOfSensitiveMedia: "Показ чутливого медіа"
whenServerDisconnected: "Коли зв’язок із сервером втрачено" whenServerDisconnected: "Коли зв’язок із сервером втрачено"
disconnectedFromServer: "Зв’язок із сервером було перервано" disconnectedFromServer: "Зв’язок із сервером було перервано"
reload: "Оновити" reload: "Оновити"
@ -342,6 +334,7 @@ enableLocalTimeline: "Увімкнути локальну стрічку"
enableGlobalTimeline: "Увімкнути глобальну стрічку" enableGlobalTimeline: "Увімкнути глобальну стрічку"
disablingTimelinesInfo: "Адміністратори та модератори завжди мають доступ до всіх стрічок, навіть якщо вони вимкнуті." disablingTimelinesInfo: "Адміністратори та модератори завжди мають доступ до всіх стрічок, навіть якщо вони вимкнуті."
registration: "Реєстрація" registration: "Реєстрація"
enableRegistration: "Дозволити реєстрацію"
invite: "Запросити" invite: "Запросити"
driveCapacityPerLocalAccount: "Об'єм диска на одного локального користувача" driveCapacityPerLocalAccount: "Об'єм диска на одного локального користувача"
driveCapacityPerRemoteAccount: "Об'єм диска на одного віддаленого користувача" driveCapacityPerRemoteAccount: "Об'єм диска на одного віддаленого користувача"
@ -359,11 +352,8 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Увімкнути hCaptcha" enableHcaptcha: "Увімкнути hCaptcha"
hcaptchaSiteKey: "Ключ сайту" hcaptchaSiteKey: "Ключ сайту"
hcaptchaSecretKey: "Секретний ключ" hcaptchaSecretKey: "Секретний ключ"
mcaptcha: "MCaptcha"
enableMcaptcha: "Увімкнути MCaptcha"
mcaptchaSiteKey: "Ключ сайту" mcaptchaSiteKey: "Ключ сайту"
mcaptchaSecretKey: "Секретний ключ" mcaptchaSecretKey: "Секретний ключ"
mcaptchaInstanceUrl: "Посилання на сервер MCaptcha"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Увімкнути reCAPTCHA" enableRecaptcha: "Увімкнути reCAPTCHA"
recaptchaSiteKey: "Ключ сайту" recaptchaSiteKey: "Ключ сайту"
@ -438,6 +428,8 @@ retype: "Введіть ще раз"
noteOf: "Нотатка {user}" noteOf: "Нотатка {user}"
quoteAttached: "Цитата" quoteAttached: "Цитата"
quoteQuestion: "Ви хочете додати цитату?" quoteQuestion: "Ви хочете додати цитату?"
noMessagesYet: "Ще немає повідомлень"
newMessageExists: "Є нові повідомлення"
onlyOneFileCanBeAttached: "До повідомлення можна вкласти лише один файл" onlyOneFileCanBeAttached: "До повідомлення можна вкласти лише один файл"
signinRequired: "Будь ласка, авторизуйтесь" signinRequired: "Будь ласка, авторизуйтесь"
invitations: "Запрошення" invitations: "Запрошення"
@ -460,6 +452,7 @@ language: "Мова"
uiLanguage: "Мова інтерфейсу" uiLanguage: "Мова інтерфейсу"
aboutX: "Про {x}" aboutX: "Про {x}"
native: "місцевий" native: "місцевий"
disableDrawer: "Не використовувати висувні меню"
noHistory: "Історія порожня" noHistory: "Історія порожня"
signinHistory: "Історія входів" signinHistory: "Історія входів"
enableAdvancedMfm: "Увімкнути розширений MFM" enableAdvancedMfm: "Увімкнути розширений MFM"
@ -638,7 +631,10 @@ abuseReported: "Дякуємо, вашу скаргу було відправл
reporter: "Репортер" reporter: "Репортер"
reporteeOrigin: "Про кого повідомлено" reporteeOrigin: "Про кого повідомлено"
reporterOrigin: "Хто повідомив" reporterOrigin: "Хто повідомив"
forwardReport: "Переслати звіт на віддалений інстанс"
forwardReportIsAnonymous: "Замість вашого облікового запису анонімний системний обліковий запис буде відображатися як доповідач на віддаленому інстансі"
send: "Відправити" send: "Відправити"
abuseMarkAsResolved: "Позначити скаргу як вирішену"
openInNewTab: "Відкрити в новій вкладці" openInNewTab: "Відкрити в новій вкладці"
openInSideView: "Відкрити збоку" openInSideView: "Відкрити збоку"
defaultNavigationBehaviour: "Поведінка навігації за замовчуванням" defaultNavigationBehaviour: "Поведінка навігації за замовчуванням"
@ -694,6 +690,7 @@ experimentalFeatures: "Експериментальні функції"
developer: "Розробник" developer: "Розробник"
makeExplorable: "Зробіть обліковий запис видимим у розділі \"Огляд\"" makeExplorable: "Зробіть обліковий запис видимим у розділі \"Огляд\""
makeExplorableDescription: "Вимкніть, щоб обліковий запис не показувався у розділі \"Огляд\"." makeExplorableDescription: "Вимкніть, щоб обліковий запис не показувався у розділі \"Огляд\"."
showGapBetweenNotesInTimeline: "Показувати розрив між записами у стрічці новин"
duplicate: "Дублікат" duplicate: "Дублікат"
left: "Лівий" left: "Лівий"
center: "Центр" center: "Центр"
@ -917,14 +914,6 @@ renotes: "Поширити"
sourceCode: "Вихідний код" sourceCode: "Вихідний код"
flip: "Перевернути" flip: "Перевернути"
lastNDays: "Останні {n} днів" lastNDays: "Останні {n} днів"
postForm: "Створення нотатки"
information: "Інформація"
_chat:
invitations: "Запросити"
noHistory: "Історія порожня"
members: "Учасники"
home: "Домівка"
send: "Відправити"
_delivery: _delivery:
stop: "Призупинено" stop: "Призупинено"
_type: _type:
@ -1295,6 +1284,7 @@ _theme:
header: "Заголовок" header: "Заголовок"
navBg: "Фон бокової панелі" navBg: "Фон бокової панелі"
navFg: "Текст бокової панелі" navFg: "Текст бокової панелі"
navHoverFg: "Текст бокової панелі (під курсором)"
navActive: "Текст бокової панелі (активне)" navActive: "Текст бокової панелі (активне)"
navIndicator: "Індикатор бокової панелі" navIndicator: "Індикатор бокової панелі"
link: "Посилання" link: "Посилання"
@ -1316,8 +1306,13 @@ _theme:
buttonBg: "Фон кнопки" buttonBg: "Фон кнопки"
buttonHoverBg: "Фон кнопки (при наведенні)" buttonHoverBg: "Фон кнопки (при наведенні)"
inputBorder: "Край поля вводу" inputBorder: "Край поля вводу"
listItemHoverBg: "Фон елементу в списку (при наведенні)"
driveFolderBg: "Фон папки на диску"
wallpaperOverlay: "Накладання шпалер"
badge: "Значок" badge: "Значок"
messageBg: "Фон переписки" messageBg: "Фон переписки"
accentDarken: "Акцент (Затемлений)"
accentLighten: "Акцент (Освітлений)"
fgHighlighted: "Виділений текст" fgHighlighted: "Виділений текст"
_sfx: _sfx:
note: "Нотатки" note: "Нотатки"
@ -1376,7 +1371,6 @@ _permissions:
"read:channels": "Переглядати канали" "read:channels": "Переглядати канали"
"write:channels": "Змінювати канали" "write:channels": "Змінювати канали"
"read:gallery": "Перегляд галереї" "read:gallery": "Перегляд галереї"
"write:chat": "Створювати та видаляти повідомлення"
_auth: _auth:
shareAccess: "Ви хочете надати \"{name}\" доступ до цього акаунту?" shareAccess: "Ви хочете надати \"{name}\" доступ до цього акаунту?"
shareAccessAsk: "Ви впевнені, що хочете надати цій програмі доступ до вашого акаунту?" shareAccessAsk: "Ви впевнені, що хочете надати цій програмі доступ до вашого акаунту?"
@ -1525,6 +1519,9 @@ _pages:
newPage: "Створити сторінку" newPage: "Створити сторінку"
editPage: "Редагувати сторінку" editPage: "Редагувати сторінку"
readPage: "Перегляд вихідного коду" readPage: "Перегляд вихідного коду"
created: "Сторінка успішно створена."
updated: "Сторінка успішно оновлена."
deleted: "Сторінку видалено"
pageSetting: "Налаштування сторінки" pageSetting: "Налаштування сторінки"
nameAlreadyExists: "Вказана адреса сторінки вже існує." nameAlreadyExists: "Вказана адреса сторінки вже існує."
invalidNameTitle: "Вказана адреса сторінки неприпустима." invalidNameTitle: "Вказана адреса сторінки неприпустима."
@ -1591,7 +1588,6 @@ _notification:
reaction: "Реакції" reaction: "Реакції"
receiveFollowRequest: "Запити на підписку" receiveFollowRequest: "Запити на підписку"
followRequestAccepted: "Прийняті підписки" followRequestAccepted: "Прийняті підписки"
login: "Увійти"
app: "Сповіщення від додатків" app: "Сповіщення від додатків"
_actions: _actions:
reply: "Відповісти" reply: "Відповісти"
@ -1633,16 +1629,3 @@ _moderationLogTypes:
resetPassword: "Скинути пароль" resetPassword: "Скинути пароль"
_reversi: _reversi:
total: "Всього" total: "Всього"
_remoteLookupErrors:
_noSuchObject:
title: "Не знайдено"
_search:
searchScopeAll: "Всі"
searchScopeLocal: "Локальна"
_watermarkEditor:
opacity: "Непрозорість"
scale: "Розмір"
text: "Текст"
type: "Тип"
image: "Зображення"
advanced: "Розширені"

View file

@ -219,6 +219,7 @@ noUsers: "Foydalanuvchilar yoq"
editProfile: "Profilni o'zgartirish" editProfile: "Profilni o'zgartirish"
noteDeleteConfirm: "Haqiqatan ham bu qaydni oʻchirib tashlamoqchimisiz?" noteDeleteConfirm: "Haqiqatan ham bu qaydni oʻchirib tashlamoqchimisiz?"
pinLimitExceeded: "Siz boshqa qaydlarni mahkamlay olmaysiz" pinLimitExceeded: "Siz boshqa qaydlarni mahkamlay olmaysiz"
intro: "Misskeyni o'rnatish tugallandi! Iltimos, administrator foydalanuvchi yarating."
done: "Bajarildi" done: "Bajarildi"
processing: "Amaliyotda" processing: "Amaliyotda"
preview: "Ko'rish" preview: "Ko'rish"
@ -256,6 +257,7 @@ removeAreYouSure: "“{x}”ni olib tashlamoqchi ekanligingizga ishonchingiz kom
deleteAreYouSure: "“{x}”ni chindan ham yo'q qilmoqchimisiz?" deleteAreYouSure: "“{x}”ni chindan ham yo'q qilmoqchimisiz?"
resetAreYouSure: "Haqiqatan ham qayta tiklansinmi?" resetAreYouSure: "Haqiqatan ham qayta tiklansinmi?"
saved: "Saqlandi" saved: "Saqlandi"
messaging: "Suhbat"
upload: "Yuklash" upload: "Yuklash"
keepOriginalUploading: "Asl rasmni saqlang" keepOriginalUploading: "Asl rasmni saqlang"
keepOriginalUploadingDescription: "Rasmlarni yuklashda asl nusxasini saqlaydi. Agar o'chirilgan bo'lsa, brauzer yuklangandan keyin nashr qilish uchun rasm yaratadi." keepOriginalUploadingDescription: "Rasmlarni yuklashda asl nusxasini saqlaydi. Agar o'chirilgan bo'lsa, brauzer yuklangandan keyin nashr qilish uchun rasm yaratadi."
@ -268,6 +270,7 @@ uploadFromUrlMayTakeTime: "Yuklash tugallanishi uchun biroz vaqt ketishi mumkin.
explore: "Ko'rib chiqish" explore: "Ko'rib chiqish"
messageRead: "Oqildi" messageRead: "Oqildi"
noMoreHistory: "Buning ortida hech qanday hikoya yo'q" noMoreHistory: "Buning ortida hech qanday hikoya yo'q"
startMessaging: "Yangi suhbatni boshlash"
nUsersRead: "{n} tomonidan o'qildi" nUsersRead: "{n} tomonidan o'qildi"
agreeTo: "Men {0} ga roziman" agreeTo: "Men {0} ga roziman"
agree: "Rozi bo'lish" agree: "Rozi bo'lish"
@ -346,6 +349,7 @@ enableLocalTimeline: "Mahalliy vaqt mintaqasini yoqing"
enableGlobalTimeline: "Global vaqt mintaqasini yoqing" enableGlobalTimeline: "Global vaqt mintaqasini yoqing"
disablingTimelinesInfo: "Administratorlar va Moderatorlar har doim barcha vaqt jadvallariga kirish huquqiga ega bo'ladilar, hatto ular yoqilmagan bo'lsa ham." disablingTimelinesInfo: "Administratorlar va Moderatorlar har doim barcha vaqt jadvallariga kirish huquqiga ega bo'ladilar, hatto ular yoqilmagan bo'lsa ham."
registration: "Ro'yxatdan o'tish" registration: "Ro'yxatdan o'tish"
enableRegistration: "Ro'yxatdan o'tishni yoqing"
invite: "Taklif qilish" invite: "Taklif qilish"
driveCapacityPerLocalAccount: "Har bir mahalliy foydalanuvchi uchun disk maydoni" driveCapacityPerLocalAccount: "Har bir mahalliy foydalanuvchi uchun disk maydoni"
driveCapacityPerRemoteAccount: "Har bir masofaviy foydalanuvchi uchun disk maydoni" driveCapacityPerRemoteAccount: "Har bir masofaviy foydalanuvchi uchun disk maydoni"
@ -442,6 +446,8 @@ retype: "Qayta kiriting"
noteOf: "{user} tomonidan joylandi\n" noteOf: "{user} tomonidan joylandi\n"
quoteAttached: "Iqtibos" quoteAttached: "Iqtibos"
quoteQuestion: "Iqtibos sifatida qo'shilsinmi?" quoteQuestion: "Iqtibos sifatida qo'shilsinmi?"
noMessagesYet: "Bu yerda xabarlar yo'q"
newMessageExists: "Yangi xabarlar bor"
onlyOneFileCanBeAttached: "Faqat bitta faylni biriktirish mumkin" onlyOneFileCanBeAttached: "Faqat bitta faylni biriktirish mumkin"
signinRequired: "Davom etishdan oldin ro'yhatdan o'tishingiz yoki tizimga kirishingiz kerak" signinRequired: "Davom etishdan oldin ro'yhatdan o'tishingiz yoki tizimga kirishingiz kerak"
invitations: "Taklif qilish" invitations: "Taklif qilish"
@ -465,6 +471,7 @@ uiLanguage: "Interfeys tili"
aboutX: "{x} haqida" aboutX: "{x} haqida"
emojiStyle: "Emoji ko'rinishi" emojiStyle: "Emoji ko'rinishi"
native: "Mahalliy" native: "Mahalliy"
disableDrawer: "Slayd menyusidan foydalanmang"
showNoteActionsOnlyHover: "Eslatma amallarini faqat sichqonchani olib borganda korsatish" showNoteActionsOnlyHover: "Eslatma amallarini faqat sichqonchani olib borganda korsatish"
noHistory: "Tarix yo'q" noHistory: "Tarix yo'q"
signinHistory: "kirish tarixi" signinHistory: "kirish tarixi"
@ -623,7 +630,10 @@ abuseReported: "Shikoyatingiz yetkazildi. Ma'lumot uchun rahmat."
reporter: "Shikoyat qiluvchi" reporter: "Shikoyat qiluvchi"
reporteeOrigin: "Xabarning kelib chiqishi" reporteeOrigin: "Xabarning kelib chiqishi"
reporterOrigin: "Xabarchining joylashuvi" reporterOrigin: "Xabarchining joylashuvi"
forwardReport: "Xabarni masofadagi serverga yuborish"
forwardReportIsAnonymous: "Sizning yuborayotgan xabaringiz o'z akkountingiz emas balki anonim tarzda qoladi"
send: "Yuborish" send: "Yuborish"
abuseMarkAsResolved: "Yuborilgan xabarni hal qilingan deb belgilash"
openInNewTab: "Yangi tab da ochish" openInNewTab: "Yangi tab da ochish"
openInSideView: "Yon panelda ochish" openInSideView: "Yon panelda ochish"
defaultNavigationBehaviour: "Standart navigatsiya harakati" defaultNavigationBehaviour: "Standart navigatsiya harakati"
@ -836,13 +846,6 @@ icon: "Avatar"
replies: "Javob berish" replies: "Javob berish"
renotes: "Qayta qayd etish" renotes: "Qayta qayd etish"
flip: "Teskari" flip: "Teskari"
information: "Haqida"
_chat:
invitations: "Taklif qilish"
noHistory: "Tarix yo'q"
members: "A'zolar"
home: "Bosh sahifa"
send: "Yuborish"
_delivery: _delivery:
stop: "To'xtatilgan" stop: "To'xtatilgan"
_type: _type:
@ -906,6 +909,8 @@ _theme:
mention: "Murojat" mention: "Murojat"
renote: "Qayta qayd etish" renote: "Qayta qayd etish"
divider: "Ajratrmoq" divider: "Ajratrmoq"
accentDarken: "Urg'u (Qoraytirilgan)"
accentLighten: "Urg'u (Yoritilgan)"
fgHighlighted: "Belgilangan matn" fgHighlighted: "Belgilangan matn"
_sfx: _sfx:
note: "Qaydlar" note: "Qaydlar"
@ -1004,6 +1009,9 @@ _play:
_pages: _pages:
newPage: "Yangi Sahifa yaratish" newPage: "Yangi Sahifa yaratish"
editPage: "Ushbu Sahifani tahrirlash" editPage: "Ushbu Sahifani tahrirlash"
created: "Sahifa muvaffaqiyatli yaratildi"
updated: "Sahifa muvaffaqiyatli tahrirlandi"
deleted: "Sahifa muvaffaqiyatli o'chirildi"
pageSetting: "Sahifa sozlamalari" pageSetting: "Sahifa sozlamalari"
nameAlreadyExists: "Ko'rsatilgan Sahifa URL'i allaqachon mavjud" nameAlreadyExists: "Ko'rsatilgan Sahifa URL'i allaqachon mavjud"
invalidNameTitle: "Ko'rsatilgan Sahifa URL'i yaroqsiz" invalidNameTitle: "Ko'rsatilgan Sahifa URL'i yaroqsiz"
@ -1050,7 +1058,6 @@ _notification:
quote: "Iqtibos keltirish" quote: "Iqtibos keltirish"
reaction: "Reaktsiyalar" reaction: "Reaktsiyalar"
receiveFollowRequest: "Qabul qilingan kuzatuv so'rovlari" receiveFollowRequest: "Qabul qilingan kuzatuv so'rovlari"
login: "Kirish"
_actions: _actions:
reply: "Javob berish" reply: "Javob berish"
renote: "Qayta qayd qilish" renote: "Qayta qayd qilish"
@ -1091,14 +1098,3 @@ _moderationLogTypes:
resetPassword: "Parolni tiklash" resetPassword: "Parolni tiklash"
_reversi: _reversi:
total: "Jami" total: "Jami"
_remoteLookupErrors:
_noSuchObject:
title: "Topilmadi"
_search:
searchScopeAll: "Barcha"
searchScopeLocal: "Mahalliy"
_watermarkEditor:
text: "Matn"
type: "turi"
image: "Rasmlar"
advanced: "Murakkab"

View file

@ -1,17 +1,13 @@
--- ---
_lang_: "Tiếng Việt " _lang_: "Tiếng Nhật"
headlineMisskey: "Mạng xã hội liên hợp" 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! 🚀" 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ở" 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ở"
monthAndDay: "{day} tháng {month}" monthAndDay: "{day} tháng {month}"
search: "Tìm kiếm" search: "Tìm kiếm"
reset: "cài lại"
notifications: "Thông báo" notifications: "Thông báo"
username: "Tên người dùng" username: "Tên người dùng"
password: "Mật khẩu" password: "Mật khẩu"
initialPasswordForSetup: "Mật khẩu ban đầu để thiết lập"
initialPasswordIsIncorrect: "Mật khẩu ban đầu đã nhập sai"
initialPasswordForSetupDescription: "Nếu bạn tự cài đặt Misskey, hãy sử dụng mật khẩu ban đầu của bạn đã nhập trong tệp cấu hình.\nNếu bạn đang sử dụng dịch vụ nào đó giống như dịch vụ lưu trữ của Misskey, hãy sử dụng mật khẩu ban đầu được cung cấp.\nNếu bạn chưa đặt mật khẩu ban đầu, vui lòng để trống và tiếp tục."
forgotPassword: "Quên mật khẩu" forgotPassword: "Quên mật khẩu"
fetchingAsApObject: "Đang nạp dữ liệu từ Fediverse..." fetchingAsApObject: "Đang nạp dữ liệu từ Fediverse..."
ok: "Đồng ý" ok: "Đồng ý"
@ -49,10 +45,9 @@ pin: "Ghim"
unpin: "Bỏ ghim" unpin: "Bỏ ghim"
copyContent: "Chép nội dung" copyContent: "Chép nội dung"
copyLink: "Chép liên kết" copyLink: "Chép liên kết"
copyRemoteLink: "Sao chép liên kết từ xa"
copyLinkRenote: "Sao chép liên kết ghi chú" copyLinkRenote: "Sao chép liên kết ghi chú"
delete: "Xóa" delete: "Xóa"
deleteAndEdit: "Xóa và soạn thảo lại" 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." deleteAndEditConfirm: "Bạn có chắc muốn sửa tút này? Những biểu cảm, lượt trả lời và đăng lại sẽ bị mất."
addToList: "Thêm vào danh sách" addToList: "Thêm vào danh sách"
addToAntenna: "Thêm vào Ăngten" addToAntenna: "Thêm vào Ăngten"
@ -65,7 +60,6 @@ copyFileId: "Sao chép ID tập tin"
copyFolderId: "Sao chép ID thư mục" copyFolderId: "Sao chép ID thư mục"
copyProfileUrl: "Sao chép URL hồ sơ" copyProfileUrl: "Sao chép URL hồ sơ"
searchUser: "Tìm kiếm người dùng" searchUser: "Tìm kiếm người dùng"
searchThisUsersNotes: "Tìm kiếm ghi chú của người dùng"
reply: "Trả lời" reply: "Trả lời"
loadMore: "Tải thêm" loadMore: "Tải thêm"
showMore: "Xem thêm" showMore: "Xem thêm"
@ -102,7 +96,7 @@ pageLoadErrorDescription: "Có thể là do bộ nhớ đệm của trình duy
serverIsDead: "Máy chủ không phản hồi. Vui lòng thử lại sau giây lát." serverIsDead: "Máy chủ không phản hồi. Vui lòng thử lại sau giây lát."
youShouldUpgradeClient: "Để xem trang này, hãy làm tươi để cập nhật ứng dụng." youShouldUpgradeClient: "Để xem trang này, hãy làm tươi để cập nhật ứng dụng."
enterListName: "Đặt tên cho danh sách" enterListName: "Đặt tên cho danh sách"
privacy: "Riêng tư" privacy: "Bảo mật"
makeFollowManuallyApprove: "Yêu cầu theo dõi cần được duyệt" makeFollowManuallyApprove: "Yêu cầu theo dõi cần được duyệt"
defaultNoteVisibility: "Kiểu tút mặc định" defaultNoteVisibility: "Kiểu tút mặc định"
follow: "Theo dõi" follow: "Theo dõi"
@ -114,14 +108,11 @@ enterEmoji: "Chèn emoji"
renote: "Đăng lại" renote: "Đăng lại"
unrenote: "Hủy đăng lại" unrenote: "Hủy đăng lại"
renoted: "Đã đăng lại." renoted: "Đã đăng lại."
renotedToX: "Đã cho thuê lại {name}."
cantRenote: "Không thể đăng lại tút này." cantRenote: "Không thể đăng lại tút này."
cantReRenote: "Không thể đăng lại một tút đăng lại." cantReRenote: "Không thể đăng lại một tút đăng lại."
quote: "Trích dẫn" quote: "Trích dẫn"
inChannelRenote: "Chia sẻ trong kênh này" inChannelRenote: "Chia sẻ trong kênh này"
inChannelQuote: "Trích dẫn trong kênh này" inChannelQuote: "Trích dẫn trong kênh này"
renoteToChannel: "Đăng lại tới kênh"
renoteToOtherChannel: "Đăng lại tới kênh khác"
pinnedNote: "Bài viết đã ghim" pinnedNote: "Bài viết đã ghim"
pinned: "Ghim" pinned: "Ghim"
you: "Bạn" you: "Bạn"
@ -131,11 +122,6 @@ add: "Thêm"
reaction: "Biểu cảm" reaction: "Biểu cảm"
reactions: "Biểu cảm" reactions: "Biểu cảm"
emojiPicker: "Bộ chọn biểu tượng cảm xúc" emojiPicker: "Bộ chọn biểu tượng cảm xúc"
pinnedEmojisForReactionSettingDescription: "Ghim các biểu tượng cảm xúc sẽ hiển thị khi phản hồi"
pinnedEmojisSettingDescription: "Ghim các biểu tượng cảm xúc sẽ hiển thị trong bảng chọn emoji"
emojiPickerDisplay: "Hiển thị bộ chọn"
overwriteFromPinnedEmojisForReaction: "Ghi đè thiết lập phản hồi"
overwriteFromPinnedEmojis: "Ghi đè thiết lập chung"
reactionSettingDescription2: "Kéo để sắp xếp, nhấn để xóa, nhấn \"+\" để thêm." 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" rememberNoteVisibility: "Lưu kiểu tút mặc định"
attachCancel: "Gỡ tập tin đính kèm" attachCancel: "Gỡ tập tin đính kèm"
@ -160,7 +146,6 @@ editList: "Chỉnh sửa danh sách"
selectChannel: "Lựa chọn kênh" selectChannel: "Lựa chọn kênh"
selectAntenna: "Chọn một antenna" selectAntenna: "Chọn một antenna"
editAntenna: "Chỉnh sửa Ăngten" editAntenna: "Chỉnh sửa Ăngten"
createAntenna: "Tạo Ăngten "
selectWidget: "Chọn tiện ích" selectWidget: "Chọn tiện ích"
editWidgets: "Sửa tiện ích" editWidgets: "Sửa tiện ích"
editWidgetsExit: "Xong" editWidgetsExit: "Xong"
@ -187,10 +172,6 @@ addAccount: "Thêm tài khoản"
reloadAccountsList: "Cập nhật danh sách tài khoản" reloadAccountsList: "Cập nhật danh sách tài khoản"
loginFailed: "Đăng nhập không thành công" loginFailed: "Đăng nhập không thành công"
showOnRemote: "Truy cập trang của người này" showOnRemote: "Truy cập trang của người này"
continueOnRemote: "Tiếp tục trên phiên bản từ xa"
chooseServerOnMisskeyHub: "Chọn một máy chủ từ Misskey Hub"
specifyServerHost: "Thiết lập một máy chủ"
inputHostName: "Nhập địa chỉ máy chủ"
general: "Tổng quan" general: "Tổng quan"
wallpaper: "Ảnh bìa" wallpaper: "Ảnh bìa"
setWallpaper: "Đặt ảnh bìa" setWallpaper: "Đặt ảnh bìa"
@ -201,7 +182,6 @@ followConfirm: "Bạn theo dõi {name}"
proxyAccount: "Tài khoản proxy" proxyAccount: "Tài khoản proxy"
proxyAccountDescription: "Tài khoản proxy là tài khoản hoạt động như một người theo dõi từ xa cho người dùng trong những điều kiện nhất định. Ví dụ: khi người dùng thêm người dùng từ xa vào danh sách, hoạt động của người dùng từ xa sẽ không được chuyển đến phiên bản nếu không có người dùng cục bộ nào theo dõi người dùng đó, vì vậy tài khoản proxy sẽ theo dõi." proxyAccountDescription: "Tài khoản proxy là tài khoản hoạt động như một người theo dõi từ xa cho người dùng trong những điều kiện nhất định. Ví dụ: khi người dùng thêm người dùng từ xa vào danh sách, hoạt động của người dùng từ xa sẽ không được chuyển đến phiên bản nếu không có người dùng cục bộ nào theo dõi người dùng đó, vì vậy tài khoản proxy sẽ theo dõi."
host: "Host" host: "Host"
selectSelf: "Chọn chính bạn"
selectUser: "Chọn người dùng" selectUser: "Chọn người dùng"
recipient: "Người nhận" recipient: "Người nhận"
annotation: "Bình luận" annotation: "Bình luận"
@ -216,11 +196,8 @@ perHour: "Mỗi Giờ"
perDay: "Mỗi Ngày" perDay: "Mỗi Ngày"
stopActivityDelivery: "Ngưng gửi hoạt động" stopActivityDelivery: "Ngưng gửi hoạt động"
blockThisInstance: "Chặn máy chủ này" blockThisInstance: "Chặn máy chủ này"
silenceThisInstance: "Máy chủ im lặng"
mediaSilenceThisInstance: "Tắt nội dung đa phương tiện từ máy chủ này"
operations: "Vận hành" operations: "Vận hành"
software: "Phần mềm" software: "Phần mềm"
softwareName: "Tên phần mềm"
version: "Phiên bản" version: "Phiên bản"
metadata: "Metadata" metadata: "Metadata"
withNFiles: "{n} tập tin" withNFiles: "{n} tập tin"
@ -238,12 +215,6 @@ clearCachedFiles: "Xóa bộ nhớ đệm"
clearCachedFilesConfirm: "Bạn có chắc muốn xóa sạch bộ nhớ đệm?" clearCachedFilesConfirm: "Bạn có chắc muốn xóa sạch bộ nhớ đệm?"
blockedInstances: "Máy chủ đã chặn" blockedInstances: "Máy chủ đã chặn"
blockedInstancesDescription: "Danh sách những máy chủ bạn muốn chặn. Chúng sẽ không thể giao tiếp với máy chủy này nữa." blockedInstancesDescription: "Danh sách những máy chủ bạn muốn chặn. Chúng sẽ không thể giao tiếp với máy chủy này nữa."
silencedInstances: "Máy chủ im lặng"
silencedInstancesDescription: "Đặt máy chủ mà bạn muốn tắt tiếng, phân tách bằng dấu xuống dòng. Tất cả tài khoản trên máy chủ bị tắt tiếng sẽ được coi là \"bị tắt tiếng\" và mọi hành động theo dõi sẽ được coi là yêu cầu. Không có tác dụng với những trường hợp bị chặn."
mediaSilencedInstances: "Các máy chủ đã tắt nội dung đa phương tiện "
mediaSilencedInstancesDescription: "Đặt máy chủ mà bạn muốn tắt nội dung đa phương tiện, phân tách bằng dấu xuống dòng. Tất cả tài khoản trên máy chủ bị tắt tiếng sẽ được coi là \"nhạy cảm\" và biểu tượng cảm xúc tùy chỉnh sẽ không thể được sử dụng. Không có tác dụng với những trường hợp bị chặn."
federationAllowedHosts: "Các máy chủ được phép liên kết"
federationAllowedHostsDescription: "Điền tên các máy chủ mà bạn muốn cho phép liên kết, cách nhau bởi dấu xuống dòng"
muteAndBlock: "Ẩn và Chặn" muteAndBlock: "Ẩn và Chặn"
mutedUsers: "Người đã ẩn" mutedUsers: "Người đã ẩn"
blockedUsers: "Người đã chặn" blockedUsers: "Người đã chặn"
@ -251,6 +222,7 @@ noUsers: "Chưa có ai"
editProfile: "Sửa hồ sơ" editProfile: "Sửa hồ sơ"
noteDeleteConfirm: "Bạn có chắc muốn xóa tút này?" noteDeleteConfirm: "Bạn có chắc muốn xóa tút này?"
pinLimitExceeded: "Bạn không thể ghim bài viết nữa" pinLimitExceeded: "Bạn không thể ghim bài viết nữa"
intro: "Đã cài đặt Misskey! Xin hãy tạo tài khoản admin."
done: "Xong" done: "Xong"
processing: "Đang xử lý" processing: "Đang xử lý"
preview: "Xem trước" preview: "Xem trước"
@ -279,8 +251,8 @@ more: "Thêm nữa!"
featured: "Nổi bật" featured: "Nổi bật"
usernameOrUserId: "Tên người dùng hoặc ID" usernameOrUserId: "Tên người dùng hoặc ID"
noSuchUser: "Không tìm thấy người dùng" noSuchUser: "Không tìm thấy người dùng"
lookup: "Tra cứu" lookup: "Tìm kiếm"
announcements: "Thông báo máy chủ" announcements: "Thông báo"
imageUrl: "URL ảnh" imageUrl: "URL ảnh"
remove: "Xóa" remove: "Xóa"
removed: "Đã xóa" removed: "Đã xóa"
@ -289,6 +261,7 @@ deleteAreYouSure: "Bạn có chắc muốn xóa \"{x}\"?"
resetAreYouSure: "Bạn có chắc muốn đặt lại?" resetAreYouSure: "Bạn có chắc muốn đặt lại?"
areYouSure: "Bạn chắc chứ?" areYouSure: "Bạn chắc chứ?"
saved: "Đã lưu" saved: "Đã lưu"
messaging: "Trò chuyện"
upload: "Tải lên" upload: "Tải lên"
keepOriginalUploading: "Giữ hình ảnh gốc" keepOriginalUploading: "Giữ hình ảnh gốc"
keepOriginalUploadingDescription: "Giữ nguyên như hình ảnh được tải lên ban đầu. Nếu tắt, một phiên bản để hiển thị trên web sẽ được tạo khi tải lên." keepOriginalUploadingDescription: "Giữ nguyên như hình ảnh được tải lên ban đầu. Nếu tắt, một phiên bản để hiển thị trên web sẽ được tạo khi tải lên."
@ -298,11 +271,10 @@ uploadFromUrl: "Tải lên bằng một URL"
uploadFromUrlDescription: "URL của tập tin bạn muốn tải lên" uploadFromUrlDescription: "URL của tập tin bạn muốn tải lên"
uploadFromUrlRequested: "Đã yêu cầu tải lên" uploadFromUrlRequested: "Đã yêu cầu tải lên"
uploadFromUrlMayTakeTime: "Sẽ mất một khoảng thời gian để tải lên xong." uploadFromUrlMayTakeTime: "Sẽ mất một khoảng thời gian để tải lên xong."
uploadNFiles: "Tải lên {n} tập tin"
explore: "Khám phá" explore: "Khám phá"
messageRead: "Đã đọc" messageRead: "Đã đọc"
noMoreHistory: "Không còn gì để đọc" noMoreHistory: "Không còn gì để đọc"
startChat: "Bắt đầu trò chuyện" startMessaging: "Bắt đầu trò chuyện"
nUsersRead: "đọc bởi {n}" nUsersRead: "đọc bởi {n}"
agreeTo: "Tôi đồng ý {0}" agreeTo: "Tôi đồng ý {0}"
agree: "Đồng ý" agree: "Đồng ý"
@ -333,7 +305,6 @@ selectFile: "Chọn tập tin"
selectFiles: "Chọn nhiều tập tin" selectFiles: "Chọn nhiều tập tin"
selectFolder: "Chọn thư mục" selectFolder: "Chọn thư mục"
selectFolders: "Chọn nhiều thư mục" selectFolders: "Chọn nhiều thư mục"
fileNotSelected: "Chưa chọn tệp nào"
renameFile: "Đổi tên tập tin" renameFile: "Đổi tên tập tin"
folderName: "Tên thư mục" folderName: "Tên thư mục"
createFolder: "Tạo thư mục" createFolder: "Tạo thư mục"
@ -341,7 +312,6 @@ renameFolder: "Đổi tên thư mục"
deleteFolder: "Xóa thư mục" deleteFolder: "Xóa thư mục"
folder: "Thư mục" folder: "Thư mục"
addFile: "Thêm tập tin" addFile: "Thêm tập tin"
showFile: "Hiển thị tập tin"
emptyDrive: "Ổ đĩa của bạn trống trơn" emptyDrive: "Ổ đĩa của bạn trống trơn"
emptyFolder: "Thư mục trống" emptyFolder: "Thư mục trống"
unableToDelete: "Không thể xóa" unableToDelete: "Không thể xóa"
@ -384,6 +354,7 @@ enableLocalTimeline: "Bật bảng tin máy chủ"
enableGlobalTimeline: "Bật bảng tin liên hợp" enableGlobalTimeline: "Bật bảng tin liên hợp"
disablingTimelinesInfo: "Quản trị viên và Kiểm duyệt viên luôn có quyền truy cập mọi bảng tin, kể cả khi chúng không được bật." disablingTimelinesInfo: "Quản trị viên và Kiểm duyệt viên luôn có quyền truy cập mọi bảng tin, kể cả khi chúng không được bật."
registration: "Đăng ký" registration: "Đăng ký"
enableRegistration: "Cho phép đăng ký mới"
invite: "Mời" invite: "Mời"
driveCapacityPerLocalAccount: "Dung lượng ổ đĩa tối đa cho mỗi người dùng" 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" driveCapacityPerRemoteAccount: "Dung lượng ổ đĩa tối đa cho mỗi người dùng từ xa"
@ -425,7 +396,6 @@ antennaExcludeBots: "Loại trừ các tài khoản bot"
antennaKeywordsDescription: "Phân cách bằng dấu cách cho điều kiện AND hoặc bằng xuống dòng cho điều kiện OR." antennaKeywordsDescription: "Phân cách bằng dấu cách cho điều kiện AND hoặc bằng xuống dòng cho điều kiện OR."
notifyAntenna: "Thông báo có tút mới" notifyAntenna: "Thông báo có tút mới"
withFileAntenna: "Chỉ những tút có media" withFileAntenna: "Chỉ những tút có media"
excludeNotesInSensitiveChannel: "Không hiển thị trong kênh nhạy cảm"
enableServiceworker: "Bật ServiceWorker" enableServiceworker: "Bật ServiceWorker"
antennaUsersDescription: "Liệt kê mỗi hàng một tên người dùng" antennaUsersDescription: "Liệt kê mỗi hàng một tên người dùng"
caseSensitive: "Trường hợp nhạy cảm" caseSensitive: "Trường hợp nhạy cảm"
@ -456,7 +426,6 @@ totpDescription: "Nhắn mã OTP bằng ứng dụng xác thực"
moderator: "Kiểm duyệt viên" moderator: "Kiểm duyệt viên"
moderation: "Kiểm duyệt" moderation: "Kiểm duyệt"
moderationNote: "Ghi chú kiểm duyệt" moderationNote: "Ghi chú kiểm duyệt"
moderationNoteDescription: "Bạn có thể điền vào những ghi chú chỉ được chia sẻ giữa những người kiểm duyệt."
addModerationNote: "Thêm ghi chú kiểm duyệt" addModerationNote: "Thêm ghi chú kiểm duyệt"
moderationLogs: "Nhật kí quản trị" moderationLogs: "Nhật kí quản trị"
nUsersMentioned: "Dùng bởi {n} người" nUsersMentioned: "Dùng bởi {n} người"
@ -492,9 +461,10 @@ noteOf: "Tút của {user}"
quoteAttached: "Trích dẫn" quoteAttached: "Trích dẫn"
quoteQuestion: "Trích dẫn lại?" quoteQuestion: "Trích dẫn lại?"
attachAsFileQuestion: "Văn bản ở trong bộ nhớ tạm rất dài. Bạn có muốn đăng nó dưới dạng một tệp văn bản không?" attachAsFileQuestion: "Văn bản ở trong bộ nhớ tạm rất dài. Bạn có muốn đăng nó dưới dạng một tệp văn bản không?"
noMessagesYet: "Chưa có tin nhắn"
newMessageExists: "Bạn có tin nhắn mới"
onlyOneFileCanBeAttached: "Bạn chỉ có thể đính kèm một tập tin" onlyOneFileCanBeAttached: "Bạn chỉ có thể đính kèm một tập tin"
signinRequired: "Vui lòng đăng nhập" signinRequired: "Vui lòng đăng nhập"
signinOrContinueOnRemote: "Để tiếp tục, bạn cần chuyển máy chủ hoặc đăng nhập/đăng ký ở máy chủ này."
invitations: "Mời" invitations: "Mời"
invitationCode: "Mã mời" invitationCode: "Mã mời"
checking: "Đang kiểm tra..." checking: "Đang kiểm tra..."
@ -516,12 +486,8 @@ uiLanguage: "Ngôn ngữ giao diện"
aboutX: "Giới thiệu {x}" aboutX: "Giới thiệu {x}"
emojiStyle: "Kiểu cách Emoji" emojiStyle: "Kiểu cách Emoji"
native: "Bản xứ" native: "Bản xứ"
menuStyle: "Kiểu Menu" disableDrawer: "Không dùng menu thanh bên"
style: "Phong cách"
drawer: "Ngăn ứng dụng"
popup: "Cửa sổ bật lên"
showNoteActionsOnlyHover: "Chỉ hiển thị các hành động ghi chú khi di chuột" showNoteActionsOnlyHover: "Chỉ hiển thị các hành động ghi chú khi di chuột"
showReactionsCount: "Hiển thị số reaction trong bài đăng"
noHistory: "Không có dữ liệu" noHistory: "Không có dữ liệu"
signinHistory: "Lịch sử đăng nhập" signinHistory: "Lịch sử đăng nhập"
enableAdvancedMfm: "Xem bài MFM chất lượng cao." enableAdvancedMfm: "Xem bài MFM chất lượng cao."
@ -534,7 +500,6 @@ createAccount: "Tạo tài khoản"
existingAccount: "Tài khoản hiện có" existingAccount: "Tài khoản hiện có"
regenerate: "Tạo lại" regenerate: "Tạo lại"
fontSize: "Cỡ chữ" fontSize: "Cỡ chữ"
mediaListWithOneImageAppearance: "Chiều cao của danh sách nội dung đã phương tiện mà chỉ có một hình ảnh"
limitTo: "Giới hạn tỷ lệ {x}" limitTo: "Giới hạn tỷ lệ {x}"
noFollowRequests: "Bạn không có yêu cầu theo dõi nào" noFollowRequests: "Bạn không có yêu cầu theo dõi nào"
openImageInNewTab: "Mở ảnh trong tab mới" openImageInNewTab: "Mở ảnh trong tab mới"
@ -569,16 +534,13 @@ objectStorageUseSSLDesc: "Tắt nếu bạn không dùng HTTPS để kết nối
objectStorageUseProxy: "Kết nối thông qua Proxy" objectStorageUseProxy: "Kết nối thông qua Proxy"
objectStorageUseProxyDesc: "Tắt nếu bạn không dùng Proxy để kết nối API" objectStorageUseProxyDesc: "Tắt nếu bạn không dùng Proxy để kết nối API"
objectStorageSetPublicRead: "Đặt \"public-read\" khi tải lên" objectStorageSetPublicRead: "Đặt \"public-read\" khi tải lên"
s3ForcePathStyleDesc: "Nếu s3ForcePathStyle được bật, tên bucket phải được thêm vào địa chỉ URL thay vì chỉ có tên miền. Bạn có thể phải sử dụng thiết lập này nếu bạn sử dụng các dịch vụ như Minio mà bạn tự cung cấp."
serverLogs: "Nhật ký máy chủ" serverLogs: "Nhật ký máy chủ"
deleteAll: "Xóa tất cả" deleteAll: "Xóa tất cả"
showFixedPostForm: "Hiện khung soạn tút ở phía trên bảng tin" showFixedPostForm: "Hiện khung soạn tút ở phía trên bảng tin"
showFixedPostFormInChannel: "Hiển thị mẫu bài đăng ở phía trên bản tin" showFixedPostFormInChannel: "Hiển thị mẫu bài đăng ở phía trên bản tin"
withRepliesByDefaultForNewlyFollowed: "Mặc định hiển thị trả lời từ những người dùng mới theo dõi trong dòng thời gian"
newNoteRecived: "Đã nhận tút mới" newNoteRecived: "Đã nhận tút mới"
sounds: "Âm thanh" sounds: "Âm thanh"
sound: "Âm thanh" sound: "Âm thanh"
notificationSoundSettings: "Cài đặt âm thanh thông báo"
listen: "Nghe" listen: "Nghe"
none: "Không" none: "Không"
showInPage: "Hiện trong trang" showInPage: "Hiện trong trang"
@ -586,9 +548,7 @@ popout: "Pop-out"
volume: "Âm lượng" volume: "Âm lượng"
masterVolume: "Âm thanh chung" masterVolume: "Âm thanh chung"
notUseSound: "Tắt tiếng" notUseSound: "Tắt tiếng"
useSoundOnlyWhenActive: "Chỉ phát âm thanh khi Misskey đang được hiển thị"
details: "Chi tiết" details: "Chi tiết"
renoteDetails: "Tìm hiểu thêm về đăng lại "
chooseEmoji: "Chọn emoji" chooseEmoji: "Chọn emoji"
unableToProcess: "Không thể hoàn tất hành động" unableToProcess: "Không thể hoàn tất hành động"
recentUsed: "Sử dụng gần đây" recentUsed: "Sử dụng gần đây"
@ -604,7 +564,6 @@ ascendingOrder: "Tăng dần"
descendingOrder: "Giảm dần" descendingOrder: "Giảm dần"
scratchpad: "Scratchpad" scratchpad: "Scratchpad"
scratchpadDescription: "Scratchpad cung cấp môi trường cho các thử nghiệm AiScript. Bạn có thể viết, thực thi và kiểm tra kết quả tương tác với Misskey trong đó." scratchpadDescription: "Scratchpad cung cấp môi trường cho các thử nghiệm AiScript. Bạn có thể viết, thực thi và kiểm tra kết quả tương tác với Misskey trong đó."
uiInspector: "Trình kiểm tra UI"
output: "Nguồn ra" output: "Nguồn ra"
script: "Kịch bản" script: "Kịch bản"
disablePagesScript: "Tắt AiScript trên Trang" disablePagesScript: "Tắt AiScript trên Trang"
@ -663,7 +622,6 @@ medium: "Vừa"
small: "Nhỏ" small: "Nhỏ"
generateAccessToken: "Tạo mã truy cập" generateAccessToken: "Tạo mã truy cập"
permission: "Cho phép " permission: "Cho phép "
adminPermission: "Quyền quản trị viên"
enableAll: "Bật toàn bộ" enableAll: "Bật toàn bộ"
disableAll: "Tắt toàn bộ" disableAll: "Tắt toàn bộ"
tokenRequested: "Cấp quyền truy cập vào tài khoản" tokenRequested: "Cấp quyền truy cập vào tài khoản"
@ -685,19 +643,13 @@ smtpSecure: "Dùng SSL/TLS ngầm định cho các kết nối SMTP"
smtpSecureInfo: "Tắt cái này nếu dùng STARTTLS" smtpSecureInfo: "Tắt cái này nếu dùng STARTTLS"
testEmail: "Kiểm tra vận chuyển email" testEmail: "Kiểm tra vận chuyển email"
wordMute: "Ẩn chữ" wordMute: "Ẩn chữ"
wordMuteDescription: "Thu nhỏ các bài đăng chứa các từ hoặc cụm từ nhất định. Các bài đăng này có thể được hiển thị khi click vào."
hardWordMute: "Ẩn cụm từ hoàn toàn"
showMutedWord: "Hiển thị từ đã ẩn"
hardWordMuteDescription: "Ẩn hoàn toàn các bài đăng chứa từ hoặc cụm từ. Khác với mute, bài đăng sẽ bị ẩn hoàn toàn."
regexpError: "Lỗi biểu thức" regexpError: "Lỗi biểu thức"
regexpErrorDescription: "Xảy ra lỗi biểu thức ở dòng {line} của {tab} chữ ẩn:" regexpErrorDescription: "Xảy ra lỗi biểu thức ở dòng {line} của {tab} chữ ẩn:"
instanceMute: "Những máy chủ ẩn" instanceMute: "Những máy chủ ẩn"
userSaysSomething: "{name} nói gì đó" userSaysSomething: "{name} nói gì đó"
userSaysSomethingAbout: "{name} đã nói gì đó về \"{word}\""
makeActive: "Kích hoạt" makeActive: "Kích hoạt"
display: "Hiển thị" display: "Hiển thị"
copy: "Sao chép" copy: "Sao chép"
copiedToClipboard: "Đã sao chép vào clipboard"
metrics: "Số liệu" metrics: "Số liệu"
overview: "Tổng quan" overview: "Tổng quan"
logs: "Nhật ký" logs: "Nhật ký"
@ -712,21 +664,22 @@ useGlobalSettingDesc: "Nếu được bật, cài đặt thông báo của bạn
other: "Khác" other: "Khác"
regenerateLoginToken: "Tạo lại mã đăng nhập" regenerateLoginToken: "Tạo lại mã đăng nhập"
regenerateLoginTokenDescription: "Tạo lại mã nội bộ có thể dùng để đăng nhập. Thông thường hành động này là không cần thiết. Nếu được tạo lại, tất cả các thiết bị sẽ bị đăng xuất." regenerateLoginTokenDescription: "Tạo lại mã nội bộ có thể dùng để đăng nhập. Thông thường hành động này là không cần thiết. Nếu được tạo lại, tất cả các thiết bị sẽ bị đăng xuất."
theKeywordWhenSearchingForCustomEmoji: "Đây là từ khoá được sử dụng để tìm kiếm emoji"
setMultipleBySeparatingWithSpace: "Tách nhiều mục nhập bằng dấu cách." setMultipleBySeparatingWithSpace: "Tách nhiều mục nhập bằng dấu cách."
fileIdOrUrl: "ID tập tin hoặc URL" fileIdOrUrl: "ID tập tin hoặc URL"
behavior: "Thao tác" behavior: "Thao tác"
sample: "Ví dụ" sample: "Ví dụ"
abuseReports: "Lượt báo cáo" abuseReports: "Lượt báo cáo"
reportAbuse: "Báo cáo" reportAbuse: "Báo cáo"
reportAbuseRenote: "Báo cáo bài đăng lại"
reportAbuseOf: "Báo cáo {name}" reportAbuseOf: "Báo cáo {name}"
fillAbuseReportDescription: "Vui lòng điền thông tin chi tiết về báo cáo này. Nếu đó là về một tút cụ thể, hãy kèm theo URL của tút." fillAbuseReportDescription: "Vui lòng điền thông tin chi tiết về báo cáo này. Nếu đó là về một tút cụ thể, hãy kèm theo URL của tút."
abuseReported: "Báo cáo đã được gửi. Cảm ơn bạn nhiều." abuseReported: "Báo cáo đã được gửi. Cảm ơn bạn nhiều."
reporter: "Người báo cáo" reporter: "Người báo cáo"
reporteeOrigin: "Bị báo cáo" reporteeOrigin: "Bị báo cáo"
reporterOrigin: "Máy chủ người báo cáo" reporterOrigin: "Máy chủ người báo cáo"
forwardReport: "Chuyển tiếp báo cáo cho máy chủ từ xa"
forwardReportIsAnonymous: "Thay vì tài khoản của bạn, một tài khoản hệ thống ẩn danh sẽ được hiển thị dưới dạng người báo cáo ở máy chủ từ xa."
send: "Gửi" send: "Gửi"
abuseMarkAsResolved: "Đánh dấu đã xử lý"
openInNewTab: "Mở trong tab mới" openInNewTab: "Mở trong tab mới"
openInSideView: "Mở trong thanh bên" openInSideView: "Mở trong thanh bên"
defaultNavigationBehaviour: "Thao tác điều hướng mặc định" defaultNavigationBehaviour: "Thao tác điều hướng mặc định"
@ -769,7 +722,6 @@ lockedAccountInfo: "Ghi chú của bạn sẽ hiển thị với bất kỳ ai,
alwaysMarkSensitive: "Luôn đánh dấu NSFW" alwaysMarkSensitive: "Luôn đánh dấu NSFW"
loadRawImages: "Tải ảnh gốc thay vì ảnh thu nhỏ" loadRawImages: "Tải ảnh gốc thay vì ảnh thu nhỏ"
disableShowingAnimatedImages: "Không phát ảnh động" disableShowingAnimatedImages: "Không phát ảnh động"
highlightSensitiveMedia: "Đánh dấu nội dung nhạy cảm"
verificationEmailSent: "Một email xác minh đã được gửi. Vui lòng nhấn vào liên kết đính kèm để hoàn tất xác minh." verificationEmailSent: "Một email xác minh đã được gửi. Vui lòng nhấn vào liên kết đính kèm để hoàn tất xác minh."
notSet: "Chưa đặt" notSet: "Chưa đặt"
emailVerified: "Email đã được xác minh" emailVerified: "Email đã được xác minh"
@ -785,6 +737,7 @@ thisIsExperimentalFeature: "Tính năng này đang trong quá trình thử nghi
developer: "Nhà phát triển" developer: "Nhà phát triển"
makeExplorable: "Không hiện tôi trong \"Khám phá\"" makeExplorable: "Không hiện tôi trong \"Khám phá\""
makeExplorableDescription: "Nếu bạn tắt, tài khoản của bạn sẽ không hiện trong mục \"Khám phá\"." makeExplorableDescription: "Nếu bạn tắt, tài khoản của bạn sẽ không hiện trong mục \"Khám phá\"."
showGapBetweenNotesInTimeline: "Hiện dải phân cách giữa các tút trên bảng tin"
duplicate: "Tạo bản sao" duplicate: "Tạo bản sao"
left: "Bên trái" left: "Bên trái"
center: "Giữa" center: "Giữa"
@ -862,7 +815,6 @@ administration: "Quản lý"
accounts: "Tài khoản của bạn" accounts: "Tài khoản của bạn"
switch: "Chuyển đổi" switch: "Chuyển đổi"
noMaintainerInformationWarning: "Chưa thiết lập thông tin vận hành." noMaintainerInformationWarning: "Chưa thiết lập thông tin vận hành."
noInquiryUrlWarning: "Địa chỉ hỏi đáp chưa được đặt"
noBotProtectionWarning: "Bảo vệ Bot chưa thiết lập." noBotProtectionWarning: "Bảo vệ Bot chưa thiết lập."
configure: "Thiết lập" configure: "Thiết lập"
postToGallery: "Tạo tút có ảnh" postToGallery: "Tạo tút có ảnh"
@ -927,7 +879,6 @@ followersVisibility: "Hiển thị người theo dõi"
continueThread: "Tiếp tục xem chuỗi tút" 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?" 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." incorrectPassword: "Sai mật khẩu."
incorrectTotp: "Mã OTP không đúng hoặc đã quá hạn"
voteConfirm: "Xác nhận bình chọn \"{choice}\"?" voteConfirm: "Xác nhận bình chọn \"{choice}\"?"
hide: "Ẩn" hide: "Ẩn"
useDrawerReactionPickerForMobile: "Hiện bộ chọn biểu cảm dạng xổ ra trên điện thoại" useDrawerReactionPickerForMobile: "Hiện bộ chọn biểu cảm dạng xổ ra trên điện thoại"
@ -952,9 +903,6 @@ oneHour: "1 giờ"
oneDay: "1 ngày" oneDay: "1 ngày"
oneWeek: "1 tuần" oneWeek: "1 tuần"
oneMonth: "1 tháng" oneMonth: "1 tháng"
threeMonths: "3 tháng"
oneYear: "1 năm"
threeDays: "3 ngày "
reflectMayTakeTime: "Có thể mất một thời gian để điều này được áp dụng." reflectMayTakeTime: "Có thể mất một thời gian để điều này được áp dụng."
failedToFetchAccountInformation: "Không thể lấy thông tin tài khoản" failedToFetchAccountInformation: "Không thể lấy thông tin tài khoản"
rateLimitExceeded: "Giới hạn quá mức" rateLimitExceeded: "Giới hạn quá mức"
@ -979,7 +927,6 @@ document: "Tài liệu"
numberOfPageCache: "Số lượng trang bộ nhớ đệm" numberOfPageCache: "Số lượng trang bộ nhớ đệm"
numberOfPageCacheDescription: "Việc tăng con số này sẽ cải thiện sự thuận tiện cho người dùng nhưng gây ra nhiều áp lực hơn cho máy chủ cũng như sử dụng nhiều bộ nhớ hơn." numberOfPageCacheDescription: "Việc tăng con số này sẽ cải thiện sự thuận tiện cho người dùng nhưng gây ra nhiều áp lực hơn cho máy chủ cũng như sử dụng nhiều bộ nhớ hơn."
logoutConfirm: "Bạn có chắc muốn đăng xuất?" logoutConfirm: "Bạn có chắc muốn đăng xuất?"
logoutWillClearClientData: "Đăng xuất sẽ xoá các thiết lập của bạn khỏi trình duyệt. Để có thể khôi phục thiết lập khi đăng nhập lại, bạn phải bật tự động sao lưu cài đặt."
lastActiveDate: "Lần cuối vào" lastActiveDate: "Lần cuối vào"
statusbar: "Thanh trạng thái" statusbar: "Thanh trạng thái"
pleaseSelect: "Chọn một lựa chọn" pleaseSelect: "Chọn một lựa chọn"
@ -1029,7 +976,6 @@ neverShow: "Không hiển thị nữa"
remindMeLater: "Để sau" remindMeLater: "Để sau"
didYouLikeMisskey: "Bạn có ưa thích Mískey không?" didYouLikeMisskey: "Bạn có ưa thích Mískey không?"
pleaseDonate: "Misskey là phần mềm miễn phí mà {host} đang sử dụng. Xin mong bạn quyên góp cho chúng tôi để chúng tôi có thể tiếp tục phát triển dịch vụ này. Xin cảm ơn!!" pleaseDonate: "Misskey là phần mềm miễn phí mà {host} đang sử dụng. Xin mong bạn quyên góp cho chúng tôi để chúng tôi có thể tiếp tục phát triển dịch vụ này. Xin cảm ơn!!"
correspondingSourceIsAvailable: "Mã nguồn có thể được xem tại {anchor}"
roles: "Vai trò" roles: "Vai trò"
role: "Vai trò" role: "Vai trò"
noRole: "Bạn chưa được cấp quyền." noRole: "Bạn chưa được cấp quyền."
@ -1057,41 +1003,23 @@ thisPostMayBeAnnoyingHome: "Đăng trên trang chính"
thisPostMayBeAnnoyingCancel: "Từ chối" thisPostMayBeAnnoyingCancel: "Từ chối"
thisPostMayBeAnnoyingIgnore: "Đăng bài để nguyên" thisPostMayBeAnnoyingIgnore: "Đăng bài để nguyên"
collapseRenotes: "Không hiển thị bài viết đã từng xem" collapseRenotes: "Không hiển thị bài viết đã từng xem"
collapseRenotesDescription: "Các bài đăng bị thu gọn mà bạn đã phản hồi hoặc đăng lại trước đây."
internalServerError: "Lỗi trong chủ máy" internalServerError: "Lỗi trong chủ máy"
internalServerErrorDescription: "Trong chủ máy lỗi bất ngờ xảy ra" internalServerErrorDescription: "Trong chủ máy lỗi bất ngờ xảy ra"
copyErrorInfo: "Sao chép thông tin lỗi" copyErrorInfo: "Sao chép thông tin lỗi"
joinThisServer: "Đăng ký trên chủ máy này" joinThisServer: "Đăng ký trên chủ máy này"
exploreOtherServers: "Tìm chủ máy khác" exploreOtherServers: "Tìm chủ máy khác"
letsLookAtTimeline: "Thử xem Timeline" letsLookAtTimeline: "Thử xem Timeline"
disableFederationConfirm: "Bạn có muốn làm điều đó mà không cần liên minh không?"
disableFederationConfirmWarn: "Ngay cả khi bị trì hoãn, bài đăng vẫn sẽ tiếp tục là công khai trừ khi được thiết lập khác. Bạn thường không cần phải làm điều này."
disableFederationOk: "Vô hiệu hoá" disableFederationOk: "Vô hiệu hoá"
invitationRequiredToRegister: "Phiên bản này chỉ dành cho người được mời. Bạn phải nhập mã mời hợp lệ để đăng ký."
emailNotSupported: "Máy chủ này không hỗ trợ gửi email" emailNotSupported: "Máy chủ này không hỗ trợ gửi email"
postToTheChannel: "Đăng lên kênh" postToTheChannel: "Đăng lên kênh"
cannotBeChangedLater: "Không thể thay đổi sau này." cannotBeChangedLater: "Không thể thay đổi sau này."
reactionAcceptance: "Phản ứng chấp nhận"
likeOnly: "Chỉ lượt thích" likeOnly: "Chỉ lượt thích"
likeOnlyForRemote: "Tất cả (chỉ bao gồm lượt thích trên các máy chủ khác)"
nonSensitiveOnly: "Chỉ nội dung không nhạy cảm"
nonSensitiveOnlyForLocalLikeOnlyForRemote: "Chỉ nội dung không nhạy cảm (chỉ bao gồm lượt thích từ máy chủ khác)"
rolesAssignedToMe: "Vai trò được giao cho tôi" rolesAssignedToMe: "Vai trò được giao cho tôi"
resetPasswordConfirm: "Bạn thực sự muốn đặt lại mật khẩu?" resetPasswordConfirm: "Bạn thực sự muốn đặt lại mật khẩu?"
sensitiveWords: "Các từ nhạy cảm" sensitiveWords: "Các từ nhạy cảm"
sensitiveWordsDescription: "Phạm vi của tất cả bài đăng chứa các từ được cấu hình sẽ tự động được đặt về \"Home\". Ban có thể thêm nhiều từ trên mỗi dòng."
sensitiveWordsDescription2: "Sử dụng dấu cách sẽ tạo cấu trúc AND và thêm dấu gạch xuôi để sử dụng như một regex."
prohibitedWords: "Các từ bị cấm" prohibitedWords: "Các từ bị cấm"
prohibitedWordsDescription: "Hiển thị lỗi khi đăng một bài đăng chứa các từ sau. Nhiều từ có thể được thêm bằng cách viết một từ trên mỗi dòng."
prohibitedWordsDescription2: "Sử dụng dấu cách sẽ tạo cấu trúc AND và thêm dấu gạch xuôi để sử dụng như một regex."
hiddenTags: "Hashtag ẩn"
hiddenTagsDescription: "Các hashtag này sẽ không được hiển thị trên danh sách Trending. Nhiều tag có thể được thêm bằng cách viết một tag trên mỗi dòng."
notesSearchNotAvailable: "Tìm kiếm bài đăng hiện không khả dụng."
license: "Giấy phép" license: "Giấy phép"
unfavoriteConfirm: "Bạn thực sự muốn xoá khỏi mục yêu thích?" unfavoriteConfirm: "Bạn thực sự muốn xoá khỏi mục yêu thích?"
myClips: "Các clip của tôi"
drivecleaner: "Trình dọn đĩa"
retryAllQueuesNow: "Thử lại cho tất cả hàng chờ"
retryAllQueuesConfirmTitle: "Bạn có muốn thử lại?" retryAllQueuesConfirmTitle: "Bạn có muốn thử lại?"
retryAllQueuesConfirmText: "Điều này sẽ tạm thời làm tăng mức độ tải của máy 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" enableChartsForRemoteUser: "Tạo biểu đồ người dùng từ xa"
@ -1127,8 +1055,6 @@ options: "Tùy chọn"
specifyUser: "Người dùng chỉ định" specifyUser: "Người dùng chỉ định"
failedToPreviewUrl: "Không thể xem trước" failedToPreviewUrl: "Không thể xem trước"
update: "Cập nhật" update: "Cập nhật"
cancelReactionConfirm: "Bạn có muốn hủy phản ứng của mình không?"
changeReactionConfirm: "Bạn có muốn thay đổi phản ứng của mình không?"
later: "Để sau" later: "Để sau"
goToMisskey: "Tới Misskey" goToMisskey: "Tới Misskey"
installed: "Đã tải xuống" installed: "Đã tải xuống"
@ -1177,12 +1103,8 @@ mutualFollow: "Theo dõi lẫn nhau"
followingOrFollower: "Đang theo dõi hoặc người theo dõi" followingOrFollower: "Đang theo dõi hoặc người theo dõi"
externalServices: "Các dịch vụ bên ngoài" externalServices: "Các dịch vụ bên ngoài"
sourceCode: "Mã nguồn" sourceCode: "Mã nguồn"
sourceCodeIsNotYetProvided: "Mã nguồn hiện chưa có sẵn, vui lòng liên hệ với quản trị viên để khắc phục sự cố này."
repositoryUrlDescription: "Nếu bạn có kho lưu trữ mã nguồn có thể truy cập công khai, hãy nhập URL. Nếu bạn đang sử dụng Misskey theo mặc định (không thực hiện bất kỳ thay đổi nào đối với mã nguồn), hãy nhập https://github.com/misskey-dev/misskey."
feedback: "Phản hồi" feedback: "Phản hồi"
feedbackUrl: "URL phản hồi" feedbackUrl: "URL phản hồi"
impressum: "Thông tin nhà điều hành"
impressumUrl: "URL thông tin nhà điều hành"
privacyPolicy: "Chính sách bảo mật" privacyPolicy: "Chính sách bảo mật"
privacyPolicyUrl: "URL Chính sách bảo mật" privacyPolicyUrl: "URL Chính sách bảo mật"
tosAndPrivacyPolicy: "Điều khoản sử dụng và Chính sách bảo mật" tosAndPrivacyPolicy: "Điều khoản sử dụng và Chính sách bảo mật"
@ -1196,42 +1118,9 @@ showAvatarDecorations: "Hiển thị trang trí ảnh đại diện"
releaseToRefresh: "Thả để làm mới" releaseToRefresh: "Thả để làm mới"
refreshing: "Đang làm mới" refreshing: "Đang làm mới"
pullDownToRefresh: "Kéo xuống để làm mới" pullDownToRefresh: "Kéo xuống để làm mới"
signupPendingError: "Đã xảy ra sự cố khi xác minh địa chỉ email của bạn. Liên kết có thể đã hết hạn."
cwNotationRequired: "Nếu \"Ẩn nội dung\" được bật thì cần phải có chú thích." cwNotationRequired: "Nếu \"Ẩn nội dung\" được bật thì cần phải có chú thích."
decorate: "Trang trí"
lastNDays: "{n} ngày trước" lastNDays: "{n} ngày trước"
userSaysSomethingSensitive: "Bài đăng có chứa các tập tin nhạy cảm từ {name}"
surrender: "Từ chối" surrender: "Từ chối"
signinWithPasskey: "Đăng nhập bằng mật khẩu của bạn"
passkeyVerificationFailed: "Xác minh mật khẩu không thành công."
messageToFollower: "Tin nhắn cho người theo dõi"
yourNameContainsProhibitedWords: "Tên bạn đang cố gắng đổi có chứa chuỗi ký tự bị cấm."
yourNameContainsProhibitedWordsDescription: "Tên có chứa chuỗi ký tự bị cấm. Nếu bạn muốn sử dụng tên này, hãy liên hệ với quản trị viên máy chủ của bạn."
pleaseSelectAccount: "Chọn tài khoản của bạn"
federationDisabled: "Liên kết bị vô hiệu hóa trên máy chủ này. Bạn không thể tương tác với người dùng trên các máy chủ khác."
reactAreYouSure: "Bạn có muốn phản hồi với \" {emoji} \" không?"
preferences: "Thiết lập môi trường"
accessibility: "Khả năng tiếp cận"
preferencesProfile: "Hồ sơ sở thích"
preferenceSyncConflictTitle: "Cài đặt tồn tại trên máy chủ"
preferenceSyncConflictText: "Các thiết lập đồng bộ hóa được bật sẽ lưu các giá trị của chúng vào máy chủ. Tuy nhiên, có những giá trị hiện có trên máy chủ. Bạn muốn ghi đè lên bộ giá trị nào?"
paste: "dán"
postForm: "Mẫu đăng"
information: "Giới thiệu"
chat: "Trò chuyện"
migrateOldSettings: "Di chuyển cài đặt cũ"
migrateOldSettings_description: "Thông thường, quá trình này diễn ra tự động, nhưng nếu vì lý do nào đó mà quá trình di chuyển không thành công, bạn có thể kích hoạt thủ công quy trình di chuyển, quá trình này sẽ ghi đè lên thông tin cấu hình hiện tại của bạn."
_chat:
invitations: "Mời"
noHistory: "Không có dữ liệu"
members: "Thành viên"
home: "Trang chính"
send: "Gửi"
_settings:
preferencesBanner: "Bạn có thể cấu hình hành vi chung của máy khách theo sở thích của mình."
_accountSettings:
requireSigninToViewContents: "Yêu cầu đăng nhập để xem nội dung"
requireSigninToViewContentsDescription1: "Yêu cầu đăng nhập để xem tất cả ghi chú và nội dung khác mà bạn tạo. Điều này được kỳ vọng sẽ có hiệu quả trong việc ngăn chặn thông tin bị thu thập bởi các trình thu thập thông tin."
_delivery: _delivery:
stop: "Đã vô hiệu hóa" stop: "Đã vô hiệu hóa"
_type: _type:
@ -1255,33 +1144,8 @@ _initialAccountSetting:
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." 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!" initialAccountSettingCompleted: "Thiết lập tài khoản thành công!"
haveFun: "Hãy tận hưởng {name} nhé!" haveFun: "Hãy tận hưởng {name} nhé!"
youCanContinueTutorial: "Bạn có thể tiếp tục xem hướng dẫn về cách sử dụng {name} (Misskey) hoặc bạn có thể thoát khỏi phần thiết lập tại đây và bắt đầu sử dụng ngay lập tức."
startTutorial: "Bắt đầu hướng dẫn"
skipAreYouSure: "Bạn thực sự muốn bỏ qua mục thiết lập tài khoản?" 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?" laterAreYouSure: "Bạn thực sự muốn thiết lập tài khoản vào lúc khác?"
_initialTutorial:
launchTutorial: "Bắt đầu hướng dẫn"
title: "Hướng dẫn"
wellDone: "Làm tốt!"
skipAreYouSure: "Thoát khỏi hướng dẫn?"
_landing:
title: "Chào mừng đến với Hướng dẫn"
description: "Tại đây, bạn có thể tìm hiểu những điều cơ bản về cách sử dụng Misskey và các tính năng của nó."
_note:
title: "Bài Viết là gì?"
description: "Các bài đăng trên Misskey được gọi là 'Bài Viết'. Ghi chú được sắp xếp theo thứ tự thời gian trên dòng thời gian và được cập nhật theo thời gian thực."
_timeline:
home: "Bạn có thể xem ghi chú từ những tài khoản bạn theo dõi."
local: "Bạn có thể xem ghi chú từ tất cả người dùng trên máy chủ này."
social: "Ghi chú từ dòng thời gian Trang chủ và Địa phương sẽ được hiển thị."
global: "Bạn có thể xem ghi chú từ tất cả các máy chủ được kết nối."
_postNote:
_visibility:
home: "Chỉ công khai trên dòng thời gian Trang chủ. Những người truy cập trang cá nhân của bạn, thông qua người theo dõi và thông qua ghi chú lại có thể thấy thông tin đó."
_timelineDescription:
home: "Trong dòng thời gian Trang chính, bạn có thể xem ghi chú từ các tài khoản bạn theo dõi."
local: "Trong dòng thời gian cục bộ, bạn có thể xem ghi chú từ tất cả người dùng trên máy chủ này."
social: "Dòng thời gian Xã hội hiển thị các ghi chú từ cả dòng thời gian Trang chủ và Địa phương."
_serverSettings: _serverSettings:
iconUrl: "Biểu tượng URL" iconUrl: "Biểu tượng URL"
appIconResolutionMustBe: "Độ phân giải tối thiểu là {resolution}." appIconResolutionMustBe: "Độ phân giải tối thiểu là {resolution}."
@ -1442,7 +1306,7 @@ _achievements:
_postedAt0min0sec: _postedAt0min0sec:
title: "Tín hiệu báo giờ" title: "Tín hiệu báo giờ"
description: "Đăng bài vào 0 phút 0 giây" description: "Đăng bài vào 0 phút 0 giây"
flavor: "Pin pop pop pop" flavor: "Piiiiiii ĐÂY LÀ TIẾNG NÓI VIỆT NAM"
_selfQuote: _selfQuote:
title: "Nói đến bản thân" title: "Nói đến bản thân"
description: "Trích dẫn bài viết của mình" description: "Trích dẫn bài viết của mình"
@ -1664,6 +1528,7 @@ _theme:
header: "Ảnh bìa" header: "Ảnh bìa"
navBg: "Nền thanh bên" navBg: "Nền thanh bên"
navFg: "Chữ thanh bên" navFg: "Chữ thanh bên"
navHoverFg: "Chữ thanh bên (Khi chạm)"
navActive: "Chữ thanh bên (Khi chọn)" navActive: "Chữ thanh bên (Khi chọn)"
navIndicator: "Chỉ báo thanh bên" navIndicator: "Chỉ báo thanh bên"
link: "Đường dẫn" link: "Đường dẫn"
@ -1685,8 +1550,13 @@ _theme:
buttonBg: "Nền nút" buttonBg: "Nền nút"
buttonHoverBg: "Nền nút (Chạm)" buttonHoverBg: "Nền nút (Chạm)"
inputBorder: "Đường viền khung soạn thảo" inputBorder: "Đường viền khung soạn thảo"
listItemHoverBg: "Nền mục liệt kê (Chạm)"
driveFolderBg: "Nền thư mục Ổ đĩa"
wallpaperOverlay: "Lớp phủ hình nền"
badge: "Huy hiệu" badge: "Huy hiệu"
messageBg: "Nền chat" messageBg: "Nền chat"
accentDarken: "Màu phụ (Tối)"
accentLighten: "Màu phụ (Sáng)"
fgHighlighted: "Chữ nổi bật" fgHighlighted: "Chữ nổi bật"
_sfx: _sfx:
note: "Tút" note: "Tút"
@ -1761,7 +1631,6 @@ _permissions:
"write:gallery": "Sửa kho ảnh của tôi" "write:gallery": "Sửa kho ảnh của tôi"
"read:gallery-likes": "Xem danh sách các tút đã thích trong thư viện của tôi" "read:gallery-likes": "Xem danh sách các tút đã thích trong thư viện của tôi"
"write:gallery-likes": "Sửa danh sách các tút đã thích trong thư viện của tôi" "write:gallery-likes": "Sửa danh sách các tút đã thích trong thư viện của tôi"
"write:chat": "Soạn hoặc xóa tin nhắn"
_auth: _auth:
shareAccessTitle: "Cho phép truy cập app" shareAccessTitle: "Cho phép truy cập app"
shareAccess: "Bạn có muốn cho phép \"{name}\" truy cập vào tài khoản này không?" shareAccess: "Bạn có muốn cho phép \"{name}\" truy cập vào tài khoản này không?"
@ -1815,7 +1684,6 @@ _widgets:
_userList: _userList:
chooseList: "Chọn danh sách" chooseList: "Chọn danh sách"
clicker: "clicker" clicker: "clicker"
chat: "Trò chuyện"
_cw: _cw:
hide: "Ẩn" hide: "Ẩn"
show: "Tải thêm" show: "Tải thêm"
@ -1937,6 +1805,9 @@ _pages:
newPage: "Tạo Trang mới" newPage: "Tạo Trang mới"
editPage: "Sửa Trang này" editPage: "Sửa Trang này"
readPage: "Xem mã nguồn Trang này" readPage: "Xem mã nguồn Trang này"
created: "Trang đã được tạo thành công"
updated: "Trang đã được cập nhật thành công"
deleted: "Trang đã được xóa thành công"
pageSetting: "Cài đặt trang" pageSetting: "Cài đặt trang"
nameAlreadyExists: "URL Trang đã tồn tại" nameAlreadyExists: "URL Trang đã tồn tại"
invalidNameTitle: "URL Trang không hợp lệ" invalidNameTitle: "URL Trang không hợp lệ"
@ -2008,7 +1879,6 @@ _notification:
receiveFollowRequest: "Yêu cầu theo dõi" receiveFollowRequest: "Yêu cầu theo dõi"
followRequestAccepted: "Yêu cầu theo dõi được chấp nhận" followRequestAccepted: "Yêu cầu theo dõi được chấp nhận"
achievementEarned: "Hoàn thành Achievement" achievementEarned: "Hoàn thành Achievement"
login: "Đăng nhập"
app: "Từ app liên kết" app: "Từ app liên kết"
_actions: _actions:
followBack: "đã theo dõi lại bạn" followBack: "đã theo dõi lại bạn"
@ -2041,7 +1911,6 @@ _deck:
channel: "Kênh" channel: "Kênh"
mentions: "Lượt nhắc" mentions: "Lượt nhắc"
direct: "Nhắn riêng" direct: "Nhắn riêng"
chat: "Trò chuyện"
_dialog: _dialog:
charactersExceeded: "Bạn nhắn quá giới hạn ký tự!! Hiện nay {current} / giới hạn {max}" charactersExceeded: "Bạn nhắn quá giới hạn ký tự!! Hiện nay {current} / giới hạn {max}"
charactersBelow: "Bạn nhắn quá ít tối thiểu ký tự!! Hiện nay {current} / Tối thiểu {min}" charactersBelow: "Bạn nhắn quá ít tối thiểu ký tự!! Hiện nay {current} / Tối thiểu {min}"
@ -2058,34 +1927,8 @@ _abuseReport:
_recipientType: _recipientType:
mail: "Email" mail: "Email"
_moderationLogTypes: _moderationLogTypes:
createRole: "Tạo một vai trò"
deleteRole: "Xóa vai trò"
updateRole: "Cập nhật vai trò"
assignRole: "Chỉ định cho vai trò"
unassignRole: "Bỏ gán vai trò"
suspend: "Vô hiệu hóa" suspend: "Vô hiệu hóa"
unsuspend: "Rã đông"
resetPassword: "Đặt lại mật khẩu" resetPassword: "Đặt lại mật khẩu"
createInvitation: "Tạo lời mời" createInvitation: "Tạo lời mời"
_reversi: _reversi:
total: "Tổng cộng" total: "Tổng cộng"
_customEmojisManager:
_local:
_list:
confirmDeleteEmojisDescription: "Xóa các biểu tượng cảm xúc {count} đã chọn. Bạn có muốn chạy nó không?"
_remoteLookupErrors:
_noSuchObject:
title: "Không tìm thấy"
_search:
searchScopeAll: "Tất cả"
searchScopeLocal: "Máy chủ này"
searchScopeUser: "Người dùng chỉ định"
_watermarkEditor:
opacity: "Độ trong suốt"
scale: "Kích thước"
text: "Văn bản"
position: "Vị trí"
type: "Loại"
image: "Hình ảnh"
advanced: "Nâng cao"
angle: "Góc"

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,17 +1,14 @@
{ {
"name": "misskey", "name": "misskey",
"version": "2025.7.0", "version": "2024.8.0-rc.3",
"codename": "nasubi", "codename": "nasubi",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/misskey-dev/misskey.git" "url": "https://github.com/misskey-dev/misskey.git"
}, },
"packageManager": "pnpm@10.13.1", "packageManager": "pnpm@9.6.0",
"workspaces": [ "workspaces": [
"packages/frontend-shared",
"packages/frontend", "packages/frontend",
"packages/frontend-embed",
"packages/icons-subsetter",
"packages/backend", "packages/backend",
"packages/sw", "packages/sw",
"packages/misskey-js", "packages/misskey-js",
@ -26,7 +23,7 @@
"build-storybook": "pnpm --filter frontend build-storybook", "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 --no-build && 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", "build-misskey-js-with-types": "pnpm build-pre && pnpm --filter backend... --filter=!misskey-js build && pnpm --filter backend generate-api-json --no-build && 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": "pnpm check:connect && cd packages/backend && node ./built/boot/entry.js",
"start:test": "ncp ./.github/misskey/test.yml ./.config/test.yml && cd packages/backend && cross-env NODE_ENV=test node ./built/boot/entry.js", "start:test": "cd packages/backend && cross-env NODE_ENV=test node ./built/boot/entry.js",
"init": "pnpm migrate", "init": "pnpm migrate",
"migrate": "cd packages/backend && pnpm migrate", "migrate": "cd packages/backend && pnpm migrate",
"revert": "cd packages/backend && pnpm revert", "revert": "cd packages/backend && pnpm revert",
@ -35,10 +32,9 @@
"watch": "pnpm dev", "watch": "pnpm dev",
"dev": "node scripts/dev.mjs", "dev": "node scripts/dev.mjs",
"lint": "pnpm -r lint", "lint": "pnpm -r lint",
"cy:open": "pnpm cypress open --config-file=cypress.config.ts", "cy:open": "pnpm cypress open --browser --e2e --config-file=cypress.config.ts",
"cy:run": "pnpm cypress run", "cy:run": "pnpm cypress run",
"e2e": "pnpm start-server-and-test start:test http://localhost:61812 cy:run", "e2e": "pnpm start-server-and-test start:test http://localhost:61812 cy:run",
"e2e-dev-container": "ncp ./.config/cypress-devcontainer.yml ./.config/test.yml && pnpm start-server-and-test start:test http://localhost:61812 cy:run",
"jest": "cd packages/backend && pnpm jest", "jest": "cd packages/backend && pnpm jest",
"jest-and-coverage": "cd packages/backend && pnpm jest-and-coverage", "jest-and-coverage": "cd packages/backend && pnpm jest-and-coverage",
"test": "pnpm -r test", "test": "pnpm -r test",
@ -48,44 +44,35 @@
"cleanall": "pnpm clean-all" "cleanall": "pnpm clean-all"
}, },
"resolutions": { "resolutions": {
"chokidar": "4.0.3", "chokidar": "3.5.3",
"lodash": "4.17.21" "lodash": "4.17.21"
}, },
"dependencies": { "dependencies": {
"cssnano": "7.1.0", "cssnano": "6.1.2",
"esbuild": "0.25.6", "execa": "8.0.1",
"execa": "9.6.0", "fast-glob": "3.3.2",
"fast-glob": "3.3.3", "ignore-walk": "6.0.5",
"glob": "11.0.3",
"ignore-walk": "7.0.0",
"js-yaml": "4.1.0", "js-yaml": "4.1.0",
"postcss": "8.5.6", "postcss": "8.4.40",
"tar": "7.4.3", "tar": "6.2.1",
"terser": "5.43.1", "terser": "5.31.3",
"typescript": "5.8.3" "typescript": "5.5.4",
"esbuild": "0.23.0",
"glob": "11.0.0"
}, },
"devDependencies": { "devDependencies": {
"@misskey-dev/eslint-plugin": "2.1.0", "@misskey-dev/eslint-plugin": "2.0.3",
"@types/node": "22.16.4", "@types/node": "20.14.12",
"@typescript-eslint/eslint-plugin": "8.37.0", "@typescript-eslint/eslint-plugin": "7.17.0",
"@typescript-eslint/parser": "8.37.0", "@typescript-eslint/parser": "7.17.0",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"cypress": "14.5.2", "cypress": "13.13.1",
"eslint": "9.31.0", "eslint": "9.8.0",
"globals": "16.3.0", "globals": "15.8.0",
"ncp": "2.0.0", "ncp": "2.0.0",
"pnpm": "10.13.1", "start-server-and-test": "2.0.4"
"start-server-and-test": "2.0.12"
}, },
"optionalDependencies": { "optionalDependencies": {
"@tensorflow/tfjs-core": "4.22.0" "@tensorflow/tfjs-core": "4.4.0"
},
"pnpm": {
"overrides": {
"@aiscript-dev/aiscript-languageserver": "-"
},
"patchedDependencies": {
"typeorm": "patches/typeorm.patch"
}
} }
} }

View file

@ -1,5 +1,5 @@
{ {
"$schema": "https://swc.rs/schema.json", "$schema": "https://json.schemastore.org/swcrc",
"jsc": { "jsc": {
"parser": { "parser": {
"syntax": "typescript", "syntax": "typescript",

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