Compare commits
No commits in common. "main" and "egirls-sharkey" have entirely different histories.
main
...
egirls-sha
2342 changed files with 37707 additions and 103930 deletions
|
@ -6,7 +6,7 @@
|
|||
#───┘ URL └─────────────────────────────────────────────────────
|
||||
|
||||
# Final accessible URL seen by a user.
|
||||
url: http://misskey.local
|
||||
url: https://example.tld/
|
||||
|
||||
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
|
||||
# URL SETTINGS AFTER THAT!
|
||||
|
@ -106,7 +106,7 @@ redis:
|
|||
# ┌───────────────────────────┐
|
||||
#───┘ MeiliSearch configuration └─────────────────────────────
|
||||
|
||||
# You can set scope to local (default value) or global
|
||||
# You can set scope to local (default value) or global
|
||||
# (include notes from remote).
|
||||
|
||||
#meilisearch:
|
||||
|
@ -198,18 +198,13 @@ proxyRemoteFiles: true
|
|||
# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4
|
||||
#videoThumbnailGenerator: https://example.com
|
||||
|
||||
# Sign outgoing ActivityPub GET request (default: true)
|
||||
# Sign to ActivityPub GET request (default: true)
|
||||
signToActivityPubGet: true
|
||||
# Sign outgoing ActivityPub Activities (default: true)
|
||||
# Linked Data signatures are cryptographic signatures attached to each activity to provide proof of authenticity.
|
||||
# When using authorized fetch, this is often undesired as any signed activity can be forwarded to a blocked instance by relays and other instances.
|
||||
# This setting allows admins to disable LD signatures for increased privacy, at the expense of fewer relayed activities and additional inbound fetch (GET) requests.
|
||||
attachLdSignatureForRelays: true
|
||||
# check that inbound ActivityPub GET requests are signed ("authorized fetch")
|
||||
checkActivityPubGetSignature: false
|
||||
|
||||
# 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)).
|
||||
#allowedPrivateNetworks: [
|
||||
# '127.0.0.1/32'
|
||||
|
|
|
@ -1,11 +1,4 @@
|
|||
# misskey settings
|
||||
# MISSKEY_URL=https://example.tld/
|
||||
|
||||
# db settings
|
||||
POSTGRES_PASSWORD=example-misskey-pass
|
||||
# DATABASE_PASSWORD=${POSTGRES_PASSWORD}
|
||||
POSTGRES_USER=example-misskey-user
|
||||
# DATABASE_USER=${POSTGRES_USER}
|
||||
POSTGRES_DB=misskey
|
||||
# DATABASE_DB=${POSTGRES_DB}
|
||||
DATABASE_URL="postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}"
|
||||
|
|
|
@ -2,68 +2,10 @@
|
|||
# Misskey configuration
|
||||
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
# ┌──────────────────────────────┐
|
||||
#───┘ a boring but important thing └────────────────────────────
|
||||
|
||||
#
|
||||
# First of all, let me tell you a story that may possibly be
|
||||
# boring to you and possibly important to you.
|
||||
#
|
||||
# Misskey is licensed under the AGPLv3 license. This license is
|
||||
# known to be often misunderstood. Please read the following
|
||||
# instructions carefully and select the appropriate option so
|
||||
# that you do not negligently cause a license violation.
|
||||
#
|
||||
|
||||
# --------
|
||||
# Option 1: If you host Misskey AS-IS (without any changes to
|
||||
# the source code. forks are not included).
|
||||
#
|
||||
# Step 1: Congratulations! You don't need to do anything.
|
||||
|
||||
# --------
|
||||
# Option 2: If you have made changes to the source code (forks
|
||||
# are included) and publish a Git repository of source
|
||||
# code. There should be no access restrictions on
|
||||
# this repository. Strictly speaking, it doesn't have
|
||||
# to be a Git repository, but you'll probably use Git!
|
||||
#
|
||||
# Step 1: Build and run the Misskey server first.
|
||||
# Step 2: Open <https://your.misskey.example/admin/settings> in
|
||||
# your browser with the administrator account.
|
||||
# Step 3: Enter the URL of your Git repository in the
|
||||
# "Repository URL" field.
|
||||
|
||||
# --------
|
||||
# Option 3: If neither of the above applies to you.
|
||||
# (In this case, the source code should be published
|
||||
# on the Misskey interface. IT IS NOT ENOUGH TO
|
||||
# DISCLOSE THE SOURCE CODE WEHN A USER REQUESTS IT BY
|
||||
# E-MAIL OR OTHER MEANS. If you are not satisfied
|
||||
# with this, it is recommended that you read the
|
||||
# license again carefully. Anyway, enabling this
|
||||
# option will automatically generate and publish a
|
||||
# tarball at build time, protecting you from
|
||||
# inadvertent license violations. (There is no legal
|
||||
# guarantee, of course.) The tarball will generated
|
||||
# from the root directory of your codebase. So it is
|
||||
# also recommended to check <built/tarball> directory
|
||||
# once after building and before activating the server
|
||||
# to avoid ACCIDENTAL LEAKING OF SENSITIVE INFORMATION.
|
||||
# To prevent certain files from being included in the
|
||||
# tarball, add a glob pattern after line 15 in
|
||||
# <scripts/tarball.mjs>. DO NOT FORGET TO BUILD AFTER
|
||||
# ENABLING THIS OPTION!)
|
||||
#
|
||||
# Step 1: Uncomment the following line.
|
||||
#
|
||||
# publishTarballInsteadOfProvideRepositoryUrl: true
|
||||
|
||||
# ┌─────┐
|
||||
#───┘ URL └─────────────────────────────────────────────────────
|
||||
|
||||
# Final accessible URL seen by a user.
|
||||
# You can set url from an environment variable instead.
|
||||
url: https://example.tld/
|
||||
|
||||
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
|
||||
|
@ -96,11 +38,9 @@ db:
|
|||
port: 5432
|
||||
|
||||
# Database name
|
||||
# You can set db from an environment variable instead.
|
||||
db: misskey
|
||||
|
||||
# Auth
|
||||
# You can set user and pass from environment variables instead.
|
||||
user: example-misskey-user
|
||||
pass: example-misskey-pass
|
||||
|
||||
|
@ -166,7 +106,7 @@ redis:
|
|||
# ┌───────────────────────────┐
|
||||
#───┘ MeiliSearch configuration └─────────────────────────────
|
||||
|
||||
# You can set scope to local (default value) or global
|
||||
# You can set scope to local (default value) or global
|
||||
# (include notes from remote).
|
||||
|
||||
#meilisearch:
|
||||
|
@ -196,21 +136,6 @@ redis:
|
|||
|
||||
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:
|
||||
# options:
|
||||
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
|
||||
|
||||
# ┌─────────────────────┐
|
||||
#───┘ Other configuration └─────────────────────────────────────
|
||||
|
||||
|
@ -223,14 +148,14 @@ id: 'aidx'
|
|||
# Job concurrency per worker
|
||||
# deliverJobConcurrency: 128
|
||||
# inboxJobConcurrency: 16
|
||||
# relationshipJobConcurrency: 16
|
||||
# What's relationshipJob?:
|
||||
# relashionshipJobConcurrency: 16
|
||||
# What's relashionshipJob?:
|
||||
# Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations.
|
||||
|
||||
# Job rate limiter
|
||||
# deliverJobPerSec: 128
|
||||
# inboxJobPerSec: 32
|
||||
# relationshipJobPerSec: 64
|
||||
# relashionshipJobPerSec: 64
|
||||
|
||||
# Job attempts
|
||||
# deliverJobMaxAttempts: 12
|
||||
|
@ -273,18 +198,13 @@ proxyRemoteFiles: true
|
|||
# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4
|
||||
#videoThumbnailGenerator: https://example.com
|
||||
|
||||
# Sign outgoing ActivityPub GET request (default: true)
|
||||
# Sign to ActivityPub GET request (default: true)
|
||||
signToActivityPubGet: true
|
||||
# Sign outgoing ActivityPub Activities (default: true)
|
||||
# Linked Data signatures are cryptographic signatures attached to each activity to provide proof of authenticity.
|
||||
# When using authorized fetch, this is often undesired as any signed activity can be forwarded to a blocked instance by relays and other instances.
|
||||
# This setting allows admins to disable LD signatures for increased privacy, at the expense of fewer relayed activities and additional inbound fetch (GET) requests.
|
||||
attachLdSignatureForRelays: true
|
||||
# check that inbound ActivityPub GET requests are signed ("authorized fetch")
|
||||
checkActivityPubGetSignature: false
|
||||
|
||||
# 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)).
|
||||
#allowedPrivateNetworks: [
|
||||
# '127.0.0.1/32'
|
||||
|
|
|
@ -2,63 +2,6 @@
|
|||
# Misskey configuration
|
||||
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
# ┌──────────────────────────────┐
|
||||
#───┘ a boring but important thing └────────────────────────────
|
||||
|
||||
#
|
||||
# First of all, let me tell you a story that may possibly be
|
||||
# boring to you and possibly important to you.
|
||||
#
|
||||
# Misskey is licensed under the AGPLv3 license. This license is
|
||||
# known to be often misunderstood. Please read the following
|
||||
# instructions carefully and select the appropriate option so
|
||||
# that you do not negligently cause a license violation.
|
||||
#
|
||||
|
||||
# --------
|
||||
# Option 1: If you host Misskey AS-IS (without any changes to
|
||||
# the source code. forks are not included).
|
||||
#
|
||||
# Step 1: Congratulations! You don't need to do anything.
|
||||
|
||||
# --------
|
||||
# Option 2: If you have made changes to the source code (forks
|
||||
# are included) and publish a Git repository of source
|
||||
# code. There should be no access restrictions on
|
||||
# this repository. Strictly speaking, it doesn't have
|
||||
# to be a Git repository, but you'll probably use Git!
|
||||
#
|
||||
# Step 1: Build and run the Misskey server first.
|
||||
# Step 2: Open <https://your.misskey.example/admin/settings> in
|
||||
# your browser with the administrator account.
|
||||
# Step 3: Enter the URL of your Git repository in the
|
||||
# "Repository URL" field.
|
||||
|
||||
# --------
|
||||
# Option 3: If neither of the above applies to you.
|
||||
# (In this case, the source code should be published
|
||||
# on the Misskey interface. IT IS NOT ENOUGH TO
|
||||
# DISCLOSE THE SOURCE CODE WHEN A USER REQUESTS IT BY
|
||||
# E-MAIL OR OTHER MEANS. If you are not satisfied
|
||||
# with this, it is recommended that you read the
|
||||
# license again carefully. Anyway, enabling this
|
||||
# option will automatically generate and publish a
|
||||
# tarball at build time, protecting you from
|
||||
# inadvertent license violations. (There is no legal
|
||||
# guarantee, of course.) The tarball will generated
|
||||
# from the root directory of your codebase. So it is
|
||||
# also recommended to check <built/tarball> directory
|
||||
# once after building and before activating the server
|
||||
# to avoid ACCIDENTAL LEAKING OF SENSITIVE INFORMATION.
|
||||
# To prevent certain files from being included in the
|
||||
# tarball, add a glob pattern after line 15 in
|
||||
# <scripts/tarball.mjs>. DO NOT FORGET TO BUILD AFTER
|
||||
# ENABLING THIS OPTION!)
|
||||
#
|
||||
# Step 1: Uncomment the following line.
|
||||
#
|
||||
# publishTarballInsteadOfProvideRepositoryUrl: true
|
||||
|
||||
# ┌─────┐
|
||||
#───┘ URL └─────────────────────────────────────────────────────
|
||||
|
||||
|
@ -175,7 +118,7 @@ redis:
|
|||
# ┌───────────────────────────┐
|
||||
#───┘ MeiliSearch configuration └─────────────────────────────
|
||||
|
||||
# You can set scope to local (default value) or global
|
||||
# You can set scope to local (default value) or global
|
||||
# (include notes from remote).
|
||||
|
||||
#meilisearch:
|
||||
|
@ -205,21 +148,6 @@ redis:
|
|||
|
||||
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:
|
||||
# options:
|
||||
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
|
||||
|
||||
# ┌─────────────────────┐
|
||||
#───┘ Other configuration └─────────────────────────────────────
|
||||
|
||||
|
@ -232,14 +160,14 @@ id: 'aidx'
|
|||
# Job concurrency per worker
|
||||
#deliverJobConcurrency: 128
|
||||
#inboxJobConcurrency: 16
|
||||
#relationshipJobConcurrency: 16
|
||||
# What's relationshipJob?:
|
||||
#relashionshipJobConcurrency: 16
|
||||
# What's relashionshipJob?:
|
||||
# Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations.
|
||||
|
||||
# Job rate limiter
|
||||
#deliverJobPerSec: 128
|
||||
#inboxJobPerSec: 32
|
||||
#relationshipJobPerSec: 64
|
||||
#relashionshipJobPerSec: 64
|
||||
|
||||
# Job attempts
|
||||
#deliverJobMaxAttempts: 12
|
||||
|
@ -285,18 +213,13 @@ proxyRemoteFiles: true
|
|||
# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4
|
||||
#videoThumbnailGenerator: https://example.com
|
||||
|
||||
# Sign outgoing ActivityPub GET request (default: true)
|
||||
# Sign to ActivityPub GET request (default: true)
|
||||
signToActivityPubGet: true
|
||||
# Sign outgoing ActivityPub Activities (default: true)
|
||||
# Linked Data signatures are cryptographic signatures attached to each activity to provide proof of authenticity.
|
||||
# When using authorized fetch, this is often undesired as any signed activity can be forwarded to a blocked instance by relays and other instances.
|
||||
# This setting allows admins to disable LD signatures for increased privacy, at the expense of fewer relayed activities and additional inbound fetch (GET) requests.
|
||||
attachLdSignatureForRelays: true
|
||||
# check that inbound ActivityPub GET requests are signed ("authorized fetch")
|
||||
checkActivityPubGetSignature: false
|
||||
|
||||
# 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)).
|
||||
#allowedPrivateNetworks: [
|
||||
# '127.0.0.1/32'
|
||||
|
@ -307,10 +230,5 @@ checkActivityPubGetSignature: false
|
|||
# Upload or download file size limits (bytes)
|
||||
#maxFileSize: 262144000
|
||||
|
||||
# timeout and maximum size for imports (e.g. note imports)
|
||||
#import:
|
||||
# downloadTimeout: 30
|
||||
# maxFileSize: 262144000
|
||||
|
||||
# PID File of master process
|
||||
#pidFile: /tmp/misskey.pid
|
||||
|
|
|
@ -1,22 +1,25 @@
|
|||
{
|
||||
"name": "Misskey",
|
||||
"dockerComposeFile": "compose.yml",
|
||||
"dockerComposeFile": "docker-compose.yml",
|
||||
"service": "app",
|
||||
"workspaceFolder": "/workspace",
|
||||
"features": {
|
||||
"ghcr.io/devcontainers/features/node:1": {
|
||||
"version": "20.16.0"
|
||||
"ghcr.io/devcontainers-contrib/features/pnpm:2": {
|
||||
"version": "8.9.2"
|
||||
},
|
||||
"ghcr.io/devcontainers-contrib/features/corepack:1": {}
|
||||
"ghcr.io/devcontainers/features/node:1": {
|
||||
"version": "20.10.0"
|
||||
}
|
||||
},
|
||||
"forwardPorts": [3000],
|
||||
"postCreateCommand": "/bin/bash .devcontainer/init.sh",
|
||||
"postCreateCommand": "sudo chmod 755 .devcontainer/init.sh && .devcontainer/init.sh",
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"editorconfig.editorconfig",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"Vue.volar",
|
||||
"Vue.vscode-typescript-vue-plugin",
|
||||
"Orta.vscode-jest",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"mrmlnc.vscode-json5"
|
||||
|
|
|
@ -132,21 +132,6 @@ redis:
|
|||
|
||||
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:
|
||||
# options:
|
||||
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
|
||||
|
||||
# ┌─────────────────────┐
|
||||
#───┘ Other configuration └─────────────────────────────────────
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
version: '3.8'
|
||||
|
||||
services:
|
||||
app:
|
||||
build:
|
||||
|
@ -6,7 +8,6 @@ services:
|
|||
|
||||
volumes:
|
||||
- ../:/workspace:cached
|
||||
- node_modules:/workspace/node_modules
|
||||
|
||||
command: sleep infinity
|
||||
|
||||
|
@ -45,7 +46,6 @@ services:
|
|||
volumes:
|
||||
postgres-data:
|
||||
redis-data:
|
||||
node_modules:
|
||||
|
||||
networks:
|
||||
internal_network:
|
|
@ -2,11 +2,8 @@
|
|||
|
||||
set -xe
|
||||
|
||||
sudo chown node node_modules
|
||||
git config --global --add safe.directory /workspace
|
||||
sudo chown -R node /workspace
|
||||
git submodule update --init
|
||||
corepack install
|
||||
corepack enable
|
||||
pnpm config set store-dir /home/node/.local/share/pnpm/store
|
||||
pnpm install --frozen-lockfile
|
||||
cp .devcontainer/devcontainer.yml .config/default.yml
|
||||
|
|
|
@ -7,11 +7,12 @@ Dockerfile
|
|||
build/
|
||||
built/
|
||||
db/
|
||||
.devcontainer/compose.yml
|
||||
docker-compose.yml
|
||||
node_modules/
|
||||
packages/*/node_modules
|
||||
redis/
|
||||
files/
|
||||
misskey-assets/
|
||||
fluent-emojis/
|
||||
.pnp.*
|
||||
|
||||
|
@ -27,4 +28,4 @@ fluent-emojis/
|
|||
|
||||
.idea/
|
||||
packages/*/.vscode/
|
||||
packages/backend/test/compose.yml
|
||||
packages/backend/test/docker-compose.yml
|
||||
|
|
58
.forgejo/workflows/docker-develop.yml
Normal file
58
.forgejo/workflows/docker-develop.yml
Normal file
|
@ -0,0 +1,58 @@
|
|||
name: Publish Docker image (develop)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- develop
|
||||
paths:
|
||||
- packages/**
|
||||
- locales/**
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
REGISTRY: git.joinsharkey.org
|
||||
|
||||
jobs:
|
||||
push_to_registry:
|
||||
name: Push Docker image to GHCR
|
||||
runs-on: docker
|
||||
steps:
|
||||
- name: install packages
|
||||
run: apt-get update && apt-get install -y wget git curl
|
||||
- uses: https://code.forgejo.org/actions/setup-node@v3
|
||||
with:
|
||||
node-version: 20
|
||||
- name: Install docker
|
||||
run: |
|
||||
echo deb http://deb.debian.org/debian bullseye-backports main | tee /etc/apt/sources.list.d/backports.list && apt-get -qq update
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -qq -y -t bullseye-backports docker.io
|
||||
- name: Check out the repo
|
||||
uses: actions/checkout@v4.1.1
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: https://github.com/docker/setup-buildx-action@v3.0.0
|
||||
with:
|
||||
platforms: linux/amd64,linux/arm64
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: https://github.com/docker/metadata-action@v5
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/sharkey/sharkey
|
||||
- name: Log in to GHCR
|
||||
uses: https://github.com/docker/login-action@v3
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: Marie
|
||||
password: ${{ secrets.TOKEN }}
|
||||
- name: Build and Push to GHCR
|
||||
id: build
|
||||
uses: https://github.com/docker/build-push-action@v5
|
||||
with:
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
context: .
|
||||
push: true
|
||||
platforms: ${{ steps.buildx.outputs.platforms }}
|
||||
provenance: false
|
||||
tags: ${{ env.REGISTRY }}/sharkey/sharkey:develop
|
||||
labels: develop
|
||||
build-args: NODE_ENV=development
|
62
.forgejo/workflows/docker.yml
Normal file
62
.forgejo/workflows/docker.yml
Normal file
|
@ -0,0 +1,62 @@
|
|||
name: Publish Docker image
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
REGISTRY: git.joinsharkey.org
|
||||
|
||||
jobs:
|
||||
push_to_registry:
|
||||
name: Push Docker image to GHCR
|
||||
runs-on: docker
|
||||
|
||||
steps:
|
||||
- name: install packages
|
||||
run: apt-get update && apt-get install -y wget git curl
|
||||
- uses: https://code.forgejo.org/actions/setup-node@v3
|
||||
with:
|
||||
node-version: 20
|
||||
- name: Install docker
|
||||
run: |
|
||||
echo deb http://deb.debian.org/debian bullseye-backports main | tee /etc/apt/sources.list.d/backports.list && apt-get -qq update
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -qq -y -t bullseye-backports docker.io
|
||||
- name: Check out the repo
|
||||
uses: actions/checkout@v4.1.1
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: https://github.com/docker/setup-buildx-action@v3.0.0
|
||||
with:
|
||||
platforms: linux/amd64,linux/arm64
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: https://github.com/docker/metadata-action@v5
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/sharkey/sharkey
|
||||
tags: |
|
||||
type=edge
|
||||
type=ref,event=pr
|
||||
type=ref,event=branch
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
type=semver,pattern={{major}}
|
||||
type=raw,value=stable
|
||||
- name: Log in to GHCR
|
||||
uses: https://github.com/docker/login-action@v3
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: Marie
|
||||
password: ${{ secrets.TOKEN }}
|
||||
- name: Build and Push to GHCR
|
||||
id: build
|
||||
uses: https://github.com/docker/build-push-action@v5
|
||||
with:
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
context: .
|
||||
push: true
|
||||
platforms: ${{ steps.buildx.outputs.platforms }}
|
||||
provenance: false
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
85
.forgejo/workflows/lint.yml
Normal file
85
.forgejo/workflows/lint.yml
Normal file
|
@ -0,0 +1,85 @@
|
|||
name: Lint
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- stable
|
||||
- develop
|
||||
paths:
|
||||
- packages/**
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
pnpm_install:
|
||||
runs-on: docker
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
fetch-depth: 0
|
||||
submodules: true
|
||||
- uses: https://github.com/pnpm/action-setup@v2
|
||||
with:
|
||||
version: 8
|
||||
run_install: false
|
||||
- uses: https://code.forgejo.org/actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.node-version'
|
||||
cache: 'pnpm'
|
||||
- run: corepack enable
|
||||
- run: pnpm i --frozen-lockfile
|
||||
|
||||
lint:
|
||||
needs: [pnpm_install]
|
||||
runs-on: docker
|
||||
continue-on-error: true
|
||||
strategy:
|
||||
matrix:
|
||||
workspace:
|
||||
- backend
|
||||
- frontend
|
||||
- sw
|
||||
- misskey-js
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
fetch-depth: 0
|
||||
submodules: true
|
||||
- uses: https://github.com/pnpm/action-setup@v2
|
||||
with:
|
||||
version: 7
|
||||
run_install: false
|
||||
- uses: https://code.forgejo.org/actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.node-version'
|
||||
cache: 'pnpm'
|
||||
- run: corepack enable
|
||||
- run: pnpm i --frozen-lockfile
|
||||
- run: pnpm --filter ${{ matrix.workspace }} run eslint
|
||||
|
||||
typecheck:
|
||||
needs: [pnpm_install]
|
||||
runs-on: docker
|
||||
continue-on-error: true
|
||||
strategy:
|
||||
matrix:
|
||||
workspace:
|
||||
- backend
|
||||
- misskey-js
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
fetch-depth: 0
|
||||
submodules: true
|
||||
- uses: https://github.com/pnpm/action-setup@v2
|
||||
with:
|
||||
version: 7
|
||||
run_install: false
|
||||
- uses: https://code.forgejo.org/actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.node-version'
|
||||
cache: 'pnpm'
|
||||
- run: corepack enable
|
||||
- run: pnpm i --frozen-lockfile
|
||||
- run: pnpm --filter misskey-js run build
|
||||
if: ${{ matrix.workspace == 'backend' }}
|
||||
- run: pnpm --filter ${{ matrix.workspace }} run typecheck
|
97
.gitea/ISSUE_TEMPLATE/01_bug-report.yml
Normal file
97
.gitea/ISSUE_TEMPLATE/01_bug-report.yml
Normal file
|
@ -0,0 +1,97 @@
|
|||
name: 🐛 Bug Report
|
||||
description: Create a report to help us improve
|
||||
title: 'bug: '
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for reporting!
|
||||
First, in order to avoid duplicate Issues, please search to see if the problem you found has already been reported.
|
||||
Also, If you are NOT owner/admin of server, PLEASE DONT REPORT SERVER SPECIFIC ISSUES TO HERE! (e.g. feature XXX is not working in misskey.example) Please try with another misskey servers, and if your issue is only reproducible with specific server, contact your server's owner/admin first.
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: 💡 Summary
|
||||
description: Tell us what the bug is
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: 🥰 Expected Behavior
|
||||
description: Tell us what should happen
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: 🤬 Actual Behavior
|
||||
description: |
|
||||
Tell us what happens instead of the expected behavior.
|
||||
Please include errors from the developer console and/or server log files if you have access to them.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: 📝 Steps to Reproduce
|
||||
placeholder: |
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: 💻 Frontend Environment
|
||||
description: |
|
||||
Tell us where on the platform it happens
|
||||
DO NOT WRITE "latest". Please provide the specific version.
|
||||
|
||||
Examples:
|
||||
* Model and OS of the device(s): MacBook Pro (14inch, 2021), macOS Ventura 13.4
|
||||
* Browser: Chrome 113.0.5672.126
|
||||
* Server URL: misskey.io
|
||||
* Misskey: 13.x.x
|
||||
value: |
|
||||
* Model and OS of the device(s):
|
||||
* Browser:
|
||||
* Server URL:
|
||||
* Misskey:
|
||||
render: markdown
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: 🛰 Backend Environment (for server admin)
|
||||
description: |
|
||||
Tell us where on the platform it happens
|
||||
DO NOT WRITE "latest". Please provide the specific version.
|
||||
If you are using a managed service, put that after the version.
|
||||
|
||||
Examples:
|
||||
* Installation Method or Hosting Service: docker compose, k8s/docker, systemd, "Misskey install shell script", development environment
|
||||
* Misskey: 13.x.x
|
||||
* Node: 20.x.x
|
||||
* PostgreSQL: 15.x.x
|
||||
* Redis: 7.x.x
|
||||
* OS and Architecture: Ubuntu 22.04.2 LTS aarch64
|
||||
value: |
|
||||
* Installation Method or Hosting Service:
|
||||
* Misskey:
|
||||
* Node:
|
||||
* PostgreSQL:
|
||||
* Redis:
|
||||
* OS and Architecture:
|
||||
render: markdown
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Do you want to address this bug yourself?
|
||||
options:
|
||||
- label: Yes, I will patch the bug myself and send a pull request
|
22
.gitea/ISSUE_TEMPLATE/02_feature-request.yml
Normal file
22
.gitea/ISSUE_TEMPLATE/02_feature-request.yml
Normal file
|
@ -0,0 +1,22 @@
|
|||
name: ✨ Feature Request
|
||||
description: Suggest an idea for this project
|
||||
title: 'feat: '
|
||||
|
||||
body:
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Summary
|
||||
description: Tell us what the suggestion is
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Purpose
|
||||
description: Describe the specific problem or need you think this feature will solve, and who it will help.
|
||||
validations:
|
||||
required: true
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Do you want to implement this feature yourself?
|
||||
options:
|
||||
- label: Yes, I will implement this by myself and send a pull request
|
4
.gitea/ISSUE_TEMPLATE/config.yml
Normal file
4
.gitea/ISSUE_TEMPLATE/config.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
contact_links:
|
||||
- name: 💬 Transfem.org Discord
|
||||
url: https://discord.gg/HJcAanTR6H
|
||||
about: Chat freely about Sharkey
|
24
.gitea/pull_request_template.md
Normal file
24
.gitea/pull_request_template.md
Normal file
|
@ -0,0 +1,24 @@
|
|||
<!-- ℹ お読みください / README
|
||||
PRありがとうございます! PRを作成する前に、コントリビューションガイドをご確認ください:
|
||||
Thank you for your PR! Before creating a PR, please check the contribution guide:
|
||||
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
|
||||
-->
|
||||
|
||||
## What
|
||||
<!-- このPRで何をしたのか? どう変わるのか? -->
|
||||
<!-- What did you do with this PR? How will it change things? -->
|
||||
|
||||
## Why
|
||||
<!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? -->
|
||||
<!-- Why do you do it? What are your intentions? What is the problem? -->
|
||||
|
||||
## Additional info (optional)
|
||||
<!-- テスト観点など -->
|
||||
<!-- Test perspective, etc -->
|
||||
|
||||
## Checklist
|
||||
- [ ] Read the [contribution guide](https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md)
|
||||
- [ ] Test working in a local environment
|
||||
- [ ] (If needed) Add story of storybook
|
||||
- [ ] (If needed) Update CHANGELOG.md
|
||||
- [ ] (If possible) Add tests
|
7
.gitignore
vendored
7
.gitignore
vendored
|
@ -36,14 +36,11 @@ coverage
|
|||
!/.config/docker_example.yml
|
||||
!/.config/docker_example.env
|
||||
docker-compose.yml
|
||||
compose.yml
|
||||
.devcontainer/compose.yml
|
||||
!/.devcontainer/compose.yml
|
||||
!/.devcontainer/docker-compose.yml
|
||||
|
||||
# misskey
|
||||
/build
|
||||
built
|
||||
built-test
|
||||
/data
|
||||
/.cache-loader
|
||||
/db
|
||||
|
@ -60,8 +57,6 @@ api-docs.json
|
|||
ormconfig.json
|
||||
temp
|
||||
/packages/frontend/src/**/*.stories.ts
|
||||
tsdoc-metadata.json
|
||||
misskey-assets
|
||||
|
||||
# Sharkey
|
||||
/packages/megalodon/lib
|
||||
|
|
|
@ -4,25 +4,21 @@ stages:
|
|||
|
||||
testCommit:
|
||||
stage: test
|
||||
image: node:iron
|
||||
image: node:latest
|
||||
services:
|
||||
- postgres:15
|
||||
- redis
|
||||
variables:
|
||||
POSTGRES_PASSWORD: ci
|
||||
script:
|
||||
- apt-get update && apt-get install -y git wget curl build-essential python3 ffmpeg
|
||||
- apt-get update && apt-get install -y git wget curl build-essential python3
|
||||
- cp .config/ci.yml .config/default.yml
|
||||
- cp .config/ci.yml .config/test.yml
|
||||
- corepack enable
|
||||
- corepack prepare pnpm@latest --activate
|
||||
- git submodule update --init
|
||||
- pnpm install --frozen-lockfile
|
||||
- pnpm run build
|
||||
- pnpm run migrate
|
||||
- pnpm run --filter='!megalodon' --workspace-concurrency=1 test
|
||||
- pnpm run --filter=backend lint
|
||||
- pnpm run --filter=frontend eslint
|
||||
cache:
|
||||
key: test
|
||||
policy: pull-push
|
||||
|
@ -32,7 +28,6 @@ testCommit:
|
|||
- packages/*/node_modules/
|
||||
only:
|
||||
- develop
|
||||
- merge_requests
|
||||
- stable
|
||||
|
||||
getImageTag:
|
||||
|
@ -60,7 +55,6 @@ getImageTag:
|
|||
- stable
|
||||
- develop
|
||||
- tags
|
||||
|
||||
buildDocker:
|
||||
stage: deploy
|
||||
needs:
|
||||
|
@ -85,7 +79,6 @@ buildDocker:
|
|||
- stable
|
||||
- develop
|
||||
- tags
|
||||
|
||||
mergeManifests:
|
||||
stage: deploy
|
||||
needs:
|
||||
|
|
6
.gitmodules
vendored
6
.gitmodules
vendored
|
@ -1,6 +1,6 @@
|
|||
[submodule "misskey-assets"]
|
||||
path = misskey-assets
|
||||
url = https://github.com/misskey-dev/assets.git
|
||||
[submodule "fluent-emojis"]
|
||||
path = fluent-emojis
|
||||
url = https://github.com/misskey-dev/emojis.git
|
||||
[submodule "tossface-emojis"]
|
||||
path = tossface-emojis
|
||||
url = https://activitypub.software/TransFem-org/tossface-emojis.git
|
||||
|
|
|
@ -1 +1 @@
|
|||
20.16.0
|
||||
20.10.0
|
||||
|
|
2
.npmrc
2
.npmrc
|
@ -1,2 +1,2 @@
|
|||
@transfem-org:registry=https://activitypub.software/api/v4/packages/npm/
|
||||
@sharkey:registry=https://git.joinsharkey.org/api/packages/Sharkey/npm/
|
||||
engine-strict = true
|
||||
|
|
2
.vscode/extensions.json
vendored
2
.vscode/extensions.json
vendored
|
@ -3,7 +3,9 @@
|
|||
"editorconfig.editorconfig",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"Vue.volar",
|
||||
"Vue.vscode-typescript-vue-plugin",
|
||||
"Orta.vscode-jest",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"mrmlnc.vscode-json5"
|
||||
]
|
||||
}
|
||||
|
|
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
|
@ -7,7 +7,7 @@
|
|||
"*.test.ts": "typescript"
|
||||
},
|
||||
"jest.jestCommandLine": "pnpm run jest",
|
||||
"jest.runMode": "on-demand",
|
||||
"jest.autoRun": "off",
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll": "explicit"
|
||||
},
|
||||
|
|
418
CHANGELOG.md
418
CHANGELOG.md
|
@ -1,426 +1,16 @@
|
|||
## 2024.9.3 (eGirlskey)
|
||||
- Blocks are loosened to allow moderators to view posts regardless, as well as allow for seeing parts of threads where you are mentioned
|
||||
|
||||
## 2024.9.2 (eGirlskey)
|
||||
- Improvements to user block: posts should now get properly hidden if they are replies to or mentions of a blocked user.
|
||||
|
||||
## 2024.9.1 (eGirlskey)
|
||||
- Impersonate `misskey` upstream in nodeinfo to fix issues with client apps
|
||||
- Fix two-factor-auth login with `secureApiMode: true` by returning a stub user to unauthorized clients.
|
||||
|
||||
## 2024.9.0 (eGirlskey)
|
||||
- First official eGirlskey release not a part of Sharkey
|
||||
- Based on Sharkey 2024.8.1, which is based on Misskey 2024.8.0. See [sharkey patch notes](https://activitypub.software/TransFem-org/Sharkey/-/releases/2024.8.1) for more information
|
||||
|
||||
## 2024.8.0
|
||||
|
||||
### General
|
||||
- Enhance: モデレーターはすべてのユーザーのフォロー・フォロワーの一覧を見られるように
|
||||
- Enhance: アカウントの削除のモデレーションログを残すように
|
||||
- Enhance: 不適切なページ、ギャラリー、Playを管理者権限で削除できるように
|
||||
- Fix: リモートユーザのフォロー・フォロワーの一覧が非公開設定の場合も表示できてしまう問題を修正
|
||||
|
||||
### Client
|
||||
- Enhance: 「自分のPlay」ページにおいてPlayが非公開かどうかが一目でわかるように
|
||||
- Enhance: 不適切なページ、ギャラリー、Playを通報できるように
|
||||
- Fix: Play編集時に公開範囲が「パブリック」にリセットされる問題を修正
|
||||
- Fix: ページ遷移に失敗することがある問題を修正
|
||||
- Fix: iOSでユーザー名などがリンクとして誤検知される現象を抑制
|
||||
- Fix: mCaptchaを使用していてもbotプロテクションに関する警告が消えないのを修正
|
||||
- Fix: ユーザーのモデレーションページにおいてユーザー名にドットが入っているとシステムアカウントとして表示されてしまう問題を修正
|
||||
- Fix: 特定の条件下でノートの削除ボタンが出ないのを修正
|
||||
|
||||
### Server
|
||||
- Enhance: 照会時にURLがhtmlかつheadタグ内に`rel="alternate"`, `type="application/activity+json"`の`link`タグがある場合に追ってリンク先を照会できるように
|
||||
- Enhance: 凍結されたアカウントのフォローリクエストを表示しないように
|
||||
- Fix: WSの`readAllNotifications` メッセージが `body` を持たない場合に動作しない問題 #14374
|
||||
- 通知ページや通知カラム(デッキ)を開いている状態において、新たに発生した通知が既読されない問題が修正されます。
|
||||
- これにより、プッシュ通知が有効な同条件下の環境において、プッシュ通知が常に発生してしまう問題も修正されます。
|
||||
- Fix: Play各種エンドポイントの返り値に`visibility`が含まれていない問題を修正
|
||||
- Fix: サーバー情報取得の際にモデレーター限定の情報が取得できないことがあるのを修正
|
||||
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/582)
|
||||
- Fix: 公開範囲がダイレクトのノートをユーザーアクティビティのチャート生成に使用しないように
|
||||
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/679)
|
||||
- Fix: ActivityPubのエンティティタイプ判定で不明なタイプを受け取った場合でも処理を継続するように
|
||||
- キュー処理のつまりが改善される可能性があります
|
||||
- Fix: リバーシの対局設定の変更が反映されないのを修正
|
||||
- Fix: 無制限にストリーミングのチャンネルに接続できる問題を修正
|
||||
- Fix: ベースロールのポリシーを変更した際にモデログに記録されないのを修正
|
||||
(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
|
||||
|
||||
### Note
|
||||
- デッキUIの新着ノートをサウンドで通知する機能の追加(v2024.5.0)に伴い、以前から動作しなくなっていたクライアント設定内の「アンテナ受信」「チャンネル通知」サウンドを削除しました。
|
||||
- Streaming APIにて入力が不正な場合にはそのメッセージを無視するようになりました。 #14251
|
||||
|
||||
### General
|
||||
- Feat: 通報を受けた際、または解決した際に、予め登録した宛先に通知を飛ばせるように(mail or webhook) #13705
|
||||
- Feat: ユーザーのアイコン/バナーの変更可否をロールで設定可能に
|
||||
- 変更不可となっていても、設定済みのものを解除してデフォルト画像に戻すことは出来ます
|
||||
- Feat: ユーザ作成時にSystemWebhookを送信可能に #14281
|
||||
- Feat: メディアサイレンスを実装 #13842
|
||||
- メディアサイレンスされたサーバーに所属するアカウントによるファイルはすべてセンシティブとして扱われ、カスタム絵文字が使用できないようになります。
|
||||
- Enhance: 管理画面でアーカイブにしたお知らせを表示・編集できるように
|
||||
- Fix: 配信停止したインスタンス一覧が見れなくなる問題を修正
|
||||
- Fix: Dockerコンテナの立ち上げ時に`pnpm`のインストールで固まることがある問題
|
||||
- Fix: デフォルトテーマに無効なテーマコードを入力するとUIが使用できなくなる問題を修正
|
||||
- 翻訳の更新
|
||||
- 依存関係の更新
|
||||
|
||||
### Client
|
||||
- Feat: ユーザーページから「このユーザーのノートを検索」できるように (#14128)
|
||||
- Feat: 検索ページはクエリを受け付けるようになりました (#14128)
|
||||
- Enhance: 検索ページのUI改善 (#14128)
|
||||
- Enhance: 内蔵APIドキュメントのデザイン・パフォーマンスを改善
|
||||
- Enhance: 非ログイン時に他サーバーに遷移するアクションを追加
|
||||
- Enhance: 非ログイン時のハイライトTLのデザインを改善
|
||||
- Enhance: フロントエンドのアクセシビリティ改善
|
||||
(Based on https://github.com/taiyme/misskey/pull/226)
|
||||
- Enhance: サーバー情報ページ・お問い合わせページを改善
|
||||
(Cherry-picked from https://github.com/taiyme/misskey/pull/238)
|
||||
- Enhance: AiScriptを0.19.0にアップデート
|
||||
- Enhance: Allow negative delay for MFM animation elements (`tada`, `jelly`, `twitch`, `shake`, `spin`, `jump`, `bounce`, `rainbow`)
|
||||
- Enhance: センシティブなメディアを開く際に確認ダイアログを出せるように
|
||||
- Enhance: 検索(ノート/ユーザー)で `#` から始まる文字列を入力すると、そのハッシュタグのノート/ユーザー一覧ページが表示できるように
|
||||
- Enhance: 検索(ノート/ユーザー)において、入力に空白が含まれている場合は照会を行わないように
|
||||
- Enhance: 検索(ノート/ユーザー)において、照会を行うかどうか、ハッシュタグのノート/ユーザー一覧ページを表示するかどうかの確認ダイアログを出すように
|
||||
- Enhance: 検索(ノート/ユーザー)で `@` から始まる文字列(`@user@host`など)を入力すると、そのユーザーを照会できるように
|
||||
- Enhance: ドライブのファイル・フォルダをドラッグしなくても移動できるように
|
||||
(Cherry-picked from https://github.com/nafu-at/misskey/commit/b89c2af6945c6a9f9f10e83f54d2bcf0f240b0b4, https://github.com/nafu-at/misskey/commit/8a7d710c6acb83f50c83f050bd1423c764d60a99)
|
||||
- Enhance: デッキのアンテナ・リスト選択画面からそれぞれを新規作成できるように
|
||||
- Enhance: ブラウザのコンテキストメニューを使用できるように
|
||||
- Enhance: 連合の「連合中」,「購読中」,「配信中」に対してブロックしているサーバー、配信停止しているサーバーを含めないように
|
||||
- Fix: `/about#federation` ページなどで各インスタンスのチャートが表示されなくなっていた問題を修正
|
||||
- Fix: ユーザーページの追加情報のラベルを投稿者のサーバーの絵文字で表示する (#13968)
|
||||
- Fix: リバーシの対局を正しく共有できないことがある問題を修正
|
||||
- Fix: コントロールパネルでベースロールのポリシーを編集してもUI上では変更が反映されない問題を修正
|
||||
- Fix: アンテナの編集画面のボタンに隙間を追加
|
||||
- Fix: テーマプレビューが見れない問題を修正
|
||||
- Fix: ショートカットキーが連打できる問題を修正
|
||||
(Cherry-picked from https://github.com/taiyme/misskey/pull/234)
|
||||
- Fix: MkSignin.vueのcredentialRequestからReactivityを削除(ProxyがPasskey認証処理に渡ることを避けるため)
|
||||
- Fix: 「アニメーション画像を再生しない」がオンのときでもサーバーのバナー画像・背景画像がアニメーションしてしまう問題を修正
|
||||
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/574)
|
||||
- Fix: Twitchの埋め込みが開けない問題を修正
|
||||
- Fix: 子メニューの高さがウィンドウからはみ出ることがある問題を修正
|
||||
- Fix: 個人宛てのダイアログ形式のお知らせが即時表示されない問題を修正
|
||||
- Fix: 一部の画像がセンシティブ指定されているときに画面に何も表示されないことがあるのを修正
|
||||
- Fix: リアクションしたユーザー一覧のユーザー名がはみ出る問題を修正
|
||||
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/672)
|
||||
- Fix: `/share`ページにおいて絵文字ピッカーを開くことができない問題を修正
|
||||
- Fix: deck uiの通知音が重なる問題 (#14029)
|
||||
- Fix: ダイレクト投稿の"削除して編集"において、宛先が保持されていなかった問題を修正
|
||||
- Fix: 投稿フォームへのURL貼り付けによる引用が下書きに保存されていなかった問題を修正
|
||||
- Fix: "削除して編集"や下書きにおいて、リアクションの受け入れ設定が保持/保存されていなかった問題を修正
|
||||
- Fix: 照会に `#` から始まる文字列を入力してそのハッシュタグのページを表示する際、入力が `#` のみの場合に「指定されたURLに該当するページはありませんでした。」が表示されてしまう問題を修正
|
||||
- Fix: 照会に `@` から始まる文字列を入力してユーザーを照会する際、入力が `@` のみの場合に「問題が発生しました」が表示されてしまう問題を修正
|
||||
- Fix: 投稿フォームにノートのURLを貼り付けて"引用として添付"した場合、投稿文を空にすることによるRenote化が出来なかった問題を修正
|
||||
- Fix: フォロー中のユーザーに関する"TLに他の人への返信を含める"の設定が分かりづらい問題を修正
|
||||
- Fix: タイムラインページを開いた時、`TLに他の人への返信を含める`がオフのときに`ファイル付きのみ`をオンにできない問題を修正
|
||||
- Fix: deck uiでタイムラインを切り替えた際にTLの設定項目が更新されず、`TLに他の人への返信を含める`のトグルが表示されない問題を修正
|
||||
- Fix: ウィジェットのタイムライン選択欄に無効化されたタイムラインが表示される問題を修正
|
||||
- Fix: サウンドにドライブの音声を使用している際にドライブの音声が再生できなくなると設定が変更できなくなる問題を修正
|
||||
|
||||
### Server
|
||||
- Feat: レートリミット制限に引っかかったときに`Retry-After`ヘッダーを返すように (#13949)
|
||||
- Enhance: エンドポイント`clips/update`の必須項目を`clipId`のみに
|
||||
- Enhance: エンドポイント`admin/roles/update`の必須項目を`roleId`のみに
|
||||
- Enhance: エンドポイント`pages/update`の必須項目を`pageId`のみに
|
||||
- Enhance: エンドポイント`gallery/posts/update`の必須項目を`postId`のみに
|
||||
- Enhance: エンドポイント`i/webhook/update`の必須項目を`webhookId`のみに
|
||||
- Enhance: エンドポイント`admin/ad/update`の必須項目を`id`のみに
|
||||
- Enhance: `default.yml`内の`url`, `db.db`, `db.user`, `db.pass`を環境変数から読み込めるように
|
||||
- Enhance: エンドポイント`api/meta`にプロパティ`noteSearchableScope`が増え、`string`値`local`または`global`を返却します
|
||||
- Fix: チャート生成時にinstance.suspensionStateに置き換えられたinstance.isSuspendedが参照されてしまう問題を修正
|
||||
- Fix: ユーザーのフィードページのMFMをHTMLに展開するように (#14006)
|
||||
- Fix: アンテナ・クリップ・リスト・ウェブフックがロールポリシーの上限より一つ多く作れてしまうのを修正 (#14036)
|
||||
- Fix: notRespondingSinceが実装される前に不通になったインスタンスが自動的に配信停止にならない (#14059)
|
||||
- Fix: FTT有効時、タイムライン用エンドポイントで`sinceId`にキャッシュ内最古のものより古いものを指定した場合に正しく結果が返ってこない問題を修正
|
||||
- Fix: 自分以外のクリップ内のノート個数が見えることがあるのを修正
|
||||
- Fix: 空文字列のリアクションはフォールバックされるように
|
||||
- Fix: リノートにリアクションできないように
|
||||
- Fix: ユーザー名の前後に空白文字列がある場合は省略するように
|
||||
- Fix: プロフィール編集時に名前を空白文字列のみにできる問題を修正
|
||||
- Fix: ユーザ名のサジェスト時に表示される内容と順番を調整(以下の順番になります) #14149
|
||||
1. フォロー中かつアクティブなユーザ
|
||||
2. フォロー中かつ非アクティブなユーザ
|
||||
3. フォローしていないアクティブなユーザ
|
||||
4. フォローしていない非アクティブなユーザ
|
||||
|
||||
また、自分自身のアカウントもサジェストされるようになりました。
|
||||
- Fix: 一般ユーザーから見たユーザーのバッジの一覧に公開されていないものが含まれることがある問題を修正
|
||||
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/652)
|
||||
- Fix: ユーザーのリアクション一覧でミュート/ブロックが機能していなかった問題を修正
|
||||
- Fix: FTT有効時にリモートユーザーのノートがHTLにキャッシュされる問題を修正
|
||||
- Fix: 一部の通知がローカル上のリモートユーザーに対して行われていた問題を修正
|
||||
- Fix: エラーメッセージの誤字を修正 (#14213)
|
||||
- Fix: ソーシャルタイムラインにローカルタイムラインに表示される自分へのリプライが表示されない問題を修正
|
||||
- Fix: リノートのミュートが適用されるまでに時間がかかることがある問題を修正
|
||||
(Cherry-picked from https://github.com/Type4ny-Project/Type4ny/commit/e9601029b52e0ad43d9131b555b614e56c84ebc1)
|
||||
- Fix: Steaming APIが不正なデータを受けた場合の動作が不安定である問題 #14251
|
||||
- Fix: `users/search`において `@` から始まる文字列が与えられた際の処理が正しくなかった問題を修正
|
||||
- 名前や自己紹介に `@` から始まる文言が含まれるユーザーも検索できるようになります
|
||||
- Fix: 一部のMisskey以外のソフトウェアからファイルを受け取れない問題
|
||||
(Cherry-picked from https://github.com/Secineralyr/misskey.dream/pull/73/commits/652eaff1e8aa00b890d71d2e1e52c263c1e67c76)
|
||||
- NOTE: `drive_file`の`url`, `uri`, `src`の上限が512から1024に変更されます
|
||||
Migrationではカラム定義の変更のみが行われます。
|
||||
サーバー管理者は各サーバーの必要に応じ`drive_file` `("uri")`に対するインデックスを張りなおすことでより安定しDBの探索が行われる可能性があります。詳細 は [GitHub](https://github.com/misskey-dev/misskey/pull/14323#issuecomment-2257562228)で確認可能です
|
||||
- Fix: 自分のフォロワー限定投稿に対するリプライがホームタイムラインで見えないことが有る問題を修正
|
||||
- Fix: フォローしていないユーザによるフォロワー限定投稿に対するリプライがソーシャルタイムラインで表示されることがある問題を修正
|
||||
- Fix: ActivityPubのエンティティタイプ判定で不明なタイプを受け取った場合でも処理を継続するように
|
||||
- キュー処理のつまりが改善される可能性があります
|
||||
|
||||
### Misskey.js
|
||||
- Feat: `/drive/files/create` のリクエストに対応(`multipart/form-data`に対応)
|
||||
- Feat: `/admin/role/create` のロールポリシーの型を修正
|
||||
|
||||
## 2024.5.0
|
||||
|
||||
### Note
|
||||
- コントロールパネル内にあるサマリープロキシの設定個所がセキュリティから全般へ変更となります。
|
||||
- 悪意のある第三者がリモートユーザーになりすましたアクティビティを受け取れてしまう問題を修正しました。詳しくは[GitHub security advisory](https://github.com/misskey-dev/misskey/security/advisories/GHSA-2vxv-pv3m-3wvj)をご覧ください。
|
||||
- 管理者向け権限 `read:admin:show-users` は `read:admin:show-user` に統合されました。必要に応じてAPIトークンを再発行してください。
|
||||
|
||||
### General
|
||||
- Feat: エラートラッキングにSentryを使用できるようになりました
|
||||
- Enhance: URLプレビューの有効化・無効化を設定できるように #13569
|
||||
- Enhance: アンテナでBotによるノートを除外できるように
|
||||
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/545)
|
||||
- Enhance: クリップのノート数を表示するように
|
||||
- Enhance: コンディショナルロールの条件として以下を新たに追加 (#13667)
|
||||
- 猫ユーザーか
|
||||
- botユーザーか
|
||||
- サスペンド済みユーザーか
|
||||
- 鍵アカウントユーザーか
|
||||
- 「アカウントを見つけやすくする」が有効なユーザーか
|
||||
- Enhance: Goneを出さずに終了したサーバーへの配信停止を自動的に行うように
|
||||
- もしそのようなサーバーからから配信が届いた場合には自動的に配信を再開します
|
||||
- Enhance: 配信停止の理由を表示するように
|
||||
- Enhance: サーバーのお問い合わせ先URLを設定できるようになりました
|
||||
- Fix: Play作成時に設定した公開範囲が機能していない問題を修正
|
||||
- Fix: 正規化されていない状態のhashtagが連合されてきたhtmlに含まれているとhashtagが正しくhashtagに復元されない問題を修正
|
||||
- Fix: みつけるのアンケート欄にてチャンネルのアンケートが含まれてしまう問題を修正
|
||||
|
||||
### Client
|
||||
- Feat: アップロードするファイルの名前をランダム文字列にできるように
|
||||
- Feat: 個別のお知らせにリンクで飛べるように
|
||||
(Based on https://github.com/MisskeyIO/misskey/pull/639)
|
||||
- Enhance: 自分のノートの添付ファイルから直接ファイルの詳細ページに飛べるように
|
||||
- Enhance: 広告がMisskeyと同一ドメインの場合はRouterで遷移するように
|
||||
- Enhance: リアクション・いいねの総数を表示するように
|
||||
- Enhance: リアクション受け入れが「いいねのみ」の場合はリアクション絵文字一覧を表示しないように
|
||||
- Enhance: 設定>プラグインのページからプラグインの簡易的なログやエラーを見られるように
|
||||
- 実装の都合により、プラグインは1つエラーを起こした時に即時停止するようになりました
|
||||
- Enhance: ページのデザインを変更
|
||||
- Enhance: 2要素認証(ワンタイムパスワード)の入力欄を改善
|
||||
- Enhance: 「今日誕生日のフォロー中ユーザー」ウィジェットを手動でリロードできるように
|
||||
- Enhance: 映像・音声の再生にブラウザのネイティブプレイヤーを使用できるように
|
||||
- Enhance: 映像・音声の再生メニューに「再生速度」「ループ再生」「ピクチャインピクチャ」を追加
|
||||
- Enhance: 映像・音声の再生にキーボードショートカットが使えるように
|
||||
- Enhance: ノートについているリアクションの「もっと!」から、リアクションの一覧を表示できるように
|
||||
- Enhance: リプライにて引用がある場合テキストが空でもノートできるように
|
||||
- 引用したいノートのURLをコピーしリプライ投稿画面にペーストして添付することで達成できます
|
||||
- Enhance: フォローするかどうかの確認ダイアログを出せるように
|
||||
- Enhance: Playを手動でリロードできるように
|
||||
- Enhance: 通報のコメント内のリンクをクリックした際、ウィンドウで開くように
|
||||
- Enhance: `Ui:C:postForm` および `Ui:C:postFormButton` に `localOnly` と `visibility` を設定できるように
|
||||
- Enhance: AiScriptを0.18.0にバージョンアップ
|
||||
- Enhance: 通常のノートでも、お気に入りに登録したチャンネルにリノートできるように
|
||||
- Enhance: 長いテキストをペーストした際にテキストファイルとして添付するかどうかを選択できるように
|
||||
- Enhance: 新着ノートをサウンドで通知する機能をdeck UIに追加しました
|
||||
- Enhance: コントロールパネルのクイックアクションからファイルを照会できるように
|
||||
- Enhance: コントロールパネルのクイックアクションから通常の照会を行えるように
|
||||
- Fix: 一部のページ内リンクが正しく動作しない問題を修正
|
||||
- Fix: 周年の実績が閏年を考慮しない問題を修正
|
||||
- Fix: ローカルURLのプレビューポップアップが左上に表示される
|
||||
- Fix: WebGL2をサポートしないブラウザで「季節に応じた画面の演出」が有効になっているとき、Misskeyが起動できなくなる問題を修正
|
||||
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/459)
|
||||
- Fix: ページタイトルでローカルユーザーとリモートユーザーの区別がつかない問題を修正
|
||||
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/528)
|
||||
- Fix: コードブロックのシンタックスハイライトで使用される定義ファイルをCDNから取得するように #13177
|
||||
- CDNから取得せずMisskey本体にバンドルする場合は`pacakges/frontend/vite.config.ts`を修正してください。
|
||||
- Fix: タイムゾーンによっては、「今日誕生日のフォロー中ユーザー」ウィジェットが正しく動作しない問題を修正
|
||||
- Fix: CWのみの引用リノートが詳細ページで純粋なリノートとして誤って扱われてしまう問題を修正
|
||||
- Fix: ノート詳細ページにおいてCW付き引用リノートのCWボタンのラベルに「引用」が含まれていない問題を修正
|
||||
- Fix: ダイアログの入力で字数制限に違反していてもEnterキーが押せてしまう問題を修正
|
||||
- Fix: ダイレクト投稿の宛先が保存されない問題を修正
|
||||
- Fix: Playのページを離れたときに、Playが正常に初期化されない問題を修正
|
||||
- Fix: ページのOGP URLが間違っているのを修正
|
||||
- Fix: リバーシの対局を正しく共有できないことがある問題を修正
|
||||
- Fix: 通知をグループ化している際に、人数が正常に表示されないことがある問題を修正
|
||||
- Fix: 連合なしの状態の読み書きができない問題を修正
|
||||
- Fix: `/share` で日本語等を含むurlがurlエンコードされない問題を修正
|
||||
- Fix: ファイルを5つ以上添付してもテキストがないとノートが折りたたまれない問題を修正
|
||||
|
||||
### Server
|
||||
- Enhance: エンドポイント`antennas/update`の必須項目を`antennaId`のみに
|
||||
- Enhance: misskey-dev/summaly@5.1.0の取り込み(プレビュー生成処理の効率化)
|
||||
- Enhance: ドライブのファイルがNSFWかどうか個別に連合されるように (#13756)
|
||||
- 可能な場合、ノートの添付ファイルのセンシティブ判定がファイル単位になります
|
||||
- Fix: リモートから配送されたアクティビティにJSON-LD compactionをかける
|
||||
- Fix: フォローリクエストを作成する際に既存のものは削除するように
|
||||
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/440)
|
||||
- Fix: エンドポイント`notes/translate`のエラーを改善
|
||||
- Fix: CleanRemoteFilesProcessorService report progress from 100% (#13632)
|
||||
- Fix: 一部の音声ファイルが映像ファイルとして扱われる問題を修正
|
||||
- Fix: リプライのみの引用リノートと、CWのみの引用リノートが純粋なリノートとして誤って扱われてしまう問題を修正
|
||||
- Fix: 登録にメール認証が必須になっている場合、登録されているメールアドレスを削除できないように
|
||||
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/606)
|
||||
- Fix: Add Cache-Control to Bull Board
|
||||
- Fix: nginx経由で/files/にRangeリクエストされた場合に正しく応答できないのを修正
|
||||
- Fix: 一部のタイムラインのストリーミングでインスタンスミュートが効かない問題を修正
|
||||
- Fix: グローバルタイムラインで返信が表示されないことがある問題を修正
|
||||
- Fix: リノートをミュートしたユーザの投稿のリノートがミュートされる問題を修正
|
||||
- Fix: AP Link等は添付ファイル扱いしないようになど (#13754)
|
||||
- Fix: FTTが有効かつsinceIdのみを指定した場合に帰って来るレスポンスが逆順である問題を修正
|
||||
- Fix: `/i/notifications`に `includeTypes`か`excludeTypes`を指定しているとき、通知が存在するのに空配列を返すことがある問題を修正
|
||||
- Fix: 複数idを指定する`users/show`が関係ないユーザを返すことがある問題を修正
|
||||
- Fix: `/tags` と `/user-tags` が検索エンジンにインデックスされないように
|
||||
- Fix: もともとセンシティブではないと連合されていたファイルがセンシティブとして連合された場合にセンシティブとしてそのファイルを扱うように
|
||||
- センシティブとして連合したファイルは非センシティブとして連合されてもセンシティブとして扱われます
|
||||
|
||||
## 2024.3.1
|
||||
<!--
|
||||
## 2023.x.x (unreleased)
|
||||
|
||||
### General
|
||||
-
|
||||
|
||||
### Client
|
||||
- Fix: 絵文字関係の不具合を修正 (#13485)
|
||||
- 履歴に残っている or ピン留めされた絵文字がコントロールパネルより削除されていた際にリアクションデッキが表示できなくなる
|
||||
- Unicode絵文字が履歴に残っている or ピン留めされているとリアクションデッキが表示できなくなる
|
||||
- Fix: カスタム絵文字の画像読み込みに失敗した際はテキストではなくダミー画像を表示 #13487
|
||||
-
|
||||
|
||||
### Server
|
||||
-
|
||||
|
||||
## 2024.3.0
|
||||
|
||||
### General
|
||||
- Enhance: 投稿者のロールに応じて、一つのノートに含むことのできるメンションとダイレクト投稿の宛先の人数に上限を設定できるように
|
||||
* デフォルトのメンション上限は20アカウントに設定されます。(管理者はベースロールの設定で変更可能です。)
|
||||
* 連合の問い合わせに応答しないサーバーのリモートユーザーへのメンションは、上限の人数に含めない実装になっています。
|
||||
- Enhance: 通知がミュート、凍結を考慮するようになりました
|
||||
- Enhance: サーバーごとにモデレーションノートを残せるように
|
||||
- Enhance: コンディショナルロールの条件に「マニュアルロールへのアサイン」を追加
|
||||
- Enhance: 通知の受信設定に「フォロー中またはフォロワー」を追加
|
||||
- Enhance: 通知の履歴をリセットできるように
|
||||
- Fix: ダイレクトなノートに対してはダイレクトでしか返信できないように
|
||||
|
||||
### Client
|
||||
- Enhance: ノート作成画面のファイル添付メニューの区切り線の位置を調整
|
||||
- Fix: syuilo/misskeyの時代からあるインスタンスが改変されたバージョンであると誤認識される問題
|
||||
- Fix: MFMのオートコンプリートが出るべき状況で出ないことがある問題を修正
|
||||
- Fix: チャートのラベルが消えている問題を修正
|
||||
- Fix: 画面表示後最初の音声再生が爆音になることがある問題を修正
|
||||
- Fix: 設定のバックアップ作成時に名前を入力しなかった場合、ローカライゼーションがおかしくなる問題を修正
|
||||
- Fix: ページ`/admin/emojis`の絵文字編集ダイアログで「リアクションとして使えるロール」を追加する際に何も選択せずOKを押下すると画面が固まる問題を修正
|
||||
- Fix: 絵文字サジェストの順位で、絵文字自体の名前が同じものよりもタグで一致しているものが優先されてしまう問題を修正
|
||||
- Fix: ユーザの情報のポップアップが消えなくなることがある問題を修正
|
||||
|
||||
### Server
|
||||
- Enhance: エンドポイント`flash/update`の`flashId`以外のパラメータは必須ではなくなりました
|
||||
- Fix: nodeinfoにenableMcaptchaとenableTurnstileが無いのを修正
|
||||
- Fix: 破損した通知をクライアントに送信しないように
|
||||
* 通知欄が無限にリロードされる問題が改善する可能性があります
|
||||
- Fix: 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題を修正
|
||||
- Fix: 自分がフォローしていないアカウントのフォロワー限定ノートが閲覧できることがある問題を修正
|
||||
- Fix: タイムラインのオプションで「リノートを表示」を無効にしている際、投票のみの引用リノートが流れてこない問題を修正
|
||||
- Fix: エンドポイント`admin/emoji/update`の各種修正
|
||||
- 必須パラメータを`id`または`name`のいずれかのみに
|
||||
- `id`の代わりに`name`で絵文字を指定可能に(`id`・`name`両指定時は従来通り`name`を変更する挙動)
|
||||
- `category`および`licence`が指定なしの時勝手にnullに上書きされる挙動を修正
|
||||
- Fix: 通知の受信設定で「相互フォロー」が正しく動作しない問題を修正
|
||||
|
||||
## 2024.2.0
|
||||
|
||||
### Note
|
||||
- 外部サイトからプラグインをインストールする場合のパスが`/install-extentions`から`/install-extensions`に変わります。以前のパスからは自動でリダイレクトされるようになっていますが、新しいパスに変更することをお勧めします。
|
||||
|
||||
### General
|
||||
- Feat: [mCaptcha](https://github.com/mCaptcha/mCaptcha)のサポートを追加
|
||||
- Feat: Add support for TrueMail
|
||||
- Feat: AGPLv3ライセンスに誤って違反するのを防止する機能を追加
|
||||
- 管理者がrepositoryUrlを変更したり、またはソースコードを直接頒布することを選択できるようになります
|
||||
- 本体のソースコードに改変を加えた際に、ライセンスに基づく適切な案内を表示します
|
||||
- Enhance: モデレーターはすべてのユーザーのリアクション一覧を見られるように
|
||||
- Fix: リストライムラインの「リノートを表示」が正しく機能しない問題を修正
|
||||
- Fix: リモートユーザーのリアクション一覧がすべて見えてしまうのを修正
|
||||
* すべてのリモートユーザーのリアクション一覧を見えないようにします
|
||||
- Fix: 特定のキーワード及び正規表現にマッチする文字列を含むノートが投稿された際、エラーに出来るような設定項目を追加 #13207
|
||||
* デフォルトは空欄なので適用前と同等の動作になります
|
||||
|
||||
### Client
|
||||
- Feat: 新しいゲームを追加
|
||||
- Feat: 音声・映像プレイヤーを追加
|
||||
- Feat: 絵文字の詳細ダイアログを追加
|
||||
- Feat: 枠線をつけるMFM`$[border.width=1,style=solid,color=fff,radius=0 ...]`を追加
|
||||
- デフォルトで枠線からはみ出る部分が隠されるようにしました。初期と同じ挙動にするには`$[border.noclip`が必要です
|
||||
- Feat: スワイプでタブを切り替えられるように
|
||||
- Enhance: MFM等のコードブロックに全文コピー用のボタンを追加
|
||||
- Enhance: ハッシュタグ入力時に、本文の末尾の行に何も書かれていない場合は新たにスペースを追加しないように
|
||||
- Enhance: チャンネルノートのピン留めをノートのメニューからできるように
|
||||
- Enhance: 管理者の場合はAPI tokenの発行画面で管理機能に関する権限を付与できるように
|
||||
- Enhance: AiScriptを0.17.0に更新 [CHANGELOG](https://github.com/aiscript-dev/aiscript/blob/bb89d132b633a622d3cb0eff0d0cc7e476c0cfdd/CHANGELOG.md)
|
||||
- 配列の範囲外・非整数のインデックスへの代入が完全禁止になるので注意
|
||||
- Enhance: 絵文字ピッカー・オートコンプリートで、完全一致した絵文字を優先的に表示するように
|
||||
- Enhance: Playの説明欄にMFMを使えるように
|
||||
- Enhance: チャンネルノートの場合は詳細ページからその前後のノートを見れるように
|
||||
- Enhance: 季節に応じた画面の演出を南半球でも利用できるように
|
||||
- Enhance: タイムラインフィルターの設定をすべて保持できるように
|
||||
- 今までの「TLに他の人への返信を含める」設定は一旦リセットされます
|
||||
- Enhance: タイムラインフィルターに「センシティブなファイルを含むノートを表示」を追加
|
||||
- Enhance: ノート作成画面のファイル添付メニューから直接ファイルを削除できるように
|
||||
- Enhance: MFMの属性でオートコンプリートが使用できるように #12735
|
||||
- Enhance: 絵文字編集ダイアログをモーダルではなくウィンドウで表示するように
|
||||
- Enhance: リモートのユーザーはメニューから直接リモートで表示できるように
|
||||
- Enhance: リモートへの引用リノートと同一のリンクにはリンクプレビューを表示しないように
|
||||
- Enhance: コードのシンタックスハイライトにテーマを適用できるように
|
||||
- Enhance: リアクション権限がない場合、ハートにフォールバックするのではなくリアクションピッカーなどから打てないように
|
||||
- リモートのユーザーにローカルのみのカスタム絵文字をリアクションしようとした場合
|
||||
- センシティブなリアクションを認めていないユーザーにセンシティブなカスタム絵文字をリアクションしようとした場合
|
||||
- ロールが必要な絵文字をリアクションしようとした場合
|
||||
- Enhance: ページ遷移時にPlayerを閉じるように
|
||||
- Enhance: 通報ページのユーザをクリックした際にユーザをウィンドウで開くように
|
||||
- Enhance: ノートの通報時にリモートのノートであっても自インスタンスにおけるノートのリンクを含むように
|
||||
- Enhance: オフライン表示のデザインを改善・多言語対応
|
||||
- Fix: ネイティブモードの絵文字がモノクロにならないように
|
||||
- Fix: v2023.12.0で追加された「モデレーターがユーザーのアイコンもしくはバナー画像を未設定状態にできる機能」が管理画面上で正しく表示されていない問題を修正
|
||||
- Fix: AiScriptの`readline`関数が不正な値を返すことがある問題のv2023.12.0時点での修正がPlay以外に適用されていないのを修正
|
||||
- Fix: v2023.12.1で追加された`$[clickable ...]`および`onClickEv`が正しく機能していないのを修正
|
||||
- Fix: Renoteのキーボードショートカットが機能していなかった問題を修正
|
||||
- Fix: 投稿フォームでアンケートの日時指定をした状態で再読み込みをすると期日が復元されない問題を修正
|
||||
- Fix: アンケートを設定したノートを「削除して編集」をするとアンケートの期日が引き継がれず、リセットされてしまう問題を修正
|
||||
- Fix: デッキのプロファイル作成時に名前を空にできる問題を修正
|
||||
- Fix: テーマ作成時に名称が空欄でも作成できてしまう問題を修正
|
||||
- Fix: プラグインで`Plugin:register_note_post_interruptor`を使用すると、ノートが投稿できなくなる問題を修正
|
||||
- Fix: iOSで大きな画像を変換してアップロードできない問題を修正
|
||||
- Fix: 「アニメーション画像を再生しない」もしくは「データセーバー(アイコン)」を有効にしていても、アイコンデコレーションのアニメーションが停止されない問題を修正
|
||||
- Fix: 画像をクロップするとクロップ後の解像度が異様に低くなる問題の修正
|
||||
- Fix: 画像をクロップ時、正常に完了できない問題の修正
|
||||
- Fix: キャプションが空の画像をクロップするとキャプションにnullという文字列が入ってしまう問題の修正
|
||||
- Fix: プロフィールを編集してもリロードするまで反映されない問題を修正
|
||||
- Fix: エラー画像URLを設定した後解除すると,デフォルトの画像が表示されない問題の修正
|
||||
- Fix: MkCodeEditorで行がずれていってしまう問題の修正
|
||||
- Fix: Summaly proxy利用時にプレイヤーが動作しないことがあるのを修正 #13196
|
||||
|
||||
### Server
|
||||
- Enhance: 連合先のレートリミットを超過した際にリトライするようになりました
|
||||
- Enhance: ActivityPub Deliver queueでBodyを事前処理するように (#12916)
|
||||
- Enhance: クリップをエクスポートできるように
|
||||
- Enhance: `/files`のファイルに対してHTTP Rangeリクエストを行えるように
|
||||
- Enhance: `api.json`のOpenAPI Specificationを3.1.0に更新
|
||||
- Enhance: 連合向けのノート配信を軽量化 #13192
|
||||
- Fix: `drive/files/update`でファイル名のバリデーションが機能していない問題を修正
|
||||
- Fix: `notes/create`で、`text`が空白文字のみで構成されているか`null`であって、かつ`text`だけであるリクエストに対するレスポンスが400になるように変更
|
||||
- Fix: `notes/create`で、`text`が空白文字のみで構成されていてかつリノート、ファイルまたは投票を含んでいるリクエストに対するレスポンスの`text`が`""`から`null`になるように変更
|
||||
- Fix: ipv4とipv6の両方が利用可能な環境でallowedPrivateNetworksが設定されていた場合プライベートipの検証ができていなかった問題を修正
|
||||
- Fix: properly handle cc followers
|
||||
- Fix: ジョブに関する設定の名前を修正 relashionshipJobPerSec -> relationshipJobPerSec
|
||||
- Fix: コントロールパネル->モデレーション->「誰でも新規登録できるようにする」の初期値をONからOFFに変更 #13122
|
||||
- Fix: リモートユーザーが復活してもキャッシュにより該当ユーザーのActivityが受け入れられないのを修正 #13273
|
||||
-->
|
||||
|
||||
## 2023.12.2
|
||||
|
||||
|
|
445
CONTRIBUTING.md
445
CONTRIBUTING.md
|
@ -1,4 +1,445 @@
|
|||
# Contribution guide
|
||||
i haven't set this up yet.
|
||||
We're glad you're interested in contributing Misskey! In this document you will find the information you need to contribute to the project.
|
||||
|
||||
`main` is the branch that is currently running on egirls.gay
|
||||
> **Note**
|
||||
> This project uses Japanese as its major language, **but you do not need to translate and write the Issues/PRs in Japanese.**
|
||||
> Also, you might receive comments on your Issue/PR in Japanese, but you do not need to reply to them in Japanese as well.\
|
||||
> The accuracy of machine translation into Japanese is not high, so it will be easier for us to understand if you write it in the original language.
|
||||
> It will also allow the reader to use the translation tool of their preference if necessary.
|
||||
|
||||
## Roadmap
|
||||
See [ROADMAP.md](./ROADMAP.md)
|
||||
|
||||
## Issues
|
||||
Before creating an issue, please check the following:
|
||||
- To avoid duplication, please search for similar issues before creating a new issue.
|
||||
- Do not use Issues to ask questions or troubleshooting.
|
||||
- Issues should only be used to feature requests, suggestions, and bug tracking.
|
||||
- Please ask questions or troubleshooting in [GitHub Discussions](https://github.com/misskey-dev/misskey/discussions) or [Discord](https://discord.gg/Wp8gVStHW3).
|
||||
|
||||
> **Warning**
|
||||
> Do not close issues that are about to be resolved. It should remain open until a commit that actually resolves it is merged.
|
||||
|
||||
## Before implementation
|
||||
When you want to add a feature or fix a bug, **first have the design and policy reviewed in an Issue** (if it is not there, please make one). Without this step, there is a high possibility that the PR will not be merged even if it is implemented.
|
||||
|
||||
At this point, you also need to clarify the goals of the PR you will create, and make sure that the other members of the team are aware of them.
|
||||
PRs that do not have a clear set of do's and don'ts tend to be bloated and difficult to review.
|
||||
|
||||
Also, when you start implementation, assign yourself to the Issue (if you cannot do it yourself, ask another member to assign you). By expressing your intention to work the Issue, you can prevent conflicts in the work.
|
||||
|
||||
## Well-known branches
|
||||
- **`master`** branch is tracking the latest release and used for production purposes.
|
||||
- **`develop`** branch is where we work for the next release.
|
||||
- When you create a PR, basically target it to this branch.
|
||||
- **`l10n_develop`** branch is reserved for localization management.
|
||||
|
||||
## Creating a PR
|
||||
Thank you for your PR! Before creating a PR, please check the following:
|
||||
- If possible, prefix the title with a keyword that identifies the type of this PR, as shown below.
|
||||
- `fix` / `refactor` / `feat` / `enhance` / `perf` / `chore` etc
|
||||
- Also, make sure that the granularity of this PR is appropriate. Please do not include more than one type of change or interest in a single PR.
|
||||
- If there is an Issue which will be resolved by this PR, please include a reference to the Issue in the text.
|
||||
- Please add the summary of the changes to [`CHANGELOG.md`](/CHANGELOG.md). However, this is not necessary for changes that do not affect the users, such as refactoring.
|
||||
- Check if there are any documents that need to be created or updated due to this change.
|
||||
- If you have added a feature or fixed a bug, please add a test case if possible.
|
||||
- Please make sure that tests and Lint are passed in advance.
|
||||
- You can run it with `pnpm test` and `pnpm lint`. [See more info](#testing)
|
||||
- If this PR includes UI changes, please attach a screenshot in the text.
|
||||
|
||||
Thanks for your cooperation 🤗
|
||||
|
||||
## Reviewers guide
|
||||
Be willing to comment on the good points and not just the things you want fixed 💯
|
||||
|
||||
### Review perspective
|
||||
- Scope
|
||||
- Are the goals of the PR clear?
|
||||
- Is the granularity of the PR appropriate?
|
||||
- Security
|
||||
- Does merging this PR create a vulnerability?
|
||||
- Performance
|
||||
- Will merging this PR cause unexpected performance degradation?
|
||||
- Is there a more efficient way?
|
||||
- Testing
|
||||
- Does the test ensure the expected behavior?
|
||||
- Are there any omissions or gaps?
|
||||
- Does it check for anomalies?
|
||||
|
||||
## Deploy
|
||||
The `/deploy` command by issue comment can be used to deploy the contents of a PR to the preview environment.
|
||||
```
|
||||
/deploy sha=<commit hash>
|
||||
```
|
||||
An actual domain will be assigned so you can test the federation.
|
||||
|
||||
## Merge
|
||||
|
||||
## Release
|
||||
### Release Instructions
|
||||
1. Commit version changes in the `develop` branch ([package.json](https://github.com/misskey-dev/misskey/blob/develop/package.json))
|
||||
2. Create a release PR.
|
||||
- Into `master` from `develop` branch.
|
||||
- The title must be in the format `Release: x.y.z`.
|
||||
- `x.y.z` is the new version you are trying to release.
|
||||
3. Deploy and perform a simple QA check. Also verify that the tests passed.
|
||||
4. Merge it. (Do not squash commit)
|
||||
5. Create a [release of GitHub](https://github.com/misskey-dev/misskey/releases)
|
||||
- The target branch must be `master`
|
||||
- The tag name must be the version
|
||||
|
||||
> **Note**
|
||||
> Why this instruction is necessary:
|
||||
> - To perform final QA checks
|
||||
> - To distribute responsibility
|
||||
> - To check direct commits to develop
|
||||
> - To celebrate the release together 🎉
|
||||
|
||||
## Localization (l10n)
|
||||
Misskey uses [Crowdin](https://crowdin.com/project/misskey) for localization management.
|
||||
You can improve our translations with your Crowdin account.
|
||||
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.
|
||||
|
||||
If your language is not listed in Crowdin, please open an issue.
|
||||
|
||||

|
||||
|
||||
## Development
|
||||
During development, it is useful to use the
|
||||
|
||||
```
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
command.
|
||||
|
||||
- Server-side source files and automatically builds them if they are modified. Automatically start the server process(es).
|
||||
- Vite HMR (just the `vite` command) is available. The behavior may be different from production.
|
||||
- Service Worker is watched by esbuild.
|
||||
- The front end can be viewed by accessing `http://localhost:5173`.
|
||||
- The backend listens on the port configured with `port` in .config/default.yml.
|
||||
If you have not changed it from the default, it will be "http://localhost:3000".
|
||||
If "port" in .config/default.yml is set to something other than 3000, you need to change the proxy settings in packages/frontend/vite.config.local-dev.ts.
|
||||
|
||||
### Dev Container
|
||||
Instead of running `pnpm` locally, you can use Dev Container to set up your development environment.
|
||||
To use Dev Container, open the project directory on VSCode with Dev Containers installed.
|
||||
**Note:** If you are using Windows, please clone the repository with WSL. Using Git for Windows will result in broken files due to the difference in how newlines are handled.
|
||||
|
||||
It will run the following command automatically inside the container.
|
||||
``` bash
|
||||
git submodule update --init
|
||||
pnpm install --frozen-lockfile
|
||||
cp .devcontainer/devcontainer.yml .config/default.yml
|
||||
pnpm build
|
||||
pnpm migrate
|
||||
```
|
||||
|
||||
After finishing the migration, run the `pnpm dev` command to start the development server.
|
||||
|
||||
``` bash
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
## Testing
|
||||
- Test codes are located in [`/packages/backend/test`](/packages/backend/test).
|
||||
|
||||
### Run test
|
||||
Create a config file.
|
||||
```
|
||||
cp .github/misskey/test.yml .config/
|
||||
```
|
||||
Prepare DB/Redis for testing.
|
||||
```
|
||||
docker compose -f packages/backend/test/docker-compose.yml up
|
||||
```
|
||||
Alternatively, prepare an empty (data can be erased) DB and edit `.config/test.yml`.
|
||||
|
||||
Run all test.
|
||||
```
|
||||
pnpm test
|
||||
```
|
||||
|
||||
#### Run specify test
|
||||
```
|
||||
pnpm jest -- foo.ts
|
||||
```
|
||||
|
||||
### e2e tests
|
||||
TODO
|
||||
|
||||
## Environment Variable
|
||||
|
||||
- `MISSKEY_CONFIG_YML`: Specify the file path of config.yml instead of default.yml (e.g. `2nd.yml`).
|
||||
- `MISSKEY_WEBFINGER_USE_HTTP`: If it's set true, WebFinger requests will be http instead of https, useful for testing federation between servers in localhost. NEVER USE IN PRODUCTION.
|
||||
|
||||
## Continuous integration
|
||||
Misskey uses GitHub Actions for executing automated tests.
|
||||
Configuration files are located in [`/.github/workflows`](/.github/workflows).
|
||||
|
||||
## Vue
|
||||
Misskey uses Vue(v3) as its front-end framework.
|
||||
- Use TypeScript.
|
||||
- **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.
|
||||
|
||||
## nirax
|
||||
niraxは、Misskeyで使用しているオリジナルのフロントエンドルーティングシステムです。
|
||||
**vue-routerから影響を多大に受けているので、まずはvue-routerについて学ぶことをお勧めします。**
|
||||
|
||||
### ルート定義
|
||||
ルート定義は、以下の形式のオブジェクトの配列です。
|
||||
|
||||
``` ts
|
||||
{
|
||||
name?: string;
|
||||
path: string;
|
||||
component: Component;
|
||||
query?: Record<string, string>;
|
||||
loginRequired?: boolean;
|
||||
hash?: string;
|
||||
globalCacheKey?: string;
|
||||
children?: RouteDef[];
|
||||
}
|
||||
```
|
||||
|
||||
> **Warning**
|
||||
> 現状、ルートは定義された順に評価されます。
|
||||
> たとえば、`/foo/:id`ルート定義の次に`/foo/bar`ルート定義がされていた場合、後者がマッチすることはありません。
|
||||
|
||||
### 複数のルーター
|
||||
vue-routerとの最大の違いは、niraxは複数のルーターが存在することを許可している点です。
|
||||
これにより、アプリ内ウィンドウでブラウザとは個別にルーティングすることなどが可能になります。
|
||||
|
||||
## Storybook
|
||||
|
||||
Misskey uses [Storybook](https://storybook.js.org/) for UI development.
|
||||
|
||||
### Setup & Run
|
||||
|
||||
#### Setup
|
||||
|
||||
```bash
|
||||
pnpm --filter misskey-js build
|
||||
```
|
||||
|
||||
#### Run
|
||||
|
||||
```bash
|
||||
pnpm --filter frontend storybook-dev
|
||||
```
|
||||
|
||||
### Usage
|
||||
|
||||
When you create a new component (in this example, `MyComponent.vue`), the story file (`MyComponent.stories.ts`) will be automatically generated by the `.storybook/generate.js` script.
|
||||
You can override the default story by creating a impl story file (`MyComponent.stories.impl.ts`).
|
||||
|
||||
```ts
|
||||
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
||||
import { StoryObj } from '@storybook/vue3';
|
||||
import MyComponent from './MyComponent.vue';
|
||||
export const Default = {
|
||||
render(args) {
|
||||
return {
|
||||
components: {
|
||||
MyComponent,
|
||||
},
|
||||
setup() {
|
||||
return {
|
||||
args,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
props() {
|
||||
return {
|
||||
...this.args,
|
||||
};
|
||||
},
|
||||
},
|
||||
template: '<MyComponent v-bind="props" />',
|
||||
};
|
||||
},
|
||||
args: {
|
||||
foo: 'bar',
|
||||
},
|
||||
parameters: {
|
||||
layout: 'centered',
|
||||
},
|
||||
} satisfies StoryObj<typeof MkAvatar>;
|
||||
```
|
||||
|
||||
If you want to opt-out from the automatic generation, create a `MyComponent.stories.impl.ts` file and add the following line to the file.
|
||||
|
||||
```ts
|
||||
import MyComponent from './MyComponent.vue';
|
||||
void MyComponent;
|
||||
```
|
||||
|
||||
You can override the component meta by creating a meta story file (`MyComponent.stories.meta.ts`).
|
||||
|
||||
```ts
|
||||
export const argTypes = {
|
||||
scale: {
|
||||
control: {
|
||||
type: 'range',
|
||||
min: 1,
|
||||
max: 4,
|
||||
},
|
||||
};
|
||||
```
|
||||
|
||||
Also, you can use msw to mock API requests in the storybook. Creating a `MyComponent.stories.msw.ts` file to define the mock handlers.
|
||||
|
||||
```ts
|
||||
import { rest } from 'msw';
|
||||
export const handlers = [
|
||||
rest.post('/api/notes/timeline', (req, res, ctx) => {
|
||||
return res(
|
||||
ctx.json([]),
|
||||
);
|
||||
}),
|
||||
];
|
||||
```
|
||||
|
||||
Don't forget to re-run the `.storybook/generate.js` script after adding, editing, or removing the above files.
|
||||
|
||||
## Notes
|
||||
|
||||
### Misskeyのドメイン固有の概念は`Mi`をprefixする
|
||||
例えばGoogleが自社サービスをMap、Earth、DriveではなくGoogle Map、Google Earth、Google Driveのように命名するのと同じ
|
||||
コード上でMisskeyのドメイン固有の概念には`Mi`をprefixすることで、他のドメインの同様の概念と区別できるほか、名前の衝突を防ぐ。
|
||||
ただし、文脈上Misskeyのものを指すことが明らかであり、名前の衝突の恐れがない場合は、一時的なローカル変数に限って`Mi`を省略してもよい。
|
||||
|
||||
### How to resolve conflictions occurred at pnpm-lock.yaml?
|
||||
|
||||
Just execute `pnpm` to fix it.
|
||||
|
||||
### INSERTするときにはsaveではなくinsertを使用する
|
||||
#6441
|
||||
|
||||
### placeholder
|
||||
SQLをクエリビルダで組み立てる際、使用するプレースホルダは重複してはならない
|
||||
例えば
|
||||
``` ts
|
||||
query.andWhere(new Brackets(qb => {
|
||||
for (const type of ps.fileType) {
|
||||
qb.orWhere(`:type = ANY(note.attachedFileTypes)`, { type: type });
|
||||
}
|
||||
}));
|
||||
```
|
||||
と書くと、ループ中で`type`というプレースホルダが複数回使われてしまいおかしくなる
|
||||
だから次のようにする必要がある
|
||||
```ts
|
||||
query.andWhere(new Brackets(qb => {
|
||||
for (const type of ps.fileType) {
|
||||
const i = ps.fileType.indexOf(type);
|
||||
qb.orWhere(`:type${i} = ANY(note.attachedFileTypes)`, { [`type${i}`]: type });
|
||||
}
|
||||
}));
|
||||
```
|
||||
|
||||
### Not `null` in TypeORM
|
||||
```ts
|
||||
const foo = await Foos.findOne({
|
||||
bar: Not(null)
|
||||
});
|
||||
```
|
||||
のようなクエリ(`bar`が`null`ではない)は期待通りに動作しない。
|
||||
次のようにします:
|
||||
```ts
|
||||
const foo = await Foos.findOne({
|
||||
bar: Not(IsNull())
|
||||
});
|
||||
```
|
||||
|
||||
### `null` in SQL
|
||||
SQLを発行する際、パラメータが`null`になる可能性のある場合はSQL文を出し分けなければならない
|
||||
例えば
|
||||
``` ts
|
||||
query.where('file.folderId = :folderId', { folderId: ps.folderId });
|
||||
```
|
||||
という処理で、`ps.folderId`が`null`だと結果的に`file.folderId = null`のようなクエリが発行されてしまい、これは正しいSQLではないので期待した結果が得られない
|
||||
だから次のようにする必要がある
|
||||
``` ts
|
||||
if (ps.folderId) {
|
||||
query.where('file.folderId = :folderId', { folderId: ps.folderId });
|
||||
} else {
|
||||
query.where('file.folderId IS NULL');
|
||||
}
|
||||
```
|
||||
|
||||
### `[]` in SQL
|
||||
SQLを発行する際、`IN`のパラメータが`[]`(空の配列)になる可能性のある場合はSQL文を出し分けなければならない
|
||||
例えば
|
||||
``` ts
|
||||
const users = await Users.find({
|
||||
id: In(userIds)
|
||||
});
|
||||
```
|
||||
という処理で、`userIds`が`[]`だと結果的に`user.id IN ()`のようなクエリが発行されてしまい、これは正しいSQLではないので期待した結果が得られない
|
||||
だから次のようにする必要がある
|
||||
``` ts
|
||||
const users = userIds.length > 0 ? await Users.find({
|
||||
id: In(userIds)
|
||||
}) : [];
|
||||
```
|
||||
|
||||
### 配列のインデックス in SQL
|
||||
SQLでは配列のインデックスは**1始まり**。
|
||||
`[a, b, c]`の `a`にアクセスしたいなら`[0]`ではなく`[1]`と書く
|
||||
|
||||
### null IN
|
||||
nullが含まれる可能性のあるカラムにINするときは、そのままだとおかしくなるのでORなどでnullのハンドリングをしよう。
|
||||
|
||||
### enumの削除は気をつける
|
||||
enumの列挙の内容の削除は、その値をもつレコードを全て削除しないといけない
|
||||
|
||||
削除が重たかったり不可能だったりする場合は、削除しないでおく
|
||||
|
||||
### Migration作成方法
|
||||
packages/backendで:
|
||||
```sh
|
||||
pnpm dlx typeorm migration:generate -d ormconfig.js -o <migration name>
|
||||
```
|
||||
|
||||
- 生成後、ファイルをmigration下に移してください
|
||||
- 作成されたスクリプトは不必要な変更を含むため除去してください
|
||||
|
||||
### JSON SchemaのobjectでanyOfを使うとき
|
||||
JSON Schemaで、objectに対してanyOfを使う場合、anyOfの中でpropertiesを定義しないこと。
|
||||
バリデーションが効かないため。(SchemaTypeもそのように作られており、objectのanyOf内のpropertiesは捨てられます)
|
||||
https://github.com/misskey-dev/misskey/pull/10082
|
||||
|
||||
テキストhogeおよびfugaについて、片方を必須としつつ両方の指定もありうる場合:
|
||||
|
||||
```
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
hoge: { type: 'string', minLength: 1 },
|
||||
fuga: { type: 'string', minLength: 1 },
|
||||
},
|
||||
anyOf: [
|
||||
{ required: ['hoge'] },
|
||||
{ required: ['fuga'] },
|
||||
],
|
||||
} as const;
|
||||
```
|
||||
|
||||
### コネクションには`markRaw`せよ
|
||||
**Vueのコンポーネントのdataオプションとして**misskey.jsのコネクションを設定するとき、必ず`markRaw`でラップしてください。インスタンスが不必要にリアクティブ化されることで、misskey.js内の処理で不具合が発生するとともに、パフォーマンス上の問題にも繋がる。なお、Composition APIを使う場合はこの限りではない(リアクティブ化はマニュアルなため)。
|
||||
|
||||
### JSONのimportに気を付けよう
|
||||
TypeScriptでjsonをimportすると、tscでコンパイルするときにそのjsonファイルも一緒にdistディレクトリに吐き出されてしまう。この挙動により、意図せずファイルの書き換えが発生することがあるので、jsonをimportするときは書き換えられても良いものかどうか確認すること。書き換えされて欲しくない場合は、importで読み込むのではなく、`fs.readFileSync`などの関数を使って読み込むようにすればよい。
|
||||
|
||||
### コンポーネントのスタイル定義でmarginを持たせない
|
||||
コンポーネント自身がmarginを設定するのは問題の元となることはよく知られている
|
||||
marginはそのコンポーネントを使う側が設定する
|
||||
|
||||
## その他
|
||||
### HTMLのクラス名で follow という単語は使わない
|
||||
広告ブロッカーで誤ってブロックされる
|
||||
|
||||
### indexというファイル名を使うな
|
||||
ESMではディレクトリインポートは廃止されているのと、ディレクトリインポートせずともファイル名が index だと何故か一部のライブラリ?でディレクトリインポートだと見做されてエラーになる
|
||||
|
|
2
COPYING
2
COPYING
|
@ -1,5 +1,5 @@
|
|||
Unless otherwise stated this repository is
|
||||
Copyright © 2014-2024 syuilo and contributors
|
||||
Copyright © 2014-2023 syuilo and contributers
|
||||
|
||||
And is distributed under The GNU Affero General Public License Version 3, you should have received a copy of the license file as LICENSE.
|
||||
|
||||
|
|
84
Dockerfile
84
Dockerfile
|
@ -1,82 +1,62 @@
|
|||
# syntax = docker/dockerfile:1.4
|
||||
|
||||
ARG NODE_VERSION=20.16.0-alpine3.20
|
||||
ARG NODE_VERSION=21.4.0-alpine3.18
|
||||
|
||||
FROM node:${NODE_VERSION} as build
|
||||
|
||||
RUN apk add git linux-headers build-base
|
||||
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
RUN apk add --update python3 && ln -sf python3 /usr/bin/python
|
||||
RUN apk add py3-pip py3-setuptools
|
||||
|
||||
RUN corepack enable
|
||||
|
||||
WORKDIR /sharkey
|
||||
|
||||
COPY --link . ./
|
||||
RUN apk add git linux-headers build-base
|
||||
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
RUN apk add --update python3 && ln -sf python3 /usr/bin/python
|
||||
RUN python3 -m ensurepip
|
||||
RUN pip3 install --no-cache --upgrade pip setuptools
|
||||
|
||||
COPY . ./
|
||||
|
||||
RUN git submodule update --init --recursive
|
||||
RUN pnpm config set fetch-retries 5
|
||||
RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \
|
||||
pnpm i --frozen-lockfile --aggregate-output
|
||||
pnpm i
|
||||
RUN pnpm build
|
||||
RUN node scripts/trim-deps.mjs
|
||||
RUN mv packages/frontend/assets sharkey-assets
|
||||
RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \
|
||||
pnpm prune
|
||||
RUN rm -r node_modules packages/frontend packages/sw
|
||||
RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \
|
||||
pnpm i --prod --frozen-lockfile --aggregate-output
|
||||
pnpm i --prod
|
||||
RUN rm -rf .git
|
||||
|
||||
FROM node:${NODE_VERSION}
|
||||
|
||||
ARG UID="991"
|
||||
ARG GID="991"
|
||||
|
||||
RUN apk add ffmpeg tini jemalloc \
|
||||
&& corepack enable \
|
||||
&& addgroup -g "${GID}" sharkey \
|
||||
&& adduser -D -u "${UID}" -G sharkey -h /sharkey sharkey \
|
||||
&& find / -type d -path /sys -prune -o -type d -path /proc -prune -o -type f -perm /u+s -exec chmod u-s {} \; \
|
||||
&& find / -type d -path /sys -prune -o -type d -path /proc -prune -o -type f -perm /g+s -exec chmod g-s {} \;
|
||||
|
||||
USER sharkey
|
||||
WORKDIR /sharkey
|
||||
|
||||
# add package.json to add pnpm
|
||||
COPY --chown=sharkey:sharkey ./package.json ./package.json
|
||||
RUN corepack install
|
||||
RUN apk add ffmpeg tini
|
||||
|
||||
COPY --chown=sharkey:sharkey --from=build /sharkey/node_modules ./node_modules
|
||||
COPY --chown=sharkey:sharkey --from=build /sharkey/packages/backend/node_modules ./packages/backend/node_modules
|
||||
COPY --chown=sharkey:sharkey --from=build /sharkey/packages/misskey-js/node_modules ./packages/misskey-js/node_modules
|
||||
COPY --chown=sharkey:sharkey --from=build /sharkey/packages/misskey-reversi/node_modules ./packages/misskey-reversi/node_modules
|
||||
COPY --chown=sharkey:sharkey --from=build /sharkey/packages/misskey-bubble-game/node_modules ./packages/misskey-bubble-game/node_modules
|
||||
COPY --chown=sharkey:sharkey --from=build /sharkey/packages/megalodon/node_modules ./packages/megalodon/node_modules
|
||||
COPY --chown=sharkey:sharkey --from=build /sharkey/built ./built
|
||||
COPY --chown=sharkey:sharkey --from=build /sharkey/packages/misskey-js/built ./packages/misskey-js/built
|
||||
COPY --chown=sharkey:sharkey --from=build /sharkey/packages/misskey-reversi/built ./packages/misskey-reversi/built
|
||||
COPY --chown=sharkey:sharkey --from=build /sharkey/packages/misskey-bubble-game/built ./packages/misskey-bubble-game/built
|
||||
COPY --chown=sharkey:sharkey --from=build /sharkey/packages/backend/built ./packages/backend/built
|
||||
COPY --chown=sharkey:sharkey --from=build /sharkey/packages/megalodon/lib ./packages/megalodon/lib
|
||||
COPY --chown=sharkey:sharkey --from=build /sharkey/fluent-emojis ./fluent-emojis
|
||||
COPY --chown=sharkey:sharkey --from=build /sharkey/tossface-emojis/dist ./tossface-emojis/dist
|
||||
COPY --chown=sharkey:sharkey --from=build /sharkey/sharkey-assets ./packages/frontend/assets
|
||||
COPY --from=build /sharkey/built ./built
|
||||
COPY --from=build /sharkey/node_modules ./node_modules
|
||||
COPY --from=build /sharkey/packages/backend/built ./packages/backend/built
|
||||
COPY --from=build /sharkey/packages/backend/node_modules ./packages/backend/node_modules
|
||||
COPY --from=build /sharkey/packages/megalodon/lib ./packages/megalodon/lib
|
||||
COPY --from=build /sharkey/packages/megalodon/node_modules ./packages/megalodon/node_modules
|
||||
COPY --from=build /sharkey/packages/misskey-js/built ./packages/misskey-js/built
|
||||
COPY --from=build /sharkey/packages/misskey-js/node_modules ./packages/misskey-js/node_modules
|
||||
COPY --from=build /sharkey/fluent-emojis ./fluent-emojis
|
||||
COPY --from=build /sharkey/sharkey-assets ./packages/frontend/assets
|
||||
|
||||
COPY --chown=sharkey:sharkey pnpm-workspace.yaml ./pnpm-workspace.yaml
|
||||
COPY --chown=sharkey:sharkey packages/backend/package.json ./packages/backend/package.json
|
||||
COPY --chown=sharkey:sharkey packages/backend/scripts/check_connect.js ./packages/backend/scripts/check_connect.js
|
||||
COPY --chown=sharkey:sharkey packages/backend/ormconfig.js ./packages/backend/ormconfig.js
|
||||
COPY --chown=sharkey:sharkey packages/backend/migration ./packages/backend/migration
|
||||
COPY --chown=sharkey:sharkey packages/backend/assets ./packages/backend/assets
|
||||
COPY --chown=sharkey:sharkey packages/megalodon/package.json ./packages/megalodon/package.json
|
||||
COPY --chown=sharkey:sharkey packages/misskey-js/package.json ./packages/misskey-js/package.json
|
||||
COPY --chown=sharkey:sharkey packages/misskey-reversi/package.json ./packages/misskey-reversi/package.json
|
||||
COPY --chown=sharkey:sharkey packages/misskey-bubble-game/package.json ./packages/misskey-bubble-game/package.json
|
||||
COPY package.json ./package.json
|
||||
COPY pnpm-workspace.yaml ./pnpm-workspace.yaml
|
||||
COPY packages/backend/package.json ./packages/backend/package.json
|
||||
COPY packages/backend/check_connect.js ./packages/backend/check_connect.js
|
||||
COPY packages/backend/ormconfig.js ./packages/backend/ormconfig.js
|
||||
COPY packages/backend/migration ./packages/backend/migration
|
||||
COPY packages/backend/assets ./packages/backend/assets
|
||||
COPY packages/megalodon/package.json ./packages/megalodon/package.json
|
||||
COPY packages/misskey-js/package.json ./packages/misskey-js/package.json
|
||||
|
||||
ENV LD_PRELOAD=/usr/lib/libjemalloc.so.2
|
||||
ENV NODE_ENV=production
|
||||
RUN corepack enable
|
||||
ENTRYPOINT ["/sbin/tini", "--"]
|
||||
CMD ["pnpm", "run", "migrateandstart"]
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
# Basic Precautions
|
||||
|
||||
When using a service with eGirlskey, there are several important points to keep in mind.
|
||||
|
||||
1. Because it is decentralized, there is no guarantee that data you upload will be deleted from all other servers even if you delete it once. (However, this applies to the internet in general.)
|
||||
|
||||
2. Even for posts made in private, there is no guarantee that the recipient's server will treat them as private in the same way. Please exercise caution when posting personal or confidential information. (Again, this applies to the internet in general.)
|
||||
|
||||
3. The "Drive" feature is NOT secure cloud storage. This feature exists for easier managing of your uploaded files.
|
||||
Any data uploaded, whether shared via post or not, will be publicly accessible. Please use 3rd party cloud storage providers if you need to upload data with sensitive information of any kind.
|
||||
|
||||
4. Account deletion can be a resource-intensive process and may take a long time. In cases with a lot of uploaded data, it may even be impossible to delete an account.
|
||||
|
||||
5. Please disable ad blockers. Some servers may rely on advertising revenue to cover operating costs. Additionally, ad blockers can mistakenly block content and features unrelated to ads, potentially causing issues with the client's functionality and preventing normal use of eGirlskey. Therefore, we recommend turning off ad blockers and similar features when using eGirlskey.
|
||||
|
||||
Please understand these points and enjoy using the service.
|
53
README.md
53
README.md
|
@ -1,25 +1,52 @@
|
|||
# eGirlskey
|
||||
<div align="center">
|
||||
<a href="https://joinsharkey.org/">
|
||||
<img src="https://raw.githubusercontent.com/transfem-org/Sharkey/5180b4093f30e3bf3ff8d6b16751b69ebed9fb12/packages/frontend/assets/sharkey.svg" alt="Sharkey logo" style="border-radius:50%" width="400"/>
|
||||
</a>
|
||||
|
||||
**🌎 **[Sharkey](https://joinsharkey.org/)** is an open source, decentralized social media platform that's free forever! 🚀**
|
||||
|
||||
---
|
||||
|
||||
An allowlist-federating shitposting engine.
|
||||
<a href="https://joinsharkey.org">
|
||||
<img src="https://custom-icon-badges.herokuapp.com/badge/find_an-instance-acea31?logoColor=acea31&style=for-the-badge&logo=sharkey&labelColor=363B40" alt="find an instance"/></a>
|
||||
|
||||
<a href="https://docs.joinsharkey.org/docs/install/fresh/">
|
||||
<img src="https://custom-icon-badges.herokuapp.com/badge/create_an-instance-FBD53C?logoColor=FBD53C&style=for-the-badge&logo=server&labelColor=363B40" alt="create an instance"/></a>
|
||||
|
||||
<a href="./CONTRIBUTING.md">
|
||||
<img src="https://custom-icon-badges.herokuapp.com/badge/become_a-contributor-A371F7?logoColor=A371F7&style=for-the-badge&logo=git-merge&labelColor=363B40" alt="become a contributor"/></a>
|
||||
|
||||
<a href="https://discord.gg/6VgKmEqHNk">
|
||||
<img src="https://custom-icon-badges.herokuapp.com/badge/join_the-community-5865F2?logoColor=5865F2&style=for-the-badge&logo=discord&labelColor=363B40" alt="join the community"/></a>
|
||||
|
||||
<a href="https://ko-fi.com/transfem">
|
||||
<img src="https://custom-icon-badges.herokuapp.com/badge/donate-F96854?logoColor=F96854&style=for-the-badge&logo=kofi&labelColor=363B40" alt="donate"/></a>
|
||||
<a href="https://hosted.weblate.org/projects/sharkey/">
|
||||
<img src="https://custom-icon-badges.herokuapp.com/badge/translate-sharkey-124437?logoColor=acea31&style=for-the-badge&logo=translate-sharkey&labelColor=363B40" alt="Translate Sharkey"/></a>
|
||||
|
||||
---
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
|
||||
<a href="https://joinsharkey.org/"><img src="https://cdn.transfem.social/files/b2721164-e015-463e-b851-3e953dd0d9f9.webp" align="right" height="520px"/></a>
|
||||
|
||||
## ✨ Features
|
||||
- **Allowlist federation**\
|
||||
Control server access! Reduce reply guys! Become the online hermit you always wanted to be!
|
||||
- **Private API support**\
|
||||
Lock down public pages and API access to signed-in users
|
||||
- **ActivityPub support**\
|
||||
Not on eGirlskey? No problem! Not only can eGirlskey instances talk to each other, but you can make friends with people on other networks like Mastodon and Pixelfed!
|
||||
Not on Sharkey? No problem! Not only can Sharkey instances talk to each other, but you can make friends with people on other networks like Mastodon and Pixelfed!
|
||||
- **Federated Backgrounds and Music status**\
|
||||
You can add a background to your profile as well as a music status via ListenBrainz, show everyone what music you are currently listening too
|
||||
- **Mastodon API**\
|
||||
eGirlskey implements the Mastodon API unlike normal Misskey
|
||||
Sharkey implements the Mastodon API unlike normal Misskey
|
||||
- **UI/UX Improvements**\
|
||||
Sharkey makes some UI/UX improvements to make it easier to navigate
|
||||
- **Sign-Up Approval**\
|
||||
With eGirlskey, you can enable sign-ups, subject to manual moderator approval and mandatory user-provided reasons for joining.
|
||||
With Sharkey, you can enable sign-ups, subject to manual moderator approval and mandatory user-provided reasons for joining.
|
||||
- **Rich Web UI**\
|
||||
eGirlskey has a rich and easy to use Web UI!
|
||||
It is highly customizable, from changing the layout and adding widgets to making custom themes.
|
||||
Furthermore, plugins can be created using AiScript, an original programming language.
|
||||
Sharkey has a rich and easy to use Web UI!
|
||||
It is highly customizable, from changing the layout and adding widgets to making custom themes.
|
||||
Furthermore, plugins can be created using AiScript, an original programming language.
|
||||
- And much more...
|
||||
|
||||
</div>
|
||||
|
@ -28,4 +55,4 @@ With eGirlskey, you can enable sign-ups, subject to manual moderator approval an
|
|||
|
||||
## Documentation
|
||||
|
||||
lol oops tba. ping @heartles@egirls.gay for questions or look at upstream Sharkey or Misskey documentation
|
||||
Sharkey Documentation can be found at [Sharkey Documentation](https://docs.joinsharkey.org/docs/install/fresh/)
|
||||
|
|
|
@ -6,7 +6,6 @@ Also, the later tasks are more indefinite and are subject to change as developme
|
|||
This is the phase we are at now. We need to make a high-maintenance environment that can withstand future development.
|
||||
|
||||
- ~~Make the number of type errors zero (backend)~~ → Done ✔️
|
||||
- Make the number of type errors zero (frontend)
|
||||
- Improve CI
|
||||
- ~~Fix tests~~ → Done ✔️
|
||||
- Fix random test failures - https://github.com/misskey-dev/misskey/issues/7985 and https://github.com/misskey-dev/misskey/issues/7986
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
# Reporting Security Issues
|
||||
|
||||
If you discover a security issue in eGirlskey, please report it by sending an
|
||||
email to [admin@heartles.xyz](mailto:admin@heartles.xyz).
|
||||
If you discover a security issue in Sharkey, please report it by sending an
|
||||
email to [admin@transfem.org](mailto:admin@transfem.org).
|
||||
|
||||
This will allow us to assess the risk, and make a fix available before we add a
|
||||
bug report to the GitDab repository.
|
||||
bug report to the GitHub repository.
|
||||
|
||||
Thanks for helping make eGirlskey safe for everyone.
|
||||
Thanks for helping make Sharkey safe for everyone.
|
||||
|
|
|
@ -152,22 +152,6 @@ redis:
|
|||
# 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:
|
||||
# options:
|
||||
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
|
||||
|
||||
# ┌─────────────────────┐
|
||||
#───┘ Other configuration └─────────────────────────────────────
|
||||
|
||||
|
@ -208,13 +192,8 @@ id: "aidx"
|
|||
# Media Proxy
|
||||
#mediaProxy: https://example.com/proxy
|
||||
|
||||
# Sign outgoing ActivityPub GET request (default: true)
|
||||
# Sign to ActivityPub GET request (default: true)
|
||||
signToActivityPubGet: true
|
||||
# Sign outgoing ActivityPub Activities (default: true)
|
||||
# Linked Data signatures are cryptographic signatures attached to each activity to provide proof of authenticity.
|
||||
# When using authorized fetch, this is often undesired as any signed activity can be forwarded to a blocked instance by relays and other instances.
|
||||
# This setting allows admins to disable LD signatures for increased privacy, at the expense of fewer relayed activities and additional inbound fetch (GET) requests.
|
||||
attachLdSignatureForRelays: true
|
||||
# check that inbound ActivityPub GET requests are signed ("authorized fetch")
|
||||
checkActivityPubGetSignature: false
|
||||
|
||||
|
|
|
@ -1,8 +1,3 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: syuilo and misskey-project
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
describe('Before setup instance', () => {
|
||||
beforeEach(() => {
|
||||
cy.resetState();
|
||||
|
@ -166,13 +161,11 @@ describe('After user signed in', () => {
|
|||
});
|
||||
|
||||
it('successfully loads', () => {
|
||||
// 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
|
||||
cy.get('[data-cy-user-setup-continue]', { timeout: 30000 }).should('be.visible');
|
||||
cy.get('[data-cy-user-setup-continue]').should('be.visible');
|
||||
});
|
||||
|
||||
it('account setup wizard', () => {
|
||||
// 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
|
||||
cy.get('[data-cy-user-setup-continue]', { timeout: 30000 }).click();
|
||||
cy.get('[data-cy-user-setup-continue]').click();
|
||||
|
||||
cy.get('[data-cy-user-setup-user-name] input').type('ありす');
|
||||
cy.get('[data-cy-user-setup-user-description] textarea').type('ほげ');
|
||||
|
@ -209,8 +202,7 @@ describe('After user setup', () => {
|
|||
cy.login('alice', 'alice1234');
|
||||
|
||||
// アカウント初期設定ウィザード
|
||||
// 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
|
||||
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]', { timeout: 30000 }).click();
|
||||
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]').click();
|
||||
cy.get('[data-cy-modal-dialog-ok]').click();
|
||||
});
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: syuilo and misskey-project
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
describe('Router transition', () => {
|
||||
describe('Redirect', () => {
|
||||
// サーバの初期化。ルートのテストに関しては各describeごとに1度だけ実行で十分だと思う(使いまわした方が早い)
|
||||
before(() => {
|
||||
cy.resetState();
|
||||
|
||||
// インスタンス初期セットアップ
|
||||
cy.registerUser('admin', 'pass', true);
|
||||
|
||||
// ユーザー作成
|
||||
cy.registerUser('alice', 'alice1234');
|
||||
|
||||
cy.login('alice', 'alice1234');
|
||||
|
||||
// アカウント初期設定ウィザード
|
||||
// 表示に時間がかかるのでデフォルト秒数だとタイムアウトする
|
||||
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]', { timeout: 30000 }).click();
|
||||
cy.wait(500);
|
||||
cy.get('[data-cy-modal-dialog-ok]').click();
|
||||
});
|
||||
|
||||
it('redirect to user profile', () => {
|
||||
// テストのためだけに用意されたリダイレクト用ルートに飛ぶ
|
||||
cy.visit('/redirect-test');
|
||||
|
||||
// プロフィールページのURLであることを確認する
|
||||
cy.url().should('include', '/@alice')
|
||||
});
|
||||
});
|
||||
});
|
|
@ -1,8 +1,3 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: syuilo and misskey-project
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
/* flaky
|
||||
describe('After user signed in', () => {
|
||||
beforeEach(() => {
|
|
@ -30,13 +30,9 @@ Cypress.Commands.add('visitHome', () => {
|
|||
})
|
||||
|
||||
Cypress.Commands.add('resetState', () => {
|
||||
// iframe.contentWindow.indexedDB.deleteDatabase() がchromeのバグで使用できないため、indexedDBを無効化している。
|
||||
// see https://github.com/misskey-dev/misskey/issues/13605#issuecomment-2053652123
|
||||
/*
|
||||
cy.window().then(win => {
|
||||
cy.window(win => {
|
||||
win.indexedDB.deleteDatabase('keyval-store');
|
||||
});
|
||||
*/
|
||||
cy.request('POST', '/api/reset-db', {}).as('reset');
|
||||
cy.get('@reset').its('status').should('equal', 204);
|
||||
cy.reload(true);
|
|
@ -1,19 +0,0 @@
|
|||
declare global {
|
||||
namespace Cypress {
|
||||
interface Chainable {
|
||||
login(username: string, password: string): Chainable<void>;
|
||||
|
||||
registerUser(
|
||||
username: string,
|
||||
password: string,
|
||||
isAdmin?: boolean
|
||||
): Chainable<void>;
|
||||
|
||||
resetState(): Chainable<void>;
|
||||
|
||||
visitHome(): Chainable<void>;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export {}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"lib": ["dom", "es5"],
|
||||
"target": "es5",
|
||||
"types": ["cypress", "node"]
|
||||
},
|
||||
"include": ["./**/*.ts"]
|
||||
}
|
|
@ -1,3 +1,5 @@
|
|||
version: "3"
|
||||
|
||||
# このconfigは、 dockerでMisskey本体を起動せず、 redisとpostgresql などだけを起動します
|
||||
|
||||
services:
|
|
@ -1,3 +1,5 @@
|
|||
version: "3"
|
||||
|
||||
services:
|
||||
web:
|
||||
# image: registry.activitypub.software/transfem-org/sharkey:latest
|
||||
|
@ -6,7 +8,6 @@ services:
|
|||
links:
|
||||
- db
|
||||
- redis
|
||||
# - mcaptcha
|
||||
# - meilisearch
|
||||
depends_on:
|
||||
db:
|
||||
|
@ -17,8 +18,6 @@ services:
|
|||
- "3000:3000"
|
||||
networks:
|
||||
- shonk
|
||||
# env_file:
|
||||
# - .config/docker.env
|
||||
volumes:
|
||||
- ./files:/sharkey/files
|
||||
- ./.config:/sharkey/.config:ro
|
||||
|
@ -49,42 +48,12 @@ services:
|
|||
interval: 5s
|
||||
retries: 20
|
||||
|
||||
# mcaptcha:
|
||||
# restart: always
|
||||
# image: mcaptcha/mcaptcha:latest
|
||||
# networks:
|
||||
# shonks:
|
||||
# aliases:
|
||||
# - localhost
|
||||
# ports:
|
||||
# - 7493:7493
|
||||
# env_file:
|
||||
# - .config/docker.env
|
||||
# environment:
|
||||
# PORT: 7493
|
||||
# MCAPTCHA_redis_URL: "redis://mcaptcha_redis/"
|
||||
# depends_on:
|
||||
# db:
|
||||
# condition: service_healthy
|
||||
# mcaptcha_redis:
|
||||
# condition: service_healthy
|
||||
#
|
||||
# mcaptcha_redis:
|
||||
# image: mcaptcha/cache:latest
|
||||
# networks:
|
||||
# - shonks
|
||||
# healthcheck:
|
||||
# test: "redis-cli ping"
|
||||
# interval: 5s
|
||||
# retries: 20
|
||||
|
||||
# meilisearch:
|
||||
# restart: always
|
||||
# image: getmeili/meilisearch:v1.3.4
|
||||
# environment:
|
||||
# - MEILI_NO_ANALYTICS=true
|
||||
# - MEILI_ENV=production
|
||||
# - MEILI_MASTER_KEY=ChangeThis
|
||||
# networks:
|
||||
# - shonk
|
||||
# volumes:
|
12
flake.lock
generated
12
flake.lock
generated
|
@ -5,11 +5,11 @@
|
|||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"lastModified": 1705309234,
|
||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -19,11 +19,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1726871744,
|
||||
"narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
|
||||
"lastModified": 1706487304,
|
||||
"narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a1d92660c6b3b7c26fb883500a80ea9d33321be2",
|
||||
"rev": "90f456026d284c22b3e3497be980b2e47d0b28ac",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
# SPDX-FileCopyrightText: syuilo and misskey-project
|
||||
# SPDX-FileCopyrightText: syuilo and other misskey contributors
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
PORT=$(grep '^port:' /sharkey/.config/default.yml | awk 'NR==1{print $2; exit}')
|
||||
curl -Sfso/dev/null "http://localhost:${PORT}/healthz"
|
||||
curl -s -S -o /dev/null "http://localhost:${PORT}"
|
||||
|
|
|
@ -123,7 +123,6 @@ reactions: "التفاعلات"
|
|||
reactionSettingDescription2: "اسحب لترتيب ، انقر للحذف ، استخدم \"+\" للإضافة."
|
||||
rememberNoteVisibility: "تذكر إعدادت مدى رؤية الملاحظات"
|
||||
attachCancel: "أزل المرفق"
|
||||
deleteFile: "حُذف الملف"
|
||||
markAsSensitive: "علّمه كمحتوى حساس"
|
||||
unmarkAsSensitive: "ألغ تعيينه كمحتوى حساس"
|
||||
enterFileName: "ادخل اسم الملف"
|
||||
|
@ -361,8 +360,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "فعّل hCaptcha"
|
||||
hcaptchaSiteKey: "مفتاح الموقع"
|
||||
hcaptchaSecretKey: "المفتاح السري"
|
||||
mcaptchaSiteKey: "مفتاح الموقع"
|
||||
mcaptchaSecretKey: "المفتاح السري"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "تمكين reCAPTCHA"
|
||||
recaptchaSiteKey: "مفتاح الموقع"
|
||||
|
@ -1012,12 +1009,7 @@ expired: "منتهية صلاحيته"
|
|||
icon: "الصورة الرمزية"
|
||||
replies: "رد"
|
||||
renotes: "أعد النشر"
|
||||
sourceCode: "الشفرة المصدرية"
|
||||
flip: "اقلب"
|
||||
lastNDays: "آخر {n} أيام"
|
||||
surrender: "ألغِ"
|
||||
_delivery:
|
||||
stop: "مُعلّق"
|
||||
_initialAccountSetting:
|
||||
accountCreated: "نجح إنشاء حسابك!"
|
||||
letsStartAccountSetup: "إذا كنت جديدًا لنعدّ حسابك الشخصي."
|
||||
|
@ -1262,6 +1254,8 @@ _sfx:
|
|||
note: "الملاحظات"
|
||||
noteMy: "ملاحظتي"
|
||||
notification: "الإشعارات"
|
||||
antenna: "الهوائيات"
|
||||
channel: "إشعارات القنات"
|
||||
_ago:
|
||||
future: "المستقبَل"
|
||||
justNow: "اللحظة"
|
||||
|
@ -1420,7 +1414,6 @@ _profile:
|
|||
_exportOrImport:
|
||||
allNotes: "كل الملاحظات"
|
||||
favoritedNotes: " الملاحظات المفضلة"
|
||||
clips: "مِشبك"
|
||||
followingList: "المتابَعون"
|
||||
muteList: "المستخدمون المكتومون"
|
||||
blockingList: "المستخدمون المحجوبون"
|
||||
|
@ -1564,27 +1557,7 @@ _webhookSettings:
|
|||
active: "مُفعّل"
|
||||
_events:
|
||||
reaction: "عند التفاعل"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "البريد الإلكتروني "
|
||||
_moderationLogTypes:
|
||||
suspend: "علِق"
|
||||
deleteDriveFile: "حُذف الملف"
|
||||
deleteNote: "حُذفت الملاحظة"
|
||||
createGlobalAnnouncement: "أُنشئ إعلان عام"
|
||||
createUserAnnouncement: "أُنشئ إعلان مستخدم"
|
||||
updateGlobalAnnouncement: "حُدث إعلان عام"
|
||||
updateUserAnnouncement: "حُدث إعلان مستخدم"
|
||||
resetPassword: "أعد تعيين كلمتك السرية"
|
||||
createInvitation: "ولِّد دعوة"
|
||||
_reversi:
|
||||
total: "المجموع"
|
||||
lookingForPlayer: "يبحث عن خصم..."
|
||||
gameCanceled: "أُلغيت اللعبة."
|
||||
opponentHasSettingsChanged: "غيَر الخصم إعدادته."
|
||||
showBoardLabels: "اعرض ترقيم الصفوف والأعمدة على اللوح"
|
||||
useAvatarAsStone: "حوَل الحجارة إلى صور مستخدمين"
|
||||
_offlineScreen:
|
||||
title: "غير متصل - يتعذر الاتصال بالخادم"
|
||||
header: "يتعذر الاتصال بالخادم"
|
||||
|
|
|
@ -357,8 +357,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "hCaptcha চালু করুন"
|
||||
hcaptchaSiteKey: "সাইট কী"
|
||||
hcaptchaSecretKey: "সিক্রেট কী"
|
||||
mcaptchaSiteKey: "সাইট কী"
|
||||
mcaptchaSecretKey: "সিক্রেট কী"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "reCAPTCHA চালু করুন"
|
||||
recaptchaSiteKey: "সাইট কী"
|
||||
|
@ -855,12 +853,7 @@ youFollowing: "অনুসরণ করা হচ্ছে"
|
|||
icon: "প্রোফাইল ছবি"
|
||||
replies: "জবাব"
|
||||
renotes: "রিনোট"
|
||||
sourceCode: "সোর্স কোড"
|
||||
flip: "উল্টান"
|
||||
_delivery:
|
||||
stop: "স্থগিত করা হয়েছে"
|
||||
_type:
|
||||
none: "প্রকাশ করা হচ্ছে"
|
||||
_role:
|
||||
priority: "অগ্রাধিকার"
|
||||
_priority:
|
||||
|
@ -1033,6 +1026,8 @@ _sfx:
|
|||
note: "নোটগুলি"
|
||||
noteMy: "নোট (আপনার)"
|
||||
notification: "বিজ্ঞপ্তি"
|
||||
antenna: "অ্যান্টেনাগুলি"
|
||||
channel: "চ্যানেলের বিজ্ঞপ্তি"
|
||||
_ago:
|
||||
future: "ভবিষ্যৎ"
|
||||
justNow: "এইমাত্র"
|
||||
|
@ -1195,7 +1190,6 @@ _profile:
|
|||
changeBanner: "ব্যানার পরিবর্তন করুন"
|
||||
_exportOrImport:
|
||||
allNotes: "সকল নোট"
|
||||
clips: "ক্লিপ"
|
||||
followingList: "অনুসরণ করা হচ্ছে"
|
||||
muteList: "মিউট"
|
||||
blockingList: "ব্লক"
|
||||
|
@ -1344,12 +1338,6 @@ _deck:
|
|||
_webhookSettings:
|
||||
name: "নাম"
|
||||
active: "চালু"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "ইমেইল"
|
||||
_moderationLogTypes:
|
||||
suspend: "স্থগিত করা"
|
||||
resetPassword: "পাসওয়ার্ড রিসেট করুন"
|
||||
_reversi:
|
||||
total: "মোট"
|
||||
|
|
1628
locales/ca-ES.yml
1628
locales/ca-ES.yml
File diff suppressed because it is too large
Load diff
|
@ -366,8 +366,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "Aktivovat hCaptchu"
|
||||
hcaptchaSiteKey: "Klíč stránky"
|
||||
hcaptchaSecretKey: "Tajný Klíč (Secret Key)"
|
||||
mcaptchaSiteKey: "Klíč stránky"
|
||||
mcaptchaSecretKey: "Tajný Klíč (Secret Key)"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Zapnout ReCAPTCHu"
|
||||
recaptchaSiteKey: "Klíč stránky"
|
||||
|
@ -1005,7 +1003,6 @@ resetPasswordConfirm: "Opravdu chcete resetovat heslo?"
|
|||
sensitiveWords: "Citlivá slova"
|
||||
sensitiveWordsDescription: "Viditelnost všech poznámek obsahujících některé z nakonfigurovaných slov bude automaticky nastavena na \"Domů\". Můžete jich uvést více tak, že je oddělíte pomocí řádků."
|
||||
sensitiveWordsDescription2: "Použití mezer vytvoří výrazy AND a obklopení klíčových slov lomítky je změní na regulární výraz."
|
||||
prohibitedWordsDescription2: "Použití mezer vytvoří výrazy AND a obklopení klíčových slov lomítky je změní na regulární výraz."
|
||||
notesSearchNotAvailable: "Vyhledávání poznámek je nedostupné."
|
||||
license: "Licence"
|
||||
unfavoriteConfirm: "Opravdu chcete odstranit z oblíbených?"
|
||||
|
@ -1095,14 +1092,7 @@ iHaveReadXCarefullyAndAgree: "Přečetl jsem si text \"{x}\" a souhlasím s ním
|
|||
icon: "Avatar"
|
||||
replies: "Odpovědi"
|
||||
renotes: "Přeposlat"
|
||||
sourceCode: "Zdrojový kód"
|
||||
flip: "Otočit"
|
||||
lastNDays: "Posledních {n} dnů"
|
||||
surrender: "Zrušit"
|
||||
_delivery:
|
||||
stop: "Suspendováno"
|
||||
_type:
|
||||
none: "Publikuji"
|
||||
_initialAccountSetting:
|
||||
accountCreated: "Váš účet byl úspěšně vytvořen!"
|
||||
letsStartAccountSetup: "Pro začátek si nastavte svůj profil."
|
||||
|
@ -1645,6 +1635,8 @@ _sfx:
|
|||
note: "Poznámky"
|
||||
noteMy: "Moje poznámka"
|
||||
notification: "Oznámení"
|
||||
antenna: "Antény"
|
||||
channel: "Oznámení kanálu"
|
||||
_ago:
|
||||
future: "Budoucí"
|
||||
justNow: "Teď"
|
||||
|
@ -1666,6 +1658,7 @@ _2fa:
|
|||
registerTOTP: "Registrovat aplikaci autentizátoru"
|
||||
step1: "Nejprve si do zařízení nainstalujte aplikaci pro ověřování (například {a} nebo {b})."
|
||||
step2: "Poté naskenujte QR kód zobrazený na této obrazovce."
|
||||
step2Click: "Kliknutím na tento QR kód můžete zaregistrovat 2FA do bezpečnostního klíče nebo aplikace autentizace telefonu."
|
||||
step3Title: "Zadejte ověřovací kód"
|
||||
step3: "Pro dokončení nastavení zadejte token poskytnutý vaší aplikací."
|
||||
step4: "Od této chvíle budou všechny budoucí pokusy o přihlášení vyžadovat tento přihlašovací token."
|
||||
|
@ -1719,7 +1712,7 @@ _auth:
|
|||
shareAccessTitle: "Udělovat oprávnění k aplikacím"
|
||||
shareAccess: "Chcete autorizovat \"{name}\" pro přístup k tomuto účtu?"
|
||||
shareAccessAsk: "Opravdu chcete této aplikaci povolit přístup k vašemu účtu?"
|
||||
permission: "{name} požaduje tato oprávnění"
|
||||
permission: "{jméno} požaduje tato oprávnění"
|
||||
permissionAsk: "Tato aplikace požaduje následující oprávnění"
|
||||
pleaseGoBack: "Vraťte se prosím zpět do aplikace"
|
||||
callback: "Návrat k aplikaci"
|
||||
|
@ -1832,7 +1825,6 @@ _profile:
|
|||
_exportOrImport:
|
||||
allNotes: "Všechny poznámky"
|
||||
favoritedNotes: "Oblíbené poznámky"
|
||||
clips: "Oříznout"
|
||||
followingList: "Sledovaní"
|
||||
muteList: "Ztlumit"
|
||||
blockingList: "Zablokovat"
|
||||
|
@ -1943,7 +1935,7 @@ _notification:
|
|||
youGotMention: "{name} vás zmínil"
|
||||
youGotReply: "{name} vám odpověděl"
|
||||
youGotQuote: "{name} vás citoval"
|
||||
youRenoted: "Poznámka od {name}"
|
||||
youRenoted: "Poznámka od {jméno}"
|
||||
youWereFollowed: "Máte nového následovníka"
|
||||
youReceivedFollowRequest: "Obdrželi jste žádost o sledování"
|
||||
yourFollowRequestAccepted: "Vaše žádost o sledování byla přijata"
|
||||
|
@ -2010,6 +2002,7 @@ _webhookSettings:
|
|||
createWebhook: "Vytvořit Webhook"
|
||||
name: "Jméno"
|
||||
secret: "Tajné"
|
||||
events: "Události Webhook"
|
||||
active: "Zapnuto"
|
||||
_events:
|
||||
follow: "Při sledování uživatele"
|
||||
|
@ -2019,13 +2012,7 @@ _webhookSettings:
|
|||
renote: "Při renotaci poznámky"
|
||||
reaction: "Při obdržení reakce"
|
||||
mention: "Při zmínce"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "Email"
|
||||
_moderationLogTypes:
|
||||
suspend: "Zmrazit"
|
||||
resetPassword: "Resetovat heslo"
|
||||
createInvitation: "Vygenerovat pozvánku"
|
||||
_reversi:
|
||||
total: "Celkem"
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
---
|
||||
_lang_: "Dansk"
|
||||
headlineMisskey: ""
|
||||
introMisskey: "ようこそ!Misskeyは、オープンソースの分散型マイクロブログサービスです。\n「ノート」を作成して、いま起こっていることを共有したり、あなたについて皆に発信しよう📡\n「リアクション」機能で、皆のノートに素早く反応を追加することもできます👍\n新しい世界を探検しよう🚀"
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
_lang_: "Deutsch"
|
||||
headlineMisskey: "Ein durch Notizen verbundenes Netzwerk"
|
||||
introMisskey: "Willkommen! eGirlskey ist eine dezentralisierte Open-Source Microblogging-Platform.\nVerfasse „Notizen“ um mitzuteilen, was gerade passiert oder um Ereignisse mit anderen zu teilen. 📡\nMit „Reaktionen“ kannst du außerdem schnell deine Gefühle über Notizen anderer Benutzer zum Ausdruck bringen. 👍\nEine neue Welt wartet auf dich! 🚀"
|
||||
poweredByMisskeyDescription: "{name} ist einer der durch die Open-Source-Plattform <b>eGirlskey</b> betriebenen Dienste die auf Misskey basiert ist (meist als \"Misskey-Instanz\" bezeichnet)."
|
||||
introMisskey: "Willkommen! Sharkey ist eine dezentralisierte Open-Source Microblogging-Platform.\nVerfasse „Notizen“ um mitzuteilen, was gerade passiert oder um Ereignisse mit anderen zu teilen. 📡\nMit „Reaktionen“ kannst du außerdem schnell deine Gefühle über Notizen anderer Benutzer zum Ausdruck bringen. 👍\nEine neue Welt wartet auf dich! 🚀"
|
||||
poweredByMisskeyDescription: "{name} ist einer der durch die Open-Source-Plattform <b>Sharkey</b> betriebenen Dienste die auf Misskey basiert ist (meist als \"Misskey-Instanz\" bezeichnet)."
|
||||
monthAndDay: "{day}.{month}."
|
||||
search: "Suchen"
|
||||
notifications: "Benachrichtigungen"
|
||||
|
@ -121,15 +121,9 @@ sensitive: "Sensibel"
|
|||
add: "Hinzufügen"
|
||||
reaction: "Reaktionen"
|
||||
reactions: "Reaktionen"
|
||||
emojiPicker: "Emoji auswählen"
|
||||
pinnedEmojisForReactionSettingDescription: "Lege Emojis fest, die angepinnt werden sollen, um sie beim Reagieren als Erstes anzuzeigen."
|
||||
pinnedEmojisSettingDescription: "Lege Emojis fest, die angepinnt werden sollen, um sie in der Emoji-Auswahl als Erstes anzuzeigen"
|
||||
overwriteFromPinnedEmojisForReaction: "Überschreiben mit den Reaktions-Einstellungen"
|
||||
overwriteFromPinnedEmojis: "Überschreiben mit den allgemeinen Einstellungen"
|
||||
reactionSettingDescription2: "Ziehe um Anzuordnen, klicke um zu löschen, drücke „+“ um hinzuzufügen"
|
||||
rememberNoteVisibility: "Notizsichtbarkeit merken"
|
||||
attachCancel: "Anhang entfernen"
|
||||
deleteFile: "Datei gelöscht"
|
||||
markAsSensitive: "Als sensibel markieren"
|
||||
unmarkAsSensitive: "Als nicht sensibel markieren"
|
||||
enterFileName: "Dateinamen eingeben"
|
||||
|
@ -166,7 +160,7 @@ youCanCleanRemoteFilesCache: "Klicke auf den 🗑️-Knopf der Dateiverwaltungsa
|
|||
cacheRemoteSensitiveFiles: "Sensitive Dateien von fremden Instanzen im Cache speichern"
|
||||
cacheRemoteSensitiveFilesDescription: "Ist diese Einstellung deaktiviert, so werden sensitive Dateien fremder Instanzen direkt von dort ohne Zwischenspeicherung geladen."
|
||||
flagAsBot: "Als Bot markieren"
|
||||
flagAsBotDescription: "Aktiviere diese Option, falls dieses Benutzerkonto durch ein Programm gesteuert wird. Falls aktiviert, agiert es als Flag für andere Entwickler zur Verhinderung von endlosen Kettenreaktionen mit anderen Bots und lässt eGirlskeys interne Systeme dieses Benutzerkonto als Bot behandeln."
|
||||
flagAsBotDescription: "Aktiviere diese Option, falls dieses Benutzerkonto durch ein Programm gesteuert wird. Falls aktiviert, agiert es als Flag für andere Entwickler zur Verhinderung von endlosen Kettenreaktionen mit anderen Bots und lässt Sharkeys interne Systeme dieses Benutzerkonto als Bot behandeln."
|
||||
flagAsCat: "Als Katze markieren"
|
||||
flagAsCatDescription: "Aktiviere diese Option, um dieses Benutzerkonto als Katze zu markieren."
|
||||
flagShowTimelineReplies: "Antworten in der Chronik anzeigen"
|
||||
|
@ -184,7 +178,7 @@ searchWith: "Suchen: {q}"
|
|||
youHaveNoLists: "Du hast keine Listen"
|
||||
followConfirm: "Möchtest du {name} wirklich folgen?"
|
||||
proxyAccount: "Proxy-Benutzerkonto"
|
||||
proxyAccountDescription: "Ein Proxy-Konto ist ein Benutzerkonto, das unter bestimmten Bedingungen als Follower für Benutzer fremder Instanzen fungiert. Wenn zum Beispiel ein Benutzer einen Benutzer einer fremden Instanz zu einer Liste hinzufügt, werden die Aktivitäten des entfernten Benutzers nicht an die Instanz übermittelt, wenn kein lokaler Benutzer diesem Benutzer folgt; stattdessen folgt das Proxy-Konto."
|
||||
proxyAccountDescription: "Ein Proxy-Benutzerkonto ist ein Benutzerkonto, das sich für Nutzer unter bestimmten Konditionen wie ein Follower aus einer fremden Instanz verhält. Zum Beispiel wird die Aktivität eines Nutzers aus einer fremden Instanz nicht an diese Instanz übermittelt, falls es keinen Benutzer dieser Instanz gibt, der diesem Nutzer aus fremder Instanz folgt. In diesem Fall folgt stattdessen das Proxy-Benutzerkonto."
|
||||
host: "Hostname"
|
||||
selectUser: "Benutzer auswählen"
|
||||
recipient: "Empfänger"
|
||||
|
@ -229,7 +223,7 @@ noUsers: "Keine Benutzer gefunden"
|
|||
editProfile: "Profil bearbeiten"
|
||||
noteDeleteConfirm: "Möchtest du diese Notiz wirklich löschen?"
|
||||
pinLimitExceeded: "Du kannst nicht noch mehr Notizen anheften."
|
||||
intro: "eGirlskey ist installiert! Lass uns nun ein Administratorkonto einrichten."
|
||||
intro: "Sharkey ist installiert! Lass uns nun ein Administratorkonto einrichten."
|
||||
done: "Fertig"
|
||||
processing: "In Bearbeitung …"
|
||||
preview: "Vorschau"
|
||||
|
@ -266,7 +260,6 @@ removed: "Erfolgreich gelöscht"
|
|||
removeAreYouSure: "Möchtest du „{x}“ wirklich entfernen?"
|
||||
deleteAreYouSure: "Möchtest du „{x}“ wirklich löschen?"
|
||||
resetAreYouSure: "Wirklich zurücksetzen?"
|
||||
areYouSure: "Bist du sicher?"
|
||||
saved: "Erfolgreich gespeichert"
|
||||
messaging: "Chat"
|
||||
upload: "Hochladen"
|
||||
|
@ -361,7 +354,7 @@ enableLocalTimeline: "Lokale Chronik aktivieren"
|
|||
enableGlobalTimeline: "Globale Chronik aktivieren"
|
||||
disablingTimelinesInfo: "Administratoren und Moderatoren haben immer Zugriff auf alle Chroniken, auch wenn diese deaktiviert sind."
|
||||
registration: "Registrieren"
|
||||
enableRegistration: "Registrierung neuer Benutzer erlauben"
|
||||
enableRegistration: "Registration neuer Benutzer erlauben"
|
||||
invite: "Einladen"
|
||||
driveCapacityPerLocalAccount: "Drive-Kapazität pro lokalem Benutzerkonto"
|
||||
driveCapacityPerRemoteAccount: "Drive-Kapazität pro Benutzer fremder Instanzen"
|
||||
|
@ -379,11 +372,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "hCaptcha aktivieren"
|
||||
hcaptchaSiteKey: "Site key"
|
||||
hcaptchaSecretKey: "Secret key"
|
||||
mcaptcha: "mCaptcha"
|
||||
enableMcaptcha: "mCaptcha aktivieren"
|
||||
mcaptchaSiteKey: "Site key"
|
||||
mcaptchaSecretKey: "Secret key"
|
||||
mcaptchaInstanceUrl: "mCaptcha Instanz-URL"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "reCAPTCHA aktivieren"
|
||||
recaptchaSiteKey: "Site key"
|
||||
|
@ -422,7 +410,7 @@ exploreFediverse: "Das Fediverse erkunden"
|
|||
popularTags: "Beliebte Schlagwörter"
|
||||
userList: "Liste"
|
||||
about: "Über"
|
||||
aboutMisskey: "Über eGirlskey"
|
||||
aboutMisskey: "Über Sharkey"
|
||||
administrator: "Administrator"
|
||||
token: "Token"
|
||||
2fa: "Zwei-Faktor-Authentifizierung"
|
||||
|
@ -441,7 +429,7 @@ lastUsed: "Zuletzt benutzt"
|
|||
lastUsedAt: "Zuletzt verwendet: {t}"
|
||||
unregister: "Deaktivieren"
|
||||
passwordLessLogin: "Passwortloses Anmelden"
|
||||
passwordLessLoginDescription: "Ermöglicht passwortloses Einloggen mit einem Security-Token oder Passkey"
|
||||
passwordLessLoginDescription: "Ermöglicht passwortfreies Einloggen, nur via Security-Token oder Passkey"
|
||||
resetPassword: "Passwort zurücksetzen"
|
||||
newPasswordIs: "Das neue Passwort ist „{password}“"
|
||||
reduceUiAnimation: "Animationen der Benutzeroberfläche reduzieren"
|
||||
|
@ -572,7 +560,7 @@ sort: "Sortieren"
|
|||
ascendingOrder: "Aufsteigende Reihenfolge"
|
||||
descendingOrder: "Absteigende Reihenfolge"
|
||||
scratchpad: "Testumgebung"
|
||||
scratchpadDescription: "Die Testumgebung bietet einen Bereich für AiScript-Experimente. Dort kannst du AiScript schreiben, ausführen sowie dessen Auswirkungen auf eGirlskey überprüfen."
|
||||
scratchpadDescription: "Die Testumgebung bietet einen Bereich für AiScript-Experimente. Dort kannst du AiScript schreiben, ausführen sowie dessen Auswirkungen auf Sharkey überprüfen."
|
||||
output: "Ausgabe"
|
||||
script: "Skript"
|
||||
disablePagesScript: "AiScript auf Seiten deaktivieren"
|
||||
|
@ -631,7 +619,6 @@ medium: "Mittel"
|
|||
small: "Klein"
|
||||
generateAccessToken: "Zugriffstoken generieren"
|
||||
permission: "Berechtigungen"
|
||||
adminPermission: "Administratorberechtigung"
|
||||
enableAll: "Alle aktivieren"
|
||||
disableAll: "Alle deaktivieren"
|
||||
tokenRequested: "Zugriff zum Benutzerkonto gewähren"
|
||||
|
@ -654,7 +641,7 @@ smtpSecureInfo: "Schalte dies aus, falls du STARTTLS verwendest."
|
|||
testEmail: "Emailversand testen"
|
||||
wordMute: "Wortstummschaltung"
|
||||
regexpError: "Fehler in einem regulären Ausdruck"
|
||||
regexpErrorDescription: "Im regulären Ausdruck deiner in Zeile {line} von {tab}en Wortstummschaltungen ist ein Fehler aufgetreten:"
|
||||
regexpErrorDescription: "Im regulären Ausdruck deiner {tab}en Wortstummschaltungen ist ein Fehler aufgetreten:"
|
||||
instanceMute: "Instanzstummschaltungen"
|
||||
userSaysSomething: "{name} hat etwas gesagt"
|
||||
makeActive: "Aktivieren"
|
||||
|
@ -709,7 +696,7 @@ unclip: "Aus Clip entfernen"
|
|||
confirmToUnclipAlreadyClippedNote: "Diese Notiz ist bereits im \"{name}\" Clip enthalten. Möchtest du sie aus diesem Clip entfernen?"
|
||||
public: "Öffentlich"
|
||||
private: "Privat"
|
||||
i18nInfo: "eGirlskey wird durch freiwillige Helfer in viele verschiedene Sprachen übersetzt. Auf {link} kannst du mithelfen."
|
||||
i18nInfo: "Sharkey wird durch freiwillige Helfer in viele verschiedene Sprachen übersetzt. Auf {link} kannst du mithelfen."
|
||||
manageAccessTokens: "Zugriffstokens verwalten"
|
||||
accountInfo: "Benutzerkonto-Informationen"
|
||||
notesCount: "Anzahl der Notizen"
|
||||
|
@ -763,7 +750,7 @@ onlineUsersCount: "{n} Benutzer sind online"
|
|||
nUsers: "{n} Benutzer"
|
||||
nNotes: "{n} Notizen"
|
||||
sendErrorReports: "Fehlerberichte senden"
|
||||
sendErrorReportsDescription: "Ist diese Option aktiviert, so werden beim Auftreten von Fehlern detaillierte Fehlerinformationen an eGirlskey weitergegeben, was zur Verbesserung der Qualität von eGirlskey beiträgt.\nEnthalten in diesen Informationen sind u.a. die Version deines Betriebssystems, welchen Browser du verwendest und ein Verlauf deiner Aktivitäten innerhalb eGirlskey."
|
||||
sendErrorReportsDescription: "Ist diese Option aktiviert, so werden beim Auftreten von Fehlern detaillierte Fehlerinformationen an Sharkey weitergegeben, was zur Verbesserung der Qualität von Sharkey beiträgt.\nEnthalten in diesen Informationen sind u.a. die Version deines Betriebssystems, welchen Browser du verwendest und ein Verlauf deiner Aktivitäten innerhalb Sharkey."
|
||||
myTheme: "Mein Farbschema"
|
||||
backgroundColor: "Hintergrundfarbe"
|
||||
accentColor: "Akzentfarbe"
|
||||
|
@ -857,7 +844,7 @@ hashtags: "Hashtags"
|
|||
troubleshooting: "Problembehandlung"
|
||||
useBlurEffect: "Weichzeichnungseffekt in der Benutzeroberfläche verwenden"
|
||||
learnMore: "Mehr erfahren"
|
||||
misskeyUpdated: "eGirlskey wurde aktualisiert!"
|
||||
misskeyUpdated: "Sharkey wurde aktualisiert!"
|
||||
whatIsNew: "Änderungen anzeigen"
|
||||
translate: "Übersetzen"
|
||||
translatedFrom: "Aus {x} übersetzt"
|
||||
|
@ -984,9 +971,8 @@ numberOfLikes: "\"Gefällt mir\"-Anzahl"
|
|||
show: "Anzeigen"
|
||||
neverShow: "Nicht wieder anzeigen"
|
||||
remindMeLater: "Vielleicht später"
|
||||
didYouLikeMisskey: "Gefällt dir eGirlskey?"
|
||||
pleaseDonate: "eGirlskey ist die kostenlose Software, die von {host} verwendet wird. Wir würden uns über Spenden freuen, damit dessen Entwicklung weitergeführt werden kann!"
|
||||
pleaseDonateInstance: "Du kannst {host} auch direkt unterstützen, indem du an deine Instanz Administration spendest."
|
||||
didYouLikeMisskey: "Gefällt dir Sharkey?"
|
||||
pleaseDonate: "Sharkey ist die kostenlose Software, die von {host} verwendet wird. Wir würden uns über Spenden freuen, damit dessen Entwicklung weitergeführt werden kann!"
|
||||
roles: "Rollen"
|
||||
role: "Rolle"
|
||||
noRole: "Rolle nicht gefunden"
|
||||
|
@ -1037,7 +1023,6 @@ resetPasswordConfirm: "Wirklich Passwort zurücksetzen?"
|
|||
sensitiveWords: "Sensible Wörter"
|
||||
sensitiveWordsDescription: "Die Notizsichtbarkeit aller Notizen, die diese Wörter enthalten, wird automatisch auf \"Startseite\" gesetzt. Durch Zeilenumbrüche können mehrere konfiguriert werden."
|
||||
sensitiveWordsDescription2: "Durch die Verwendung von Leerzeichen können AND-Verknüpfungen angegeben werden und durch das Umgeben von Schrägstrichen können reguläre Ausdrücke verwendet werden."
|
||||
prohibitedWordsDescription2: "Durch die Verwendung von Leerzeichen können AND-Verknüpfungen angegeben werden und durch das Umgeben von Schrägstrichen können reguläre Ausdrücke verwendet werden."
|
||||
hiddenTags: "Ausgeblendete Hashtags"
|
||||
hiddenTagsDescription: "Die hier eingestellten Tags werden nicht mehr in den Trends angezeigt. Mit der Umschalttaste können mehrere ausgewählt werden."
|
||||
notesSearchNotAvailable: "Die Notizsuche ist nicht verfügbar."
|
||||
|
@ -1101,7 +1086,7 @@ rolesThatCanBeUsedThisEmojiAsReactionPublicRoleWarn: "Diese Rollen müssen öffe
|
|||
cancelReactionConfirm: "Möchtest du deine Reaktion wirklich löschen?"
|
||||
changeReactionConfirm: "Möchtest du deine Reaktion wirklich ändern?"
|
||||
later: "Später"
|
||||
goToMisskey: "Zu eGirlskey"
|
||||
goToMisskey: "Zu Sharkey"
|
||||
additionalEmojiDictionary: "Zusätzliche Emoji-Wörterbücher"
|
||||
installed: "Installiert"
|
||||
branding: "Branding"
|
||||
|
@ -1159,15 +1144,12 @@ hideRepliesToOthersInTimelineAll: "Antworten von allen momentan gefolgten Benutz
|
|||
confirmShowRepliesAll: "Dies ist eine unwiderrufliche Aktion. Wirklich Antworten von allen momentan gefolgten Benutzern in der Chronik anzeigen?"
|
||||
confirmHideRepliesAll: "Dies ist eine unwiderrufliche Aktion. Wirklich Antworten von allen momentan gefolgten Benutzern nicht in der Chronik anzeigen?"
|
||||
externalServices: "Externe Dienste"
|
||||
sourceCode: "Quellcode"
|
||||
impressum: "Impressum"
|
||||
impressumUrl: "Impressums-URL"
|
||||
impressumDescription: "In manchen Ländern, wie Deutschland und dessen Umgebung, ist die Angabe von Betreiberinformationen (ein Impressum) bei kommerziellem Betrieb zwingend."
|
||||
privacyPolicy: "Datenschutzerklärung"
|
||||
privacyPolicyUrl: "Datenschutzerklärungs-URL"
|
||||
tosAndPrivacyPolicy: "Nutzungsbedingungen und Datenschutzerklärung"
|
||||
donation: "Spenden"
|
||||
donationUrl: "Spenden-URL"
|
||||
avatarDecorations: "Profilbilddekoration"
|
||||
attach: "Anbringen"
|
||||
detach: "Entfernen"
|
||||
|
@ -1183,15 +1165,6 @@ signupPendingError: "Beim Überprüfen der Mailadresse ist etwas schiefgelaufen.
|
|||
cwNotationRequired: "Ist \"Inhaltswarnung verwenden\" aktiviert, muss eine Beschreibung gegeben werden."
|
||||
doReaction: "Reagieren"
|
||||
code: "Code"
|
||||
decorate: "Dekorieren"
|
||||
addMfmFunction: "MFM hinzufügen"
|
||||
sfx: "Soundeffekte"
|
||||
lastNDays: "Letzten {n} Tage"
|
||||
surrender: "Abbrechen"
|
||||
_delivery:
|
||||
stop: "Gesperrt"
|
||||
_type:
|
||||
none: "Wird veröffentlicht"
|
||||
_announcement:
|
||||
forExistingUsers: "Nur für existierende Nutzer"
|
||||
forExistingUsersDescription: "Ist diese Option aktiviert, wird diese Ankündigung nur Nutzern angezeigt, die zum Zeitpunkt der Ankündigung bereits registriert sind. Ist sie deaktiviert, wird sie auch Nutzern, die sich nach dessen Veröffentlichung registrieren, angezeigt."
|
||||
|
@ -1201,7 +1174,6 @@ _announcement:
|
|||
tooManyActiveAnnouncementDescription: "Zu viele aktive Ankündigungen können die Benutzerfreundlichkeit verschlechtern. Es wird empfohlen, veraltete Ankündigungen zu archivieren."
|
||||
readConfirmTitle: "Als gelesen markieren?"
|
||||
readConfirmText: "Dies markiert den Inhalt von \"{title}\" als gelesen."
|
||||
shouldNotBeUsedToPresentPermanentInfo: "Es wird empfohlen, Ankündigungen für aktuelle und zeitlich begrenzte Neuigkeiten zu nutzen, statt für Informationen, die langfristig relevant sind."
|
||||
dialogAnnouncementUxWarn: "Bei der Verwendung von mehr als zwei Meldungen im Dialog-Format wird um Vorsicht geboten, da dies negative Auswirkungen auf die UX haben kann."
|
||||
silence: "Keine Benachrichtigung"
|
||||
silenceDescription: "Wenn aktiviert, gibt diese Meldung keine Nachricht aus und muss nicht als \"gelesen\" markiert werden."
|
||||
|
@ -1231,24 +1203,6 @@ _initialTutorial:
|
|||
description: "Hier kannst du sehen, wie Misskey funktioniert"
|
||||
_note:
|
||||
title: "Was sind Notizen?"
|
||||
description: "Beiträge auf Misskey heißen \"Notizen\". Notizen werden chronologisch in der Chronik angeordnet und in Echtzeit aktualisiert."
|
||||
reply: "Klicke auf diesen Button, um auf eine Nachricht zu antworten. Es ist auch möglich, auf Antworten zu antworten und die Unterhaltung wie einen Thread fortzusetzen."
|
||||
_reaction:
|
||||
title: "Was sind Reaktionen?"
|
||||
reactToContinue: "Füge eine Reaktion hinzu, um fortzufahren."
|
||||
reactNotification: "Du erhältst Echtzeit-Benachrichtigungen, wenn jemand auf deine Notiz reagiert."
|
||||
_postNote:
|
||||
_visibility:
|
||||
description: "Du kannst einschränken, wer deine Notiz sehen kann."
|
||||
public: "Deine Notiz wird für alle Nutzer sichtbar sein."
|
||||
doNotSendConfidencialOnDirect1: "Sei vorsichtig, wenn du sensible Informationen verschickst!"
|
||||
_cw:
|
||||
title: "Inhaltswarnung"
|
||||
_done:
|
||||
title: "Du hast das Tutorial abgeschlossen! 🎉"
|
||||
_timelineDescription:
|
||||
local: "In der lokalen Chronik siehst du Notizen von allen Benutzern auf diesem Server."
|
||||
global: "In der globalen Chronik siehst du Notizen von allen föderierten Servern."
|
||||
_serverRules:
|
||||
description: "Eine Reihe von Regeln, die vor der Registrierung angezeigt werden. Eine Zusammenfassung der Nutzungsbedingungen anzuzeigen ist empfohlen."
|
||||
_serverSettings:
|
||||
|
@ -1261,8 +1215,6 @@ _serverSettings:
|
|||
shortName: "Abkürzung"
|
||||
shortNameDescription: "Ein Kürzel für den Namen der Instanz, der angezeigt werden kann, falls der volle Instanzname lang ist."
|
||||
fanoutTimelineDescription: "Ist diese Option aktiviert, kann eine erhebliche Verbesserung im Abrufen von Chroniken und eine Reduzierung der Datenbankbelastung erzielt werden, im Gegenzug zu einer Steigerung in der Speichernutzung von Redis. Bei geringem Serverspeicher oder Serverinstabilität kann diese Option deaktiviert werden."
|
||||
fanoutTimelineDbFallback: "Auf die Datenbank zurückfallen"
|
||||
fanoutTimelineDbFallbackDescription: "Ist diese Option aktiviert, wird die Chronik auf zusätzliche Abfragen in der Datenbank zurückgreifen, wenn sich die Chronik nicht im Cache befindet. Eine Deaktivierung führt zu geringerer Serverlast, aber schränkt den Zeitraum der abrufbaren Chronik ein. "
|
||||
_accountMigration:
|
||||
moveFrom: "Von einem anderen Konto zu diesem migrieren"
|
||||
moveFromSub: "Alias für ein anderes Konto erstellen"
|
||||
|
@ -1271,7 +1223,7 @@ _accountMigration:
|
|||
moveTo: "Dieses Konto zu einem neuen migrieren"
|
||||
moveToLabel: "Umzugsziel:"
|
||||
moveCannotBeUndone: "Die Migration eines Benutzerkontos ist unwiderruflich."
|
||||
moveAccountDescription: "Hierdurch wird dein Konto zu einem anderen migriert.\n ・Follower von diesem Konto werden automatisch auf das neue Konto migriert\n ・Dieses Konto wird allen Nutzern, denen es derzeit folgt, nicht mehr folgen\n ・Mit diesem Konto können keine neuen Notizen usw. erstellt werden\n\nWährend die Migration der Follower automatisch erfolgt, muss die Migration der Konten, denen du folgst, manuell vorbereitet werden. Exportiere hierzu die Liste der gefolgten Nutzer über das Einstellungsmenu, und importiere diese Liste im neuen Konto. Das gleiche Verfahren gilt für erstellte Listen und stummgeschaltete oder blockierte Nutzer.\n\n(Diese Erklärung gilt für eGirlskey v13.12.0 oder später. Die Funktionsweise andere ActivityPub-Software, beispielsweise Mastodon, kann hiervon abweichen.)"
|
||||
moveAccountDescription: "Hierdurch wird dein Konto zu einem anderen migriert.\n ・Follower von diesem Konto werden automatisch auf das neue Konto migriert\n ・Dieses Konto wird allen Nutzern, denen es derzeit folgt, nicht mehr folgen\n ・Mit diesem Konto können keine neuen Notizen usw. erstellt werden\n\nWährend die Migration der Follower automatisch erfolgt, muss die Migration der Konten, denen du folgst, manuell vorbereitet werden. Exportiere hierzu die Liste der gefolgten Nutzer über das Einstellungsmenu, und importiere diese Liste im neuen Konto. Das gleiche Verfahren gilt für erstellte Listen und stummgeschaltete oder blockierte Nutzer.\n\n(Diese Erklärung gilt für Sharkey v13.12.0 oder später. Die Funktionsweise andere ActivityPub-Software, beispielsweise Mastodon, kann hiervon abweichen.)"
|
||||
moveAccountHowTo: "Um ein Konto zu migrieren, erstelle zuerst auf dem Umzugsziel einen Alias für dieses Konto.\nGib dann das Umzugsziel in folgendem Format ein: @username@server.example.com"
|
||||
startMigration: "Migrieren"
|
||||
migrationConfirm: "Dieses Konto wirklich zu {account} umziehen? Sobald der Umzug beginnt, kann er nicht rückgängig gemacht werden, und dieses Konto nicht wieder im ursprünglichen Zustand verwendet werden."
|
||||
|
@ -1282,9 +1234,9 @@ _achievements:
|
|||
earnedAt: "Freigeschaltet am"
|
||||
_types:
|
||||
_notes1:
|
||||
title: "Hallo eGirlskey!"
|
||||
title: "Hallo Sharkey!"
|
||||
description: "Sende deine erste Notiz"
|
||||
flavor: "Hab eine schöne Zeit mit eGirlskey!"
|
||||
flavor: "Hab eine schöne Zeit mit Sharkey!"
|
||||
_notes10:
|
||||
title: "Notizblog"
|
||||
description: "10 Notizen gesendet"
|
||||
|
@ -1380,7 +1332,7 @@ _achievements:
|
|||
_login1000:
|
||||
title: "Wie die Zeit vergeht"
|
||||
description: "An 1000 Tagen eingeloggt"
|
||||
flavor: "Danke, dass du eGirlskey nutzt!"
|
||||
flavor: "Danke, dass du Sharkey nutzt!"
|
||||
_noteClipped1:
|
||||
title: "Das merk ich mir"
|
||||
description: "Die erste Notiz geclippt"
|
||||
|
@ -1440,18 +1392,18 @@ _achievements:
|
|||
title: "Ausstellung"
|
||||
description: "Schau dir die Liste deiner Errungenschaften für mindestens 3 Minuten an"
|
||||
_iLoveMisskey:
|
||||
title: "I Love eGirlskey"
|
||||
description: "Sende \"I ❤ #eGirlskey\""
|
||||
flavor: "Danke, dass du eGirlskey verwendest! - vom Entwicklerteam"
|
||||
title: "I Love Sharkey"
|
||||
description: "Sende \"I ❤ #Sharkey\""
|
||||
flavor: "Danke, dass du Sharkey verwendest! - vom Entwicklerteam"
|
||||
_foundTreasure:
|
||||
title: "Schatzsuche"
|
||||
description: "Du hast einen verborgenen Schatz gefunden"
|
||||
_client30min:
|
||||
title: "Kurze Pause"
|
||||
description: "Habe eGirlskey für mindestens 30 Minuten geöffnet"
|
||||
description: "Habe Sharkey für mindestens 30 Minuten geöffnet"
|
||||
_client60min:
|
||||
title: "Munter mit eGirlskey"
|
||||
description: "Habe eGirlskey für mindestens 60 Minuten geöffnet"
|
||||
title: "Munter mit Sharkey"
|
||||
description: "Habe Sharkey für mindestens 60 Minuten geöffnet"
|
||||
_noteDeletedWithin1min:
|
||||
title: "Katze auf der Tastatur"
|
||||
description: "Lösche eine Notiz innerhalb von 1 Minute nachdem sie gesendet wurde"
|
||||
|
@ -1516,12 +1468,10 @@ _achievements:
|
|||
_brainDiver:
|
||||
title: "Brain Diver"
|
||||
description: "Sende den Link zu Brain Diver"
|
||||
flavor: "eGirlskey-eGirlskey La-Tu-Ma"
|
||||
flavor: "Sharkey-Sharkey La-Tu-Ma"
|
||||
_smashTestNotificationButton:
|
||||
title: "Testüberfluss"
|
||||
description: "Betätige den Benachrichtigungstest mehrfach innerhalb einer extrem kurzen Zeitspanne"
|
||||
_tutorialCompleted:
|
||||
description: "Tutorial abgeschlossen"
|
||||
_role:
|
||||
new: "Rolle erstellen"
|
||||
edit: "Rolle bearbeiten"
|
||||
|
@ -1532,9 +1482,7 @@ _role:
|
|||
assignTarget: "Zuweisungsart"
|
||||
descriptionOfAssignTarget: "<b>Manuell</b> bedeutet, dass die Liste der Benutzer einer Rolle manuell verwaltet wird.\n<b>Konditional</b> bedeutet, dass die Liste der Benutzer einer Rolle durch eine Bedingung automatisch verwaltet wird."
|
||||
manual: "Manuell"
|
||||
manualRoles: "Manuelle Rollen"
|
||||
conditional: "Konditional"
|
||||
conditionalRoles: "Bedingte Rolle"
|
||||
condition: "Bedingung"
|
||||
isConditionalRole: "Dies ist eine konditionale Rolle."
|
||||
isPublic: "Öffentliche Rolle"
|
||||
|
@ -1576,14 +1524,13 @@ _role:
|
|||
webhookMax: "Maximale Anzahl an Webhooks"
|
||||
clipMax: "Maximale Anzahl an Clips"
|
||||
noteEachClipsMax: "Maximale Anzahl an Notizen innerhalb eines Clips"
|
||||
userListMax: "Maximale Anzahl an Benutzerlisten"
|
||||
userEachUserListsMax: "Maximale Anzahl an Benutzern in einer Benutzerliste"
|
||||
userListMax: "Maximale Anzahl an Benutzern in einer Benutzerliste"
|
||||
userEachUserListsMax: "Maximale Anzahl an Benutzerlisten"
|
||||
rateLimitFactor: "Versuchsanzahl"
|
||||
descriptionOfRateLimitFactor: "Je niedriger desto weniger restriktiv, je höher destro restriktiver."
|
||||
canHideAds: "Kann Werbung ausblenden"
|
||||
canSearchNotes: "Nutzung der Notizsuchfunktion"
|
||||
canUseTranslator: "Verwendung des Übersetzers"
|
||||
avatarDecorationLimit: "Maximale Anzahl an Profilbilddekorationen, die angebracht werden können"
|
||||
_condition:
|
||||
isLocal: "Lokaler Benutzer"
|
||||
isRemote: "Benutzer fremder Instanz"
|
||||
|
@ -1612,7 +1559,6 @@ _emailUnavailable:
|
|||
disposable: "Wegwerf-Email-Adressen können nicht verwendet werden"
|
||||
mx: "Dieser Email-Server ist ungültig"
|
||||
smtp: "Dieser Email-Server antwortet nicht"
|
||||
banned: "Du kannst dich mit dieser E-Mail-Adresse nicht registrieren"
|
||||
_ffVisibility:
|
||||
public: "Öffentlich"
|
||||
followers: "Nur für Follower sichtbar"
|
||||
|
@ -1681,12 +1627,12 @@ _registry:
|
|||
domain: "Domain"
|
||||
createKey: "Schlüssel erstellen"
|
||||
_aboutMisskey:
|
||||
about: "eGirlskey ist Open-Source-Software basiert auf Misskey welche von syuilo seit 2014 entwickelt wird."
|
||||
about: "Sharkey ist Open-Source-Software basiert auf Misskey welche von syuilo seit 2014 entwickelt wird."
|
||||
contributors: "Hauptmitwirkende"
|
||||
allContributors: "Alle Mitwirkenden"
|
||||
source: "Quellcode"
|
||||
translation: "eGirlskey übersetzen"
|
||||
donate: "An eGirlskey spenden"
|
||||
translation: "Sharkey übersetzen"
|
||||
donate: "An Sharkey spenden"
|
||||
morePatrons: "Wir schätzen ebenso die Unterstützung vieler anderer hier nicht gelisteter Personen sehr. Danke! 🥰"
|
||||
patrons: "UnterstützerInnen"
|
||||
projectMembers: "Projektmitglieder"
|
||||
|
@ -1803,6 +1749,8 @@ _sfx:
|
|||
note: "Notizen"
|
||||
noteMy: "Meine Notizen"
|
||||
notification: "Benachrichtigungen"
|
||||
antenna: "Antennen"
|
||||
channel: "Kanalbenachrichtigung"
|
||||
_ago:
|
||||
future: "Zukunft"
|
||||
justNow: "Gerade eben"
|
||||
|
@ -1824,6 +1772,7 @@ _2fa:
|
|||
registerTOTP: "Authentifizierungs-App registrieren"
|
||||
step1: "Installiere zuerst eine Authentifizierungsapp (z.B. {a} oder {b}) auf deinem Gerät."
|
||||
step2: "Dann, scanne den angezeigten QR-Code mit deinem Gerät."
|
||||
step2Click: "Durch Klicken dieses QR-Codes kannst du Verifikation mit deinem Security-Token oder einer App registrieren."
|
||||
step2Uri: "Nutzt du ein Desktopprogramm, gib folgende URI eingeben"
|
||||
step3Title: "Authentifizierungsscode eingeben"
|
||||
step3: "Gib zum Abschluss den Code (Token) ein, der von deiner App angezeigt wird."
|
||||
|
@ -1938,7 +1887,6 @@ _widgets:
|
|||
_userList:
|
||||
chooseList: "Liste auswählen"
|
||||
clicker: "Klickzähler"
|
||||
birthdayFollowings: "Nutzer, die heute Geburtstag haben"
|
||||
_cw:
|
||||
hide: "Inhalt verbergen"
|
||||
show: "Inhalt anzeigen"
|
||||
|
@ -2004,7 +1952,6 @@ _profile:
|
|||
_exportOrImport:
|
||||
allNotes: "Alle Notizen"
|
||||
favoritedNotes: "Als Favorit markierte Notizen"
|
||||
clips: "Clip erstellen"
|
||||
followingList: "Gefolgte Benutzer"
|
||||
muteList: "Stummschaltungen"
|
||||
blockingList: "Blockierungen"
|
||||
|
@ -2194,6 +2141,7 @@ _webhookSettings:
|
|||
createWebhook: "Webhook erstellen"
|
||||
name: "Name"
|
||||
secret: "Secret"
|
||||
events: "Webhook-Ereignisse"
|
||||
active: "Aktiviert"
|
||||
_events:
|
||||
follow: "Wenn du jemandem folgst"
|
||||
|
@ -2203,10 +2151,6 @@ _webhookSettings:
|
|||
renote: "Wenn du ein Renote erhältst"
|
||||
reaction: "Wenn du eine Reaktion erhältst"
|
||||
mention: "Wenn du erwähnt wirst"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "Email"
|
||||
_moderationLogTypes:
|
||||
createRole: "Rolle erstellt"
|
||||
deleteRole: "Rolle gelöscht"
|
||||
|
@ -2290,9 +2234,3 @@ _externalResourceInstaller:
|
|||
_themeInstallFailed:
|
||||
title: "Das Farbschema konnte nicht installiert werden"
|
||||
description: "Während der Installation des Farbschemas ist ein Problem aufgetreten. Bitte versuche es erneut. Detaillierte Fehlerinformationen können über die Javascript-Konsole abgerufen werden."
|
||||
_reversi:
|
||||
blackOrWhite: "Schwarz/Weiß"
|
||||
rules: "Regeln"
|
||||
black: "Schwarz"
|
||||
white: "Weiß"
|
||||
total: "Gesamt"
|
||||
|
|
|
@ -301,6 +301,8 @@ _theme:
|
|||
_sfx:
|
||||
note: "Σημειώματα"
|
||||
notification: "Ειδοποιήσεις"
|
||||
antenna: "Αντένες"
|
||||
channel: "Ειδοποιήσεις καναλιών"
|
||||
_ago:
|
||||
future: "Μελλοντικό"
|
||||
justNow: "Μόλις τώρα"
|
||||
|
@ -354,7 +356,6 @@ _profile:
|
|||
username: "Όνομα μέλους"
|
||||
_exportOrImport:
|
||||
allNotes: "Όλα τα σημειώματα"
|
||||
clips: "Κλιπ"
|
||||
followingList: "Ακολουθεί"
|
||||
muteList: "Μέλη σε σίγαση"
|
||||
blockingList: "Μπλοκαρισμένα μέλη"
|
||||
|
@ -394,5 +395,3 @@ _webhookSettings:
|
|||
name: "Όνομα"
|
||||
_moderationLogTypes:
|
||||
suspend: "Αποβολή"
|
||||
_reversi:
|
||||
total: "Σύνολο"
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -11,7 +11,7 @@ password: "Contraseña"
|
|||
forgotPassword: "Olvidé mi contraseña"
|
||||
fetchingAsApObject: "Buscando en el fediverso"
|
||||
ok: "OK"
|
||||
gotIt: "¡Lo tengo!"
|
||||
gotIt: "Entendido"
|
||||
cancel: "Cancelar"
|
||||
noThankYou: "No gracias"
|
||||
enterUsername: "Introduce el nombre de usuario"
|
||||
|
@ -60,7 +60,6 @@ copyFileId: "Copiar ID del archivo"
|
|||
copyFolderId: "Copiar ID de carpeta"
|
||||
copyProfileUrl: "Copiar la URL del perfil"
|
||||
searchUser: "Buscar un usuario"
|
||||
searchThisUsersNotes: ""
|
||||
reply: "Responder"
|
||||
loadMore: "Ver más"
|
||||
showMore: "Ver más"
|
||||
|
@ -131,7 +130,6 @@ overwriteFromPinnedEmojis: "Sobreescribir los emojis fijados"
|
|||
reactionSettingDescription2: "Arrastre para reordenar, click para borrar, apriete la tecla + para añadir."
|
||||
rememberNoteVisibility: "Recordar visibilidad"
|
||||
attachCancel: "Quitar adjunto"
|
||||
deleteFile: "Archivo eliminado"
|
||||
markAsSensitive: "Marcar como sensible"
|
||||
unmarkAsSensitive: "Desmarcar como sensible"
|
||||
enterFileName: "Ingrese el nombre del archivo"
|
||||
|
@ -236,7 +234,7 @@ done: "Terminado"
|
|||
processing: "Procesando"
|
||||
preview: "Vista previa"
|
||||
default: "Predeterminado"
|
||||
defaultValueIs: "Por defecto: {value}"
|
||||
defaultValueIs: "Predeterminado"
|
||||
noCustomEmojis: "No hay emojis personalizados"
|
||||
noJobs: "No hay trabajos"
|
||||
federating: "Federando"
|
||||
|
@ -303,7 +301,7 @@ location: "Lugar"
|
|||
theme: "Tema"
|
||||
themeForLightMode: "Tema para usar en Modo Linterna"
|
||||
themeForDarkMode: "Tema para usar en Modo Oscuro"
|
||||
light: "Claro"
|
||||
light: "Linterna"
|
||||
dark: "Oscuro"
|
||||
lightThemes: "Tema claro"
|
||||
darkThemes: "Tema oscuro"
|
||||
|
@ -381,11 +379,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "Habilitar hCaptcha"
|
||||
hcaptchaSiteKey: "Clave del sitio"
|
||||
hcaptchaSecretKey: "Clave secreta"
|
||||
mcaptcha: "mCaptcha"
|
||||
enableMcaptcha: "Activar mCaptcha"
|
||||
mcaptchaSiteKey: "Clave del sitio"
|
||||
mcaptchaSecretKey: "Clave secreta"
|
||||
mcaptchaInstanceUrl: "URL del servidor mCaptcha"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "activar reCAPTCHA"
|
||||
recaptchaSiteKey: "Clave del sitio"
|
||||
|
@ -401,12 +394,11 @@ name: "Nombre"
|
|||
antennaSource: "Origen de la antena"
|
||||
antennaKeywords: "Palabras clave para recibir"
|
||||
antennaExcludeKeywords: "Palabras clave para excluir"
|
||||
antennaExcludeBots: "Excluir bots"
|
||||
antennaKeywordsDescription: "Separar con espacios es una declaración AND, separar con una linea nueva es una declaración OR"
|
||||
notifyAntenna: "Notificar nueva nota"
|
||||
withFileAntenna: "Sólo notas con archivos adjuntados"
|
||||
enableServiceworker: "Activar ServiceWorker"
|
||||
antennaUsersDescription: "Elegir nombres de usuarios separados por una linea nueva. Utilice \"*@instance.com\" para especificar todos los usuarios de una instancia."
|
||||
antennaUsersDescription: "Elegir nombres de usuarios separados por una linea nueva"
|
||||
caseSensitive: "Distinguir mayúsculas de minúsculas"
|
||||
withReplies: "Incluir respuestas"
|
||||
connectedTo: "Estas cuentas están conectadas"
|
||||
|
@ -496,7 +488,6 @@ emojiStyle: "Estilo de emoji"
|
|||
native: "Nativo"
|
||||
disableDrawer: "No mostrar los menús en cajones"
|
||||
showNoteActionsOnlyHover: "Mostrar acciones de la nota sólo al pasar el cursor"
|
||||
showReactionsCount: "Mostrar el número de reacciones en las notas"
|
||||
noHistory: "No hay datos en el historial"
|
||||
signinHistory: "Historial de ingresos"
|
||||
enableAdvancedMfm: "Habilitar MFM avanzado"
|
||||
|
@ -635,7 +626,6 @@ medium: "Mediano"
|
|||
small: "Pequeño"
|
||||
generateAccessToken: "Generar token de acceso"
|
||||
permission: "Permisos"
|
||||
adminPermission: "Permiso de administrador"
|
||||
enableAll: "Activar todo"
|
||||
disableAll: "Desactivar todo"
|
||||
tokenRequested: "Permiso de acceso a la cuenta"
|
||||
|
@ -679,7 +669,6 @@ useGlobalSettingDesc: "Al activarse, se usará la configuración de notificacion
|
|||
other: "Otro"
|
||||
regenerateLoginToken: "Regenerar token de login"
|
||||
regenerateLoginTokenDescription: "Regenerar el token usado internamente durante el login. No siempre es necesario hacerlo. Al hacerlo de nuevo, se deslogueará en todos los dispositivos."
|
||||
theKeywordWhenSearchingForCustomEmoji: "Palabra clave para buscar el emoji personalizado."
|
||||
setMultipleBySeparatingWithSpace: "Puedes añadir mas de uno, separado por espacios."
|
||||
fileIdOrUrl: "Id del archivo o URL"
|
||||
behavior: "Comportamiento"
|
||||
|
@ -868,7 +857,7 @@ whatIsNew: "Mostrar cambios"
|
|||
translate: "Traducir"
|
||||
translatedFrom: "Traducido de {x}"
|
||||
accountDeletionInProgress: "La eliminación de la cuenta está en curso"
|
||||
usernameInfo: "Un nombre que identifique su cuenta de otras en este servidor. Puede utilizar el alfabeto (a~z, A~Z), dígitos (0~9) o guiones bajos (_). Los nombres de usuario no se pueden cambiar posteriormente."
|
||||
usernameInfo: "Un nombre que identifique su cuenta de otras en este servidor. Puede utilizar el alfabeto (a~z, A~Z), dígitos (0~9) o guiones bajos (_). Los nombres de usuario no se pueden cambiar posteriormente."
|
||||
aiChanMode: "Modo Ai"
|
||||
devMode: "Modo de desarrollador"
|
||||
keepCw: "Mantener la advertencia de contenido"
|
||||
|
@ -994,7 +983,6 @@ neverShow: "No mostrar de nuevo"
|
|||
remindMeLater: "Recordar después"
|
||||
didYouLikeMisskey: "¿Te gusta Misskey?"
|
||||
pleaseDonate: "{host} usa el software gratuito Misskey. Por favor ¡Considera donar al proyecto principal para que podamos continuar!"
|
||||
correspondingSourceIsAvailable: "El código fuente correspondiente se encuentra disponible en {anchor}"
|
||||
roles: "Roles"
|
||||
role: "Rol"
|
||||
noRole: "Rol no encontrado"
|
||||
|
@ -1045,9 +1033,6 @@ resetPasswordConfirm: "¿Realmente quieres cambiar la contraseña?"
|
|||
sensitiveWords: "Palabras sensibles"
|
||||
sensitiveWordsDescription: "La visibilidad de todas las notas que contienen cualquiera de las palabras configuradas serán puestas en \"Inicio\" automáticamente. Puedes enumerás varias separándolas con saltos de línea"
|
||||
sensitiveWordsDescription2: "Si se usan espacios se crearán expresiones AND y las palabras subsecuentes con barras inclinadas se convertirán en expresiones regulares."
|
||||
prohibitedWords: "Palabras explícitas"
|
||||
prohibitedWordsDescription: "Activa un error cuando se intenta publicar una nota que contiene una o varias palabras prohibidas. Se pueden establecer varias palabras, una por línea."
|
||||
prohibitedWordsDescription2: "Si se usan espacios se crearán expresiones AND y las palabras subsecuentes con barras inclinadas se convertirán en expresiones regulares."
|
||||
hiddenTags: "Hashtags ocultos"
|
||||
hiddenTagsDescription: "Selecciona las etiquetas que no se mostrarán en tendencias. Una etiqueta por línea."
|
||||
notesSearchNotAvailable: "No se puede buscar una nota"
|
||||
|
@ -1066,8 +1051,6 @@ limitWidthOfReaction: "Limitar ancho de las reacciones"
|
|||
noteIdOrUrl: "ID o URL de la nota"
|
||||
video: "Video"
|
||||
videos: "Video"
|
||||
audio: "Sonido"
|
||||
audioFiles: "Sonido"
|
||||
dataSaver: "Ahorro de datos"
|
||||
accountMigration: "Migración de cuenta"
|
||||
accountMoved: "Este usuario se movió a una nueva cuenta:"
|
||||
|
@ -1163,7 +1146,6 @@ showRenotes: "Mostrar renotas"
|
|||
edited: "Editado"
|
||||
notificationRecieveConfig: "Ajustes de Notificaciones"
|
||||
mutualFollow: "Os seguís mutuamente"
|
||||
followingOrFollower: "Siguiendo o seguidor"
|
||||
fileAttachedOnly: "Solo notas con archivos"
|
||||
showRepliesToOthersInTimeline: "Mostrar respuestas a otros en la línea de tiempo"
|
||||
hideRepliesToOthersInTimeline: "Ocultar respuestas a otros en la línea de tiempo"
|
||||
|
@ -1172,13 +1154,6 @@ hideRepliesToOthersInTimelineAll: "Ocultar tus respuestas a otros usuarios que s
|
|||
confirmShowRepliesAll: "Esta operación es irreversible. ¿Confirmas que quieres mostrar tus respuestas a otros usuarios que sigues en tu línea de tiempo?"
|
||||
confirmHideRepliesAll: "Esta operación es irreversible. ¿Confirmas que quieres ocultar tus respuestas a otros usuarios que sigues en tu línea de tiempo?"
|
||||
externalServices: "Servicios Externos"
|
||||
sourceCode: "Código fuente"
|
||||
sourceCodeIsNotYetProvided: "El código fuente aún no está disponible. Contacta con el administrador para solucionarlo."
|
||||
repositoryUrl: "URL del repositorio"
|
||||
repositoryUrlDescription: "Si estás usando Misskey tal cual (sin cambios en el código fuente), entra en https://github.com/misskey-dev/misskey"
|
||||
repositoryUrlOrTarballRequired: "Si no has publicado un repositorio aún, deberás publicar un tarball en su lugar. Mira el archivo .config/example.yml para más información."
|
||||
feedback: "Comentarios"
|
||||
feedbackUrl: "URL de comentarios"
|
||||
impressum: "Impressum"
|
||||
impressumUrl: "Impressum URL"
|
||||
impressumDescription: "En algunos países, como Alemania, la inclusión del operador de datos (el Impressum) es requerido legalmente para sitios web comerciales."
|
||||
|
@ -1206,53 +1181,6 @@ remainingN: "Faltan: {n}"
|
|||
overwriteContentConfirm: "¿Quieres sustituir todo el contenido actual?"
|
||||
seasonalScreenEffect: "Efectos de pantalla asociados a estaciones"
|
||||
decorate: "Decorar"
|
||||
addMfmFunction: "Añadir función MFM"
|
||||
enableQuickAddMfmFunction: "Activar acceso rápido para añadir funciones MFM"
|
||||
bubbleGame: "Bubble Game"
|
||||
sfx: "Efectos de sonido"
|
||||
soundWillBePlayed: "Se reproducirán efectos sonoros"
|
||||
showReplay: "Ver reproducción"
|
||||
replay: "Reproducir"
|
||||
replaying: "Reproduciendo"
|
||||
endReplay: "Terminar reproducción"
|
||||
copyReplayData: "Copiar datos de reproducción"
|
||||
ranking: "Clasificación"
|
||||
lastNDays: "Últimos {n} días"
|
||||
backToTitle: "Regresar al inicio"
|
||||
hemisphere: "Región"
|
||||
withSensitive: "Mostrar notas que contengan material sensible"
|
||||
userSaysSomethingSensitive: "La publicación de {name} contiene material sensible"
|
||||
enableHorizontalSwipe: "Deslice para cambiar de pestaña"
|
||||
loading: "Cargando"
|
||||
surrender: "detener"
|
||||
gameRetry: "Reintentar"
|
||||
notUsePleaseLeaveBlank: "Dejar en blanco si no se usa"
|
||||
useTotp: "Introduce la contraseña de un solo uso"
|
||||
useBackupCode: "Usar códigos de respaldo"
|
||||
launchApp: "Ejecutar la app"
|
||||
useNativeUIForVideoAudioPlayer: "Usar la interfaz del navegador cuando se reproduce audio y vídeo"
|
||||
keepOriginalFilename: "Mantener el nombre original del archivo"
|
||||
noDescription: "No hay descripción"
|
||||
alwaysConfirmFollow: "Confirmar siempre cuando se sigue a alguien"
|
||||
_delivery:
|
||||
stop: "Suspendido"
|
||||
_type:
|
||||
none: "Publicando"
|
||||
_bubbleGame:
|
||||
howToPlay: "Cómo jugar"
|
||||
hold: "Mantener"
|
||||
_score:
|
||||
score: "Puntos"
|
||||
scoreYen: "Cantidad de dinero ganada"
|
||||
highScore: "Puntuación más alta"
|
||||
maxChain: "Número máximo de cadenas"
|
||||
yen: "{yen} Yenes"
|
||||
estimatedQty: "{qty} Piezas"
|
||||
scoreSweets: "{onigiriQtyWithUnit} Onigiris"
|
||||
_howToPlay:
|
||||
section1: "Ajuste la posición y deje caer el objeto en la caja"
|
||||
section2: "Cuando dos objetos del mismo tipo se tocan, cambian a otro tipo y consigues puntos"
|
||||
section3: "El juego termina cuando la caja se desborda de objetos. ¡Intenta conseguir una puntuación alta al juntar objetos mientras evitas desbordar la caja!"
|
||||
_announcement:
|
||||
forExistingUsers: "Solo para usuarios registrados"
|
||||
forExistingUsersDescription: "Este anuncio solo se mostrará a aquellos usuarios registrados en el momento de su publicación. Si se deshabilita esta opción, aquellos usuarios que se registren tras su publicación también lo verán."
|
||||
|
@ -1300,10 +1228,10 @@ _initialTutorial:
|
|||
_reaction:
|
||||
title: "¿Qué son las reacciones?"
|
||||
description: "Se puede reaccionar a las Notas con diferentes emojis. Las reacciones te permiten expresar matices que no se pueden transmitir con un simple 'me gusta'."
|
||||
letsTryReacting: "Puedes añadir reacciones pulsando en el botón '{reaction}' de la nota. ¡Intenta reaccionar a esta nota de ejemplo!"
|
||||
letsTryReacting: "Puedes añadir reacciones pulsando en el botón '+' de la nota. ¡Intenta reaccionar a esta nota de ejemplo!"
|
||||
reactToContinue: "Añade una reacción para continuar."
|
||||
reactNotification: "Recibirás notificaciones en tiempo real cuando alguien reaccione a tu nota."
|
||||
reactDone: "Puedes deshacer una reacción pulsando en el botón '{undo}'."
|
||||
reactDone: "Puedes deshacer una reacción pulsando en el botón '-'."
|
||||
_timeline:
|
||||
title: "El concepto de Línea de tiempo"
|
||||
description1: "Misskey proporciona múltiples líneas de tiempo basadas en su uso (algunas pueden no estar disponibles dependiendo de las políticas de la instancia)."
|
||||
|
@ -1366,7 +1294,7 @@ _serverSettings:
|
|||
_accountMigration:
|
||||
moveFrom: "Trasladar de otra cuenta a ésta"
|
||||
moveFromSub: "Crear un alias para otra cuenta."
|
||||
moveFromLabel: "Cuenta desde la que se realiza el traslado #{n}"
|
||||
moveFromLabel: "Cuenta desde la que se realiza el traslado:"
|
||||
moveFromDescription: "Si quieres transferir seguidores de otra cuenta a esta cuenta y trasladarlos, tendrás que crear un alias aquí. Asegúrate de crearlo antes de realizar el traslado. Introduce la cuenta desde la que estás moviendo los seguidores así: @person@instance.com"
|
||||
moveTo: "Mover esta cuenta a una nueva"
|
||||
moveToLabel: "Cuenta destino:"
|
||||
|
@ -1623,13 +1551,6 @@ _achievements:
|
|||
_tutorialCompleted:
|
||||
title: "Diploma del Curso Básico de Misskey"
|
||||
description: "Tutorial completado"
|
||||
_bubbleGameExplodingHead:
|
||||
title: "🤯"
|
||||
description: "El objeto más grande en el juego de burbujas"
|
||||
_bubbleGameDoubleExplodingHead:
|
||||
title: "Doble 🤯"
|
||||
description: "Dos de los objetos más grandes en el juego de burbujas al mismo tiempo"
|
||||
flavor: "Puedes llenar el bento un poco de esta forma 🤯 🤯."
|
||||
_role:
|
||||
new: "Crear rol"
|
||||
edit: "Editar rol"
|
||||
|
@ -1670,7 +1591,6 @@ _role:
|
|||
gtlAvailable: "Explorar la línea de tiempo global"
|
||||
ltlAvailable: "Explorar la línea de tiempo local"
|
||||
canPublicNote: "Permitir la publicación"
|
||||
mentionMax: "Número máximo de menciones en una nota"
|
||||
canInvite: "Puede crear códigos de invitación"
|
||||
inviteLimit: "Límite de invitaciones"
|
||||
inviteLimitCycle: "Enfriamiento del límite de invitaciones"
|
||||
|
@ -1694,13 +1614,8 @@ _role:
|
|||
canUseTranslator: "Uso de traductor"
|
||||
avatarDecorationLimit: "Número máximo de decoraciones de avatar"
|
||||
_condition:
|
||||
roleAssignedTo: "Asignado a roles manuales"
|
||||
isLocal: "Usuario local"
|
||||
isRemote: "Usuario remoto"
|
||||
isCat: "Usuarios Gato"
|
||||
isBot: "Usuarios Bot"
|
||||
isSuspended: "Usuario suspendido"
|
||||
isLocked: "Cuentas privadas"
|
||||
createdLessThan: "Menos de X han pasado desde la creación de la cuenta"
|
||||
createdMoreThan: "Más de X han pasado desde la creación de la cuenta"
|
||||
followersLessThanOrEq: "Tiene X o menos seguidores"
|
||||
|
@ -1770,7 +1685,6 @@ _plugin:
|
|||
installWarn: "Por favor no instale plugins que no son de confianza"
|
||||
manage: "Gestionar plugins"
|
||||
viewSource: "Ver la fuente"
|
||||
viewLog: "Ver log"
|
||||
_preferencesBackups:
|
||||
list: "Respaldos creados"
|
||||
saveNew: "Guardar nuevo respaldo"
|
||||
|
@ -1800,8 +1714,6 @@ _aboutMisskey:
|
|||
contributors: "Principales colaboradores"
|
||||
allContributors: "Todos los colaboradores"
|
||||
source: "Código fuente"
|
||||
original: "Original"
|
||||
thisIsModifiedVersion: "{name} usa una versión modificada de Misskey."
|
||||
translation: "Traducir Misskey"
|
||||
donate: "Donar a Misskey"
|
||||
morePatrons: "Muchas más personas nos apoyan. Muchas gracias🥰"
|
||||
|
@ -1921,6 +1833,8 @@ _sfx:
|
|||
note: "Notas"
|
||||
noteMy: "Nota (a mí mismo)"
|
||||
notification: "Notificaciones"
|
||||
antenna: "Antena receptora"
|
||||
channel: "Notificaciones del canal"
|
||||
reaction: "Al seleccionar una reacción"
|
||||
_soundSettings:
|
||||
driveFile: "Usar un archivo de audio en Drive"
|
||||
|
@ -1958,6 +1872,7 @@ _2fa:
|
|||
registerTOTP: "Registrar aplicación autenticadora"
|
||||
step1: "Primero, instale en su dispositivo la aplicación de autenticación {a} o {b} u otra."
|
||||
step2: "Luego, escanee con la aplicación el código QR mostrado en pantalla."
|
||||
step2Click: "Clicking on this QR code will allow you to register 2FA to your security key or phone authenticator app.\nTocar este código QR te permitirá registrar la autenticación 2FA a tu llave de seguridad o aplicación autenticadora."
|
||||
step2Uri: "Si usas una aplicación de escritorio, introduce en ella la siguiente URL."
|
||||
step3Title: "Ingresa un código de autenticación"
|
||||
step3: "Para terminar, ingrese el token mostrado en la aplicación."
|
||||
|
@ -1981,7 +1896,6 @@ _2fa:
|
|||
backupCodesDescription: "En caso de que no puedas usar tu aplicación de autenticación, podrás usar los códigos de respaldo que figuran abajo para acceder a tu cuenta. Asegúrate de guardar en lugar seguro los códigos de respaldo. Cada uno de los códigos de respaldo es de un solo uso."
|
||||
backupCodeUsedWarning: "Has usado todos los códigos de respaldo. Si dejas de tener acceso a tu aplicación de autenticación, no podrás volver a iniciar sesión en tu cuenta. Por favor, reconfigura tu aplicación de autenticación lo antes posible."
|
||||
backupCodesExhaustedWarning: "Has usado todos los códigos de respaldo. Si dejas de tener acceso a tu aplicación de autenticación, no podrás volver a iniciar sesión en la cuenta que figura arriba. Por favor, reconfigura tu aplicación de autenticación lo antes posible."
|
||||
moreDetailedGuideHere: "Guía detallada"
|
||||
_permissions:
|
||||
"read:account": "Ver información de la cuenta"
|
||||
"write:account": "Editar información de la cuenta"
|
||||
|
@ -2019,54 +1933,6 @@ _permissions:
|
|||
"write:flash": "Editar Plays"
|
||||
"read:flash-likes": "Ver los Play que me gustan"
|
||||
"write:flash-likes": "Editar lista de Play que me gustan"
|
||||
"read:admin:abuse-user-reports": "Ver reportes de usuarios"
|
||||
"write:admin:delete-account": "Eliminar cuentas de usuario"
|
||||
"write:admin:delete-all-files-of-a-user": "Eliminar todos los archivos de un usuario"
|
||||
"read:admin:index-stats": "Ver datos indexados"
|
||||
"read:admin:table-stats": "Ver estadísticas de las tablas de la base de datos"
|
||||
"read:admin:user-ips": "Ver dirección IP de usuario"
|
||||
"read:admin:meta": "Ver metadatos de la instancia"
|
||||
"write:admin:reset-password": "Restablecer contraseñas de usuario"
|
||||
"write:admin:resolve-abuse-user-report": "Resolución de reportes de usuario"
|
||||
"write:admin:send-email": "Enviar email"
|
||||
"read:admin:server-info": "Ver información del servidor"
|
||||
"read:admin:show-moderation-log": "Ver log de moderación"
|
||||
"read:admin:show-user": "Ver información privada de usuario"
|
||||
"write:admin:suspend-user": "Suspender cuentas de usuario"
|
||||
"write:admin:unset-user-avatar": "Quitar avatares de usuario"
|
||||
"write:admin:unset-user-banner": "Quitar banner de usuarios"
|
||||
"write:admin:unsuspend-user": "Quitar suspensión de cuentas de usuario"
|
||||
"write:admin:meta": "Edición de metadatos de la instancia"
|
||||
"write:admin:user-note": "Moderación de notas"
|
||||
"write:admin:roles": "Edición de roles de usuario"
|
||||
"read:admin:roles": "Ver roles de usuario"
|
||||
"write:admin:relays": "Edición de relays"
|
||||
"read:admin:relays": "Ver relays"
|
||||
"write:admin:invite-codes": "Edición de códigos de invitación"
|
||||
"read:admin:invite-codes": "Ver códigos de invitación"
|
||||
"write:admin:announcements": "Edición de anuncios"
|
||||
"read:admin:announcements": "Ver anuncios"
|
||||
"write:admin:avatar-decorations": "Edición de decoración de avatares"
|
||||
"read:admin:avatar-decorations": "Ver decoraciones de avatar"
|
||||
"write:admin:federation": "Edición de federación de instancias"
|
||||
"write:admin:account": "Edición de cuentas de usuario"
|
||||
"read:admin:account": "Ver cuentas de usuario"
|
||||
"write:admin:emoji": "Edición de emojis"
|
||||
"read:admin:emoji": "Ver emojis"
|
||||
"write:admin:queue": "Edición de cola de tareas"
|
||||
"read:admin:queue": "Ver cola de tareas"
|
||||
"write:admin:promo": "Edición de promociones"
|
||||
"write:admin:drive": "Edición de Drive de usuarios"
|
||||
"read:admin:drive": "Ver Drive de usuarios"
|
||||
"read:admin:stream": "Usar la API de Websocket para administradores"
|
||||
"write:admin:ad": "Edición de anuncios"
|
||||
"read:admin:ad": "Ver anuncios"
|
||||
"write:invite-codes": "Crear códigos de invitación"
|
||||
"read:invite-codes": "Ver códigos de invitación"
|
||||
"write:clip-favorite": "Marcar me gusta en clips"
|
||||
"read:clip-favorite": "Ver los clips que me gustan"
|
||||
"read:federation": "Ver instancias federadas"
|
||||
"write:report-abuse": "Crear reportes de usuario"
|
||||
_auth:
|
||||
shareAccessTitle: "Permisos de la aplicación"
|
||||
shareAccess: "¿Desea permitir el acceso a la cuenta \"{name}\"?"
|
||||
|
@ -2189,7 +2055,6 @@ _profile:
|
|||
_exportOrImport:
|
||||
allNotes: "Todas las notas"
|
||||
favoritedNotes: "Notas favoritas"
|
||||
clips: "Clip"
|
||||
followingList: "Siguiendo"
|
||||
muteList: "Silenciados"
|
||||
blockingList: "Bloqueados"
|
||||
|
@ -2243,7 +2108,6 @@ _play:
|
|||
title: "Título"
|
||||
script: "Script"
|
||||
summary: "Descripción"
|
||||
visibilityDescription: "Poniéndola como privada significa que no será visible en tu perfil, pero cualquiera que tenga la URL aún podrá acceder a ella."
|
||||
_pages:
|
||||
newPage: "Crear página"
|
||||
editPage: "Editar página"
|
||||
|
@ -2288,8 +2152,6 @@ _pages:
|
|||
section: "Sección"
|
||||
image: "Imagen"
|
||||
button: "Botón"
|
||||
dynamic: "Bloques Dinámicos"
|
||||
dynamicDescription: "Los bloques dinámicos están obsoletos. A partir de ahora, utiliza {play} por favor."
|
||||
note: "Nota embebida"
|
||||
_note:
|
||||
id: "Id de la nota"
|
||||
|
@ -2355,7 +2217,7 @@ _deck:
|
|||
newProfile: "Nuevo perfil"
|
||||
deleteProfile: "Eliminar perfil"
|
||||
introduction: "¡Crea la interfaz perfecta para tí organizando las columnas libremente!"
|
||||
introduction2: "Presiona en la + de la derecha de la pantalla para añadir nuevas columnas donde quieras."
|
||||
introduction2: "Presiona en la + de la derecha de la pantalla para añadir nuevas columnas donde quieras."
|
||||
widgetsIntroduction: "Por favor selecciona \"Editar Widgets\" en el menú columna y agrega un widget."
|
||||
useSimpleUiForNonRootPages: "Mostrar páginas no pertenecientes a la raíz con la interfaz simple"
|
||||
usedAsMinWidthWhenFlexible: "Se usará el ancho mínimo cuando la opción \"Autoajustar ancho\" esté habilitada"
|
||||
|
@ -2384,6 +2246,7 @@ _webhookSettings:
|
|||
createWebhook: "Crear Webhook"
|
||||
name: "Nombre"
|
||||
secret: "Secreto"
|
||||
events: "Eventos de webhook"
|
||||
active: "Activado"
|
||||
_events:
|
||||
follow: "Cuando se sigue a alguien"
|
||||
|
@ -2393,10 +2256,6 @@ _webhookSettings:
|
|||
renote: "Cuando reciba un \"re-note\""
|
||||
reaction: "Cuando se recibe una reacción"
|
||||
mention: "Cuando hay una mención"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "Correo"
|
||||
_moderationLogTypes:
|
||||
createRole: "Rol creado"
|
||||
deleteRole: "Rol eliminado"
|
||||
|
@ -2495,18 +2354,3 @@ _dataSaver:
|
|||
_code:
|
||||
title: "Resaltar código"
|
||||
description: "Si se usa resaltado de código en MFM, etc., no se cargará hasta pulsar en ello. El resaltado de sintaxis requiere la descarga de archivos de definición para cada lenguaje de programación. Debido a esto, al deshabilitar la carga automática de estos archivos reducirás el consumo de datos."
|
||||
_hemisphere:
|
||||
N: "Hemisferio norte"
|
||||
S: "Hemisferio sur"
|
||||
_reversi:
|
||||
reversi: "Reversi"
|
||||
won: "{name} ha ganado"
|
||||
total: "Total"
|
||||
_urlPreviewSetting:
|
||||
timeout: "Timeout de la carga de vista previa de las URLs (ms)"
|
||||
maximumContentLength: "Content-Length Máximo (bytes)"
|
||||
userAgent: "User-Agent"
|
||||
_mediaControls:
|
||||
pip: "Picture in Picture"
|
||||
playbackRate: "Velocidad de reproducción"
|
||||
loop: "Reproducción en bucle"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
_lang_: "Français"
|
||||
headlineMisskey: "Réseau relié par des notes"
|
||||
introMisskey: "Bienvenue ! Misskey est un service de microblogage décentralisé, libre et ouvert.\nÉcrivez des « notes » et partagez ce qui se passe à l’instant présent, autour de vous avec les autres 📡\nLa fonction « réactions », vous permet également d’ajouter une réaction rapide aux notes des autres utilisateur·rice·s 👍\nExplorons un nouveau monde 🚀"
|
||||
poweredByMisskeyDescription: "{name} est l'un des services propulsés par la plateforme ouverte <b>Misskey</b> (appelée \"instance Misskey\")."
|
||||
poweredByMisskeyDescription: "{nom} est l'un des services propulsés par la plateforme ouverte <b>Misskey</b> (appelée \"instance Misskey\")."
|
||||
monthAndDay: "{day}/{month}"
|
||||
search: "Rechercher"
|
||||
notifications: "Notifications"
|
||||
|
@ -129,8 +129,7 @@ overwriteFromPinnedEmojisForReaction: "Remplacer par les émojis épinglés pour
|
|||
overwriteFromPinnedEmojis: "Remplacer par les émojis épinglés globalement"
|
||||
reactionSettingDescription2: "Déplacer pour réorganiser, cliquer pour effacer, utiliser « + » pour ajouter."
|
||||
rememberNoteVisibility: "Se souvenir de la visibilité des notes"
|
||||
attachCancel: "Supprimer le fichier joint"
|
||||
deleteFile: "Fichier supprimé"
|
||||
attachCancel: "Supprimer le fichier attaché"
|
||||
markAsSensitive: "Marquer comme sensible"
|
||||
unmarkAsSensitive: "Supprimer le marquage comme sensible"
|
||||
enterFileName: "Entrer le nom du fichier"
|
||||
|
@ -169,7 +168,7 @@ cacheRemoteSensitiveFilesDescription: "Si vous désactivez ce paramètre, les fi
|
|||
flagAsBot: "Ce compte est un robot"
|
||||
flagAsBotDescription: "Si ce compte est géré de manière automatisée, choisissez cette option. Si elle est activée, elle agira comme un marqueur pour les autres développeurs afin d'éviter des chaînes d'interaction sans fin avec d'autres robots et d'ajuster les systèmes internes de Misskey pour traiter ce compte comme un robot."
|
||||
flagAsCat: "Ce compte est un chat"
|
||||
flagAsCatDescription: "Miaou miaou miaou ?"
|
||||
flagAsCatDescription: "Activer l'option \" Je suis un chat \" pour ce compte."
|
||||
flagShowTimelineReplies: "Afficher les réponses dans le fil"
|
||||
flagShowTimelineRepliesDescription: "Affiche les réponses des utilisateurs aux notes des autres utilisateurs dans la timeline si cette option est activée."
|
||||
autoAcceptFollowed: "Accepter automatiquement les demandes d’abonnement venant d’utilisateur·rice·s que vous suivez"
|
||||
|
@ -380,11 +379,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "Activer hCaptcha"
|
||||
hcaptchaSiteKey: "Clé du site"
|
||||
hcaptchaSecretKey: "Clé secrète"
|
||||
mcaptcha: "mCaptcha"
|
||||
enableMcaptcha: "Activer mCaptcha"
|
||||
mcaptchaSiteKey: "Clé du site"
|
||||
mcaptchaSecretKey: "Clé secrète"
|
||||
mcaptchaInstanceUrl: "URL de l'instance de mCaptcha"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Activer reCAPTCHA"
|
||||
recaptchaSiteKey: "Clé du site"
|
||||
|
@ -400,10 +394,9 @@ name: "Nom"
|
|||
antennaSource: "Source de l’antenne"
|
||||
antennaKeywords: "Mots clés à recevoir"
|
||||
antennaExcludeKeywords: "Mots clés à exclure"
|
||||
antennaExcludeBots: "Exclure les comptes robot"
|
||||
antennaKeywordsDescription: "Séparer avec des espaces pour la condition AND. Séparer avec un saut de ligne pour une condition OR."
|
||||
notifyAntenna: "Me notifier pour les nouvelles notes"
|
||||
withFileAntenna: "Notes ayant des fichiers joints uniquement"
|
||||
withFileAntenna: "Notes ayant des attachements uniquement"
|
||||
enableServiceworker: "Activer ServiceWorker"
|
||||
antennaUsersDescription: "Saisissez un seul nom d’utilisateur·rice par ligne"
|
||||
caseSensitive: "Sensible à la casse"
|
||||
|
@ -495,7 +488,6 @@ emojiStyle: "Style des émojis"
|
|||
native: "Natif"
|
||||
disableDrawer: "Les menus ne s'affichent pas dans le tiroir"
|
||||
showNoteActionsOnlyHover: "Afficher les actions de note uniquement au survol"
|
||||
showReactionsCount: "Afficher le nombre de réactions des notes"
|
||||
noHistory: "Pas d'historique"
|
||||
signinHistory: "Historique de connexion"
|
||||
enableAdvancedMfm: "Activer la MFM avancée"
|
||||
|
@ -528,7 +520,7 @@ hideThisNote: "Masquer cette note"
|
|||
showFeaturedNotesInTimeline: "Afficher les notes des Tendances dans le fil d'actualité"
|
||||
objectStorage: "Stockage d'objets"
|
||||
useObjectStorage: "Utiliser le stockage d'objets"
|
||||
objectStorageBaseUrl: "URL de base"
|
||||
objectStorageBaseUrl: "Base URL"
|
||||
objectStorageBaseUrlDesc: "Préfixe d’URL utilisé pour construire l’URL vers le référencement d’objet (média). Spécifiez son URL si vous utilisez un CDN ou un proxy, sinon spécifiez l’adresse accessible au public selon le guide de service que vous allez utiliser. P.ex. 'https://<bucket>.s3.amazonaws.com' pour AWS S3 et 'https://storage.googleapis.com/<bucket>' pour GCS."
|
||||
objectStorageBucket: "Bucket"
|
||||
objectStorageBucketDesc: "Veuillez spécifier le nom du compartiment utilisé sur le service configuré."
|
||||
|
@ -543,7 +535,6 @@ objectStorageUseSSLDesc: "Désactivez cette option si vous n'utilisez pas HTTPS
|
|||
objectStorageUseProxy: "Se connecter via proxy"
|
||||
objectStorageUseProxyDesc: "Désactivez cette option si vous n'utilisez pas de proxy pour la connexion API"
|
||||
objectStorageSetPublicRead: "Régler sur « public » lors de l'envoi"
|
||||
s3ForcePathStyleDesc: "Si s3ForcePathStyle est activé, le nom du compartiment doit être spécifié comme une partie du chemin de l'URL plutôt que le nom d'hôte. Il faudra peut-être l'activer lors de l'utilisation d'une instance de Minio autohébergée, etc."
|
||||
serverLogs: "Journal du serveur"
|
||||
deleteAll: "Supprimer tout"
|
||||
showFixedPostForm: "Afficher le formulaire de publication en haut du fil d'actualité"
|
||||
|
@ -634,7 +625,6 @@ medium: "Moyen"
|
|||
small: "Petit"
|
||||
generateAccessToken: "Générer un jeton d'accès"
|
||||
permission: "Autorisations "
|
||||
adminPermission: "Droits de l'administrateur"
|
||||
enableAll: "Tout activer"
|
||||
disableAll: "Tout désactiver"
|
||||
tokenRequested: "Autoriser l'accès au compte"
|
||||
|
@ -658,7 +648,7 @@ testEmail: "Tester la distribution de courriel"
|
|||
wordMute: "Filtre de mots"
|
||||
hardWordMute: "Filtre de mots dur"
|
||||
regexpError: "Erreur d’expression régulière"
|
||||
regexpErrorDescription: "Une erreur s'est produite dans l'expression régulière sur la ligne {line} de votre mot muet {tab} :"
|
||||
regexpErrorDescription: "Une erreur s'est produite dans l'expression régulière sur la ligne {ligne} de votre mot muet {tab} :"
|
||||
instanceMute: "Instance en sourdine"
|
||||
userSaysSomething: "{name} a dit quelque chose"
|
||||
makeActive: "Activer"
|
||||
|
@ -678,7 +668,6 @@ useGlobalSettingDesc: "S'il est activé, les paramètres de notification de votr
|
|||
other: "Autre"
|
||||
regenerateLoginToken: "Régénérer le jeton de connexion"
|
||||
regenerateLoginTokenDescription: "Générer un nouveau jeton d'authentification. Cette opération ne devrait pas être nécessaire ; lors de la génération d'un nouveau jeton, tous les appareils seront déconnectés. "
|
||||
theKeywordWhenSearchingForCustomEmoji: "Ce mot-clé est utilisé lors de la recherche des émojis personnalisés."
|
||||
setMultipleBySeparatingWithSpace: "Vous pouvez en définir plusieurs, en les séparant par des espaces."
|
||||
fileIdOrUrl: "ID du fichier ou URL"
|
||||
behavior: "Comportement"
|
||||
|
@ -707,7 +696,7 @@ system: "Système"
|
|||
switchUi: "Modifier l'interface utilisateur"
|
||||
desktop: "Bureau"
|
||||
clip: "Clip"
|
||||
createNew: "Créer"
|
||||
createNew: "Créer nouveau"
|
||||
optional: "Facultatif"
|
||||
createNewClip: "Créer un nouveau clip"
|
||||
unclip: "Supprimer le clip"
|
||||
|
@ -993,7 +982,6 @@ neverShow: "Ne plus afficher"
|
|||
remindMeLater: "Peut-être plus tard"
|
||||
didYouLikeMisskey: "Avez-vous aimé Misskey ?"
|
||||
pleaseDonate: "Misskey est le logiciel libre utilisé par {host}. Merci de faire un don pour que nous puissions continuer à le développer !"
|
||||
correspondingSourceIsAvailable: "Le code source correspondant est disponible à {anchor}"
|
||||
roles: "Rôles"
|
||||
role: "Rôles"
|
||||
noRole: "Aucun rôle"
|
||||
|
@ -1008,7 +996,6 @@ youCannotCreateAnymore: "Vous avez atteint la limite de création."
|
|||
cannotPerformTemporary: "Temporairement indisponible"
|
||||
cannotPerformTemporaryDescription: "Temporairement indisponible puisque le nombre d'opérations dépasse la limite. Veuillez patienter un peu, puis réessayer."
|
||||
invalidParamError: "Paramètres invalides"
|
||||
invalidParamErrorDescription: "Les paramètres de la requête sont invalides. Il s'agit généralement d'un bogue, mais cela peut aussi être causé par un excès de caractères ou quelque chose de similaire."
|
||||
permissionDeniedError: "Opération refusée"
|
||||
permissionDeniedErrorDescription: "Ce compte n'a pas la permission d'effectuer cette opération."
|
||||
preset: "Préréglage"
|
||||
|
@ -1022,7 +1009,6 @@ thisPostMayBeAnnoyingCancel: "Annuler"
|
|||
thisPostMayBeAnnoyingIgnore: "Publier quand-même"
|
||||
collapseRenotes: "Réduire les renotes déjà vues"
|
||||
internalServerError: "Erreur interne du serveur"
|
||||
internalServerErrorDescription: "Une erreur inattendue s'est produite sur le serveur."
|
||||
copyErrorInfo: "Copier les détails de l’erreur"
|
||||
joinThisServer: "S'inscrire à cette instance"
|
||||
exploreOtherServers: "Trouver une autre instance"
|
||||
|
@ -1042,20 +1028,12 @@ nonSensitiveOnlyForLocalLikeOnlyForRemote: "Non sensibles seulement (mentions j'
|
|||
rolesAssignedToMe: "Rôles attribués à moi"
|
||||
resetPasswordConfirm: "Souhaitez-vous réinitialiser votre mot de passe ?"
|
||||
sensitiveWords: "Mots sensibles"
|
||||
sensitiveWordsDescription: "Définir la visibilité des notes contenant un mot défini ici au fil principal automatiquement. Vous pouvez définir plusieurs valeurs en les séparant par des sauts de ligne."
|
||||
sensitiveWordsDescription2: "Séparer par une espace pour créer une expression AND ; entourer de barres obliques pour créer une expression régulière."
|
||||
prohibitedWords: "Mots interdits"
|
||||
prohibitedWordsDescription: "Publier une note contenant un mot défini ici produira une erreur. Vous pouvez définir plusieurs valeurs en les séparant par des sauts de ligne."
|
||||
prohibitedWordsDescription2: "Séparer par une espace pour créer une expression AND ; entourer de barres obliques pour créer une expression régulière."
|
||||
hiddenTags: "Hashtags cachés"
|
||||
hiddenTagsDescription: "Les hashtags définis ne s'afficheront pas dans les tendances. Vous pouvez définir plusieurs hashtags en faisant un saut de ligne."
|
||||
notesSearchNotAvailable: "La recherche de notes n'est pas disponible."
|
||||
license: "Licence"
|
||||
unfavoriteConfirm: "Vraiment supprimer des favoris ?"
|
||||
myClips: "Mes clips"
|
||||
drivecleaner: "Nettoyeur du Disque"
|
||||
retryAllQueuesNow: "Réessayer tous les fils d'attente immédiatement"
|
||||
retryAllQueuesConfirmTitle: "Vraiment réessayer ?"
|
||||
retryAllQueuesConfirmText: "Cela peut augmenter temporairement la charge du serveur."
|
||||
enableChartsForRemoteUser: "Générer les graphiques pour les utilisateurs distants"
|
||||
enableChartsForFederatedInstances: "Générer les graphiques pour les instances distantes"
|
||||
|
@ -1065,8 +1043,6 @@ limitWidthOfReaction: "Limiter la largeur maximale des réactions et les affiche
|
|||
noteIdOrUrl: "Identifiant de la note ou URL"
|
||||
video: "Vidéo"
|
||||
videos: "Vidéos"
|
||||
audio: "Audio"
|
||||
audioFiles: "Fichiers audio"
|
||||
dataSaver: "Économiseur de données"
|
||||
accountMigration: "Migration de compte"
|
||||
accountMoved: "Cet·te utilisateur·rice a migré son compte vers :"
|
||||
|
@ -1091,13 +1067,9 @@ pleaseConfirmBelowBeforeSignup: "Pour vous inscrire sur cette instance, vous dev
|
|||
pleaseAgreeAllToContinue: "Pour continuer, veuillez accepter tous les champs ci-dessus."
|
||||
continue: "Continuer"
|
||||
preservedUsernames: "Noms d'utilisateur·rice réservés"
|
||||
preservedUsernamesDescription: "Énumérez les noms d'utilisateur à réserver, séparés par des nouvelles lignes. Les noms d'utilisateur spécifiés ici ne seront plus utilisables lors de la création d'un compte, sauf la création manuelle par un administrateur. De plus, les comptes existants ne seront pas affectés."
|
||||
createNoteFromTheFile: "Rédiger une note de ce fichier"
|
||||
archive: "Archive"
|
||||
archived: "Archivé"
|
||||
unarchive: "Annuler l'archivage"
|
||||
channelArchiveConfirmTitle: "Voulez-vous vraiment archiver {name} ?"
|
||||
channelArchiveConfirmDescription: "Une fois archivé, le canal n'apparaîtra plus dans la liste des canaux ni dans les résultats de recherche, et la publication des nouvelles notes sera impossible."
|
||||
thisChannelArchived: "Ce canal a été archivé."
|
||||
displayOfNote: "Affichage de la note"
|
||||
initialAccountSetting: "Configuration initiale du profil"
|
||||
|
@ -1109,29 +1081,12 @@ specifyUser: "Spécifier l'utilisateur·rice"
|
|||
failedToPreviewUrl: "Aperçu d'URL échoué"
|
||||
update: "Mettre à jour"
|
||||
rolesThatCanBeUsedThisEmojiAsReaction: "Rôles qui peuvent utiliser cet émoji comme réaction"
|
||||
rolesThatCanBeUsedThisEmojiAsReactionEmptyDescription: "Si aucun rôle n'est spécifié, tout le monde peut utiliser cet émoji comme réaction."
|
||||
rolesThatCanBeUsedThisEmojiAsReactionPublicRoleWarn: "Il faut un rôle public."
|
||||
cancelReactionConfirm: "Supprimez la réaction ?"
|
||||
changeReactionConfirm: "Changer la réaction ?"
|
||||
later: "Plus tard"
|
||||
goToMisskey: "Retour vers Misskey"
|
||||
additionalEmojiDictionary: "Dictionnaires d'émojis additionnels"
|
||||
installed: "Installé"
|
||||
branding: "Image de marque"
|
||||
enableServerMachineStats: "Publier les statistiques du matériel du serveur"
|
||||
enableIdenticonGeneration: "Générer les identicons des utilisateurs"
|
||||
turnOffToImprovePerformance: "Désactiver peut améliorer la performance."
|
||||
createInviteCode: "Créer un code d'invitation"
|
||||
createWithOptions: "Options"
|
||||
createCount: "Quantité à créer"
|
||||
inviteCodeCreated: "Code d'invitation créé"
|
||||
inviteLimitExceeded: "Vous avez atteint la limite de codes d'invitation que vous pouvez générer."
|
||||
createLimitRemaining: "Codes d'invitation pouvant être créés : {limit} restants"
|
||||
inviteLimitResetCycle: "Vous pouvez créer jusqu'à {limit} codes d'invitation en {time}."
|
||||
expirationDate: "Date d’expiration"
|
||||
noExpirationDate: "Ne pas expirer"
|
||||
inviteCodeUsedAt: "Code d'invitation utilisé à"
|
||||
registeredUserUsingInviteCode: "Code d'invitation utilisé par"
|
||||
waitingForMailAuth: "En attente de la vérification de l'adresse courriel"
|
||||
inviteCodeCreator: "Créateur·rice de ce code d'invitation"
|
||||
usedAt: "Utilisé le"
|
||||
|
@ -1140,23 +1095,17 @@ used: "Utilisé"
|
|||
expired: "Expiré"
|
||||
doYouAgree: "Êtes-vous d’accord ?"
|
||||
beSureToReadThisAsItIsImportant: "Assurez-vous de le lire ; c'est important."
|
||||
iHaveReadXCarefullyAndAgree: "J'ai lu le contenu de « {x} » et donne mon accord."
|
||||
dialog: "Dialogue"
|
||||
icon: "Avatar"
|
||||
forYou: "Pour vous"
|
||||
currentAnnouncements: "Annonces actuelles"
|
||||
pastAnnouncements: "Annonces passées"
|
||||
youHaveUnreadAnnouncements: "Il y a des annonces non lues."
|
||||
useSecurityKey: "Suivez les instructions de votre navigateur ou de votre appareil pour utiliser une clé de sécurité ou une clé d'accès."
|
||||
replies: "Réponses"
|
||||
renotes: "Renotes"
|
||||
loadReplies: "Inclure les réponses"
|
||||
loadConversation: "Afficher la conversation"
|
||||
pinnedList: "Liste épinglée"
|
||||
keepScreenOn: "Garder l'écran toujours allumé"
|
||||
verifiedLink: "Votre propriété de ce lien a été vérifiée"
|
||||
notifyNotes: "Notifier à propos des nouvelles notes"
|
||||
unnotifyNotes: "Ne pas notifier pour la publication des notes"
|
||||
authentication: "Authentification"
|
||||
authenticationRequiredToContinue: "Veuillez vous authentifier pour continuer"
|
||||
dateAndTime: "Date et heure"
|
||||
|
@ -1164,8 +1113,6 @@ showRenotes: "Afficher les renotes"
|
|||
edited: "Modifié"
|
||||
notificationRecieveConfig: "Paramètres des notifications"
|
||||
mutualFollow: "Abonnement mutuel"
|
||||
followingOrFollower: "Abonnement ou abonné"
|
||||
fileAttachedOnly: "Avec fichiers joints seulement"
|
||||
showRepliesToOthersInTimeline: "Afficher les réponses aux autres dans le fil"
|
||||
hideRepliesToOthersInTimeline: "Masquer les réponses aux autres dans le fil"
|
||||
showRepliesToOthersInTimelineAll: "Afficher les réponses de toutes les personnes que vous suivez dans le fil"
|
||||
|
@ -1173,12 +1120,6 @@ hideRepliesToOthersInTimelineAll: "Masquer les réponses de toutes les personnes
|
|||
confirmShowRepliesAll: "Cette opération est irréversible. Voulez-vous vraiment afficher les réponses de toutes les personnes que vous suivez dans le fil ?"
|
||||
confirmHideRepliesAll: "Cette opération est irréversible. Voulez-vous vraiment masquer les réponses de toutes les personnes que vous suivez dans le fil ?"
|
||||
externalServices: "Services externes"
|
||||
sourceCode: "Code source"
|
||||
sourceCodeIsNotYetProvided: "Le code source n'est pas encore disponible. Veuillez signaler ce problème aux administrateurs."
|
||||
repositoryUrl: "URL du dépôt"
|
||||
repositoryUrlDescription: "Entrez l'URL du dépôt où se trouve le code source ici. Si vous utilisez Misskey tel quel (sans changer le code source), entrez https://github.com/misskey-dev/misskey"
|
||||
feedback: "Commentaires"
|
||||
feedbackUrl: "URL pour les commentaires"
|
||||
impressum: "Impressum"
|
||||
impressumUrl: "URL de l'impressum"
|
||||
impressumDescription: "Dans certains pays comme l'Allemagne, il est obligatoire d'afficher les informations sur l'opérateur d'un site (un impressum)."
|
||||
|
@ -1206,63 +1147,17 @@ remainingN: "Restants : {n}"
|
|||
overwriteContentConfirm: "Voulez-vous remplacer le contenu actuel ?"
|
||||
seasonalScreenEffect: "Effet d'écran saisonnier"
|
||||
decorate: "Décorer"
|
||||
addMfmFunction: "Insérer MFM"
|
||||
enableQuickAddMfmFunction: "Afficher le sélecteur de MFM avancé"
|
||||
bubbleGame: "Jeu de bulles"
|
||||
sfx: "Effets sonores"
|
||||
soundWillBePlayed: "Le son sera joué"
|
||||
showReplay: "Voir le replay"
|
||||
replay: "Rediffusion"
|
||||
replaying: "En cours de rediffusion"
|
||||
endReplay: "Arrêter la rediffusion"
|
||||
copyReplayData: "Copier les données de la rediffusion"
|
||||
ranking: "Classement"
|
||||
lastNDays: "Derniers {n} jours"
|
||||
backToTitle: "Retourner au titre"
|
||||
hemisphere: "Votre région"
|
||||
withSensitive: "Afficher les notes contenant des fichiers joints sensibles"
|
||||
userSaysSomethingSensitive: "Note de {name} contenant des fichiers joints sensibles"
|
||||
enableHorizontalSwipe: "Glisser pour changer d'onglet"
|
||||
loading: "Chargement en cours"
|
||||
surrender: "Annuler"
|
||||
gameRetry: "Réessayer"
|
||||
launchApp: "Lancer l'app"
|
||||
inquiry: "Contact"
|
||||
_delivery:
|
||||
status: "Statut de la diffusion"
|
||||
stop: "Suspendu·e"
|
||||
_type:
|
||||
none: "Publié"
|
||||
_bubbleGame:
|
||||
howToPlay: "Comment jouer"
|
||||
hold: "Réserver"
|
||||
_score:
|
||||
score: "Score"
|
||||
scoreYen: "Montant gagné"
|
||||
highScore: "Meilleur score"
|
||||
maxChain: "Nombre maximum de chaînes"
|
||||
yen: "{yen} yens"
|
||||
estimatedQty: "{qty} pièces"
|
||||
_announcement:
|
||||
forExistingUsers: "Pour les utilisateurs existants seulement"
|
||||
needConfirmationToRead: "Exiger la confirmation de la lecture"
|
||||
needConfirmationToReadDescription: "Si activé, afficher un dialogue de confirmation quand l'annonce est marquée comme lue. Aussi, elle sera exclue de « marquer tout comme lu » ."
|
||||
end: "Archiver l'annonce"
|
||||
tooManyActiveAnnouncementDescription: "Un grand nombre d'annonces actives peut baisser l'expérience utilisateur. Considérez d'archiver les annonces obsolètes."
|
||||
readConfirmTitle: "Marquer comme lu ?"
|
||||
readConfirmText: "Cela marquera le contenu de « {title} » comme lu."
|
||||
shouldNotBeUsedToPresentPermanentInfo: "Puisque cela pourrait nuire considérablement à l'expérience utilisateur pour les nouveaux utilisateurs, il est recommandé d'utiliser les annonces pour afficher des informations temporaires plutôt que des informations persistantes."
|
||||
dialogAnnouncementUxWarn: "Avoir deux ou plus annonces de style dialogue en même temps pourrait nuire considérablement à l'expérience utilisateur. Veuillez les utiliser avec caution."
|
||||
silence: "Ne pas me notifier"
|
||||
silenceDescription: "Si activée, vous ne recevrez pas de notifications sur les annonces et n'aurez pas besoin de les marquer comme lues."
|
||||
_initialAccountSetting:
|
||||
accountCreated: "Votre compte a été créé avec succès !"
|
||||
letsStartAccountSetup: "Procédons au réglage initial du compte."
|
||||
letsFillYourProfile: "Commençons par configurer votre profil !"
|
||||
profileSetting: "Paramètres du profil"
|
||||
privacySetting: "Paramètres de confidentialité"
|
||||
initialAccountSettingCompleted: "Configuration du profil terminée avec succès !"
|
||||
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 {nom}(Misskey) ou vous arrêter ici et commencer à l'utiliser immédiatement."
|
||||
startTutorial: "Démarrer le tutoriel"
|
||||
skipAreYouSure: "Désirez-vous ignorer la configuration du profil ?"
|
||||
_initialTutorial:
|
||||
|
@ -1283,10 +1178,10 @@ _initialTutorial:
|
|||
_reaction:
|
||||
title: "Qu'est-ce que les réactions ?"
|
||||
description: "Vous pouvez ajouter des « réactions » aux notes. Les réactions vous permettent d'exprimer à l'aise des nuances qui ne peuvent pas être exprimées par des mentions j'aime."
|
||||
letsTryReacting: "Des réactions peuvent être ajoutées en cliquant sur le bouton « {reaction} » de la note. Essayez d'ajouter une réaction à cet exemple de note !"
|
||||
letsTryReacting: "Des réactions peuvent être ajoutées en cliquant sur le bouton « + » de la note. Essayez d'ajouter une réaction à cet exemple de note !"
|
||||
reactToContinue: "Ajoutez une réaction pour procéder."
|
||||
reactNotification: "Vous recevez des notifications en temps réel lorsque quelqu'un réagit à votre note."
|
||||
reactDone: "Vous pouvez annuler la réaction en cliquant sur le bouton « {undo} » ."
|
||||
reactDone: "Vous pouvez annuler la réaction en cliquant sur le bouton « - » ."
|
||||
_timeline:
|
||||
title: "Fonctionnement des fils"
|
||||
description1: "Misskey offre plusieurs fils selon l'usage (certains peuvent être désactivés par le serveur)."
|
||||
|
@ -1326,7 +1221,7 @@ _initialTutorial:
|
|||
doItToContinue: "Marquez le fichier joint comme sensible pour procéder."
|
||||
_done:
|
||||
title: "Le tutoriel est terminé ! 🎉"
|
||||
description: "Les fonctionnalités introduites ici ne sont que quelques-unes. Pour savoir plus sur l'utilisation de Misskey, veuillez consulter {link}."
|
||||
description: "Les fonctionnalités introduites ici ne sont que quelques-unes. Pour savoir plus sur l'utilisation de Misskey, veuillez consulter {lien}."
|
||||
_timelineDescription:
|
||||
home: "Sur le fil principal, vous pouvez voir les notes des utilisateurs auxquels vous êtes abonné·e."
|
||||
local: "Sur le fil local, vous pouvez voir les notes de tous les utilisateurs sur cette instance."
|
||||
|
@ -1347,7 +1242,6 @@ _accountMigration:
|
|||
startMigration: "Migrer"
|
||||
movedTo: "Compte vers lequel vous migrez :"
|
||||
_achievements:
|
||||
earnedAt: "Date d'obtention"
|
||||
_types:
|
||||
_notes1:
|
||||
title: "Je viens tout juste de configurer mon shonk"
|
||||
|
@ -1388,13 +1282,10 @@ _achievements:
|
|||
title: "Régulier III"
|
||||
description: "Se connecter pour un total de 400 jours"
|
||||
_login500:
|
||||
title: "Expert I"
|
||||
description: "Se connecter pour un total de 500 jours"
|
||||
_login600:
|
||||
title: "Expert II"
|
||||
description: "Se connecter pour un total de 600 jours"
|
||||
_login700:
|
||||
title: "Expert III"
|
||||
description: "Se connecter pour un total de 700 jours"
|
||||
_login800:
|
||||
description: "Se connecter pour un total de 800 jours"
|
||||
|
@ -1487,14 +1378,11 @@ _role:
|
|||
edit: "Modifier le rôle"
|
||||
name: "Nom du rôle"
|
||||
description: "Description du rôle"
|
||||
permission: "Autorisations du rôle"
|
||||
permission: "Rôle et autorisations"
|
||||
assignTarget: "Attribuer"
|
||||
manual: "Manuel"
|
||||
manualRoles: "Rôles manuels"
|
||||
conditional: "Conditionnel"
|
||||
conditionalRoles: "Rôles conditionnels"
|
||||
condition: "Condition"
|
||||
isConditionalRole: "Ceci est un rôle conditionnel."
|
||||
isPublic: "Rôle public"
|
||||
options: "Options"
|
||||
policies: "Stratégies"
|
||||
|
@ -1717,6 +1605,8 @@ _sfx:
|
|||
note: "Nouvelle note"
|
||||
noteMy: "Ma note"
|
||||
notification: "Notifications"
|
||||
antenna: "Réception de l’antenne"
|
||||
channel: "Notifications de canal"
|
||||
reaction: "Lors de la sélection de la réaction"
|
||||
_soundSettings:
|
||||
driveFile: "Utiliser un effet sonore sur le Disque"
|
||||
|
@ -1909,7 +1799,6 @@ _profile:
|
|||
avatarDecorationMax: "Vous pouvez mettre au plus {max} décorations d'avatar."
|
||||
_exportOrImport:
|
||||
allNotes: "Toutes les notes"
|
||||
clips: "Clip"
|
||||
followingList: "Abonnements"
|
||||
muteList: "Comptes masqués"
|
||||
blockingList: "Comptes bloqués"
|
||||
|
@ -2020,7 +1909,7 @@ _notification:
|
|||
unreadAntennaNote: "Antenne {name}"
|
||||
roleAssigned: "Rôle attribué"
|
||||
emptyPushNotificationMessage: "Les notifications push ont été mises à jour"
|
||||
achievementEarned: "Accomplissement déverrouillé"
|
||||
achievementEarned: "Accomplissement"
|
||||
testNotification: "Tester la notification"
|
||||
reactedBySomeUsers: "{n} utilisateur·rice·s ont réagi"
|
||||
renotedBySomeUsers: "{n} utilisateur·rice·s ont renoté"
|
||||
|
@ -2037,7 +1926,7 @@ _notification:
|
|||
receiveFollowRequest: "Demande d'abonnement reçue"
|
||||
followRequestAccepted: "Demande d'abonnement acceptée"
|
||||
roleAssigned: "Rôle reçu"
|
||||
achievementEarned: "Déverrouillage d'accomplissement"
|
||||
achievementEarned: "Accomplissement"
|
||||
app: "Notifications provenant des apps"
|
||||
_actions:
|
||||
followBack: "Suivre"
|
||||
|
@ -2076,10 +1965,6 @@ _drivecleaner:
|
|||
_webhookSettings:
|
||||
name: "Nom"
|
||||
active: "Activé"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "E-mail "
|
||||
_moderationLogTypes:
|
||||
createRole: "Rôle créé"
|
||||
deleteRole: "Rôle supprimé"
|
||||
|
@ -2178,6 +2063,3 @@ _dataSaver:
|
|||
_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."
|
||||
_reversi:
|
||||
waitingBoth: "Préparez-vous"
|
||||
total: "Total"
|
||||
|
|
|
@ -6,179 +6,54 @@ import ts from 'typescript';
|
|||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
// braces preceded by backslashes are literal, they don't represent
|
||||
// parameters; they get cleaned up by `locales/index.js` before
|
||||
// getting shipped to the browser
|
||||
const parameterRegExp = /(?<!\\)\{(\w+)\}/g;
|
||||
|
||||
function createMemberType(item) {
|
||||
if (typeof item !== 'string') {
|
||||
return ts.factory.createTypeLiteralNode(createMembers(item));
|
||||
}
|
||||
const parameters = Array.from(
|
||||
item.matchAll(parameterRegExp),
|
||||
([, parameter]) => parameter,
|
||||
);
|
||||
return parameters.length
|
||||
? ts.factory.createTypeReferenceNode(
|
||||
ts.factory.createIdentifier('ParameterizedString'),
|
||||
[
|
||||
ts.factory.createUnionTypeNode(
|
||||
parameters.map((parameter) =>
|
||||
ts.factory.createStringLiteral(parameter),
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
: ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword);
|
||||
}
|
||||
|
||||
function createMembers(record) {
|
||||
return Object.entries(record).map(([k, v]) => {
|
||||
const node = ts.factory.createPropertySignature(
|
||||
return Object.entries(record)
|
||||
.map(([k, v]) => ts.factory.createPropertySignature(
|
||||
undefined,
|
||||
ts.factory.createStringLiteral(k),
|
||||
undefined,
|
||||
createMemberType(v),
|
||||
);
|
||||
if (typeof v === 'string') {
|
||||
ts.addSyntheticLeadingComment(
|
||||
node,
|
||||
ts.SyntaxKind.MultiLineCommentTrivia,
|
||||
`*
|
||||
* ${v.replace(/\n/g, '\n * ')}
|
||||
`,
|
||||
true,
|
||||
);
|
||||
}
|
||||
return node;
|
||||
});
|
||||
typeof v === 'string'
|
||||
? ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword)
|
||||
: ts.factory.createTypeLiteralNode(createMembers(v)),
|
||||
));
|
||||
}
|
||||
|
||||
export default function generateDTS() {
|
||||
const locale = yaml.load(fs.readFileSync(`${__dirname}/ja-JP.yml`, 'utf-8'));
|
||||
const members = createMembers(locale);
|
||||
const elements = [
|
||||
ts.factory.createVariableStatement(
|
||||
[ts.factory.createToken(ts.SyntaxKind.DeclareKeyword)],
|
||||
ts.factory.createVariableDeclarationList(
|
||||
[
|
||||
ts.factory.createVariableDeclaration(
|
||||
ts.factory.createIdentifier('kParameters'),
|
||||
undefined,
|
||||
ts.factory.createTypeOperatorNode(
|
||||
ts.SyntaxKind.UniqueKeyword,
|
||||
ts.factory.createKeywordTypeNode(ts.SyntaxKind.SymbolKeyword),
|
||||
),
|
||||
undefined,
|
||||
),
|
||||
],
|
||||
ts.NodeFlags.Const,
|
||||
),
|
||||
),
|
||||
ts.factory.createInterfaceDeclaration(
|
||||
[ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
|
||||
ts.factory.createIdentifier('ParameterizedString'),
|
||||
[
|
||||
ts.factory.createTypeParameterDeclaration(
|
||||
undefined,
|
||||
ts.factory.createIdentifier('T'),
|
||||
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
|
||||
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
|
||||
),
|
||||
],
|
||||
undefined,
|
||||
[
|
||||
ts.factory.createPropertySignature(
|
||||
undefined,
|
||||
ts.factory.createComputedPropertyName(
|
||||
ts.factory.createIdentifier('kParameters'),
|
||||
),
|
||||
undefined,
|
||||
ts.factory.createTypeReferenceNode(
|
||||
ts.factory.createIdentifier('T'),
|
||||
undefined,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
ts.factory.createInterfaceDeclaration(
|
||||
[ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
|
||||
ts.factory.createIdentifier('ILocale'),
|
||||
undefined,
|
||||
undefined,
|
||||
[
|
||||
ts.factory.createIndexSignature(
|
||||
undefined,
|
||||
[
|
||||
ts.factory.createParameterDeclaration(
|
||||
undefined,
|
||||
undefined,
|
||||
ts.factory.createIdentifier('_'),
|
||||
undefined,
|
||||
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
|
||||
undefined,
|
||||
),
|
||||
],
|
||||
ts.factory.createUnionTypeNode([
|
||||
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
|
||||
ts.factory.createTypeReferenceNode(
|
||||
ts.factory.createIdentifier('ParameterizedString'),
|
||||
),
|
||||
ts.factory.createTypeReferenceNode(
|
||||
ts.factory.createIdentifier('ILocale'),
|
||||
undefined,
|
||||
),
|
||||
]),
|
||||
),
|
||||
],
|
||||
),
|
||||
ts.factory.createInterfaceDeclaration(
|
||||
[ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
|
||||
ts.factory.createIdentifier('Locale'),
|
||||
undefined,
|
||||
[
|
||||
ts.factory.createHeritageClause(ts.SyntaxKind.ExtendsKeyword, [
|
||||
ts.factory.createExpressionWithTypeArguments(
|
||||
ts.factory.createIdentifier('ILocale'),
|
||||
undefined,
|
||||
),
|
||||
]),
|
||||
],
|
||||
undefined,
|
||||
members,
|
||||
),
|
||||
ts.factory.createVariableStatement(
|
||||
[ts.factory.createToken(ts.SyntaxKind.DeclareKeyword)],
|
||||
ts.factory.createVariableDeclarationList(
|
||||
[
|
||||
ts.factory.createVariableDeclaration(
|
||||
ts.factory.createIdentifier('locales'),
|
||||
[ts.factory.createVariableDeclaration(
|
||||
ts.factory.createIdentifier('locales'),
|
||||
undefined,
|
||||
ts.factory.createTypeLiteralNode([ts.factory.createIndexSignature(
|
||||
undefined,
|
||||
ts.factory.createTypeLiteralNode([
|
||||
ts.factory.createIndexSignature(
|
||||
undefined,
|
||||
[
|
||||
ts.factory.createParameterDeclaration(
|
||||
undefined,
|
||||
undefined,
|
||||
ts.factory.createIdentifier('lang'),
|
||||
undefined,
|
||||
ts.factory.createKeywordTypeNode(
|
||||
ts.SyntaxKind.StringKeyword,
|
||||
),
|
||||
undefined,
|
||||
),
|
||||
],
|
||||
ts.factory.createTypeReferenceNode(
|
||||
ts.factory.createIdentifier('Locale'),
|
||||
undefined,
|
||||
),
|
||||
),
|
||||
]),
|
||||
undefined,
|
||||
),
|
||||
],
|
||||
ts.NodeFlags.Const,
|
||||
[ts.factory.createParameterDeclaration(
|
||||
undefined,
|
||||
undefined,
|
||||
ts.factory.createIdentifier('lang'),
|
||||
undefined,
|
||||
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
|
||||
undefined,
|
||||
)],
|
||||
ts.factory.createTypeReferenceNode(
|
||||
ts.factory.createIdentifier('Locale'),
|
||||
undefined,
|
||||
),
|
||||
)]),
|
||||
undefined,
|
||||
)],
|
||||
ts.NodeFlags.Const | ts.NodeFlags.Ambient | ts.NodeFlags.ContextFlags,
|
||||
),
|
||||
),
|
||||
ts.factory.createFunctionDeclaration(
|
||||
|
@ -195,39 +70,16 @@ export default function generateDTS() {
|
|||
),
|
||||
ts.factory.createExportDefault(ts.factory.createIdentifier('locales')),
|
||||
];
|
||||
ts.addSyntheticLeadingComment(
|
||||
elements[0],
|
||||
ts.SyntaxKind.MultiLineCommentTrivia,
|
||||
' eslint-disable ',
|
||||
true,
|
||||
const printed = ts.createPrinter({
|
||||
newLine: ts.NewLineKind.LineFeed,
|
||||
}).printList(
|
||||
ts.ListFormat.MultiLine,
|
||||
ts.factory.createNodeArray(elements),
|
||||
ts.createSourceFile('index.d.ts', '', ts.ScriptTarget.ESNext, true, ts.ScriptKind.TS),
|
||||
);
|
||||
ts.addSyntheticLeadingComment(
|
||||
elements[0],
|
||||
ts.SyntaxKind.SingleLineCommentTrivia,
|
||||
' This file is generated by locales/generateDTS.js',
|
||||
true,
|
||||
);
|
||||
ts.addSyntheticLeadingComment(
|
||||
elements[0],
|
||||
ts.SyntaxKind.SingleLineCommentTrivia,
|
||||
' Do not edit this file directly.',
|
||||
true,
|
||||
);
|
||||
const printed = ts
|
||||
.createPrinter({
|
||||
newLine: ts.NewLineKind.LineFeed,
|
||||
})
|
||||
.printList(
|
||||
ts.ListFormat.MultiLine,
|
||||
ts.factory.createNodeArray(elements),
|
||||
ts.createSourceFile(
|
||||
'index.d.ts',
|
||||
'',
|
||||
ts.ScriptTarget.ESNext,
|
||||
true,
|
||||
ts.ScriptKind.TS,
|
||||
),
|
||||
);
|
||||
|
||||
fs.writeFileSync(`${__dirname}/index.d.ts`, printed, 'utf-8');
|
||||
fs.writeFileSync(`${__dirname}/index.d.ts`, `/* eslint-disable */
|
||||
// This file is generated by locales/generateDTS.js
|
||||
// Do not edit this file directly.
|
||||
${printed}`, 'utf-8');
|
||||
}
|
||||
|
|
|
@ -81,7 +81,7 @@ exportRequested: "Kamu telah meminta ekspor. Ini akan memakan waktu sesaat. Sete
|
|||
importRequested: "Kamu telah meminta impor. Ini akan memakan waktu sesaat."
|
||||
lists: "Daftar"
|
||||
noLists: "Kamu tidak memiliki daftar apapun"
|
||||
note: "Catatan"
|
||||
note: "Catat"
|
||||
notes: "Catatan"
|
||||
following: "Ikuti"
|
||||
followers: "Pengikut"
|
||||
|
@ -108,14 +108,11 @@ enterEmoji: "Masukkan emoji"
|
|||
renote: "Renote"
|
||||
unrenote: "Hapus renote"
|
||||
renoted: "Telah direnote"
|
||||
renotedToX: "{name} telah merenote"
|
||||
cantRenote: "Postingan ini tidak dapat direnote"
|
||||
cantReRenote: "Renote tidak dapat direnote"
|
||||
quote: "Kutip"
|
||||
inChannelRenote: "Hanya renote dalam kanal"
|
||||
inChannelQuote: "Hanya kutip dalam kanal"
|
||||
renoteToChannel: "Renote ke kanal"
|
||||
renoteToOtherChannel: "Renote ke kanal lainnya"
|
||||
pinnedNote: "Catatan yang disematkan"
|
||||
pinned: "Sematkan ke profil"
|
||||
you: "Kamu"
|
||||
|
@ -128,12 +125,9 @@ emojiPicker: "Emoji Picker"
|
|||
pinnedEmojisForReactionSettingDescription: "Atur sematan emoji pada reaksi"
|
||||
pinnedEmojisSettingDescription: "Atur sematan emoji pada masukan emoji"
|
||||
emojiPickerDisplay: "Tampilan Emoji Picker"
|
||||
overwriteFromPinnedEmojisForReaction: "Timpa dari pengaturan reaksi"
|
||||
overwriteFromPinnedEmojis: "Timpa dari pengaturan umum"
|
||||
reactionSettingDescription2: "Geser untuk memindah urutan emoji, klik untuk menghapus, tekan \"+\" untuk menambahkan"
|
||||
rememberNoteVisibility: "Ingat pengaturan visibilitas catatan"
|
||||
attachCancel: "Hapus lampiran"
|
||||
deleteFile: "Berkas dihapus"
|
||||
markAsSensitive: "Tandai sebagai konten sensitif"
|
||||
unmarkAsSensitive: "Hapus tanda konten sensitif"
|
||||
enterFileName: "Masukkan nama berkas"
|
||||
|
@ -180,10 +174,6 @@ addAccount: "Tambahkan akun"
|
|||
reloadAccountsList: "Muat ulang daftar akun"
|
||||
loginFailed: "Gagal untuk masuk"
|
||||
showOnRemote: "Lihat profil asli"
|
||||
continueOnRemote: "Lihat di peladen asal"
|
||||
chooseServerOnMisskeyHub: "Pilih peladen dari Misskey Hub"
|
||||
specifyServerHost: "Tentukan domain peladen"
|
||||
inputHostName: "Masukkan nama domain"
|
||||
general: "Umum"
|
||||
wallpaper: "Wallpaper"
|
||||
setWallpaper: "Atur wallpaper"
|
||||
|
@ -320,7 +310,6 @@ selectFile: "Pilih berkas"
|
|||
selectFiles: "Pilih berkas"
|
||||
selectFolder: "Pilih folder"
|
||||
selectFolders: "Pilih folder"
|
||||
fileNotSelected: "Tidak ada file yang dipilih"
|
||||
renameFile: "Ubah nama berkas"
|
||||
folderName: "Nama folder"
|
||||
createFolder: "Buat folder"
|
||||
|
@ -388,11 +377,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "Nyalakan hCaptcha"
|
||||
hcaptchaSiteKey: "Site Key"
|
||||
hcaptchaSecretKey: "Secret Key"
|
||||
mcaptcha: "mCaptcha"
|
||||
enableMcaptcha: "Nyalakan mCaptcha"
|
||||
mcaptchaSiteKey: "Site key"
|
||||
mcaptchaSecretKey: "Secret Key"
|
||||
mcaptchaInstanceUrl: "URL instansi mCaptcha"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Nyalakan reCAPTCHA"
|
||||
recaptchaSiteKey: "Site key"
|
||||
|
@ -408,7 +392,6 @@ name: "Nama"
|
|||
antennaSource: "Sumber Antenna"
|
||||
antennaKeywords: "Kata kunci yang diterima"
|
||||
antennaExcludeKeywords: "Kata kunci yang dikecualikan"
|
||||
antennaExcludeBots: "Kecualikan akun bot"
|
||||
antennaKeywordsDescription: "Pisahkan dengan spasi untuk kondisi AND. Pisahkan dengan baris baru untuk kondisi OR."
|
||||
notifyAntenna: "Beritahu untuk catatan baru"
|
||||
withFileAntenna: "Hanya tampilkan catatan dengan berkas yang dilampirkan"
|
||||
|
@ -476,7 +459,6 @@ retype: "Masukkan ulang"
|
|||
noteOf: "Catatan milik {user}"
|
||||
quoteAttached: "Dikutip"
|
||||
quoteQuestion: "Apakah kamu ingin menambahkan kutipan?"
|
||||
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"
|
||||
|
@ -504,7 +486,6 @@ emojiStyle: "Gaya emoji"
|
|||
native: "Native"
|
||||
disableDrawer: "Jangan gunakan menu bergaya laci"
|
||||
showNoteActionsOnlyHover: "Hanya tampilkan aksi catatan saat ditunjuk"
|
||||
showReactionsCount: "Lihat jumlah reaksi dalam catatan"
|
||||
noHistory: "Tidak ada riwayat"
|
||||
signinHistory: "Riwayat masuk"
|
||||
enableAdvancedMfm: "Nyalakan MFM tingkat lanjut"
|
||||
|
@ -584,7 +565,7 @@ sort: "Urutkan"
|
|||
ascendingOrder: "Urutkan naik"
|
||||
descendingOrder: "Urutkan menurun"
|
||||
scratchpad: "Scratchpad"
|
||||
scratchpadDescription: "Scratchpad menyediakan lingkungan eksperimen untuk AiScript. Kamu bisa menulis, mengeksuksi, serta mengecek hasil yang berinteraksi dengan Misskey."
|
||||
scratchpadDescription: "Scratchpad menyediakan lingkungan eksperimen untuk AiScript. Kamu bisa menulis, mengeksuksi, serta mengecek hasil yang berinteraksi dengan Misskey."
|
||||
output: "Keluaran"
|
||||
script: "Script"
|
||||
disablePagesScript: "Nonaktifkan script pada halaman"
|
||||
|
@ -643,7 +624,6 @@ medium: "Sedang"
|
|||
small: "Kecil"
|
||||
generateAccessToken: "Buat token akses"
|
||||
permission: "Izin"
|
||||
adminPermission: "Wewenang Izin Admin"
|
||||
enableAll: "Aktifkan semua"
|
||||
disableAll: "Nonaktifkan semua"
|
||||
tokenRequested: "Berikan ijin akses ke akun"
|
||||
|
@ -687,7 +667,6 @@ useGlobalSettingDesc: "Jika dinyalakan, setelan notifikasi akun kamu akan diguna
|
|||
other: "Lainnya"
|
||||
regenerateLoginToken: "Perbarui token login"
|
||||
regenerateLoginTokenDescription: "Perbarui token yang digunakan secara internal saat login. Normalnya aksi ini tidak diperlukan. Jika diperbarui, semua perangkat akan dilogout."
|
||||
theKeywordWhenSearchingForCustomEmoji: "Kata kunci ini digunakan untuk mencari emoji kustom yang dicari."
|
||||
setMultipleBySeparatingWithSpace: "Kamu dapat menyetel banyak dengan memisahkannya menggunakan spasi."
|
||||
fileIdOrUrl: "File-ID atau URL"
|
||||
behavior: "Perilaku"
|
||||
|
@ -900,8 +879,6 @@ makeReactionsPublicDescription: "Pengaturan ini akan membuat daftar dari semua r
|
|||
classic: "Klasik"
|
||||
muteThread: "Bisukan thread"
|
||||
unmuteThread: "Suarakan thread"
|
||||
followingVisibility: "Visibilitas mengikuti"
|
||||
followersVisibility: "Visibilitas pengikut"
|
||||
continueThread: "Lihat lanjutan thread"
|
||||
deleteAccountConfirm: "Akun akan dihapus. Apakah kamu yakin?"
|
||||
incorrectPassword: "Kata sandi salah."
|
||||
|
@ -1002,7 +979,6 @@ neverShow: "Jangan tampilkan lagi"
|
|||
remindMeLater: "Mungkin nanti"
|
||||
didYouLikeMisskey: "Apakah kamu mulai menyukai Misskey?"
|
||||
pleaseDonate: "{host} menggunakan perangkat lunak bebas yaitu Misskey. Kami sangat mengapresiasi sekali donasi dari kamu agar pengembangan Misskey tetap dapat berlanjut!"
|
||||
correspondingSourceIsAvailable: "Sumber kode terkait tersedia di {anchor}"
|
||||
roles: "Peran"
|
||||
role: "Peran"
|
||||
noRole: "Peran tidak temukan"
|
||||
|
@ -1053,9 +1029,6 @@ resetPasswordConfirm: "Yakin untuk mereset kata sandimu?"
|
|||
sensitiveWords: "Kata sensitif"
|
||||
sensitiveWordsDescription: "Visibilitas dari semua catatan mengandung kata yang telah diatur akan dijadikan \"Beranda\" secara otomatis. Kamu dapat mendaftarkan kata tersebut lebih dari satu dengan menuliskannya di baris baru."
|
||||
sensitiveWordsDescription2: "Menggunakan spasi akan membuat ekspresi AND dan kata kunci disekitarnya dengan garis miring akan mengubahnya menjadi ekspresi reguler."
|
||||
prohibitedWords: "Kata yang dilarang"
|
||||
prohibitedWordsDescription: "Menyalakan kesalahan ketika mencoba untuk memposting catatan dengan set kata-kata yang termasuk. Beberapa kata dapat diatur dan dipisahkan dengan baris baru."
|
||||
prohibitedWordsDescription2: "Menggunakan spasi akan membuat ekspresi AND dan kata kunci disekitarnya dengan garis miring akan mengubahnya menjadi ekspresi reguler."
|
||||
hiddenTags: "Tagar tersembunyi"
|
||||
hiddenTagsDescription: "Pilih tanda yang mana akan tidak diperlihatkan dalam daftar tren.\nTanda lebih dari satu dapat didaftarkan dengan tiap baris."
|
||||
notesSearchNotAvailable: "Pencarian catatan tidak tersedia."
|
||||
|
@ -1074,8 +1047,6 @@ limitWidthOfReaction: "Batasi lebar maksimum reaksi dan tampilkan dalam ukuran t
|
|||
noteIdOrUrl: "ID catatan atau URL"
|
||||
video: "Video"
|
||||
videos: "Video"
|
||||
audio: "Suara"
|
||||
audioFiles: "Berkas Suara"
|
||||
dataSaver: "Penghemat data"
|
||||
accountMigration: "Pemindahan akun"
|
||||
accountMoved: "Pengguna ini telah berpindah ke akun baru:"
|
||||
|
@ -1171,7 +1142,6 @@ showRenotes: "Tampilkan renote"
|
|||
edited: "Telah disunting"
|
||||
notificationRecieveConfig: "Pengaturan notifikasi"
|
||||
mutualFollow: "Saling mengikuti"
|
||||
followingOrFollower: "Mengikuti atau pengikut"
|
||||
fileAttachedOnly: "Hanya catatan dengan berkas"
|
||||
showRepliesToOthersInTimeline: "Tampilkan balasan ke pengguna lain dalam lini masa"
|
||||
hideRepliesToOthersInTimeline: "Sembunyikan balasan ke orang lain dari lini masa"
|
||||
|
@ -1180,13 +1150,6 @@ hideRepliesToOthersInTimelineAll: "Sembuyikan balasan ke lainnya dari semua oran
|
|||
confirmShowRepliesAll: "Operasi ini tidak dapat diubah. Apakah kamu yakin untuk menampilkan balasan ke lainnya dari semua orang yang kamu ikuti di lini masa?"
|
||||
confirmHideRepliesAll: "Operasi ini tidak dapat diubah. Apakah kamu yakin untuk menyembunyikan balasan ke lainnya dari semua orang yang kamu ikuti di lini masa?"
|
||||
externalServices: "Layanan eksternal"
|
||||
sourceCode: "Sumber kode"
|
||||
sourceCodeIsNotYetProvided: "Sumber kode belum tersedia. Hubungi admin untuk memperbaiki masalah ini."
|
||||
repositoryUrl: "URL Repositori"
|
||||
repositoryUrlDescription: "Jika kamu menggunakan Misskey begitu saja (tanpa ada perubahan dalam kode sumber), masukkan https://github.com/misskey-dev/misskey"
|
||||
repositoryUrlOrTarballRequired: "Apabila kamu masih mempublikasikan repositori, kamu setidaknya harus menyediakan berkas tarball. Lihat .config/example.yml untuk informasi lebih lanjut."
|
||||
feedback: "Umpan balik"
|
||||
feedbackUrl: "URL Umpan balik"
|
||||
impressum: "Impressum"
|
||||
impressumUrl: "Tautan Impressum"
|
||||
impressumDescription: "Pada beberapa negara seperti Jerman, inklusi dari informasi kontak operator (sebuah Impressum) diperlukan secara legal untuk situs web komersil."
|
||||
|
@ -1211,64 +1174,7 @@ doReaction: "Tambahkan reaksi"
|
|||
code: "Kode"
|
||||
reloadRequiredToApplySettings: "Muat ulang diperlukan untuk menerapkan pengaturan."
|
||||
remainingN: "Sisa : {n}"
|
||||
overwriteContentConfirm: "Apakah kamu yakin untuk menimpa konten saat ini?"
|
||||
seasonalScreenEffect: "Efek layar musiman"
|
||||
decorate: "Dekor"
|
||||
addMfmFunction: "Tambahkan dekorasi"
|
||||
enableQuickAddMfmFunction: "Tampilkan pemilih MFM tingkat lanjut"
|
||||
bubbleGame: "Bubble Game"
|
||||
sfx: "Efek Suara"
|
||||
soundWillBePlayed: "Suara yang akan dimainkan"
|
||||
showReplay: "Lihat tayangan ulang"
|
||||
replay: "Tayangan ulang"
|
||||
replaying: "Menayangkan Ulang"
|
||||
endReplay: "Keluat dari tayangan ulang"
|
||||
copyReplayData: "Salin data tayangan ulang"
|
||||
ranking: "Peringkat"
|
||||
lastNDays: "{n} hari terakhir"
|
||||
backToTitle: "Ke Judul"
|
||||
hemisphere: "Letak kamu tinggal"
|
||||
withSensitive: "Lampirkan catatan dengan berkas sensitif"
|
||||
userSaysSomethingSensitive: "Postingan oleh {name} mengandung konten sensitif"
|
||||
enableHorizontalSwipe: "Geser untuk mengganti tab"
|
||||
loading: "Memuat..."
|
||||
surrender: "Batalkan"
|
||||
gameRetry: "Coba lagi"
|
||||
notUsePleaseLeaveBlank: "Kosongi bila tidak digunakan"
|
||||
useTotp: "Gunakan TOTP"
|
||||
useBackupCode: "Gunakan kode cadangan"
|
||||
launchApp: "Luncurkan Aplikasi"
|
||||
useNativeUIForVideoAudioPlayer: "Gunakan antarmuka peramban ketika memainkan video dan audio"
|
||||
keepOriginalFilename: "Simpan nama berkas asli"
|
||||
keepOriginalFilenameDescription: "Apabila pengaturan ini dimatikan, nama berkas akan diganti dengan string acak secara otomatis ketika kamu mengunggah berkas."
|
||||
noDescription: "Tidak ada deskripsi"
|
||||
alwaysConfirmFollow: "Selalu konfirmasi ketika mengikuti"
|
||||
inquiry: "Hubungi kami"
|
||||
tryAgain: "Silahkan coba lagi."
|
||||
_delivery:
|
||||
status: "Status pengiriman"
|
||||
stop: "Ditangguhkan"
|
||||
resume: "Lanjutkan pengiriman"
|
||||
_type:
|
||||
none: "Sedang menyiarkan langsung"
|
||||
manuallySuspended: "Ditangguhkan manual"
|
||||
goneSuspended: "Sedang ditangguhkan untuk penghapusan peladen"
|
||||
autoSuspendedForNotResponding: "Sedang ditangguhkan karena peladen tidak menjawab"
|
||||
_bubbleGame:
|
||||
howToPlay: "Cara bermain"
|
||||
hold: "Tahan"
|
||||
_score:
|
||||
score: "Skor"
|
||||
scoreYen: "Jumlah uang didapat"
|
||||
highScore: "Skor tertinggi"
|
||||
maxChain: "Jumlah skor berantai"
|
||||
yen: "{yen} Yen"
|
||||
estimatedQty: "{qty} buah"
|
||||
scoreSweets: "{onigiriQtyWithUnit} onigiri"
|
||||
_howToPlay:
|
||||
section1: "Atur posisi dan jatuhkan obyek ke dalam kotak."
|
||||
section2: "Ketika dua obyek menyentuh tipe yang sama satu sama lain, obyek tersebut akan berganti dan kamu mendapatkan poin skor."
|
||||
section3: "Permainan berakhir jika obyek memenuhi kotak. Capai skor tertinggi dengan menggabungkan obyek bersama sambil menghindari obyek tersebut memenuhi kotak permainan!"
|
||||
_announcement:
|
||||
forExistingUsers: "Hanya pengguna yang telah ada"
|
||||
forExistingUsersDescription: "Pengumuman ini akan dimunculkan ke pengguna yang sudah ada dari titik waktu publikasi jika dinyalakan. Apabila dimatikan, mereka yang baru mendaftar setelah publikasi ini akan juga melihatnya."
|
||||
|
@ -1278,10 +1184,7 @@ _announcement:
|
|||
tooManyActiveAnnouncementDescription: "Terlalu banyak pengumuman dapat memperburuk pengalaman pengguna. Mohon pertimbangkan untuk mengarsipkan pengumuman yang sudah usang/tidak relevan."
|
||||
readConfirmTitle: "Tandai telah dibaca?"
|
||||
readConfirmText: "Aksi ini akan menandai konten dari \"{title}\" telah dibaca."
|
||||
shouldNotBeUsedToPresentPermanentInfo: "Karena dapat berdampak pada pengalaman pengguna untuk pengguna baru, sangat direkomendasikan untuk menggunakan notifikasi secara mengalir daripada tetap."
|
||||
dialogAnnouncementUxWarn: "Memiliki dua atau lebih gaya dialog notifikasi secara bersamaan dapat berdampak signifikan pada pengalaman pengguna, mohon untuk menggunakannya dengan hati-hati."
|
||||
silence: "Tiada notifikasi"
|
||||
silenceDescription: "Apabila diaktifkan, notifikasi dari pengumuman ini akan dilewatkan dan pengguna tidak perlu membacanya."
|
||||
_initialAccountSetting:
|
||||
accountCreated: "Akun kamu telah sukses dibuat!"
|
||||
letsStartAccountSetup: "Untuk pemula, ayo atur profilmu dulu."
|
||||
|
@ -1294,7 +1197,6 @@ _initialAccountSetting:
|
|||
pushNotificationDescription: "Menyalakan notifikasi dorong akan membuatmu menerima notifikasi dari {name} secara langsung ke perangkatmu."
|
||||
initialAccountSettingCompleted: "Pengaturan profil selesai!"
|
||||
haveFun: "Selamat menikmati, {name}!"
|
||||
youCanContinueTutorial: "Kamu dapat menjutkan ke tutorial dalam bagaimana menggunakan {name} (Misskey) atau kamu dapat keluar dari pemasangan ini dan langsung menggunakannya segera."
|
||||
startTutorial: "Mulai Tutorial"
|
||||
skipAreYouSure: "Yakin melewati atur profil?"
|
||||
laterAreYouSure: "Yakin banget untuk atur profil nanti?"
|
||||
|
@ -1308,63 +1210,24 @@ _initialTutorial:
|
|||
description: "Di sini kamu dapat mempelajari dasar-dasar dari penggunaan Misskey dan fitur-fiturnya."
|
||||
_note:
|
||||
title: "Apa itu Catatan?"
|
||||
description: "Postingan di Misskey disebut sebagai 'Catatan'. Catatan ditampilkan secara kronologis pada lini masa dan dimutakhirkan secara real-time."
|
||||
reply: "Klik pada tombol ini untuk membalas ke sebuah pesan. Bisa juga untuk membalas ke sebuah balasan dan melanjutkannya seperti percakapan selayaknya utas."
|
||||
renote: "Kamu dapat membagikan catatan ke lini masa milikmu. Kamu juga dapat mengutipnya dengan komentarmu."
|
||||
reaction: "Kamu dapat menambahkan reaksi ke Catatan. Detil lebih lanjut akan dijelaskan di halaman berikutnya."
|
||||
menu: "Kamu dapat melihat detil catatan, menyalin tautan, dan melakukan aksi lainnya."
|
||||
_reaction:
|
||||
title: "Apa itu Reaksi?"
|
||||
description: "Catatan dapat direaksi dengan berbagai emoji. Reaksi memperbolehkan kamu untuk mengekspresikan nuansa yang tidak dapat disampaikan hanya dengan sebuah \"suka\"."
|
||||
letsTryReacting: "Reaksi dapat ditambahkan dengan mengklik tombol '{reaction}' pada catatan. Coba lakukan mereaksi contoh catatan ini!"
|
||||
reactToContinue: "Tambahkan reaksi untuk melanjutkan."
|
||||
reactNotification: "Kamu akan menerima notifikasi real0time ketika seseorang mereaksi catatan kamu."
|
||||
reactDone: "Kamu dapat mengurungkan reaksi dengan menekan tombol '{undo}'."
|
||||
_timeline:
|
||||
title: "Konsep Lini Masa"
|
||||
description1: "Misskey menyediakan berbagai lini masa sesuai dengan penggunaan (beberapa mungkin tidak tersedia karena bergantung dengan kebijakan peladen)."
|
||||
home: "Kamu dapat melihat catatan dari akun yang kamu ikuti."
|
||||
local: "Kamu dapat melihat catatan dari semua pengguna yang ada pada peladen ini."
|
||||
social: "Catatan dari linimasa Beranda dan Lokal akan ditampilkan."
|
||||
global: "Kamu dapat melihat catatan dari semua peladen yang terhubung."
|
||||
description2: "Kamu dapat mengganti linimasa di bagian atas layar kamu kapan saja."
|
||||
description3: "Sebagai tambahan, terdapat juga linimasa daftar dan linimasa kanal. Untuk detil lebih lanjut, silahkan melihat ke tautan berikut: {link}."
|
||||
_postNote:
|
||||
title: "Pengaturan posting Catatan"
|
||||
description1: "Ketika memposting catatan ke Misskey, terdapat beberapa opsi yang tersedia. Form posting terlihat seperti ini."
|
||||
_visibility:
|
||||
description: "Kamu dapat membatasi siapa yang dapat melihat catatan kamu."
|
||||
public: "Perlihatkan catatan ke semua pengguna."
|
||||
home: "Hanya publik ke lini masa Beranda. Pengguna yang mengunjungi profilmu melalui pengikut dan renote dapat melihatnya."
|
||||
followers: "Perlihatkan ke pengikut saja. Hanya pengikut yang dapat melihat postinganmu dan tidak dapat direnote oleh siapapun."
|
||||
direct: "Hanya perlihatkan ke pengguna spesifik dan penerima akan diberi tahu. Dapat juga digunakan sebagai alternatif dari pesan langsung."
|
||||
doNotSendConfidencialOnDirect1: "Hati-hati ketika mengirim informasi yang sensitif!"
|
||||
doNotSendConfidencialOnDirect2: "Admin dari peladen dapat melihat apa yang kamu tulis. Hati-hati dengan informasi sensitif ketika mengirimkan catatan langsung kepada pengguna pada peladen yang tidak dipercaya."
|
||||
localOnly: "Memposting dengan opsi ini tidak akan memfederasi catatan ke peladen lain. Pengguna pada peladen lain tidak akan dapat melihat catatan ini secara langsung, meskipun dengan pengaturan visibilitas yang sudah diatur di atas."
|
||||
_cw:
|
||||
title: "Peringatan Konten (CW)"
|
||||
description: "Alih-alih isinya, konten yang ditulis dalam kolom 'komentar' akan ditampilkan. Menekan 'Selebihnya' akan menampilkan isi konten."
|
||||
_exampleNote:
|
||||
cw: "Peringatan: Bikin Lapar!"
|
||||
note: "Baru aja makan donat berlapis coklat 🍩😋"
|
||||
useCases: "Fungsi ini digunakan ketika mengikutik panduan peladen untuk catatan yang dibutuhkan atau untuk membatasi diri dari teks sensitif atau spoiler."
|
||||
_howToMakeAttachmentsSensitive:
|
||||
title: "Bagaimana menandai lampiran sebagai sensitif?"
|
||||
description: "Fungsi ini digunakan untuk lampiran yang dibutuhkan oleh panduan peladen atau sesuatu yang seharusnya tidak boleh dibiarkan begitu saja dengan cara menambahkan penanda \"sensitif\"."
|
||||
tryThisFile: "Coba tandai gambar yang dilampirkan pada form ini sebagai sensitif!"
|
||||
_exampleNote:
|
||||
note: "Ups, kesalahan banget buka penutup wadah natto..."
|
||||
method: "Untuk menandai lampiran sebagai sensitif, klik gambar pada berkas, buka menu, lalu klik \"Tandai sebagai sensitif\"."
|
||||
sensitiveSucceeded: "Ketika melampirkan berkas, mohon atur sensitifitas sesuai dengan panduan peladen."
|
||||
doItToContinue: "Tandai berkas terlampir sebagai sensitif untuk melanjutkan."
|
||||
_done:
|
||||
title: "Kamu telah menyelesaikan tutorial! 🎉"
|
||||
description: "Fungsi yang diperkenalkan di sini merupakan sebagian kecil dari fitur yang ada. Untuk pemahaman lebih detil dalam menggunakan Misskey, kamu dapat merujuk ke {link}."
|
||||
_timelineDescription:
|
||||
home: "Pada linimasa Beranda, kamu dapat melihat catatan dari akun yang kamu ikuti."
|
||||
local: "Pada linimasa Lokal, kamu dapat melihat catatan dari semua pengguna yang ada pada peladen ini."
|
||||
social: "Linimasa sosial menampilkan catatan dari kedua linimasa Beranda dan Lokal."
|
||||
global: "Pada linimasa Global, kamu dapat melihat catatan dari semua peladen yang terhubung."
|
||||
_serverRules:
|
||||
description: "Daftar peraturan akan ditampilkan sebelum pendaftaran. Mengatur ringkasan dari Syarat dan Ketentuan sangat direkomendasikan."
|
||||
_serverSettings:
|
||||
|
@ -1376,9 +1239,6 @@ _serverSettings:
|
|||
manifestJsonOverride: "Ambil alih manifest.json"
|
||||
shortName: "Nama pendek"
|
||||
shortNameDescription: "Inisial untuk nama instansi yang dapat ditampilkan apabila nama lengkap resmi terlalu panjang."
|
||||
fanoutTimelineDescription: "Dapat meningkatkan performa dalam pengambilan data linimasa dan mengurangi beban pada database ketika dinyalakan. Sebagai gantinya, penggunaan memory pada Redis akan meningkan. Pertimbangkan untuk menonaktifkan fitur ini jika mengalami kekurangan memori pada server atau menyebabkan server tidak stabil."
|
||||
fanoutTimelineDbFallback: "Fallback ke database"
|
||||
fanoutTimelineDbFallbackDescription: "Ketika diaktifkan, lini masa akan fallback ke database untuk melakukan kueri tambahan apabila linimasa tidak disimpan dalam cache. Menonaktifkan ini dapat mengurangi beban server dengan mengeliminasi proses fallback, namun dapat berakibat membatasi jarak data dari lini masa yang dapat diambil."
|
||||
_accountMigration:
|
||||
moveFrom: "Pindahkan akun lain ke akun ini"
|
||||
moveFromSub: "Buat alias ke akun lain"
|
||||
|
@ -1636,16 +1496,6 @@ _achievements:
|
|||
_smashTestNotificationButton:
|
||||
title: "Tes overflow"
|
||||
description: "Picu tes notifikasi secara berulang dalam waktu yang sangat pendek"
|
||||
_tutorialCompleted:
|
||||
title: "Ijazah Sekolah Dasar Misskey"
|
||||
description: "Tutorial selesai"
|
||||
_bubbleGameExplodingHead:
|
||||
title: "🤯"
|
||||
description: "Obyek paling terbesar di permainan gelembung"
|
||||
_bubbleGameDoubleExplodingHead:
|
||||
title: "Ganda 🤯"
|
||||
description: "Dua dari obyek paling terbesar pada permainan gelembung di waktu yang sama"
|
||||
flavor: "Kamu dapat mengisi kotak makan siang seperti ini 🤯 🤯."
|
||||
_role:
|
||||
new: "Buat peran"
|
||||
edit: "Sunting peran"
|
||||
|
@ -1656,9 +1506,7 @@ _role:
|
|||
assignTarget: "Tipe tugas"
|
||||
descriptionOfAssignTarget: "<b>Manual</b> untuk mengganti secara manual siapa yang mendapatkan peran ini dan siapa yang tidak.\n<b>Kondisional</b> untuk pengguna secara otomatis dimasukkan atau dihapus dari peran berdasarkan kondisi yang ditentukan."
|
||||
manual: "Manual"
|
||||
manualRoles: "Peran manual"
|
||||
conditional: "Kondisional"
|
||||
conditionalRoles: "Peran kondisional"
|
||||
condition: "Kondisi"
|
||||
isConditionalRole: "Ini adalah peran kondisional"
|
||||
isPublic: "Publikkan Peran"
|
||||
|
@ -1686,7 +1534,6 @@ _role:
|
|||
gtlAvailable: "Dapat melihat lini masa global"
|
||||
ltlAvailable: "Dapat melihat lini masa lokal"
|
||||
canPublicNote: "Dapat mengirim catatan publik"
|
||||
mentionMax: "Jumlah maksimum sebutan dalam sebuah catatan"
|
||||
canInvite: "Dapat membuat kode undangan instansi"
|
||||
inviteLimit: "Batas jumlah undangan"
|
||||
inviteLimitCycle: "Interval Penerbitan Kode Undangan"
|
||||
|
@ -1708,16 +1555,9 @@ _role:
|
|||
canHideAds: "Dapat menyembunyikan iklan"
|
||||
canSearchNotes: "Penggunaan pencarian catatan"
|
||||
canUseTranslator: "Penggunaan penerjemah"
|
||||
avatarDecorationLimit: "Jumlah maksimum dekorasi avatar yang dapat diterapkan"
|
||||
_condition:
|
||||
roleAssignedTo: "Ditugaskan ke peran manual"
|
||||
isLocal: "Pengguna lokal"
|
||||
isRemote: "Pengguna remote"
|
||||
isCat: "Pengguna Kucing"
|
||||
isBot: "Pengguna Bot"
|
||||
isSuspended: "Pengguna yang ditangguhkan"
|
||||
isLocked: "Akun privat"
|
||||
isExplorable: "Pengguna efektif yang akunnya dapat dicari"
|
||||
createdLessThan: "Telah berlalu kurang dari X sejak pembuatan akun"
|
||||
createdMoreThan: "Telah berlalu lebih dari X sejak pembuatan akun"
|
||||
followersLessThanOrEq: "Memiliki pengikut X atau kurang dari tersebut"
|
||||
|
@ -1743,9 +1583,8 @@ _emailUnavailable:
|
|||
disposable: "Alamat surel temporer tidak dapat digunakan"
|
||||
mx: "Peladen alamat surel ini tidak valid"
|
||||
smtp: "Peladen alamat surel ini tidak merespon"
|
||||
banned: "Kamu tidak dapat mendaftar dengan alamat surel ini"
|
||||
_ffVisibility:
|
||||
public: "Publik"
|
||||
public: "Terbitkan"
|
||||
followers: "Tampil untuk pengikut saja"
|
||||
private: "Tersembunyi"
|
||||
_signup:
|
||||
|
@ -1787,7 +1626,6 @@ _plugin:
|
|||
installWarn: "Mohon jangan memasang plugin yang tidak dapat dipercayai."
|
||||
manage: "Manajemen plugin"
|
||||
viewSource: "Lihat sumber"
|
||||
viewLog: "Tampilkan log"
|
||||
_preferencesBackups:
|
||||
list: "Cadangan yang dibuat"
|
||||
saveNew: "Simpan cadangan baru"
|
||||
|
@ -1817,13 +1655,10 @@ _aboutMisskey:
|
|||
contributors: "Kontributor utama"
|
||||
allContributors: "Seluruh kontributor"
|
||||
source: "Sumber kode"
|
||||
original: "Asli"
|
||||
thisIsModifiedVersion: "{name} menggunakan versi modifikasi dari Misskey yang asli."
|
||||
translation: "Terjemahkan Misskey"
|
||||
donate: "Donasi ke Misskey"
|
||||
morePatrons: "Kami sangat mengapresiasi dukungan dari banyak penolong lain yang tidak tercantum disini. Terima kasih! 🥰"
|
||||
patrons: "Pendukung"
|
||||
projectMembers: "Anggota proyek"
|
||||
_displayOfSensitiveMedia:
|
||||
respect: "Sembunyikan media yang ditandai sensitif"
|
||||
ignore: "Tampilkan media yang ditandai sensitif"
|
||||
|
@ -1848,7 +1683,6 @@ _channel:
|
|||
notesCount: "terdapat {n} catatan"
|
||||
nameAndDescription: "Nama dan deskripsi"
|
||||
nameOnly: "Hanya nama"
|
||||
allowRenoteToExternal: "Perbolehkan catat ulang dan kutipan di luar dari kanal"
|
||||
_menuDisplay:
|
||||
sideFull: "Horisontal"
|
||||
sideIcon: "Horisontal (Ikon)"
|
||||
|
@ -1938,14 +1772,8 @@ _sfx:
|
|||
note: "Catatan"
|
||||
noteMy: "Catatan (Saya)"
|
||||
notification: "Notifikasi"
|
||||
reaction: "Ketika memilih reaksi"
|
||||
_soundSettings:
|
||||
driveFile: "Menggunakan berkas audio dalam Drive"
|
||||
driveFileWarn: "Pilih berkas audio dari Drive"
|
||||
driveFileTypeWarn: "Berkas ini tidak didukung"
|
||||
driveFileTypeWarnDescription: "Pilih berkas audio"
|
||||
driveFileDurationWarn: "Audio ini terlalu panjang"
|
||||
driveFileDurationWarnDescription: "Audio panjang dapat mengganggu penggunaan Misskey. Masih ingin melanjutkan?"
|
||||
antenna: "Penerimaan Antenna"
|
||||
channel: "Notifikasi Kanal"
|
||||
_ago:
|
||||
future: "Masa depan"
|
||||
justNow: "Baru saja"
|
||||
|
@ -1957,14 +1785,6 @@ _ago:
|
|||
monthsAgo: "{n} bulan lalu"
|
||||
yearsAgo: "{n} tahun lalu"
|
||||
invalid: "Tidak ada sama sekali disini"
|
||||
_timeIn:
|
||||
seconds: "dalam {n} detik"
|
||||
minutes: "dalam {n} menit"
|
||||
hours: "dalam {n} jam"
|
||||
days: "dalam {n} hari"
|
||||
weeks: "dalam {n} minggu"
|
||||
months: "dalam {n} bulan"
|
||||
years: "dalam {n} tahun"
|
||||
_time:
|
||||
second: "detik"
|
||||
minute: "menit"
|
||||
|
@ -1975,6 +1795,7 @@ _2fa:
|
|||
registerTOTP: "Daftarkan aplikasi autentikator"
|
||||
step1: "Pertama, pasang aplikasi autentikasi (seperti {a} atau {b}) di perangkat kamu."
|
||||
step2: "Lalu, pindai kode QR yang ada di layar."
|
||||
step2Click: "Mengeklik kode QR ini akan membolehkanmu untuk mendaftarkan 2FA ke security-key atau aplikasi autentikator ponsel."
|
||||
step2Uri: "Masukkan URI berikut jika kamu menggunakan program desktop"
|
||||
step3Title: "Masukkan kode autentikasi"
|
||||
step3: "Masukkan token yang telah disediakan oleh aplikasimu untuk menyelesaikan pemasangan."
|
||||
|
@ -1998,7 +1819,6 @@ _2fa:
|
|||
backupCodesDescription: "Kamu dapat menggunakan kode ini untuk mendapatkan akses ke akun kamu apabila berada dalam situasi tidak dapat menggunakan aplikasi autentikasi 2-faktor yang kamu miliki. Setiap kode hanya dapat digunakan satu kali. Mohon simpan kode ini di tempat yang aman."
|
||||
backupCodeUsedWarning: "Kode cadangan telah digunakan. Mohon mengatur ulang autentikasi 2-faktor secepatnya apabila kamu sudah tidak dapat menggunakannya lagi."
|
||||
backupCodesExhaustedWarning: "Semua kode cadangan telah digunakan. Apabila kamu kehilangan akses pada aplikasi autentikasi 2-faktor milikmu, kamu tidak dapat mengakses akun ini lagi. Mohon atur ulang autentikasi 2-faktor kamu."
|
||||
moreDetailedGuideHere: "Berikut panduan detilnya"
|
||||
_permissions:
|
||||
"read:account": "Lihat informasi akun"
|
||||
"write:account": "Sunting informasi akun"
|
||||
|
@ -2036,54 +1856,6 @@ _permissions:
|
|||
"write:flash": "Sunting Play"
|
||||
"read:flash-likes": "Lihat daftar Play yang disukai"
|
||||
"write:flash-likes": "Sunting daftar Play yang disukai"
|
||||
"read:admin:abuse-user-reports": "Lihat laporan pengguna"
|
||||
"write:admin:delete-account": "Hapus akun pengguna"
|
||||
"write:admin:delete-all-files-of-a-user": "Hapus semua berkas dari seorang pengguna"
|
||||
"read:admin:index-stats": "Lihat statistik indeks basis data"
|
||||
"read:admin:table-stats": "Lihat statistik tabel basis data"
|
||||
"read:admin:user-ips": "Lihat alamat IP pengguna"
|
||||
"read:admin:meta": "Lihat metadata instansi"
|
||||
"write:admin:reset-password": "Atur ulang kata sandi pengguna"
|
||||
"write:admin:resolve-abuse-user-report": "Selesaikan laporan pengguna"
|
||||
"write:admin:send-email": "Mengirim surel"
|
||||
"read:admin:server-info": "Lihat informasi peladen"
|
||||
"read:admin:show-moderation-log": "Lihat log moderasi"
|
||||
"read:admin:show-user": "Lihat informasi pengguna privat"
|
||||
"write:admin:suspend-user": "Tangguhkan pengguna"
|
||||
"write:admin:unset-user-avatar": "Hapus avatar pengguna"
|
||||
"write:admin:unset-user-banner": "Hapus banner pengguna"
|
||||
"write:admin:unsuspend-user": "Batalkan penangguhan pengguna"
|
||||
"write:admin:meta": "Kelola metadata instansi"
|
||||
"write:admin:user-note": "Kelola moderasi catatan"
|
||||
"write:admin:roles": "Kelola peran"
|
||||
"read:admin:roles": "Lihat peran"
|
||||
"write:admin:relays": "Kelola relay"
|
||||
"read:admin:relays": "Lihat relay"
|
||||
"write:admin:invite-codes": "Kelola kode undangan"
|
||||
"read:admin:invite-codes": "Lihat kode undangan"
|
||||
"write:admin:announcements": "Kelola pengumuman"
|
||||
"read:admin:announcements": "Lihat Pengumuman"
|
||||
"write:admin:avatar-decorations": "Kelola dekorasi avatar"
|
||||
"read:admin:avatar-decorations": "Lihat dekorasi avatar"
|
||||
"write:admin:federation": "Kelola data federasi"
|
||||
"write:admin:account": "Kelola akun pengguna"
|
||||
"read:admin:account": "Lihat akun pengguna"
|
||||
"write:admin:emoji": "Kelola emoji"
|
||||
"read:admin:emoji": "Lihat emoji"
|
||||
"write:admin:queue": "Kelola antrian kerja"
|
||||
"read:admin:queue": "Lihat informasi antrian kerja"
|
||||
"write:admin:promo": "Kelola catatan promosi"
|
||||
"write:admin:drive": "Kelola drive pengguna"
|
||||
"read:admin:drive": "Kelola informasi drive pengguna"
|
||||
"read:admin:stream": "Gunakan API WebSocket untuk Admin"
|
||||
"write:admin:ad": "Kelola iklan"
|
||||
"read:admin:ad": "Lihat iklan"
|
||||
"write:invite-codes": "Membuat kode undangan"
|
||||
"read:invite-codes": "Mendapatkan kode undangan"
|
||||
"write:clip-favorite": "Kelola klip yang difavoritkan"
|
||||
"read:clip-favorite": "Lihat klip yang difavoritkan"
|
||||
"read:federation": "Mendapatkan data federasi"
|
||||
"write:report-abuse": "Melaporkan pelanggaran"
|
||||
_auth:
|
||||
shareAccessTitle: "Mendapatkan ijin akses aplikasi"
|
||||
shareAccess: "Apakah kamu ingin mengijinkan \"{name}\" untuk mengakses akun ini?"
|
||||
|
@ -2138,7 +1910,6 @@ _widgets:
|
|||
_userList:
|
||||
chooseList: "Pilih daftar"
|
||||
clicker: "Pengeklik"
|
||||
birthdayFollowings: "Pengguna yang merayakan hari ulang tahunnya hari ini"
|
||||
_cw:
|
||||
hide: "Sembunyikan"
|
||||
show: "Lihat konten"
|
||||
|
@ -2201,11 +1972,9 @@ _profile:
|
|||
changeAvatar: "Ubah avatar"
|
||||
changeBanner: "Ubah header"
|
||||
verifiedLinkDescription: "Dengan memasukkan URL yang mengandung tautan ke profil kamu di sini, ikon verifikasi kepemilikan dapat ditampilkan di sebelah kolom ini."
|
||||
avatarDecorationMax: "Dapat ditambahkan hingga {max} dekorasi."
|
||||
_exportOrImport:
|
||||
allNotes: "Semua catatan"
|
||||
favoritedNotes: "Catatan favorit"
|
||||
clips: "Klip"
|
||||
followingList: "Ikuti"
|
||||
muteList: "Bisukan"
|
||||
blockingList: "Blokir"
|
||||
|
@ -2259,7 +2028,6 @@ _play:
|
|||
title: "Judul"
|
||||
script: "Script"
|
||||
summary: "Deskripsi"
|
||||
visibilityDescription: "Membuat catatan ini privat berarti tidak akan terlihat pada profil kamu, namun siapapun yang memiliki URL dari catatan ini akan dapat mengaksesnya."
|
||||
_pages:
|
||||
newPage: "Buat halaman baru"
|
||||
editPage: "Sunting halaman"
|
||||
|
@ -2304,8 +2072,6 @@ _pages:
|
|||
section: "Bagian"
|
||||
image: "Gambar"
|
||||
button: "Tombol"
|
||||
dynamic: "Blok Dinamis"
|
||||
dynamicDescription: "Blok ini telah dihapus. Mohon gunakan {play} dari sekarang."
|
||||
note: "Catatan yang ditanam"
|
||||
_note:
|
||||
id: "ID Catatan"
|
||||
|
@ -2327,18 +2093,12 @@ _notification:
|
|||
pollEnded: "Hasil Kuesioner telah keluar"
|
||||
newNote: "Catatan baru"
|
||||
unreadAntennaNote: "Antena {name}"
|
||||
roleAssigned: "Peran Diberikan"
|
||||
emptyPushNotificationMessage: "Pembaruan notifikasi dorong"
|
||||
achievementEarned: "Pencapaian didapatkan"
|
||||
testNotification: "Tes notifikasi"
|
||||
checkNotificationBehavior: "Cek tampilan notifikasi"
|
||||
sendTestNotification: "Kirim tes notifikasi"
|
||||
notificationWillBeDisplayedLikeThis: "Notifikasi akan terlihat seperti ini"
|
||||
reactedBySomeUsers: "{n} orang memberikan reaksi"
|
||||
likedBySomeUsers: "{n} pengguna menyukai catatan kamu"
|
||||
renotedBySomeUsers: "{n} orang telah merenote"
|
||||
followedBySomeUsers: "{n} orang telah mengikuti"
|
||||
flushNotification: "Bersihkan notifikasi"
|
||||
_types:
|
||||
all: "Semua"
|
||||
note: "Catatan baru"
|
||||
|
@ -2351,7 +2111,6 @@ _notification:
|
|||
pollEnded: "Jajak pendapat berakhir"
|
||||
receiveFollowRequest: "Permintaan mengikuti diterima"
|
||||
followRequestAccepted: "Permintaan mengikuti disetujui"
|
||||
roleAssigned: "Peran Diberikan"
|
||||
achievementEarned: "Pencapaian didapatkan"
|
||||
app: "Notifikasi dari aplikasi tertaut"
|
||||
_actions:
|
||||
|
@ -2400,9 +2159,9 @@ _drivecleaner:
|
|||
orderByCreatedAtAsc: "Tanggal (Naik)"
|
||||
_webhookSettings:
|
||||
createWebhook: "Buat Webhook"
|
||||
modifyWebhook: "Sunting Webhook"
|
||||
name: "Nama"
|
||||
secret: "Secret"
|
||||
events: "Webhook Events"
|
||||
active: "Aktif"
|
||||
_events:
|
||||
follow: "Ketika mengikuti pengguna"
|
||||
|
@ -2412,11 +2171,6 @@ _webhookSettings:
|
|||
renote: "Ketika direnote"
|
||||
reaction: "Ketika menerima reaksi"
|
||||
mention: "Ketika sedang disebut"
|
||||
deleteConfirm: "Apakah kamu yakin ingin menghapus Webhook?"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "Surel"
|
||||
_moderationLogTypes:
|
||||
createRole: "Peran telah dibuat"
|
||||
deleteRole: "Peran telah dihapus"
|
||||
|
@ -2441,7 +2195,6 @@ _moderationLogTypes:
|
|||
resetPassword: "Atur ulang kata sandi"
|
||||
suspendRemoteInstance: "Instansi luar telah ditangguhkan"
|
||||
unsuspendRemoteInstance: "Instansi luar batal ditangguhkan"
|
||||
updateRemoteInstanceNote: "Catatan moderasi telah diperbaharui untuk peladen luar."
|
||||
markSensitiveDriveFile: "Berkas ditandai sensitif"
|
||||
unmarkSensitiveDriveFile: "Berkas batal ditandai sensitif"
|
||||
resolveAbuseReport: "Laporan terselesaikan"
|
||||
|
@ -2449,11 +2202,6 @@ _moderationLogTypes:
|
|||
createAd: "Iklan telah dibuat"
|
||||
deleteAd: "Iklan telah dihapus"
|
||||
updateAd: "Iklan telah diperbaharui"
|
||||
createAvatarDecoration: "Buat dekorasi avatar"
|
||||
updateAvatarDecoration: "Perbarui dekorasi avatar"
|
||||
deleteAvatarDecoration: "Hapus dekorasi avatar"
|
||||
unsetUserAvatar: "Hapus avatar pengguna"
|
||||
unsetUserBanner: "Hapus banner pengguna"
|
||||
_fileViewer:
|
||||
title: "Rincian berkas"
|
||||
type: "Jenis berkas"
|
||||
|
@ -2462,126 +2210,3 @@ _fileViewer:
|
|||
uploadedAt: "Diunggah pada"
|
||||
attachedNotes: "Catatan yang dilampirkan"
|
||||
thisPageCanBeSeenFromTheAuthor: "Halaman ini hanya dapat dilihat oleh pengguna yang mengunggah bekas ini."
|
||||
_externalResourceInstaller:
|
||||
title: "Pasang dari situs eksternal"
|
||||
checkVendorBeforeInstall: "Pastikan sumber dari sumber daya ini terpercaya sebelum melakukan pemasangan."
|
||||
_plugin:
|
||||
title: "Apakah kamu ingin memasang plugin ini?"
|
||||
metaTitle: "Informasi plugin"
|
||||
_theme:
|
||||
title: "Apakah kamu ingin memasang tema ini?"
|
||||
metaTitle: "Informasi tema"
|
||||
_meta:
|
||||
base: "Skema warna dasar"
|
||||
_vendorInfo:
|
||||
title: "Informasi sumber"
|
||||
endpoint: "Referensi Endpoint"
|
||||
hashVerify: "Verifikasi hash"
|
||||
_errors:
|
||||
_invalidParams:
|
||||
title: "Parameter tidak valid"
|
||||
description: "Tidak cukup informasi untuk memuat data dari situs eksternal. Mohon konfirmasi kembali URL yang dimasukkan."
|
||||
_resourceTypeNotSupported:
|
||||
title: "Sumber daya eksternal ini tidak didukung"
|
||||
description: "Tipe sumber daya eksternal ini tidak didukung. Mohon kontak administrator dari situs tersebut."
|
||||
_failedToFetch:
|
||||
title: "Gagal memuat data"
|
||||
fetchErrorDescription: "Kesalahan terjadi ketika menghubungkan dengan situs eksternal. Jika percobaan kembali tidak dapat memperbaiki masalah ini, mohon hubungi administrator dari situs tersebut."
|
||||
parseErrorDescription: "Kesalahan terjadi dalam memproses data yang dimuat dari situs eksternal. Mohon hubungi administrator dari situs tersebut."
|
||||
_hashUnmatched:
|
||||
title: "Verifikasi data gagal"
|
||||
description: "Kesalahan terjadi dalam memverifikasi integritas data yang diambil. Sebagai pencegahan keamanan, pemasangan tidak dapat dilanjutkan. Mohon hubungi administrator dari situs tersebut."
|
||||
_pluginParseFailed:
|
||||
title: "Kesalahan AiScript"
|
||||
description: "Data yang diminta telah diambil dengan sukses, namun kesalahan terjadi ketika AiScript melakukan parsing. Mohon hubungi pembuat plugin. Detil kesalahan dapat dilihat pada konsol Javascript."
|
||||
_pluginInstallFailed:
|
||||
title: "Pemasangan plugin gagal"
|
||||
description: "Kesalahan terjadi ketika pemasangan plugin. Mohon coba lagi. Detil kesalahan dapat dilihat pada konsol Javascript."
|
||||
_themeParseFailed:
|
||||
title: "Parsing tema gagal"
|
||||
description: "Data yang diminta telah diambil dengan sukses, namun kesalahan terjadi ketika tema melakukan parsing. Mohon hubungi pembuat tema. Detil kesalahan dapat dilihat pada konsol Javascript."
|
||||
_themeInstallFailed:
|
||||
title: "Pemasangan tema gagal"
|
||||
description: "Kesalahan terjadi ketika pemasangan tema. Mohon coba lagi. Detil kesalahan dapat dilihat pada konsol Javascript."
|
||||
_dataSaver:
|
||||
_media:
|
||||
title: "Memuat media"
|
||||
description: "Mencegah gambar/video dimuat secara otomatis. Menyembunyikan gambar/video dan akan dimuat ketika diketuk."
|
||||
_avatar:
|
||||
title: "Gambar avatar"
|
||||
description: "Hentikan animasi gambar avatar. Gambar animasi dapat berukuran lebih besar dari gambar biasa, berpotensi pada pengurangan lalu lintas data lebih jauh."
|
||||
_urlPreview:
|
||||
title: "Gambar kecil URL pratinjau"
|
||||
description: "Gambar kecil URL pratinjau tidak akan dimuat lagi."
|
||||
_code:
|
||||
title: "Penyorotan kode"
|
||||
description: "Jika notasi penyorotan kode digunakan di MFM, dll. Fungsi tersebut tidak akan dimuat apabila tidak diketuk. Penyorotan sintaks membutuhkan pengunduhan berkas definisi penyorotan untuk setiap bahasa pemrograman. Oleh sebab itu, menonaktifkan pemuatan otomatis dari berkas ini dilakukan untuk mengurangi jumlah komunikasi data."
|
||||
_hemisphere:
|
||||
N: "Bumi belahan utara"
|
||||
S: "Bumi belahan selatan"
|
||||
caption: "Digunakan dalam beberapa pengaturan klien untuk menentukan musim."
|
||||
_reversi:
|
||||
reversi: "Reversi"
|
||||
gameSettings: "Pengaturan permainan"
|
||||
chooseBoard: "Pilih papan"
|
||||
blackOrWhite: "Hitam/Putih"
|
||||
blackIs: "{name} bermain sebagai Hitam"
|
||||
rules: "Aturan"
|
||||
thisGameIsStartedSoon: "Permainan akan segera dimulai"
|
||||
waitingForOther: "Menunggu langkah giliran dari lawan"
|
||||
waitingForMe: "Menungguh langkah giliran dari kamu"
|
||||
waitingBoth: "Bersiap"
|
||||
ready: "Siap"
|
||||
cancelReady: "Belum siap"
|
||||
opponentTurn: "Giliran lawan"
|
||||
myTurn: "Giliran kamu"
|
||||
turnOf: "Giliran {name}"
|
||||
pastTurnOf: "Giliran {name}"
|
||||
surrender: "Menyerah"
|
||||
surrendered: "Telah menyerah"
|
||||
timeout: "Waktu habis"
|
||||
drawn: "Seri"
|
||||
won: "{name} menang"
|
||||
black: "Hitam"
|
||||
white: "Putih"
|
||||
total: "Jumlah"
|
||||
turnCount: "Langkah ke {count}"
|
||||
myGames: "Rondeku"
|
||||
allGames: "Semua ronde"
|
||||
ended: "Selesai"
|
||||
playing: "Sedang bermain"
|
||||
isLlotheo: "Pemain dengan batu yang sedikit menang (Llotheo)"
|
||||
loopedMap: "Peta melingkar"
|
||||
canPutEverywhere: "Keping dapat ditaruh dimana saja"
|
||||
timeLimitForEachTurn: "Batas waktu untuk gantian"
|
||||
freeMatch: "Pertandingan bebas"
|
||||
lookingForPlayer: "Mencari lawan..."
|
||||
gameCanceled: "Permainan ini telah dibatalkan."
|
||||
shareToTlTheGameWhenStart: "Bagikan permainan ke lini masa ketika dimulai"
|
||||
iStartedAGame: "Permainan telah dimulai! #MisskeyReversi"
|
||||
opponentHasSettingsChanged: "Lawan telah mengganti pengaturan mereka."
|
||||
allowIrregularRules: "Aturan non-reguler (bebas sepenuhnya)"
|
||||
disallowIrregularRules: "Tanpa aturan non-reguler"
|
||||
showBoardLabels: "Tampilkan penomoran baris dan kolom pada papan"
|
||||
useAvatarAsStone: "Ubah batu menjadi avatar pengguna"
|
||||
_offlineScreen:
|
||||
title: "Luring - tidak dapat terhubung ke peladen"
|
||||
header: "Tidak dapat tersambung ke server"
|
||||
_urlPreviewSetting:
|
||||
title: "Pengaturan pratinjau URL"
|
||||
enable: "Aktifkan pratinjau URL"
|
||||
timeout: "Waktu timeout pratinjau URL (ms)"
|
||||
timeoutDescription: "Apabila ini memakan waktu lama dari nilai yang ditentukan untuk mendapatkan pratinjau, pratinjau tidak akan dibuat."
|
||||
maximumContentLength: "Content-Length Maksimum (bytes)"
|
||||
maximumContentLengthDescription: "Apabila Content-Length lebih besar dari nilai ini, pratinjau tidak akan dibuat."
|
||||
requireContentLength: "Buat pratinjau hanya ketika Content-Length dapat didapatkan"
|
||||
requireContentLengthDescription: "Apabila peladen lain tidak memberika Content-Length, pratinjau tidak akan dibuat."
|
||||
userAgent: "User-Agent"
|
||||
userAgentDescription: "Atur User-Agent yang digunakan untuk mengambil pratinjau. Apabila dibiarkan kosong, User-Agent bawaan akan digunakan."
|
||||
summaryProxy: "Titik akhir proksi yang membuat pratinjau"
|
||||
summaryProxyDescription: "Bukan untuk Misskey, namun untuk menghasilkan pratinjau menggunakan Summaly Proxy."
|
||||
summaryProxyDescription2: "Parameter berikut tertautkan dengan proksi sebagai string kueri. Apabila proksi tidak mendukung tersebut, nilai di dalamnya diabaikan."
|
||||
_mediaControls:
|
||||
pip: "Gambar dalam Gambar"
|
||||
playbackRate: "Kecepatan Pemutaran"
|
||||
loop: "Ulangi Pemutaran"
|
||||
|
|
8457
locales/index.d.ts
vendored
8457
locales/index.d.ts
vendored
File diff suppressed because it is too large
Load diff
|
@ -49,18 +49,10 @@ const primaries = {
|
|||
};
|
||||
|
||||
// 何故か文字列にバックスペース文字が混入することがあり、YAMLが壊れるので取り除く
|
||||
//
|
||||
// also, we remove the backslashes in front of open braces (the
|
||||
// backslashes are only needed to tell `generateDTS.js` that the
|
||||
// braces do not represent parameters)
|
||||
const clean = (text) => text.replace(new RegExp(String.fromCodePoint(0x08), 'g'), '').replaceAll(new RegExp(/\\+\{/,'g'), '{');
|
||||
const clean = (text) => text.replace(new RegExp(String.fromCodePoint(0x08), 'g'), '');
|
||||
|
||||
export function build() {
|
||||
// vitestの挙動を調整するため、一度ローカル変数化する必要がある
|
||||
// https://github.com/vitest-dev/vitest/issues/3988#issuecomment-1686599577
|
||||
// https://github.com/misskey-dev/misskey/pull/14057#issuecomment-2192833785
|
||||
const metaUrl = import.meta.url;
|
||||
const locales = languages.reduce((a, c) => (a[c] = yaml.load(clean(fs.readFileSync(new URL(`${c}.yml`, metaUrl), 'utf-8'))) || {}, a), {});
|
||||
const locales = languages.reduce((a, c) => (a[c] = yaml.load(clean(fs.readFileSync(new URL(`${c}.yml`, import.meta.url), 'utf-8'))) || {}, a), {});
|
||||
|
||||
// 空文字列が入ることがあり、フォールバックが動作しなくなるのでプロパティごと消す
|
||||
const removeEmpty = (obj) => {
|
||||
|
|
|
@ -86,7 +86,7 @@ note: "Nota"
|
|||
notes: "Note"
|
||||
following: "Follow"
|
||||
followers: "Follower"
|
||||
followsYou: "Follower"
|
||||
followsYou: "Segue"
|
||||
createList: "Aggiungi una nuova lista"
|
||||
manageLists: "Gestisci liste"
|
||||
error: "Errore"
|
||||
|
@ -103,20 +103,17 @@ defaultNoteVisibility: "Privacy predefinita delle note"
|
|||
follow: "Segui"
|
||||
followRequest: "Richiesta di follow"
|
||||
followRequests: "Richieste di follow"
|
||||
unfollow: "Smetti di seguire"
|
||||
unfollow: "Interrompi following"
|
||||
followRequestPending: "Richiesta in approvazione"
|
||||
enterEmoji: "Inserisci emoji"
|
||||
renote: "Rinota"
|
||||
unrenote: "Elimina la Rinota"
|
||||
renoted: "Rinotata!"
|
||||
renotedToX: "Rinota da {name}."
|
||||
cantRenote: "È impossibile rinotare questa nota."
|
||||
cantReRenote: "È impossibile rinotare una Rinota."
|
||||
quote: "Citazione"
|
||||
inChannelRenote: "Rinota nel canale"
|
||||
inChannelQuote: "Cita nel canale"
|
||||
renoteToChannel: "Rinota al canale"
|
||||
renoteToOtherChannel: "Rinota a un altro canale"
|
||||
pinnedNote: "Nota in primo piano"
|
||||
pinned: "Fissa sul profilo"
|
||||
you: "Tu"
|
||||
|
@ -134,16 +131,15 @@ overwriteFromPinnedEmojis: "Sovrascrivi con le impostazioni globali"
|
|||
reactionSettingDescription2: "Trascina per riorganizzare, clicca per cancellare, usa il pulsante \"+\" per aggiungere."
|
||||
rememberNoteVisibility: "Ricordare le impostazioni di visibilità delle note"
|
||||
attachCancel: "Rimuovi allegato"
|
||||
deleteFile: "File da Drive eliminato"
|
||||
markAsSensitive: "Segna come esplicito"
|
||||
unmarkAsSensitive: "Non segnare come esplicito "
|
||||
enterFileName: "Nome del file"
|
||||
mute: "Silenziare"
|
||||
mute: "Silenzia"
|
||||
unmute: "Riattiva l'audio"
|
||||
renoteMute: "Silenziare le Rinota"
|
||||
renoteMute: "Silenzia le Rinota"
|
||||
renoteUnmute: "Non silenziare le Rinota"
|
||||
block: "Bloccare"
|
||||
unblock: "Sbloccare"
|
||||
block: "Blocca"
|
||||
unblock: "Sblocca"
|
||||
suspend: "Sospensione"
|
||||
unsuspend: "Revoca la sospensione"
|
||||
blockConfirm: "Vuoi davvero bloccare il profilo?"
|
||||
|
@ -181,10 +177,6 @@ addAccount: "Aggiungi profilo"
|
|||
reloadAccountsList: "Ricarica l'elenco dei profili"
|
||||
loginFailed: "Accesso non riuscito"
|
||||
showOnRemote: "Leggi sull'istanza remota"
|
||||
continueOnRemote: "Continua da remoto"
|
||||
chooseServerOnMisskeyHub: "Scegli l'istanza sul sito Misskey Hub"
|
||||
specifyServerHost: "Indica l'indirizzo dell'istanza"
|
||||
inputHostName: "Digita il nome del dominio "
|
||||
general: "Generali"
|
||||
wallpaper: "Sfondo"
|
||||
setWallpaper: "Imposta sfondo"
|
||||
|
@ -208,8 +200,8 @@ charts: "Grafici"
|
|||
perHour: "orario"
|
||||
perDay: "giornaliero"
|
||||
stopActivityDelivery: "Interrompi la distribuzione di attività"
|
||||
blockThisInstance: "Bloccare l'istanza"
|
||||
silenceThisInstance: "Silenziare l'istanza"
|
||||
blockThisInstance: "Blocca questa istanza"
|
||||
silenceThisInstance: "Silenzia l'istanza"
|
||||
operations: "Operazioni"
|
||||
software: "Software"
|
||||
version: "Versione"
|
||||
|
@ -231,7 +223,7 @@ blockedInstances: "Istanze bloccate"
|
|||
blockedInstancesDescription: "Elenca le istanze che vuoi bloccare, una per riga. Esse non potranno più interagire con la tua istanza."
|
||||
silencedInstances: "Istanze silenziate"
|
||||
silencedInstancesDescription: "Elenca i nomi host delle istanze che vuoi silenziare. Tutti i profili nelle istanze silenziate vengono trattati come tali. Possono solo inviare richieste di follow e menzionare soltanto i profili locali che seguono. Le istanze bloccate non sono interessate."
|
||||
muteAndBlock: "Silenziare e bloccare"
|
||||
muteAndBlock: "Silenziati / Bloccati"
|
||||
mutedUsers: "Profili silenziati"
|
||||
blockedUsers: "Profili bloccati"
|
||||
noUsers: "Non ci sono profili"
|
||||
|
@ -321,7 +313,6 @@ selectFile: "Scelta allegato"
|
|||
selectFiles: "Scelta allegato"
|
||||
selectFolder: "Seleziona cartella"
|
||||
selectFolders: "Seleziona cartella"
|
||||
fileNotSelected: "Nessun file selezionato"
|
||||
renameFile: "Rinomina file"
|
||||
folderName: "Nome della cartella"
|
||||
createFolder: "Nuova cartella"
|
||||
|
@ -389,11 +380,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "Abilita hCaptcha"
|
||||
hcaptchaSiteKey: "Chiave del sito"
|
||||
hcaptchaSecretKey: "Chiave segreta"
|
||||
mcaptcha: "mCaptcha"
|
||||
enableMcaptcha: "Abilita hCaptcha"
|
||||
mcaptchaSiteKey: "Chiave del sito"
|
||||
mcaptchaSecretKey: "Chiave segreta"
|
||||
mcaptchaInstanceUrl: "URL della istanza mCaptcha"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Abilita reCAPTCHA"
|
||||
recaptchaSiteKey: "Chiave del sito"
|
||||
|
@ -409,7 +395,6 @@ name: "Nome"
|
|||
antennaSource: "Fonte dell'antenna"
|
||||
antennaKeywords: "Parole chiavi da ricevere"
|
||||
antennaExcludeKeywords: "Parole chiavi da escludere"
|
||||
antennaExcludeBots: "Escludere i Bot"
|
||||
antennaKeywordsDescription: "Sparando con uno spazio indichi la condizione E (and). Separando con un a capo, indichi la condizione O (or)."
|
||||
notifyAntenna: "Invia notifiche delle nuove note"
|
||||
withFileAntenna: "Solo note con file in allegato"
|
||||
|
@ -420,7 +405,7 @@ withReplies: "Includere le risposte"
|
|||
connectedTo: "Connessione ai seguenti profili:"
|
||||
notesAndReplies: "Note e risposte"
|
||||
withFiles: "Con allegati"
|
||||
silence: "Silenziare"
|
||||
silence: "Silenzia"
|
||||
silenceConfirm: "Vuoi davvero silenziare questo profilo?"
|
||||
unsilence: "Riattiva"
|
||||
unsilenceConfirm: "Vuoi davvero riattivare questo profilo?"
|
||||
|
@ -445,7 +430,7 @@ moderation: "moderazione"
|
|||
moderationNote: "Promemoria di moderazione"
|
||||
addModerationNote: "Aggiungi promemoria di moderazione"
|
||||
moderationLogs: "Cronologia di moderazione"
|
||||
nUsersMentioned: "{n} profili ne parlano"
|
||||
nUsersMentioned: "{n} profili menzionati"
|
||||
securityKeyAndPasskey: "Chiave di sicurezza e accesso"
|
||||
securityKey: "Chiave di sicurezza"
|
||||
lastUsed: "Ultima attività"
|
||||
|
@ -460,7 +445,7 @@ share: "Condividi"
|
|||
notFound: "Non trovato"
|
||||
notFoundDescription: "Nessuna pagina corrisponde all'URL indicata."
|
||||
uploadFolder: "Destinazione caricamento predefinita"
|
||||
markAsReadAllNotifications: "Segnare tutte le notifiche come lette"
|
||||
markAsReadAllNotifications: "Segna tutte le notifiche come lette"
|
||||
markAsReadAllUnreadNotes: "Segna tutte le note come lette"
|
||||
markAsReadAllTalkMessages: "Segna tutte le chat come lette"
|
||||
help: "Guida"
|
||||
|
@ -477,12 +462,10 @@ retype: "Conferma"
|
|||
noteOf: "Note di {user}"
|
||||
quoteAttached: "Citazione allegata"
|
||||
quoteQuestion: "Vuoi aggiungere una citazione?"
|
||||
attachAsFileQuestion: "Il testo copiato eccede le dimensioni, vuoi allegarlo?"
|
||||
noMessagesYet: "Ancora nessuna chat"
|
||||
newMessageExists: "Hai ricevuto un nuovo messaggio"
|
||||
onlyOneFileCanBeAttached: "È possibile allegare al messaggio soltanto uno file"
|
||||
signinRequired: "Occorre avere un profilo registrato su questa istanza"
|
||||
signinOrContinueOnRemote: "Per continuare, devi accedere alla tua istanza o registrarti su questa e poi accedere"
|
||||
invitations: "Invita"
|
||||
invitationCode: "Codice di invito"
|
||||
checking: "Confermando"
|
||||
|
@ -506,7 +489,6 @@ emojiStyle: "Stile emoji"
|
|||
native: "Nativo"
|
||||
disableDrawer: "Non mostrare il menù sul drawer"
|
||||
showNoteActionsOnlyHover: "Mostra le azioni delle Note solo al passaggio del mouse"
|
||||
showReactionsCount: "Visualizza il numero di reazioni su una nota"
|
||||
noHistory: "Nessuna cronologia"
|
||||
signinHistory: "Storico degli accessi al profilo"
|
||||
enableAdvancedMfm: "Attiva MFM avanzati"
|
||||
|
@ -590,7 +572,7 @@ scratchpadDescription: "Lo Scratchpad offre un ambiente per esperimenti di AiScr
|
|||
output: "Uscita"
|
||||
script: "Script"
|
||||
disablePagesScript: "Disabilita AiScript nelle pagine"
|
||||
updateRemoteUser: "Aggiorna dati dal profilo remoto"
|
||||
updateRemoteUser: "Aggiorna le informazioni dal profilo remoto"
|
||||
unsetUserAvatar: "Rimozione foto profilo"
|
||||
unsetUserAvatarConfirm: "Vuoi davvero rimuovere la foto profilo?"
|
||||
unsetUserBanner: "Rimuovi intestazione profilo"
|
||||
|
@ -600,7 +582,7 @@ deleteAllFilesConfirm: "Vuoi davvero eliminare tutti i file?"
|
|||
removeAllFollowing: "Annulla tutti i follow"
|
||||
removeAllFollowingDescription: "Cancella tutti i follows del server {host}. Per favore, esegui se, ad esempio, l'istanza non esiste più."
|
||||
userSuspended: "L'utente è in sospensione"
|
||||
userSilenced: "Profilo silenziato"
|
||||
userSilenced: "Profilo silente."
|
||||
yourAccountSuspendedTitle: "Questo profilo è sospeso"
|
||||
yourAccountSuspendedDescription: "Questo profilo è stato sospeso a causa di una violazione del regolamento. Per informazioni, contattare l'amministrazione. Si prega di non creare un nuovo account."
|
||||
tokenRevoked: "Il token non è valido"
|
||||
|
@ -645,7 +627,6 @@ medium: "Medio"
|
|||
small: "Piccolo"
|
||||
generateAccessToken: "Genera token di accesso"
|
||||
permission: "Autorizzazioni "
|
||||
adminPermission: "Privilegi amministrativi"
|
||||
enableAll: "Abilita tutto"
|
||||
disableAll: "Disabilita tutto"
|
||||
tokenRequested: "Autorizza accesso al profilo"
|
||||
|
@ -670,8 +651,8 @@ wordMute: "Filtri parole"
|
|||
hardWordMute: "Filtro parole forte"
|
||||
regexpError: "errore regex"
|
||||
regexpErrorDescription: "Si è verificato un errore nell'espressione regolare alla riga {line} della parola muta {tab}:"
|
||||
instanceMute: "Silenziare l'istanza"
|
||||
userSaysSomething: "{name} ha parlato"
|
||||
instanceMute: "Silenzia l'istanza"
|
||||
userSaysSomething: "{name} ha detto qualcosa"
|
||||
makeActive: "Attiva"
|
||||
display: "Visualizza"
|
||||
copy: "Copia"
|
||||
|
@ -689,24 +670,23 @@ useGlobalSettingDesc: "Quando attiva, verranno utilizzate le impostazioni notifi
|
|||
other: "Ulteriori"
|
||||
regenerateLoginToken: "Genera di nuovo un token di connessione"
|
||||
regenerateLoginTokenDescription: "Genera un nuovo token di autenticazione. Solitamente questa operazione non è necessaria: quando si genera un nuovo token, tutti i dispositivi vanno disconnessi."
|
||||
theKeywordWhenSearchingForCustomEmoji: "Questa sarà la parola chiave durante la ricerca di emoji personalizzate"
|
||||
setMultipleBySeparatingWithSpace: "È possibile creare multiple voci separate da spazi."
|
||||
fileIdOrUrl: "ID o URL del file"
|
||||
behavior: "Comportamento"
|
||||
sample: "Esempio"
|
||||
abuseReports: "Segnalazioni"
|
||||
reportAbuse: "Segnalare"
|
||||
reportAbuseRenote: "Segnalare la Rinota"
|
||||
reportAbuseOf: "Segnalare {name}"
|
||||
reportAbuse: "Segnala"
|
||||
reportAbuseRenote: "Segnala la Rinota"
|
||||
reportAbuseOf: "Segnala {name}"
|
||||
fillAbuseReportDescription: "Per favore, spiegaci il motivo della segnalazione. Se riguarda una Nota precisa, indica anche l'indirizzo URL."
|
||||
abuseReported: "La segnalazione è stata inviata. Grazie."
|
||||
reporter: "il corrispondente"
|
||||
reporteeOrigin: "Segnalazione a"
|
||||
reporterOrigin: "Segnalazione da"
|
||||
reporteeOrigin: "Origine del segnalato"
|
||||
reporterOrigin: "Origine del segnalatore"
|
||||
forwardReport: "Inoltro di un report a un'istanza remota."
|
||||
forwardReportIsAnonymous: "L'istanza remota non vedrà le tue informazioni, apparirai come profilo di sistema, anonimo."
|
||||
send: "Inviare"
|
||||
abuseMarkAsResolved: "Risolvi segnalazione"
|
||||
abuseMarkAsResolved: "Contrassegna la segnalazione come risolta"
|
||||
openInNewTab: "Apri in una nuova scheda"
|
||||
openInSideView: "Apri in vista laterale"
|
||||
defaultNavigationBehaviour: "Navigazione preimpostata"
|
||||
|
@ -777,7 +757,7 @@ reloadToApplySetting: "Le tue preferenze verranno impostate dopo il ricaricament
|
|||
needReloadToApply: "È necessario riavviare per rendere effettive le modifiche."
|
||||
showTitlebar: "Visualizza la barra del titolo"
|
||||
clearCache: "Svuota la cache"
|
||||
onlineUsersCount: "{n} persone attive adesso"
|
||||
onlineUsersCount: "{n} persone online"
|
||||
nUsers: "{n} profili"
|
||||
nNotes: "{n}Note"
|
||||
sendErrorReports: "Invia segnalazioni di errori"
|
||||
|
@ -845,7 +825,6 @@ administration: "Gestione"
|
|||
accounts: "Profilo"
|
||||
switch: "Cambia"
|
||||
noMaintainerInformationWarning: "Mancano le informazioni sull'amministratore."
|
||||
noInquiryUrlWarning: "Non è stata impostata la URL di contatto"
|
||||
noBotProtectionWarning: "Non è stata impostata alcuna protezione dai Bot"
|
||||
configure: "Imposta"
|
||||
postToGallery: "Pubblicare nella galleria"
|
||||
|
@ -877,7 +856,7 @@ troubleshooting: "Risoluzione problemi"
|
|||
useBlurEffect: "Utilizza effetto sfocatura"
|
||||
learnMore: "Più dettagli"
|
||||
misskeyUpdated: "Misskey è stato aggiornato!"
|
||||
whatIsNew: "Informazioni sull'aggiornamento"
|
||||
whatIsNew: "Visualizza le informazioni sull'aggiornamento"
|
||||
translate: "Traduci"
|
||||
translatedFrom: "Traduzione da {x}"
|
||||
accountDeletionInProgress: "È in corso l'eliminazione del profilo"
|
||||
|
@ -889,7 +868,7 @@ pubSub: "Publish/Subscribe del profilo"
|
|||
lastCommunication: "La comunicazione più recente"
|
||||
resolved: "Risolto"
|
||||
unresolved: "Non risolto"
|
||||
breakFollow: "Impedire di seguirmi"
|
||||
breakFollow: "Interrompi follow"
|
||||
breakFollowConfirm: "Vuoi davvero che questo profilo smetta di seguirti?"
|
||||
itsOn: "Abilitato"
|
||||
itsOff: "Disabilitato"
|
||||
|
@ -903,10 +882,8 @@ manageAccounts: "Gestisci i profili"
|
|||
makeReactionsPublic: "Pubblicare la lista delle reazioni."
|
||||
makeReactionsPublicDescription: "La lista delle reazioni che avete fatto è a disposizione di tutti."
|
||||
classic: "Classico"
|
||||
muteThread: "Silenziare conversazione"
|
||||
muteThread: "Silenzia conversazione"
|
||||
unmuteThread: "Riattiva la conversazione"
|
||||
followingVisibility: "Visibilità dei profili seguiti"
|
||||
followersVisibility: "Visibilità dei profili che ti seguono"
|
||||
continueThread: "Altre conversazioni"
|
||||
deleteAccountConfirm: "Così verrà eliminato il profilo. Vuoi procedere?"
|
||||
incorrectPassword: "La password è errata."
|
||||
|
@ -985,11 +962,11 @@ shuffle: "Casuale"
|
|||
account: "Account"
|
||||
move: "Sposta"
|
||||
pushNotification: "Notifiche Push"
|
||||
subscribePushNotification: "Attivare le notifiche push"
|
||||
unsubscribePushNotification: "Disattivare le notifiche push"
|
||||
subscribePushNotification: "Attiva le notifiche push"
|
||||
unsubscribePushNotification: "Disattiva le notifiche push"
|
||||
pushNotificationAlreadySubscribed: "Le notifiche push sono già attivate"
|
||||
pushNotificationNotSupported: "Il client o il server non supporta le notifiche push"
|
||||
sendPushNotificationReadMessage: "Eliminare le notifiche push dopo la relativa lettura"
|
||||
sendPushNotificationReadMessage: "Elimina le notifiche push dopo la relativa lettura"
|
||||
sendPushNotificationReadMessageCaption: "Se possibile, verrà mostrata brevemente una notifica con il testo \"{emptyPushNotificationMessage}\". Potrebbe influire negativamente sulla durata della batteria."
|
||||
windowMaximize: "Ingrandisci"
|
||||
windowMinimize: "Contrai finestra"
|
||||
|
@ -1008,7 +985,6 @@ neverShow: "Non mostrare più"
|
|||
remindMeLater: "Rimanda"
|
||||
didYouLikeMisskey: "Ti piace Misskey?"
|
||||
pleaseDonate: "Misskey è il software libero utilizzato su {host}. Offrendo una donazione è più facile continuare a svilupparlo!"
|
||||
correspondingSourceIsAvailable: ""
|
||||
roles: "Ruoli"
|
||||
role: "Ruolo"
|
||||
noRole: "Ruolo non trovato"
|
||||
|
@ -1036,7 +1012,6 @@ thisPostMayBeAnnoyingHome: "Pubblica sulla timeline principale"
|
|||
thisPostMayBeAnnoyingCancel: "Annulla"
|
||||
thisPostMayBeAnnoyingIgnore: "Pubblica lo stesso"
|
||||
collapseRenotes: "Comprimi le Rinota già viste"
|
||||
collapseRenotesDescription: "Comprimi le Note con cui hai già interagito."
|
||||
internalServerError: "Errore interno del server"
|
||||
internalServerErrorDescription: "Si è verificato un errore imprevisto all'interno del server"
|
||||
copyErrorInfo: "Copia le informazioni sull'errore"
|
||||
|
@ -1060,9 +1035,6 @@ resetPasswordConfirm: "Vuoi davvero ripristinare la password?"
|
|||
sensitiveWords: "Parole esplicite"
|
||||
sensitiveWordsDescription: "Imposta automaticamente \"Home\" alla visibilità delle Note che contengono una qualsiasi parola tra queste configurate. Puoi separarle per riga."
|
||||
sensitiveWordsDescription2: "Gli spazi creano la relazione \"E\" tra parole (questo E quello). Racchiudere una parola nelle slash \"/\" la trasforma in Espressione Regolare."
|
||||
prohibitedWords: "Parole proibite"
|
||||
prohibitedWordsDescription: "Verrà impedito di pubblicare Note che abbiano le parole indicate. Puoi impostare più parole, separatamente, su ogni riga."
|
||||
prohibitedWordsDescription2: "Gli spazi creano la relazione \"E\" tra parole (questo E quello). Racchiudere una parola nelle slash \"/\" la trasforma in Espressione Regolare."
|
||||
hiddenTags: "Hashtag nascosti"
|
||||
hiddenTagsDescription: "Impedire la visualizzazione del tag impostato nei trend. Puoi impostare più valori, uno per riga."
|
||||
notesSearchNotAvailable: "Non è possibile cercare tra le Note."
|
||||
|
@ -1081,8 +1053,6 @@ limitWidthOfReaction: "Limita la larghezza delle reazioni e ridimensionale"
|
|||
noteIdOrUrl: "ID della Nota o URL"
|
||||
video: "Video"
|
||||
videos: "Video"
|
||||
audio: "Audio"
|
||||
audioFiles: "Audio"
|
||||
dataSaver: "Risparmia dati"
|
||||
accountMigration: "Migrazione del profilo"
|
||||
accountMoved: "Questo profilo ha migrato altrove:"
|
||||
|
@ -1178,7 +1148,6 @@ showRenotes: "Includi le Rinota"
|
|||
edited: "Modificato"
|
||||
notificationRecieveConfig: "Preferenze di notifica"
|
||||
mutualFollow: "Follow reciproco"
|
||||
followingOrFollower: "Following o Follower"
|
||||
fileAttachedOnly: "Solo con allegati"
|
||||
showRepliesToOthersInTimeline: "Risposte altrui nella TL"
|
||||
hideRepliesToOthersInTimeline: "Nascondi Riposte altrui nella TL"
|
||||
|
@ -1187,13 +1156,6 @@ hideRepliesToOthersInTimelineAll: "Nascondi le risposte dei tuoi follow nella TL
|
|||
confirmShowRepliesAll: "Questa è una attività irreversibile. Vuoi davvero includere tutte le risposte dei following in TL?"
|
||||
confirmHideRepliesAll: "Questa è una attività irreversibile. Vuoi davvero escludere tutte le risposte dei following in TL?"
|
||||
externalServices: "Servizi esterni"
|
||||
sourceCode: "Codice sorgente"
|
||||
sourceCodeIsNotYetProvided: ""
|
||||
repositoryUrl: "URL della repository"
|
||||
repositoryUrlDescription: "Se esiste un repository il cui il codice sorgente è disponibile pubblicamente, inserisci il suo URL. Se stai utilizzando Misskey così com'è (senza alcuna modifica al codice sorgente), inserisci https://github.com/misskey-dev/misskey."
|
||||
repositoryUrlOrTarballRequired: "Se non disponi di un repository pubblico, dovrai fornire un file tarball (tar). Vedere .config/example.yml per i dettagli."
|
||||
feedback: "Feedback"
|
||||
feedbackUrl: "URL di feedback"
|
||||
impressum: "Dichiarazione di proprietà"
|
||||
impressumUrl: "URL della dichiarazione di proprietà"
|
||||
impressumDescription: "La dichiarazione di proprietà, è obbligatoria in alcuni paesi come la Germania (Impressum)."
|
||||
|
@ -1221,63 +1183,6 @@ remainingN: "Rimangono: {n}"
|
|||
overwriteContentConfirm: "Vuoi davvero sostituire l'attuale contenuto?"
|
||||
seasonalScreenEffect: "Schermate in base alla stagione"
|
||||
decorate: "Decora"
|
||||
addMfmFunction: "Aggiungi decorazioni"
|
||||
enableQuickAddMfmFunction: "Attiva il selettore di funzioni MFM"
|
||||
bubbleGame: "Bubble Game"
|
||||
sfx: "Effetti sonori"
|
||||
soundWillBePlayed: "Con musica ed effetti sonori"
|
||||
showReplay: "Vedi i replay"
|
||||
replay: "Replay"
|
||||
replaying: "Replay in corso"
|
||||
endReplay: "Termina replay"
|
||||
copyReplayData: "Copia replay"
|
||||
ranking: "Classifica"
|
||||
lastNDays: "Ultimi {n} giorni"
|
||||
backToTitle: "Torna al titolo"
|
||||
hemisphere: "Geolocalizzazione"
|
||||
withSensitive: "Mostra le Note con allegati espliciti"
|
||||
userSaysSomethingSensitive: "Note da {name} con allegati espliciti"
|
||||
enableHorizontalSwipe: "Trascina per invertire i tab"
|
||||
loading: "Caricamento"
|
||||
surrender: "Annulla"
|
||||
gameRetry: "Riprova"
|
||||
notUsePleaseLeaveBlank: "Lasciare vuoto, se non in uso"
|
||||
useTotp: "Usare il codice OTP"
|
||||
useBackupCode: "Usare il codice usa-e-getta"
|
||||
launchApp: "Esegui l'App"
|
||||
useNativeUIForVideoAudioPlayer: "Riprodurre audio/video usando le funzionalità del browser"
|
||||
keepOriginalFilename: "Mantieni il nome file originale"
|
||||
keepOriginalFilenameDescription: "Disattivandola, i file verranno caricati usando nomi casuali."
|
||||
noDescription: "Manca la descrizione"
|
||||
alwaysConfirmFollow: "Richiedi conferma per i Follow"
|
||||
inquiry: "Contattaci"
|
||||
tryAgain: "Per favore riprova"
|
||||
confirmWhenRevealingSensitiveMedia: "Richiedi conferma prima di mostrare gli allegati espliciti"
|
||||
sensitiveMediaRevealConfirm: "Questo allegato è esplicito, vuoi vederlo?"
|
||||
_delivery:
|
||||
status: "Stato della distribuzione di attività"
|
||||
stop: "Sospendi la distribuzione di attività"
|
||||
resume: "Riprendi la distribuzione di attività"
|
||||
_type:
|
||||
none: "Pubblicazione"
|
||||
manuallySuspended: "Sospesa manualmente"
|
||||
goneSuspended: "Sospensione server a causa dell'eliminazione"
|
||||
autoSuspendedForNotResponding: "Sospensione del server a causa di mancata risposta"
|
||||
_bubbleGame:
|
||||
howToPlay: "Come giocare"
|
||||
hold: "Tieni"
|
||||
_score:
|
||||
score: "Punteggio"
|
||||
scoreYen: "Capitale"
|
||||
highScore: "Punteggio migliore"
|
||||
maxChain: "Miglior combo"
|
||||
yen: "{yen}¥"
|
||||
estimatedQty: "{qty} punti"
|
||||
scoreSweets: "Onigiri {onigiriQtyWithUnit}"
|
||||
_howToPlay:
|
||||
section1: "Scegli la posizione e rilascia l'oggetto nel contenitore."
|
||||
section2: "Se due oggetti dello stesso tipo si toccano, si trasformano in un oggetto diverso, aumentando il punteggio."
|
||||
section3: "Se gli oggetti escono dal limite superiore del contenitore, il gioco finisce. Cerca di ottenere un punteggio elevato fondendo gli oggetti, evitando che escano dal contenitore!"
|
||||
_announcement:
|
||||
forExistingUsers: "Solo ai profili attuali"
|
||||
forExistingUsersDescription: "L'annuncio sarà visibile solo ai profili esistenti in questo momento. Se disabilitato, sarà visibile anche ai profili che verranno creati dopo la pubblicazione di questo annuncio."
|
||||
|
@ -1289,7 +1194,7 @@ _announcement:
|
|||
readConfirmText: "Hai già letto \"{title}˝?"
|
||||
shouldNotBeUsedToPresentPermanentInfo: "Ti consigliamo di utilizzare gli annunci per pubblicare informazioni tempestive e limitate nel tempo, anziché informazioni importanti a lungo andare nel tempo, poiché potrebbero risultare difficili da ritrovare e peggiorare la fruibilità del servizio, specialmente alle nuove persone iscritte."
|
||||
dialogAnnouncementUxWarn: "Ti consigliamo di usarli con cautela, poiché è molto probabile che avere più di un annuncio in stile \"finestra di dialogo\" peggiori sensibilmente la fruibilità del servizio, specialmente alle nuove persone iscritte."
|
||||
silence: "Silenziare gli annunci"
|
||||
silence: "Silenzia gli annunci"
|
||||
silenceDescription: "Se attivi questa opzione, non riceverai notifiche sugli annunci, evitando di contrassegnarle come già lette."
|
||||
_initialAccountSetting:
|
||||
accountCreated: "Il tuo profilo è stato creato!"
|
||||
|
@ -1325,17 +1230,17 @@ _initialTutorial:
|
|||
_reaction:
|
||||
title: "Cosa sono le Reazioni?"
|
||||
description: "Puoi reagire alle Note. Le sensazioni che non si riescono a trasmettere con i \"Mi piace\" si possono esprimere facilmente inviando una reazione."
|
||||
letsTryReacting: "Puoi aggiungere una Reazione cliccando il bottone \"{reaction}\" della relativa Nota. Prova ad aggiungerne una a questa Nota di esempio!"
|
||||
letsTryReacting: "Puoi aggiungere una Reazione cliccando il bottone \"+\" (più) della relativa Nota. Prova ad aggiungerne una a questa Nota di esempio!"
|
||||
reactToContinue: "Aggiungere la Reazione ti consentirà di procedere col tutorial."
|
||||
reactNotification: "Quando qualcuno reagisce alle tue Note, ricevi una notifica in tempo reale."
|
||||
reactDone: "Annulla la tua Reazione premendo il bottone \"{undo}\""
|
||||
reactDone: "Puoi annullare la tua Reazione premendo il bottone \"ー\" (meno)"
|
||||
_timeline:
|
||||
title: "Come funziona la Timeline"
|
||||
description1: "Misskey fornisce alcune Timeline (sequenze cronologiche di Note). Una di queste potrebbe essere stata disattivata dagli amministratori."
|
||||
home: "le Note provenienti dai profili che segui (follow)."
|
||||
local: "tutte le Note pubblicate dai profili di questa istanza."
|
||||
social: "sia le Note della Timeline Home che quelle della Timeline Locale, insieme!"
|
||||
global: "le Note da pubblicate da tutte le altre istanze federate con la nostra."
|
||||
home: "Puoi vedere le Note provenienti dai profili che segui (follow)."
|
||||
local: "Puoi vedere tutte le Note pubblicate dai profili di questa istanza."
|
||||
social: "Puoi vedere sia le Note della Timeline Home che quelle della Timeline Locale, insieme!"
|
||||
global: "Puoi vedere le Note da pubblicate da tutte le altre istanze federate con la nostra."
|
||||
description2: "Nella parte superiore dello schermo, puoi scegliere una Timeline o l'altra in qualsiasi momento."
|
||||
description3: "Ci sono anche sequenze temporali di elenchi, sequenze temporali di canali, ecc. Per ulteriori dettagli, consultare il {link}.\nPuoi vedere anche Timeline delle liste di profili (se ne hai create), canali, ecc... Per i dettagli, visita {link}."
|
||||
_postNote:
|
||||
|
@ -1359,13 +1264,13 @@ _initialTutorial:
|
|||
useCases: "Utilizzalo per chiarire il contenuto della Nota, prima che sia letta. Come richiesto dal regolamento del server o per autoregolamentare spoiler e testi troppo espliciti."
|
||||
_howToMakeAttachmentsSensitive:
|
||||
title: "Come indicare che gli allegati sono espliciti?"
|
||||
description: "Si fa quando è richiesto dal regolamento del server o quando non devono essere visibili immediatamente."
|
||||
description: "Contrassegnare gli allegati come espliciti, va fatto quando è richiesto dal regolamento del server o quando gli allegati non devono essere immediatamente visibili."
|
||||
tryThisFile: "Prova a rendere esplicite le immagini allegate a questo modulo!"
|
||||
_exampleNote:
|
||||
note: "AAA! Ho rotto il coperchio del natto... (fagioli di soia fermentati)"
|
||||
method: "Tocca il file, si aprirà il menu, scegli la voce \"Segna come esplicito\""
|
||||
sensitiveSucceeded: "Quando alleghi file, assicurati di indicare se è materiale esplicito in modo appropriato, decidi in base al regolamento dell'istanza."
|
||||
doItToContinue: "Imposta l'immagine come esplicita per procedere col tutorial."
|
||||
note: "Ho fatto un errore aprendo il coperchio del natto... (fagioli di soia fermentati, particolarmente appiccicosi)"
|
||||
method: "Per indicare che un allegato è esplicito, tocca il file per aprirne il menu e scegliere la voce \"Segna come esplicito\"."
|
||||
sensitiveSucceeded: "Quando alleghi file, assicurati di indicare se è materiale esplicito, in modo appropriato, in base al regolamento del tuo server."
|
||||
doItToContinue: "Impostando l'immagine come esplicita, potrai procedere col tutorial."
|
||||
_done:
|
||||
title: "Il tutorial è finito! 🎉"
|
||||
description: "Queste sono solamente alcune delle funzionalità principali di Misskey. Per ulteriori informazioni, {link}."
|
||||
|
@ -1388,12 +1293,10 @@ _serverSettings:
|
|||
fanoutTimelineDescription: "Attivando questa funzionalità migliori notevolmente la capacità delle Timeline di collezionare Note, riducendo il carico sul database. Tuttavia, aumenterà l'impiego di memoria RAM per Redis. Disattiva se il tuo server ha poca RAM o la funzionalità è irregolare."
|
||||
fanoutTimelineDbFallback: "Elaborazione dati alternativa"
|
||||
fanoutTimelineDbFallbackDescription: "Attivando l'elaborazione alternativa, verrà interrogato ulteriormente il database se la timeline non è nella cache. \nDisattivando, si può ridurre ulteriormente il carico del server, evitando l'elaborazione alternativa, ma limitando l'intervallo recuperabile delle timeline."
|
||||
inquiryUrl: "URL di contatto"
|
||||
inquiryUrlDescription: "Specificare l'URL al modulo di contatto, oppure le informazioni con i dati di contatto dell'amministrazione."
|
||||
_accountMigration:
|
||||
moveFrom: "Migra un altro profilo dentro a questo"
|
||||
moveFromSub: "Crea un alias verso un altro profilo remoto"
|
||||
moveFromLabel: "Profilo da cui migrare #{n}"
|
||||
moveFromLabel: "Profilo da cui migrare:"
|
||||
moveFromDescription: "Se desideri spostare i profili follower da un altro profilo a questo, devi prima creare un alias qui. Assicurati averlo creato PRIMA di eseguire l'attività! Inserisci l'indirizzo del profilo mittente in questo modo: @persona@istanza.it"
|
||||
moveTo: "Migrare questo profilo verso un un altro"
|
||||
moveToLabel: "Profilo verso cui migrare"
|
||||
|
@ -1650,13 +1553,6 @@ _achievements:
|
|||
_tutorialCompleted:
|
||||
title: "Attestato di partecipazione al corso per principianti di Misskey"
|
||||
description: "Ha completato il tutorial"
|
||||
_bubbleGameExplodingHead:
|
||||
title: "🤯"
|
||||
description: "Estrai l'oggetto più grande dal Bubble Game"
|
||||
_bubbleGameDoubleExplodingHead:
|
||||
title: "Doppio 🤯"
|
||||
description: "Due oggetti più grossi contemporaneamente nel Bubble Game"
|
||||
flavor: "Ha le dimensioni di una bento-box 🤯 🤯"
|
||||
_role:
|
||||
new: "Nuovo ruolo"
|
||||
edit: "Modifica ruolo"
|
||||
|
@ -1697,7 +1593,6 @@ _role:
|
|||
gtlAvailable: "Disponibilità della Timeline Federata"
|
||||
ltlAvailable: "Disponibilità della Timeline Locale"
|
||||
canPublicNote: "Scrivere Note con Visibilità Pubblica"
|
||||
mentionMax: "Numero massimo di menzioni in una nota"
|
||||
canInvite: "Generare codici di invito all'istanza"
|
||||
inviteLimit: "Limite di codici invito"
|
||||
inviteLimitCycle: "Intervallo di emissione del codice di invito"
|
||||
|
@ -1706,7 +1601,6 @@ _role:
|
|||
canManageAvatarDecorations: "Gestisce le decorazioni di immagini del profilo"
|
||||
driveCapacity: "Capienza del Drive"
|
||||
alwaysMarkNsfw: "Impostare sempre come esplicito (NSFW)"
|
||||
canUpdateBioMedia: "Può aggiornare foto profilo e di testata"
|
||||
pinMax: "Quantità massima di Note in primo piano"
|
||||
antennaMax: "Quantità massima di Antenne"
|
||||
wordMuteMax: "Lunghezza massima del filtro parole"
|
||||
|
@ -1722,14 +1616,8 @@ _role:
|
|||
canUseTranslator: "Tradurre le Note"
|
||||
avatarDecorationLimit: "Numero massimo di decorazioni foto profilo installabili"
|
||||
_condition:
|
||||
roleAssignedTo: "Assegnato a ruoli manualmente"
|
||||
isLocal: "Profilo locale"
|
||||
isRemote: "Profilo remoto"
|
||||
isCat: "È un gattino"
|
||||
isBot: "È un bot"
|
||||
isSuspended: "È sospeso"
|
||||
isLocked: "È in stato privato"
|
||||
isExplorable: "Autorizza la pubblicazione nei cataloghi"
|
||||
createdLessThan: "Profilo creato da meno di N"
|
||||
createdMoreThan: "Profilo creato da più di N"
|
||||
followersLessThanOrEq: "Profilo con N follower o meno"
|
||||
|
@ -1755,7 +1643,6 @@ _emailUnavailable:
|
|||
disposable: "Indirizzo email non utilizzabile"
|
||||
mx: "Server email non corretto"
|
||||
smtp: "Il server email non risponde"
|
||||
banned: "Non puoi registrarti con questo indirizzo email"
|
||||
_ffVisibility:
|
||||
public: "Pubblica"
|
||||
followers: "Mostra solo ai follower"
|
||||
|
@ -1783,7 +1670,7 @@ _ad:
|
|||
_forgotPassword:
|
||||
enterEmail: "Inserisci l'indirizzo di posta elettronica che hai registrato nel tuo profilo. Il collegamento necessario per ripristinare la password verrà inviato a questo indirizzo."
|
||||
ifNoEmail: "Se il tuo indirizzo email non risulta registrato, contatta l'amministrazione dell'istanza."
|
||||
contactAdmin: "Poiché questa istanza non permette di impostare l'indirizzo mail, contatta l'amministrazione per ripristinare la password.\n"
|
||||
contactAdmin: "Poiché questa istanza non permette di impostare l'indirizzo mail, contatta l'amministrazione per ripristinare la password.\n"
|
||||
_gallery:
|
||||
my: "Le mie pubblicazioni"
|
||||
liked: "Pubblicazioni che mi piacciono"
|
||||
|
@ -1799,7 +1686,6 @@ _plugin:
|
|||
installWarn: "Si prega di installare soltanto estensioni che provengono da fonti affidabili."
|
||||
manage: "Gestisci estensioni"
|
||||
viewSource: "Visualizza sorgente"
|
||||
viewLog: "Mostra log"
|
||||
_preferencesBackups:
|
||||
list: "Elenco di impostazioni salvate in precedenza"
|
||||
saveNew: "Nuovo salvataggio"
|
||||
|
@ -1829,8 +1715,6 @@ _aboutMisskey:
|
|||
contributors: "Principali sostenitori"
|
||||
allContributors: "Tutti i sostenitori"
|
||||
source: "Codice sorgente"
|
||||
original: "Originale"
|
||||
thisIsModifiedVersion: "{name} sta usando una versione modificata diversa da Misskey originale."
|
||||
translation: "Tradurre Misskey"
|
||||
donate: "Sostieni Misskey"
|
||||
morePatrons: "Apprezziamo sinceramente il supporto di tante altre persone. Grazie mille! 🥰"
|
||||
|
@ -1875,7 +1759,7 @@ _instanceMute:
|
|||
instanceMuteDescription: "Disattiva tutte le note, le note di rinvio (condivisione) dell'istanza configurata, comprese le risposte agli utenti dell'istanza."
|
||||
instanceMuteDescription2: "Impostazione separata da una nuova riga"
|
||||
title: "Nasconde le note dell'istanza configurata."
|
||||
heading: "Istanze da silenziare"
|
||||
heading: "Istanze da silenziare."
|
||||
_theme:
|
||||
explore: "Esplora temi"
|
||||
install: "Installa un tema"
|
||||
|
@ -1951,6 +1835,8 @@ _sfx:
|
|||
note: "Nota"
|
||||
noteMy: "Mia nota"
|
||||
notification: "Notifiche"
|
||||
antenna: "Ricezione dell'antenna"
|
||||
channel: "Notifiche di canale"
|
||||
reaction: "Quando seleziono una reazione"
|
||||
_soundSettings:
|
||||
driveFile: "Suoni del Drive"
|
||||
|
@ -1988,6 +1874,7 @@ _2fa:
|
|||
registerTOTP: "Registra una App di autenticazione a due fattori (2FA/MFA)"
|
||||
step1: "Innanzitutto, installa sul dispositivo un'App di autenticazione come {a} o {b}."
|
||||
step2: "Quindi, tramite la App installata, scansiona questo codice QR."
|
||||
step2Click: "Cliccando sul codice QR, puoi registrarlo con l'app di autenticazione o il portachiavi installato sul tuo dispositivo."
|
||||
step2Uri: "Inserisci il seguente URL se desideri utilizzare una App per PC"
|
||||
step3Title: "Inserisci il codice di verifica"
|
||||
step3: "Inserite il token visualizzato nell'app e il gioco è fatto."
|
||||
|
@ -2011,7 +1898,6 @@ _2fa:
|
|||
backupCodesDescription: "Puoi usare questi codici usa-e-getta per ottenere l'accesso al tuo profilo in caso sia impossibile usare l'App col codice OTP. Salvali in un posto sicuro."
|
||||
backupCodeUsedWarning: "È stato usato un codice usa-e-getta. Per favore, riconfigura l'autenticazione a due fattori il prima possibile, nel caso la configurazione precedente abbia smesso di funzionare."
|
||||
backupCodesExhaustedWarning: "Hai esaurito i codici usa-e-getta. Se l'App che genera il codice OTP non è più disponibile, non potrai più accedere al tuo profilo. Ripeti la configurazione per l'autenticazione a due fattori."
|
||||
moreDetailedGuideHere: "Informazioni dettagliate sull'autenticazione multi fattore (2FA/MFA)"
|
||||
_permissions:
|
||||
"read:account": "Visualizza le informazioni sul profilo"
|
||||
"write:account": "Modifica le informazioni sul profilo"
|
||||
|
@ -2028,8 +1914,8 @@ _permissions:
|
|||
"read:mutes": "Vedi i profili silenziati"
|
||||
"write:mutes": "Gestisci i profili silenziati"
|
||||
"write:notes": "Creare / Eliminare note"
|
||||
"read:notifications": "Visualizzare notifiche"
|
||||
"write:notifications": "Gestire notifiche"
|
||||
"read:notifications": "Visualizza notifiche"
|
||||
"write:notifications": "Gerisci notifiche"
|
||||
"read:reactions": "Vedi reazioni"
|
||||
"write:reactions": "Gerisci reazioni"
|
||||
"write:votes": "Votare"
|
||||
|
@ -2049,54 +1935,6 @@ _permissions:
|
|||
"write:flash": "Modifica Play"
|
||||
"read:flash-likes": "Visualizza lista di Play piaciuti"
|
||||
"write:flash-likes": "Modifica lista di Play piaciuti"
|
||||
"read:admin:abuse-user-reports": "Mostra i report dai profili utente"
|
||||
"write:admin:delete-account": "Elimina l'account utente"
|
||||
"write:admin:delete-all-files-of-a-user": "Elimina i file dell'account utente"
|
||||
"read:admin:index-stats": "Visualizza informazioni sugli indici del database"
|
||||
"read:admin:table-stats": "Visualizza informazioni sulle tabelle del database"
|
||||
"read:admin:user-ips": "Visualizza indirizzi IP degli account"
|
||||
"read:admin:meta": "Visualizza i metadati dell'istanza"
|
||||
"write:admin:reset-password": "Ripristina la password dell'account utente"
|
||||
"write:admin:resolve-abuse-user-report": "Risolvere le segnalazioni dagli account utente"
|
||||
"write:admin:send-email": "Spedire email"
|
||||
"read:admin:server-info": "Vedere le informazioni sul server"
|
||||
"read:admin:show-moderation-log": "Vedere lo storico di moderazione"
|
||||
"read:admin:show-user": "Vedere le informazioni private degli account utente"
|
||||
"write:admin:suspend-user": "Sospendere i profili"
|
||||
"write:admin:unset-user-avatar": "Rimuovere la foto profilo dai profili"
|
||||
"write:admin:unset-user-banner": "Rimuovere l'immagine testata dai profili"
|
||||
"write:admin:unsuspend-user": "Togliere la sospensione ai profili"
|
||||
"write:admin:meta": "Modificare i metadati dell'istanza"
|
||||
"write:admin:user-note": "Scrivere annotazioni di moderazione"
|
||||
"write:admin:roles": "Gestire i ruoli"
|
||||
"read:admin:roles": "Vedere i ruoli"
|
||||
"write:admin:relays": "Gestire i Relay"
|
||||
"read:admin:relays": "Vedere i Relay"
|
||||
"write:admin:invite-codes": "Gestire codici di invito"
|
||||
"read:admin:invite-codes": "Vedere codici di invito"
|
||||
"write:admin:announcements": "Gestire gli annunci"
|
||||
"read:admin:announcements": "Leggere gli annunci"
|
||||
"write:admin:avatar-decorations": "Gestire le decorazioni"
|
||||
"read:admin:avatar-decorations": "Vedere le decorazioni"
|
||||
"write:admin:federation": "Gestire la federazione"
|
||||
"write:admin:account": "Vedere la federazione"
|
||||
"read:admin:account": "Vedere le utenze"
|
||||
"write:admin:emoji": "Gestire le emoji personalizzate"
|
||||
"read:admin:emoji": "Vedere le emoji personalizzate"
|
||||
"write:admin:queue": "Gestire la coda di attività"
|
||||
"read:admin:queue": "Vedere la coda di attività"
|
||||
"write:admin:promo": "Gestire le promozioni"
|
||||
"write:admin:drive": "Gestire il Drive degli account"
|
||||
"read:admin:drive": "Vedere il Drive degli account"
|
||||
"read:admin:stream": "Usare le API Websocket"
|
||||
"write:admin:ad": "Gestire i banner pubblicitari"
|
||||
"read:admin:ad": "Vedere i banner pubblicitari"
|
||||
"write:invite-codes": "Creare codici di invito"
|
||||
"read:invite-codes": "Vedere i codici di invito"
|
||||
"write:clip-favorite": "Impostare Clip preferite"
|
||||
"read:clip-favorite": "Vedere Clip preferite"
|
||||
"read:federation": "Vedere la federazione"
|
||||
"write:report-abuse": "Inviare segnalazioni"
|
||||
_auth:
|
||||
shareAccessTitle: "Permessi dell'applicazione"
|
||||
shareAccess: "Vuoi autorizzare {name} ad accedere al tuo profilo?"
|
||||
|
@ -2141,7 +1979,7 @@ _widgets:
|
|||
postForm: "Finestra di pubblicazione"
|
||||
slideshow: "Diapositive"
|
||||
button: "Pulsante"
|
||||
onlineUsers: "Persone attive adesso"
|
||||
onlineUsers: "Persone online"
|
||||
jobQueue: "Coda di lavoro"
|
||||
serverMetric: "Statistiche server"
|
||||
aiscript: "Console AiScript"
|
||||
|
@ -2218,7 +2056,6 @@ _profile:
|
|||
_exportOrImport:
|
||||
allNotes: "Tutte le note"
|
||||
favoritedNotes: "Note preferite"
|
||||
clips: "Clip"
|
||||
followingList: "Follow"
|
||||
muteList: "Elenco profili silenziati"
|
||||
blockingList: "Elenco profili bloccati"
|
||||
|
@ -2272,7 +2109,6 @@ _play:
|
|||
title: "Titolo"
|
||||
script: "Script"
|
||||
summary: "Descrizione"
|
||||
visibilityDescription: "Impostarlo su privato significa che non verrà visualizzato sul tuo profilo, ma chiunque ha l'URL potrà comunque accedervi."
|
||||
_pages:
|
||||
newPage: "Crea pagina"
|
||||
editPage: "Modifica pagina"
|
||||
|
@ -2317,8 +2153,6 @@ _pages:
|
|||
section: "Sezione"
|
||||
image: "Immagini"
|
||||
button: "Pulsante"
|
||||
dynamic: "Riquadri dinamici"
|
||||
dynamicDescription: "Questo riquadro è obsoleto. Utilizza {play} da ora in poi."
|
||||
note: "Nota integrata"
|
||||
_note:
|
||||
id: "ID nota"
|
||||
|
@ -2340,18 +2174,15 @@ _notification:
|
|||
pollEnded: "Risultati del sondaggio."
|
||||
newNote: "Nuove Note"
|
||||
unreadAntennaNote: "Antenna {name}"
|
||||
roleAssigned: "Ruolo assegnato"
|
||||
emptyPushNotificationMessage: "Le notifiche push sono state aggiornate."
|
||||
achievementEarned: "Obiettivo raggiunto"
|
||||
testNotification: "Provare la notifica"
|
||||
checkNotificationBehavior: "Provare il comportamento della notifica"
|
||||
testNotification: "Prova la notifica"
|
||||
checkNotificationBehavior: "Prova il comportamento della notifica"
|
||||
sendTestNotification: "Spedisci una notifica di prova"
|
||||
notificationWillBeDisplayedLikeThis: "La notifica apparirà così"
|
||||
reactedBySomeUsers: "{n} reazioni"
|
||||
likedBySomeUsers: "{n} apprezzamenti"
|
||||
renotedBySomeUsers: "{n} Rinota"
|
||||
followedBySomeUsers: "{n} follower"
|
||||
flushNotification: "Azzera le notifiche"
|
||||
followedBySomeUsers: "{n} nuovi follower"
|
||||
_types:
|
||||
all: "Tutto"
|
||||
note: "Nuove Note"
|
||||
|
@ -2364,7 +2195,6 @@ _notification:
|
|||
pollEnded: "Sondaggio chiuso."
|
||||
receiveFollowRequest: "Richiesta di follow ricevuta"
|
||||
followRequestAccepted: "Richiesta di follow accettata"
|
||||
roleAssigned: "Ruolo concesso"
|
||||
achievementEarned: "Risultato raggiunto"
|
||||
app: "Notifiche da applicazioni"
|
||||
_actions:
|
||||
|
@ -2375,7 +2205,6 @@ _deck:
|
|||
alwaysShowMainColumn: "Mostra sempre la colonna principale"
|
||||
columnAlign: "Allineare colonne"
|
||||
addColumn: "Aggiungi colonna"
|
||||
newNoteNotificationSettings: "Preferenze per le notifiche di nuove Note"
|
||||
configureColumn: "Impostazioni colonna"
|
||||
swapLeft: "Sposta a sinistra"
|
||||
swapRight: "Sposta a destra"
|
||||
|
@ -2404,8 +2233,8 @@ _deck:
|
|||
direct: "Note Dirette"
|
||||
roleTimeline: "Timeline Ruolo"
|
||||
_dialog:
|
||||
charactersExceeded: "Hai superato il limite di {max} caratteri! ({current})"
|
||||
charactersBelow: "Sei al di sotto del minimo di {min} caratteri! ({current})"
|
||||
charactersExceeded: "Hai superato il limite di {max} caratteri! ({corrente})"
|
||||
charactersBelow: "Sei al di sotto del minimo di {min} caratteri! ({corrente})"
|
||||
_disabledTimeline:
|
||||
title: "Timeline disabilitata"
|
||||
description: "Il ruolo in cui sei non ti permette di leggere questa timeline"
|
||||
|
@ -2414,9 +2243,9 @@ _drivecleaner:
|
|||
orderByCreatedAtAsc: "Dal più vecchio al più recente"
|
||||
_webhookSettings:
|
||||
createWebhook: "Creazione Webhook"
|
||||
modifyWebhook: "Modifica Webhook"
|
||||
name: "Nome"
|
||||
secret: "Segreto"
|
||||
events: "Quando eseguire il Webhook"
|
||||
active: "Attivo"
|
||||
_events:
|
||||
follow: "Quando segui un profilo"
|
||||
|
@ -2426,25 +2255,6 @@ _webhookSettings:
|
|||
renote: "Quando la Nota è Rinotata"
|
||||
reaction: "Quando ricevo una reazione"
|
||||
mention: "Quando mi menzionano"
|
||||
_systemEvents:
|
||||
abuseReport: "Quando arriva una segnalazione"
|
||||
abuseReportResolved: "Quando una segnalazione è risolta"
|
||||
deleteConfirm: "Vuoi davvero eliminare il Webhook?"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
createRecipient: "Aggiungi destinatario della segnalazione"
|
||||
modifyRecipient: "Modifica destinatario della segnalazione"
|
||||
recipientType: "Tipo di notifica"
|
||||
_recipientType:
|
||||
mail: "Email"
|
||||
webhook: "Webhook"
|
||||
_captions:
|
||||
mail: "Quando ricevi un abuso, notifica l'amministrazione via email"
|
||||
webhook: "Spedire una notifica al SystemWebhook specificato (sia quando si riceve una segnalazione, che quando viene risolta)"
|
||||
keywords: "Parole chiave"
|
||||
notifiedUser: "Profili da notificare"
|
||||
notifiedWebhook: "Webhook da usare"
|
||||
deleteConfirm: "Vuoi davvero rimuovere il destinatario della notifica?"
|
||||
_moderationLogTypes:
|
||||
createRole: "Ruolo creato"
|
||||
deleteRole: "Ruolo eliminato"
|
||||
|
@ -2469,7 +2279,6 @@ _moderationLogTypes:
|
|||
resetPassword: "Password azzerata"
|
||||
suspendRemoteInstance: "Istanza remota sospesa"
|
||||
unsuspendRemoteInstance: "Istanza remota riattivata"
|
||||
updateRemoteInstanceNote: "Aggiornamento del promemoria di moderazione per il server remoto"
|
||||
markSensitiveDriveFile: "File nel Drive segnato come esplicito"
|
||||
unmarkSensitiveDriveFile: "File nel Drive segnato come non esplicito"
|
||||
resolveAbuseReport: "Segnalazione risolta"
|
||||
|
@ -2482,12 +2291,6 @@ _moderationLogTypes:
|
|||
deleteAvatarDecoration: "Eliminazione decorazione della foto profilo"
|
||||
unsetUserAvatar: "Rimossa foto profilo"
|
||||
unsetUserBanner: "Rimossa intestazione profilo"
|
||||
createSystemWebhook: "Crea un SystemWebhook"
|
||||
updateSystemWebhook: "Modifica SystemWebhook"
|
||||
deleteSystemWebhook: "Elimina SystemWebhook"
|
||||
createAbuseReportNotificationRecipient: "Crea destinatario per le notifiche di segnalazioni"
|
||||
updateAbuseReportNotificationRecipient: "Aggiorna destinatario notifiche di segnalazioni"
|
||||
deleteAbuseReportNotificationRecipient: "Elimina destinatario notifiche di segnalazioni"
|
||||
_fileViewer:
|
||||
title: "Dettagli del file"
|
||||
type: "Tipo di file"
|
||||
|
@ -2550,72 +2353,3 @@ _dataSaver:
|
|||
_code:
|
||||
title: "Codice evidenziato"
|
||||
description: "Impedire che il codice sorgente sia automaticamente evidenziato. Evidenziare il codice richiede il caricamento di un file per ogni linguaggio. Puoi evidenziare soltanto il codice che intendi leggere e ridurre il traffico inutilizzato."
|
||||
_hemisphere:
|
||||
N: "Emisfero boreale"
|
||||
S: "Emisfero australe"
|
||||
caption: "Utile per alcune impostazioni del client, per determinare la stagione."
|
||||
_reversi:
|
||||
reversi: "Reversi"
|
||||
gameSettings: "Impostazioni di gioco"
|
||||
chooseBoard: "Segli la tavola"
|
||||
blackOrWhite: "Neri / Bianchi"
|
||||
blackIs: "{name} muove i Neri"
|
||||
rules: "Regole del gioco"
|
||||
thisGameIsStartedSoon: "Il gioco sta per iniziare"
|
||||
waitingForOther: "Attendere l'avversario"
|
||||
waitingForMe: "Ti stanno aspettando"
|
||||
waitingBoth: "Preparatevi"
|
||||
ready: "Pronti"
|
||||
cancelReady: "Riprendere la preparazione"
|
||||
opponentTurn: "Turno avversario"
|
||||
myTurn: "Tocca a te"
|
||||
turnOf: "Tocca a {name}"
|
||||
pastTurnOf: "Turno di {name}"
|
||||
surrender: "Mi arrendo"
|
||||
surrendered: "Ha ceduto"
|
||||
timeout: "Tempo scaduto"
|
||||
drawn: "Pareggio"
|
||||
won: "Ha vinto {name}"
|
||||
black: "Neri"
|
||||
white: "Bianchi"
|
||||
total: "Totale"
|
||||
turnCount: "Turno N. {count}"
|
||||
myGames: "Le mie sfide"
|
||||
allGames: "Tutte le sfide"
|
||||
ended: "Conclusione"
|
||||
playing: "In gioco"
|
||||
isLlotheo: "Vince chi ha meno pietre (Roseo)"
|
||||
loopedMap: "Mappa ricorsiva"
|
||||
canPutEverywhere: "Modalità che può essere posizionata ovunque"
|
||||
timeLimitForEachTurn: "Tempo limite per turno"
|
||||
freeMatch: "Sfida libera"
|
||||
lookingForPlayer: "Alla ricerca di un avversario"
|
||||
gameCanceled: "Sfida cancellata"
|
||||
shareToTlTheGameWhenStart: "Pubblica l'inizio della partita sulla tua Timeline"
|
||||
iStartedAGame: "Inizia la sfida! #MisskeyReversi"
|
||||
opponentHasSettingsChanged: "L'avversario ha cambiato configurazione"
|
||||
allowIrregularRules: "Regole inconsuete (completamente libere)"
|
||||
disallowIrregularRules: "Impedire le regole inconsuete"
|
||||
showBoardLabels: "Mostra le coordinate del gioco"
|
||||
useAvatarAsStone: "Immagini profilo come pedine"
|
||||
_offlineScreen:
|
||||
title: "Scollegato. Impossibile connettersi al server"
|
||||
header: "Impossibile connettersi al server"
|
||||
_urlPreviewSetting:
|
||||
title: "Impostazioni per l'anteprima delle URL"
|
||||
enable: "Attiva l'anteprima delle URL"
|
||||
timeout: "Timeout dell'anteprima in millisecondi"
|
||||
timeoutDescription: "Impegna al massimo il tempo indicato, altrimenti ignora l'anteprima"
|
||||
maximumContentLength: "Grandezza del contenuto (Content-Length in byte)"
|
||||
maximumContentLengthDescription: "Se la grandezza supera il valore, l'anteprima verrà ignorata."
|
||||
requireContentLength: "Genenerare l'anteprima solo quando è definito Content-Length"
|
||||
requireContentLengthDescription: "In assenza di questo parametro dal server remoto, l'anteprima verrà ignorata."
|
||||
userAgent: "User-Agent"
|
||||
userAgentDescription: "Definire con quale User-Agent si intende identificarsi durante l'acquisizione di un'anteprima. Se è vuoto, useremo il valore predefinito."
|
||||
summaryProxy: "Endpoint proxy che genera l'anteprima"
|
||||
summaryProxyDescription: "Genera anteprime utilizzando un proxy Summaly anziché Misskey."
|
||||
summaryProxyDescription2: "I parametri sono collegano al proxy come stringa query. Se il proxy non li supporta, verranno ignorati."
|
||||
_mediaControls:
|
||||
pip: "Sovraimpressione"
|
||||
playbackRate: "Velocità di riproduzione"
|
||||
loop: "Ripetizione infinita"
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -15,7 +15,7 @@ gotIt: "ほい"
|
|||
cancel: "やめとく"
|
||||
noThankYou: "やめとく"
|
||||
enterUsername: "ユーザー名を入れてや"
|
||||
renotedBy: "{user}がブーストしたで"
|
||||
renotedBy: "{user}がリノートしたで"
|
||||
noNotes: "ノートはあらへん"
|
||||
noNotifications: "通知はあらへん"
|
||||
instance: "サーバー"
|
||||
|
@ -45,10 +45,10 @@ pin: "ピン留めしとく"
|
|||
unpin: "やっぱピン留めせん"
|
||||
copyContent: "内容をコピー"
|
||||
copyLink: "リンクをコピー"
|
||||
copyLinkRenote: "ブーストのリンクをコピーするで?"
|
||||
copyLinkRenote: "リノートのリンクをコピーするで?"
|
||||
delete: "ほかす"
|
||||
deleteAndEdit: "ほかして直す"
|
||||
deleteAndEditConfirm: "このノートをほかしてもっかい直す?このノートへのツッコミ、ブースト、返信も全部消えるんやけどそれでもええん?"
|
||||
deleteAndEditConfirm: "このノートをほかしてもっかい直す?このノートへのツッコミ、リノート、返信も全部消えるんやけどそれでもええん?"
|
||||
addToList: "リストに入れたる"
|
||||
addToAntenna: "アンテナに入れる"
|
||||
sendMessage: "メッセージを送る"
|
||||
|
@ -60,7 +60,6 @@ copyFileId: "ファイルIDをコピー"
|
|||
copyFolderId: "フォルダーIDをコピー"
|
||||
copyProfileUrl: "プロフィールURLをコピー"
|
||||
searchUser: "ユーザーを探す"
|
||||
searchThisUsersNotes: "ユーザーのノートを検索"
|
||||
reply: "返事"
|
||||
loadMore: "まだまだあるで!"
|
||||
showMore: "まだまだあるで!"
|
||||
|
@ -109,14 +108,11 @@ enterEmoji: "絵文字を入れてや"
|
|||
renote: "リノート"
|
||||
unrenote: "リノートやめる"
|
||||
renoted: "リノートしたで。"
|
||||
renotedToX: "{name}にリノートしたで"
|
||||
cantRenote: "この投稿はリノートできへんっぽい。"
|
||||
cantReRenote: "リノート自体はリノートできへんで。"
|
||||
quote: "引用"
|
||||
inChannelRenote: "チャンネルの中でブースト"
|
||||
inChannelRenote: "チャンネルの中でリノート"
|
||||
inChannelQuote: "チャンネル内引用"
|
||||
renoteToChannel: "チャンネルにリノート"
|
||||
renoteToOtherChannel: "他のチャンネルにリノート"
|
||||
pinnedNote: "ピン留めされとるノート"
|
||||
pinned: "ピン留めしとく"
|
||||
you: "あんた"
|
||||
|
@ -134,14 +130,13 @@ overwriteFromPinnedEmojis: "全般設定から上書きする"
|
|||
reactionSettingDescription2: "ドラッグで並び替え、クリックで削除、+を押して追加やで。"
|
||||
rememberNoteVisibility: "公開範囲覚えといて"
|
||||
attachCancel: "のっけるのやめる"
|
||||
deleteFile: "ファイルをほかす"
|
||||
markAsSensitive: "ちょっとこれはアカン"
|
||||
unmarkAsSensitive: "そこまでアカンことないやろ"
|
||||
enterFileName: "ファイル名を入れてや"
|
||||
mute: "ミュート"
|
||||
unmute: "ミュートやめたる"
|
||||
renoteMute: "ブーストは見いひん"
|
||||
renoteUnmute: "ブーストもやっぱ見るわ"
|
||||
renoteMute: "リノートは見いひん"
|
||||
renoteUnmute: "リノートもやっぱ見るわ"
|
||||
block: "ブロック"
|
||||
unblock: "ブロックやめたる"
|
||||
suspend: "凍結"
|
||||
|
@ -155,7 +150,6 @@ editList: "リストいじる"
|
|||
selectChannel: "チャンネルを選ぶ"
|
||||
selectAntenna: "アンテナを選ぶ"
|
||||
editAntenna: "アンテナいじる"
|
||||
createAntenna: "アンテナを作成"
|
||||
selectWidget: "ウィジェットを選ぶ"
|
||||
editWidgets: "ウィジェットをいじる"
|
||||
editWidgetsExit: "いじるのをやめる"
|
||||
|
@ -184,10 +178,6 @@ addAccount: "アカウントを追加"
|
|||
reloadAccountsList: "アカウントリストの情報を更新"
|
||||
loginFailed: "ログインに失敗してもうた…"
|
||||
showOnRemote: "リモートで見る"
|
||||
continueOnRemote: "リモートで続行"
|
||||
chooseServerOnMisskeyHub: "Misskey Hubからサーバーを選択"
|
||||
specifyServerHost: "サーバーのドメインを直接指定"
|
||||
inputHostName: "ドメインを入力せえや"
|
||||
general: "全般"
|
||||
wallpaper: "壁紙"
|
||||
setWallpaper: "壁紙を設定"
|
||||
|
@ -198,7 +188,6 @@ followConfirm: "{name}をフォローしてええか?"
|
|||
proxyAccount: "プロキシアカウント"
|
||||
proxyAccountDescription: "プロキシアカウントは、代わりにフォローしてくれるアカウントや。例えば、551に豚まんが無いときやったり、ユーザーがリモートユーザーをアカウントに入れたとき、リストに入れられたユーザーが誰からもフォローされてないと寂しいやん。寂しいし、アクティビティも配達されへんから、プロキシアカウントがフォローしてくれるで。ええやつやん…"
|
||||
host: "ホスト"
|
||||
selectSelf: "自分を選択"
|
||||
selectUser: "ユーザーを選ぶ"
|
||||
recipient: "宛先"
|
||||
annotation: "注釈"
|
||||
|
@ -214,7 +203,6 @@ perDay: "1日ごと"
|
|||
stopActivityDelivery: "アクティビティの配送をやめる"
|
||||
blockThisInstance: "このサーバーをブロックすんで"
|
||||
silenceThisInstance: "サーバーサイレンスすんで?"
|
||||
mediaSilenceThisInstance: "サーバーをメディアサイレンス"
|
||||
operations: "操作"
|
||||
software: "ソフトウェア"
|
||||
version: "バージョン"
|
||||
|
@ -236,8 +224,6 @@ blockedInstances: "ブロックしたサーバー"
|
|||
blockedInstancesDescription: "ブロックしたいサーバーのホストを改行で区切って設定してな。ブロックされてもうたサーバーとはもう金輪際やり取りできひんくなるで。"
|
||||
silencedInstances: "サーバーサイレンスされてんねん"
|
||||
silencedInstancesDescription: "サイレンスしたいサーバーのホストを改行で区切って設定すんで。サイレンスされたサーバーに所属するアカウントはすべて「サイレンス」として扱われ、フォローがすべてリクエストになり、フォロワーでないローカルアカウントにはメンションできなくなんねん。ブロックしたインスタンスには影響せーへんで。"
|
||||
mediaSilencedInstances: "メディアサイレンスしたサーバー"
|
||||
mediaSilencedInstancesDescription: "メディアサイレンスしたいサーバーのホストを改行で区切って設定するで。メディアサイレンスされたサーバーに所属するアカウントによるファイルはすべてセンシティブとして扱われてな、カスタム絵文字が使えへんようになるで。ブロックしたインスタンスには影響せえへんで。"
|
||||
muteAndBlock: "ミュートとブロック"
|
||||
mutedUsers: "ミュートしとるユーザー"
|
||||
blockedUsers: "ブロックしとるユーザー"
|
||||
|
@ -328,7 +314,6 @@ selectFile: "ファイル選んでや"
|
|||
selectFiles: "ファイル選んでや"
|
||||
selectFolder: "フォルダ選んでや"
|
||||
selectFolders: "フォルダ選んでや"
|
||||
fileNotSelected: "ファイルが選択されてへんで"
|
||||
renameFile: "ファイル名をいらう"
|
||||
folderName: "フォルダー名"
|
||||
createFolder: "フォルダー作る"
|
||||
|
@ -396,11 +381,6 @@ hcaptcha: "hCaptcha(キャプチャ)"
|
|||
enableHcaptcha: "hCaptcha(キャプチャ)をつけとく"
|
||||
hcaptchaSiteKey: "サイトキー"
|
||||
hcaptchaSecretKey: "シークレットキー"
|
||||
mcaptcha: "mCaptcha"
|
||||
enableMcaptcha: "hCaptcha(キャプチャ)をつけとく"
|
||||
mcaptchaSiteKey: "サイトキー"
|
||||
mcaptchaSecretKey: "シークレットキー"
|
||||
mcaptchaInstanceUrl: "mCaptchaのインスタンスのURL"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "reCAPTCHA(リキャプチャ)を有効にする"
|
||||
recaptchaSiteKey: "サイトキー"
|
||||
|
@ -416,7 +396,6 @@ name: "名前"
|
|||
antennaSource: "受信ソース(このソースは食われへん)"
|
||||
antennaKeywords: "受信キーワード"
|
||||
antennaExcludeKeywords: "除外キーワード"
|
||||
antennaExcludeBots: "Botアカウントを除外"
|
||||
antennaKeywordsDescription: "スペースで区切ったるとAND指定で、改行で区切ったるとOR指定や"
|
||||
notifyAntenna: "新しいノートを通知すんで"
|
||||
withFileAntenna: "なんか添付されたノートだけ"
|
||||
|
@ -484,12 +463,10 @@ retype: "もっかい入力"
|
|||
noteOf: "{user}はんのノート"
|
||||
quoteAttached: "引用付いとるで"
|
||||
quoteQuestion: "引用として添付してもええか?"
|
||||
attachAsFileQuestion: "クリップボードのテキストが長すぎるからテキストファイルとして添付してもええか?"
|
||||
noMessagesYet: "まだチャットはあらへんで"
|
||||
newMessageExists: "新しいメッセージがきたで"
|
||||
onlyOneFileCanBeAttached: "ごめんな、メッセージに添付できるファイルはひとつだけなんよ。"
|
||||
signinRequired: "ログインしてくれへん?"
|
||||
signinOrContinueOnRemote: "続行するには、お使いのサーバーに移動するか、このサーバーに登録・ログインする必要があるで"
|
||||
invitations: "来てや"
|
||||
invitationCode: "招待コード"
|
||||
checking: "確認しとるで"
|
||||
|
@ -513,7 +490,6 @@ emojiStyle: "絵文字のスタイル"
|
|||
native: "ネイティブ"
|
||||
disableDrawer: "メニューをドロワーで表示せえへん"
|
||||
showNoteActionsOnlyHover: "ノートの操作部をホバー時のみ表示するで"
|
||||
showReactionsCount: "ノートのリアクション数を表示する"
|
||||
noHistory: "履歴はないわ。"
|
||||
signinHistory: "ログイン履歴"
|
||||
enableAdvancedMfm: "ややこしいMFMもありにする"
|
||||
|
@ -652,7 +628,6 @@ medium: "中"
|
|||
small: "小"
|
||||
generateAccessToken: "アクセストークンの発行"
|
||||
permission: "権限"
|
||||
adminPermission: "管理者権限"
|
||||
enableAll: "全部使えるようにする"
|
||||
disableAll: "全部使えへんようにする"
|
||||
tokenRequested: "アカウントへのアクセス許してやったらどうや"
|
||||
|
@ -696,14 +671,13 @@ useGlobalSettingDesc: "オンにすると、アカウントの通知設定が使
|
|||
other: "その他"
|
||||
regenerateLoginToken: "ログイントークンを再生成"
|
||||
regenerateLoginTokenDescription: "ログインに使われる内部トークンをもっかい作るで。いつもならこれをやる必要はないで。もっかい作ると、全部のデバイスでログアウトされるで気ぃつけてなー。"
|
||||
theKeywordWhenSearchingForCustomEmoji: "カスタム絵文字を探すときのキーワードになるで。"
|
||||
setMultipleBySeparatingWithSpace: "スペースで区切って何個でも設定できるで。"
|
||||
fileIdOrUrl: "ファイルIDかURL"
|
||||
behavior: "動作"
|
||||
sample: "サンプル"
|
||||
abuseReports: "通報"
|
||||
reportAbuse: "通報"
|
||||
reportAbuseRenote: "ブースト苦情だすで?"
|
||||
reportAbuseRenote: "リノート苦情だすで?"
|
||||
reportAbuseOf: "{name}を通報する"
|
||||
fillAbuseReportDescription: "細かい通報理由を書いてなー。対象ノートがある時はそのURLも書いといてなー。"
|
||||
abuseReported: "無事内容が送信されたみたいやで。おおきに〜。"
|
||||
|
@ -737,9 +711,9 @@ manageAccessTokens: "アクセストークンの管理"
|
|||
accountInfo: "アカウント情報"
|
||||
notesCount: "ノートの数やで"
|
||||
repliesCount: "返信した数やで"
|
||||
renotesCount: "ブーストした数やで"
|
||||
renotesCount: "リノートした数やで"
|
||||
repliedCount: "返信された数やで"
|
||||
renotedCount: "ブーストされた数やで"
|
||||
renotedCount: "リノートされた数やで"
|
||||
followingCount: "フォロー数やで"
|
||||
followersCount: "フォロワー数やで"
|
||||
sentReactionsCount: "ツッコんだ数"
|
||||
|
@ -850,7 +824,6 @@ administration: "管理"
|
|||
accounts: "アカウント"
|
||||
switch: "切り替え"
|
||||
noMaintainerInformationWarning: "管理者情報が設定されてへんで"
|
||||
noInquiryUrlWarning: "問い合わせ先URLが設定されてへんで。"
|
||||
noBotProtectionWarning: "Botプロテクションが設定されてへんで。"
|
||||
configure: "設定する"
|
||||
postToGallery: "ギャラリーへ投稿"
|
||||
|
@ -910,8 +883,6 @@ makeReactionsPublicDescription: "あんたがしたツッコミ一覧を誰で
|
|||
classic: "クラシック"
|
||||
muteThread: "スレッドをミュート"
|
||||
unmuteThread: "スレッドのミュートを解除"
|
||||
followingVisibility: "フォローの公開範囲"
|
||||
followersVisibility: "フォロワーの公開範囲"
|
||||
continueThread: "さらにスレッドを見るで"
|
||||
deleteAccountConfirm: "アカウントを消すで?ええんか?"
|
||||
incorrectPassword: "パスワードがちゃうわ。"
|
||||
|
@ -1012,7 +983,6 @@ neverShow: "今後表示しない"
|
|||
remindMeLater: "また後で"
|
||||
didYouLikeMisskey: "Sharkey気に入ってくれた?"
|
||||
pleaseDonate: "Sharkeyは{host}が使うとる無料のソフトウェアやで。これからも開発を続けれるように、寄付したってな~。"
|
||||
correspondingSourceIsAvailable: "{anchor}"
|
||||
roles: "ロール"
|
||||
role: "ロール"
|
||||
noRole: "ロールはありまへん"
|
||||
|
@ -1039,8 +1009,7 @@ thisPostMayBeAnnoying: "この投稿は迷惑かもしらんで。"
|
|||
thisPostMayBeAnnoyingHome: "ホームに投稿"
|
||||
thisPostMayBeAnnoyingCancel: "やめとく"
|
||||
thisPostMayBeAnnoyingIgnore: "このまま投稿"
|
||||
collapseRenotes: "見たことあるブーストは飛ばして表示するで"
|
||||
collapseRenotesDescription: "リアクションやブーストをしたことがあるノートをたたんで表示するで。"
|
||||
collapseRenotes: "見たことあるリノートは飛ばして表示するで"
|
||||
internalServerError: "サーバー内部エラー"
|
||||
internalServerErrorDescription: "サーバーでなんか変なこと起こっとるわ。"
|
||||
copyErrorInfo: "エラー情報をコピるで"
|
||||
|
@ -1064,9 +1033,6 @@ resetPasswordConfirm: "パスワード作り直すんでええな?"
|
|||
sensitiveWords: "けったいな単語"
|
||||
sensitiveWordsDescription: "設定した単語が入っとるノートの公開範囲をホームにしたるわ。改行で区切ったら複数設定できるで。"
|
||||
sensitiveWordsDescription2: "スペースで区切るとAND指定、キーワードをスラッシュで囲んだら正規表現や。"
|
||||
prohibitedWords: "禁止ワード"
|
||||
prohibitedWordsDescription: "設定した言葉が含まれるノートを投稿しようとしたら、エラーが出るようにするで。改行で区切って複数設定できるで。"
|
||||
prohibitedWordsDescription2: "スペースで区切るとAND指定、キーワードをスラッシュで囲んだら正規表現や。"
|
||||
hiddenTags: "見えてへんハッシュタグ"
|
||||
hiddenTagsDescription: "設定したタグを最近流行りのとこに見えんようにすんで。複数設定するときは改行で区切ってな。"
|
||||
notesSearchNotAvailable: "なんかノート探せへん。"
|
||||
|
@ -1085,8 +1051,6 @@ limitWidthOfReaction: "ツッコミの最大横幅を制限して、ちっさく
|
|||
noteIdOrUrl: "ノートIDかURL"
|
||||
video: "動画"
|
||||
videos: "動画"
|
||||
audio: "音声"
|
||||
audioFiles: "音声"
|
||||
dataSaver: "データケチケチ"
|
||||
accountMigration: "アカウントのお引っ越し"
|
||||
accountMoved: "このユーザーはさらのアカウントに引っ越したで:"
|
||||
|
@ -1096,7 +1060,7 @@ forceShowAds: "いっつも広告を映す"
|
|||
addMemo: "メモを足す"
|
||||
editMemo: "メモをいらう"
|
||||
reactionsList: "ツッコミ一覧"
|
||||
renotesList: "ブースト一覧"
|
||||
renotesList: "リノート一覧"
|
||||
notificationDisplay: "通知見せる"
|
||||
leftTop: "左上"
|
||||
rightTop: "右上"
|
||||
|
@ -1114,8 +1078,6 @@ preservedUsernames: "予約ユーザー名"
|
|||
preservedUsernamesDescription: "予約しとくユーザー名を行ごとに挙げるで。ここで指定されたユーザー名はアカウント作るときに使えへんくなるけど、管理者は例外や。あと、もうあるアカウントも例外やな。"
|
||||
createNoteFromTheFile: "このファイル使うてノート作るで"
|
||||
archive: "アーカイブ"
|
||||
archived: "アーカイブ済み"
|
||||
unarchive: "アーカイブ解除"
|
||||
channelArchiveConfirmTitle: "{name}をアーカイブしてええか?"
|
||||
channelArchiveConfirmDescription: "アーカイブしたら、チャンネル一覧とか検索結果からなくなるし、新しく書き込みもできへんなるで。"
|
||||
thisChannelArchived: "このチャンネル、アーカイブされとるで。"
|
||||
|
@ -1126,9 +1088,6 @@ preventAiLearning: "生成AIの学習に使わんといて"
|
|||
preventAiLearningDescription: "他の文章生成AIとか画像生成AIに、投稿したノートとか画像なんかを勝手に使わんように頼むで。具体的にはnoaiフラグをHTMLレスポンスに含めるんやけど、これ聞いてくれるんはAIの気分次第やから、使われる可能性もちょっとはあるな。"
|
||||
options: "オプション"
|
||||
specifyUser: "ユーザー指定"
|
||||
lookupConfirm: "照会するけどええか?"
|
||||
openTagPageConfirm: "ハッシュタグのページを開くんか?"
|
||||
specifyHost: "ホスト指定"
|
||||
failedToPreviewUrl: "プレビューできへん"
|
||||
update: "更新"
|
||||
rolesThatCanBeUsedThisEmojiAsReaction: "ツッコミとして使えるロール"
|
||||
|
@ -1172,7 +1131,7 @@ pastAnnouncements: "過去のお知らせやで"
|
|||
youHaveUnreadAnnouncements: "あんたまだこのお知らせ読んどらんやろ。"
|
||||
useSecurityKey: "ブラウザまたはデバイスの言う通りに、セキュリティキーまたはパスキーを使ってや。"
|
||||
replies: "返事"
|
||||
renotes: "ブースト"
|
||||
renotes: "リノート"
|
||||
loadReplies: "返信を見るで"
|
||||
loadConversation: "会話を見るで"
|
||||
pinnedList: "ピン留めしはったリスト"
|
||||
|
@ -1183,11 +1142,10 @@ unnotifyNotes: "投稿の通知やめる"
|
|||
authentication: "認証"
|
||||
authenticationRequiredToContinue: "続けるんなら認証してや。"
|
||||
dateAndTime: "日時"
|
||||
showRenotes: "ブースト出す"
|
||||
showRenotes: "リノート出す"
|
||||
edited: "いじったやつ"
|
||||
notificationRecieveConfig: "通知もらうかの設定"
|
||||
mutualFollow: "お互いフォローしてんで"
|
||||
followingOrFollower: "フォロー中またはフォロワー"
|
||||
fileAttachedOnly: "ファイルのっけてあるやつだけ"
|
||||
showRepliesToOthersInTimeline: "タイムラインに他の人への返信とかも入れるで"
|
||||
hideRepliesToOthersInTimeline: "タイムラインに他の人への返信とかは入れへん"
|
||||
|
@ -1196,13 +1154,6 @@ hideRepliesToOthersInTimelineAll: "タイムラインに今フォローしとる
|
|||
confirmShowRepliesAll: "これは元に戻せへんから慎重に決めてや。本当にタイムラインに今フォローしとる全員の返信を入れるか?"
|
||||
confirmHideRepliesAll: "これは元に戻せへんから慎重に決めてや。本当にタイムラインに今フォローしとる全員の返信を入れへんのか?"
|
||||
externalServices: "他のサイトのサービス"
|
||||
sourceCode: "ソースコード"
|
||||
sourceCodeIsNotYetProvided: "ソースコードはまだ提供されてへんで。問題の修正について管理者に問い合わせてみ。"
|
||||
repositoryUrl: "リポジトリURL"
|
||||
repositoryUrlDescription: "ソースコードが公開されているリポジトリがある場合、そのURLを記入するで。Misskeyをそのまんま(ソースコードにいかなる変更も加えずに)使っとる場合は https://github.com/misskey-dev/misskey と記入するで。"
|
||||
repositoryUrlOrTarballRequired: "リポジトリを公開してへんなら、代わりにtarballを提供する必要があるで。詳細は.config/example.ymlを参照してな。"
|
||||
feedback: "フィードバック"
|
||||
feedbackUrl: "フィードバックURL"
|
||||
impressum: "運営者の情報"
|
||||
impressumUrl: "運営者の情報URL"
|
||||
impressumDescription: "ドイツとかの一部んところではな、表示が義務付けられてんねん(Impressum)。"
|
||||
|
@ -1230,65 +1181,6 @@ remainingN: "残り:{n}"
|
|||
overwriteContentConfirm: "今の内容に上書きされるけどいい?"
|
||||
seasonalScreenEffect: "季節にあった画面の動き"
|
||||
decorate: "デコる"
|
||||
addMfmFunction: "装飾つける"
|
||||
enableQuickAddMfmFunction: "ややこしいMFMのピッカーを出す"
|
||||
bubbleGame: "バブルゲーム"
|
||||
sfx: "効果音"
|
||||
soundWillBePlayed: "サウンドが再生されるで"
|
||||
showReplay: "リプレイ見る"
|
||||
replay: "リプレイ"
|
||||
replaying: "リプレイ中"
|
||||
endReplay: "リプレイを終了"
|
||||
copyReplayData: "リプレイデータをコピー"
|
||||
ranking: "ランキング"
|
||||
lastNDays: "直近{n}日"
|
||||
backToTitle: "タイトルへ"
|
||||
hemisphere: "住んでる地域"
|
||||
withSensitive: "センシティブなファイルを含むノートを表示"
|
||||
userSaysSomethingSensitive: "{name}のセンシティブなファイルを含む投稿"
|
||||
enableHorizontalSwipe: "スワイプしてタブを切り替える"
|
||||
loading: "読み込み中"
|
||||
surrender: "やめとく"
|
||||
gameRetry: "もういっちょ"
|
||||
notUsePleaseLeaveBlank: "使用せえへん場合は空欄にしてや"
|
||||
useTotp: "ワンタイムパスワードを使う"
|
||||
useBackupCode: "バックアップコードを使う"
|
||||
launchApp: "アプリを起動"
|
||||
useNativeUIForVideoAudioPlayer: "動画・音声の再生にブラウザのUIを使用する"
|
||||
keepOriginalFilename: "オリジナルのファイル名を保持"
|
||||
keepOriginalFilenameDescription: "この設定をオフにすると、アップロード時にファイル名が自動でランダム文字列に置き換えられるで。"
|
||||
noDescription: "説明文はあらへんで"
|
||||
alwaysConfirmFollow: "フォローの際常に確認する"
|
||||
inquiry: "問い合わせ"
|
||||
tryAgain: "もう一度試しいや。"
|
||||
confirmWhenRevealingSensitiveMedia: "センシティブなメディアを表示するとき確認する"
|
||||
sensitiveMediaRevealConfirm: "センシティブなメディアやで。表示するんか?"
|
||||
createdLists: "作成したリスト"
|
||||
createdAntennas: "作成したアンテナ"
|
||||
_delivery:
|
||||
status: "配信状態"
|
||||
stop: "配信せぇへん"
|
||||
resume: "配信再開"
|
||||
_type:
|
||||
none: "配信しとる"
|
||||
manuallySuspended: "手動停止中"
|
||||
goneSuspended: "サーバー削除のため停止中"
|
||||
autoSuspendedForNotResponding: "サーバー応答せえへんから停止中"
|
||||
_bubbleGame:
|
||||
howToPlay: "遊び方"
|
||||
hold: "ホールド"
|
||||
_score:
|
||||
score: "スコア"
|
||||
scoreYen: "稼いだ金額"
|
||||
highScore: "ハイスコア"
|
||||
maxChain: "最大チェーン数"
|
||||
yen: "{yen}円"
|
||||
estimatedQty: "{qty}個分"
|
||||
scoreSweets: "おにぎり {onigiriQtyWithUnit}"
|
||||
_howToPlay:
|
||||
section1: "位置を調整してハコにモノを落とすで。"
|
||||
section2: "同じもんがくっついたら別のやつになって、スコアがもらえるで。"
|
||||
section3: "モノがハコからあふれたらゲームオーバーや。ハコからあふれんようにしながらモノを融合させてハイスコアを目指しいや!"
|
||||
_announcement:
|
||||
forExistingUsers: "もうおるユーザーのみ"
|
||||
forExistingUsersDescription: "オンにしたらこのお知らせができた時点でおる人らにだけお知らせが行くで。切ったらこの知らせが行ったあとにアカウント作った人にもちゃんとお知らせが行くで。"
|
||||
|
@ -1314,7 +1206,7 @@ _initialAccountSetting:
|
|||
pushNotificationDescription: "プッシュ通知を有効にすると{name}の通知をあんたのデバイスで受け取れるで。"
|
||||
initialAccountSettingCompleted: "初期設定終わりや!"
|
||||
haveFun: "{name}、楽しんでな~"
|
||||
youCanContinueTutorial: "こんまま{name}(eGirlskey)の使い方のチュートリアルにも行けるけど、ここでやめてすぐに使い始めてもええで。"
|
||||
youCanContinueTutorial: "こんまま{name}(Sharkey)の使い方のチュートリアルにも行けるけど、ここでやめてすぐに使い始めてもええで。"
|
||||
startTutorial: "チュートリアルはじめる"
|
||||
skipAreYouSure: "初期設定飛ばすか?"
|
||||
laterAreYouSure: "初期設定あとでやり直すん?"
|
||||
|
@ -1325,10 +1217,10 @@ _initialTutorial:
|
|||
skipAreYouSure: "チュートリアルやめるか?"
|
||||
_landing:
|
||||
title: "チュートリアルによう来たな"
|
||||
description: "ここでは、eGirlskeyのカンタンな使い方とか機能を確かめれんで。"
|
||||
description: "ここでは、Sharkeyのカンタンな使い方とか機能を確かめれんで。"
|
||||
_note:
|
||||
title: "ノートってなんや?"
|
||||
description: "eGirlskeyでの投稿は「ノート」って呼ばれてんで。ノートは順々にタイムラインに載ってて、リアルタイムで新しくなってってんで。"
|
||||
description: "Sharkeyでの投稿は「ノート」って呼ばれてんで。ノートは順々にタイムラインに載ってて、リアルタイムで新しくなってってんで。"
|
||||
reply: "返信もできるで。返信の返信もできるから、スレッドっぽく会話をそのまま続けれもするで。"
|
||||
renote: "そのノートを自分のタイムラインに流して共有できるで。テキスト入れて引用してもええな。"
|
||||
reaction: "ツッコミをつけることもできるで。細かいことは次のページや。"
|
||||
|
@ -1336,13 +1228,13 @@ _initialTutorial:
|
|||
_reaction:
|
||||
title: "ツッコミってなんや?"
|
||||
description: "ノートには「ツッコミ」できんねん。「いいね」とか何言っとるかわからんし、簡単に表現できるのはええことやん?"
|
||||
letsTryReacting: "ノートの「{reaction}」ボタンでツッコめるわ。試しに下のノートにツッコんでみ。"
|
||||
letsTryReacting: "ノートの「+」ボタンでツッコめるわ。試しに下のノートにツッコんでみ。"
|
||||
reactToContinue: "ツッコんだら進めるようになるで。"
|
||||
reactNotification: "あんたのノートが誰かにツッコまれたら、すぐ通知するで。"
|
||||
reactDone: "「{undo}」ボタンでツッコミやめれるで。"
|
||||
reactDone: "「ー」ボタンでツッコミやめれるで。"
|
||||
_timeline:
|
||||
title: "タイムラインのしくみ"
|
||||
description1: "eGirlskeyには、いろいろタイムラインがあんで(ただ、サーバーによっては無効化されてるところもあるな)。"
|
||||
description1: "Sharkeyには、いろいろタイムラインがあんで(ただ、サーバーによっては無効化されてるところもあるな)。"
|
||||
home: "あんたがフォローしてるアカウントの投稿が見れんねん。"
|
||||
local: "このサーバーの中におる全員の投稿が見れるで。"
|
||||
social: "ホームタイムラインの投稿もローカルタイムラインのも一緒に見れるで。"
|
||||
|
@ -1351,12 +1243,12 @@ _initialTutorial:
|
|||
description3: "その他にも、リストタイムラインとかチャンネルタイムラインとかがあんねん。詳しいのは{link}を見とき。"
|
||||
_postNote:
|
||||
title: "ノートの投稿設定"
|
||||
description1: "eGirlskeyにノートを投稿するとき、いろんなオプションが付けれるで。投稿画面はこんな感じや。"
|
||||
description1: "Sharkeyにノートを投稿するとき、いろんなオプションが付けれるで。投稿画面はこんな感じや。"
|
||||
_visibility:
|
||||
description: "ノートを見れる相手を制限できるわ。"
|
||||
public: "みんなに見せるで。"
|
||||
home: "ホームタイムラインにだけ見せるで。フォロワーとか、プロフィールを見に来た人、ブーストからも見れるから、実質は全員見れるけどな。あんまし広がりにくいってことや。"
|
||||
followers: "フォロワーにだけ見せるで。自分以外はブーストできへんし、フォロワー以外は絶対に見れへん。"
|
||||
home: "ホームタイムラインにだけ見せるで。フォロワーとか、プロフィールを見に来た人、リノートからも見れるから、実質は全員見れるけどな。あんまし広がりにくいってことや。"
|
||||
followers: "フォロワーにだけ見せるで。自分以外はリノートできへんし、フォロワー以外は絶対に見れへん。"
|
||||
direct: "指定した人にだけ公開されて、ついでに通知も送るで。ダイレクトメールの代わりとして使ってな。"
|
||||
doNotSendConfidencialOnDirect1: "機密情報を送るときは十分注意せえよ。"
|
||||
doNotSendConfidencialOnDirect2: "送信先のサーバーの管理者は投稿内容が見れるから、信用できへんサーバーのひとにダイレクト投稿するときには、めっちゃ用心しとくんやで。"
|
||||
|
@ -1399,8 +1291,6 @@ _serverSettings:
|
|||
fanoutTimelineDescription: "入れると、おのおのタイムラインを取得するときにめちゃめちゃ動きが良うなって、データベースが軽くなるわ。でも、Redisのメモリ使う量が増えるから注意な。サーバーのメモリが足りんときとか、動きが変なときは切れるで。"
|
||||
fanoutTimelineDbFallback: "データベースにフォールバックする"
|
||||
fanoutTimelineDbFallbackDescription: "有効にしたら、タイムラインがキャッシュん中に入ってないときにDBにもっかい問い合わせるフォールバック処理ってのをやっとくで。切ったらフォールバック処理をやらんからサーバーはもっと軽くなんねんけど、タイムラインの取得範囲がちょっと減るで。"
|
||||
inquiryUrl: "問い合わせ先URL"
|
||||
inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定するで。"
|
||||
_accountMigration:
|
||||
moveFrom: "別のアカウントからこのアカウントに引っ越す"
|
||||
moveFromSub: "別のアカウントへエイリアスを作る"
|
||||
|
@ -1422,7 +1312,7 @@ _achievements:
|
|||
_notes1:
|
||||
title: "まいど!"
|
||||
description: "初めてノート投稿したった"
|
||||
flavor: "eGirlskeyを楽しんでな~"
|
||||
flavor: "Sharkeyを楽しんでな~"
|
||||
_notes10:
|
||||
title: "ノートの天保山"
|
||||
description: "ノートを10回投稿した"
|
||||
|
@ -1661,13 +1551,6 @@ _achievements:
|
|||
_tutorialCompleted:
|
||||
title: "Sharkeyひよっこ講座 修了証"
|
||||
description: "チュートリアル全部やった"
|
||||
_bubbleGameExplodingHead:
|
||||
title: "🤯"
|
||||
description: "バブルゲームで最も大きいモノを出した"
|
||||
_bubbleGameDoubleExplodingHead:
|
||||
title: "ダブル🤯"
|
||||
description: "バブルゲームで最も大きいモノを2つ同時に出した"
|
||||
flavor: "これくらいの おべんとばこに 🤯 🤯 ちょっとつめて"
|
||||
_role:
|
||||
new: "ロールの作成"
|
||||
edit: "ロールの編集"
|
||||
|
@ -1708,7 +1591,6 @@ _role:
|
|||
gtlAvailable: "グローバルタイムライン見る"
|
||||
ltlAvailable: "ローカルタイムライン見る"
|
||||
canPublicNote: "パブリック投稿できるか"
|
||||
mentionMax: "ノート内の最大メンション数"
|
||||
canInvite: "サーバー招待コード作る"
|
||||
inviteLimit: "招待コード作れる数"
|
||||
inviteLimitCycle: "招待コードの作れる間隔"
|
||||
|
@ -1717,7 +1599,6 @@ _role:
|
|||
canManageAvatarDecorations: "アバターを飾るモンの管理"
|
||||
driveCapacity: "ドライブ容量"
|
||||
alwaysMarkNsfw: "勝手にファイルにNSFWをくっつける"
|
||||
canUpdateBioMedia: "アイコンとバナーの更新を許可"
|
||||
pinMax: "ノートピン留めできる数"
|
||||
antennaMax: "アンテナ作れる数"
|
||||
wordMuteMax: "ワードミュートの最大文字数"
|
||||
|
@ -1733,14 +1614,8 @@ _role:
|
|||
canUseTranslator: "翻訳使えるかどうか"
|
||||
avatarDecorationLimit: "アイコンデコのいっちばんつけれる数"
|
||||
_condition:
|
||||
roleAssignedTo: "マニュアルロールにアサイン済み"
|
||||
isLocal: "ローカルユーザー"
|
||||
isRemote: "リモートユーザー"
|
||||
isCat: "猫ユーザー"
|
||||
isBot: "botユーザー"
|
||||
isSuspended: "サスペンド済みユーザー"
|
||||
isLocked: "鍵アカウントユーザー"
|
||||
isExplorable: "「アカウントを見つけやすくする」が有効なユーザー"
|
||||
createdLessThan: "アカウント作ってから~以内"
|
||||
createdMoreThan: "アカウント作ってから~経過"
|
||||
followersLessThanOrEq: "フォロワー数が~以下"
|
||||
|
@ -1766,7 +1641,6 @@ _emailUnavailable:
|
|||
disposable: "ずーっと使えるアドレスじゃないみたいや"
|
||||
mx: "正しいメールサーバーじゃないっぽいわ"
|
||||
smtp: "メールサーバーがうんともすんとも言わへん"
|
||||
banned: "このメールアドレスはあかん"
|
||||
_ffVisibility:
|
||||
public: "公開"
|
||||
followers: "フォロワーだけに公開"
|
||||
|
@ -1810,7 +1684,6 @@ _plugin:
|
|||
installWarn: "信頼できへんプラグインはインストールせんとってな"
|
||||
manage: "プラグインの管理"
|
||||
viewSource: "ソース見る"
|
||||
viewLog: "ログを表示"
|
||||
_preferencesBackups:
|
||||
list: "作ったバックアップ"
|
||||
saveNew: "新しく保存"
|
||||
|
@ -1825,8 +1698,8 @@ _preferencesBackups:
|
|||
deleteConfirm: "{name}を消すん?"
|
||||
renameConfirm: "「{old}」を「{new}」に変えるん?"
|
||||
noBackups: "バックアップはないで。「新しく保存」ってとこでこのクライアント設定を鯖に保存できるで。"
|
||||
createdAt: "作った日時: {date} {time}"
|
||||
updatedAt: "更新日時: {date} {time}"
|
||||
createdAt: "作った日時:{date}{time}"
|
||||
updatedAt: "更新日時:{date}{time}"
|
||||
cannotLoad: "読み込みできへん..."
|
||||
invalidFile: "ファイル形式が違うで?"
|
||||
_registry:
|
||||
|
@ -1836,12 +1709,10 @@ _registry:
|
|||
domain: "ドメイン"
|
||||
createKey: "キーを作る"
|
||||
_aboutMisskey:
|
||||
about: "Sharkeyは、Misskeyをベースにしたオープンソースなソフトウェアや。"
|
||||
about: "Sharkeyは、syuiloが2014年からずっと作ってはる、Misskeyをベースにしたオープンソースなソフトウェアや。"
|
||||
contributors: "主な貢献者"
|
||||
allContributors: "全ての貢献者"
|
||||
source: "ソースコード"
|
||||
original: "オリジナル"
|
||||
thisIsModifiedVersion: "{name}はオリジナルのSharkeyをいじったバージョンをつこうてるで。"
|
||||
translation: "Sharkeyを翻訳"
|
||||
donate: "Sharkeyに寄付"
|
||||
morePatrons: "他にもぎょうさんの人からサポートしてもろてんねん。ほんまおおきに🥰"
|
||||
|
@ -1871,7 +1742,7 @@ _channel:
|
|||
notesCount: "{n}こ投稿があるで"
|
||||
nameAndDescription: "名前と説明"
|
||||
nameOnly: "名前だけ"
|
||||
allowRenoteToExternal: "チャンネルの外にブーストできるようにする"
|
||||
allowRenoteToExternal: "チャンネルの外にリノートできるようにする"
|
||||
_menuDisplay:
|
||||
sideFull: "横"
|
||||
sideIcon: "横(アイコン)"
|
||||
|
@ -1971,7 +1842,6 @@ _soundSettings:
|
|||
driveFileTypeWarnDescription: "音声ファイルを選びや"
|
||||
driveFileDurationWarn: "音が長すぎるわ"
|
||||
driveFileDurationWarnDescription: "長い音使うたらSharkey使うのに良うないかもしれへんで。それでもええか?"
|
||||
driveFileError: "音声が読み込めへんかったで。設定を変更せえや"
|
||||
_ago:
|
||||
future: "未来"
|
||||
justNow: "ついさっき"
|
||||
|
@ -2025,7 +1895,6 @@ _2fa:
|
|||
backupCodesDescription: "認証アプリが使用できんなった場合、以下のバックアップコードを使ってアカウントにアクセスできるで。これらのコードは必ず安全な場所に置いときや。各コードは一回だけ使用できるで。"
|
||||
backupCodeUsedWarning: "バックアップコードが使用されたで。認証アプリが使えなくなってるん場合、なるべく早く認証アプリを再設定しや。"
|
||||
backupCodesExhaustedWarning: "バックアップコードが全て使用されたで。認証アプリを利用できん場合、これ以上アカウントにアクセスできなくなるで。認証アプリを再登録しや。"
|
||||
moreDetailedGuideHere: "詳細なガイドはこちら"
|
||||
_permissions:
|
||||
"read:account": "アカウントの情報を見るで"
|
||||
"write:account": "アカウントの情報を変更するで"
|
||||
|
@ -2063,55 +1932,6 @@ _permissions:
|
|||
"write:flash": "Playを操作する"
|
||||
"read:flash-likes": "Playのええやん!を見る"
|
||||
"write:flash-likes": "Playのええやん!を見る"
|
||||
"read:admin:abuse-user-reports": "ユーザーからの通報を見る"
|
||||
"write:admin:delete-account": "ユーザーアカウント消す"
|
||||
"write:admin:delete-all-files-of-a-user": "ユーザーのファイル全部ほかす"
|
||||
"read:admin:index-stats": "データベースインデックスの情報見る"
|
||||
"read:admin:table-stats": "データベーステーブルの情報見る"
|
||||
"read:admin:user-ips": "ユーザーのIPアドレスを見る"
|
||||
"read:admin:meta": "インスタンスのメタデータ見る"
|
||||
"write:admin:reset-password": "ユーザーのパスワードをリセット"
|
||||
"write:admin:resolve-abuse-user-report": "ユーザーからの通報を解決する"
|
||||
"write:admin:send-email": "メール送る"
|
||||
"read:admin:server-info": "サーバーの情報見る"
|
||||
"read:admin:show-moderation-log": "モデレーションログ見る"
|
||||
"read:admin:show-user": "ユーザーのプライベートな情報見る"
|
||||
"read:admin:show-users": "ユーザーのプライベートな情報見る"
|
||||
"write:admin:suspend-user": "ユーザーを凍結"
|
||||
"write:admin:unset-user-avatar": "ユーザーのアバターを削除"
|
||||
"write:admin:unset-user-banner": "ユーザーのバナーを削除"
|
||||
"write:admin:unsuspend-user": "ユーザーの凍結解除"
|
||||
"write:admin:meta": "インスタンスのメタデータいじる"
|
||||
"write:admin:user-note": "モデレーションノートいじる"
|
||||
"write:admin:roles": "ロールをいじる"
|
||||
"read:admin:roles": "ロール見る"
|
||||
"write:admin:relays": "リレーいじる"
|
||||
"read:admin:relays": "リレー見る"
|
||||
"write:admin:invite-codes": "招待コードいじる"
|
||||
"read:admin:invite-codes": "招待コード見る"
|
||||
"write:admin:announcements": "お知らせいじる"
|
||||
"read:admin:announcements": "お知らせ見る"
|
||||
"write:admin:avatar-decorations": "アバターデコレーションをいじる"
|
||||
"read:admin:avatar-decorations": "アバターデコレーション見る"
|
||||
"write:admin:federation": "連合の情報いじる"
|
||||
"write:admin:account": "ユーザーアカウントいじる"
|
||||
"read:admin:account": "ユーザーの情報見る"
|
||||
"write:admin:emoji": "絵文字いじる"
|
||||
"read:admin:emoji": "絵文字見る"
|
||||
"write:admin:queue": "ジョブキューいじる"
|
||||
"read:admin:queue": "ジョブキューの情報見る"
|
||||
"write:admin:promo": "プロモーションノートいじる"
|
||||
"write:admin:drive": "ユーザーのドライブいじる"
|
||||
"read:admin:drive": "ユーザーのドライブの情報見る"
|
||||
"read:admin:stream": "管理者用のWebsocket API使う"
|
||||
"write:admin:ad": "広告いじる"
|
||||
"read:admin:ad": "広告見る"
|
||||
"write:invite-codes": "招待コード作る"
|
||||
"read:invite-codes": "招待コード取得"
|
||||
"write:clip-favorite": "クリップのいいねいじる"
|
||||
"read:clip-favorite": "クリップのいいね見る"
|
||||
"read:federation": "連合の情報取得"
|
||||
"write:report-abuse": "違反報告"
|
||||
_auth:
|
||||
shareAccessTitle: "アプリへのアクセス許してやったらどうや"
|
||||
shareAccess: "「{name}」がアカウントにアクセスすることを許可してええか?"
|
||||
|
@ -2125,9 +1945,9 @@ _auth:
|
|||
_antennaSources:
|
||||
all: "みんなのノート"
|
||||
homeTimeline: "フォローしとるユーザーのノート"
|
||||
users: "選んだ一人か複数のユーザーのノート"
|
||||
users: "選らんだ一人か複数のユーザーのノート"
|
||||
userList: "選んだリストのユーザーのノート"
|
||||
userBlacklist: "選んだ一人か複数のユーザーを除いた全てのノート"
|
||||
userBlacklist: "選んだ1人か複数のユーザーのノート"
|
||||
_weekday:
|
||||
sunday: "日曜日"
|
||||
monday: "月曜日"
|
||||
|
@ -2233,7 +2053,6 @@ _profile:
|
|||
_exportOrImport:
|
||||
allNotes: "全てのノート"
|
||||
favoritedNotes: "お気に入りにしたノート"
|
||||
clips: "クリップ"
|
||||
followingList: "フォロー"
|
||||
muteList: "ミュート"
|
||||
blockingList: "ブロック"
|
||||
|
@ -2287,7 +2106,6 @@ _play:
|
|||
title: "タイトル"
|
||||
script: "スクリプト"
|
||||
summary: "説明"
|
||||
visibilityDescription: "非公開に設定するとプロフィールに表示されへんくなるけど、URLを知っとる人は引き続きアクセスできるで。"
|
||||
_pages:
|
||||
newPage: "ページを作る"
|
||||
editPage: "ページの編集"
|
||||
|
@ -2332,8 +2150,6 @@ _pages:
|
|||
section: "セクション"
|
||||
image: "画像"
|
||||
button: "ボタン"
|
||||
dynamic: "動的ブロック"
|
||||
dynamicDescription: "このブロックは廃止されとるで。今後は{play}を利用してや。"
|
||||
note: "ノート埋め込み"
|
||||
_note:
|
||||
id: "ノートID"
|
||||
|
@ -2348,14 +2164,13 @@ _notification:
|
|||
youGotMention: "{name}からのメンション"
|
||||
youGotReply: "{name}からのリプライ"
|
||||
youGotQuote: "{name}による引用"
|
||||
youRenoted: "{name}がブーストしたみたいやで"
|
||||
youRenoted: "{name}がリノートしたみたいやで"
|
||||
youWereFollowed: "フォローされたで"
|
||||
youReceivedFollowRequest: "フォロー許可してほしいみたいやな"
|
||||
yourFollowRequestAccepted: "フォローさせてもろたで"
|
||||
pollEnded: "アンケートの結果が出たみたいや"
|
||||
newNote: "さらの投稿"
|
||||
unreadAntennaNote: "アンテナ {name}"
|
||||
roleAssigned: "ロールが付与されたで"
|
||||
emptyPushNotificationMessage: "プッシュ通知の更新をしといたで"
|
||||
achievementEarned: "実績を獲得しとるで"
|
||||
testNotification: "通知テスト"
|
||||
|
@ -2363,10 +2178,8 @@ _notification:
|
|||
sendTestNotification: "テスト通知を送信するで"
|
||||
notificationWillBeDisplayedLikeThis: "通知はこのように表示されるで"
|
||||
reactedBySomeUsers: "{n}人がツッコんだで"
|
||||
likedBySomeUsers: "{n}人がいいねしたで"
|
||||
renotedBySomeUsers: "{n}人がブーストしたで"
|
||||
renotedBySomeUsers: "{n}人がリノートしたで"
|
||||
followedBySomeUsers: "{n}人にフォローされたで"
|
||||
flushNotification: "通知の履歴をリセットする"
|
||||
_types:
|
||||
all: "すべて"
|
||||
note: "あんたらの新規投稿"
|
||||
|
@ -2379,7 +2192,6 @@ _notification:
|
|||
pollEnded: "アンケートが終了したで"
|
||||
receiveFollowRequest: "フォロー許可してほしいみたいやで"
|
||||
followRequestAccepted: "フォローが受理されたで"
|
||||
roleAssigned: "ロールが付与された"
|
||||
achievementEarned: "実績の獲得"
|
||||
app: "連携アプリからの通知や"
|
||||
_actions:
|
||||
|
@ -2390,7 +2202,6 @@ _deck:
|
|||
alwaysShowMainColumn: "いつもメインカラムを表示"
|
||||
columnAlign: "カラムの寄せ"
|
||||
addColumn: "カラムを追加"
|
||||
newNoteNotificationSettings: "新着ノート通知の設定"
|
||||
configureColumn: "カラムの設定"
|
||||
swapLeft: "左に移動"
|
||||
swapRight: "右に移動"
|
||||
|
@ -2429,39 +2240,18 @@ _drivecleaner:
|
|||
orderByCreatedAtAsc: "追加日の古い順"
|
||||
_webhookSettings:
|
||||
createWebhook: "Webhookをつくる"
|
||||
modifyWebhook: "Webhookを編集"
|
||||
name: "名前"
|
||||
secret: "シークレット"
|
||||
trigger: "トリガー"
|
||||
events: "Webhookを投げるタイミング"
|
||||
active: "有効"
|
||||
_events:
|
||||
follow: "フォローしたとき~!"
|
||||
followed: "フォローもらったとき~!"
|
||||
note: "ノートを投稿したとき~!"
|
||||
reply: "返信があるとき~!"
|
||||
renote: "ブーストされるとき~!"
|
||||
renote: "リノートされるとき~!"
|
||||
reaction: "ツッコまれたとき~!"
|
||||
mention: "メンションがあるとき~!"
|
||||
_systemEvents:
|
||||
abuseReport: "ユーザーから通報があったとき"
|
||||
abuseReportResolved: "ユーザーからの通報を処理したとき"
|
||||
userCreated: "ユーザーが作成されたとき"
|
||||
deleteConfirm: "ほんまにWebhookをほかしてもええんか?"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
createRecipient: "通報の通知先を追加"
|
||||
modifyRecipient: "通報の通知先を編集"
|
||||
recipientType: "通知先の種類"
|
||||
_recipientType:
|
||||
mail: "メール"
|
||||
webhook: "Webhook"
|
||||
_captions:
|
||||
mail: "モデレーター権限を持つユーザーのメアドに通知を送るで(通報を受けた時のみ)"
|
||||
webhook: "指定したSystemWebhookに通知を送るで(通報を受けた時と通報を解決した時にそれぞれ発信)"
|
||||
keywords: "キーワード"
|
||||
notifiedUser: "通知先ユーザー"
|
||||
notifiedWebhook: "使用するWebhook"
|
||||
deleteConfirm: "通知先を削除してもええか?"
|
||||
_moderationLogTypes:
|
||||
createRole: "ロールを追加すんで"
|
||||
deleteRole: "ロールほかす"
|
||||
|
@ -2486,7 +2276,6 @@ _moderationLogTypes:
|
|||
resetPassword: "パスワードをリセット"
|
||||
suspendRemoteInstance: "リモートサーバーを止めんで"
|
||||
unsuspendRemoteInstance: "リモートサーバーを再開すんで"
|
||||
updateRemoteInstanceNote: "リモートサーバーのモデレーションノート更新"
|
||||
markSensitiveDriveFile: "ファイルをセンシティブ付与"
|
||||
unmarkSensitiveDriveFile: "ファイルをセンシティブ解除"
|
||||
resolveAbuseReport: "苦情を解決"
|
||||
|
@ -2499,8 +2288,6 @@ _moderationLogTypes:
|
|||
deleteAvatarDecoration: "アイコンデコレーションを削除"
|
||||
unsetUserAvatar: "この子のアイコン元に戻す"
|
||||
unsetUserBanner: "この子のバナー元に戻す"
|
||||
createSystemWebhook: "SystemWebhookを作成"
|
||||
updateSystemWebhook: "SystemWebhookを更新"
|
||||
_fileViewer:
|
||||
title: "ファイルの詳しい情報"
|
||||
type: "ファイルの種類"
|
||||
|
@ -2563,72 +2350,3 @@ _dataSaver:
|
|||
_code:
|
||||
title: "コードハイライト"
|
||||
description: "MFMとかでコードハイライト記法が使われてるとき、タップするまで読み込まれへんくなるで。コードハイライトではハイライトする言語ごとにその決めてるファイルを読む必要はあんねんな。けどな、それは自動で読み込まれなくなるから、通信量を少なくできることができるねん。"
|
||||
_hemisphere:
|
||||
N: "北半球"
|
||||
S: "南半球"
|
||||
caption: "一部のクライアント設定で、季節を判定するのに使用するで。"
|
||||
_reversi:
|
||||
reversi: "リバーシ"
|
||||
gameSettings: "対局の設定"
|
||||
chooseBoard: "ボードを選択"
|
||||
blackOrWhite: "先行/後攻"
|
||||
blackIs: "{name}が黒(先行)"
|
||||
rules: "ルール"
|
||||
thisGameIsStartedSoon: "対局、そろそろ開始されるで。"
|
||||
waitingForOther: "相手の準備が完了するのを待ってんで。"
|
||||
waitingForMe: "あんさんの準備が完了すんのを待ってんで"
|
||||
waitingBoth: "準備してなー"
|
||||
ready: "準備完了"
|
||||
cancelReady: "準備を再開"
|
||||
opponentTurn: "相手のターンやで"
|
||||
myTurn: "あんさんのターンや"
|
||||
turnOf: "{name}のターンやで"
|
||||
pastTurnOf: "{name}のターン"
|
||||
surrender: "投了"
|
||||
surrendered: "投了により"
|
||||
timeout: "時間切れ"
|
||||
drawn: "引き分け"
|
||||
won: "{name}の勝ち"
|
||||
black: "黒"
|
||||
white: "白"
|
||||
total: "合計"
|
||||
turnCount: "{count}ターン目"
|
||||
myGames: "自分の対局"
|
||||
allGames: "みんなの対局"
|
||||
ended: "終了"
|
||||
playing: "対局中"
|
||||
isLlotheo: "石の少ない方が勝ち(ロセオ)"
|
||||
loopedMap: "ループマップ"
|
||||
canPutEverywhere: "どこでも置けるモード"
|
||||
timeLimitForEachTurn: "1ターンの時間制限"
|
||||
freeMatch: "フリーマッチ"
|
||||
lookingForPlayer: "対戦相手を探してるで"
|
||||
gameCanceled: "対局がキャンセルされたわ"
|
||||
shareToTlTheGameWhenStart: "初めの時に対局をタイムラインに投稿するで"
|
||||
iStartedAGame: "対局し始めたで! #MisskeyReversi"
|
||||
opponentHasSettingsChanged: "相手が設定変えたで"
|
||||
allowIrregularRules: "変則許可 (完全フリー)"
|
||||
disallowIrregularRules: "変則なし"
|
||||
showBoardLabels: "盤面に行・列番号を表示"
|
||||
useAvatarAsStone: "石をアイコンにする"
|
||||
_offlineScreen:
|
||||
title: "オフライン - サーバーに接続できひんで"
|
||||
header: "サーバーに接続できへんわ"
|
||||
_urlPreviewSetting:
|
||||
title: "URLプレビューの設定"
|
||||
enable: "URLプレビューを有効にする"
|
||||
timeout: "プレビュー取得時のタイムアウト(ms)"
|
||||
timeoutDescription: "プレビュー取得の所要時間がこの値を超えた場合、プレビューは生成されへんで。"
|
||||
maximumContentLength: "Content-Lengthの最大値(byte)"
|
||||
maximumContentLengthDescription: "Content-Lengthがこの値を超えた場合、プレビューは生成されへんで。"
|
||||
requireContentLength: "Content-Lengthが取得できた場合のみプレビューを生成"
|
||||
requireContentLengthDescription: "相手サーバがContent-Lengthを返さない場合、プレビューは生成されへんで。"
|
||||
userAgent: "User-Agent"
|
||||
userAgentDescription: "プレビュー取得時に使用されるUser-Agentを設定するで。空欄の場合、デフォルトのUser-Agentが使用されるで。"
|
||||
summaryProxy: "プレビューを生成するプロキシのエンドポイント"
|
||||
summaryProxyDescription: "Misskey本体やなく、サマリープロキシを使用してプレビューを生成するで。"
|
||||
summaryProxyDescription2: "プロキシには下記パラメータがクエリ文字列として連携されるで。プロキシ側がこれらをサポートせえへんときは、設定値は無視されるで。"
|
||||
_mediaControls:
|
||||
pip: "ピクチャインピクチャ"
|
||||
playbackRate: "再生速度"
|
||||
loop: "ループ再生"
|
||||
|
|
|
@ -104,7 +104,3 @@ _deck:
|
|||
_columns:
|
||||
notifications: "Ilɣuyen"
|
||||
list: "Tibdarin"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "Imayl"
|
||||
|
|
|
@ -16,8 +16,8 @@ cancel: "아이예"
|
|||
noThankYou: "뎃어예"
|
||||
enterUsername: "사용자 이럼 서기"
|
||||
renotedBy: "{user}님이 리노트햇어예"
|
||||
noNotes: "노트가 어ᇝ십니다"
|
||||
noNotifications: "알림이 어ᇝ십니다"
|
||||
noNotes: "노트가 없십니다"
|
||||
noNotifications: "알림이 없십니다"
|
||||
instance: "서버"
|
||||
settings: "설정"
|
||||
notificationSettings: "알림 설정"
|
||||
|
@ -26,7 +26,7 @@ otherSettings: "다린 설정"
|
|||
openInWindow: "창서 옐기"
|
||||
profile: "프로필"
|
||||
timeline: "타임라인"
|
||||
noAccountDescription: "자기소개가 어ᇝ십니다"
|
||||
noAccountDescription: "자기소개가 없십니다"
|
||||
login: "로그인"
|
||||
loggingIn: "로그인하고 잇어예"
|
||||
logout: "로그아웃"
|
||||
|
@ -40,7 +40,7 @@ favorites: "질겨찾기"
|
|||
unfavorite: "질겨찾기서 어ᇝ애기"
|
||||
favorited: "질겨찾기에 담앗십니다."
|
||||
alreadyFavorited: "벌시로 질겨찾기에 담기 잇십니다."
|
||||
cantFavorite: "질겨찾기에 몬 담앗십니다."
|
||||
cantFavorite: "질겨찾기에 몬 담았십니다."
|
||||
pin: "프로필에 붙이기"
|
||||
unpin: "프로필서 띠기"
|
||||
copyContent: "내용 복사하기"
|
||||
|
@ -80,7 +80,7 @@ unfollowConfirm: "{name}님얼 고마 팔로잉합니꺼?"
|
|||
exportRequested: "내가기 요청얼 햇십니다. 시간이 쪼매 걸릴 깁니다. 요청이 껕나모 ‘드라이브’에 옇십니다."
|
||||
importRequested: "가오기 요청얼 햇십니다. 시간이 쪼매 걸릴 깁니다."
|
||||
lists: "리스트"
|
||||
noLists: "리스트가 어ᇝ십니다"
|
||||
noLists: "리스트가 없십니다"
|
||||
note: "노트"
|
||||
notes: "노트"
|
||||
following: "팔로잉"
|
||||
|
@ -124,7 +124,6 @@ reactions: "반엉"
|
|||
reactionSettingDescription2: "꺼시서 두고, 누질라서 뭉캐고, ‘+’럴 누질라서 옇십니다."
|
||||
rememberNoteVisibility: "공개 범위럴 기억하기"
|
||||
attachCancel: "붙임 빼기"
|
||||
deleteFile: "파일 뭉캐기"
|
||||
markAsSensitive: "수ᇚ힘 설정"
|
||||
unmarkAsSensitive: "수ᇚ힘 무루기"
|
||||
enterFileName: "파일 이럼 서기"
|
||||
|
@ -161,7 +160,7 @@ youCanCleanRemoteFilesCache: "파일 간리으 🗑️ 모냥얼 누질리모
|
|||
cacheRemoteSensitiveFiles: "웬겍으 수ᇚ힌 파일얼 캐시하기"
|
||||
cacheRemoteSensitiveFilesDescription: "요 설정얼 꺼모 웬겍 수ᇚ힌 파일이 캐시하지 아이하고 바리 링크합니다."
|
||||
flagAsBot: "자동 게정입니다"
|
||||
flagAsBotDescription: "요 게정얼 프로그램서 설라먼 키야 합니다. 키모 다런 개발자가 반엉얼 끋어ᇝ이 데풀이하지 몬 하게 도아 줄 수 잇고 Misskey으 시스템서 자동 게정이 뎁니다."
|
||||
flagAsBotDescription: "요 게정얼 프로그램서 설라먼 키야 합니다. 키모 다런 개발자가 반엉얼 끋없이 데풀이하지 몬 하게 도아 줄 수 잇고 Misskey으 시스템서 자동 게정이 뎁니다."
|
||||
flagAsCat: "애웅애웅애웅애웅!"
|
||||
flagAsCatDescription: "애옹?"
|
||||
flagShowTimelineReplies: "타임라인서 노트으 답하기 보기"
|
||||
|
@ -176,7 +175,7 @@ wallpaper: "벡지"
|
|||
setWallpaper: "벡지 설정"
|
||||
removeWallpaper: "벡지 뭉캐기"
|
||||
searchWith: "찾기: {q}"
|
||||
youHaveNoLists: "리스트가 어ᇝ십니다"
|
||||
youHaveNoLists: "리스트가 없십니다"
|
||||
followConfirm: "{name}님얼 팔로잉합니꺼?"
|
||||
proxyAccount: "프락시 게정"
|
||||
proxyAccountDescription: "프락시 게정언 턱벨한 조겐서 웬겍 팔로잉얼 하넌 게정입니다. 사용자가 웬겍 사용자럴 리스트에 옇얼 때 리스트에 옇언 사용자럴 누도 팔로잉 아이하모 할동이 서버로 아이 오니께 요 게정이 아인 프락시 게정얼 팔로잉하게 합니다."
|
||||
|
@ -210,17 +209,17 @@ instanceInfo: "서버 정보"
|
|||
statistics: "통게"
|
||||
clearQueue: "대기옐 비우기"
|
||||
clearQueueConfirmTitle: "대기옐얼 비웁니꺼?"
|
||||
clearQueueConfirmText: "대기옐에 잇넌 걸얼 아이 보냅니다. 흐이 요 동작언 할 필요가 어ᇝ십니다."
|
||||
clearQueueConfirmText: "대기옐에 잇넌 걸얼 아이 보냅니다. 흐이 요 동작언 할 필요가 없십니다."
|
||||
clearCachedFiles: "캐시 비우기"
|
||||
clearCachedFilesConfirm: "캐시한 웬겍 파일얼 말캉 뭉캡니꺼?"
|
||||
blockedInstances: "차단한 서버"
|
||||
blockedInstancesDescription: "차단할라넌 서버으 호스트럴 줄 바꿈해서로 비이 줍니다. 차단한 서버넌 요 서버하고 교류 몬 합니다."
|
||||
silencedInstances: "수ᇚ훈 서버"
|
||||
silencedInstancesDescription: "수ᇚ훌라넌 서버으 호스트럴 줄 바꿈해서로 비이 줍니다. 수ᇚ훈 서버으 게정언 말캉 ‘수ᇚ후기’가 데서 팔로잉 요청만 데고 팔로워가 아인 로컬 게정서 멘션얼 몬 합니다. 차단한 서버넌 상간 어ᇝ십니다."
|
||||
silencedInstancesDescription: "수ᇚ훌라넌 서버으 호스트럴 줄 바꿈해서로 비이 줍니다. 수ᇚ훈 서버으 게정언 말캉 ‘수ᇚ후기’가 데서 팔로잉 요청만 데고 팔로워가 아인 로컬 게정서 멘션얼 몬 합니다. 차단한 서버넌 상간 없십니다."
|
||||
muteAndBlock: "수ᇚ훔하고 차단"
|
||||
mutedUsers: "수ᇚ훈 사용자"
|
||||
blockedUsers: "차단한 사용자"
|
||||
noUsers: "사용자가 어ᇝ십니다"
|
||||
noUsers: "사용자가 없십니다"
|
||||
editProfile: "프로필 적기"
|
||||
noteDeleteConfirm: "요 노트럴 뭉캡니꺼?"
|
||||
pinLimitExceeded: "더 몬 붙입니다"
|
||||
|
@ -230,15 +229,15 @@ processing: "처리하고 잇어예"
|
|||
preview: "미리보기"
|
||||
default: "기본값"
|
||||
defaultValueIs: "기본값: {value}"
|
||||
noCustomEmojis: "이모지가 어ᇝ십니다"
|
||||
noJobs: "작업이 어ᇝ십니다"
|
||||
noCustomEmojis: "이모지가 없십니다"
|
||||
noJobs: "작업이 없십니다"
|
||||
federating: "옌합하고 잇어예"
|
||||
blocked: "차단햇어예"
|
||||
suspended: "고만 보내예"
|
||||
all: "말캉"
|
||||
subscribing: "구독하고 잇어예"
|
||||
publishing: "보내고 잇어예"
|
||||
notResponding: "답이 어ᇝ어예"
|
||||
notResponding: "답이 없어예"
|
||||
instanceFollowing: "서버으 팔로잉"
|
||||
instanceFollowers: "서버으 팔로워"
|
||||
instanceUsers: "서버으 사용자"
|
||||
|
@ -275,7 +274,7 @@ uploadFromUrlRequested: "올리기럴 요청햇십니다"
|
|||
uploadFromUrlMayTakeTime: "올리기가 껕날라먼 시간이 쪼매 걸릴 깁니다."
|
||||
explore: "살펴보기"
|
||||
messageRead: "이럿어예"
|
||||
noMoreHistory: "요카마 옛날 기록이 어ᇝ십니다"
|
||||
noMoreHistory: "요카마 엣날 기록이 없십니다"
|
||||
startMessaging: "대화하기"
|
||||
nUsersRead: "{n}멩이 이럿십니다"
|
||||
agreeTo: "{0}에 동이하기"
|
||||
|
@ -374,8 +373,6 @@ hcaptcha: "에이치캡차"
|
|||
enableHcaptcha: "에이치캡차 키기"
|
||||
hcaptchaSiteKey: "사이트키"
|
||||
hcaptchaSecretKey: "시크릿키"
|
||||
mcaptchaSiteKey: "사이트키"
|
||||
mcaptchaSecretKey: "시크릿키"
|
||||
recaptcha: "리캡차"
|
||||
enableRecaptcha: "리캡차 키기"
|
||||
recaptchaSiteKey: "사이트키"
|
||||
|
@ -432,28 +429,28 @@ securityKey: "보안키"
|
|||
lastUsed: "마지막 쓰임"
|
||||
lastUsedAt: "마지막 쓰임: {t}"
|
||||
unregister: "맨걸기 무루기"
|
||||
passwordLessLogin: "비밀번호 어ᇝ이 로그인"
|
||||
passwordLessLoginDescription: "비밀번호 어ᇝ이 보안 키나 패스 키만 서서 로그인합니다."
|
||||
passwordLessLogin: "비밀번호 없시 로그인"
|
||||
passwordLessLoginDescription: "비밀번호 말고 보안키나 패스키 같은 것만 써 가 로그인합니다."
|
||||
resetPassword: "비밀번호 재설정"
|
||||
newPasswordIs: "새 비밀번호넌 ‘{password}’입니다"
|
||||
newPasswordIs: "새 비밀번호는 \"{password}\" 입니다"
|
||||
reduceUiAnimation: "화면 움직임 효과들을 수ᇚ후기"
|
||||
share: "노누기"
|
||||
notFound: "몬 찾앗십니다"
|
||||
notFoundDescription: "선 주소에 맞넌 페이지가 어ᇝ십니다."
|
||||
uploadFolder: "기본 올리기 위치"
|
||||
markAsReadAllNotifications: "모던 알림얼 읽엄 포시"
|
||||
markAsReadAllUnreadNotes: "모던 걸얼 읽엄 포시"
|
||||
markAsReadAllTalkMessages: "모던 대화 읽엄 포시"
|
||||
notFoundDescription: "고런 주소로 들어가는 하멘은 없십니다."
|
||||
uploadFolder: "기본 업로드 위치"
|
||||
markAsReadAllNotifications: "모든 알림 이럿다고 표시"
|
||||
markAsReadAllUnreadNotes: "모든 글 이럿다고 표시"
|
||||
markAsReadAllTalkMessages: "모든 대화 이럿다고 표시"
|
||||
help: "도움말"
|
||||
inputMessageHere: "옇다 메시지럴 서이소"
|
||||
close: "꺼기"
|
||||
inputMessageHere: "여따가 메시지를 입력해주이소"
|
||||
close: "닫기"
|
||||
invites: "초대하기"
|
||||
members: "구성원"
|
||||
transfer: "넘구기"
|
||||
members: "멤버"
|
||||
transfer: "양도"
|
||||
title: "제목"
|
||||
text: "걸"
|
||||
text: "글"
|
||||
enable: "키기"
|
||||
next: "다엄"
|
||||
next: "다음"
|
||||
retype: "다시 서기"
|
||||
noteOf: "{user}님으 노트"
|
||||
quoteAttached: "따옴"
|
||||
|
@ -464,11 +461,8 @@ onlyOneFileCanBeAttached: "메시지엔 파일 하나까제밖에 몬 넣십니
|
|||
invitations: "초대하기"
|
||||
invitationCode: "초대장"
|
||||
checking: "학인하고 잇십니다"
|
||||
tooShort: "억수로 짜립니다"
|
||||
tooLong: "억수로 집니다"
|
||||
passwordMatched: "맞십니다"
|
||||
passwordNotMatched: "안 맞십니다"
|
||||
signinWith: "{n}서 로그인"
|
||||
signinFailed: "로그인 몬 했십니다. 고 이름이랑 비밀번호 제대로 썼는가 확인해 주이소."
|
||||
or: "아니면"
|
||||
language: "언어"
|
||||
|
@ -513,13 +507,13 @@ useObjectStorage: "오브젝트 스토리지 키기"
|
|||
objectStorageBaseUrl: "Base URL"
|
||||
objectStorageBaseUrlDesc: "오브젝트 (미디어) 참조 링크 만들 때 쓰는 URL임다. CDN 내지 프락시를 쓴다 카멘은 그 URL을 갖다 늫고, 아이면 써먹을 서비스네 가이드를 봐봐가 공개적으로 접근할 수 있는 주소를 여 넣어 주이소. 그니께, 내가 AWS S3을 쓴다 카면은 'https://<bucket>.s3.amazonaws.com', GCS를 쓴다 카면 'https://storage.googleapis.com/<bucket>' 처럼 쓰믄 되입니더."
|
||||
objectStorageBucket: "Bucket"
|
||||
objectStorageBucketDesc: "설 서비스으 버킷 이럼얼 서 주이소."
|
||||
objectStorageBucketDesc: "써먹을 서비스의 바께쓰 이름을 여 써 주이소."
|
||||
objectStoragePrefix: "Prefix"
|
||||
objectStoragePrefixDesc: "요 Prefix 디렉토리 안에다가 파일이 들어감다."
|
||||
objectStorageEndpoint: "Endpoint"
|
||||
objectStorageEndpointDesc: "AWS S3넌 비아 두고 다런 것언 거 서비스으 엔드포인트럴 서 주이소. ‘<host>’나 ‘<host>:<port>’맨치로 섭니다."
|
||||
objectStorageEndpointDesc: "AWS S3을 쓸라멘 요는 비워두고, 아이멘은 그 서비스 가이드에 맞게 endpoint를 넣어 주이소. '<host>' 내지 '<host>:<port>'처럼 넣십니다."
|
||||
objectStorageRegion: "Region"
|
||||
objectStorageRegionDesc: "‘xx-east-1’맨치로 리전 이럼얼 서 주이소. 설 서비스에 리전 개넴이 어ᇝ어먼 ‘us-east-1’라고 해 두이소. 에이더블유에스 설정 파일이나 환겡 벤수가 이ᇇ어면 비아 두이소."
|
||||
objectStorageRegionDesc: "'xx-east-1' 같은 region 이름을 옇어 주이소. 써먹을 서비스에 region 개념 같은 게 읎다! 카면은 대신에 'us-east-1'을 옇어 놓으이소. AWS 설정 파일이나 환경 변수를 갖다 끌어다 쓸 거면은 요는 비워 두이소."
|
||||
objectStorageUseSSL: "SSL 쓰기"
|
||||
objectStorageUseSSLDesc: "API 호출할 때 HTTPS 안 쓸거면은 꺼 두이소"
|
||||
objectStorageUseProxy: "연결에 프락시 사용"
|
||||
|
@ -535,21 +529,21 @@ newNoteRecived: "새 노트 있어예"
|
|||
sounds: "소리"
|
||||
sound: "소리"
|
||||
listen: "듣기"
|
||||
none: "어ᇝ엄"
|
||||
none: "없음"
|
||||
showInPage: "바닥서 보기"
|
||||
popout: "새 창 열기"
|
||||
volume: "음량"
|
||||
masterVolume: "대빵 음량"
|
||||
notUseSound: "음소거하기"
|
||||
useSoundOnlyWhenActive: "Misskey가 활성화되어 있을 때만 소리 내기"
|
||||
details: "자세히"
|
||||
chooseEmoji: "이모지 개리기"
|
||||
details: "좀 더"
|
||||
chooseEmoji: "이모지 선택"
|
||||
unableToProcess: "작업 다 몬 했십니다"
|
||||
recentUsed: "최근 쓴 놈"
|
||||
install: "설치"
|
||||
uninstall: "삭제"
|
||||
installedApps: "설치된 애플리케이션"
|
||||
nothing: "어ᇝ어예"
|
||||
nothing: "뭣도 없어예"
|
||||
installedDate: "설치한 날"
|
||||
lastUsedDate: "마지막 사용"
|
||||
state: "상태"
|
||||
|
@ -575,12 +569,7 @@ userSilenced: "요 게정은... 수ᇚ혀 있십니다."
|
|||
relays: "릴레이"
|
||||
addRelay: "릴레이 옇기"
|
||||
addedRelays: "옇은 릴레이"
|
||||
deletedNote: "뭉캔 걸"
|
||||
enableInfiniteScroll: "알아서 더 보기"
|
||||
useCw: "내용 수ᇚ후기"
|
||||
description: "설멩"
|
||||
describeFile: "캡션 옇기"
|
||||
enterFileDescription: "캡션 서기"
|
||||
author: "맨던 사람"
|
||||
manage: "간리"
|
||||
emailServer: "전자우펜 서버"
|
||||
|
@ -600,7 +589,6 @@ reporter: "신고한 사람"
|
|||
reporteeOrigin: "신고덴 사람"
|
||||
reporterOrigin: "신고한 곳"
|
||||
forwardReport: "웬겍 서버에 신고 보내기"
|
||||
waitingFor: "{x}(얼)럴 지달리고 잇십니다"
|
||||
random: "무작이"
|
||||
system: "시스템"
|
||||
clip: "클립 맨걸기"
|
||||
|
@ -610,19 +598,14 @@ renotesCount: "리노트한 수"
|
|||
renotedCount: "리노트덴 수"
|
||||
followingCount: "팔로우 수"
|
||||
followersCount: "팔로워 수"
|
||||
noteFavoritesCount: "질겨찾기한 노트 수"
|
||||
clips: "클립 맨걸기"
|
||||
clearCache: "캐시 비우기"
|
||||
typingUsers: "{users} 님이 서고 잇어예"
|
||||
unlikeConfirm: "좋네예럴 무룹니꺼?"
|
||||
info: "정보"
|
||||
selectAccount: "계정 개리기"
|
||||
user: "사용자"
|
||||
administration: "간리"
|
||||
translatedFrom: "{x}서 번옉"
|
||||
on: "킴"
|
||||
off: "껌"
|
||||
hide: "수ᇚ후기"
|
||||
clickToFinishEmailVerification: "[{ok}]럴 누질라서 전자우펜 정멩얼 껕내이소."
|
||||
searchByGoogle: "찾기"
|
||||
tenMinutes: "십 분"
|
||||
|
@ -631,8 +614,6 @@ oneDay: "하리"
|
|||
oneWeek: "한 주"
|
||||
oneMonth: "한 달"
|
||||
file: "파일"
|
||||
typeToConfirm: "게속할라먼 {x}럴 누질라 주이소"
|
||||
pleaseSelect: "개리 주이소"
|
||||
tools: "도구"
|
||||
like: "좋네예!"
|
||||
unlike: "좋네예 무루기"
|
||||
|
@ -640,19 +621,12 @@ numberOfLikes: "좋네예 수"
|
|||
show: "보기"
|
||||
roles: "옉할"
|
||||
role: "옉할"
|
||||
noRole: "옉할이 어ᇝ십니다"
|
||||
noRole: "옉할이 없십니다"
|
||||
thisPostMayBeAnnoyingCancel: "아이예"
|
||||
likeOnly: "좋네예마"
|
||||
myClips: "내 클립"
|
||||
icon: "아바타"
|
||||
replies: "답하기"
|
||||
renotes: "리노트"
|
||||
attach: "옇기"
|
||||
surrender: "아이예"
|
||||
_delivery:
|
||||
stop: "고만 보내예"
|
||||
_type:
|
||||
none: "보내고 잇어예"
|
||||
_initialAccountSetting:
|
||||
startTutorial: "길라잡이 하기"
|
||||
_initialTutorial:
|
||||
|
@ -665,52 +639,9 @@ _initialTutorial:
|
|||
title: "길라잡이가 껕낫십니다!🎉"
|
||||
_achievements:
|
||||
_types:
|
||||
_notes1:
|
||||
description: "첫 노트럴 섯어예"
|
||||
_notes10:
|
||||
description: "노트럴 10번 섰어예"
|
||||
_notes100:
|
||||
description: "노트럴 100번 섰어예"
|
||||
_notes500:
|
||||
description: "노트럴 500번 섰어예"
|
||||
_notes1000:
|
||||
description: "노트럴 1,000번 섰어예"
|
||||
_notes5000:
|
||||
description: "노트럴 5,000번 섰어예"
|
||||
_notes10000:
|
||||
description: "노트럴 10,000번 섰어예"
|
||||
_notes20000:
|
||||
description: "노트럴 20,000번 섰어예"
|
||||
_notes30000:
|
||||
description: "노트럴 30,000번 섰어예"
|
||||
_notes40000:
|
||||
description: "노트럴 40,000번 섰어예"
|
||||
_notes50000:
|
||||
description: "노트럴 50,000번 섰어예"
|
||||
_notes60000:
|
||||
description: "노트럴 60,000번 섰어예"
|
||||
_notes70000:
|
||||
description: "노트럴 70,000번 섰어예"
|
||||
_notes80000:
|
||||
description: "노트럴 80,000번 섰어예"
|
||||
_notes90000:
|
||||
description: "노트럴 90,000번 섰어예"
|
||||
_notes100000:
|
||||
description: "노트럴 100,000번 섰어예"
|
||||
_noteClipped1:
|
||||
description: "첫 노트럴 클립햇어예"
|
||||
_noteFavorited1:
|
||||
description: "첫 노트럴 질겨찾기에 담앗어예"
|
||||
_myNoteFavorited1:
|
||||
description: "다런 사람이 내 노트럴 질겨찾기에 담앗십니다"
|
||||
_iLoveMisskey:
|
||||
description: "“I ❤ #Misskey”럴 섰어예"
|
||||
_postedAt0min0sec:
|
||||
description: "0분 0초에 노트를 섰어예"
|
||||
_tutorialCompleted:
|
||||
description: "길라잡이럴 껕냇십니다"
|
||||
_gallery:
|
||||
my: "내 걸"
|
||||
liked: "좋네예한 걸"
|
||||
like: "좋네예!"
|
||||
unlike: "좋네예 무루기"
|
||||
|
@ -721,24 +652,15 @@ _serverDisconnectedBehavior:
|
|||
reload: "알아서 새로곤침"
|
||||
_channel:
|
||||
removeBanner: "배너 뭉캐기"
|
||||
usersCount: "{n}명 참여"
|
||||
notesCount: "노트 {n}개"
|
||||
_menuDisplay:
|
||||
hide: "수ᇚ후기"
|
||||
_theme:
|
||||
description: "설멩"
|
||||
keys:
|
||||
mention: "멘션"
|
||||
_sfx:
|
||||
note: "새 노트"
|
||||
notification: "알림"
|
||||
reaction: "리액션 개리기"
|
||||
_2fa:
|
||||
step3Title: "학인 기호럴 서기"
|
||||
renewTOTPCancel: "뎃어예"
|
||||
_permissions:
|
||||
"read:favorites": "질겨찾기 보기"
|
||||
"write:favorites": "질겨찾기 곤치기"
|
||||
_widgets:
|
||||
profile: "프로필"
|
||||
instanceInfo: "서버 정보"
|
||||
|
@ -750,22 +672,14 @@ _widgets:
|
|||
_userList:
|
||||
chooseList: "리스트 개리기"
|
||||
_cw:
|
||||
hide: "수ᇚ후기"
|
||||
show: "더 볼래예"
|
||||
chars: "걸자 {count}개"
|
||||
files: "파일 {count}개"
|
||||
_visibility:
|
||||
home: "덜머리"
|
||||
followers: "팔로워"
|
||||
_postForm:
|
||||
_placeholders:
|
||||
e: "옇다 서 주이소"
|
||||
_profile:
|
||||
name: "이럼"
|
||||
username: "사용자 이럼"
|
||||
_exportOrImport:
|
||||
favoritedNotes: "질겨찾기한 노트"
|
||||
clips: "클립 맨걸기"
|
||||
followingList: "팔로잉"
|
||||
muteList: "수ᇚ후기"
|
||||
blockingList: "차단하기"
|
||||
|
@ -775,20 +689,16 @@ _charts:
|
|||
_timelines:
|
||||
home: "덜머리"
|
||||
_play:
|
||||
my: "내 플레이"
|
||||
script: "스크립트"
|
||||
summary: "설멩"
|
||||
_pages:
|
||||
like: "좋네예"
|
||||
unlike: "좋네예 무루기"
|
||||
my: "내 페이지"
|
||||
blocks:
|
||||
image: "이미지"
|
||||
_note:
|
||||
id: "노트 아이디"
|
||||
_notification:
|
||||
youWereFollowed: "새 팔로워가 잇십니다"
|
||||
newNote: "새 걸"
|
||||
_types:
|
||||
follow: "팔로잉"
|
||||
mention: "멘션"
|
||||
|
@ -805,19 +715,9 @@ _deck:
|
|||
mentions: "받언 멘션"
|
||||
_webhookSettings:
|
||||
name: "이럼"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "전자우펜"
|
||||
_moderationLogTypes:
|
||||
suspend: "얼우기"
|
||||
deleteNote: "노트 뭉캐기"
|
||||
deleteUserAnnouncement: "사용자 공지 걸 뭉캐기"
|
||||
resetPassword: "비밀번호 재설정"
|
||||
resolveAbuseReport: "신고 해겔하기"
|
||||
_reversi:
|
||||
reversi: "리버시"
|
||||
chooseBoard: "보드 개리기"
|
||||
black: "꺼멍"
|
||||
white: "허영"
|
||||
total: "합게"
|
||||
|
|
|
@ -38,9 +38,9 @@ addUser: "유저 추가"
|
|||
favorite: "즐겨찾기"
|
||||
favorites: "즐겨찾기"
|
||||
unfavorite: "즐겨찾기에서 제거"
|
||||
favorited: "즐겨찾기에 등록했습니다."
|
||||
alreadyFavorited: "이미 즐겨찾기에 등록했습니다."
|
||||
cantFavorite: "즐겨찾기에 등록하지 못했습니다."
|
||||
favorited: "즐겨찾기에 등록했습니다"
|
||||
alreadyFavorited: "이미 즐겨찾기에 등록되어 있습니다"
|
||||
cantFavorite: "즐겨찾기에 등록하지 못했습니다"
|
||||
pin: "프로필에 고정"
|
||||
unpin: "프로필에서 고정 해제"
|
||||
copyContent: "내용 복사"
|
||||
|
@ -52,14 +52,14 @@ deleteAndEditConfirm: "이 노트를 삭제한 뒤 다시 편집하시겠습니
|
|||
addToList: "리스트에 추가"
|
||||
addToAntenna: "안테나에 추가"
|
||||
sendMessage: "메시지 보내기"
|
||||
copyRSS: "RSS 주소 복사"
|
||||
copyUsername: "유저명 복사"
|
||||
copyUserId: "유저 ID 복사"
|
||||
copyRSS: "RSS 복사"
|
||||
copyUsername: "사용자 이름 복사"
|
||||
copyUserId: "사용자 ID 복사"
|
||||
copyNoteId: "노트 ID 복사"
|
||||
copyFileId: "파일 ID 복사"
|
||||
copyFolderId: "폴더 ID 복사"
|
||||
copyProfileUrl: "프로필 URL 복사"
|
||||
searchUser: "유저 검색"
|
||||
searchUser: "사용자 검색"
|
||||
reply: "답글"
|
||||
loadMore: "더 보기"
|
||||
showMore: "더 보기"
|
||||
|
@ -93,7 +93,7 @@ somethingHappened: "오류가 발생했습니다"
|
|||
retry: "다시 시도"
|
||||
pageLoadError: "페이지를 불러오지 못했습니다."
|
||||
pageLoadErrorDescription: "네트워크 연결 또는 브라우저 캐시로 인해 발생했을 가능성이 높습니다. 캐시를 삭제하거나, 잠시 후 다시 시도해 주세요."
|
||||
serverIsDead: "서버가 응답하지 않습니다. 잠시 후 다시 시도해 주세요."
|
||||
serverIsDead: "서버로부터 응답이 없습니다. 잠시 후 다시 시도해주세요."
|
||||
youShouldUpgradeClient: "이 페이지를 표시하려면 새로고침하여 새로운 버전의 클라이언트를 이용해 주십시오."
|
||||
enterListName: "리스트 이름을 입력"
|
||||
privacy: "프라이버시"
|
||||
|
@ -108,14 +108,11 @@ enterEmoji: "이모지 입력"
|
|||
renote: "리노트"
|
||||
unrenote: "리노트 취소"
|
||||
renoted: "리노트했습니다"
|
||||
renotedToX: "{name}명이 리노트했습니다."
|
||||
cantRenote: "이 게시물은 리노트 할 수 없습니다."
|
||||
cantReRenote: "리노트를 리노트 할 수 없습니다."
|
||||
cantReRenote: "리노트를 리노트할 수 없습니다."
|
||||
quote: "인용"
|
||||
inChannelRenote: "채널 내 리노트"
|
||||
inChannelQuote: "채널 내 인용"
|
||||
renoteToChannel: "채널에 리노트"
|
||||
renoteToOtherChannel: "다른 채널에 리노트"
|
||||
pinnedNote: "고정된 노트"
|
||||
pinned: "고정하기"
|
||||
you: "나"
|
||||
|
@ -125,21 +122,20 @@ add: "추가"
|
|||
reaction: "리액션"
|
||||
reactions: "리액션"
|
||||
emojiPicker: "이모지 선택기"
|
||||
pinnedEmojisForReactionSettingDescription: "리액션을 할 때 이모지 선택기 상단에 표시할 이모지를 설정할 수 있습니다."
|
||||
pinnedEmojisSettingDescription: "이모지를 입력할 때 이모지 선택기 상단에 표시할 이모지를 설정할 수 있습니다."
|
||||
pinnedEmojisForReactionSettingDescription: "리액션을 할 때 프로필에 고정하여 표시할 이모지를 설정할 수 있습니다"
|
||||
pinnedEmojisSettingDescription: "이모지를 입력할 때 프로필에 고정하여 표시할 이모지를 설정할 수 있습니다"
|
||||
emojiPickerDisplay: "선택기 표시"
|
||||
overwriteFromPinnedEmojisForReaction: "리액션 설정을 덮어쓰기"
|
||||
overwriteFromPinnedEmojis: "일반 설정을 덮어쓰기"
|
||||
reactionSettingDescription2: "끌어서 순서 변경, 클릭해서 삭제, +를 눌러서 추가할 수 있습니다."
|
||||
rememberNoteVisibility: "공개 범위를 기억하기"
|
||||
attachCancel: "첨부 취소"
|
||||
deleteFile: "파일 삭제"
|
||||
markAsSensitive: "열람주의로 설정"
|
||||
unmarkAsSensitive: "열람주의 해제"
|
||||
enterFileName: "파일명을 입력"
|
||||
mute: "뮤트"
|
||||
unmute: "뮤트 해제"
|
||||
renoteMute: "리노트 뮤트"
|
||||
renoteMute: "리노트 뮤트하기"
|
||||
renoteUnmute: "리노트 뮤트 해제"
|
||||
block: "차단"
|
||||
unblock: "차단 해제"
|
||||
|
@ -172,21 +168,17 @@ cacheRemoteSensitiveFilesDescription: "이 설정을 비활성화하면 리모
|
|||
flagAsBot: "나는 봇입니다"
|
||||
flagAsBotDescription: "이 계정을 자동화된 수단으로 운용할 경우에 활성화해 주세요. 이 플래그를 활성화하면, 다른 봇이 이를 참고하여 봇 끼리의 무한 연쇄 반응을 회피하거나, 이 계정의 시스템 상에서의 취급이 Bot 운영에 최적화되는 등의 변화가 생깁니다."
|
||||
flagAsCat: "미야아아아오오오오오오오오오옹!!!!!!!"
|
||||
flagAsCatDescription: "야옹?(이 계정이 고양이라면 눌러 주세요.)"
|
||||
flagAsCatDescription: "야옹?"
|
||||
flagShowTimelineReplies: "타임라인에 노트의 답글을 표시하기"
|
||||
flagShowTimelineRepliesDescription: "이 설정을 활성화하면 타임라인에 다른 유저 간의 답글을 표시합니다."
|
||||
autoAcceptFollowed: "팔로우 중인 유저로부터의 팔로우 요청을 자동 수락"
|
||||
addAccount: "계정 추가"
|
||||
reloadAccountsList: "계정 목록 새로고침"
|
||||
reloadAccountsList: "계정 리스트 정보 갱신"
|
||||
loginFailed: "로그인에 실패했습니다"
|
||||
showOnRemote: "리모트에서 보기"
|
||||
continueOnRemote: "리모트에서 계속"
|
||||
chooseServerOnMisskeyHub: "Misskey Hub에서 서버 찾아보기"
|
||||
specifyServerHost: "서버 도메인 직접 지정"
|
||||
inputHostName: "도메인을 입력하세요"
|
||||
general: "일반"
|
||||
wallpaper: "배경"
|
||||
setWallpaper: "배경 설정"
|
||||
setWallpaper: "배경화면 설정"
|
||||
removeWallpaper: "배경 제거"
|
||||
searchWith: "검색: {q}"
|
||||
youHaveNoLists: "리스트가 없습니다"
|
||||
|
@ -254,7 +246,7 @@ publishing: "배포 중"
|
|||
notResponding: "응답 없음"
|
||||
instanceFollowing: "서버의 팔로잉"
|
||||
instanceFollowers: "서버의 팔로워"
|
||||
instanceUsers: "서버의 사용자"
|
||||
instanceUsers: "서버의 유저"
|
||||
changePassword: "비밀번호 변경"
|
||||
security: "보안"
|
||||
retypedNotMatch: "입력이 일치하지 않습니다."
|
||||
|
@ -270,12 +262,12 @@ lookup: "찾아보기"
|
|||
announcements: "공지사항"
|
||||
imageUrl: "이미지 URL"
|
||||
remove: "삭제"
|
||||
removed: "삭제했습니다"
|
||||
removed: "삭제하였습니다"
|
||||
removeAreYouSure: "\"{x}\" 을(를) 삭제하시겠습니까?"
|
||||
deleteAreYouSure: "\"{x}\" 을(를) 삭제하시겠습니까?"
|
||||
resetAreYouSure: "초기화 하시겠습니까?"
|
||||
areYouSure: "계속 진행하시겠습니까?"
|
||||
saved: "저장했습니다"
|
||||
saved: "저장하였습니다"
|
||||
messaging: "대화"
|
||||
upload: "업로드"
|
||||
keepOriginalUploading: "원본 이미지를 유지"
|
||||
|
@ -286,7 +278,7 @@ uploadFromUrl: "URL 업로드"
|
|||
uploadFromUrlDescription: "업로드하려는 파일의 URL"
|
||||
uploadFromUrlRequested: "업로드를 요청했습니다"
|
||||
uploadFromUrlMayTakeTime: "업로드가 완료될 때까지 시간이 소요될 수 있습니다."
|
||||
explore: "둘러보기"
|
||||
explore: "발견하기"
|
||||
messageRead: "읽음"
|
||||
noMoreHistory: "이것보다 과거의 기록이 없습니다"
|
||||
startMessaging: "대화 시작하기"
|
||||
|
@ -320,7 +312,6 @@ selectFile: "파일 선택"
|
|||
selectFiles: "파일 선택"
|
||||
selectFolder: "폴더 선택"
|
||||
selectFolders: "폴더 선택"
|
||||
fileNotSelected: "파일을 선택하지 않았습니다"
|
||||
renameFile: "파일 이름 변경"
|
||||
folderName: "폴더 이름"
|
||||
createFolder: "폴더 만들기"
|
||||
|
@ -378,7 +369,7 @@ inMb: "메가바이트 단위"
|
|||
bannerUrl: "배너 이미지 URL"
|
||||
backgroundImageUrl: "배경 이미지 URL"
|
||||
basicInfo: "기본 정보"
|
||||
pinnedUsers: "고정한 사용자"
|
||||
pinnedUsers: "고정된 유저"
|
||||
pinnedUsersDescription: "\"발견하기\" 페이지 등에 고정하고 싶은 유저를 한 줄에 한 명씩 적습니다."
|
||||
pinnedPages: "고정한 페이지"
|
||||
pinnedPagesDescription: "서버의 대문에 고정하고 싶은 페이지의 경로를 한 줄에 하나씩 적습니다."
|
||||
|
@ -388,11 +379,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "hCaptcha 활성화"
|
||||
hcaptchaSiteKey: "사이트 키"
|
||||
hcaptchaSecretKey: "시크릿 키"
|
||||
mcaptcha: "mCaptcha"
|
||||
enableMcaptcha: "mCaptcha 활성화"
|
||||
mcaptchaSiteKey: "사이트 키"
|
||||
mcaptchaSecretKey: "시크릿 키"
|
||||
mcaptchaInstanceUrl: "mCaptcha 인스턴스 URL"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "reCAPTCHA 활성화"
|
||||
recaptchaSiteKey: "사이트 키"
|
||||
|
@ -408,7 +394,6 @@ name: "이름"
|
|||
antennaSource: "받을 소스"
|
||||
antennaKeywords: "받을 검색어"
|
||||
antennaExcludeKeywords: "제외할 검색어"
|
||||
antennaExcludeBots: "봇 계정 제외"
|
||||
antennaKeywordsDescription: "공백으로 구분하는 경우 AND, 줄바꿈으로 구분하는 경우 OR로 지정됩니다"
|
||||
notifyAntenna: "새로운 노트를 알림"
|
||||
withFileAntenna: "파일이 첨부된 노트만"
|
||||
|
@ -423,11 +408,11 @@ silence: "사일런스"
|
|||
silenceConfirm: "이 계정을 사일런스로 설정하시겠습니까?"
|
||||
unsilence: "사일런스 해제"
|
||||
unsilenceConfirm: "이 계정의 사일런스를 해제하시겠습니까?"
|
||||
popularUsers: "인기 사용자"
|
||||
recentlyUpdatedUsers: "최근에 활동한 사용자"
|
||||
recentlyRegisteredUsers: "최근에 가입한 사용자"
|
||||
recentlyDiscoveredUsers: "최근에 발견한 사용자"
|
||||
exploreUsersCount: "{count}명의 사용자가 있습니다"
|
||||
popularUsers: "인기 유저"
|
||||
recentlyUpdatedUsers: "최근 활동한 유저"
|
||||
recentlyRegisteredUsers: "최근 가입한 유저"
|
||||
recentlyDiscoveredUsers: "최근 발견한 유저"
|
||||
exploreUsersCount: "{count}명의 유저가 있습니다"
|
||||
exploreFediverse: "연합우주를 탐색"
|
||||
popularTags: "인기 태그"
|
||||
userList: "리스트"
|
||||
|
@ -445,13 +430,13 @@ moderationNote: "조정 기록"
|
|||
addModerationNote: "조정 기록 추가하기"
|
||||
moderationLogs: "모더레이션 로그"
|
||||
nUsersMentioned: "{n}명이 언급함"
|
||||
securityKeyAndPasskey: "보안 키 또는 패스키"
|
||||
securityKeyAndPasskey: "보안 키 또는 패스 키"
|
||||
securityKey: "보안 키"
|
||||
lastUsed: "마지막 사용"
|
||||
lastUsedAt: "마지막 사용: {t}"
|
||||
unregister: "등록 해제"
|
||||
passwordLessLogin: "비밀번호 없이 로그인"
|
||||
passwordLessLoginDescription: "비밀번호 없이 보안 키 또는 패스키만 사용해서 로그인합니다."
|
||||
passwordLessLoginDescription: "비밀번호를 사용하지 않고 보안 키 또는 패스 키 등으로만 로그인합니다."
|
||||
resetPassword: "비밀번호 재설정"
|
||||
newPasswordIs: "새로운 비밀번호는 \"{password}\" 입니다"
|
||||
reduceUiAnimation: "UI의 애니메이션을 줄이기"
|
||||
|
@ -476,12 +461,10 @@ retype: "다시 입력"
|
|||
noteOf: "{user}의 노트"
|
||||
quoteAttached: "인용함"
|
||||
quoteQuestion: "인용해서 작성하시겠습니까?"
|
||||
attachAsFileQuestion: "붙여넣으려는 글이 너무 깁니다. 텍스트 파일로 첨부하시겠습니까?"
|
||||
noMessagesYet: "아직 대화가 없습니다"
|
||||
newMessageExists: "새 메시지가 있습니다"
|
||||
onlyOneFileCanBeAttached: "메시지에 첨부할 수 있는 파일은 하나까지입니다"
|
||||
signinRequired: "진행하기 전에 로그인을 해 주세요"
|
||||
signinOrContinueOnRemote: "계속하려면 사용하는 서버로 이동하거나 이 서버에 로그인해야 합니다."
|
||||
signinRequired: "로그인 해주세요"
|
||||
invitations: "초대"
|
||||
invitationCode: "초대 코드"
|
||||
checking: "확인하는 중입니다"
|
||||
|
@ -496,7 +479,7 @@ strongPassword: "강한 비밀번호"
|
|||
passwordMatched: "일치합니다"
|
||||
passwordNotMatched: "일치하지 않습니다"
|
||||
signinWith: "{x}로 로그인"
|
||||
signinFailed: "로그인할 수 없습니다. 사용자 이름과 비밀번호를 확인해 주십시오."
|
||||
signinFailed: "로그인할 수 없습니다. 사용자명과 비밀번호를 확인하여 주십시오."
|
||||
or: "혹은"
|
||||
language: "언어"
|
||||
uiLanguage: "UI 표시 언어"
|
||||
|
@ -504,8 +487,7 @@ aboutX: "{x}에 대하여"
|
|||
emojiStyle: "이모지 스타일"
|
||||
native: "기본"
|
||||
disableDrawer: "드로어 메뉴를 사용하지 않기"
|
||||
showNoteActionsOnlyHover: "마우스가 올라간 때에만 노트 동작 버튼을 표시하기"
|
||||
showReactionsCount: "노트의 반응 수를 표시하기"
|
||||
showNoteActionsOnlyHover: "노트 액션 버튼을 마우스를 올렸을 때에만 표시"
|
||||
noHistory: "기록이 없습니다"
|
||||
signinHistory: "로그인 기록"
|
||||
enableAdvancedMfm: "고급 MFM을 활성화"
|
||||
|
@ -541,13 +523,13 @@ useObjectStorage: "오브젝트 스토리지를 사용"
|
|||
objectStorageBaseUrl: "Base URL"
|
||||
objectStorageBaseUrlDesc: "오브젝트 (미디어) 참조 URL 을 만들 때 사용되는 URL입니다. CDN 또는 프록시를 사용하는 경우 그 URL을 지정하고, 그 외의 경우 사용할 서비스의 가이드에 따라 공개적으로 액세스 할 수 있는 주소를 지정해 주세요. 예를 들어, AWS S3의 경우 'https://<bucket>.s3.amazonaws.com', GCS등의 경우 'https://storage.googleapis.com/<bucket>' 와 같이 지정합니다."
|
||||
objectStorageBucket: "Bucket"
|
||||
objectStorageBucketDesc: "사용하는 서비스의 bucket 이름을 지정해 주세요."
|
||||
objectStorageBucketDesc: "사용 서비스의 bucket명을 지정해주세요."
|
||||
objectStoragePrefix: "Prefix"
|
||||
objectStoragePrefixDesc: "이 Prefix 의 디렉토리 아래에 파일이 저장됩니다."
|
||||
objectStorageEndpoint: "Endpoint"
|
||||
objectStorageEndpointDesc: "AWS S3는 비워 두고 다른 서비스는 각 서비스의 endpoint를 설정해 주세요. ‘<host>’ 혹은 ‘<host>:<port>’처럼 지정합니다."
|
||||
objectStorageEndpointDesc: "AWS S3의 경우 공란, 다른 서비스의 경우 각 서비스의 가이드에 맞게 endpoint를 설정해주세요. '<host>' 혹은 '<host>:<port>' 와 같이 지정합니다."
|
||||
objectStorageRegion: "Region"
|
||||
objectStorageRegionDesc: "‘xx-east-1’처럼 region을 지정해 주세요. 사용하는 서비스에 region 개념이 없으면 ‘us-east-1’처럼 설정해 주세요. AWS 설정 파일이나 환경 변수가 있으면 비워 주세요."
|
||||
objectStorageRegionDesc: "'xx-east-1'와 같이 region을 지정해 주세요. 사용하는 서비스에 region 개념이 없는 경우 'us-east-1'으로 설정해 주세요. AWS 설정 파일 또는 환경 변수를 참조할 경우에는 비워주세요."
|
||||
objectStorageUseSSL: "SSL 사용"
|
||||
objectStorageUseSSLDesc: "API 호출시 HTTPS 를 사용하지 않는 경우 OFF 로 설정해 주세요"
|
||||
objectStorageUseProxy: "연결에 프록시를 사용"
|
||||
|
@ -569,7 +551,7 @@ popout: "새 창으로 열기"
|
|||
volume: "음량"
|
||||
masterVolume: "마스터 볼륨"
|
||||
notUseSound: "음소거 하기"
|
||||
useSoundOnlyWhenActive: "Misskey를 활성화한 때에만 소리를 출력하기"
|
||||
useSoundOnlyWhenActive: "Misskey가 활성화 되어져 있을 때만 소리 출력하기"
|
||||
details: "자세히"
|
||||
chooseEmoji: "이모지 선택"
|
||||
unableToProcess: "작업을 완료할 수 없습니다"
|
||||
|
@ -589,7 +571,7 @@ scratchpadDescription: "스크래치 패드는 AiScript 의 테스트 환경을
|
|||
output: "출력"
|
||||
script: "스크립트"
|
||||
disablePagesScript: "Pages 에서 AiScript 를 사용하지 않음"
|
||||
updateRemoteUser: "원격 사용자 정보 갱신"
|
||||
updateRemoteUser: "리모트 유저 정보 갱신"
|
||||
unsetUserAvatar: "아바타 제거"
|
||||
unsetUserAvatarConfirm: "아바타를 제거할까요?"
|
||||
unsetUserBanner: "배너 제거"
|
||||
|
@ -598,7 +580,7 @@ deleteAllFiles: "모든 파일 삭제"
|
|||
deleteAllFilesConfirm: "모든 파일을 삭제하시겠습니까?"
|
||||
removeAllFollowing: "모든 팔로잉 해제"
|
||||
removeAllFollowingDescription: "{host} 서버의 모든 팔로잉을 해제합니다. 해당 서버가 더 이상 존재하지 않는 경우 등에 실행해 주세요."
|
||||
userSuspended: "이 사용자는 정지되었습니다."
|
||||
userSuspended: "이 계정은 정지된 상태입니다."
|
||||
userSilenced: "이 계정은 사일런스된 상태입니다."
|
||||
yourAccountSuspendedTitle: "계정이 정지되었습니다"
|
||||
yourAccountSuspendedDescription: "이 계정은 서버의 이용 약관을 위반하거나, 기타 다른 이유로 인해 정지되었습니다. 자세한 사항은 관리자에게 문의해 주십시오. 계정을 새로 생성하지 마십시오."
|
||||
|
@ -644,7 +626,6 @@ medium: "보통"
|
|||
small: "작게"
|
||||
generateAccessToken: "액세스 토큰 생성"
|
||||
permission: "권한"
|
||||
adminPermission: "관리자 권한"
|
||||
enableAll: "전체 선택"
|
||||
disableAll: "전체 해제"
|
||||
tokenRequested: "계정 접근 허용"
|
||||
|
@ -672,7 +653,7 @@ regexpErrorDescription: "{tab}단어 뮤트 {line}행의 정규 표현식에 오
|
|||
instanceMute: "서버 뮤트"
|
||||
userSaysSomething: "{name}님이 무언가를 말했습니다"
|
||||
makeActive: "활성화"
|
||||
display: "보기"
|
||||
display: "표시"
|
||||
copy: "복사"
|
||||
metrics: "통계"
|
||||
overview: "요약"
|
||||
|
@ -688,7 +669,6 @@ useGlobalSettingDesc: "활성화하면 계정의 알림 설정이 적용됩니
|
|||
other: "기타"
|
||||
regenerateLoginToken: "로그인 토큰을 재생성"
|
||||
regenerateLoginTokenDescription: "로그인할 때 사용되는 내부 토큰을 재생성합니다. 일반적으로 이 작업을 실행할 필요는 없습니다. 이 기능을 사용하면 이 계정으로 로그인한 모든 기기에서 로그아웃됩니다."
|
||||
theKeywordWhenSearchingForCustomEmoji: "맞춤 이모티콘을 검색할 때 키워드가 됩니다."
|
||||
setMultipleBySeparatingWithSpace: "공백으로 구분하여 여러 개 설정할 수 있습니다."
|
||||
fileIdOrUrl: "파일 ID 또는 URL"
|
||||
behavior: "동작"
|
||||
|
@ -696,7 +676,7 @@ sample: "예시"
|
|||
abuseReports: "신고"
|
||||
reportAbuse: "신고"
|
||||
reportAbuseRenote: "리노트 신고하기"
|
||||
reportAbuseOf: "{name} 신고하기"
|
||||
reportAbuseOf: "{name}을 신고하기"
|
||||
fillAbuseReportDescription: "신고하려는 이유를 자세히 알려주세요. 특정 게시물을 신고할 때에는 게시물의 URL도 포함해 주세요."
|
||||
abuseReported: "신고를 보냈습니다. 신고해 주셔서 감사합니다."
|
||||
reporter: "신고자"
|
||||
|
@ -721,7 +701,7 @@ createNew: "새로 만들기"
|
|||
optional: "옵션"
|
||||
createNewClip: "새 클립 만들기"
|
||||
unclip: "클립 해제"
|
||||
confirmToUnclipAlreadyClippedNote: "이 노트는 ‘{name}’ 클립을 이미 포함합니다. 클립에서 제외하시겠습니까?"
|
||||
confirmToUnclipAlreadyClippedNote: "이 노트는 이미 \"{name}\" 클립에 포함되어 있습니다. 클립을 해제하시겠습니까?"
|
||||
public: "공개"
|
||||
private: "비공개"
|
||||
i18nInfo: "Misskey는 자원봉사자들에 의해 다양한 언어로 번역되고 있습니다. {link}에서 번역에 참가할 수 있습니다."
|
||||
|
@ -734,13 +714,13 @@ repliedCount: "받은 답글 수"
|
|||
renotedCount: "받은 리노트 수"
|
||||
followingCount: "팔로우 수"
|
||||
followersCount: "팔로워 수"
|
||||
sentReactionsCount: "반응 수"
|
||||
receivedReactionsCount: "받은 반응 수"
|
||||
pollVotesCount: "투표 수"
|
||||
pollVotedCount: "받은 투표 수"
|
||||
sentReactionsCount: "보낸 리액션 수"
|
||||
receivedReactionsCount: "받은 리액션 수"
|
||||
pollVotesCount: "투표한 횟수"
|
||||
pollVotedCount: "투표받은 횟수"
|
||||
yes: "예"
|
||||
no: "아니오"
|
||||
driveFilesCount: "드라이브에 있는 파일 수"
|
||||
driveFilesCount: "드라이브 파일 개수"
|
||||
driveUsage: "드라이브 사용량"
|
||||
noCrawle: "검색엔진의 인덱싱 거부"
|
||||
noCrawleDescription: "검색엔진에 사용자 페이지, 노트, 페이지 등의 콘텐츠를 인덱싱되지 않게 합니다."
|
||||
|
@ -762,7 +742,7 @@ experimentalFeatures: "실험실"
|
|||
experimental: "실험실"
|
||||
thisIsExperimentalFeature: "이 기능은 실험적인 기능입니다. 사양이 변경되거나 정상적으로 동작하지 않을 가능성이 있습니다."
|
||||
developer: "개발자"
|
||||
makeExplorable: "계정을 쉽게 발견하도록 하기"
|
||||
makeExplorable: "\"발견하기\"에 내 계정 보이기"
|
||||
makeExplorableDescription: "비활성화하면 \"발견하기\"에 나의 계정을 표시하지 않습니다."
|
||||
showGapBetweenNotesInTimeline: "타임라인의 노트 사이를 띄워서 표시"
|
||||
duplicate: "복제"
|
||||
|
@ -775,7 +755,7 @@ needReloadToApply: "변경 사항은 새로고침하면 적용됩니다."
|
|||
showTitlebar: "타이틀 바를 표시하기"
|
||||
clearCache: "캐시 비우기"
|
||||
onlineUsersCount: "{n}명이 접속 중"
|
||||
nUsers: "{n} 사용자"
|
||||
nUsers: "{n} 유저"
|
||||
nNotes: "{n} 노트"
|
||||
sendErrorReports: "오류 보고서 보내기"
|
||||
sendErrorReportsDescription: "이 설정을 활성화하면, 문제가 발생했을 때 오류에 대한 상세 정보를 Misskey에 보내어 더 나은 소프트웨어를 만드는 데에 도움을 줄 수 있습니다."
|
||||
|
@ -808,7 +788,7 @@ emailNotification: "메일 알림"
|
|||
publish: "게시"
|
||||
inChannelSearch: "채널에서 검색"
|
||||
useReactionPickerForContextMenu: "우클릭하여 리액션 선택기 열기"
|
||||
typingUsers: "{users}님이 입력 중"
|
||||
typingUsers: "{users} 님이 입력하고 있어요.."
|
||||
jumpToSpecifiedDate: "특정 날짜로 이동"
|
||||
showingPastTimeline: "과거의 타임라인을 표시하고 있어요"
|
||||
clear: "지우기"
|
||||
|
@ -821,7 +801,7 @@ addDescription: "설명 추가"
|
|||
userPagePinTip: "각 노트의 메뉴에서 「프로필에 고정」을 선택하는 것으로, 여기에 노트를 표시해 둘 수 있어요."
|
||||
notSpecifiedMentionWarning: "수신자가 선택되지 않은 멘션이 있어요"
|
||||
info: "정보"
|
||||
userInfo: "사용자 정보"
|
||||
userInfo: "유저 정보"
|
||||
unknown: "알 수 없음"
|
||||
onlineStatus: "온라인 상태"
|
||||
hideOnlineStatus: "온라인 상태 숨기기"
|
||||
|
@ -842,7 +822,6 @@ administration: "관리"
|
|||
accounts: "계정"
|
||||
switch: "전환"
|
||||
noMaintainerInformationWarning: "관리자 정보가 설정되어 있지 않습니다."
|
||||
noInquiryUrlWarning: "문의처 주소를 설정하지 않았습니다."
|
||||
noBotProtectionWarning: "Bot 방어가 설정되어 있지 않습니다."
|
||||
configure: "설정하기"
|
||||
postToGallery: "갤러리에 업로드"
|
||||
|
@ -910,7 +889,7 @@ incorrectPassword: "비밀번호가 올바르지 않습니다."
|
|||
voteConfirm: "\"{choice}\"에 투표하시겠습니까?"
|
||||
hide: "숨기기"
|
||||
useDrawerReactionPickerForMobile: "모바일에서 드로어 메뉴로 표시"
|
||||
welcomeBackWithName: "{name}님, 환영합니다."
|
||||
welcomeBackWithName: "환영합니다, {name}님"
|
||||
clickToFinishEmailVerification: "[{ok}]를 눌러 이메일 인증을 완료하세요."
|
||||
overridedDeviceKind: "장치 유형"
|
||||
smartphone: "스마트폰"
|
||||
|
@ -1004,7 +983,6 @@ neverShow: "다시 보지 않기"
|
|||
remindMeLater: "나중에 알림"
|
||||
didYouLikeMisskey: "Misskey가 마음에 드시나요?"
|
||||
pleaseDonate: "Misskey는 {host} 서버의 무료 소프트웨어입니다. 앞으로도 개발을 이어 나가려면 후원이 절실히 필요합니다!"
|
||||
correspondingSourceIsAvailable: "소스 코드는 {anchor}에서 받아보실 수 있습니다."
|
||||
roles: "역할"
|
||||
role: "역할"
|
||||
noRole: "역할이 없습니다"
|
||||
|
@ -1032,12 +1010,11 @@ thisPostMayBeAnnoyingHome: "홈에 게시"
|
|||
thisPostMayBeAnnoyingCancel: "그만두기"
|
||||
thisPostMayBeAnnoyingIgnore: "이대로 게시"
|
||||
collapseRenotes: "이미 본 리노트를 간략화하기"
|
||||
collapseRenotesDescription: "반응이나 리노트를 한 노트를 접어서 표시합니다."
|
||||
internalServerError: "내부 서버 오류"
|
||||
internalServerErrorDescription: "내부 서버에서 예기치 않은 오류가 발생했습니다."
|
||||
copyErrorInfo: "오류 정보 복사"
|
||||
joinThisServer: "이 서버에 가입"
|
||||
exploreOtherServers: "다른 서버 찾기"
|
||||
exploreOtherServers: "다른 서버 둘러보기"
|
||||
letsLookAtTimeline: "타임라인 구경하기"
|
||||
disableFederationConfirm: "정말로 연합을 끄시겠습니까?"
|
||||
disableFederationConfirmWarn: "연합을 끄더라도 게시물이 비공개로 전환되는 것은 아닙니다. 대부분의 경우 연합을 비활성화할 필요가 없습니다."
|
||||
|
@ -1056,9 +1033,6 @@ resetPasswordConfirm: "비밀번호를 재설정하시겠습니까?"
|
|||
sensitiveWords: "민감한 단어"
|
||||
sensitiveWordsDescription: "설정한 단어가 포함된 노트의 공개 범위를 '홈'으로 강제합니다. 개행으로 구분하여 여러 개를 지정할 수 있습니다."
|
||||
sensitiveWordsDescription2: "공백으로 구분하면 AND 지정이 되며, 키워드를 슬래시로 둘러싸면 정규 표현식이 됩니다."
|
||||
prohibitedWords: "금지 워드"
|
||||
prohibitedWordsDescription: "설정된 워드가 포함되는 노트를 작성하려고 하면, 에러가 발생하도록 합니다. 줄바꿈으로 구분지어 복수 설정할 수 있습니다."
|
||||
prohibitedWordsDescription2: "공백으로 구분하면 AND 지정이 되며, 키워드를 슬래시로 둘러싸면 정규 표현식이 됩니다."
|
||||
hiddenTags: "숨긴 해시태그"
|
||||
hiddenTagsDescription: "설정한 태그를 트렌드에 표시하지 않도록 합니다. 줄 바꿈으로 하나씩 나눠서 설정할 수 있습니다."
|
||||
notesSearchNotAvailable: "노트 검색을 이용하실 수 없습니다."
|
||||
|
@ -1077,8 +1051,6 @@ limitWidthOfReaction: "리액션의 최대 폭을 제한하고 작게 표시하
|
|||
noteIdOrUrl: "노트 ID 및 URL"
|
||||
video: "동영상"
|
||||
videos: "동영상"
|
||||
audio: "소리"
|
||||
audioFiles: "소리"
|
||||
dataSaver: "데이터 절약 모드"
|
||||
accountMigration: "계정 이동"
|
||||
accountMoved: "이 사용자는 다음 계정으로 이사했습니다:"
|
||||
|
@ -1102,13 +1074,13 @@ serverRules: "서버 규칙"
|
|||
pleaseConfirmBelowBeforeSignup: "이 서버에 가입하기 전에 아래 사항을 확인하여 주십시오."
|
||||
pleaseAgreeAllToContinue: "계속하시려면 모든 항목에 동의하십시오."
|
||||
continue: "계속"
|
||||
preservedUsernames: "예약한 사용자 이름"
|
||||
preservedUsernames: "예약된 사용자명"
|
||||
preservedUsernamesDescription: "예약할 사용자명을 한 줄에 하나씩 입력합니다. 여기에서 지정한 사용자명으로는 계정을 생성할 수 없게 됩니다. 단, 관리자 권한으로 계정을 생성할 때에는 해당되지 않으며, 이미 존재하는 계정도 영향을 받지 않습니다."
|
||||
createNoteFromTheFile: "이 파일로 노트를 작성"
|
||||
archive: "아카이브"
|
||||
channelArchiveConfirmTitle: "{name} 채널을 보존하시겠습니까?"
|
||||
channelArchiveConfirmDescription: "보존한 채널은 채널 목록과 검색 결과에 표시되지 않으며 새로운 노트도 작성할 수 없습니다."
|
||||
thisChannelArchived: "이 채널은 보존되었습니다."
|
||||
channelArchiveConfirmTitle: "{name} 을(를) 아카이브하시겠습니까?"
|
||||
channelArchiveConfirmDescription: "아카이브한 채널은 채널 목록과 검색 결과에 표시되지 않으며, 채널에 새로운 노트를 작성할 수 없게 됩니다."
|
||||
thisChannelArchived: "이 채널은 아카이브되었습니다."
|
||||
displayOfNote: "노트 표시"
|
||||
initialAccountSetting: "초기 설정"
|
||||
youFollowing: "팔로잉"
|
||||
|
@ -1170,26 +1142,18 @@ unnotifyNotes: "새 노트 알림 끄기"
|
|||
authentication: "인증"
|
||||
authenticationRequiredToContinue: "계속하려면 인증하십시오"
|
||||
dateAndTime: "일시"
|
||||
showRenotes: "리노트 보기"
|
||||
showRenotes: "리노트 표시"
|
||||
edited: "수정됨"
|
||||
notificationRecieveConfig: "알림 설정"
|
||||
mutualFollow: "맞팔로우"
|
||||
followingOrFollower: "팔로 중이거나 팔로워"
|
||||
fileAttachedOnly: "미디어를 포함한 노트만"
|
||||
showRepliesToOthersInTimeline: "타임라인에 다른 사람에게 보내는 답글을 포함"
|
||||
hideRepliesToOthersInTimeline: "타임라인에 다른 사람에게 보내는 답글을 포함하지 않음"
|
||||
showRepliesToOthersInTimelineAll: "타임라인에 현재 팔로우 중인 사람 전원의 답글을 포함하게 하기"
|
||||
hideRepliesToOthersInTimelineAll: "타임라인에 현재 팔로우 중인 사람 전원의 답글이 나오지 않게 하기"
|
||||
confirmShowRepliesAll: "이 조작은 되돌릴 수 없습니다. 정말로 타임라인에 현재 팔로우 중인 사람 전원의 답글이 나오게 하시겠습니까?"
|
||||
confirmShowRepliesAll: "이 조작은 되돌릴 수 없습니다. 정말로 타임라인에 현재 팔로우 중인 사람 전원의 답글이 나오지 않게 하시겠습니까?"
|
||||
confirmHideRepliesAll: "이 조작은 되돌릴 수 없습니다. 정말로 타임라인에 현재 팔로우 중인 사람 전원의 답글이 나오지 않게 하시겠습니까?"
|
||||
externalServices: "외부 서비스"
|
||||
sourceCode: "소스 코드"
|
||||
sourceCodeIsNotYetProvided: "소스 코드를 아직 제공하지 않습니다. 이 문제를 해결하려면 관리자에게 문의해 주세요."
|
||||
repositoryUrl: "저장소 URL"
|
||||
repositoryUrlDescription: "소스 코드를 공개한 저장소가 있는 경우, 그 URL을 적습니다. Misskey를 원본 그대로 (소스 코드를 어떤 식으로도 변경하지 않고) 쓰고 있는 경우 https://github.com/misskey-dev/misskey 라고 적습니다."
|
||||
repositoryUrlOrTarballRequired: "저장소를 공개하지 않은 경우 대신 tarball을 제공할 필요가 있습니다. 세부사항은 .config/example.yml을 참조해 주세요."
|
||||
feedback: "피드백"
|
||||
feedbackUrl: "피드백 URL"
|
||||
impressum: "운영자 정보"
|
||||
impressumUrl: "운영자 정보 URL"
|
||||
impressumDescription: "독일 등의 일부 나라와 지역에서는 꼭 표시해야 합니다(Impressum)."
|
||||
|
@ -1219,60 +1183,6 @@ seasonalScreenEffect: "계절에 따른 효과 보이기"
|
|||
decorate: "장식하기"
|
||||
addMfmFunction: "장식 추가하기"
|
||||
enableQuickAddMfmFunction: "상급자용 MFM 선택기 표시하기"
|
||||
bubbleGame: "버블 게임"
|
||||
sfx: "효과음"
|
||||
soundWillBePlayed: "소리가 재생됩니다"
|
||||
showReplay: "리플레이 보기"
|
||||
replay: "리플레이"
|
||||
replaying: "리플레이 중"
|
||||
endReplay: "리플레이 종료"
|
||||
copyReplayData: "리플레이 데이터를 복사"
|
||||
ranking: "랭킹"
|
||||
lastNDays: "최근 {n}일"
|
||||
backToTitle: "타이틀로 가기"
|
||||
hemisphere: "거주 지역"
|
||||
withSensitive: "민감한 파일이 포함된 노트 보기"
|
||||
userSaysSomethingSensitive: "{name} 같은 민감한 파일이 포함된 글"
|
||||
enableHorizontalSwipe: "스와이프하여 탭 전환"
|
||||
loading: "불러오는 중"
|
||||
surrender: "그만두기"
|
||||
gameRetry: "다시 시도"
|
||||
notUsePleaseLeaveBlank: "사용하지 않는 경우 비워두세요."
|
||||
useTotp: "일회용 비밀번호 사용"
|
||||
useBackupCode: "백업 코드 사용"
|
||||
launchApp: "앱 실행"
|
||||
useNativeUIForVideoAudioPlayer: "브라우저 UI에서 미디어 재생"
|
||||
keepOriginalFilename: "원본 파일 이름을 유지"
|
||||
keepOriginalFilenameDescription: "이 설정을 끄면 업로드를 할 때 파일 이름이 자동으로 무작위 문자열로 바뀝니다."
|
||||
noDescription: "설명문이 없습니다"
|
||||
alwaysConfirmFollow: "팔로우일 때 항상 확인하기"
|
||||
inquiry: "문의하기"
|
||||
tryAgain: "다시 시도해 주세요."
|
||||
confirmWhenRevealingSensitiveMedia: "민감한 미디어를 열 때 두 번 확인"
|
||||
_delivery:
|
||||
status: "전송 상태"
|
||||
stop: "정지됨"
|
||||
resume: "전송 다시 시작"
|
||||
_type:
|
||||
none: "배포 중"
|
||||
manuallySuspended: "수동 정지 중"
|
||||
goneSuspended: "서버 삭제를 이유로 정지 중"
|
||||
autoSuspendedForNotResponding: "서버 응답 없음을 이유로 정지 중"
|
||||
_bubbleGame:
|
||||
howToPlay: "설명"
|
||||
hold: "홀드"
|
||||
_score:
|
||||
score: "점수"
|
||||
scoreYen: "번 돈"
|
||||
highScore: "최고 점수"
|
||||
maxChain: "최대 콤보 수"
|
||||
yen: "{yen}엔"
|
||||
estimatedQty: "{qty}개"
|
||||
scoreSweets: "오니기리 {onigiriQtyWithUnit}"
|
||||
_howToPlay:
|
||||
section1: "위치를 조정하여 상자에 물건을 떨어뜨립니다."
|
||||
section2: "같은 종류의 물건이 붙으면 다른 물건으로 바뀌면서 점수를 얻게 됩니다."
|
||||
section3: "상자에서 물건이 넘치면 게임 오버입니다. 상자에서 물건이 넘치지 않도록 하면서 물건을 융합하여 높은 점수를 획득하세요!"
|
||||
_announcement:
|
||||
forExistingUsers: "기존 유저에게만 알림"
|
||||
forExistingUsersDescription: "활성화하면 이 공지사항을 게시한 시점에서 이미 가입한 유저에게만 표시합니다. 비활성화하면 게시 후에 가입한 유저에게도 표시합니다."
|
||||
|
@ -1281,7 +1191,7 @@ _announcement:
|
|||
end: "공지에서 내리기"
|
||||
tooManyActiveAnnouncementDescription: "공지사항이 너무 많을 경우, 사용자 경험에 영향을 끼칠 가능성이 있습니다. 오래된 공지사항은 아카이브하시는 것을 권장드립니다."
|
||||
readConfirmTitle: "읽음으로 표시합니까?"
|
||||
readConfirmText: "〈{title}〉의 내용을 읽음으로 표시합니다."
|
||||
readConfirmText: "\"{title}\"을(를) 읽음으로 표시합니다."
|
||||
shouldNotBeUsedToPresentPermanentInfo: "신규 유저의 이용 경험에 악영향을 끼칠 수 있으므로, 일시적인 알림 수단으로만 사용하고 고정된 정보에는 사용을 지양하는 것을 추천합니다."
|
||||
dialogAnnouncementUxWarn: "다이얼로그 형태의 알림이 동시에 2개 이상 존재하는 경우, 사용자 경험에 악영향을 끼칠 수 있으므로 신중히 결정하십시오."
|
||||
silence: "조용히 알림"
|
||||
|
@ -1320,10 +1230,10 @@ _initialTutorial:
|
|||
_reaction:
|
||||
title: "'리액션'이 무엇인가요?"
|
||||
description: "노트에 '리액션'을 보낼 수 있습니다. '좋아요'만으로는 충분히 전해지지 않는 감정을, 이모지에 실어서 가볍게 보낼 수 있습니다."
|
||||
letsTryReacting: "리액션은 노트의 '{reaction}' 버튼을 클릭하여 붙일 수 있습니다. 지금 표시되는 샘플 노트에 리액션을 달아 보세요!"
|
||||
letsTryReacting: "리액션은 노트의 '+' 버튼을 클릭하여 붙일 수 있습니다. 지금 표시되는 샘플 노트에 리액션을 달아 보세요!"
|
||||
reactToContinue: "다음으로 진행하려면 리액션을 보내세요."
|
||||
reactNotification: "누군가가 나의 노트에 리액션을 보내면 실시간으로 알림을 받게 됩니다."
|
||||
reactDone: "'{undo}' 버튼을 눌러서 리액션을 취소할 수 있습니다."
|
||||
reactDone: "'-' 버튼을 눌러서 리액션을 취소할 수 있습니다."
|
||||
_timeline:
|
||||
title: "타임라인에 대하여"
|
||||
description1: "Misskey에는 종류에 따라 여러 가지의 타임라인으로 구성되어 있습니다.(서버에 따라서는 일부 타임라인을 사용할 수 없는 경우가 있습니다)"
|
||||
|
@ -1383,8 +1293,6 @@ _serverSettings:
|
|||
fanoutTimelineDescription: "활성화하면 각종 타임라인을 가져올 때의 성능을 대폭 향상하며, 데이터베이스의 부하를 줄일 수 있습니다. 단, Redis의 메모리 사용량이 증가합니다. 서버의 메모리 용량이 작거나, 서비스가 불안정해지는 경우 비활성화할 수 있습니다."
|
||||
fanoutTimelineDbFallback: "데이터베이스를 예비로 사용하기"
|
||||
fanoutTimelineDbFallbackDescription: "활성화하면 타임라인의 캐시되어 있지 않은 부분에 대해 DB에 질의하여 정보를 가져옵니다. 비활성화하면 이를 실행하지 않음으로써 서버의 부하를 줄일 수 있지만, 타임라인에서 가져올 수 있는 게시물 범위가 한정됩니다."
|
||||
inquiryUrl: "문의처 URL"
|
||||
inquiryUrlDescription: "서버 운영자에게 보내는 문의 양식의 URL이나 운영자의 연락처 등이 적힌 웹 페이지의 URL을 설정합니다."
|
||||
_accountMigration:
|
||||
moveFrom: "다른 계정에서 이 계정으로 이사"
|
||||
moveFromSub: "다른 계정에 대한 별칭을 생성"
|
||||
|
@ -1564,7 +1472,7 @@ _achievements:
|
|||
_iLoveMisskey:
|
||||
title: "I Love Misskey"
|
||||
description: "\"I ❤ #Misskey\"를 포스트했습니다"
|
||||
flavor: "Misskey를 이용해 주셔서 감사합니다! ― 개발 팀"
|
||||
flavor: "Misskey를 이용해주셔서 감사합니다! - 개발팀 일동"
|
||||
_foundTreasure:
|
||||
title: "보물찾기"
|
||||
description: "숨겨진 보물을 발견했습니다"
|
||||
|
@ -1602,10 +1510,10 @@ _achievements:
|
|||
description: "3개 이상의 창을 열었습니다"
|
||||
_driveFolderCircularReference:
|
||||
title: "순환 참조"
|
||||
description: "드라이브 폴더에 스스로를 넣게 했습니다"
|
||||
description: "드라이브 폴더를 자신을 가리키도록 만드려 시도했습니다"
|
||||
_reactWithoutRead:
|
||||
title: "읽고 답하긴 하시는 건가요?"
|
||||
description: "100자가 넘는 노트를 작성한 지 3초 안에 반응했어요"
|
||||
description: "100자가 넘는 노트가 작성되고 3초 안에 반응했습니다"
|
||||
_clickedClickHere:
|
||||
title: "여기를 누르세요"
|
||||
description: "여기를 눌렀습니다"
|
||||
|
@ -1645,13 +1553,6 @@ _achievements:
|
|||
_tutorialCompleted:
|
||||
title: "Misskey 입문자 과정 수료증"
|
||||
description: "튜토리얼을 완료했습니다"
|
||||
_bubbleGameExplodingHead:
|
||||
title: "🤯"
|
||||
description: "버블 게임에서 가장 큰 물건을 내놓았다"
|
||||
_bubbleGameDoubleExplodingHead:
|
||||
title: "더블 🤯"
|
||||
description: "버블게임에서 가장 큰 물건 2개를 동시에 내놓았다."
|
||||
flavor: "이 정도만 도시락통에 🤯 🤯 조금만 더"
|
||||
_role:
|
||||
new: "새 역할 생성"
|
||||
edit: "역할 수정"
|
||||
|
@ -1692,7 +1593,6 @@ _role:
|
|||
gtlAvailable: "글로벌 타임라인 보이기"
|
||||
ltlAvailable: "로컬 타임라인 보이기"
|
||||
canPublicNote: "공개 노트 허용"
|
||||
mentionMax: "노트에 넣을 수 있는 멘션 수"
|
||||
canInvite: "서버 초대 코드 발행"
|
||||
inviteLimit: "초대 한도"
|
||||
inviteLimitCycle: "초대 발급 간격"
|
||||
|
@ -1701,15 +1601,14 @@ _role:
|
|||
canManageAvatarDecorations: "아바타 꾸미기 관리"
|
||||
driveCapacity: "드라이브 용량"
|
||||
alwaysMarkNsfw: "파일을 항상 NSFW로 지정"
|
||||
canUpdateBioMedia: "아바타 및 배너 이미지 변경 허용"
|
||||
pinMax: "고정할 수 있는 노트 수"
|
||||
antennaMax: "만들 수 있는 안테나 수"
|
||||
antennaMax: "최대 안테나 생성 허용 수"
|
||||
wordMuteMax: "단어 뮤트할 수 있는 문자 수"
|
||||
webhookMax: "만들 수 있는 Webhook 수"
|
||||
clipMax: "만들 수 있는 클립 수"
|
||||
noteEachClipsMax: "클립에 넣을 수 있는 노트 수"
|
||||
userListMax: "만들 수 있는 사용자 리스트 수"
|
||||
userEachUserListsMax: "사용자 리스트에 넣을 수 있는 사용자 수"
|
||||
webhookMax: "생성할 수 있는 웹훅 수"
|
||||
clipMax: "생성할 수 있는 클립 수"
|
||||
noteEachClipsMax: "각 클립에 추가할 수 있는 노트 수"
|
||||
userListMax: "생성할 수 있는 유저 리스트 수"
|
||||
userEachUserListsMax: "유저 리스트당 최대 사용자 수"
|
||||
rateLimitFactor: "요청 빈도 제한"
|
||||
descriptionOfRateLimitFactor: "작을수록 제한이 완화되고, 클수록 제한이 강화됩니다."
|
||||
canHideAds: "광고 숨기기"
|
||||
|
@ -1717,22 +1616,16 @@ _role:
|
|||
canUseTranslator: "번역 기능의 사용"
|
||||
avatarDecorationLimit: "아바타 장식의 최대 붙임 개수"
|
||||
_condition:
|
||||
roleAssignedTo: "수동 역할에 이미 할당됨"
|
||||
isLocal: "로컬 사용자"
|
||||
isRemote: "리모트 사용자"
|
||||
isCat: "고양이 사용자"
|
||||
isBot: "봇 사용자"
|
||||
isSuspended: "정지된 사용자"
|
||||
isLocked: "잠금 계정 사용자"
|
||||
isExplorable: "‘계정을 쉽게 발견하도록 하기’를 활성화한 사용자"
|
||||
createdLessThan: "가입한 지 다음 일수 이내인 유저"
|
||||
createdMoreThan: "가입한 지 다음 일수 이상인 유저"
|
||||
followersLessThanOrEq: "팔로워 수가 다음 이하인 유저"
|
||||
followersMoreThanOrEq: "팔로워 수가 다음보다 많은 사용자"
|
||||
followersMoreThanOrEq: "팔로워 수가 다음 이상인 유저"
|
||||
followingLessThanOrEq: "팔로잉 수가 다음 이하인 유저"
|
||||
followingMoreThanOrEq: "팔로잉 수가 다음보다 많은 사용자"
|
||||
followingMoreThanOrEq: "팔로잉 수가 다음 이상인 유저"
|
||||
notesLessThanOrEq: "노트 수가 다음 이하인 유저"
|
||||
notesMoreThanOrEq: "노트 수가 다음보다 많은 사용자"
|
||||
notesMoreThanOrEq: "노트 수가 다음 이상인 유저"
|
||||
and: "다음을 모두 만족"
|
||||
or: "다음을 하나라도 만족"
|
||||
not: "다음을 만족하지 않음"
|
||||
|
@ -1794,7 +1687,6 @@ _plugin:
|
|||
installWarn: "신뢰할 수 없는 플러그인은 설치하지 않는 것이 좋습니다."
|
||||
manage: "플러그인 관리"
|
||||
viewSource: "소스 보기"
|
||||
viewLog: "로그 보기"
|
||||
_preferencesBackups:
|
||||
list: "생성한 백업"
|
||||
saveNew: "새 백업 만들기"
|
||||
|
@ -1805,12 +1697,12 @@ _preferencesBackups:
|
|||
cannotSave: "저장하지 못했습니다"
|
||||
nameAlreadyExists: "\"{name}\" 백업이 이미 존재합니다. 다른 이름을 설정하여 주십시오."
|
||||
applyConfirm: "\"{name}\" 백업을 현재 기기에 적용하시겠습니까? 현재 설정은 덮어 씌워집니다."
|
||||
saveConfirm: "{name} 백업을 덮어쓰시겠습니까?"
|
||||
deleteConfirm: "{name} 백업을 삭제하시겠습니까?"
|
||||
renameConfirm: "‘{old}’ 백업을 ‘{new}’ 백업으로 바꾸시겠습니까?"
|
||||
saveConfirm: "{name} 을 덮어쓰시겠습니까?"
|
||||
deleteConfirm: "{name} 을(를) 삭제하시겠습니까?"
|
||||
renameConfirm: "\"{old}\" 백업을 \"{new}\"(으)로 바꾸시겠습니까?"
|
||||
noBackups: "저장된 백업이 없습니다. \"새 백업 만들기\"를 눌러 현재 클라이언트 설정을 서버에 백업할 수 있습니다."
|
||||
createdAt: "만든 날짜: {date} {time}"
|
||||
updatedAt: "고친 날짜: {date} {time}"
|
||||
createdAt: "생성 날짜: {date} {time}"
|
||||
updatedAt: "갱신 날짜: {date} {time}"
|
||||
cannotLoad: "가져오기에 실패했습니다"
|
||||
invalidFile: "파일 형식이 올바르지 않습니다."
|
||||
_registry:
|
||||
|
@ -1824,8 +1716,6 @@ _aboutMisskey:
|
|||
contributors: "주요 기여자"
|
||||
allContributors: "모든 기여자"
|
||||
source: "소스 코드"
|
||||
original: "원본"
|
||||
thisIsModifiedVersion: "{name}에서는 원본 미스키를 수정한 버전을 사용하고 있습니다."
|
||||
translation: "Misskey를 번역하기"
|
||||
donate: "Misskey에 기부하기"
|
||||
morePatrons: "이 외에도 다른 많은 분들이 도움을 주시고 계십니다. 감사합니다🥰"
|
||||
|
@ -1871,7 +1761,7 @@ _instanceMute:
|
|||
title: "지정한 서버의 노트를 숨깁니다."
|
||||
heading: "뮤트할 서버"
|
||||
_theme:
|
||||
explore: "테마 둘러보기"
|
||||
explore: "테마 찾아보기"
|
||||
install: "테마 설치"
|
||||
manage: "테마 관리"
|
||||
code: "테마 코드"
|
||||
|
@ -1945,6 +1835,8 @@ _sfx:
|
|||
note: "새 노트"
|
||||
noteMy: "내 노트"
|
||||
notification: "알림"
|
||||
antenna: "안테나 수신"
|
||||
channel: "채널 알림"
|
||||
reaction: "리액션 선택"
|
||||
_soundSettings:
|
||||
driveFile: "드라이브에 있는 오디오를 사용"
|
||||
|
@ -1982,6 +1874,7 @@ _2fa:
|
|||
registerTOTP: "인증 앱 설정 시작"
|
||||
step1: "먼저, {a}나 {b}등의 인증 앱을 사용 중인 디바이스에 설치합니다."
|
||||
step2: "그 후, 표시되어 있는 QR코드를 앱으로 스캔합니다."
|
||||
step2Click: "QR 코드를 클릭하면 기기에 설치된 인증 앱에 등록할 수 있습니다."
|
||||
step2Uri: "데스크톱 앱을 사용하려면 다음 URI를 입력하십시오"
|
||||
step3Title: "인증 코드 입력"
|
||||
step3: "앱에 표시된 토큰을 입력하시면 완료됩니다."
|
||||
|
@ -1994,7 +1887,7 @@ _2fa:
|
|||
securityKeyName: "키 이름 입력"
|
||||
tapSecurityKey: "브라우저의 지시에 따라 보안 키 또는 패스키를 등록하여 주십시오"
|
||||
removeKey: "보안 키를 삭제"
|
||||
removeKeyConfirm: "{name} 앱을 삭제하시겠습니까?"
|
||||
removeKeyConfirm: "{name} 을(를) 삭제하시겠습니까?"
|
||||
whyTOTPOnlyRenew: "보안 키가 등록되어 있는 경우 인증 앱을 해제할 수 없습니다."
|
||||
renewTOTP: "인증 앱 재설정"
|
||||
renewTOTPConfirm: "기존에 등록되어 있던 인증 키는 사용하지 못하게 됩니다."
|
||||
|
@ -2005,7 +1898,6 @@ _2fa:
|
|||
backupCodesDescription: "인증 앱을 사용할 수 없게 된 경우 아래 백업 코드를 사용하여 계정에 액세스 할 수 있습니다.이 코드들은 반드시 안전한 장소에 보관하십시오.각 코드는 한 번만 사용할 수 있습니다."
|
||||
backupCodeUsedWarning: "백업 코드가 사용되었습니다.인증 앱을 사용할 수 없게 된 경우, 조속히 인증 앱을 다시 설정해 주십시오."
|
||||
backupCodesExhaustedWarning: "백업 코드가 모두 사용되었습니다.인증 앱을 사용할 수 없는 경우 더 이상 계정에 액세스하는 것이 불가능합니다.인증 앱을 다시 등록해 주세요."
|
||||
moreDetailedGuideHere: "여기에 자세한 설명이 있습니다"
|
||||
_permissions:
|
||||
"read:account": "계정의 정보를 봅니다"
|
||||
"write:account": "계정의 정보를 변경합니다"
|
||||
|
@ -2056,6 +1948,7 @@ _permissions:
|
|||
"read:admin:server-info": "서버 정보 보기"
|
||||
"read:admin:show-moderation-log": "조정 기록 보기"
|
||||
"read:admin:show-user": "사용자 개인정보 보기"
|
||||
"read:admin:show-users": "사용자 개인정보 보기"
|
||||
"write:admin:suspend-user": "사용자 정지하기"
|
||||
"write:admin:unset-user-avatar": "사용자 아바타 삭제하기"
|
||||
"write:admin:unset-user-banner": "사용자 배너 삭제하기"
|
||||
|
@ -2093,7 +1986,7 @@ _permissions:
|
|||
"write:report-abuse": "위반 내용 신고하기"
|
||||
_auth:
|
||||
shareAccessTitle: "어플리케이션의 접근 허가"
|
||||
shareAccess: "‘{name}’에서 계정에 접근하는 것을 허용하시겠습니까?"
|
||||
shareAccess: "\"{name}\" 이 계정에 접근하는 것을 허용하시겠습니까?"
|
||||
shareAccessAsk: "이 애플리케이션이 계정에 접근하는 것을 허용하시겠습니까?"
|
||||
permission: "{name}에서 다음 권한을 요청하였습니다"
|
||||
permissionAsk: "이 앱은 다음의 권한을 요청합니다"
|
||||
|
@ -2135,7 +2028,7 @@ _widgets:
|
|||
postForm: "글 입력란"
|
||||
slideshow: "슬라이드 쇼"
|
||||
button: "버튼"
|
||||
onlineUsers: "온라인 사용자"
|
||||
onlineUsers: "온라인 유저"
|
||||
jobQueue: "작업 대기열"
|
||||
serverMetric: "서버 통계"
|
||||
aiscript: "AiScript 콘솔"
|
||||
|
@ -2197,7 +2090,7 @@ _postForm:
|
|||
f: "작성해주시길 기다리고 있어요..."
|
||||
_profile:
|
||||
name: "이름"
|
||||
username: "사용자 이름"
|
||||
username: "유저명"
|
||||
description: "자기소개"
|
||||
youCanIncludeHashtags: "해시 태그를 포함할 수 있습니다."
|
||||
metadata: "추가 정보"
|
||||
|
@ -2212,7 +2105,6 @@ _profile:
|
|||
_exportOrImport:
|
||||
allNotes: "모든 노트"
|
||||
favoritedNotes: "즐겨찾기한 노트"
|
||||
clips: "클립"
|
||||
followingList: "팔로잉"
|
||||
muteList: "뮤트"
|
||||
blockingList: "차단"
|
||||
|
@ -2225,7 +2117,7 @@ _charts:
|
|||
apRequest: "요청"
|
||||
usersIncDec: "유저 수 증감"
|
||||
usersTotal: "유저 수 합계"
|
||||
activeUsers: "활동 사용자 수"
|
||||
activeUsers: "활성 유저 수"
|
||||
notesIncDec: "노트 수 증감"
|
||||
localNotesIncDec: "로컬 노트 수 증감"
|
||||
remoteNotesIncDec: "리모트 노트 수 증감"
|
||||
|
@ -2236,8 +2128,8 @@ _charts:
|
|||
storageUsageTotal: "스토리지 사용량 합계"
|
||||
_instanceCharts:
|
||||
requests: "요청"
|
||||
users: "사용자 수 차이"
|
||||
usersTotal: "누적 사용자 수"
|
||||
users: "유저 수 증감"
|
||||
usersTotal: "누적 유저 수"
|
||||
notes: "노트 수 증감"
|
||||
notesTotal: "누적 노트 수"
|
||||
ff: "팔로잉/팔로워 증감"
|
||||
|
@ -2266,7 +2158,6 @@ _play:
|
|||
title: "제목"
|
||||
script: "스크립트"
|
||||
summary: "설명"
|
||||
visibilityDescription: "비공개로 설정하면 프로필에 표시하지 않지만 URL을 아는 사람은 계속해서 접속할 수 있습니다."
|
||||
_pages:
|
||||
newPage: "페이지 만들기"
|
||||
editPage: "페이지 수정"
|
||||
|
@ -2277,7 +2168,7 @@ _pages:
|
|||
pageSetting: "페이지 설정"
|
||||
nameAlreadyExists: "지정한 페이지 URL이 이미 존재합니다"
|
||||
invalidNameTitle: "유효하지 않은 페이지 URL입니다"
|
||||
invalidNameText: "비어있는지 확인해 주세요"
|
||||
invalidNameText: "비어있지 않은지 확인해주세요"
|
||||
editThisPage: "이 페이지를 편집"
|
||||
viewSource: "소스 보기"
|
||||
viewPage: "페이지 보기"
|
||||
|
@ -2311,8 +2202,6 @@ _pages:
|
|||
section: "섹션"
|
||||
image: "이미지"
|
||||
button: "버튼"
|
||||
dynamic: "동적 블록"
|
||||
dynamicDescription: "이 블록은 폐지되었습니다. 이제부터 {play}에서 이용해 주세요."
|
||||
note: "노트필기"
|
||||
_note:
|
||||
id: "노트 ID"
|
||||
|
@ -2342,19 +2231,17 @@ _notification:
|
|||
sendTestNotification: "테스트 알림 보내기"
|
||||
notificationWillBeDisplayedLikeThis: "알림이 이렇게 표시됩니다"
|
||||
reactedBySomeUsers: "{n}명이 반응했습니다"
|
||||
likedBySomeUsers: "{n}명이 좋아요를 했습니다"
|
||||
renotedBySomeUsers: "{n}명이 리노트했습니다"
|
||||
followedBySomeUsers: "{n}명에게 팔로우됨"
|
||||
flushNotification: "알림 이력을 초기화"
|
||||
_types:
|
||||
all: "전부"
|
||||
note: "사용자의 새 글"
|
||||
note: "유저의 새 게시물"
|
||||
follow: "팔로잉"
|
||||
mention: "멘션"
|
||||
reply: "답글"
|
||||
renote: "리노트"
|
||||
quote: "인용"
|
||||
reaction: "반응"
|
||||
reaction: "리액션"
|
||||
pollEnded: "투표가 종료됨"
|
||||
receiveFollowRequest: "팔로우 요청을 받았을 때"
|
||||
followRequestAccepted: "팔로우 요청이 승인되었을 때"
|
||||
|
@ -2369,7 +2256,6 @@ _deck:
|
|||
alwaysShowMainColumn: "메인 칼럼 항상 표시"
|
||||
columnAlign: "칼럼 정렬"
|
||||
addColumn: "칼럼 추가"
|
||||
newNoteNotificationSettings: "새 노트 알림 설정"
|
||||
configureColumn: "칼럼 설정"
|
||||
swapLeft: "왼쪽으로 이동"
|
||||
swapRight: "오른쪽으로 이동"
|
||||
|
@ -2398,7 +2284,7 @@ _deck:
|
|||
direct: "다이렉트"
|
||||
roleTimeline: "역할 타임라인"
|
||||
_dialog:
|
||||
charactersExceeded: "최대 글자수를 초과하였습니다! 현재 {current} / 최대 {max}"
|
||||
charactersExceeded: "최대 글자수를 초과하였습니다! 현재 {current} / 최대 {min}"
|
||||
charactersBelow: "최소 글자수 미만입니다! 현재 {current} / 최소 {min}"
|
||||
_disabledTimeline:
|
||||
title: "비활성화된 타임라인"
|
||||
|
@ -2408,9 +2294,9 @@ _drivecleaner:
|
|||
orderByCreatedAtAsc: "등록일이 오래된 순"
|
||||
_webhookSettings:
|
||||
createWebhook: "Webhook 생성"
|
||||
modifyWebhook: "Webhook 수정"
|
||||
name: "이름"
|
||||
secret: "시크릿"
|
||||
events: "Webhook을 실행할 타이밍"
|
||||
active: "활성화"
|
||||
_events:
|
||||
follow: "누군가를 팔로우했을 때"
|
||||
|
@ -2420,26 +2306,6 @@ _webhookSettings:
|
|||
renote: "누군가 내 글을 리노트했을 때"
|
||||
reaction: "누군가 내 노트에 리액션했을 때"
|
||||
mention: "누군가 나를 멘션했을 때"
|
||||
_systemEvents:
|
||||
abuseReport: "유저로부터 신고를 받았을 때"
|
||||
abuseReportResolved: "받은 신고를 처리했을 때"
|
||||
userCreated: "유저가 생성되었을 때"
|
||||
deleteConfirm: "Webhook을 삭제할까요?"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
createRecipient: "신고 수신자 추가"
|
||||
modifyRecipient: "신고 수신자 편집"
|
||||
recipientType: "알림 수신 유형"
|
||||
_recipientType:
|
||||
mail: "이메일"
|
||||
webhook: "Webhook"
|
||||
_captions:
|
||||
mail: "모더레이터 권한을 가진 사용자의 이메일 주소에 알림을 보냅니다 (신고를 받은 때에만)"
|
||||
webhook: "지정한 SystemWebhook에 알림을 보냅니다 (신고를 받은 때와 해결했을 때에 송신)"
|
||||
keywords: "키워드"
|
||||
notifiedUser: "신고 알림을 보낼 유저"
|
||||
notifiedWebhook: "사용할 Webhook"
|
||||
deleteConfirm: "수신자를 삭제하시겠습니까?"
|
||||
_moderationLogTypes:
|
||||
createRole: "역할 생성"
|
||||
deleteRole: "역할 삭제"
|
||||
|
@ -2455,7 +2321,7 @@ _moderationLogTypes:
|
|||
updateUserNote: "조정 기록 갱신"
|
||||
deleteDriveFile: "파일 삭제"
|
||||
deleteNote: "노트 삭제"
|
||||
createGlobalAnnouncement: "전역 공지사항 생성"
|
||||
createGlobalAnnouncement: "모든 공지사항 만들기"
|
||||
createUserAnnouncement: "사용자 공지사항 만들기"
|
||||
updateGlobalAnnouncement: "모든 공지사항 수정"
|
||||
updateUserAnnouncement: "사용자 공지사항 수정"
|
||||
|
@ -2464,7 +2330,6 @@ _moderationLogTypes:
|
|||
resetPassword: "비밀번호 재설정"
|
||||
suspendRemoteInstance: "리모트 서버를 정지"
|
||||
unsuspendRemoteInstance: "리모트 서버의 정지를 해제"
|
||||
updateRemoteInstanceNote: "리모트 서버의 조정 기록 갱신"
|
||||
markSensitiveDriveFile: "파일에 열람주의를 설정"
|
||||
unmarkSensitiveDriveFile: "파일에 열람주의를 해제"
|
||||
resolveAbuseReport: "신고 처리"
|
||||
|
@ -2477,12 +2342,6 @@ _moderationLogTypes:
|
|||
deleteAvatarDecoration: "아바타 장식 삭제"
|
||||
unsetUserAvatar: "유저 아바타 제거"
|
||||
unsetUserBanner: "유저 배너 제거"
|
||||
createSystemWebhook: "SystemWebhook을 생성"
|
||||
updateSystemWebhook: "SystemWebhook을 수정"
|
||||
deleteSystemWebhook: "SystemWebhook을 삭제"
|
||||
createAbuseReportNotificationRecipient: "신고 알림 수신자 생성"
|
||||
updateAbuseReportNotificationRecipient: "신고 알림 수신자 편집"
|
||||
deleteAbuseReportNotificationRecipient: "신고 알림 수신자 삭제"
|
||||
_fileViewer:
|
||||
title: "파일 상세"
|
||||
type: "파일 유형"
|
||||
|
@ -2545,72 +2404,3 @@ _dataSaver:
|
|||
_code:
|
||||
title: "문자열 강조"
|
||||
description: "MFM 등으로 문자열 강조 기법을 사용할 때 누르기 전에는 불러오지 않습니다. 문자열 강조에서는 강조할 언어마다 그 정의 파일을 불러와야 하지만 이를 자동으로 불러오지 않으므로 데이터 사용량을 줄일 수 있습니다."
|
||||
_hemisphere:
|
||||
N: "북반구"
|
||||
S: "남반구"
|
||||
caption: "일부 클라이언트 설정에서 계절을 판단하려고 사용합니다."
|
||||
_reversi:
|
||||
reversi: "리버시"
|
||||
gameSettings: "대국 설정"
|
||||
chooseBoard: "보드 선택"
|
||||
blackOrWhite: "선공/후공"
|
||||
blackIs: "{name}님이 흑(선공)"
|
||||
rules: "규칙"
|
||||
thisGameIsStartedSoon: "대국을 곧 시작합니다"
|
||||
waitingForOther: "상대의 준비가 끝나기를 기다리고 있습니다."
|
||||
waitingForMe: "나의 준비가 끝나기를 기다리고 있습니다."
|
||||
waitingBoth: "준비하세요"
|
||||
ready: "준비 완료"
|
||||
cancelReady: "준비되지 않음"
|
||||
opponentTurn: "상대의 차례입니다"
|
||||
myTurn: "나의 차례입니다"
|
||||
turnOf: "{name}님의 차례입니다"
|
||||
pastTurnOf: "{name}님의 차례"
|
||||
surrender: "기권"
|
||||
surrendered: "상대의 기권"
|
||||
timeout: "시간 초과"
|
||||
drawn: "무승부"
|
||||
won: "{name}님의 승리"
|
||||
black: "흑"
|
||||
white: "백"
|
||||
total: "합계"
|
||||
turnCount: "{count}번째 수"
|
||||
myGames: "내 대국"
|
||||
allGames: "모든 대국"
|
||||
ended: "종료"
|
||||
playing: "대국 중"
|
||||
isLlotheo: "돌이 적은 쪽이 승리(로세오)"
|
||||
loopedMap: "순환 지도"
|
||||
canPutEverywhere: "어디든 둘 수 있는 모드"
|
||||
timeLimitForEachTurn: "각 수의 시간 제한"
|
||||
freeMatch: "자유 대국"
|
||||
lookingForPlayer: "대국 상대를 찾고 있습니다"
|
||||
gameCanceled: "대국이 취소되었습니다"
|
||||
shareToTlTheGameWhenStart: "대국이 시작할 때 타임라인에 공유"
|
||||
iStartedAGame: "대국을 시작하였습니다! #MisskeyReversi"
|
||||
opponentHasSettingsChanged: "상대가 설정을 변경했습니다"
|
||||
allowIrregularRules: "규칙 변경 허용(완전 자유)"
|
||||
disallowIrregularRules: "규칙 변경 없음"
|
||||
showBoardLabels: "판에 행·열 번호 표시"
|
||||
useAvatarAsStone: "돌을 아이콘으로 표시"
|
||||
_offlineScreen:
|
||||
title: "오프라인 - 서버에 접속할 수 없습니다"
|
||||
header: "서버에 접속할 수 없습니다"
|
||||
_urlPreviewSetting:
|
||||
title: "URL 미리보기 설정"
|
||||
enable: "URL 미리보기 활성화"
|
||||
timeout: "미리보기를 불러올 때의 타임아웃 (ms)"
|
||||
timeoutDescription: "미리보기를 로딩하는데 걸리는 시간이 정한 시간보다 오래 걸리는 경우, 미리보기를 생성하지 않습니다."
|
||||
maximumContentLength: "Content-Length의 최대치 (byte)"
|
||||
maximumContentLengthDescription: "Content-Length가 이 값을 넘어서면 미리보기를 생성하지 않습니다."
|
||||
requireContentLength: "Content-Length를 얻었을 때만 미리보기 만들기"
|
||||
requireContentLengthDescription: "상대 서버가 Content-Length를 되돌려주지 않는다면 미리보기를 만들지 않습니다."
|
||||
userAgent: "User-Agent"
|
||||
userAgentDescription: "미리보기를 얻을 때 사용한 User-Agent를 설정합니다. 비어 있다면 기본값의 User-Agent를 사용합니다."
|
||||
summaryProxy: "미리보기를 만든 프록시의 엔드포인트"
|
||||
summaryProxyDescription: "Misskey 본체를 사용하지 않고 서머리 프록시로 미리보기를 만듭니다."
|
||||
summaryProxyDescription2: "프록시는 아래의 파라미터를 쿼리 문자열로 연동합니다. 프록시 측이 이를 지원하지 않으면 설정값을 무시합니다."
|
||||
_mediaControls:
|
||||
pip: "화면 속 화면"
|
||||
playbackRate: "재생 속도"
|
||||
loop: "반복 재생"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
_lang_: "ພາສາລາວ"
|
||||
headlineMisskey: "ເຊື່ອມຕໍ່ເຄືອຂ່າຍໂດຍ note"
|
||||
introMisskey: "ຍິນດີຕ້ອນຮັບ! Misskey ເປັນຊອຟແວopensource, ສຳລັບບໍລິການ microblogging ແບບ decentralized\nສ້າງ “note” ເພື່ອແບ່ງປັນຄວາມຄິດຂອງທ່ານກັບທຸກໆ ຄົນທີ່ຢູ່ອ້ອມຮອບທ່ານ 📡\nຢ່າລືມ “reaction” ໂນຕຂອງລາວເພື່ອສະແດງຄວາມຮູ້ສຶກ 👍\nມາສຳຫຼວດໂລກໃໝ່ແນ! 🚀"
|
||||
headlineMisskey: "ເຊື່ອມຕໍ່ເຄືອຂ່າຍໂດຍຫມາຍເຫດ"
|
||||
introMisskey: "ຍິນດີຕ້ອນຮັບ! Misskey ເປັນແຫຼ່ງເປີດ, ການບໍລິການ microblogging ກະຈາຍ\nສ້າງ \"ບັນທຶກ\" ເພື່ອແບ່ງປັນຄວາມຄິດຂອງທ່ານກັບທຸກໆຄົນທີ່ຢູ່ອ້ອມຮອບທ່ານ 📡\nດ້ວຍ \"ປະຕິກິລິຍາ\", ທ່ານຍັງສາມາດສະແດງຄວາມຮູ້ສຶກຂອງທ່ານຢ່າງໄວວາກ່ຽວກັບບັນທຶກຂອງທຸກໆຄົນ 👍\nມາສຳຫຼວດໂລກໃໝ່! 🚀"
|
||||
poweredByMisskeyDescription: "{name} ແມ່ນສ່ວນໜຶ່ງຂອງການບໍລິການທີ່ຂັບເຄື່ອນໂດຍແພລດຟອມ open source. <b>Misskey</b> (ເອີ້ນວ່າ \"Misskey instance\")"
|
||||
monthAndDay: "ເດືອນ{month} / ວັນ{day}"
|
||||
monthAndDay: "{ເດືອນ}/{ມື້}"
|
||||
search: "ຄົ້ນຫາ"
|
||||
notifications: "ການແຈ້ງເຕືອນ"
|
||||
username: "ຊື່ຜູ້ໃຊ້"
|
||||
|
@ -15,79 +15,78 @@ gotIt: "ເຂົ້າໃຈແລ້ວ!"
|
|||
cancel: "ຍົກເລີກ"
|
||||
noThankYou: "ບໍ່ແມ່ນຕອນນີ້"
|
||||
enterUsername: "ປ້ອນຊື່ຜູ້ໃຊ້"
|
||||
renotedBy: "Renoted ໂດຍ {user}"
|
||||
noNotes: "ບໍ່ມີ note"
|
||||
renotedBy: "Renoted ໂດຍ {ຜູ້ໃຊ້}"
|
||||
noNotes: "ບໍ່ມີຫມາຍເຫດ"
|
||||
noNotifications: "ບໍ່ມີການແຈ້ງເຕືອນ"
|
||||
instance: "ເຊີຟເວີຣ໌"
|
||||
settings: "ຕັ້ງຄ່າ"
|
||||
instance: "ອີນສະແຕນ"
|
||||
settings: "ກຳນົດຄ່າ"
|
||||
notificationSettings: "ຕັ້ງຄ່າການແຈ້ງເຕືອນ"
|
||||
basicSettings: "ການຕັ້ງຄ່າພື້ນຖານ"
|
||||
otherSettings: "ການຕັ້ງຄ່າອື່ນໆ"
|
||||
openInWindow: "ເປີດໃນ window"
|
||||
profile: "ໂປຣໄຟລ໌"
|
||||
timeline: "ໄທມ໌ໄລນ໌"
|
||||
noAccountDescription: "ຜູ້ໃຊ້ຄົນນີ້ຍັງບໍ່ໄດ້ຂຽນຄຳແນະນຳໂຕ"
|
||||
openInWindow: "ເປີດຢູ່ໃນປ່ອງຢ້ຽມ"
|
||||
profile: "ໂພຼຟາຍ"
|
||||
timeline: "ເສັ້ນກຳນົດເວລາ"
|
||||
noAccountDescription: "ຜູ້ໃຊ້ນີ້ຍັງບໍ່ໄດ້ຂຽນໃນຊີວະປະຫວັດຂອງເຂົາເຈົ້າເທື່ອ"
|
||||
login: "ເຂົ້າສູ່ລະບົບ"
|
||||
loggingIn: "ກຳລັງເຂົ້າສູ່ລະບົບ..."
|
||||
logout: "ອອກຈາກລະບົບ"
|
||||
signup: "ລົງທະບຽນ"
|
||||
uploading: "ກຳລັງອັບໂຫຼດ..."
|
||||
uploading: "ການອັບໂຫຼດ..."
|
||||
save: "ບັນທຶກ"
|
||||
users: "ຜູ້ໃຊ້"
|
||||
users: "ຜູ້ໃຊ້ຕ່າງໆ"
|
||||
addUser: "ເພີ່ມຜູ້ໃຊ້"
|
||||
favorite: "ເພີ່ມໃສ່ລາຍການທີ່ມັກ"
|
||||
favorites: "ລາຍການທີ່ມັກ"
|
||||
unfavorite: "ເອົາອອກຈາກລາຍການທີ່ມັກ"
|
||||
unfavorite: "ລຶບອອກຈາກລາຍການທີ່ມັກ"
|
||||
favorited: "ເພີ່ມໃສ່ລາຍການທີ່ມັກແລ້ວ"
|
||||
alreadyFavorited: "ເພີ່ມເຂົ້າໃນລາຍການທີ່ມັກແລ້ວ."
|
||||
cantFavorite: "ບໍ່ສາມາດເພີ່ມໃສ່ລາຍການທີ່ມັກໄດ້."
|
||||
pin: "ປັກໝຸດ"
|
||||
unpin: "ຖອດປັກໝຸດອອກ"
|
||||
pin: "ປັກໝຸດໄປຫາໂປຣໄຟລ໌"
|
||||
unpin: "ຖອດປັກໝຸດອອກຈາກໂປຣໄຟລ໌"
|
||||
copyContent: "ຄັດລອກເນື້ອຫາ"
|
||||
copyLink: "ຄັດລອກລິ້ງ"
|
||||
copyLinkRenote: "ຄັດລອກລິ້ງຂອງ renote"
|
||||
copyLink: "ສຳເນົາລິ້ງ"
|
||||
delete: "ລຶບ"
|
||||
deleteAndEdit: "ລຶບແລະແກ້ໄຂ"
|
||||
deleteAndEditConfirm: "ຕ້ອງການລຶບ note ນີ້ແລະແກ້ໄຂໃໝ່ແມ່ນບໍ່? reaction, renote ແລະການຕອບກັບຕໍ່ note ນີ້ ທັງເບິດຈະຖືກລຶບອອກ"
|
||||
deleteAndEdit: "ລົບແລະແກ້ໄຂ"
|
||||
deleteAndEditConfirm: "ເຈົ້າແນ່ໃຈບໍ່? ທີ່ທ່ານຕ້ອງການທີ່ຈະລຶບບັນທຶກນີ້ແລະແກ້ໄຂມັນ ທ່ານອາດຈະສູນເສຍການໂຕ້ຕອບ, ບັນທຶກ, ແລະການຕອບກັບທັງໝົດ"
|
||||
addToList: "ເພີ່ມໃສ່ລາຍຊື່"
|
||||
addToAntenna: "ເພີ່ມໃສ່ເສົາອາກາດ"
|
||||
sendMessage: "ສົ່ງຂໍ້ຄວາມ"
|
||||
copyRSS: "ຄັດລອກ RSS"
|
||||
copyUsername: "ຄັດລອກຊື່ຜູ້ໃຊ້"
|
||||
copyUserId: "ຄັດລອກ ID ຜູ້ໃຊ້"
|
||||
copyNoteId: "ຄັດລອກ ID ຂອງ note"
|
||||
copyFileId: "ຄັດລອກ ID ໄຟລ໌"
|
||||
copyFolderId: "ຄັດລອກ ID ໂຟລ໌ເດີຣ໌"
|
||||
copyProfileUrl: "ຄັດລອກ URL ໂປຣໄຟລ໌"
|
||||
copyRSS: "ສຳເນົາ RSS"
|
||||
copyUsername: "ສຳເນົາຊື່ຜູ້ໃຊ້"
|
||||
copyUserId: "ສຳເນົາ ID ຜູ້ໃຊ້"
|
||||
copyNoteId: "ສຳເນົາ ID ບັນທຶກ"
|
||||
copyFileId: "ສຳເນົາ ID ໄຟລ໌"
|
||||
copyFolderId: "ສຳເນົາ ID ໂຟນເດີ"
|
||||
copyProfileUrl: "ສຳເນົາ URL ໂປຣໄຟລ໌"
|
||||
searchUser: "ຄົ້ນຫາຜູ້ໃຊ້"
|
||||
reply: "ຕອບກັບ"
|
||||
reply: "ຕອບໄປທີ"
|
||||
loadMore: "ໂຫຼດເພີ່ມເຕີມ"
|
||||
showMore: "ໂຫຼດເພີ່ມເຕີມ"
|
||||
showLess: "ປິດ"
|
||||
youGotNewFollower: "ໄດ້ຕິດຕາມເຈົ້າ"
|
||||
receiveFollowRequest: "ມີຄຳຂໍຕິດຕາມສົ່ງມາ"
|
||||
followRequestAccepted: "ການຕິດຕາມໄດ້ຮັບອນຸຍາດແລ້ວ"
|
||||
mention: "ເວົ້າເຖີງ"
|
||||
mentions: "ເວົ້າເຖີງເຈົ້າ"
|
||||
directNotes: "ໂພສ Direct note"
|
||||
youGotNewFollower: "ໄດ້ຕິດຕາມທ່ານ"
|
||||
receiveFollowRequest: "ປະຕິບັດຕາມຄໍາຮ້ອງຂໍທີ່ໄດ້ຮັບ"
|
||||
followRequestAccepted: "ຜູ້ຕິດຕາມໄດ້ຍອມຮັບຄໍາຮ້ອງຂໍຂອງທ່ານ"
|
||||
mention: "ໄດ້ກ່າວມາ"
|
||||
mentions: "ກ່າວເຖິງ"
|
||||
directNotes: "ໂດຍກົງຫມາຍເຫດ"
|
||||
importAndExport: "ນໍາເຂົ້າ / ສົ່ງອອກ"
|
||||
import: "ນຳເຂົ້າ"
|
||||
export: "ສົ່ງອອກ"
|
||||
export: "ນຳອອກ"
|
||||
files: "ໄຟລ໌"
|
||||
download: "ດາວໂຫລດ"
|
||||
driveFileDeleteConfirm: "ຕ້ອງການລຶບໄຟລ໌ “{name}” ແມ່ນບໍ່? Note ທີ່ແນບມາກັບໄຟລ໌ນີ້ຈະຖືກລຶບອອກ"
|
||||
unfollowConfirm: "ຕ້ອງການເລີກຕິດຕາມ {name} ແມ່ນບໍ່?"
|
||||
exportRequested: "ເຈົ້າໄດ້ຮ້ອງຂໍການສົ່ງອອກ ອາດໃຊ້ເວລາຈັກໜ່ອຍ ເມື່ອແລ້ວຈະຖືກເພີ່ມໃສ່ drive"
|
||||
importRequested: "ເຈົ້າໄດ້ຮ້ອງຂໍການນຳເຂົ້າ ການດຳເນິນການນີ້ອາດໃຊ້ເວລາຈັກໜ່ອຍ"
|
||||
driveFileDeleteConfirm: "ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການລຶບໄຟລ໌ \"{name}\"? ບັນທຶກທີ່ມີໄຟລ໌ແນບນີ້ຈະຖືກລຶບຖິ້ມ"
|
||||
unfollowConfirm: "ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການເຊົາຕິດຕາມ {name}?"
|
||||
exportRequested: "ໃນເວລາທີ່ທ່ານໄດ້ຮ້ອງຂໍການສົ່ງອອກ ມັນອາດຈະໃຊ້ເວລາບາງເວລາ ແລະມັນຈະຖືກເພີ່ມໃສ່ drive ຂອງທ່ານເມື່ອມັນສຳເລັດແລ້ວ"
|
||||
importRequested: "ໃນເວລາທີ່ທ່ານໄດ້ຮ້ອງຂໍການນໍາເຂົ້າ ມັນອາດຈະໃຊ້ເວລາບາງເວລາ"
|
||||
lists: "ລາຍການ"
|
||||
noLists: "ບໍ່ມີລາຍການໃດໆ"
|
||||
note: "Note"
|
||||
notes: "Note"
|
||||
noLists: "ທ່ານບໍ່ມີລາຍການໃດໆ"
|
||||
note: "ບັນທຶກ"
|
||||
notes: "ບັນທຶກ"
|
||||
following: "ກຳລັງຕິດຕາມ"
|
||||
followers: "ຜູ້ຕິດຕາມ"
|
||||
followsYou: "ຕິດຕາມເຈົ້າ"
|
||||
createList: "ສ້າງລາຍຊື່"
|
||||
manageLists: "ຈັດການລາຍຊື່"
|
||||
manageLists: "ການບໍລິຫານບັນຊີລາຍການ"
|
||||
error: "ຂໍ້ຜິດພາດ"
|
||||
somethingHappened: "ອຸຍ, ມີບາງຢ່າງຜິດພາດ"
|
||||
retry: "ລອງໃຫມ່"
|
||||
|
@ -97,38 +96,38 @@ serverIsDead: "ເຊີບເວີນີ້ບໍ່ຕອບສະໜອງ
|
|||
youShouldUpgradeClient: "ເພື່ອເບິ່ງໜ້ານີ້, ກະລຸນາໂຫຼດຂໍ້ມູນຄືນໃໝ່ເພື່ອອັບເດດລູກຄ້າຂອງທ່ານ"
|
||||
enterListName: "ໃສ່ຊື່ສຳລັບລາຍຊື່"
|
||||
privacy: "ຄວາມເປັນສ່ວນຕົວ"
|
||||
makeFollowManuallyApprove: "ຕິດຕາມຄຳຂໍທີ່ຕ້ອງໄດ້ຮັບການອະນຸມັດ"
|
||||
defaultNoteVisibility: "ການເບິ່ງເຫັນທີ່ເປັນຄ່າເລີ່ມຕົ້ນ"
|
||||
makeFollowManuallyApprove: "ປະຕິບັດຕາມການຮ້ອງຂໍຮຽກຮ້ອງໃຫ້ມີການອະນຸມັດ"
|
||||
defaultNoteVisibility: "ເປັນຄ່າເລີ່ມຕົ້ນ"
|
||||
follow: "ກຳລັງຕິດຕາມ"
|
||||
followRequest: "ສົ່ງຄຳຂໍຕິດຕາມ"
|
||||
followRequests: "ສົ່ງຄຳຂໍຕິດຕາມ"
|
||||
followRequest: "ສົ່ງການຮ້ອງຂໍປະຕິບຕາມ"
|
||||
followRequests: "ປະຕິບັດຕາມຄໍາຮ້ອງຂໍ"
|
||||
unfollow: "ເຊົາຕິດຕາມ"
|
||||
followRequestPending: "ລໍຖ້າການອະນຸມັດໃຫ້ຕິດຕາມ"
|
||||
enterEmoji: "ປ້ອນເອໂມຈິ"
|
||||
followRequestPending: "ປະຕິບັດຕາມຄໍາຮ້ອງຂໍທີ່ລໍຖ້າຢູ່"
|
||||
enterEmoji: "ປ້ອນອີໂມຈິ"
|
||||
renote: "Renote"
|
||||
unrenote: "ເລີກ Renote"
|
||||
renoted: "renote ແລ້ວ"
|
||||
cantRenote: "ໂພສນີ້ບໍ່ສາມາດ renote ໃໝ່ໄດ້"
|
||||
renoted: "ເກັບບັນທຶກໄວ້"
|
||||
cantRenote: "ໂພສນີ້ບໍ່ສາມາດຖືກບັນທຶກໄວ້ຄືນໃໝ່ໄດ້"
|
||||
cantReRenote: "ບໍ່ສາມາດບັນທຶກຄືນໃໝ່ໄດ້"
|
||||
quote: "ອ້າງອີງ"
|
||||
inChannelRenote: "Renote ໃນ channel ເທົ່ານັ້ນ"
|
||||
inChannelQuote: "ອ້າງອິງໃນ channel ເທົ່ານັ້ນ"
|
||||
pinnedNote: "note ທີ່ປັກໝຸດໄວ້"
|
||||
pinned: "ປັກໝຸດ"
|
||||
quote: "ລວມຂໍ້ຄວາມອ້າງອີງ"
|
||||
inChannelRenote: "ຊ່ອງພຽງແຕ່ Renote"
|
||||
inChannelQuote: "ຊ່ອງເທົ່ານັ້ນ Quote"
|
||||
pinnedNote: "ບັນທຶກທີ່ປັກໝຸດໄວ້"
|
||||
pinned: "ປັກໝຸດໄປຫາໂປຣໄຟລ໌"
|
||||
you: "ເຈົ້າ"
|
||||
clickToShow: "ກົດເພື່ອສະແດງໃຫ້ເຫັນ"
|
||||
sensitive: "NSFW"
|
||||
add: "ເພີ່ມ"
|
||||
reaction: "reaction"
|
||||
reactions: "reaction"
|
||||
reaction: "ປະຕິກິລິຍາ"
|
||||
reactions: "ປະຕິກິລິຍາ"
|
||||
attachCancel: "ເອົາໄຟລ໌ແນບ"
|
||||
mute: "ປີດສຽງ"
|
||||
unmute: "ເປີດສຽງ"
|
||||
block: "ບລັອກ"
|
||||
unblock: "ເລີກບລັອກ"
|
||||
block: "ບ໋ອກ"
|
||||
unblock: "ຍົກເລີກກາຮົບລັອກ"
|
||||
suspend: "ລະງັບ"
|
||||
unsuspend: "ເຊົາລະງັບ"
|
||||
selectList: "ເລືອກລາຍຊື່"
|
||||
selectList: "ເລືອກບັນຊີລາຍການ"
|
||||
editList: "ແກ້ໄຂລາຍຊື່"
|
||||
selectChannel: "ເລືອກຊ່ອງ"
|
||||
selectAntenna: "ເລືອກເສົາອາກາດ"
|
||||
|
@ -151,30 +150,30 @@ flagShowTimelineRepliesDescription: "ສະແດງການຕອບກັບ
|
|||
autoAcceptFollowed: "ອະນຸມັດອັດຕະໂນມັດຕາມຄຳຮ້ອງຂໍຈາກຜູ້ໃຊ້ທີ່ທ່ານກຳລັງຕິດຕາມຢູ່"
|
||||
addAccount: "ເພີ່ມບັນຊີ"
|
||||
loginFailed: "ການເຂົ້າສູ່ລະບົບບໍ່ສຳເລັດ"
|
||||
showOnRemote: "ເບິ່ງໃນເຊີຟເວີຣ໌ໄລຍະໄກ"
|
||||
showOnRemote: "ເບິ່ງຢູ່ໃນຕົວຢ່າງໄລຍະໄກ"
|
||||
general: "ທົ່ວໄປ"
|
||||
wallpaper: "ພາບພື້ນຫລັງ"
|
||||
setWallpaper: "ຕັ້ງເປັນພາບພື້ນຫຼັງ"
|
||||
removeWallpaper: "ລຶບຮູບວໍເປເປີອອກ"
|
||||
searchWith: "ຊອກຫາ: {q}"
|
||||
youHaveNoLists: "ເຈົ້າບໍ່ມີລາຍຊື່ໃດໆ"
|
||||
youHaveNoLists: "ທ່ານບໍ່ມີລາຍການໃດໆ"
|
||||
proxyAccount: "ບັນຊີພຣັອກຊີ"
|
||||
host: "ໂຮສຕ໌"
|
||||
host: "ໂຮດສ"
|
||||
selectUser: "ເລືອກຜູ້ໃຊ້"
|
||||
recipient: "ເຖິງ"
|
||||
annotation: "ຄຳເຫັນ"
|
||||
federation: "ສະຫະພັນ"
|
||||
instances: "ເຊີຟເວີຣ໌"
|
||||
instances: "ອີນສະແຕນ"
|
||||
registeredAt: "ລົງທະບຽນຢູ່"
|
||||
storageUsage: "ບ່ອນຈັດເກັບຂໍ້ມູນທີ່ໃຊ້"
|
||||
charts: "ແຜນພູມ"
|
||||
charts: "ອັນດັບເພງ"
|
||||
perHour: "ຕໍ່ຊົ່ວໂມງ"
|
||||
perDay: "ຕໍ່ມື້"
|
||||
stopActivityDelivery: "ຢຸດເຊົາການສົ່ງກິດຈະກໍາ"
|
||||
blockThisInstance: "ຂັດຂວາງຕົວຢ່າງນີ້"
|
||||
operations: "ການດຳເນີນງານ"
|
||||
software: "ຊອບແວ"
|
||||
version: "ເວີຣ໌ຊັນ"
|
||||
version: "ສະບັບ"
|
||||
metadata: "Metadata"
|
||||
withNFiles: "{n} ໄຟລ໌(s)"
|
||||
monitor: "ຈໍພາບ"
|
||||
|
@ -199,15 +198,15 @@ federating: "ສະຫະພັນ"
|
|||
blocked: "ບລັອກແລ້ວ "
|
||||
suspended: "ໂຈະ"
|
||||
all: "ທັງໝົດ"
|
||||
subscribing: "ກຳລັງສະມັກສະມາຊິກ"
|
||||
publishing: "ກຳລັງເຜີຍແພ່"
|
||||
subscribing: "ສະໝັກສະມາຊິກແລັວ"
|
||||
publishing: "ການພິມເຜີຍແຜ່"
|
||||
notResponding: "ບໍ່ຕອບສະໜອງ"
|
||||
instanceFollowing: "ກຳລັງຕິດຕາມບົນເຊີຟເວີຣ໌"
|
||||
instanceFollowers: "ຜູ້ຕິດຕາມຂອງເຊີຟເວີຣ໌"
|
||||
instanceUsers: "ຜູ້ໃຊ້ຂອງເຊີຟເວີຣ໌ນີ້"
|
||||
instanceFollowing: "ກຳລັງຕິດຕາມສຸດຕົວຢ່າງ"
|
||||
instanceFollowers: "ຜູ້ຕິດຕາມຕົວຢ່າງ"
|
||||
instanceUsers: "ຜູ້ຊົມໃຊ້ຂອງຕົວຢ່າງນີ້"
|
||||
changePassword: "ປ່ຽນລະຫັດຜ່ານ"
|
||||
security: "ຄວາມປອດໄພ"
|
||||
retypedNotMatch: "ປ້ອນຂໍ້ມູນບໍ່ກົງກັນ"
|
||||
retypedNotMatch: "ວັດສະດຸປ້ອນບໍ່ກົງກັນ"
|
||||
currentPassword: "ລະຫັດຜ່ານປະຈຸບັນ"
|
||||
newPassword: "ລະຫັດຜ່ານໃໝ່"
|
||||
newPasswordRetype: "ໃສ່ລະຫັດຜ່ານໃໝ່ອີກເທື່ອໜຶ່ງ"
|
||||
|
@ -223,14 +222,14 @@ remove: "ລຶບ"
|
|||
removed: "ລຶບແລ້ວ"
|
||||
resetAreYouSure: "ຣີເຊັດບໍ?"
|
||||
saved: "ບັນທຶກແລ້ວ"
|
||||
messaging: "ແຊັຕ"
|
||||
messaging: "ແຊ໋ດ"
|
||||
upload: "ອັບໂຫຼດ"
|
||||
keepOriginalUploading: "ຮັກສາຮູບພາບຕົ້ນສະບັບ"
|
||||
fromDrive: "ຈາກ Drive"
|
||||
fromUrl: "ຈາກ URL"
|
||||
uploadFromUrl: "ອັບໂຫຼດຈາກ URL"
|
||||
uploadFromUrlDescription: "URL ຂອງໄຟລ໌ທີ່ທ່ານຕ້ອງການອັບໂຫລດ"
|
||||
uploadFromUrlRequested: "ຮ້ອງຂໍການອັບໂຫລດແລ້ວ"
|
||||
uploadFromUrlRequested: "ຮ້ອງຂໍການອັບໂຫລດ"
|
||||
explore: "ສຳຫຼວດ"
|
||||
messageRead: "ອ່ານແລ້ວ"
|
||||
startMessaging: "ເລີ່ມການສົນທະນາໃໝ່"
|
||||
|
@ -244,47 +243,47 @@ images: "ຮູບພາບ"
|
|||
image: "ຮູບພາບ"
|
||||
birthday: "ວັນເກີດ"
|
||||
yearsOld: "{age} ປີ"
|
||||
registeredDate: "ວັນທີ່ລົງທະບຽນ"
|
||||
registeredDate: "ວັນທີ່ເປັນສະມາຊິກ"
|
||||
location: "ທີ່ຕັ້ງ"
|
||||
theme: "Theme"
|
||||
themeForLightMode: "Theme ໃຊ້ໃນໂໝດສະຫວ່າງ"
|
||||
themeForDarkMode: "Theme ໃຊ້ໃນໂໝດມືດ"
|
||||
theme: "ແທ໋ມ"
|
||||
themeForLightMode: "ຮູບແບບສີສັນເພື່ອໃຊ້ໃນໂໝດແສງ"
|
||||
themeForDarkMode: "ຮູບແບບສີສັນທີ່ຈະໃຊ້ຢູ່ໃນໂໝດມືດ"
|
||||
light: "ສະຫວ່າງ"
|
||||
dark: "ມືດ"
|
||||
lightThemes: "ຊຸດຮູບແບບສະຫວ່າງ"
|
||||
darkThemes: "ຮູບແບບສີສັນມືດ"
|
||||
syncDeviceDarkMode: "ຊິງຄ໌ໂໝດມືດກັບການຕັ້ງຄ່າທົ່ວອຸປະກອນ"
|
||||
drive: "Drive"
|
||||
drive: "ຂັບ"
|
||||
fileName: "ຊື່ໄຟລ໌"
|
||||
selectFile: "ເລືອກໄຟລ໌"
|
||||
selectFiles: "ເລືອກໄຟລ໌"
|
||||
selectFolder: "ເລືອກໂຟລເດີ"
|
||||
selectFolders: "ເລືອກໂຟລເດີ"
|
||||
renameFile: "ປ່ຽນຊື່ໄຟລ໌"
|
||||
folderName: "ຊື່ໂຟລເດີຣ໌"
|
||||
folderName: "ຊື່ໂຟນເດີ"
|
||||
createFolder: "ສ້າງໂຟລເດີ"
|
||||
renameFolder: "ປ່ຽນຊື່ໂຟນເດີນີ້"
|
||||
deleteFolder: "ລົບໂຟລເດີ"
|
||||
addFile: "ເພີ່ມໄຟລ໌"
|
||||
emptyDrive: "Drive ຂອງທ່ານຫວ່າງເປົ່າ"
|
||||
emptyFolder: "ໂຟລເດີຣ໌ນີ້ວ່າງເປົ່າ"
|
||||
emptyFolder: "ໂຟນເດີນີ້ເປົ່າຫວ່າງ"
|
||||
unableToDelete: "ບໍ່ສາມາດລົບໄດ້"
|
||||
inputNewFileName: "ໃສ່ຊື່ໄຟລ໌ໃໝ່"
|
||||
inputNewDescription: "ໃສ່ຄຳບັນຍາຍໃໝ່"
|
||||
inputNewFolderName: "ໃສ່ຊື່ໂຟນເດີໃໝ່"
|
||||
circularReferenceFolder: "ໂຟນເດີປາຍທາງແມ່ນໂຟນເດີຍ່ອຍຂອງໂຟນເດີທີ່ທ່ານຕ້ອງການຍ້າຍ"
|
||||
rename: "ປ່ຽນຊື່"
|
||||
doNothing: "ຢ່າມັນ"
|
||||
watch: "ເພັ່ງເລັງ"
|
||||
unwatch: "ຢຸດເພັ່ງເລັງ"
|
||||
doNothing: "ບໍ່ສົນໃຈ"
|
||||
watch: "ເບິ່ງ"
|
||||
unwatch: "ຢຸດເບິ່ງ"
|
||||
accept: "ອະນຸຍາດ"
|
||||
reject: "ປະຕິເສດ"
|
||||
normal: "ປົກກະຕິ"
|
||||
instanceName: "ຊື່ເຊີເວີ້"
|
||||
instanceDescription: "ຄຳອະທິບາຍແນະນຳເຊີຟເວີຣ໌"
|
||||
instanceDescription: "ຄໍາອະທິບາຍຕົວຢ່າງ"
|
||||
maintainerName: "ຜູ້ດູແລ"
|
||||
maintainerEmail: "ອີເມລຜູ້ດູແລ"
|
||||
tosUrl: " URL ເງື່ອນໄຂການໃຫ້ບໍລິການ"
|
||||
maintainerEmail: "ອີເມວ admin"
|
||||
tosUrl: "ເງື່ອນໄຂການໃຫ້ບໍລິການ URL"
|
||||
thisYear: "ປີນີ້"
|
||||
thisMonth: "ເດືອນນີ້"
|
||||
today: "ມື້ນີ້"
|
||||
|
@ -292,34 +291,32 @@ dayX: "ວັນ {day}"
|
|||
monthX: "ເດືອນ {month}"
|
||||
yearX: "ປີ {year}"
|
||||
pages: "ໜ້າ"
|
||||
integration: "ເຊື່ອມໂຍງ"
|
||||
integration: "ຄວາມສຳພັນຂອງ"
|
||||
connectService: "ເຊື່ອມຕໍ່"
|
||||
disconnectService: "ຕັດການເຊື່ອມຕໍ່"
|
||||
enableLocalTimeline: "ເປີດໃຊ້ທາມລາຍທ້ອງຖິ່ນ"
|
||||
enableGlobalTimeline: "ເປີດໃຊ້ທາມລາຍທົ່ວໂລກ"
|
||||
disablingTimelinesInfo: "ຜູ້ດູແລລະບບແລະຜູ້ຄວບຄຸມຈະສາມາດເຂົ້າເຖີງໄທມ໌ໄລນ໌ທັ້ງເບີດ ເຖີງວ່າຈະບໍ່ໄດ້ເປີດໃຊ້ງານກໍ່ຕາມ"
|
||||
disablingTimelinesInfo: "ຜູ້ເບິ່ງແຍງລະບົບ ແລະຜູ້ຄວບຄຸມຈະມີການເຂົ້າເຖິງທຸກກຳນົດເວລາ, ເຖິງແມ່ນວ່າຈະບໍ່ໄດ້ເປີດໃຊ້ງານກໍຕາມ"
|
||||
registration: "ລົງທະບຽນ"
|
||||
enableRegistration: "ເປີດໃຊ້ການລົງທະບຽນຜູ້ໃຊ້ໃໝ່"
|
||||
invite: "ເຊີນ"
|
||||
driveCapacityPerLocalAccount: "ຄວາມຈຸຂອງ drive ຕໍ່ຜູ້ໃຊ້ທ້ອງຖິ່ນ"
|
||||
driveCapacityPerRemoteAccount: "ຄວາມຈຸຂອງ drive ຕໍ່ຜູ້ໃຊ້ໄລຍະໄກ"
|
||||
driveCapacityPerLocalAccount: "ຄວາມອາດສາມາດຂັບຕໍ່ຜູ້ໃຊ້ທ້ອງຖິ່ນ"
|
||||
driveCapacityPerRemoteAccount: "ໄດຣຟ໌ຄວາມອາດສາມາດຕໍ່ຜູ້ໃຊ້ທາງໄກ"
|
||||
basicInfo: "ຂໍ້ມຸນເບື້ອງຕົ້ນ"
|
||||
pinnedNotes: "Note ທີ່ປັກໝຸດໄວ້"
|
||||
hcaptchaSiteKey: "Site key"
|
||||
hcaptchaSecretKey: "Secret key"
|
||||
mcaptchaSiteKey: "Site key"
|
||||
mcaptchaSecretKey: "Secret Key"
|
||||
pinnedNotes: "ບັນທຶກທີ່ປັກໝຸດໄວ້"
|
||||
hcaptchaSiteKey: "ກະແຈໄຊທ໌"
|
||||
hcaptchaSecretKey: "ກະແຈລັບ"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "ເປີດໃຊ້ງານ reCAPTCHA"
|
||||
recaptchaSiteKey: "Site key"
|
||||
recaptchaSecretKey: "Secret key"
|
||||
turnstileSiteKey: "Site key"
|
||||
turnstileSecretKey: "Secret key"
|
||||
enableRecaptcha: "ເປີດໃຊ້ງານລີແຄ໋ບຈາ"
|
||||
recaptchaSiteKey: "ກະແຈໄຊທ໌"
|
||||
recaptchaSecretKey: "ກະແຈລັບ"
|
||||
turnstileSiteKey: "ກະແຈໄຊທ໌"
|
||||
turnstileSecretKey: "ກະແຈລັບ"
|
||||
name: "ຊື່"
|
||||
userList: "ລາຍການ"
|
||||
about: "ກ່ຽວກັບ"
|
||||
aboutMisskey: "ກ່ຽວກັບ Misskey"
|
||||
administrator: "ຜູ້ດູແລ"
|
||||
administrator: "ຜູ້ບໍລິຫານ"
|
||||
token: "ໂທເຄັນ"
|
||||
share: "ແບ່ງປັນ"
|
||||
notFound: "ບໍ່ພົບ"
|
||||
|
@ -332,27 +329,27 @@ title: "ຫົວຂໍ້"
|
|||
text: "ຂໍ້ຄວາມ"
|
||||
enable: "ເປີດໃຊ້"
|
||||
next: "ຕໍ່ໄປ"
|
||||
retype: "ລອງພິມລະຫັດອີກເທື່ອໜຶ່ງ"
|
||||
quoteAttached: "ອ້າງອິງ"
|
||||
retype: "ເຂົ້າໄປອີກຄັ້ງ"
|
||||
quoteAttached: "ວົງຢືມ"
|
||||
invitations: "ເຊີນ"
|
||||
unavailable: "ບໍ່ສາມາດໃຊ້ໄດ້"
|
||||
language: "ພາສາ"
|
||||
aboutX: "ກ່ຽວກັບ {x}"
|
||||
emojiStyle: "ຮູບແບບອີໂມຈິ"
|
||||
native: "ພາສາແມ່"
|
||||
noHistory: "ບໍ່ມີປະຫວັດ"
|
||||
noHistory: "ບໍ່ມີລາຍການຢູ່ບ່ອນນີ້"
|
||||
doing: "ກຳລັງປະມວນຜົນ..."
|
||||
category: "ຫມວດຫມູ່"
|
||||
tags: "Aliases"
|
||||
tags: "ແທ໋ກ"
|
||||
createAccount: "ສ້າງບັນຊີ"
|
||||
existingAccount: "ບັນຊີທີ່ມີຢູ່ແລ້ວ"
|
||||
dashboard: "Dashboard"
|
||||
existingAccount: "ທີ່ມີຢູ່"
|
||||
dashboard: "ໜ້າປັດ"
|
||||
local: "ທ້ອງຖິ່ນ"
|
||||
numberOfDays: "ຈຳນວນມື້"
|
||||
objectStorageBucket: "Bucket"
|
||||
objectStoragePrefix: "Prefix"
|
||||
objectStorageEndpoint: "Endpoint"
|
||||
objectStorageRegion: "ພູມິພາກ"
|
||||
objectStorageRegion: "ພາກພື້ນ"
|
||||
deleteAll: "ລຶບທັງໝົດ"
|
||||
sounds: "ສຽງ"
|
||||
sound: "ສຽງ"
|
||||
|
@ -365,11 +362,11 @@ state: "ສະຖານະ"
|
|||
sort: "ຈັດຮຽງໂດຍ"
|
||||
ascendingOrder: "ນ້ອຍໄປຫາໃຫຍ່"
|
||||
descendingOrder: "ໃຫຍ່ຫານ້ອຍ"
|
||||
output: "Output"
|
||||
script: "Script"
|
||||
output: "ຜົນຜະລິດ"
|
||||
script: "ບົດຄວາມ"
|
||||
menu: "ເມນູ"
|
||||
rearrange: "ຈັດລຽງໃໝ່"
|
||||
poll: "Poll"
|
||||
rearrange: "ຈັດລຽງຄືນ"
|
||||
poll: "ການພູນ"
|
||||
description: "ລາຍລະອຽດ"
|
||||
author: "ຜູ້ຂຽນ"
|
||||
manage: "ການຈັດການ"
|
||||
|
@ -383,7 +380,7 @@ permission: "ການອະນຸຍາດ"
|
|||
notificationType: "ປະເພດການແຈ້ງເຕືອນ"
|
||||
edit: "ແກ້ໄຂ"
|
||||
email: "ອີເມວ"
|
||||
smtpHost: "ໂຮສຕ໌"
|
||||
smtpHost: "ໂຮດສ"
|
||||
smtpUser: "ຊື່ຜູ້ໃຊ້"
|
||||
smtpPass: "ລະຫັດຜ່ານ"
|
||||
clearCache: "ລຶບລ້າງແຄສ"
|
||||
|
@ -393,12 +390,8 @@ administration: "ການຈັດການ"
|
|||
middle: "ປານກາງ"
|
||||
searchByGoogle: "ຄົ້ນຫາ"
|
||||
file: "ໄຟລ໌"
|
||||
replies: "ຕອບກັບ"
|
||||
replies: "ຕອບໄປທີ"
|
||||
renotes: "Renote"
|
||||
_delivery:
|
||||
stop: "ໂຈະ"
|
||||
_type:
|
||||
none: "ກຳລັງເຜີຍແພ່"
|
||||
_role:
|
||||
_priority:
|
||||
middle: "ປານກາງ"
|
||||
|
@ -416,8 +409,8 @@ _sfx:
|
|||
_2fa:
|
||||
renewTOTPCancel: "ບໍ່ແມ່ນຕອນນີ້"
|
||||
_widgets:
|
||||
profile: "ໂປຣໄຟລ໌"
|
||||
instanceInfo: "ຂໍ້ມູລເຊີຟເວີຣ໌"
|
||||
profile: "ໂພຼຟາຍ"
|
||||
instanceInfo: "ອີນສະແຕນ"
|
||||
notifications: "ການແຈ້ງເຕືອນ"
|
||||
timeline: "ເສັ້ນກຳນົດເວລາ"
|
||||
activity: "ກິດຈະກຳ"
|
||||
|
@ -436,28 +429,28 @@ _profile:
|
|||
_exportOrImport:
|
||||
followingList: "ກຳລັງຕິດຕາມ"
|
||||
muteList: "ປີດສຽງ"
|
||||
blockingList: "ບລັອກ"
|
||||
blockingList: "ບ໋ອກ"
|
||||
userLists: "ລາຍການ"
|
||||
_charts:
|
||||
federation: "ສະຫະພັນ"
|
||||
_timelines:
|
||||
home: "ໜ້າຫຼັກ"
|
||||
_play:
|
||||
script: "Script"
|
||||
script: "ບົດຄວາມ"
|
||||
summary: "ລາຍລະອຽດ"
|
||||
_pages:
|
||||
blocks:
|
||||
image: "ຮູບພາບ"
|
||||
_notification:
|
||||
youWereFollowed: "ໄດ້ຕິດຕາມເຈົ້າ"
|
||||
youWereFollowed: "ໄດ້ຕິດຕາມທ່ານ"
|
||||
_types:
|
||||
follow: "ກຳລັງຕິດຕາມ"
|
||||
mention: "ໄດ້ກ່າວເຖິງ"
|
||||
mention: "ໄດ້ກ່າວມາ"
|
||||
renote: "Renote"
|
||||
quote: "ອ້າງອີງ"
|
||||
reaction: "Reaction"
|
||||
quote: "ລວມຂໍ້ຄວາມອ້າງອີງ"
|
||||
reaction: "ປະຕິກິລິຍາ"
|
||||
_actions:
|
||||
reply: "ຕອບກັບ"
|
||||
reply: "ຕອບໄປທີ"
|
||||
renote: "Renote"
|
||||
_deck:
|
||||
_columns:
|
||||
|
@ -465,12 +458,8 @@ _deck:
|
|||
tl: "ເສັ້ນກຳນົດເວລາ"
|
||||
list: "ລາຍການ"
|
||||
channel: "ຊ່ອງ"
|
||||
mentions: "ກ່າວເຖິງເຈົ້າ"
|
||||
mentions: "ກ່າວເຖິງ"
|
||||
_webhookSettings:
|
||||
name: "ຊື່"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "ອີເມວ"
|
||||
_moderationLogTypes:
|
||||
suspend: "ລະງັບ"
|
||||
|
|
|
@ -251,7 +251,7 @@ upload: "Uploaden"
|
|||
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."
|
||||
fromDrive: "Van schijf"
|
||||
fromUrl: "Van URL"
|
||||
fromUrl: "Van URL"
|
||||
uploadFromUrl: "Uploaden vanaf een URL"
|
||||
uploadFromUrlDescription: "URL van het bestand dat je wil uploaden"
|
||||
uploadFromUrlRequested: "Uploadverzoek"
|
||||
|
@ -348,8 +348,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "Inschakelen hCaptcha"
|
||||
hcaptchaSiteKey: "Site sleutel"
|
||||
hcaptchaSecretKey: "Geheime sleutel"
|
||||
mcaptchaSiteKey: "Site sleutel"
|
||||
mcaptchaSecretKey: "Geheime sleutel"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Inschakelen reCAPTCHA"
|
||||
recaptchaSiteKey: "Site sleutel"
|
||||
|
@ -429,10 +427,6 @@ loggedInAsBot: "Momenteel als bot ingelogd"
|
|||
icon: "Avatar"
|
||||
replies: "Antwoorden"
|
||||
renotes: "Herdelen"
|
||||
_delivery:
|
||||
stop: "Opgeschort"
|
||||
_type:
|
||||
none: "Publiceren"
|
||||
_email:
|
||||
_follow:
|
||||
title: "volgde jou"
|
||||
|
|
|
@ -463,9 +463,6 @@ options: "Alternativ"
|
|||
icon: "Avatar"
|
||||
replies: "Svar"
|
||||
renotes: "Renote"
|
||||
surrender: "Avbryt"
|
||||
_delivery:
|
||||
stop: "Suspendert"
|
||||
_initialAccountSetting:
|
||||
theseSettingsCanEditLater: "Du kan endre disse innstillingene senere."
|
||||
_achievements:
|
||||
|
@ -721,9 +718,5 @@ _deck:
|
|||
direct: "Direkte"
|
||||
_webhookSettings:
|
||||
name: "Navn"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "E-post"
|
||||
_moderationLogTypes:
|
||||
suspend: "Suspender"
|
||||
|
|
|
@ -20,7 +20,6 @@ noNotes: "Brak wpisów"
|
|||
noNotifications: "Brak powiadomień"
|
||||
instance: "Instancja"
|
||||
settings: "Ustawienia"
|
||||
notificationSettings: "Powiadomienia"
|
||||
basicSettings: "Podstawowe ustawienia"
|
||||
otherSettings: "Pozostałe ustawienia"
|
||||
openInWindow: "Otwórz w oknie"
|
||||
|
@ -45,20 +44,13 @@ pin: "Przypnij do profilu"
|
|||
unpin: "Odepnij z profilu"
|
||||
copyContent: "Skopiuj zawartość"
|
||||
copyLink: "Skopiuj odnośnik"
|
||||
copyLinkRenote: "Skopiuj link renote'a"
|
||||
delete: "Usuń"
|
||||
deleteAndEdit: "Usuń i edytuj"
|
||||
deleteAndEditConfirm: "Czy na pewno chcesz usunąć ten wpis i zedytować go? Utracisz wszystkie reakcje, udostępnienia i odpowiedzi do tego wpisu."
|
||||
addToList: "Dodaj do listy"
|
||||
addToAntenna: "Dodaj do anteny"
|
||||
sendMessage: "Wyślij wiadomość"
|
||||
copyRSS: "Kopiuj RSS"
|
||||
copyUsername: "Kopiuj nazwę użytkownika"
|
||||
copyUserId: "Kopiuj ID użytkownika"
|
||||
copyNoteId: "Kopiuj ID notatki"
|
||||
copyFileId: "Kopiuj ID pliku"
|
||||
copyFolderId: "Kopiuj ID folderu"
|
||||
copyProfileUrl: "Kopiuj URL profilu"
|
||||
searchUser: "Wyszukiwanie użytkowników"
|
||||
reply: "Odpowiedz"
|
||||
loadMore: "Załaduj więcej"
|
||||
|
@ -81,7 +73,7 @@ exportRequested: "Zażądałeś eksportu. Może to zająć trochę czasu. Po zak
|
|||
importRequested: "Zażądano importu. Może to zająć chwilę."
|
||||
lists: "Listy"
|
||||
noLists: "Nie masz żadnych list"
|
||||
note: "Wpis"
|
||||
note: "Utwórz wpis"
|
||||
notes: "Wpisy"
|
||||
following: "Obserwowani"
|
||||
followers: "Obserwujący"
|
||||
|
@ -111,8 +103,6 @@ renoted: "Udostępniono."
|
|||
cantRenote: "Ten wpis nie może zostać udostępniony."
|
||||
cantReRenote: "Udostępnienie nie może zostać udostępnione."
|
||||
quote: "Cytuj"
|
||||
inChannelRenote: "Renote tylko na kanale"
|
||||
inChannelQuote: "Cytat tylko na kanale"
|
||||
pinnedNote: "Przypięty wpis"
|
||||
pinned: "Przypnij do profilu"
|
||||
you: "Ty"
|
||||
|
@ -121,23 +111,14 @@ sensitive: "NSFW"
|
|||
add: "Dodaj"
|
||||
reaction: "Reakcja"
|
||||
reactions: "Reakcja"
|
||||
emojiPicker: "Selektor Emoji"
|
||||
pinnedEmojisForReactionSettingDescription: "Ustaw emotikony które powinny być przypięte i od razu wyświetlone podczas reagowania."
|
||||
pinnedEmojisSettingDescription: "Ustaw emotikony które powinny być przypięte i wyświetlone podczas przeglądania selektora Emoji"
|
||||
emojiPickerDisplay: "Wyświetlanie selektora Emoji"
|
||||
overwriteFromPinnedEmojisForReaction: "Zastąp z ustawień reakcji"
|
||||
overwriteFromPinnedEmojis: "Zastąp z ogólnych ustawień"
|
||||
reactionSettingDescription2: "Przeciągnij aby zmienić kolejność, naciśnij aby usunąć, naciśnij „+” aby dodać"
|
||||
rememberNoteVisibility: "Zapamiętuj ustawienia widoczności wpisu"
|
||||
attachCancel: "Usuń załącznik"
|
||||
deleteFile: "Usuń plik"
|
||||
markAsSensitive: "Oznacz jako NSFW"
|
||||
unmarkAsSensitive: "Cofnij NSFW"
|
||||
enterFileName: "Wprowadź nazwę pliku"
|
||||
mute: "Wycisz"
|
||||
unmute: "Cofnij wyciszenie"
|
||||
renoteMute: "Wycisz renote'y"
|
||||
renoteUnmute: "Wyłącz wyciszenie renote'ów"
|
||||
block: "Zablokuj"
|
||||
unblock: "Odblokuj"
|
||||
suspend: "Zawieś"
|
||||
|
@ -147,10 +128,8 @@ unblockConfirm: "Czy na pewno chcesz odblokować to konto?"
|
|||
suspendConfirm: "Czy na pewno chcesz zawiesić to konto?"
|
||||
unsuspendConfirm: "Czy na pewno chcesz cofnąć zawieszenie tego konta?"
|
||||
selectList: "Wybierz listę"
|
||||
editList: "Edytuj listę"
|
||||
selectChannel: "Wybierz kanał"
|
||||
selectAntenna: "Wybierz Antennę"
|
||||
editAntenna: "Edytuj antenę"
|
||||
selectWidget: "Wybierz widżet"
|
||||
editWidgets: "Edytuj widżety"
|
||||
editWidgetsExit: "Gotowe"
|
||||
|
@ -163,15 +142,11 @@ addEmoji: "Dodaj emoji"
|
|||
settingGuide: "Proponowana konfiguracja"
|
||||
cacheRemoteFiles: "Przechowuj zdalne pliki w pamięci podręcznej"
|
||||
cacheRemoteFilesDescription: "Gdy ta opcja jest wyłączona, zdalne pliki są ładowane bezpośrednio ze zdalnych instancji. Wyłączenie the opcji zmniejszy użycie powierzchni dyskowej, ale zwiększy transfer, ponieważ miniaturki nie będą generowane."
|
||||
youCanCleanRemoteFilesCache: "Możesz wyczyścić cache poprzez kliknięcie przycisku 🗑️ w widoku menedżera plików."
|
||||
cacheRemoteSensitiveFiles: "Przechowuj wrażliwe zdalne pliki w pamięci podręcznej"
|
||||
cacheRemoteSensitiveFilesDescription: "Gdy ta opcja jest wyłączona, wrażliwe pliki zdalne są wczytywane bezpośrednio ze zdalnej instancji bez cacheowania."
|
||||
flagAsBot: "To konto jest botem"
|
||||
flagAsBotDescription: "Jeżeli ten kanał jest kontrolowany przez jakiś program, ustaw tę opcję. Jeżeli włączona, będzie działać jako flaga informująca innych programistów, aby zapobiegać nieskończonej interakcji z różnymi botami i dostosowywać wewnętrzne systemy Misskey, traktując konto jako bota."
|
||||
flagAsCat: "To konto jest kotem"
|
||||
flagAsCatDescription: "Przełącz tę opcję, aby konto było oznaczone jako kot."
|
||||
flagShowTimelineReplies: "Pokazuj odpowiedzi na osi czasu"
|
||||
flagShowTimelineRepliesDescription: "Gdy włączone, pokazuje odpowiedzi użytkowników na notatki innych użytkowników w osi czasu."
|
||||
autoAcceptFollowed: "Automatycznie przyjmuj prośby o możliwość obserwacji od użytkowników, których obserwujesz"
|
||||
addAccount: "Dodaj konto"
|
||||
reloadAccountsList: "Odśwież listę kont"
|
||||
|
@ -201,7 +176,6 @@ perHour: "co godzinę"
|
|||
perDay: "co dzień"
|
||||
stopActivityDelivery: "Przestań przesyłać aktywności"
|
||||
blockThisInstance: "Zablokuj tę instancję"
|
||||
silenceThisInstance: "Wycisz tę instancję"
|
||||
operations: "Działania"
|
||||
software: "Oprogramowanie"
|
||||
version: "Wersja"
|
||||
|
@ -221,8 +195,6 @@ clearCachedFiles: "Wyczyść pamięć podręczną"
|
|||
clearCachedFilesConfirm: "Czy na pewno chcesz usunąć wszystkie zdalne pliki z pamięci podręcznej?"
|
||||
blockedInstances: "Zablokowane instancje"
|
||||
blockedInstancesDescription: "Wypisz nazwy hostów instancji, które powinny zostać zablokowane. Wypisane instancje nie będą mogły dłużej komunikować się z tą instancją."
|
||||
silencedInstances: "Wyciszone instancje"
|
||||
silencedInstancesDescription: "Wypisz nazwy hostów instancji, które chcesz wyciszyć. Wszystkie konta wymienionych instancji będą traktowane jako wyciszone, będą mogły jedynie wysyłać prośby o obserwację i nie będą mogły wspominać kont lokalnych, jeśli nie będą obserwowane. Nie będzie to miało wpływu na zablokowane instancje."
|
||||
muteAndBlock: "Wycisz / Zablokuj"
|
||||
mutedUsers: "Wyciszeni użytkownicy"
|
||||
blockedUsers: "Zablokowani użytkownicy"
|
||||
|
@ -267,12 +239,10 @@ removed: "Pomyślnie usunięto"
|
|||
removeAreYouSure: "Czy na pewno chcesz usunąć „{x}”?"
|
||||
deleteAreYouSure: "Czy na pewno chcesz usunąć „{x}”?"
|
||||
resetAreYouSure: "Czy na pewno chcesz zresetować?"
|
||||
areYouSure: "Na pewno?"
|
||||
saved: "Zapisano"
|
||||
messaging: "Wiadomości"
|
||||
upload: "Wyślij"
|
||||
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."
|
||||
fromDrive: "Z dysku"
|
||||
fromUrl: "Z adresu URL"
|
||||
uploadFromUrl: "Wyślij z adresu URL"
|
||||
|
@ -285,10 +255,7 @@ noMoreHistory: "Nie ma dalszej historii"
|
|||
startMessaging: "Rozpocznij czat"
|
||||
nUsersRead: "przeczytano przez {n}"
|
||||
agreeTo: "Wyrażam zgodę na {0}"
|
||||
agree: "Zatwierdź"
|
||||
agreeBelow: "Zaakceptuj poniżej"
|
||||
basicNotesBeforeCreateAccount: "Ważne notatki"
|
||||
termsOfService: "Warunki usługi"
|
||||
start: "Rozpocznij"
|
||||
home: "Strona główna"
|
||||
remoteUserCaution: "Te informacje mogą nie być aktualne, ponieważ użytkownik pochodzi ze zdalnej instancji."
|
||||
|
@ -318,7 +285,6 @@ folderName: "Nazwa katalogu"
|
|||
createFolder: "Utwórz katalog"
|
||||
renameFolder: "Zmień nazwę katalogu"
|
||||
deleteFolder: "Usuń ten katalog"
|
||||
folder: "Folder"
|
||||
addFile: "Dodaj plik"
|
||||
emptyDrive: "Dysk jest pusty"
|
||||
emptyFolder: "Ten katalog jest pusty"
|
||||
|
@ -332,7 +298,6 @@ copyUrl: "Skopiuj adres URL"
|
|||
rename: "Zmień nazwę"
|
||||
avatar: "Awatar"
|
||||
banner: "Baner"
|
||||
displayOfSensitiveMedia: "Wyświetlanie wrażliwej zawartości"
|
||||
whenServerDisconnected: "Po utracie połączenia z serwerem"
|
||||
disconnectedFromServer: "Utracono połączenie z serwerem."
|
||||
reload: "Odśwież"
|
||||
|
@ -380,11 +345,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "Włącz hCaptcha"
|
||||
hcaptchaSiteKey: "Klucz strony"
|
||||
hcaptchaSecretKey: "Tajny klucz"
|
||||
mcaptcha: "mCaptcha"
|
||||
enableMcaptcha: "Włącz mCaptcha"
|
||||
mcaptchaSiteKey: "Klucz strony"
|
||||
mcaptchaSecretKey: "Tajny klucz"
|
||||
mcaptchaInstanceUrl: "URL instancji mCaptcha"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Włącz reCAPTCHA"
|
||||
recaptchaSiteKey: "Klucz strony"
|
||||
|
@ -427,19 +387,15 @@ aboutMisskey: "O Misskey"
|
|||
administrator: "Admin"
|
||||
token: "Token"
|
||||
2fa: "Klucz 2FA "
|
||||
setupOf2fa: "Skonfiguruj dwuetapową autentykację"
|
||||
totp: "Klucz aplikacji uwierzytelniającej (totp)"
|
||||
totpDescription: "Opis klucza czasowego"
|
||||
moderator: "Moderator"
|
||||
moderation: "Moderacja"
|
||||
moderationNote: "Notka moderacyjna"
|
||||
addModerationNote: "Dodaj notkę moderacyjną"
|
||||
moderationLogs: "Logi moderacyjne"
|
||||
nUsersMentioned: "{n} wspomnianych użytkowników"
|
||||
securityKeyAndPasskey: "Klucz bezpieczeństwa i klucze Passkey"
|
||||
securityKey: "Klucz bezpieczeństwa"
|
||||
lastUsed: "Ostatnio używane"
|
||||
lastUsedAt: "Ostatnio używane: {t}"
|
||||
lastUsedAt: "Ostatnio używane w"
|
||||
unregister: "Cofnij rejestrację"
|
||||
passwordLessLogin: "Skonfiguruj logowanie bez użycia hasła"
|
||||
passwordLessLoginDescription: "Opis logowania bez użycia hasła"
|
||||
|
@ -493,12 +449,8 @@ aboutX: "O {x}"
|
|||
emojiStyle: "Styl emoji"
|
||||
native: "Natywny"
|
||||
disableDrawer: "Nie używaj menu w stylu szuflady"
|
||||
showNoteActionsOnlyHover: "Pokazuj akcje notatek tylko po najechaniu myszką"
|
||||
showReactionsCount: "Wyświetl liczbę reakcji na notatkę"
|
||||
noHistory: "Brak historii"
|
||||
signinHistory: "Historia logowania"
|
||||
enableAdvancedMfm: "Włącz zaawansowane MFM"
|
||||
enableAnimatedMfm: "Włącz animowane MFM"
|
||||
doing: "Przetwarzanie..."
|
||||
category: "Kategoria"
|
||||
tags: "Tagi"
|
||||
|
@ -507,8 +459,6 @@ createAccount: "Utwórz konto"
|
|||
existingAccount: "Istniejące konto"
|
||||
regenerate: "Wygeneruj ponownie"
|
||||
fontSize: "Rozmiar czcionki"
|
||||
mediaListWithOneImageAppearance: "Wysokość list multimediów z tylko jednym obrazem"
|
||||
limitTo: "Limituj do {x}"
|
||||
noFollowRequests: "Nie masz żadnych oczekujących próśb o możliwość obserwacji"
|
||||
openImageInNewTab: "Otwórz obraz w nowej karcie"
|
||||
dashboard: "Kokpit"
|
||||
|
@ -528,7 +478,6 @@ showFeaturedNotesInTimeline: "Pokazuj wyróżnione wpisy w osi czasu"
|
|||
objectStorage: "Pamięć obiektowa"
|
||||
useObjectStorage: "Używaj pamięci obiektowej"
|
||||
objectStorageBaseUrl: "Podstawowy URL"
|
||||
objectStorageBaseUrlDesc: "Adres URL używany jako odniesienie. Podaj adres URL swojego CDN lub Proxy, gdy używasz któregokolwiek z nich.\nDla S3 użyj 'https://<bucket>.s3.amazonaws.com' a dla GCS lub równej usługi użyj 'https://storage.googleapis.com/<bucket>', itd."
|
||||
objectStorageBucket: "Bucket"
|
||||
objectStorageBucketDesc: "Podaj nazwę „wiadra” używaną przez konfigurowaną usługę."
|
||||
objectStoragePrefix: "Prefiks"
|
||||
|
@ -541,13 +490,9 @@ objectStorageUseSSL: "Użyj SSL"
|
|||
objectStorageUseSSLDesc: "Wyłącz, jeżeli nie zamierzasz używać HTTPS dla połączenia z API"
|
||||
objectStorageUseProxy: "Połącz przez proxy"
|
||||
objectStorageUseProxyDesc: "Wyłącz, jeżeli nie zamierzasz używać proxy dla połączenia z pamięcią blokową"
|
||||
objectStorageSetPublicRead: "Ustaw opcję \"public-read\" przy przesyłaniu"
|
||||
s3ForcePathStyleDesc: "Jeśli opcja s3ForcePathStyle jest włączona, nazwa Bucket'u musi być zawarta w ścieżce adresu URL, a nie w nazwie hosta adresu URL. Włączenie tego ustawienia może być konieczne w przypadku użycia usług takich jak self-hosted instancja Minio."
|
||||
serverLogs: "Dziennik zdarzeń"
|
||||
deleteAll: "Usuń wszystkie"
|
||||
showFixedPostForm: "Wyświetlaj formularz tworzenia wpisu w górnej części osi czasu"
|
||||
showFixedPostFormInChannel: "Wyświetl formularz postowania w górnej części osi czasu (Kanały)"
|
||||
withRepliesByDefaultForNewlyFollowed: "Domyślnie uwzględnij odpowiedzi nowo obserwowanych użytkowników w osi czasu"
|
||||
newNoteRecived: "Masz nowy wpis"
|
||||
sounds: "Dźwięk"
|
||||
sound: "Dźwięki"
|
||||
|
@ -557,8 +502,6 @@ showInPage: "Pokaż na stronie"
|
|||
popout: "Popout"
|
||||
volume: "Głośność"
|
||||
masterVolume: "Głośność główna"
|
||||
notUseSound: "Wyłącz dźwięk"
|
||||
useSoundOnlyWhenActive: "Puszczaj dźwięki tylko, gdy Misskey jest aktywne."
|
||||
details: "Szczegóły"
|
||||
chooseEmoji: "Wybierz emoji"
|
||||
unableToProcess: "Nie udało się dokończyć działania."
|
||||
|
@ -579,10 +522,6 @@ output: "Wyjście"
|
|||
script: "Skrypt"
|
||||
disablePagesScript: "Wyłącz AiScript na Stronach"
|
||||
updateRemoteUser: "Aktualizuj zdalne dane o użytkowniku"
|
||||
unsetUserAvatar: "Usuń awatar"
|
||||
unsetUserAvatarConfirm: "Czy na pewno chcesz usunąć awatar tego użytkownika?"
|
||||
unsetUserBanner: "Usuń baner"
|
||||
unsetUserBannerConfirm: "Czy na pewno chcesz usunąć baner?"
|
||||
deleteAllFiles: "Usuń wszystkie pliki"
|
||||
deleteAllFilesConfirm: "Czy na pewno chcesz usunąć wszystkie pliki?"
|
||||
removeAllFollowing: "Przestań obserwować"
|
||||
|
@ -598,7 +537,6 @@ accountDeletedDescription: "Opis konta usuniętego"
|
|||
menu: "Menu"
|
||||
divider: "Rozdzielacz"
|
||||
addItem: "Dodaj element"
|
||||
rearrange: "Posortuj"
|
||||
relays: "Przekaźniki"
|
||||
addRelay: "Dodaj przekaźnik"
|
||||
inboxUrl: "Adres URL skrzynki nadawczej"
|
||||
|
@ -633,7 +571,6 @@ medium: "Średnie"
|
|||
small: "Małe"
|
||||
generateAccessToken: "Generuj token dostępu"
|
||||
permission: "Uprawnienia"
|
||||
adminPermission: "Uprawnienia administracyjne"
|
||||
enableAll: "Włącz wszystko"
|
||||
disableAll: "Wyłącz wszystko"
|
||||
tokenRequested: "Przydziel dostęp do konta"
|
||||
|
@ -651,12 +588,9 @@ smtpPort: "Port"
|
|||
smtpUser: "Nazwa użytkownika"
|
||||
smtpPass: "Hasło"
|
||||
emptyToDisableSmtpAuth: "Pozostaw adres e-mail i hasło puste, aby wyłączyć weryfikację SMTP"
|
||||
smtpSecure: "Użyj niejawnego SSL/TLS dla połączeń SMTP"
|
||||
smtpSecureInfo: "Wyłącz, jeżeli używasz STARTTLS"
|
||||
testEmail: "Przetestuj dostarczanie wiadomości e-mail"
|
||||
wordMute: "Wyciszenie słowa"
|
||||
regexpError: "Błąd wyrażenia regularnego"
|
||||
regexpErrorDescription: "Wystąpił błąd w wyrażeniu regularnym w linii {line} twoich {tab} wyciszeń:"
|
||||
instanceMute: "Wyciszone instancje"
|
||||
userSaysSomething: "{name} powiedział(-a) coś"
|
||||
makeActive: "Aktywuj"
|
||||
|
@ -676,22 +610,18 @@ useGlobalSettingDesc: "Jeżeli włączone, zostaną wykorzystane ustawienia powi
|
|||
other: "Inne"
|
||||
regenerateLoginToken: "Generuj token logowania ponownie"
|
||||
regenerateLoginTokenDescription: "Regeneruje token używany wewnętrznie podczas logowania. Zazwyczaj nie jest to konieczne. Po regeneracji wszystkie urządzenia zostaną wylogowane."
|
||||
theKeywordWhenSearchingForCustomEmoji: "To jest słowo kluczowe używane podczas wyszukiwania customowych Emoji."
|
||||
setMultipleBySeparatingWithSpace: "Możesz ustawić wiele, oddzielając je spacjami."
|
||||
fileIdOrUrl: "ID pliku albo URL"
|
||||
behavior: "Zachowanie"
|
||||
sample: "Przykład"
|
||||
abuseReports: "Zgłoszenia"
|
||||
reportAbuse: "Zgłoś"
|
||||
reportAbuseRenote: "Zgłoś renote"
|
||||
reportAbuseOf: "Zgłoś {name}"
|
||||
fillAbuseReportDescription: "Wypełnij szczegóły zgłoszenia. Jeżeli dotyczy ono określonego wpisu, uwzględnij jego adres URL."
|
||||
abuseReported: "Twoje zgłoszenie zostało wysłane. Dziękujemy."
|
||||
reporter: "Zgłaszający"
|
||||
reporteeOrigin: "Pochodzenie zgłoszonego"
|
||||
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"
|
||||
abuseMarkAsResolved: "Oznacz zgłoszenie jako rozwiązane"
|
||||
openInNewTab: "Otwórz w nowej karcie"
|
||||
|
@ -736,7 +666,6 @@ lockedAccountInfo: "Dopóki nie ustawisz widoczności wpisu na \"Obserwujący\",
|
|||
alwaysMarkSensitive: "Oznacz domyślnie jako NSFW"
|
||||
loadRawImages: "Wyświetlaj zdjęcia w załącznikach w całości zamiast miniatur"
|
||||
disableShowingAnimatedImages: "Nie odtwarzaj animowanych obrazów"
|
||||
highlightSensitiveMedia: "Podkreśl wrażliwą zawartość"
|
||||
verificationEmailSent: "Wiadomość weryfikacyjna została wysłana. Odwiedź uwzględniony odnośnik, aby ukończyć weryfikację."
|
||||
notSet: "Nie ustawiono"
|
||||
emailVerified: "Adres e-mail został potwierdzony"
|
||||
|
@ -747,8 +676,6 @@ contact: "Kontakt"
|
|||
useSystemFont: "Używaj domyślnej czcionki systemu"
|
||||
clips: "Klipy"
|
||||
experimentalFeatures: "Eksperymentalne funkcje"
|
||||
experimental: "Eksperymentalne"
|
||||
thisIsExperimentalFeature: "Ta funkcja jest eksperymentalna. Jej funkcjonalność może ulec zmianie, i może ona nie funkcjonować tak, jak zamierzono."
|
||||
developer: "Programista"
|
||||
makeExplorable: "Pokazuj konto na stronie „Eksploruj”"
|
||||
makeExplorableDescription: "Jeżeli wyłączysz tę opcję, Twoje konto nie będzie wyświetlać się w sekcji „Eksploruj”."
|
||||
|
@ -766,14 +693,12 @@ onlineUsersCount: "{n} osób jest online"
|
|||
nUsers: "{n} użytkowników"
|
||||
nNotes: "{n} wpisów"
|
||||
sendErrorReports: "Wyślij raporty o błędach"
|
||||
sendErrorReportsDescription: "Gdy włączone, jeśli wystąpi problem, szczegółowe informacje o błędach będą udostępniane Misskey, pomagając ulepszyć jakość Misskey.\nBędzie to zawierało informacje takie jak wersja twojego systemu operacyjnego, jakiej przeglądarki używasz, twoja aktywność w Misskey, itd."
|
||||
myTheme: "Mój motyw"
|
||||
backgroundColor: "Tło"
|
||||
accentColor: "Akcent"
|
||||
textColor: "Tekst"
|
||||
saveAs: "Zapisz jako…"
|
||||
advanced: "Zaawansowane"
|
||||
advancedSettings: "Zaawansowane ustawienia"
|
||||
value: "Wartość"
|
||||
createdAt: "Utworzono"
|
||||
updatedAt: "Zaktualizowano"
|
||||
|
@ -833,14 +758,12 @@ noMaintainerInformationWarning: "Informacje o administratorze nie są skonfiguro
|
|||
noBotProtectionWarning: "Zabezpieczenie przed botami nie jest skonfigurowane."
|
||||
configure: "Skonfiguruj"
|
||||
postToGallery: "Opublikuj w galerii"
|
||||
postToHashtag: "Postuj do tego hashtagu"
|
||||
gallery: "Galeria"
|
||||
recentPosts: "Ostatnie wpisy"
|
||||
popularPosts: "Popularne wpisy"
|
||||
shareWithNote: "Udostępnij z wpisem"
|
||||
ads: "Reklamy"
|
||||
expiration: "Ankieta kończy się"
|
||||
startingperiod: "Początek"
|
||||
memo: "Notatki"
|
||||
priority: "Priorytet"
|
||||
high: "Wysoki"
|
||||
|
@ -865,21 +788,15 @@ whatIsNew: "Pokaż zmiany"
|
|||
translate: "Przetłumacz"
|
||||
translatedFrom: "Przetłumaczone z {x}"
|
||||
accountDeletionInProgress: "Trwa usuwanie konta"
|
||||
usernameInfo: "Nazwa, która identyfikuje Twoje konto spośród innych na tym serwerze. Możesz użyć alfabetu (a~z, A~Z), cyfr (0~9) lub podkreślników (_). Nazwy użytkownika nie mogą być później zmieniane."
|
||||
usernameInfo: "Nazwa, która identyfikuje Twoje konto spośród innych na tym serwerze. Możesz użyć alfabetu (a~z, A~Z), cyfr (0~9) lub podkreślników (_). Nazwy użytkownika nie mogą być później zmieniane."
|
||||
aiChanMode: "Tryb Ai"
|
||||
devMode: "Tryb programisty"
|
||||
keepCw: "Zostaw ostrzeżenia o zawartości"
|
||||
pubSub: "Konta Pub/Sub"
|
||||
lastCommunication: "Ostatnia komunikacja"
|
||||
resolved: "Rozwiązane"
|
||||
unresolved: "Nierozwiązane"
|
||||
breakFollow: "Usuń obserwującego"
|
||||
breakFollowConfirm: "Czy na pewno usunąć tego obserwującego?"
|
||||
itsOn: "Włączone"
|
||||
itsOff: "Wyłączone"
|
||||
on: "Włączone"
|
||||
off: "Wyłączone"
|
||||
emailRequiredForSignup: "Wymagaj adresu e-mail do rejestracji"
|
||||
unread: "Nieodczytane"
|
||||
filter: "Filtr"
|
||||
controlPanel: "Panel sterowania"
|
||||
|
@ -889,8 +806,6 @@ makeReactionsPublicDescription: "To spowoduje, że lista wszystkich Twoich dotyc
|
|||
classic: "Klasyczny"
|
||||
muteThread: "Wycisz wątek"
|
||||
unmuteThread: "Wyłącz wyciszenie wątku"
|
||||
followingVisibility: "Widoczność obserwacji"
|
||||
followersVisibility: "Widoczność obserwujących"
|
||||
continueThread: "Pokaż kontynuację wątku"
|
||||
deleteAccountConfirm: "Spowoduje to nieodwracalne usunięcie Twojego konta. Kontynuować?"
|
||||
incorrectPassword: "Nieprawidłowe hasło."
|
||||
|
@ -903,14 +818,9 @@ overridedDeviceKind: "Typ urządzenia"
|
|||
smartphone: "Smartfon"
|
||||
tablet: "Tablet"
|
||||
auto: "Automatycznie"
|
||||
themeColor: "Motyw kolorystyczny"
|
||||
size: "Rozmiar"
|
||||
numberOfColumn: "Liczba kolumn"
|
||||
searchByGoogle: "Szukaj"
|
||||
instanceDefaultLightTheme: "Domyślny motyw dla trybu jasnego"
|
||||
instanceDefaultDarkTheme: "Domyślny motyw dla trybu ciemnego"
|
||||
instanceDefaultThemeDescription: "Opis domyślnego motywu instancji"
|
||||
mutePeriod: "Okres wyciszenia"
|
||||
period: "Ankieta kończy się"
|
||||
indefinitely: "Nigdy"
|
||||
tenMinutes: "10 minut"
|
||||
|
@ -919,50 +829,29 @@ oneDay: "1 dzień"
|
|||
oneWeek: "1 tydzień"
|
||||
oneMonth: "jeden miesiąc"
|
||||
failedToFetchAccountInformation: "Nie udało się uzyskać informacji o koncie"
|
||||
rateLimitExceeded: "Limit szybkości przekroczony"
|
||||
cropImage: "Przytnij obraz"
|
||||
cropImageAsk: "Czy chcesz przyciąć obrazek?"
|
||||
cropYes: "Tak, przytnij"
|
||||
cropNo: "Nie chce przycinać"
|
||||
file: "Pliki"
|
||||
recentNHours: "W ciągu ostatnich {n} godzin"
|
||||
recentNDays: "W ciągu ostatnich {n} dni"
|
||||
noEmailServerWarning: "Serwer Email nie jest skonfigurowany"
|
||||
recommended: "Zalecane"
|
||||
check: "Zweryfikuj"
|
||||
driveCapOverrideLabel: "Zmień limit pojemności dysku użytkownika"
|
||||
requireAdminForView: "Aby to zobaczyć, musisz być administratorem"
|
||||
isSystemAccount: "To jest konto stworzone i zarządzane przez system"
|
||||
typeToConfirm: "Wprowadź {x}, aby potwierdzić"
|
||||
deleteAccount: "Usuń konto"
|
||||
document: "Dokumentacja"
|
||||
numberOfPageCache: "Ilość stron w cache"
|
||||
numberOfPageCacheDescription: "Zwiększenie tej liczby polepszy wygodę, ale spowoduje większe obciążenie jako użycie pamięci na urządzeniu użytkownika."
|
||||
logoutConfirm: "Czy na pewno chcesz się wylogować?"
|
||||
lastActiveDate: "Ostatnio użyte w"
|
||||
statusbar: "Pasek stanu"
|
||||
pleaseSelect: "Wybierz opcję"
|
||||
reverse: "Odwróć"
|
||||
colored: "Kolorowe"
|
||||
refreshInterval: "Okres aktualizacji"
|
||||
label: "Etykieta"
|
||||
type: "Typ"
|
||||
speed: "Prędkość"
|
||||
slow: "Wolny"
|
||||
fast: "Szybki"
|
||||
sensitiveMediaDetection: "Detekcja wrażliwej zawartości"
|
||||
localOnly: "Lokalne tylko"
|
||||
remoteOnly: "Tylko zdalne instancje"
|
||||
failedToUpload: "Przesyłanie nie powiodło się"
|
||||
cannotUploadBecauseInappropriate: "Nie można przesłać tego pliku, ponieważ jego części zostały wykryte jako potencjalnie nieodpowiednie."
|
||||
cannotUploadBecauseNoFreeSpace: "Przesyłanie nie powiodło się z powodu braku miejsca na dysku."
|
||||
cannotUploadBecauseExceedsFileSizeLimit: "Nie można przesłać pliku, ponieważ wykracza on poza limit wielkości pliku."
|
||||
beta: "Beta"
|
||||
enableAutoSensitive: "Automatyczne oznaczanie NSFW"
|
||||
enableAutoSensitiveDescription: "Umożliwia automatyczne wykrywanie i oznaczanie zawartości NSFW za pomocą uczenia maszynowego. Nawet jeśli ta opcja jest wyłączona, może być włączona w całej instancji."
|
||||
activeEmailValidationDescription: "Włącza bardziej restrykcyjną walidację adresów e-mail, co obejmuje sprawdzanie adresów jednorazowych i czy komunikacja z tym adresem jest możliwa. Gdy wyłączone, tylko format adresu e-mail jest sprawdzany."
|
||||
navbar: "Pasek nawigacyjny"
|
||||
shuffle: "Mieszaj"
|
||||
account: "Konta"
|
||||
move: "Przenieś"
|
||||
pushNotification: "Powiadomienia"
|
||||
|
@ -972,74 +861,21 @@ pushNotificationAlreadySubscribed: "Powiadomienia push są włączone"
|
|||
pushNotificationNotSupported: "Przeglądarka lub instancja nie obsługuje powiadomień push"
|
||||
sendPushNotificationReadMessage: "Usuń powiadomienia push po przeczytaniu powiadomień i wiadomości."
|
||||
sendPushNotificationReadMessageCaption: "Chwilowo pojawi się powiadomienie \"{emptyPushNotificationMessage}\". Może wzrosnąć zużycie baterii urządzenia."
|
||||
windowMaximize: "Maksymalizuj"
|
||||
windowMinimize: "Minimalizuj"
|
||||
windowRestore: "Przywróć"
|
||||
caption: "Legenda"
|
||||
loggedInAsBot: "Jesteś obecnie zalogowany/a jako bot"
|
||||
tools: "Narzędzia"
|
||||
cannotLoad: "Nie można wczytać"
|
||||
numberOfProfileView: "Wyświetlenia profilu"
|
||||
like: "Polub"
|
||||
unlike: "Usuń polubienie"
|
||||
numberOfLikes: "Liczba polubień"
|
||||
show: "Wyświetlanie"
|
||||
neverShow: "Nie pokazuj ponownie"
|
||||
remindMeLater: "Przypomnij później"
|
||||
didYouLikeMisskey: "Czy Misskey się tobie spodobało?"
|
||||
pleaseDonate: "{host} używa darmowego oprogramowania — Misskey. Bylibyśmy bardzo wdzięczni za datki, które pozwolą na kontynuację rozwoju Misskey!"
|
||||
correspondingSourceIsAvailable: "Odpowiedni kod źródłowy jest dostępny pod {anchor}."
|
||||
roles: "Role"
|
||||
role: "Rola"
|
||||
noRole: "Rola nie znaleziona"
|
||||
normalUser: "Normalny użytkownik"
|
||||
undefined: "Niezdefiniowane"
|
||||
assign: "Przydziel"
|
||||
unassign: "Cofnij przydzielenie"
|
||||
color: "Kolor"
|
||||
manageCustomEmojis: "Zarządzaj niestandardowymi Emoji"
|
||||
manageAvatarDecorations: "Zarządzaj dekoracjami awatara"
|
||||
invalidParamError: "Błąd parametrów"
|
||||
permissionDeniedError: "Odrzucono operacje"
|
||||
permissionDeniedErrorDescription: "Konto nie posiada uprawnień"
|
||||
preset: "Konfiguracja"
|
||||
selectFromPresets: "Wybierz konfiguracje"
|
||||
achievements: "Osiągnięcia"
|
||||
thisPostMayBeAnnoyingCancel: "Odrzuć"
|
||||
internalServerError: "Wewnętrzny błąd serwera"
|
||||
internalServerErrorDescription: "Niespodziewany błąd po stronie serwera"
|
||||
copyErrorInfo: "Kopiuj informacje o błędzie"
|
||||
joinThisServer: "Dołącz do chaty"
|
||||
disableFederationOk: "Wyłącz federacje"
|
||||
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"
|
||||
postToTheChannel: "Publikuj na kanale"
|
||||
youFollowing: "Śledzeni"
|
||||
icon: "Awatar"
|
||||
replies: "Odpowiedzi"
|
||||
renotes: "Udostępnień"
|
||||
sourceCode: "Kod źródłowy"
|
||||
flip: "Odwróć"
|
||||
lastNDays: "W ciągu ostatnich {n} dni"
|
||||
surrender: "Odrzuć"
|
||||
gameRetry: "Spróbuj ponownie"
|
||||
_delivery:
|
||||
stop: "Zawieszono"
|
||||
_type:
|
||||
none: "Publikowanie"
|
||||
_bubbleGame:
|
||||
_score:
|
||||
score: "Wynik"
|
||||
_role:
|
||||
assignTarget: "Przydziel"
|
||||
priority: "Priorytet"
|
||||
_priority:
|
||||
low: "Niski"
|
||||
middle: "Średnie"
|
||||
high: "Wysoki"
|
||||
_options:
|
||||
canManageCustomEmojis: "Zarządzaj niestandardowymi Emoji"
|
||||
canManageAvatarDecorations: "Zarządzaj dekoracjami awatara"
|
||||
_sensitiveMediaDetection:
|
||||
description: "Zmniejsza wysiłek związany z moderacją serwera dzięki automatycznemu rozpoznawaniu zawartości NSFW za pomocą uczenia maszynowego. To nieznacznie zwiększy obciążenie serwera."
|
||||
setSensitiveFlagAutomatically: "Oznacz jako NSFW"
|
||||
|
@ -1221,6 +1057,8 @@ _sfx:
|
|||
note: "Wpisy"
|
||||
noteMy: "Mój wpis"
|
||||
notification: "Powiadomienia"
|
||||
antenna: "Anteny"
|
||||
channel: "Powiadomienia kanału"
|
||||
_ago:
|
||||
future: "W przyszłości"
|
||||
justNow: "Przed chwilą"
|
||||
|
@ -1394,7 +1232,6 @@ _profile:
|
|||
_exportOrImport:
|
||||
allNotes: "Wszystkie wpisy"
|
||||
favoritedNotes: "Ulubione wpisy"
|
||||
clips: "Klip"
|
||||
followingList: "Obserwowani"
|
||||
muteList: "Wycisz"
|
||||
blockingList: "Zablokuj"
|
||||
|
@ -1544,6 +1381,7 @@ _webhookSettings:
|
|||
createWebhook: "Stwórz Webhook"
|
||||
name: "Nazwa"
|
||||
secret: "Sekret"
|
||||
events: "Uruchomienie Webhooka"
|
||||
active: "Właczono"
|
||||
_events:
|
||||
follow: "Po zaobserwowaniu użytkownika"
|
||||
|
@ -1553,12 +1391,6 @@ _webhookSettings:
|
|||
renote: "Po udostępnieniu wpisu"
|
||||
reaction: "Po otrzymaniu reakcji"
|
||||
mention: "Po zostaniu wspomnianym"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "Adres e-mail"
|
||||
_moderationLogTypes:
|
||||
suspend: "Zawieś"
|
||||
resetPassword: "Zresetuj hasło"
|
||||
_reversi:
|
||||
total: "Łącznie"
|
||||
|
|
1301
locales/pt-PT.yml
1301
locales/pt-PT.yml
File diff suppressed because it is too large
Load diff
|
@ -359,8 +359,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "Activează hCaptcha"
|
||||
hcaptchaSiteKey: "Site key"
|
||||
hcaptchaSecretKey: "Secret key"
|
||||
mcaptchaSiteKey: "Site key"
|
||||
mcaptchaSecretKey: "Secret key"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Activează reCAPTCHA"
|
||||
recaptchaSiteKey: "Site key"
|
||||
|
@ -651,10 +649,6 @@ show: "Arată"
|
|||
icon: "Avatar"
|
||||
replies: "Răspunsuri"
|
||||
renotes: "Re-notează"
|
||||
_delivery:
|
||||
stop: "Suspendat"
|
||||
_type:
|
||||
none: "Publicare"
|
||||
_role:
|
||||
_priority:
|
||||
middle: "Mediu"
|
||||
|
@ -728,12 +722,6 @@ _deck:
|
|||
mentions: "Mențiuni"
|
||||
_webhookSettings:
|
||||
name: "Nume"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "Email"
|
||||
_moderationLogTypes:
|
||||
suspend: "Suspendă"
|
||||
resetPassword: "Resetează parola"
|
||||
_reversi:
|
||||
total: "Total"
|
||||
|
|
|
@ -17,7 +17,7 @@ noThankYou: "Нет, спасибо"
|
|||
enterUsername: "Введите имя пользователя"
|
||||
renotedBy: "{user} делится"
|
||||
noNotes: "Нет ни одной заметки"
|
||||
noNotifications: "Нет уведомлений"
|
||||
noNotifications: "Нет ни одного уведомления"
|
||||
instance: "Инстанс"
|
||||
settings: "Настройки"
|
||||
notificationSettings: "Настройки уведомлений"
|
||||
|
@ -53,8 +53,8 @@ addToAntenna: "Добавить к антенне"
|
|||
sendMessage: "Отправить сообщение"
|
||||
copyRSS: "Скопировать RSS"
|
||||
copyUsername: "Скопировать имя пользователя"
|
||||
copyUserId: "Скопировать идентификатор пользователя"
|
||||
copyNoteId: "Скопировать идентификатор заметки"
|
||||
copyUserId: "Скопировать ID пользователя"
|
||||
copyNoteId: "Скопировать ID заметки"
|
||||
copyFileId: "Скопировать ID файла"
|
||||
copyFolderId: "Скопировать ID папки"
|
||||
copyProfileUrl: "Скопировать URL профиля "
|
||||
|
@ -129,14 +129,13 @@ overwriteFromPinnedEmojis: "Заменить на эмодзи из общего
|
|||
reactionSettingDescription2: "Расставляйте перетаскиванием, удаляйте нажатием, добавляйте кнопкой «+»."
|
||||
rememberNoteVisibility: "Запоминать видимость заметок"
|
||||
attachCancel: "Удалить вложение"
|
||||
deleteFile: "Удалить файл"
|
||||
markAsSensitive: "Отметить как «не для всех»"
|
||||
unmarkAsSensitive: "Снять отметку «не для всех»"
|
||||
enterFileName: "Введите имя файла"
|
||||
mute: "Скрыть"
|
||||
unmute: "Отменить скрытие"
|
||||
renoteMute: "Скрыть репосты"
|
||||
renoteUnmute: "Открыть репосты"
|
||||
renoteMute: "Заглушить репосты"
|
||||
renoteUnmute: "Включить репосты"
|
||||
block: "Заблокировать"
|
||||
unblock: "Разблокировать"
|
||||
suspend: "Заморозить"
|
||||
|
@ -162,8 +161,8 @@ addEmoji: "Добавить эмодзи"
|
|||
settingGuide: "Рекомендуемые настройки"
|
||||
cacheRemoteFiles: "Кешировать внешние файлы"
|
||||
cacheRemoteFilesDescription: "Когда эта настройка отключена, файлы с других сайтов будут загружаться прямо оттуда. Это сэкономит место на сервере, но увеличит трафик, так как не будут создаваться эскизы."
|
||||
cacheRemoteSensitiveFiles: "Кэшировать внешние файлы «не для всех»"
|
||||
cacheRemoteSensitiveFilesDescription: "Если отключено, файлы «не для всех» загружаются непосредственно с удалённых серверов, не кэшируясь."
|
||||
cacheRemoteSensitiveFiles: "Кешировать внешние файлы"
|
||||
cacheRemoteSensitiveFilesDescription: "Описание удаленных внешних файлов в кэше"
|
||||
flagAsBot: "Аккаунт бота"
|
||||
flagAsBotDescription: "Включите, если этот аккаунт управляется программой. Это позволит системе Misskey учитывать это, а также поможет разработчикам других ботов предотвратить бесконечные циклы взаимодействия."
|
||||
flagAsCat: "Аккаунт кота"
|
||||
|
@ -262,7 +261,6 @@ removed: "Удалено"
|
|||
removeAreYouSure: "Хотите удалить «{x}»?"
|
||||
deleteAreYouSure: "Хотите удалить «{x}»?"
|
||||
resetAreYouSure: "На самом деле сбросить?"
|
||||
areYouSure: "Вы уверены?"
|
||||
saved: "Сохранено"
|
||||
messaging: "Сообщения"
|
||||
upload: "Загрузить"
|
||||
|
@ -280,7 +278,7 @@ noMoreHistory: "История закончилась"
|
|||
startMessaging: "Начать общение"
|
||||
nUsersRead: "Прочитали {n}"
|
||||
agreeTo: "Я соглашаюсь с {0}"
|
||||
agree: "Согласен"
|
||||
agree: "Согласиться"
|
||||
agreeBelow: "Согласен со следующими"
|
||||
basicNotesBeforeCreateAccount: "Записи, перед созданием аккаунта"
|
||||
termsOfService: "Условия использования"
|
||||
|
@ -313,7 +311,6 @@ folderName: "Имя папки"
|
|||
createFolder: "Создать папку"
|
||||
renameFolder: "Переименовать папку"
|
||||
deleteFolder: "Удалить папку"
|
||||
folder: "Папка"
|
||||
addFile: "Добавить файл"
|
||||
emptyDrive: "Диск пуст"
|
||||
emptyFolder: "Папка пуста"
|
||||
|
@ -327,7 +324,7 @@ copyUrl: "Копировать ссылку"
|
|||
rename: "Переименовать"
|
||||
avatar: "Аватар"
|
||||
banner: "Шапка"
|
||||
displayOfSensitiveMedia: "Отображение содержимого не для всех"
|
||||
displayOfSensitiveMedia: "Определение деликатного контента"
|
||||
whenServerDisconnected: "Когда соединение с сервером потеряно"
|
||||
disconnectedFromServer: "Разорвано соединение с сервером"
|
||||
reload: "Перезагрузить"
|
||||
|
@ -375,10 +372,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "Включить hCaptcha"
|
||||
hcaptchaSiteKey: "Ключ сайта"
|
||||
hcaptchaSecretKey: "Секретный ключ"
|
||||
mcaptcha: "mCaptcha"
|
||||
enableMcaptcha: "Включить mCaptcha"
|
||||
mcaptchaSiteKey: "Ключ сайта"
|
||||
mcaptchaSecretKey: "Секретный ключ"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Включить reCAPTCHA"
|
||||
recaptchaSiteKey: "Ключ сайта"
|
||||
|
@ -420,7 +413,7 @@ about: "Описание"
|
|||
aboutMisskey: "О Misskey"
|
||||
administrator: "Администратор"
|
||||
token: "Токен"
|
||||
2fa: "Двухфакторная аутентификация"
|
||||
2fa: "2-х факторная аутентификация"
|
||||
setupOf2fa: "Настроить двухфакторную аутентификацию"
|
||||
totp: "Приложение-аутентификатор"
|
||||
totpDescription: "Описание приложения-аутентификатора"
|
||||
|
@ -484,7 +477,7 @@ aboutX: "Описание {x}"
|
|||
emojiStyle: "Стиль эмодзи"
|
||||
native: "Системные"
|
||||
disableDrawer: "Не использовать выдвижные меню"
|
||||
showNoteActionsOnlyHover: "Показывать кнопки у заметок только при наведении"
|
||||
showNoteActionsOnlyHover: "Показывать кнопки управления заметкой только при наведении"
|
||||
noHistory: "История пока пуста"
|
||||
signinHistory: "Журнал посещений"
|
||||
enableAdvancedMfm: "Включить расширенный MFM"
|
||||
|
@ -497,8 +490,8 @@ createAccount: "Новая учётная запись"
|
|||
existingAccount: "Существующая учётная запись"
|
||||
regenerate: "Создать повторно"
|
||||
fontSize: "Размер шрифта"
|
||||
mediaListWithOneImageAppearance: "Вид изображения, если оно единственное в списке"
|
||||
limitTo: "Ограничить до {x}"
|
||||
mediaListWithOneImageAppearance: "Показывать список медиа только одним изображением"
|
||||
limitTo: "Обрезать до {x}"
|
||||
noFollowRequests: "Нерассмотренные запросы на подписку отсутствуют"
|
||||
openImageInNewTab: "Открыть изображение в новой вкладке"
|
||||
dashboard: "Панель управления"
|
||||
|
@ -532,7 +525,7 @@ objectStorageUseSSLDesc: "Отключите, если не собираетес
|
|||
objectStorageUseProxy: "Использовать прокси"
|
||||
objectStorageUseProxyDesc: "Отключите, если не будете испоьзовать прокси для соединений по протоколу ObjectStorage."
|
||||
objectStorageSetPublicRead: "Устанавливать public-read при загрузке на сервер"
|
||||
s3ForcePathStyleDesc: "Включение s3ForcePathStyle приводит к тому, что имя корзины указывается как часть пути в URL, а не в имени хоста. Может потребоваться включить при использовании локального Minio или чего-то подобного."
|
||||
s3ForcePathStyleDesc: "Включение s3ForcePathStyle принудительно указывает имя корзины как часть пути в URL-адресе вместо имени хоста. Может потребоваться активация при использовании таких вещей, как локальный Minio."
|
||||
serverLogs: "Журнал сервера"
|
||||
deleteAll: "Удалить всё"
|
||||
showFixedPostForm: "Показывать поле для ввода новой заметки наверху ленты"
|
||||
|
@ -546,8 +539,6 @@ showInPage: "Показать страницу"
|
|||
popout: "Развернуть"
|
||||
volume: "Громкость"
|
||||
masterVolume: "Основная регулировка громкости"
|
||||
notUseSound: "Выключить звук"
|
||||
useSoundOnlyWhenActive: "Использовать звук, когда Misskey активен."
|
||||
details: "Подробнее"
|
||||
chooseEmoji: "Выберите эмодзи"
|
||||
unableToProcess: "Не удаётся завершить операцию"
|
||||
|
@ -568,10 +559,6 @@ output: "Выходы"
|
|||
script: "Скрипт"
|
||||
disablePagesScript: "Отключить скрипты на «Страницах»"
|
||||
updateRemoteUser: "Обновить данные пользователя с его сервера"
|
||||
unsetUserAvatar: "Убрать аватар"
|
||||
unsetUserAvatarConfirm: "Вы точно хотите убрать аватар?"
|
||||
unsetUserBanner: "Убрать баннер"
|
||||
unsetUserBannerConfirm: "Вы точно хотите убрать баннер?"
|
||||
deleteAllFiles: "Удалить все файлы"
|
||||
deleteAllFilesConfirm: "Вы хотите удалить все файлы?"
|
||||
removeAllFollowing: "Удалить всех подписчиков"
|
||||
|
@ -582,7 +569,7 @@ yourAccountSuspendedTitle: "Эта учетная запись заблокир
|
|||
yourAccountSuspendedDescription: "Эта учетная запись была заблокирована из-за нарушения условий предоставления услуг сервера. Свяжитесь с администратором, если вы хотите узнать более подробную причину. Пожалуйста, не создавайте новую учетную запись."
|
||||
tokenRevoked: "Токен недействителен"
|
||||
tokenRevokedDescription: "Срок действия вашего токена входа истек. Пожалуйста, войдите снова."
|
||||
accountDeleted: "Учетная запись удалена"
|
||||
accountDeleted: "Эта учетная запись удалена"
|
||||
accountDeletedDescription: "Эта учетная запись удалена"
|
||||
menu: "Меню"
|
||||
divider: "Линия-разделитель"
|
||||
|
@ -622,7 +609,6 @@ medium: "Средне"
|
|||
small: "Мелко"
|
||||
generateAccessToken: "Создать токен доступа"
|
||||
permission: "Разрешения"
|
||||
adminPermission: "Доступ администратора"
|
||||
enableAll: "Включить все"
|
||||
disableAll: "Выключить всё"
|
||||
tokenRequested: "Открыть доступ к учётной записи"
|
||||
|
@ -644,7 +630,6 @@ smtpSecure: "Использовать SSL/TLS для SMTP-соединений"
|
|||
smtpSecureInfo: "Выключите при использовании STARTTLS."
|
||||
testEmail: "Проверка доставки электронной почты"
|
||||
wordMute: "Скрытие слов"
|
||||
hardWordMute: ""
|
||||
regexpError: "Ошибка в регулярном выражении"
|
||||
regexpErrorDescription: "В списке {tab} скрытых слов, в строке {line} обнаружена синтаксическая ошибка:"
|
||||
instanceMute: "Глушение инстансов"
|
||||
|
@ -666,7 +651,6 @@ useGlobalSettingDesc: "Если включено, будут использов
|
|||
other: "Другие"
|
||||
regenerateLoginToken: "Создать новый токен для входа"
|
||||
regenerateLoginTokenDescription: "Создаёт новый токен, используемый внутри программы во время входа. Обычно в этом нет необходимости. При создании все устройства будут отключены."
|
||||
theKeywordWhenSearchingForCustomEmoji: "Это ключевое слово будет использовано при поиске эмодзи."
|
||||
setMultipleBySeparatingWithSpace: "Можно написать несколько через пробел"
|
||||
fileIdOrUrl: "Идентификатор файла или ссылка"
|
||||
behavior: "Поведение"
|
||||
|
@ -737,7 +721,7 @@ useSystemFont: "Использовать шрифт, предлагаемый с
|
|||
clips: "Подборки"
|
||||
experimentalFeatures: "Экспериментальные функции"
|
||||
experimental: "Экспериментальные"
|
||||
thisIsExperimentalFeature: "Это экспериментальная функция. Её поведение, вероятно, поменяется в следующей версии, а ещё она может работать не так, как задумано."
|
||||
thisIsExperimentalFeature: "Это экспериментальная функция. Технические характеристики могут измениться или он может работать неправильно."
|
||||
developer: "Разработчик"
|
||||
makeExplorable: "Опубликовать профиль в «Обзоре»."
|
||||
makeExplorableDescription: "Если выключить, ваш профиль не будет показан в разделе «Обзор»."
|
||||
|
@ -822,7 +806,7 @@ noMaintainerInformationWarning: "Не заполнены сведения об
|
|||
noBotProtectionWarning: "Ботозащита не настроена"
|
||||
configure: "Настроить"
|
||||
postToGallery: "Опубликовать в галерею"
|
||||
postToHashtag: "Написать заметку с этим хэштегом"
|
||||
postToHashtag: "Опубликовать пост с этим хештегом"
|
||||
gallery: "Галерея"
|
||||
recentPosts: "Недавние публикации"
|
||||
popularPosts: "Популярные публикации"
|
||||
|
@ -851,7 +835,7 @@ useBlurEffect: "Размытие в интерфейсе"
|
|||
learnMore: "Подробнее"
|
||||
misskeyUpdated: "Misskey обновился!"
|
||||
whatIsNew: "Что новенького?"
|
||||
translate: "Перевести"
|
||||
translate: "Перевод"
|
||||
translatedFrom: "Перевод. Язык оригинала — {x}"
|
||||
accountDeletionInProgress: "В настоящее время выполняется удаление учетной записи"
|
||||
usernameInfo: "Имя, которое отличает вашу учетную запись от других на этом сервере. Вы можете использовать алфавит (a~z, A~Z), цифры (0~9) или символы подчеркивания (_). Имена пользователей не могут быть изменены позже."
|
||||
|
@ -863,11 +847,11 @@ lastCommunication: "Последнее сообщение"
|
|||
resolved: "Решено"
|
||||
unresolved: "Без решения"
|
||||
breakFollow: "Отписка"
|
||||
breakFollowConfirm: "Действительно удалить этого подписчика?"
|
||||
breakFollowConfirm: "Удалить из подписок пользователя ?"
|
||||
itsOn: "Включено"
|
||||
itsOff: "Выключено"
|
||||
on: "Вкл."
|
||||
off: "Выкл."
|
||||
on: "Вкл"
|
||||
off: "Выкл"
|
||||
emailRequiredForSignup: "Для регистрации учётной записи нужен адрес электронной почты"
|
||||
unread: "Непрочитанное"
|
||||
filter: "Фильтры"
|
||||
|
@ -896,7 +880,7 @@ numberOfColumn: "Количество столбцов"
|
|||
searchByGoogle: "Поиск"
|
||||
instanceDefaultLightTheme: "Светлая тема по умолчанию"
|
||||
instanceDefaultDarkTheme: "Темная тема по умолчанию"
|
||||
instanceDefaultThemeDescription: "Введите код темы в формате объекта."
|
||||
instanceDefaultThemeDescription: "Описание темы по умолчанию для инстанса"
|
||||
mutePeriod: "Продолжительность скрытия"
|
||||
period: "Опрос длится"
|
||||
indefinitely: "вечно"
|
||||
|
@ -920,7 +904,7 @@ thereIsUnresolvedAbuseReportWarning: "Остались нерешённые жа
|
|||
recommended: "Рекомендуем"
|
||||
check: "Проверить"
|
||||
driveCapOverrideLabel: "Изменение лимита дискового пространства для этого пользователя"
|
||||
driveCapOverrideCaption: "Введите нуль или меньше, чтобы использовать значение по умолчанию."
|
||||
driveCapOverrideCaption: "Укажите меньше или равное нулю для отмены"
|
||||
requireAdminForView: "Для просмотра необходимо иметь аккаунт администратора"
|
||||
isSystemAccount: "Данная учётная запись создана автоматически и управляется системой"
|
||||
typeToConfirm: "Введите {x} для продолжения"
|
||||
|
@ -940,7 +924,7 @@ type: "Тип"
|
|||
speed: "Скорость"
|
||||
slow: "Медленная"
|
||||
fast: "Быстрая"
|
||||
sensitiveMediaDetection: "Распознание содержимого не для всех"
|
||||
sensitiveMediaDetection: "Определение содержимого деликатного характера"
|
||||
localOnly: "Локально"
|
||||
remoteOnly: "Только удалённо"
|
||||
failedToUpload: "Сбой выгрузки"
|
||||
|
@ -1017,17 +1001,15 @@ invitationRequiredToRegister: "Этот сервер в настоящее вр
|
|||
emailNotSupported: "Доставка почты не поддерживается на этом сервере"
|
||||
postToTheChannel: "Отправить в канал"
|
||||
cannotBeChangedLater: "Это нельзя изменить позже"
|
||||
reactionAcceptance: "Допустимые реакции"
|
||||
likeOnly: "Только «нравится!»"
|
||||
likeOnlyForRemote: "Всё (с других серверов только «нравится!»)"
|
||||
nonSensitiveOnly: "Только безопасные"
|
||||
nonSensitiveOnlyForLocalLikeOnlyForRemote: "Только безопасные (с других серверов только «нравится!»)"
|
||||
reactionAcceptance: "Принятие реакций"
|
||||
likeOnly: "Только лайки"
|
||||
likeOnlyForRemote: "Только лайки с удалённых серверов"
|
||||
nonSensitiveOnly: "Безопасный серфинг"
|
||||
rolesAssignedToMe: "Мои роли"
|
||||
resetPasswordConfirm: "Сбросить пароль?"
|
||||
sensitiveWords: "Чувствительные слова"
|
||||
sensitiveWordsDescription: "Установите общедоступный диапазон заметки, содержащей заданное слово, на домашний. Можно сделать несколько настроек, разделив их переносами строк."
|
||||
sensitiveWordsDescription2: "Разделение пробелом создаёт спецификацию AND, а разделение косой чертой создаёт регулярное выражение."
|
||||
prohibitedWordsDescription2: "Разделение пробелом создаёт спецификацию AND, а разделение косой чертой создаёт регулярное выражение."
|
||||
notesSearchNotAvailable: "Поиск заметок недоступен"
|
||||
license: "Лицензия"
|
||||
unfavoriteConfirm: "Удалить избранное?"
|
||||
|
@ -1042,20 +1024,20 @@ noteIdOrUrl: "ID или ссылка на заметку"
|
|||
video: "Видео"
|
||||
videos: "Видео"
|
||||
dataSaver: "Экономия трафика"
|
||||
accountMigration: "Перенос учётной записи"
|
||||
accountMoved: "Учётная запись перенесена"
|
||||
accountMigration: "Перенести учётную запись"
|
||||
accountMoved: "Учетная запись перенесена"
|
||||
accountMovedShort: "Эта учётная запись перемещена"
|
||||
operationForbidden: "Это действие запрещено"
|
||||
operationForbidden: "Эта операция невозможна."
|
||||
forceShowAds: "Всегда отображать рекламу"
|
||||
addMemo: "Добавить памятку"
|
||||
editMemo: "Изменить памятку"
|
||||
reactionsList: "Список реакций"
|
||||
addMemo: "Добавить заметку"
|
||||
editMemo: "Редактировать заметку"
|
||||
reactionsList: "Реакции"
|
||||
renotesList: "Репосты"
|
||||
notificationDisplay: "Отображение уведомлений"
|
||||
leftTop: "Влево вверх"
|
||||
rightTop: "Вправо вверх"
|
||||
leftBottom: "Влево вниз"
|
||||
rightBottom: "Вправо вниз"
|
||||
notificationDisplay: "Отображение уведомления"
|
||||
leftTop: "Верхний левый угол"
|
||||
rightTop: "Сверху справа"
|
||||
leftBottom: "Снизу слева"
|
||||
rightBottom: "Снизу справа"
|
||||
vertical: "Вертикальная"
|
||||
horizontal: "Сбоку"
|
||||
position: "Позиция"
|
||||
|
@ -1094,15 +1076,7 @@ icon: "Аватар"
|
|||
replies: "Ответы"
|
||||
renotes: "Репост"
|
||||
loadReplies: "Показать ответы"
|
||||
sourceCode: "Исходный код"
|
||||
flip: "Переворот"
|
||||
code: "Код"
|
||||
lastNDays: "Последние {n} сут"
|
||||
surrender: "Этот пост не может быть отменен."
|
||||
_delivery:
|
||||
stop: "Заморожено"
|
||||
_type:
|
||||
none: "Публикация"
|
||||
_initialAccountSetting:
|
||||
accountCreated: "Аккаунт успешно создан!"
|
||||
letsStartAccountSetup: "Давайте настроим вашу учётную запись."
|
||||
|
@ -1612,6 +1586,8 @@ _sfx:
|
|||
note: "Заметки"
|
||||
noteMy: "Собственные заметки"
|
||||
notification: "Уведомления"
|
||||
antenna: "Антенна"
|
||||
channel: "Канал"
|
||||
_ago:
|
||||
future: "Из будущего"
|
||||
justNow: "Только что"
|
||||
|
@ -1641,6 +1617,7 @@ _2fa:
|
|||
registerTOTP: "Начните настраивать приложение-аутентификатор"
|
||||
step1: "Прежде всего, установите на устройство приложение для аутентификации, например, {a} или {b}."
|
||||
step2: "Далее отсканируйте отображаемый QR-код при помощи приложения."
|
||||
step2Click: "Нажав на QR-код, вы можете зарегистрироваться с помощью приложения для аутентификации или брелка для ключей, установленного на вашем устройстве."
|
||||
step3Title: "Введите проверочный код"
|
||||
step3: "И наконец, введите код, который покажет приложение."
|
||||
step4: "Теперь при каждом входе на сайт вам нужно будет вводить код из приложения аналогичным образом."
|
||||
|
@ -1716,7 +1693,7 @@ _weekday:
|
|||
_widgets:
|
||||
profile: "Профиль"
|
||||
instanceInfo: "Информация об инстансе"
|
||||
memo: "Памятки"
|
||||
memo: "Напоминания"
|
||||
notifications: "Уведомления"
|
||||
timeline: "Лента"
|
||||
calendar: "Календарь"
|
||||
|
@ -1807,7 +1784,6 @@ _profile:
|
|||
_exportOrImport:
|
||||
allNotes: "Все заметки\n"
|
||||
favoritedNotes: "Избранное"
|
||||
clips: "Подборка"
|
||||
followingList: "Подписки"
|
||||
muteList: "Скрытые"
|
||||
blockingList: "Заблокированные"
|
||||
|
@ -1981,15 +1957,6 @@ _webhookSettings:
|
|||
createWebhook: "Создать вебхук"
|
||||
name: "Название"
|
||||
active: "Вкл."
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "Электронная почта"
|
||||
_moderationLogTypes:
|
||||
suspend: "Заморозить"
|
||||
addCustomEmoji: "Добавлено эмодзи"
|
||||
updateCustomEmoji: "Изменено эмодзи"
|
||||
deleteCustomEmoji: "Удалено эмодзи"
|
||||
resetPassword: "Сброс пароля:"
|
||||
_reversi:
|
||||
total: "Всего"
|
||||
|
|
|
@ -1,19 +1 @@
|
|||
---
|
||||
_lang_: "සිංහල"
|
||||
monthAndDay: "{month}-{day}"
|
||||
username: "පරිශීලක නාමය"
|
||||
password: "මුරපදය"
|
||||
cancel: "අවලංගු කරන්න"
|
||||
instance: "සර්වර්"
|
||||
login: "පිවිසෙන්න"
|
||||
users: "පරිශීලක"
|
||||
note: "නෝට්"
|
||||
notes: "නෝට්"
|
||||
instances: "සර්වර්"
|
||||
smtpUser: "පරිශීලක නාමය"
|
||||
smtpPass: "මුරපදය"
|
||||
user: "පරිශීලක"
|
||||
_sfx:
|
||||
note: "නෝට්"
|
||||
_profile:
|
||||
username: "පරිශීලක නාමය"
|
||||
|
|
|
@ -349,8 +349,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "Zapnúť hCaptchu"
|
||||
hcaptchaSiteKey: "Site key"
|
||||
hcaptchaSecretKey: "Secret key"
|
||||
mcaptchaSiteKey: "Site key"
|
||||
mcaptchaSecretKey: "Secret key"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Zapnúť ReCAPTCHA"
|
||||
recaptchaSiteKey: "Site key"
|
||||
|
@ -919,13 +917,7 @@ youFollowing: "Sledované"
|
|||
icon: "Avatar"
|
||||
replies: "Odpovede"
|
||||
renotes: "Preposlať"
|
||||
sourceCode: "Zdrojový kód"
|
||||
flip: "Preklopiť"
|
||||
lastNDays: "Posledných {n} dní"
|
||||
_delivery:
|
||||
stop: "Zmrazené"
|
||||
_type:
|
||||
none: "Zverejňovanie"
|
||||
_role:
|
||||
priority: "Priorita"
|
||||
_priority:
|
||||
|
@ -1124,6 +1116,8 @@ _sfx:
|
|||
note: "Poznámky"
|
||||
noteMy: "Vlastná poznámka"
|
||||
notification: "Oznámenia"
|
||||
antenna: "Antény"
|
||||
channel: "Upozornenia kanála"
|
||||
_ago:
|
||||
future: "Budúcnosť"
|
||||
justNow: "Teraz"
|
||||
|
@ -1290,7 +1284,6 @@ _profile:
|
|||
changeBanner: "Zmeniť banner"
|
||||
_exportOrImport:
|
||||
allNotes: "Všetky poznámky"
|
||||
clips: "Klip"
|
||||
followingList: "Sledujete"
|
||||
muteList: "Vypnúť zvuk"
|
||||
blockingList: "Zablokovať"
|
||||
|
@ -1445,12 +1438,6 @@ _deck:
|
|||
_webhookSettings:
|
||||
name: "Názov"
|
||||
active: "Zapnuté"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "Email"
|
||||
_moderationLogTypes:
|
||||
suspend: "Zmraziť"
|
||||
resetPassword: "Resetovať heslo"
|
||||
_reversi:
|
||||
total: "Celkom"
|
||||
|
|
|
@ -345,8 +345,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "Aktivera hCaptcha"
|
||||
hcaptchaSiteKey: "Webbplatsnyckel"
|
||||
hcaptchaSecretKey: "Hemlig nyckel"
|
||||
mcaptchaSiteKey: "Webbplatsnyckel"
|
||||
mcaptchaSecretKey: "Hemlig nyckel"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Aktivera reCAPTCHA"
|
||||
recaptchaSiteKey: "Webbplatsnyckel"
|
||||
|
@ -488,10 +486,6 @@ dataSaver: "Databesparing"
|
|||
icon: "Profilbild"
|
||||
replies: "Svar"
|
||||
renotes: "Omnotera"
|
||||
_delivery:
|
||||
stop: "Suspenderad"
|
||||
_type:
|
||||
none: "Publiceras"
|
||||
_achievements:
|
||||
_types:
|
||||
_open3windows:
|
||||
|
@ -512,6 +506,7 @@ _theme:
|
|||
_sfx:
|
||||
note: "Noter"
|
||||
notification: "Notifikationer"
|
||||
antenna: "Antenner"
|
||||
_2fa:
|
||||
renewTOTPCancel: "Nej tack"
|
||||
_antennaSources:
|
||||
|
@ -576,10 +571,6 @@ _deck:
|
|||
_webhookSettings:
|
||||
name: "Namn"
|
||||
active: "Aktiverad"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "E-post"
|
||||
_moderationLogTypes:
|
||||
suspend: "Suspendera"
|
||||
resetPassword: "Återställ Lösenord"
|
||||
|
|
1768
locales/th-TH.yml
1768
locales/th-TH.yml
File diff suppressed because it is too large
Load diff
|
@ -359,7 +359,7 @@ smtpUser: "Kullanıcı Adı"
|
|||
smtpPass: "Şifre"
|
||||
notificationSetting: "Bildirim ayarları"
|
||||
instanceTicker: "Notların sunucu bilgileri"
|
||||
noCrawleDescription: "Arama motorlarından profilinde, notlarında, sayfalarında vb. dolaşılmamasını ve dizine eklememesini talep et."
|
||||
noCrawleDescription: "Arama motorlarından profilinde, notlarında, sayfalarında vb. dolaşılmamasını ve dizine eklememesini talep et."
|
||||
clearCache: "Ön belleği temizle"
|
||||
onlineUsersCount: "{n} kullanıcı çevrim içi"
|
||||
user: "Kullanıcı"
|
||||
|
@ -378,10 +378,6 @@ addMemo: "Kısa not ekle"
|
|||
icon: "Avatar"
|
||||
replies: "yanıt"
|
||||
renotes: "vazgeçme"
|
||||
_delivery:
|
||||
stop: "Askıya alınmış"
|
||||
_type:
|
||||
none: "Paylaşım"
|
||||
_accountDelete:
|
||||
started: "Silme işlemi başlatıldı"
|
||||
_email:
|
||||
|
|
|
@ -352,8 +352,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "Увімкнути hCaptcha"
|
||||
hcaptchaSiteKey: "Ключ сайту"
|
||||
hcaptchaSecretKey: "Секретний ключ"
|
||||
mcaptchaSiteKey: "Ключ сайту"
|
||||
mcaptchaSecretKey: "Секретний ключ"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Увімкнути reCAPTCHA"
|
||||
recaptchaSiteKey: "Ключ сайту"
|
||||
|
@ -911,13 +909,7 @@ youFollowing: "Підписки"
|
|||
icon: "Аватар"
|
||||
replies: "Відповісти"
|
||||
renotes: "Поширити"
|
||||
sourceCode: "Вихідний код"
|
||||
flip: "Перевернути"
|
||||
lastNDays: "Останні {n} днів"
|
||||
_delivery:
|
||||
stop: "Призупинено"
|
||||
_type:
|
||||
none: "Публікація"
|
||||
_achievements:
|
||||
earnedAt: "Відкрито"
|
||||
_types:
|
||||
|
@ -1318,6 +1310,8 @@ _sfx:
|
|||
note: "Нотатки"
|
||||
noteMy: "Мої нотатки"
|
||||
notification: "Сповіщення"
|
||||
antenna: "Прийом антени"
|
||||
channel: "Повідомлення каналу"
|
||||
_ago:
|
||||
future: "Майбутнє"
|
||||
justNow: "Щойно"
|
||||
|
@ -1474,7 +1468,6 @@ _profile:
|
|||
changeBanner: "Змінити банер"
|
||||
_exportOrImport:
|
||||
allNotes: "Всі нотатки"
|
||||
clips: "Добірка"
|
||||
followingList: "Підписки"
|
||||
muteList: "Ігнорувати"
|
||||
blockingList: "Заблокувати"
|
||||
|
@ -1620,12 +1613,6 @@ _deck:
|
|||
_webhookSettings:
|
||||
name: "Ім'я"
|
||||
active: "Увімкнено"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "E-mail"
|
||||
_moderationLogTypes:
|
||||
suspend: "Призупинити"
|
||||
resetPassword: "Скинути пароль"
|
||||
_reversi:
|
||||
total: "Всього"
|
||||
|
|
|
@ -366,8 +366,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "hCaptchani yoqish"
|
||||
hcaptchaSiteKey: "Sayt kaliti"
|
||||
hcaptchaSecretKey: "Mahfiy kalit"
|
||||
mcaptchaSiteKey: "Sayt kaliti"
|
||||
mcaptchaSecretKey: "Maxfiy kalit"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "reCAPTCHA ni yoqish"
|
||||
recaptchaSiteKey: "Sayt kaliti"
|
||||
|
@ -443,7 +441,7 @@ text: "Matn"
|
|||
enable: "Yoqish"
|
||||
next: "Keyingisi"
|
||||
retype: "Qayta kiriting"
|
||||
noteOf: "{user} tomonidan joylandi\n"
|
||||
noteOf: "{user} tomonidan joylandi\n"
|
||||
quoteAttached: "Iqtibos"
|
||||
quoteQuestion: "Iqtibos sifatida qo'shilsinmi?"
|
||||
noMessagesYet: "Bu yerda xabarlar yo'q"
|
||||
|
@ -846,10 +844,6 @@ icon: "Avatar"
|
|||
replies: "Javoblar"
|
||||
renotes: "Qayta qayd etish"
|
||||
flip: "Teskari"
|
||||
_delivery:
|
||||
stop: "To'xtatilgan"
|
||||
_type:
|
||||
none: "Yuborilmoqda"
|
||||
_achievements:
|
||||
_types:
|
||||
_viewInstanceChart:
|
||||
|
@ -979,7 +973,6 @@ _profile:
|
|||
changeBanner: "Bannerni o'zgartirish"
|
||||
_exportOrImport:
|
||||
allNotes: "Barcha qaydlar"
|
||||
clips: "Klip"
|
||||
followingList: "Obuna bo‘lish"
|
||||
muteList: "Ovozni o‘chirish"
|
||||
blockingList: "Bloklangan foydalanuvchilar"
|
||||
|
@ -1089,12 +1082,6 @@ _webhookSettings:
|
|||
_events:
|
||||
renote: "Qayta qayd qilinganda"
|
||||
mention: "Eslanganda"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "Email"
|
||||
_moderationLogTypes:
|
||||
suspend: "To'xtatish"
|
||||
resetPassword: "Parolni tiklash"
|
||||
_reversi:
|
||||
total: "Jami"
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
import locales from './index.js';
|
||||
|
||||
const showUntranslated = process.argv[2] == '-v';
|
||||
|
||||
let valid = true;
|
||||
|
||||
function writeError(type, lang, tree, data) {
|
||||
process.stderr.write(JSON.stringify({ type, lang, tree, data }));
|
||||
process.stderr.write('\n');
|
||||
valid = false;
|
||||
}
|
||||
|
||||
function verify(expected, actual, lang, trace) {
|
||||
for (let key in expected) {
|
||||
if (!Object.prototype.hasOwnProperty.call(actual, key)) {
|
||||
continue;
|
||||
}
|
||||
if (typeof expected[key] === 'object') {
|
||||
if (typeof actual[key] !== 'object') {
|
||||
writeError('mismatched_type', lang, trace ? `${trace}.${key}` : key, { expected: 'object', actual: typeof actual[key] });
|
||||
continue;
|
||||
}
|
||||
verify(expected[key], actual[key], lang, trace ? `${trace}.${key}` : key);
|
||||
} else if (typeof expected[key] === 'string') {
|
||||
switch (typeof actual[key]) {
|
||||
case 'object':
|
||||
writeError('mismatched_type', lang, trace ? `${trace}.${key}` : key, { expected: 'string', actual: 'object' });
|
||||
break;
|
||||
case 'undefined':
|
||||
continue;
|
||||
case 'string':
|
||||
const expectedParameters = new Set(expected[key].match(/\{[^}]+\}/g)?.map((s) => s.slice(1, -1)));
|
||||
const actualParameters = new Set(actual[key].match(/\{[^}]+\}/g)?.map((s) => s.slice(1, -1)));
|
||||
for (let parameter of expectedParameters) {
|
||||
if (!actualParameters.has(parameter)) {
|
||||
writeError('missing_parameter', lang, trace ? `${trace}.${key}` : key, { parameter });
|
||||
}
|
||||
}
|
||||
|
||||
if (showUntranslated && actual[key] == expected[key]) {
|
||||
writeError('untranslated', lang, trace ? `${trace}.${key}` : key, { original: expected[key] });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const { ['ja-JP']: original, ...verifiees } = locales;
|
||||
|
||||
for (let lang in verifiees) {
|
||||
if (!Object.prototype.hasOwnProperty.call(locales, lang)) {
|
||||
continue;
|
||||
}
|
||||
verify(original, verifiees[lang], lang);
|
||||
}
|
||||
|
||||
if (!valid) {
|
||||
process.exit(1);
|
||||
}
|
|
@ -121,11 +121,9 @@ sensitive: "Nhạy cảm"
|
|||
add: "Thêm"
|
||||
reaction: "Biểu cảm"
|
||||
reactions: "Biểu cảm"
|
||||
emojiPicker: "Bộ chọn biểu tượng cảm xúc"
|
||||
reactionSettingDescription2: "Kéo để sắp xếp, nhấn để xóa, nhấn \"+\" để thêm."
|
||||
rememberNoteVisibility: "Lưu kiểu tút mặc định"
|
||||
attachCancel: "Gỡ tập tin đính kèm"
|
||||
deleteFile: "Xoá tệp tin"
|
||||
markAsSensitive: "Đánh dấu là nhạy cảm"
|
||||
unmarkAsSensitive: "Bỏ đánh dấu nhạy cảm"
|
||||
enterFileName: "Nhập tên tập tin"
|
||||
|
@ -259,7 +257,6 @@ removed: "Đã xóa"
|
|||
removeAreYouSure: "Bạn có chắc muốn gỡ \"{x}\"?"
|
||||
deleteAreYouSure: "Bạn có chắc muốn xóa \"{x}\"?"
|
||||
resetAreYouSure: "Bạn có chắc muốn đặt lại?"
|
||||
areYouSure: "Bạn chắc chứ?"
|
||||
saved: "Đã lưu"
|
||||
messaging: "Trò chuyện"
|
||||
upload: "Tải lên"
|
||||
|
@ -310,7 +307,6 @@ folderName: "Tên thư mục"
|
|||
createFolder: "Tạo thư mục"
|
||||
renameFolder: "Đổi tên thư mục"
|
||||
deleteFolder: "Xóa thư mục"
|
||||
folder: "Thư mục"
|
||||
addFile: "Thêm tập tin"
|
||||
emptyDrive: "Ổ đĩa của bạn trống trơn"
|
||||
emptyFolder: "Thư mục trống"
|
||||
|
@ -372,11 +368,6 @@ hcaptcha: "hCaptcha"
|
|||
enableHcaptcha: "Bật hCaptcha"
|
||||
hcaptchaSiteKey: "Khóa của trang"
|
||||
hcaptchaSecretKey: "Khóa bí mật"
|
||||
mcaptcha: "mCaptcha"
|
||||
enableMcaptcha: "Bật mCaptcha"
|
||||
mcaptchaSiteKey: "Khóa của trang"
|
||||
mcaptchaSecretKey: "Khóa bí mật"
|
||||
mcaptchaInstanceUrl: "URL mCaptcha máy chủ"
|
||||
recaptcha: "reCAPTCHA"
|
||||
enableRecaptcha: "Bật reCAPTCHA"
|
||||
recaptchaSiteKey: "Khóa của trang"
|
||||
|
@ -392,7 +383,6 @@ name: "Tên"
|
|||
antennaSource: "Nguồn trạm phát sóng"
|
||||
antennaKeywords: "Từ khóa để nghe"
|
||||
antennaExcludeKeywords: "Từ khóa để lọc ra"
|
||||
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."
|
||||
notifyAntenna: "Thông báo có tút mới"
|
||||
withFileAntenna: "Chỉ những tút có media"
|
||||
|
@ -427,7 +417,6 @@ moderator: "Kiểm duyệt viên"
|
|||
moderation: "Kiểm duyệt"
|
||||
moderationNote: "Ghi chú kiểm duyệt"
|
||||
addModerationNote: "Thêm ghi chú kiểm duyệt"
|
||||
moderationLogs: "Nhật kí quản trị"
|
||||
nUsersMentioned: "Dùng bởi {n} người"
|
||||
securityKeyAndPasskey: "Mã bảo mật・Passkey"
|
||||
securityKey: "Khóa bảo mật"
|
||||
|
@ -460,7 +449,6 @@ retype: "Nhập lại"
|
|||
noteOf: "Tút của {user}"
|
||||
quoteAttached: "Trích dẫn"
|
||||
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?"
|
||||
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"
|
||||
|
@ -547,7 +535,6 @@ showInPage: "Hiện trong trang"
|
|||
popout: "Pop-out"
|
||||
volume: "Âm lượng"
|
||||
masterVolume: "Âm thanh chung"
|
||||
notUseSound: "Tắt tiếng"
|
||||
details: "Chi tiết"
|
||||
chooseEmoji: "Chọn emoji"
|
||||
unableToProcess: "Không thể hoàn tất hành động"
|
||||
|
@ -568,10 +555,6 @@ output: "Nguồn ra"
|
|||
script: "Kịch bản"
|
||||
disablePagesScript: "Tắt AiScript trên Trang"
|
||||
updateRemoteUser: "Cập nhật thông tin người dùng ở máy chủ khác"
|
||||
unsetUserAvatar: "Gỡ ảnh đại diện"
|
||||
unsetUserAvatarConfirm: "Bạn có chắc muốn gỡ ảnh đại diện?"
|
||||
unsetUserBanner: "Gỡ ảnh bìa"
|
||||
unsetUserBannerConfirm: "Bạn có chắc muốn gỡ ảnh bìa?"
|
||||
deleteAllFiles: "Xóa toàn bộ tập tin"
|
||||
deleteAllFilesConfirm: "Bạn có chắc xóa toàn bộ tập tin?"
|
||||
removeAllFollowing: "Ngưng theo dõi tất cả mọi người"
|
||||
|
@ -874,8 +857,6 @@ makeReactionsPublicDescription: "Điều này sẽ hiển thị công khai danh
|
|||
classic: "Cổ điển"
|
||||
muteThread: "Không quan tâm nữa"
|
||||
unmuteThread: "Quan tâm tút này"
|
||||
followingVisibility: "Hiển thị lượt theo dõi"
|
||||
followersVisibility: "Hiển thị người theo dõi"
|
||||
continueThread: "Tiếp tục xem chuỗi tút"
|
||||
deleteAccountConfirm: "Điều này sẽ khiến tài khoản bị xóa vĩnh viễn. Vẫn tiếp tục?"
|
||||
incorrectPassword: "Sai mật khẩu."
|
||||
|
@ -985,7 +966,6 @@ assign: "Phân công"
|
|||
unassign: "Hủy phân công"
|
||||
color: "Màu sắc"
|
||||
manageCustomEmojis: "Quản lý CustomEmoji"
|
||||
manageAvatarDecorations: "Quản lý trang trí ảnh đại diện"
|
||||
youCannotCreateAnymore: "Bạn đã tới giới hạn tạo."
|
||||
cannotPerformTemporary: "Tạm thời không sử dụng được"
|
||||
cannotPerformTemporaryDescription: "Tạm thời không sử dụng được vì lần số điều kiện quá giới hạn. Thử lại sau mọt lát nữa."
|
||||
|
@ -1009,24 +989,18 @@ copyErrorInfo: "Sao chép thông tin lỗi"
|
|||
joinThisServer: "Đăng ký trên chủ máy này"
|
||||
exploreOtherServers: "Tìm chủ máy khác"
|
||||
letsLookAtTimeline: "Thử xem Timeline"
|
||||
disableFederationOk: "Vô hiệu hoá"
|
||||
emailNotSupported: "Máy chủ này không hỗ trợ gửi email"
|
||||
postToTheChannel: "Đăng lên kênh"
|
||||
cannotBeChangedLater: "Không thể thay đổi sau này."
|
||||
likeOnly: "Chỉ lượt thích"
|
||||
rolesAssignedToMe: "Vai trò được giao cho tôi"
|
||||
resetPasswordConfirm: "Bạn thực sự muốn đặt lại mật khẩu?"
|
||||
sensitiveWords: "Các từ nhạy cảm"
|
||||
prohibitedWords: "Các từ bị cấm"
|
||||
license: "Giấy phép"
|
||||
unfavoriteConfirm: "Bạn thực sự muốn xoá khỏi mục yêu thích?"
|
||||
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ủ."
|
||||
enableChartsForRemoteUser: "Tạo biểu đồ người dùng từ xa"
|
||||
video: "Video"
|
||||
videos: "Các video"
|
||||
audio: "Âm thanh"
|
||||
audioFiles: "Âm thanh"
|
||||
dataSaver: "Tiết kiệm dung lượng"
|
||||
accountMigration: "Chuyển tài khoản"
|
||||
accountMoved: "Người dùng này đã chuyển sang một tài khoản mới:"
|
||||
|
@ -1043,88 +1017,33 @@ vertical: "Dọc"
|
|||
horizontal: "Thanh bên"
|
||||
position: "Vị trí"
|
||||
serverRules: "Luật của máy chủ"
|
||||
pleaseConfirmBelowBeforeSignup: "Để đăng ký trên máy chủ này, bạn phải xem xét và đồng ý với những điều sau."
|
||||
pleaseAgreeAllToContinue: "Bạn phải đồng ý tất cả điều trên để tiếp tục."
|
||||
continue: "Tiếp tục"
|
||||
archive: "Lưu trữ"
|
||||
thisChannelArchived: "Kênh này đã được lưu trữ."
|
||||
initialAccountSetting: "Thiết lập hồ sơ"
|
||||
youFollowing: "Đang theo dõi"
|
||||
preventAiLearning: "Từ chối sử dụng công nghệ Máy Học (AI Sáng Tạo)"
|
||||
options: "Tùy chọn"
|
||||
specifyUser: "Người dùng chỉ định"
|
||||
failedToPreviewUrl: "Không thể xem trước"
|
||||
update: "Cập nhật"
|
||||
later: "Để sau"
|
||||
goToMisskey: "Tới Misskey"
|
||||
installed: "Đã tải xuống"
|
||||
branding: "Thương hiệu"
|
||||
turnOffToImprovePerformance: "Tắt mục này có thể cải thiện hiệu năng."
|
||||
createInviteCode: "Tạo lời mời"
|
||||
createWithOptions: "Tạo cùng tùy chọn"
|
||||
createCount: "Số lượng mời"
|
||||
inviteCodeCreated: "Lời mời đã được tạo"
|
||||
inviteLimitExceeded: "Bạn đã vượt quá số lượng mời mà bạn có thể tạo."
|
||||
createLimitRemaining: "Giới hạn lượt mời: Còn lại {limit}"
|
||||
inviteLimitResetCycle: "Giới hạn này sẽ được đặt lại về {limit} lúc {time}."
|
||||
expirationDate: "Ngày hết hạn"
|
||||
noExpirationDate: "Vô thời hạn"
|
||||
inviteCodeUsedAt: "Mã mời đã được sử dụng lúc"
|
||||
registeredUserUsingInviteCode: "Lời mời đã được sử dụng bởi"
|
||||
waitingForMailAuth: "Đang chờ xác nhận email"
|
||||
inviteCodeCreator: "Lời mời đã được tạo bởi"
|
||||
usedAt: "Sử dụng vào lúc"
|
||||
unused: "Chưa được sử dụng"
|
||||
used: "Đã được sử dụng"
|
||||
expired: "Đã hết hạn"
|
||||
doYouAgree: "Đồng ý?"
|
||||
beSureToReadThisAsItIsImportant: "Hãy đọc kỹ vì nó rất quan trọng."
|
||||
iHaveReadXCarefullyAndAgree: "Tôi đã đọc và đồng ý với \"{x}\"."
|
||||
iHaveReadXCarefullyAndAgree: "Tôi đã đọc và đồng ý với \"x\"."
|
||||
dialog: "Hộp thoại"
|
||||
icon: "Ảnh đại diện"
|
||||
forYou: "Dành cho bạn"
|
||||
currentAnnouncements: "Thông báo hiện tại"
|
||||
pastAnnouncements: "Thông báo trước đó"
|
||||
youHaveUnreadAnnouncements: "Có thông báo chưa đọc."
|
||||
useSecurityKey: "Làm theo hướng dẫn trên trình duyệt hoặc thiết bị của bạn để sử dụng khóa bảo mật hoặc mật mã."
|
||||
replies: "Trả lời"
|
||||
renotes: "Đăng lại"
|
||||
loadReplies: "Hiển thị các trả lời"
|
||||
loadConversation: "Xem cuộc trò chuyện"
|
||||
pinnedList: "Các mục đã được ghim"
|
||||
keepScreenOn: "Giữ màn hình luôn bật"
|
||||
verifiedLink: "Chúng tôi đã xác nhận bạn là chủ sở hữu của đường dẫn này"
|
||||
authentication: "Xác thực"
|
||||
authenticationRequiredToContinue: "Vui lòng xác thực để tiếp tục"
|
||||
dateAndTime: "Ngày và giờ"
|
||||
edited: "Đã chỉnh sửa"
|
||||
notificationRecieveConfig: "Cài đặt thông báo"
|
||||
mutualFollow: "Theo dõi lẫn nhau"
|
||||
followingOrFollower: "Đang theo dõi hoặc người theo dõi"
|
||||
externalServices: "Các dịch vụ bên ngoài"
|
||||
sourceCode: "Mã nguồn"
|
||||
feedback: "Phản hồi"
|
||||
feedbackUrl: "URL phản hồi"
|
||||
privacyPolicy: "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"
|
||||
avatarDecorations: "Trang trí ảnh đại diện"
|
||||
attach: "Mặc"
|
||||
detach: "Bỏ"
|
||||
detachAll: "Bỏ tất cả"
|
||||
angle: "Góc"
|
||||
flip: "Lật"
|
||||
showAvatarDecorations: "Hiển thị trang trí ảnh đại diện"
|
||||
releaseToRefresh: "Thả để làm mới"
|
||||
refreshing: "Đang làm mới"
|
||||
pullDownToRefresh: "Kéo xuống để làm mới"
|
||||
cwNotationRequired: "Nếu \"Ẩn nội dung\" được bật thì cần phải có chú thích."
|
||||
lastNDays: "{n} ngày trước"
|
||||
surrender: "Từ chối"
|
||||
_delivery:
|
||||
stop: "Đã vô hiệu hóa"
|
||||
_type:
|
||||
none: "Đang đăng"
|
||||
_announcement:
|
||||
forExistingUsers: "Chỉ những người dùng đã tồn tại"
|
||||
forExistingUsersDescription: "Nếu được bật, thông báo này sẽ chỉ hiển thị với những người dùng đã tồn tại vào lúc thông báo được tạo. Nếu tắt đi, những tài khoản mới đăng ký sau khi thông báo được đăng lên cũng sẽ thấy nó."
|
||||
|
@ -1288,7 +1207,7 @@ _achievements:
|
|||
_iLoveMisskey:
|
||||
title: "Tôi Yêu Misskey"
|
||||
description: "Đăng lời nói \"I ❤ #Misskey\""
|
||||
flavor: "Xin chân thành cảm ơn bạn đã sử dụng Misskey!! by Đội ngũ phát triển"
|
||||
flavor: "Xin chân thành cảm ơn bạn đã sử dụng Misskey!! by Đội ngũ phát triển"
|
||||
_foundTreasure:
|
||||
title: "Tìm kiếm kho báu"
|
||||
description: "Tìm thấy được những kho báu cất giấu"
|
||||
|
@ -1329,7 +1248,7 @@ _achievements:
|
|||
description: "Bấm chỗ này"
|
||||
_justPlainLucky:
|
||||
title: "Chỉ là một cuộc máy mắn"
|
||||
description: "Mỗi 10 giây thu nhận được với tỷ lệ 0.005%"
|
||||
description: "Mỗi 10 giây thu nhận được với tỷ lệ 0.005%"
|
||||
_setNameToSyuilo:
|
||||
title: "Ngưỡng mộ với vị thần"
|
||||
description: "Đạt tên là syuilo"
|
||||
|
@ -1356,7 +1275,6 @@ _role:
|
|||
ltlAvailable: "Xem Timeline trong máy chủ này"
|
||||
canPublicNote: "Cho phép đăng bài công khai"
|
||||
canManageCustomEmojis: "Quản lý CustomEmoji"
|
||||
canManageAvatarDecorations: "Quản lý trang trí ảnh đại diện"
|
||||
driveCapacity: "Dữ liệu Drive"
|
||||
pinMax: "Giới hạn ghim bài viết"
|
||||
antennaMax: "Giới hạn tạo ăng ten"
|
||||
|
@ -1483,7 +1401,7 @@ _wordMute:
|
|||
muteWordsDescription: "Separate with spaces for an AND condition or with line breaks for an OR condition."
|
||||
muteWordsDescription2: "Bao quanh các từ khóa bằng dấu gạch chéo để sử dụng cụm từ thông dụng."
|
||||
_instanceMute:
|
||||
instanceMuteDescription: "Thao tác này sẽ ẩn mọi tút/lượt đăng lại từ các máy chủ được liệt kê, bao gồm cả những tút dạng trả lời từ máy chủ bị ẩn."
|
||||
instanceMuteDescription: "Thao tác này sẽ ẩn mọi tút/lượt đăng lại từ các máy chủ được liệt kê, bao gồm cả những tút dạng trả lời từ máy chủ bị ẩn."
|
||||
instanceMuteDescription2: "Tách bằng cách xuống dòng"
|
||||
title: "Ẩn tút từ những máy chủ đã liệt kê."
|
||||
heading: "Danh sách những máy chủ bị ẩn"
|
||||
|
@ -1562,6 +1480,8 @@ _sfx:
|
|||
note: "Tút"
|
||||
noteMy: "Tút của tôi"
|
||||
notification: "Thông báo"
|
||||
antenna: "Trạm phát sóng"
|
||||
channel: "Kênh"
|
||||
_ago:
|
||||
future: "Tương lai"
|
||||
justNow: "Vừa xong"
|
||||
|
@ -1583,6 +1503,7 @@ _2fa:
|
|||
registerTOTP: "Đăng ký ứng dụng xác thực"
|
||||
step1: "Trước tiên, hãy cài đặt một ứng dụng xác minh (chẳng hạn như {a} hoặc {b}) trên thiết bị của bạn."
|
||||
step2: "Sau đó, quét mã QR hiển thị trên màn hình này."
|
||||
step2Click: "Quét mã QR trên ứng dụng xác thực (Authy, Google authenticator, v.v.)"
|
||||
step3Title: "Nhập mã xác thực"
|
||||
step3: "Nhập mã token do ứng dụng của bạn cung cấp để hoàn tất thiết lập."
|
||||
step4: "Kể từ bây giờ, những lần đăng nhập trong tương lai sẽ yêu cầu mã token đăng nhập đó."
|
||||
|
@ -1748,7 +1669,6 @@ _profile:
|
|||
_exportOrImport:
|
||||
allNotes: "Toàn bộ tút"
|
||||
favoritedNotes: "Bài viết đã thích"
|
||||
clips: "Lưu bài viết"
|
||||
followingList: "Đang theo dõi"
|
||||
muteList: "Ẩn"
|
||||
blockingList: "Chặn"
|
||||
|
@ -1864,7 +1784,7 @@ _notification:
|
|||
youReceivedFollowRequest: "Bạn vừa có một yêu cầu theo dõi"
|
||||
yourFollowRequestAccepted: "Yêu cầu theo dõi của bạn đã được chấp nhận"
|
||||
pollEnded: "Cuộc bình chọn đã kết thúc"
|
||||
unreadAntennaNote: "Ăng ten {name}"
|
||||
unreadAntennaNote: "Ăng ten"
|
||||
emptyPushNotificationMessage: "Đã cập nhật thông báo đẩy"
|
||||
achievementEarned: "Hoàn thành Achievement"
|
||||
_types:
|
||||
|
@ -1918,17 +1838,11 @@ _webhookSettings:
|
|||
createWebhook: "Tạo Webhook"
|
||||
name: "Tên"
|
||||
secret: "Mã bí mật"
|
||||
events: "Sự kiện Webhook"
|
||||
active: "Đã bật"
|
||||
_events:
|
||||
reaction: "Khi nhận được sự kiện"
|
||||
mention: "Khi có người nhắc tới bạn"
|
||||
_abuseReport:
|
||||
_notificationRecipient:
|
||||
_recipientType:
|
||||
mail: "Email"
|
||||
_moderationLogTypes:
|
||||
suspend: "Vô hiệu hóa"
|
||||
resetPassword: "Đặt lại mật khẩu"
|
||||
createInvitation: "Tạo lời mời"
|
||||
_reversi:
|
||||
total: "Tổng cộng"
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
1
misskey-assets
Submodule
1
misskey-assets
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 0179793ec891856d6f37a3be16ba4c22f67a81b5
|
47
package.json
47
package.json
|
@ -1,19 +1,16 @@
|
|||
{
|
||||
"name": "egirlskey",
|
||||
"version": "2024.9.3",
|
||||
"codename": "boobdog",
|
||||
"name": "sharkey",
|
||||
"version": "2023.12.1+egirls.0",
|
||||
"codename": "shonk",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://gitdab.com/heartles/egirlskey"
|
||||
"url": "https://git.joinsharkey.org/Sharkey/Sharkey.git"
|
||||
},
|
||||
"packageManager": "pnpm@9.6.0",
|
||||
"packageManager": "pnpm@8.12.1",
|
||||
"workspaces": [
|
||||
"packages/frontend",
|
||||
"packages/backend",
|
||||
"packages/sw",
|
||||
"packages/misskey-js",
|
||||
"packages/misskey-reversi",
|
||||
"packages/misskey-bubble-game"
|
||||
"packages/sw"
|
||||
],
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
@ -21,8 +18,8 @@
|
|||
"build-assets": "node ./scripts/build-assets.mjs",
|
||||
"build": "pnpm build-pre && pnpm -r build && pnpm build-assets",
|
||||
"build-storybook": "pnpm --filter frontend build-storybook",
|
||||
"build-misskey-js-with-types": "pnpm build-pre && pnpm --filter backend... --filter=!misskey-js build && pnpm --filter backend generate-api-json --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 && MK_WARNED_ABOUT_CONFIG=true node ./built/boot/entry.js",
|
||||
"build-misskey-js-with-types": "pnpm --filter backend build && pnpm --filter backend generate-api-json && ncp packages/backend/built/api.json packages/misskey-js/generator/api.json && pnpm --filter misskey-js update-autogen-code && pnpm --filter misskey-js build && pnpm --filter misskey-js api",
|
||||
"start": "pnpm check:connect && cd packages/backend && node ./built/boot/entry.js",
|
||||
"start:test": "cd packages/backend && cross-env NODE_ENV=test node ./built/boot/entry.js",
|
||||
"init": "pnpm migrate",
|
||||
"migrate": "cd packages/backend && pnpm migrate",
|
||||
|
@ -48,28 +45,20 @@
|
|||
"lodash": "4.17.21"
|
||||
},
|
||||
"dependencies": {
|
||||
"cssnano": "6.1.2",
|
||||
"execa": "8.0.1",
|
||||
"fast-glob": "3.3.2",
|
||||
"ignore-walk": "6.0.5",
|
||||
"cssnano": "6.0.2",
|
||||
"js-yaml": "4.1.0",
|
||||
"postcss": "8.4.40",
|
||||
"tar": "6.2.1",
|
||||
"terser": "5.31.3",
|
||||
"typescript": "5.5.4",
|
||||
"esbuild": "0.23.0",
|
||||
"glob": "11.0.0"
|
||||
"postcss": "8.4.32",
|
||||
"terser": "5.26.0",
|
||||
"typescript": "5.3.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@misskey-dev/eslint-plugin": "2.0.3",
|
||||
"@types/node": "20.14.12",
|
||||
"@typescript-eslint/eslint-plugin": "7.17.0",
|
||||
"@typescript-eslint/parser": "7.17.0",
|
||||
"@typescript-eslint/eslint-plugin": "6.14.0",
|
||||
"@typescript-eslint/parser": "6.14.0",
|
||||
"cross-env": "7.0.3",
|
||||
"cypress": "13.13.1",
|
||||
"eslint": "9.8.0",
|
||||
"globals": "15.8.0",
|
||||
"ncp": "2.0.0",
|
||||
"start-server-and-test": "2.0.4"
|
||||
"cypress": "13.6.1",
|
||||
"eslint": "8.56.0",
|
||||
"start-server-and-test": "2.0.3",
|
||||
"ncp": "2.0.0"
|
||||
}
|
||||
}
|
||||
|
|
4
packages/backend/.eslintignore
Normal file
4
packages/backend/.eslintignore
Normal file
|
@ -0,0 +1,4 @@
|
|||
node_modules
|
||||
/built
|
||||
/.eslintrc.js
|
||||
/@types/**/*
|
32
packages/backend/.eslintrc.cjs
Normal file
32
packages/backend/.eslintrc.cjs
Normal file
|
@ -0,0 +1,32 @@
|
|||
module.exports = {
|
||||
parserOptions: {
|
||||
tsconfigRootDir: __dirname,
|
||||
project: ['./tsconfig.json', './test/tsconfig.json'],
|
||||
},
|
||||
extends: [
|
||||
'../shared/.eslintrc.js',
|
||||
],
|
||||
rules: {
|
||||
'import/order': ['warn', {
|
||||
'groups': ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object', 'type'],
|
||||
'pathGroups': [
|
||||
{
|
||||
'pattern': '@/**',
|
||||
'group': 'external',
|
||||
'position': 'after'
|
||||
}
|
||||
],
|
||||
}],
|
||||
'no-restricted-globals': [
|
||||
'error',
|
||||
{
|
||||
'name': '__dirname',
|
||||
'message': 'Not in ESModule. Use `import.meta.url` instead.'
|
||||
},
|
||||
{
|
||||
'name': '__filename',
|
||||
'message': 'Not in ESModule. Use `import.meta.url` instead.'
|
||||
}
|
||||
]
|
||||
},
|
||||
};
|
|
@ -19,6 +19,5 @@
|
|||
},
|
||||
"target": "es2022"
|
||||
},
|
||||
"minify": false,
|
||||
"sourceMaps": "inline"
|
||||
"minify": false
|
||||
}
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Misskey API</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style>
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<script
|
||||
id="api-reference"
|
||||
data-url="/api.json"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/@scalar/api-reference"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<font id="custom-sharkey-icons" horiz-adv-x="512">
|
||||
<font-face font-family="custom-sharkey-icons" units-per-em="512" ascent="480" descent="-32"/>
|
||||
<missing-glyph horiz-adv-x="512" />
|
||||
|
||||
<glyph glyph-name="shark" unicode="a" d="M469 171l0-43-42 0c-30 0-60 9-86 21-53-27-117-27-170 0-26-12-56-21-86-21l-42 0 0 43 42 0c30 0 60 10 86 27 51-36 119-36 170 0 26-17 56-27 86-27z m-356 47c11 3 23 9 34 16l24 16c14 49 16 107-9 174 93-16 177-97 209-193 16-10 32-16 48-17-30 140-155 255-291 255-7 0-14-4-18-10-4-6-4-14-1-21 46-92 32-167 4-220m228-105c-51-36-119-36-170 0-26-17-56-28-86-28l-42 0 0-42 42 0c30 0 60 8 86 21 53-28 117-28 170 0 26-13 56-21 86-21l42 0 0 42-42 0c-30 0-60 11-86 28z"/>
|
||||
<glyph glyph-name="misskey" unicode="b" d="M190 152c-22 0-41 13-50 29-5 7-14 9-15 0l0-43c0-17-6-32-18-45-12-12-27-18-45-18-17 0-31 6-44 18-12 13-18 28-18 45l0 236c0 13 4 26 11 36 8 11 18 19 30 24 7 2 14 3 21 3 20 0 36-7 49-22l63-75c2-1 6-10 16-10 10 0 15 9 16 10l64 75c13 15 29 22 48 22 7 0 14-1 22-3 12-5 21-12 29-24 8-10 12-23 12-36l0-236c0-17-6-32-19-45-12-12-27-18-44-18-17 0-32 6-45 18-12 13-18 28-18 45l0 43c-1 12-11 4-15 0-9-18-28-29-50-29z m268 176c-15 0-28 6-39 16-10 11-15 24-15 39 0 15 5 28 15 38 11 11 24 16 39 16 14 0 27-5 38-16 11-10 16-23 16-38 0-15-5-28-16-39-11-10-24-16-38-16z m0-10c15 0 28-6 38-17 11-10 16-23 16-39l0-133c0-15-5-28-16-39-10-10-23-15-38-15-15 0-28 5-38 15-11 11-16 24-16 39l0 133c0 16 5 29 16 39 10 11 23 17 38 17z"/>
|
||||
</font></defs></svg>
|
After Width: | Height: | Size: 1.6 KiB |
Binary file not shown.
Binary file not shown.
|
@ -1,30 +0,0 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<font id="shark-font" horiz-adv-x="512">
|
||||
<font-face font-family="shark-font"
|
||||
units-per-em="512" ascent="512"
|
||||
descent="0" />
|
||||
<missing-glyph horiz-adv-x="0" />
|
||||
<glyph glyph-name="foldermove"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d="M74 429C63 425 54 415 52 403C52 400 51 369 52 323V248L68 249H83V292L84 335H431V114H84V207H52V157C52 108 52 107 54 102C56 95 64 87 71 85L76 83H441L445 85Q455.5 91 460 100L462 105V344L459 349C456 356 451 361 444 364L439 367H264L235 396C211 420 205 425 201 427L196 430H137C91 430 76 430 74 429M203 383L219 367H84V399H187zM166 303C160 300 157 294 159 289C160 287 168 277 185 261L209 237H122C40 237 34 237 32 236S28 233 27 232C25 229 25 229 25 126C25 26 25 23 27 21C32 13 44 14 47 24C47 26 48 62 48 121V215H128C172 215 208 215 208 214C208 214 197 203 184 189C157 162 156 162 160 155C162 150 168 147 173 149C174 150 191 166 211 185C249 223 248 223 247 229C246 232 177 302 173 303C171 304 168 304 166 303" />
|
||||
<glyph glyph-name="foldermove-1"
|
||||
unicode="foldermove"
|
||||
horiz-adv-x="512" d="M74 429C63 425 54 415 52 403C52 400 51 369 52 323V248L68 249H83V292L84 335H431V114H84V207H52V157C52 108 52 107 54 102C56 95 64 87 71 85L76 83H441L445 85Q455.5 91 460 100L462 105V344L459 349C456 356 451 361 444 364L439 367H264L235 396C211 420 205 425 201 427L196 430H137C91 430 76 430 74 429M203 383L219 367H84V399H187zM166 303C160 300 157 294 159 289C160 287 168 277 185 261L209 237H122C40 237 34 237 32 236S28 233 27 232C25 229 25 229 25 126C25 26 25 23 27 21C32 13 44 14 47 24C47 26 48 62 48 121V215H128C172 215 208 215 208 214C208 214 197 203 184 189C157 162 156 162 160 155C162 150 168 147 173 149C174 150 191 166 211 185C249 223 248 223 247 229C246 232 177 302 173 303C171 304 168 304 166 303" />
|
||||
<glyph glyph-name="misskey"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d="M190 152C168 152 149 165 140 181C135 188 126 190 125 181V138Q125 112.5 107 93Q89 75 62 75C45 75 31 81 18 93Q0 112.5 0 138V374C0 387 4 400 11 410Q23 426.5 41 434Q51.5 437 62 437C82 437 98 430 111 415L174 340C176 339 180 330 190 330S205 339 206 340L270 415C283 430 299 437 318 437C325 437 332 436 340 434C352 429 361 422 369 410C377 400 381 387 381 374V138C381 121 375 106 362 93C350 81 335 75 318 75Q292.5 75 273 93Q255 112.5 255 138V181C254 193 244 185 240 181C231 163 212 152 190 152M458 328C443 328 430 334 419 344Q404 360.5 404 383C404 398 409 411 419 421C430 432 443 437 458 437C472 437 485 432 496 421C507 411 512 398 512 383S507 355 496 344C485 334 472 328 458 328M458 318C473 318 486 312 496 301C507 291 512 278 512 262V129C512 114 507 101 496 90C486 80 473 75 458 75S430 80 420 90C409 101 404 114 404 129V262C404 278 409 291 420 301C430 312 443 318 458 318" />
|
||||
<glyph glyph-name="misskey-1"
|
||||
unicode="misskey"
|
||||
horiz-adv-x="512" d="M190 152C168 152 149 165 140 181C135 188 126 190 125 181V138Q125 112.5 107 93Q89 75 62 75C45 75 31 81 18 93Q0 112.5 0 138V374C0 387 4 400 11 410Q23 426.5 41 434Q51.5 437 62 437C82 437 98 430 111 415L174 340C176 339 180 330 190 330S205 339 206 340L270 415C283 430 299 437 318 437C325 437 332 436 340 434C352 429 361 422 369 410C377 400 381 387 381 374V138C381 121 375 106 362 93C350 81 335 75 318 75Q292.5 75 273 93Q255 112.5 255 138V181C254 193 244 185 240 181C231 163 212 152 190 152M458 328C443 328 430 334 419 344Q404 360.5 404 383C404 398 409 411 419 421C430 432 443 437 458 437C472 437 485 432 496 421C507 411 512 398 512 383S507 355 496 344C485 334 472 328 458 328M458 318C473 318 486 312 496 301C507 291 512 278 512 262V129C512 114 507 101 496 90C486 80 473 75 458 75S430 80 420 90C409 101 404 114 404 129V262C404 278 409 291 420 301C430 312 443 318 458 318" />
|
||||
<glyph glyph-name="shark"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d="M469 171V128H427C397 128 367 137 341 149C288 122 224 122 171 149C145 137 115 128 85 128H43V171H85C115 171 145 181 171 198C222 162 290 162 341 198C367 181 397 171 427 171zM113 218C124 221 136 227 147 234L171 250C185 299 187 357 162 424C255 408 339 327 371 231C387 221 403 215 419 214C389 354 264 469 128 469C121 469 114 465 110 459S106 445 109 438C155 346 141 271 113 218M341 113C290 77 222 77 171 113C145 96 115 85 85 85H43V43H85C115 43 145 51 171 64C224 36 288 36 341 64C367 51 397 43 427 43H469V85H427C397 85 367 96 341 113" />
|
||||
<glyph glyph-name="shark-1"
|
||||
unicode="shark"
|
||||
horiz-adv-x="512" d="M469 171V128H427C397 128 367 137 341 149C288 122 224 122 171 149C145 137 115 128 85 128H43V171H85C115 171 145 181 171 198C222 162 290 162 341 198C367 181 397 171 427 171zM113 218C124 221 136 227 147 234L171 250C185 299 187 357 162 424C255 408 339 327 371 231C387 221 403 215 419 214C389 354 264 469 128 469C121 469 114 465 110 459S106 445 109 438C155 346 141 271 113 218M341 113C290 77 222 77 171 113C145 96 115 85 85 85H43V43H85C115 43 145 51 171 64C224 36 288 36 341 64C367 51 397 43 427 43H469V85H427C397 85 367 96 341 113" />
|
||||
</font>
|
||||
</defs>
|
||||
</svg>
|
Before Width: | Height: | Size: 5.1 KiB |
Binary file not shown.
Binary file not shown.
|
@ -1,114 +1,31 @@
|
|||
@charset "UTF-8";
|
||||
|
||||
@font-face {
|
||||
font-display: auto;
|
||||
font-family: "shark-font";
|
||||
font-style: normal;
|
||||
font-family: "custom-sharkey-icons";
|
||||
src: url("./custom-sharkey-icons.woff") format("woff"),
|
||||
url("./custom-sharkey-icons.ttf") format("truetype"),
|
||||
url("./custom-sharkey-icons.svg#custom-sharkey-icons") format("svg");
|
||||
font-weight: normal;
|
||||
|
||||
src: url("./shark-font.woff?1722899913909") format("woff"), url("./shark-font.ttf?1722899913909") format("truetype"), url("./shark-font.svg?1722899913909#shark-font") format("svg");
|
||||
font-style: normal;
|
||||
font-display: block;
|
||||
}
|
||||
|
||||
.sk-icons {
|
||||
display: inline-block;
|
||||
font-family: "shark-font";
|
||||
font-weight: normal;
|
||||
font-family: "custom-sharkey-icons" !important;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-rendering: auto;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
speak: none;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.sk-icons-lg {
|
||||
font-size: 1.33333em;
|
||||
line-height: 0.75em;
|
||||
vertical-align: -0.0667em;
|
||||
.sk-icons.sk-shark:before {
|
||||
content: "\61";
|
||||
}
|
||||
|
||||
.sk-icons-xs {
|
||||
font-size: 0.75em;
|
||||
.sk-icons.sk-misskey:before {
|
||||
content: "\62";
|
||||
}
|
||||
|
||||
.sk-icons-sm {
|
||||
font-size: 0.875em;
|
||||
}
|
||||
|
||||
.sk-icons-1x {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.sk-icons-2x {
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
.sk-icons-3x {
|
||||
font-size: 3em;
|
||||
}
|
||||
|
||||
.sk-icons-4x {
|
||||
font-size: 4em;
|
||||
}
|
||||
|
||||
.sk-icons-5x {
|
||||
font-size: 5em;
|
||||
}
|
||||
|
||||
.sk-icons-6x {
|
||||
font-size: 6em;
|
||||
}
|
||||
|
||||
.sk-icons-7x {
|
||||
font-size: 7em;
|
||||
}
|
||||
|
||||
.sk-icons-8x {
|
||||
font-size: 8em;
|
||||
}
|
||||
|
||||
.sk-icons-9x {
|
||||
font-size: 9em;
|
||||
}
|
||||
|
||||
.sk-icons-10x {
|
||||
font-size: 10em;
|
||||
}
|
||||
|
||||
.sk-icons-fw {
|
||||
text-align: center;
|
||||
width: 1.25em;
|
||||
}
|
||||
|
||||
.sk-icons-border {
|
||||
border: solid 0.08em #eee;
|
||||
border-radius: 0.1em;
|
||||
padding: 0.2em 0.25em 0.15em;
|
||||
}
|
||||
|
||||
.sk-icons-pull-left {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.sk-icons-pull-right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.sk-icons.sk-icons-pull-left {
|
||||
margin-right: 0.3em;
|
||||
}
|
||||
|
||||
.sk-icons.sk-icons-pull-right {
|
||||
margin-left: 0.3em;
|
||||
}
|
||||
|
||||
|
||||
.sk-icons.sk-foldermove::before {
|
||||
content: "\ea01";
|
||||
}
|
||||
|
||||
.sk-icons.sk-misskey::before {
|
||||
content: "\ea02";
|
||||
}
|
||||
|
||||
.sk-icons.sk-shark::before {
|
||||
content: "\ea03";
|
||||
}
|
24
packages/backend/assets/redoc.html
Normal file
24
packages/backend/assets/redoc.html
Normal file
|
@ -0,0 +1,24 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Sharkey API</title>
|
||||
<!-- needed for adaptive design -->
|
||||
<meta charset="utf-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link href="https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700" rel="stylesheet">
|
||||
|
||||
<!--
|
||||
ReDoc doesn't change outer page styles
|
||||
-->
|
||||
<style>
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<redoc spec-url="/api.json" expand-responses="200" expand-single-schema-field="true"></redoc>
|
||||
<script src="https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js"></script>
|
||||
</body>
|
||||
</html>
|
15
packages/backend/check_connect.js
Normal file
15
packages/backend/check_connect.js
Normal file
|
@ -0,0 +1,15 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: syuilo and other misskey contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
import Redis from 'ioredis';
|
||||
import { loadConfig } from './built/config.js';
|
||||
|
||||
const config = loadConfig();
|
||||
const redis = new Redis(config.redis);
|
||||
|
||||
redis.on('connect', () => redis.disconnect());
|
||||
redis.on('error', (e) => {
|
||||
throw e;
|
||||
});
|
|
@ -1,46 +0,0 @@
|
|||
import tsParser from '@typescript-eslint/parser';
|
||||
import sharedConfig from '../shared/eslint.config.js';
|
||||
|
||||
export default [
|
||||
...sharedConfig,
|
||||
{
|
||||
ignores: ['**/node_modules', 'built', '@types/**/*', 'migration'],
|
||||
},
|
||||
{
|
||||
files: ['**/*.ts', '**/*.tsx'],
|
||||
languageOptions: {
|
||||
parserOptions: {
|
||||
parser: tsParser,
|
||||
project: ['./tsconfig.json', './test/tsconfig.json'],
|
||||
sourceType: 'module',
|
||||
tsconfigRootDir: import.meta.dirname,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
'import/order': ['warn', {
|
||||
groups: [
|
||||
'builtin',
|
||||
'external',
|
||||
'internal',
|
||||
'parent',
|
||||
'sibling',
|
||||
'index',
|
||||
'object',
|
||||
'type',
|
||||
],
|
||||
pathGroups: [{
|
||||
pattern: '@/**',
|
||||
group: 'external',
|
||||
position: 'after',
|
||||
}],
|
||||
}],
|
||||
'no-restricted-globals': ['error', {
|
||||
name: '__dirname',
|
||||
message: 'Not in ESModule. Use `import.meta.url` instead.',
|
||||
}, {
|
||||
name: '__filename',
|
||||
message: 'Not in ESModule. Use `import.meta.url` instead.',
|
||||
}],
|
||||
},
|
||||
},
|
||||
];
|
8
packages/backend/generate_api_json.js
Normal file
8
packages/backend/generate_api_json.js
Normal file
|
@ -0,0 +1,8 @@
|
|||
import { loadConfig } from './built/config.js'
|
||||
import { genOpenapiSpec } from './built/server/api/openapi/gen-spec.js'
|
||||
import { writeFileSync } from "node:fs";
|
||||
|
||||
const config = loadConfig();
|
||||
const spec = genOpenapiSpec(config);
|
||||
|
||||
writeFileSync('./built/api.json', JSON.stringify(spec), 'utf-8');
|
|
@ -160,6 +160,7 @@ module.exports = {
|
|||
testMatch: [
|
||||
"<rootDir>/test/unit/**/*.ts",
|
||||
"<rootDir>/src/**/*.test.ts",
|
||||
"<rootDir>/test/e2e/**/*.ts",
|
||||
],
|
||||
|
||||
// An array of regexp pattern strings that are matched against all test paths, matched tests are skipped
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
/*
|
||||
* For a detailed explanation regarding each configuration property and type check, visit:
|
||||
* https://jestjs.io/docs/en/configuration.html
|
||||
*/
|
||||
|
||||
const base = require('./jest.config.cjs')
|
||||
|
||||
module.exports = {
|
||||
...base,
|
||||
globalSetup: "<rootDir>/built-test/entry.js",
|
||||
setupFilesAfterEnv: ["<rootDir>/test/jest.setup.ts"],
|
||||
testMatch: [
|
||||
"<rootDir>/test/e2e/**/*.ts",
|
||||
],
|
||||
};
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue