Compare commits
4 Commits
develop
...
chat-feder
| Author | SHA1 | Date |
|---|---|---|
|
|
d287d43c98 | |
|
|
b5f284aae3 | |
|
|
a1da2135eb | |
|
|
74b3c19c3f |
|
|
@ -105,54 +105,6 @@ port: 3000
|
||||||
# socket: /path/to/misskey.sock
|
# socket: /path/to/misskey.sock
|
||||||
# chmodSocket: '777'
|
# chmodSocket: '777'
|
||||||
|
|
||||||
# Proxy trust settings
|
|
||||||
#
|
|
||||||
# Specifies the IP addresses that Misskey will use as trusted
|
|
||||||
# reverse proxies (e.g., nginx, Cloudflare). This affects how
|
|
||||||
# Misskey determines the source IP for each request and is used
|
|
||||||
# for important rate limiting and security features. If the value
|
|
||||||
# is not set correctly, Misskey may use the IP address of the
|
|
||||||
# reverse proxy instead of the actual source IP, which may lead to
|
|
||||||
# unintended rate limiting or security vulnerabilities.
|
|
||||||
# By default, the loopback network and private network address
|
|
||||||
# ranges shown below are trusted.
|
|
||||||
# If you are using a single reverse proxy and it is on the same
|
|
||||||
# machine or the same private network as Misskey, it is unlikely you
|
|
||||||
# need to change this setting, and the default setting is fine.
|
|
||||||
# Also, if you are using multiple reverse proxy servers and they are
|
|
||||||
# all on the same private network as Misskey, the default setting
|
|
||||||
# is fine.
|
|
||||||
# However, if you are using a reverse proxy server that accesses
|
|
||||||
# Misskey web servers and streaming servers via public IP addresses
|
|
||||||
# (for example, Cloudflare), you must set this variable.
|
|
||||||
# When changing this setting, you can use one of the following values:
|
|
||||||
#
|
|
||||||
# - true: Trust all proxies
|
|
||||||
# - false: Do not trust any proxies
|
|
||||||
# - IP address, IP address range, or array of them: Trust hops that
|
|
||||||
# match the specified criteria.
|
|
||||||
# - Integer: Trust the nth hop from the front-facing proxy server as
|
|
||||||
# the client.
|
|
||||||
# For more information on how to configure this setting, please refer
|
|
||||||
# to the Fastify documentation:
|
|
||||||
# https://fastify.dev/docs/latest/Reference/Server/#trustproxy
|
|
||||||
#
|
|
||||||
# Note that if this variable is set, it overrides the default range,
|
|
||||||
# so if you have both an external reverse proxy and a proxy on the
|
|
||||||
# local host, you must include both IPs (or IP ranges).
|
|
||||||
#
|
|
||||||
#trustProxy:
|
|
||||||
# - '10.0.0.0/8'
|
|
||||||
# - '172.16.0.0/12'
|
|
||||||
# - '192.168.0.0/16'
|
|
||||||
# - '127.0.0.1/32'
|
|
||||||
# - '::1/128'
|
|
||||||
# - 'fc00::/7'
|
|
||||||
# # Example: If you are using some external reverse proxies like CDNs,
|
|
||||||
# # you may need to add the CDN IP ranges here.
|
|
||||||
# # If you're using Cloudflare, you can find IP Ranges at:
|
|
||||||
# # https://www.cloudflare.com/ips/
|
|
||||||
|
|
||||||
# ┌──────────────────────────┐
|
# ┌──────────────────────────┐
|
||||||
#───┘ PostgreSQL configuration └────────────────────────────────
|
#───┘ PostgreSQL configuration └────────────────────────────────
|
||||||
|
|
||||||
|
|
@ -321,10 +273,6 @@ id: 'aidx'
|
||||||
# Whether disable HSTS
|
# Whether disable HSTS
|
||||||
#disableHsts: true
|
#disableHsts: true
|
||||||
|
|
||||||
# Enable internal IP-based rate limiting (default: true)
|
|
||||||
# To configure them in reverse proxy instead, set this to false.
|
|
||||||
#enableIpRateLimit: true
|
|
||||||
|
|
||||||
# Number of worker processes
|
# Number of worker processes
|
||||||
#clusterLimit: 1
|
#clusterLimit: 1
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
FROM mcr.microsoft.com/devcontainers/javascript-node:4.0.3-24-trixie
|
FROM mcr.microsoft.com/devcontainers/javascript-node:0-18
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ services:
|
||||||
|
|
||||||
db:
|
db:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
image: postgres:18-alpine
|
image: postgres:15-alpine
|
||||||
networks:
|
networks:
|
||||||
- internal_network
|
- internal_network
|
||||||
environment:
|
environment:
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
Dockerfile
|
Dockerfile
|
||||||
build/
|
build/
|
||||||
built/
|
built/
|
||||||
src-js/
|
|
||||||
db/
|
db/
|
||||||
.devcontainer/compose.yml
|
.devcontainer/compose.yml
|
||||||
node_modules/
|
node_modules/
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,3 @@ trim_trailing_whitespace = false
|
||||||
|
|
||||||
[*.{yml,yaml}]
|
[*.{yml,yaml}]
|
||||||
indent_style = space
|
indent_style = space
|
||||||
|
|
||||||
[packages/backend/migration/*.js]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 4
|
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ body:
|
||||||
* Model and OS of the device(s): MacBook Pro (14inch, 2021), macOS Ventura 13.4
|
* Model and OS of the device(s): MacBook Pro (14inch, 2021), macOS Ventura 13.4
|
||||||
* Browser: Chrome 113.0.5672.126
|
* Browser: Chrome 113.0.5672.126
|
||||||
* Server URL: misskey.example.com
|
* Server URL: misskey.example.com
|
||||||
* Misskey: 2026.x.x
|
* Misskey: 2025.x.x
|
||||||
value: |
|
value: |
|
||||||
* Model and OS of the device(s):
|
* Model and OS of the device(s):
|
||||||
* Browser:
|
* Browser:
|
||||||
|
|
@ -74,9 +74,9 @@ body:
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
* Installation Method or Hosting Service: docker compose, k8s/docker, systemd, "Misskey install shell script", development environment
|
* Installation Method or Hosting Service: docker compose, k8s/docker, systemd, "Misskey install shell script", development environment
|
||||||
* Misskey: 2026.x.x
|
* Misskey: 2025.x.x
|
||||||
* Node: 20.x.x
|
* Node: 20.x.x
|
||||||
* PostgreSQL: 18.x.x
|
* PostgreSQL: 15.x.x
|
||||||
* Redis: 7.x.x
|
* Redis: 7.x.x
|
||||||
* OS and Architecture: Ubuntu 24.04.2 LTS aarch64
|
* OS and Architecture: Ubuntu 24.04.2 LTS aarch64
|
||||||
value: |
|
value: |
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
# Copilot Instructions for Misskey
|
|
||||||
|
|
||||||
- en-US.yml を編集しないでください。
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
22.15.0
|
20.10.0
|
||||||
|
|
|
||||||
|
|
@ -15,5 +15,3 @@ redis:
|
||||||
host: 127.0.0.1
|
host: 127.0.0.1
|
||||||
port: 56312
|
port: 56312
|
||||||
id: aidx
|
id: aidx
|
||||||
|
|
||||||
proxyRemoteFiles: true
|
|
||||||
|
|
|
||||||
|
|
@ -16,13 +16,13 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6.0.1
|
uses: actions/checkout@v4.2.2
|
||||||
|
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
|
|
||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v6.1.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.node-version'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,9 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout head
|
- name: Checkout head
|
||||||
uses: actions/checkout@v6.0.1
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v6.1.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.node-version'
|
node-version-file: '.node-version'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ jobs:
|
||||||
if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
|
if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v6.0.1
|
uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
|
|
@ -29,7 +29,7 @@ jobs:
|
||||||
|
|
||||||
- name: setup node
|
- name: setup node
|
||||||
id: setup-node
|
id: setup-node
|
||||||
uses: actions/setup-node@v6.1.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.node-version'
|
node-version-file: '.node-version'
|
||||||
cache: pnpm
|
cache: pnpm
|
||||||
|
|
@ -53,7 +53,7 @@ jobs:
|
||||||
|
|
||||||
# packages/misskey-js/generator/built/autogen
|
# packages/misskey-js/generator/built/autogen
|
||||||
- name: Upload Generated
|
- name: Upload Generated
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: generated-misskey-js
|
name: generated-misskey-js
|
||||||
path: packages/misskey-js/generator/built/autogen
|
path: packages/misskey-js/generator/built/autogen
|
||||||
|
|
@ -66,14 +66,14 @@ jobs:
|
||||||
if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
|
if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }}
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v6.0.1
|
uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
ref: refs/pull/${{ github.event.pull_request.number }}/merge
|
ref: refs/pull/${{ github.event.pull_request.number }}/merge
|
||||||
|
|
||||||
- name: Upload From Merged
|
- name: Upload From Merged
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: actual-misskey-js
|
name: actual-misskey-js
|
||||||
path: packages/misskey-js/src/autogen
|
path: packages/misskey-js/src/autogen
|
||||||
|
|
@ -86,13 +86,13 @@ jobs:
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
steps:
|
steps:
|
||||||
- name: download generated-misskey-js
|
- name: download generated-misskey-js
|
||||||
uses: actions/download-artifact@v7
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: generated-misskey-js
|
name: generated-misskey-js
|
||||||
path: misskey-js-generated
|
path: misskey-js-generated
|
||||||
|
|
||||||
- name: download actual-misskey-js
|
- name: download actual-misskey-js
|
||||||
uses: actions/download-artifact@v7
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: actual-misskey-js
|
name: actual-misskey-js
|
||||||
path: misskey-js-actual
|
path: misskey-js-actual
|
||||||
|
|
@ -113,9 +113,9 @@ jobs:
|
||||||
|
|
||||||
- name: send message
|
- name: send message
|
||||||
if: steps.check-changes.outputs.changes == 'true'
|
if: steps.check-changes.outputs.changes == 'true'
|
||||||
uses: thollander/actions-comment-pull-request@v3
|
uses: thollander/actions-comment-pull-request@v2
|
||||||
with:
|
with:
|
||||||
comment-tag: check-misskey-js-autogen
|
comment_tag: check-misskey-js-autogen
|
||||||
message: |-
|
message: |-
|
||||||
Thank you for sending us a great Pull Request! 👍
|
Thank you for sending us a great Pull Request! 👍
|
||||||
Please regenerate misskey-js type definitions! 🙏
|
Please regenerate misskey-js type definitions! 🙏
|
||||||
|
|
@ -127,9 +127,9 @@ jobs:
|
||||||
|
|
||||||
- name: send message
|
- name: send message
|
||||||
if: steps.check-changes.outputs.changes == 'false'
|
if: steps.check-changes.outputs.changes == 'false'
|
||||||
uses: thollander/actions-comment-pull-request@v3
|
uses: thollander/actions-comment-pull-request@v2
|
||||||
with:
|
with:
|
||||||
comment-tag: check-misskey-js-autogen
|
comment_tag: check-misskey-js-autogen
|
||||||
mode: delete
|
mode: delete
|
||||||
message: "Thank you!"
|
message: "Thank you!"
|
||||||
create_if_not_exists: false
|
create_if_not_exists: false
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6.0.1
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Check version
|
- name: Check version
|
||||||
run: |
|
run: |
|
||||||
if [ "$(jq -r '.version' package.json)" != "$(jq -r '.version' packages/misskey-js/package.json)" ]; then
|
if [ "$(jq -r '.version' package.json)" != "$(jq -r '.version' packages/misskey-js/package.json)" ]; then
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6.0.1
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Check
|
- name: Check
|
||||||
run: |
|
run: |
|
||||||
counter=0
|
counter=0
|
||||||
|
|
@ -50,7 +50,6 @@ jobs:
|
||||||
"packages/backend/test"
|
"packages/backend/test"
|
||||||
"packages/frontend-shared/@types"
|
"packages/frontend-shared/@types"
|
||||||
"packages/frontend-shared/js"
|
"packages/frontend-shared/js"
|
||||||
"packages/frontend-builder"
|
|
||||||
"packages/frontend/.storybook"
|
"packages/frontend/.storybook"
|
||||||
"packages/frontend/@types"
|
"packages/frontend/@types"
|
||||||
"packages/frontend/lib"
|
"packages/frontend/lib"
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ jobs:
|
||||||
check_copyright_year:
|
check_copyright_year:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
- run: |
|
- run: |
|
||||||
if [ "$(grep Copyright COPYING | sed -e 's/.*2014-\([0-9]*\) .*/\1/g')" -ne "$(date +%Y)" ]; then
|
if [ "$(grep Copyright COPYING | sed -e 's/.*2014-\([0-9]*\) .*/\1/g')" -ne "$(date +%Y)" ]; then
|
||||||
echo "Please change copyright year!"
|
echo "Please change copyright year!"
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ jobs:
|
||||||
wait_time: ${{ steps.get-wait-time.outputs.wait_time }}
|
wait_time: ${{ steps.get-wait-time.outputs.wait_time }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6.0.1
|
uses: actions/checkout@v4.2.2
|
||||||
|
|
||||||
- name: Check allowed users
|
- name: Check allowed users
|
||||||
id: check-allowed-users
|
id: check-allowed-users
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ jobs:
|
||||||
platform=${{ matrix.platform }}
|
platform=${{ matrix.platform }}
|
||||||
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
|
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
|
||||||
- name: Check out the repo
|
- name: Check out the repo
|
||||||
uses: actions/checkout@v6.0.1
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
- name: Log in to Docker Hub
|
- name: Log in to Docker Hub
|
||||||
|
|
@ -53,7 +53,7 @@ jobs:
|
||||||
digest="${{ steps.build.outputs.digest }}"
|
digest="${{ steps.build.outputs.digest }}"
|
||||||
touch "/tmp/digests/${digest#sha256:}"
|
touch "/tmp/digests/${digest#sha256:}"
|
||||||
- name: Upload digest
|
- name: Upload digest
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: digests-${{ env.PLATFORM_PAIR }}
|
name: digests-${{ env.PLATFORM_PAIR }}
|
||||||
path: /tmp/digests/*
|
path: /tmp/digests/*
|
||||||
|
|
@ -66,7 +66,7 @@ jobs:
|
||||||
- build
|
- build
|
||||||
steps:
|
steps:
|
||||||
- name: Download digests
|
- name: Download digests
|
||||||
uses: actions/download-artifact@v7
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
path: /tmp/digests
|
path: /tmp/digests
|
||||||
pattern: digests-*
|
pattern: digests-*
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ jobs:
|
||||||
platform=${{ matrix.platform }}
|
platform=${{ matrix.platform }}
|
||||||
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
|
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
|
||||||
- name: Check out the repo
|
- name: Check out the repo
|
||||||
uses: actions/checkout@v6.0.1
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
- name: Docker meta
|
- name: Docker meta
|
||||||
|
|
@ -64,7 +64,7 @@ jobs:
|
||||||
digest="${{ steps.build.outputs.digest }}"
|
digest="${{ steps.build.outputs.digest }}"
|
||||||
touch "/tmp/digests/${digest#sha256:}"
|
touch "/tmp/digests/${digest#sha256:}"
|
||||||
- name: Upload digest
|
- name: Upload digest
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: digests-${{ env.PLATFORM_PAIR }}
|
name: digests-${{ env.PLATFORM_PAIR }}
|
||||||
path: /tmp/digests/*
|
path: /tmp/digests/*
|
||||||
|
|
@ -77,7 +77,7 @@ jobs:
|
||||||
- build
|
- build
|
||||||
steps:
|
steps:
|
||||||
- name: Download digests
|
- name: Download digests
|
||||||
uses: actions/download-artifact@v7
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
path: /tmp/digests
|
path: /tmp/digests
|
||||||
pattern: digests-*
|
pattern: digests-*
|
||||||
|
|
|
||||||
|
|
@ -11,43 +11,22 @@ on:
|
||||||
jobs:
|
jobs:
|
||||||
dockle:
|
dockle:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
env:
|
env:
|
||||||
DOCKER_CONTENT_TRUST: 1
|
DOCKER_CONTENT_TRUST: 1
|
||||||
DOCKLE_VERSION: 0.4.15
|
DOCKLE_VERSION: 0.4.14
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
|
|
||||||
- name: Download and install dockle v${{ env.DOCKLE_VERSION }}
|
- name: Download and install dockle v${{ env.DOCKLE_VERSION }}
|
||||||
run: |
|
run: |
|
||||||
set -eux
|
|
||||||
curl -L -o dockle.deb "https://github.com/goodwithtech/dockle/releases/download/v${DOCKLE_VERSION}/dockle_${DOCKLE_VERSION}_Linux-64bit.deb"
|
curl -L -o dockle.deb "https://github.com/goodwithtech/dockle/releases/download/v${DOCKLE_VERSION}/dockle_${DOCKLE_VERSION}_Linux-64bit.deb"
|
||||||
sudo dpkg -i dockle.deb
|
sudo dpkg -i dockle.deb
|
||||||
|
- run: |
|
||||||
- name: Build web image (docker build)
|
cp .config/docker_example.env .config/docker.env
|
||||||
run: |
|
cp ./compose_example.yml ./compose.yml
|
||||||
set -eux
|
- run: |
|
||||||
docker build -t "misskey-web:ci" .
|
docker compose up -d web
|
||||||
docker image ls
|
docker tag "$(docker compose images web | awk 'OFS=":" {print $4}' | tail -n +2)" misskey-web:latest
|
||||||
|
- run: |
|
||||||
- name: Mount tmpfs for Dockle tar
|
cmd="dockle --exit-code 1 misskey-web:latest ${image_name}"
|
||||||
env:
|
echo "> ${cmd}"
|
||||||
TMPFS_SIZE: 8G
|
eval "${cmd}"
|
||||||
run: |
|
|
||||||
set -eux
|
|
||||||
sudo mkdir -p /mnt/dockle-tmp
|
|
||||||
sudo mount -t tmpfs -o size=${{ env.TMPFS_SIZE }} tmpfs /mnt/dockle-tmp
|
|
||||||
free -h
|
|
||||||
df -h
|
|
||||||
|
|
||||||
- name: Save image tar into tmpfs
|
|
||||||
run: |
|
|
||||||
set -eux
|
|
||||||
docker save misskey-web:ci -o /mnt/dockle-tmp/misskey-web.tar
|
|
||||||
ls -lh /mnt/dockle-tmp/misskey-web.tar
|
|
||||||
|
|
||||||
- name: Run Dockle Scan (tar input)
|
|
||||||
run: |
|
|
||||||
set -eux
|
|
||||||
dockle --exit-code 1 --input /mnt/dockle-tmp/misskey-web.tar
|
|
||||||
|
|
|
||||||
|
|
@ -25,14 +25,14 @@ jobs:
|
||||||
ref: refs/pull/${{ github.event.number }}/merge
|
ref: refs/pull/${{ github.event.number }}/merge
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
ref: ${{ matrix.ref }}
|
ref: ${{ matrix.ref }}
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v6.1.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.node-version'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
@ -48,7 +48,7 @@ jobs:
|
||||||
- name: Copy API.json
|
- name: Copy API.json
|
||||||
run: cp packages/backend/built/api.json ${{ matrix.api-json-name }}
|
run: cp packages/backend/built/api.json ${{ matrix.api-json-name }}
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: api-artifact-${{ matrix.api-json-name }}
|
name: api-artifact-${{ matrix.api-json-name }}
|
||||||
path: ${{ matrix.api-json-name }}
|
path: ${{ matrix.api-json-name }}
|
||||||
|
|
@ -61,7 +61,7 @@ jobs:
|
||||||
PR_NUMBER: ${{ github.event.number }}
|
PR_NUMBER: ${{ github.event.number }}
|
||||||
run: |
|
run: |
|
||||||
echo "$PR_NUMBER" > ./pr_number
|
echo "$PR_NUMBER" > ./pr_number
|
||||||
- uses: actions/upload-artifact@v6
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: api-artifact-pr-number
|
name: api-artifact-pr-number
|
||||||
path: pr_number
|
path: pr_number
|
||||||
|
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
# this name is used in report-backend-memory.yml so be careful when change name
|
|
||||||
name: Get backend memory usage
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- develop
|
|
||||||
paths:
|
|
||||||
- packages/backend/**
|
|
||||||
- packages/misskey-js/**
|
|
||||||
- .github/workflows/get-backend-memory.yml
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
get-memory-usage:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
memory-json-name: [memory-base.json, memory-head.json]
|
|
||||||
include:
|
|
||||||
- memory-json-name: memory-base.json
|
|
||||||
ref: ${{ github.base_ref }}
|
|
||||||
- memory-json-name: memory-head.json
|
|
||||||
ref: refs/pull/${{ github.event.number }}/merge
|
|
||||||
|
|
||||||
services:
|
|
||||||
postgres:
|
|
||||||
image: postgres:18
|
|
||||||
ports:
|
|
||||||
- 54312:5432
|
|
||||||
env:
|
|
||||||
POSTGRES_DB: test-misskey
|
|
||||||
POSTGRES_HOST_AUTH_METHOD: trust
|
|
||||||
redis:
|
|
||||||
image: redis:7
|
|
||||||
ports:
|
|
||||||
- 56312:6379
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v6.0.1
|
|
||||||
with:
|
|
||||||
ref: ${{ matrix.ref }}
|
|
||||||
submodules: true
|
|
||||||
- name: Setup pnpm
|
|
||||||
uses: pnpm/action-setup@v4.2.0
|
|
||||||
- name: Use Node.js
|
|
||||||
uses: actions/setup-node@v6.1.0
|
|
||||||
with:
|
|
||||||
node-version-file: '.node-version'
|
|
||||||
cache: 'pnpm'
|
|
||||||
- run: pnpm i --frozen-lockfile
|
|
||||||
- name: Check pnpm-lock.yaml
|
|
||||||
run: git diff --exit-code pnpm-lock.yaml
|
|
||||||
- name: Copy Configure
|
|
||||||
run: cp .github/misskey/test.yml .config/default.yml
|
|
||||||
- name: Compile Configure
|
|
||||||
run: pnpm compile-config
|
|
||||||
- name: Build
|
|
||||||
run: pnpm build
|
|
||||||
- name: Run migrations
|
|
||||||
run: pnpm --filter backend migrate
|
|
||||||
- name: Measure memory usage
|
|
||||||
run: |
|
|
||||||
# Start the server and measure memory usage
|
|
||||||
node packages/backend/scripts/measure-memory.mjs > ${{ matrix.memory-json-name }}
|
|
||||||
- name: Upload Artifact
|
|
||||||
uses: actions/upload-artifact@v6
|
|
||||||
with:
|
|
||||||
name: memory-artifact-${{ matrix.memory-json-name }}
|
|
||||||
path: ${{ matrix.memory-json-name }}
|
|
||||||
|
|
||||||
save-pr-number:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions: {}
|
|
||||||
steps:
|
|
||||||
- name: Save PR number
|
|
||||||
env:
|
|
||||||
PR_NUMBER: ${{ github.event.number }}
|
|
||||||
run: |
|
|
||||||
echo "$PR_NUMBER" > ./pr_number
|
|
||||||
- uses: actions/upload-artifact@v6
|
|
||||||
with:
|
|
||||||
name: memory-artifact-pr-number
|
|
||||||
path: pr_number
|
|
||||||
|
|
@ -11,6 +11,6 @@ jobs:
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/labeler@v6
|
- uses: actions/labeler@v5
|
||||||
with:
|
with:
|
||||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ on:
|
||||||
- packages/backend/**
|
- packages/backend/**
|
||||||
- packages/frontend/**
|
- packages/frontend/**
|
||||||
- packages/frontend-shared/**
|
- packages/frontend-shared/**
|
||||||
- packages/frontend-builder/**
|
|
||||||
- packages/frontend-embed/**
|
- packages/frontend-embed/**
|
||||||
- packages/icons-subsetter/**
|
- packages/icons-subsetter/**
|
||||||
- packages/sw/**
|
- packages/sw/**
|
||||||
|
|
@ -23,7 +22,6 @@ on:
|
||||||
- packages/backend/**
|
- packages/backend/**
|
||||||
- packages/frontend/**
|
- packages/frontend/**
|
||||||
- packages/frontend-shared/**
|
- packages/frontend-shared/**
|
||||||
- packages/frontend-builder/**
|
|
||||||
- packages/frontend-embed/**
|
- packages/frontend-embed/**
|
||||||
- packages/icons-subsetter/**
|
- packages/icons-subsetter/**
|
||||||
- packages/sw/**
|
- packages/sw/**
|
||||||
|
|
@ -36,13 +34,13 @@ jobs:
|
||||||
pnpm_install:
|
pnpm_install:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- uses: actions/setup-node@v6.1.0
|
- uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.node-version'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
@ -58,7 +56,6 @@ jobs:
|
||||||
- backend
|
- backend
|
||||||
- frontend
|
- frontend
|
||||||
- frontend-shared
|
- frontend-shared
|
||||||
- frontend-builder
|
|
||||||
- frontend-embed
|
- frontend-embed
|
||||||
- icons-subsetter
|
- icons-subsetter
|
||||||
- sw
|
- sw
|
||||||
|
|
@ -69,19 +66,19 @@ jobs:
|
||||||
eslint-cache-version: v1
|
eslint-cache-version: v1
|
||||||
eslint-cache-path: ${{ github.workspace }}/node_modules/.cache/eslint-${{ matrix.workspace }}
|
eslint-cache-path: ${{ github.workspace }}/node_modules/.cache/eslint-${{ matrix.workspace }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- uses: actions/setup-node@v6.1.0
|
- uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.node-version'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
- run: pnpm i --frozen-lockfile
|
- run: pnpm i --frozen-lockfile
|
||||||
- name: Restore eslint cache
|
- name: Restore eslint cache
|
||||||
uses: actions/cache@v4.3.0
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: ${{ env.eslint-cache-path }}
|
path: ${{ env.eslint-cache-path }}
|
||||||
key: eslint-${{ env.eslint-cache-version }}-${{ matrix.workspace }}-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.ref_name }}-${{ github.sha }}
|
key: eslint-${{ env.eslint-cache-version }}-${{ matrix.workspace }}-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.ref_name }}-${{ github.sha }}
|
||||||
|
|
@ -96,20 +93,22 @@ jobs:
|
||||||
matrix:
|
matrix:
|
||||||
workspace:
|
workspace:
|
||||||
- backend
|
- backend
|
||||||
- frontend
|
|
||||||
- sw
|
- sw
|
||||||
- misskey-js
|
- misskey-js
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- uses: actions/setup-node@v6.1.0
|
- uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.node-version'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
- run: pnpm i --frozen-lockfile
|
- run: pnpm i --frozen-lockfile
|
||||||
- run: pnpm --filter "${{ matrix.workspace }}^..." run build
|
- run: pnpm --filter misskey-js run build
|
||||||
|
if: ${{ matrix.workspace == 'backend' || matrix.workspace == 'sw' }}
|
||||||
|
- run: pnpm --filter misskey-reversi run build
|
||||||
|
if: ${{ matrix.workspace == 'backend' }}
|
||||||
- run: pnpm --filter ${{ matrix.workspace }} run typecheck
|
- run: pnpm --filter ${{ matrix.workspace }} run typecheck
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,10 @@ name: Lint
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
paths:
|
paths:
|
||||||
- packages/i18n/**
|
|
||||||
- locales/**
|
- locales/**
|
||||||
- .github/workflows/locale.yml
|
- .github/workflows/locale.yml
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- packages/i18n/**
|
|
||||||
- locales/**
|
- locales/**
|
||||||
- .github/workflows/locale.yml
|
- .github/workflows/locale.yml
|
||||||
jobs:
|
jobs:
|
||||||
|
|
@ -16,18 +14,15 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- uses: actions/setup-node@v6.1.0
|
- uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: ".node-version"
|
node-version-file: '.node-version'
|
||||||
cache: "pnpm"
|
cache: 'pnpm'
|
||||||
- run: pnpm i --frozen-lockfile
|
- run: pnpm i --frozen-lockfile
|
||||||
- run: pnpm --filter i18n build
|
- run: cd locales && node verify.js
|
||||||
- name: Verify Locales
|
|
||||||
working-directory: ./packages/i18n
|
|
||||||
run: pnpm run verify
|
|
||||||
|
|
|
||||||
|
|
@ -16,13 +16,13 @@ jobs:
|
||||||
id-token: write
|
id-token: write
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v6.1.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.node-version'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ jobs:
|
||||||
edit:
|
edit:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v4
|
||||||
# headが$GITHUB_REF_NAME, baseが$STABLE_BRANCHかつopenのPRを1つ取得
|
# headが$GITHUB_REF_NAME, baseが$STABLE_BRANCHかつopenのPRを1つ取得
|
||||||
- name: Get PR
|
- name: Get PR
|
||||||
run: |
|
run: |
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ jobs:
|
||||||
outputs:
|
outputs:
|
||||||
pr_number: ${{ steps.get_pr.outputs.pr_number }}
|
pr_number: ${{ steps.get_pr.outputs.pr_number }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v4
|
||||||
# headが$GITHUB_REF_NAME, baseが$STABLE_BRANCHかつopenのPRを1つ取得
|
# headが$GITHUB_REF_NAME, baseが$STABLE_BRANCHかつopenのPRを1つ取得
|
||||||
- name: Get PRs
|
- name: Get PRs
|
||||||
run: |
|
run: |
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ jobs:
|
||||||
# api-artifact
|
# api-artifact
|
||||||
steps:
|
steps:
|
||||||
- name: Download artifact
|
- name: Download artifact
|
||||||
uses: actions/github-script@v8.0.0
|
uses: actions/github-script@v7.0.1
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
|
@ -60,7 +60,7 @@ jobs:
|
||||||
- name: Echo full diff
|
- name: Echo full diff
|
||||||
run: cat ./api-full.json.diff
|
run: cat ./api-full.json.diff
|
||||||
- name: Upload full diff to Artifact
|
- name: Upload full diff to Artifact
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: api-artifact
|
name: api-artifact
|
||||||
path: |
|
path: |
|
||||||
|
|
@ -89,16 +89,16 @@ jobs:
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "$FOOTER" >> ./output.md
|
echo "$FOOTER" >> ./output.md
|
||||||
- uses: thollander/actions-comment-pull-request@v3
|
- uses: thollander/actions-comment-pull-request@v2
|
||||||
with:
|
with:
|
||||||
pr-number: ${{ steps.load-pr-num.outputs.pr-number }}
|
pr_number: ${{ steps.load-pr-num.outputs.pr-number }}
|
||||||
comment-tag: show_diff
|
comment_tag: show_diff
|
||||||
file-path: ./output.md
|
filePath: ./output.md
|
||||||
- name: Tell error to PR
|
- name: Tell error to PR
|
||||||
uses: thollander/actions-comment-pull-request@v3
|
uses: thollander/actions-comment-pull-request@v2
|
||||||
if: failure() && steps.load-pr-num.outputs.pr-number
|
if: failure() && steps.load-pr-num.outputs.pr-number
|
||||||
with:
|
with:
|
||||||
pr-number: ${{ steps.load-pr-num.outputs.pr-number }}
|
pr_number: ${{ steps.load-pr-num.outputs.pr-number }}
|
||||||
comment-tag: show_diff_error
|
comment_tag: show_diff_error
|
||||||
message: |
|
message: |
|
||||||
api.jsonの差分作成中にエラーが発生しました。詳細は[Workflowのログ](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})を確認してください。
|
api.jsonの差分作成中にエラーが発生しました。詳細は[Workflowのログ](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})を確認してください。
|
||||||
|
|
|
||||||
|
|
@ -1,177 +0,0 @@
|
||||||
name: Report backend memory
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_run:
|
|
||||||
types: [completed]
|
|
||||||
workflows:
|
|
||||||
- Get backend memory usage # get-backend-memory.yml
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
compare-memory:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
|
||||||
permissions:
|
|
||||||
pull-requests: write
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Download artifact
|
|
||||||
uses: actions/github-script@v8.0.0
|
|
||||||
with:
|
|
||||||
script: |
|
|
||||||
const fs = require('fs');
|
|
||||||
let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
|
|
||||||
owner: context.repo.owner,
|
|
||||||
repo: context.repo.repo,
|
|
||||||
run_id: context.payload.workflow_run.id,
|
|
||||||
});
|
|
||||||
let matchArtifacts = allArtifacts.data.artifacts.filter((artifact) => {
|
|
||||||
return artifact.name.startsWith("memory-artifact-") || artifact.name == "memory-artifact"
|
|
||||||
});
|
|
||||||
await Promise.all(matchArtifacts.map(async (artifact) => {
|
|
||||||
let download = await github.rest.actions.downloadArtifact({
|
|
||||||
owner: context.repo.owner,
|
|
||||||
repo: context.repo.repo,
|
|
||||||
artifact_id: artifact.id,
|
|
||||||
archive_format: 'zip',
|
|
||||||
});
|
|
||||||
await fs.promises.writeFile(`${process.env.GITHUB_WORKSPACE}/${artifact.name}.zip`, Buffer.from(download.data));
|
|
||||||
}));
|
|
||||||
- name: Extract all artifacts
|
|
||||||
run: |
|
|
||||||
find . -mindepth 1 -maxdepth 1 -type f -name '*.zip' -exec unzip {} -d artifacts ';'
|
|
||||||
ls -la artifacts/
|
|
||||||
- name: Load PR Number
|
|
||||||
id: load-pr-num
|
|
||||||
run: echo "pr-number=$(cat artifacts/pr_number)" >> "$GITHUB_OUTPUT"
|
|
||||||
|
|
||||||
- name: Output base
|
|
||||||
run: cat ./artifacts/memory-base.json
|
|
||||||
- name: Output head
|
|
||||||
run: cat ./artifacts/memory-head.json
|
|
||||||
- name: Compare memory usage
|
|
||||||
id: compare
|
|
||||||
run: |
|
|
||||||
BASE_MEMORY=$(cat ./artifacts/memory-base.json)
|
|
||||||
HEAD_MEMORY=$(cat ./artifacts/memory-head.json)
|
|
||||||
|
|
||||||
variation() {
|
|
||||||
calc() {
|
|
||||||
BASE=$(echo "$BASE_MEMORY" | jq -r ".${1}.${2} // 0")
|
|
||||||
HEAD=$(echo "$HEAD_MEMORY" | jq -r ".${1}.${2} // 0")
|
|
||||||
|
|
||||||
DIFF=$((HEAD - BASE))
|
|
||||||
if [ "$BASE" -gt 0 ]; then
|
|
||||||
DIFF_PERCENT=$(echo "scale=2; ($DIFF * 100) / $BASE" | bc)
|
|
||||||
else
|
|
||||||
DIFF_PERCENT=0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Convert KB to MB for readability
|
|
||||||
BASE_MB=$(echo "scale=2; $BASE / 1024" | bc)
|
|
||||||
HEAD_MB=$(echo "scale=2; $HEAD / 1024" | bc)
|
|
||||||
DIFF_MB=$(echo "scale=2; $DIFF / 1024" | bc)
|
|
||||||
|
|
||||||
JSON=$(jq -c -n \
|
|
||||||
--argjson base "$BASE_MB" \
|
|
||||||
--argjson head "$HEAD_MB" \
|
|
||||||
--argjson diff "$DIFF_MB" \
|
|
||||||
--argjson diff_percent "$DIFF_PERCENT" \
|
|
||||||
'{base: $base, head: $head, diff: $diff, diff_percent: $diff_percent}')
|
|
||||||
|
|
||||||
echo "$JSON"
|
|
||||||
}
|
|
||||||
|
|
||||||
JSON=$(jq -c -n \
|
|
||||||
--argjson VmRSS "$(calc $1 VmRSS)" \
|
|
||||||
--argjson VmHWM "$(calc $1 VmHWM)" \
|
|
||||||
--argjson VmSize "$(calc $1 VmSize)" \
|
|
||||||
--argjson VmData "$(calc $1 VmData)" \
|
|
||||||
'{VmRSS: $VmRSS, VmHWM: $VmHWM, VmSize: $VmSize, VmData: $VmData}')
|
|
||||||
|
|
||||||
echo "$JSON"
|
|
||||||
}
|
|
||||||
|
|
||||||
JSON=$(jq -c -n \
|
|
||||||
--argjson beforeGc "$(variation beforeGc)" \
|
|
||||||
--argjson afterGc "$(variation afterGc)" \
|
|
||||||
--argjson afterRequest "$(variation afterRequest)" \
|
|
||||||
'{beforeGc: $beforeGc, afterGc: $afterGc, afterRequest: $afterRequest}')
|
|
||||||
|
|
||||||
echo "res=$JSON" >> "$GITHUB_OUTPUT"
|
|
||||||
- id: build-comment
|
|
||||||
name: Build memory comment
|
|
||||||
env:
|
|
||||||
RES: ${{ steps.compare.outputs.res }}
|
|
||||||
run: |
|
|
||||||
HEADER="## Backend memory usage comparison"
|
|
||||||
FOOTER="[See workflow logs for details](https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})"
|
|
||||||
|
|
||||||
echo "$HEADER" > ./output.md
|
|
||||||
echo >> ./output.md
|
|
||||||
|
|
||||||
table() {
|
|
||||||
echo "| Metric | base (MB) | head (MB) | Diff (MB) | Diff (%) |" >> ./output.md
|
|
||||||
echo "|--------|------:|------:|------:|------:|" >> ./output.md
|
|
||||||
|
|
||||||
line() {
|
|
||||||
METRIC=$2
|
|
||||||
BASE=$(echo "$RES" | jq -r ".${1}.${2}.base")
|
|
||||||
HEAD=$(echo "$RES" | jq -r ".${1}.${2}.head")
|
|
||||||
DIFF=$(echo "$RES" | jq -r ".${1}.${2}.diff")
|
|
||||||
DIFF_PERCENT=$(echo "$RES" | jq -r ".${1}.${2}.diff_percent")
|
|
||||||
|
|
||||||
if (( $(echo "$DIFF_PERCENT > 0" | bc -l) )); then
|
|
||||||
DIFF="+$DIFF"
|
|
||||||
DIFF_PERCENT="+$DIFF_PERCENT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# highlight VmRSS
|
|
||||||
if [ "$2" = "VmRSS" ]; then
|
|
||||||
METRIC="**${METRIC}**"
|
|
||||||
BASE="**${BASE}**"
|
|
||||||
HEAD="**${HEAD}**"
|
|
||||||
DIFF="**${DIFF}**"
|
|
||||||
DIFF_PERCENT="**${DIFF_PERCENT}**"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "| ${METRIC} | ${BASE} MB | ${HEAD} MB | ${DIFF} MB | ${DIFF_PERCENT}% |" >> ./output.md
|
|
||||||
}
|
|
||||||
|
|
||||||
line $1 VmRSS
|
|
||||||
line $1 VmHWM
|
|
||||||
line $1 VmSize
|
|
||||||
line $1 VmData
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "### Before GC" >> ./output.md
|
|
||||||
table beforeGc
|
|
||||||
echo >> ./output.md
|
|
||||||
|
|
||||||
echo "### After GC" >> ./output.md
|
|
||||||
table afterGc
|
|
||||||
echo >> ./output.md
|
|
||||||
|
|
||||||
echo "### After Request" >> ./output.md
|
|
||||||
table afterRequest
|
|
||||||
echo >> ./output.md
|
|
||||||
|
|
||||||
# Determine if this is a significant change (more than 5% increase)
|
|
||||||
if [ "$(echo "$RES" | jq -r '.afterGc.VmRSS.diff_percent | tonumber > 5')" = "true" ]; then
|
|
||||||
echo "⚠️ **Warning**: Memory usage has increased by more than 5%. Please verify this is not an unintended change." >> ./output.md
|
|
||||||
echo >> ./output.md
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$FOOTER" >> ./output.md
|
|
||||||
- uses: thollander/actions-comment-pull-request@v3
|
|
||||||
with:
|
|
||||||
pr-number: ${{ steps.load-pr-num.outputs.pr-number }}
|
|
||||||
comment-tag: show_memory_diff
|
|
||||||
file-path: ./output.md
|
|
||||||
- name: Tell error to PR
|
|
||||||
uses: thollander/actions-comment-pull-request@v3
|
|
||||||
if: failure() && steps.load-pr-num.outputs.pr-number
|
|
||||||
with:
|
|
||||||
pr-number: ${{ steps.load-pr-num.outputs.pr-number }}
|
|
||||||
comment-tag: show_memory_diff_error
|
|
||||||
message: |
|
|
||||||
An error occurred while comparing backend memory usage. See [workflow logs](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) for details.
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
name: Request release review
|
|
||||||
|
|
||||||
on:
|
|
||||||
issue_comment:
|
|
||||||
types: [created]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
reply:
|
|
||||||
if: github.event.comment.body == '/request-release-review'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
issues: write
|
|
||||||
pull-requests: write
|
|
||||||
steps:
|
|
||||||
- name: Reply
|
|
||||||
uses: actions/github-script@v8
|
|
||||||
with:
|
|
||||||
script: |
|
|
||||||
const body = `To dev team (@misskey-dev/dev):
|
|
||||||
|
|
||||||
リリースが提案されています :rocket:
|
|
||||||
|
|
||||||
GOの場合はapprove、NO GOの場合はその旨コメントをお願いいたします。
|
|
||||||
|
|
||||||
判断にあたって考慮すべき観点は、
|
|
||||||
|
|
||||||
- やり残したことはないか?
|
|
||||||
- CHANGELOGは過不足ないか?
|
|
||||||
- バージョンに問題はないか?(月跨いでいるのに更新忘れているなど)
|
|
||||||
- 再考すべき仕様・実装はないか?
|
|
||||||
- ベータ版を検証したサーバーから不具合の報告等は上がってないか?
|
|
||||||
- (セキュリティの修正や重要なバグ修正などのため)リリースを急いだ方が良いか?そうではないか?
|
|
||||||
- Actionsが落ちていないか?
|
|
||||||
|
|
||||||
などが挙げられます。
|
|
||||||
|
|
||||||
ご協力ありがとうございます :sparkles:
|
|
||||||
`
|
|
||||||
|
|
||||||
const issue_number = context.payload.issue ? context.payload.issue.number : (context.payload.pull_request && context.payload.pull_request.number)
|
|
||||||
if (!issue_number) {
|
|
||||||
console.log('No issue or PR number found in payload; skipping')
|
|
||||||
} else {
|
|
||||||
await github.rest.issues.createComment({
|
|
||||||
owner: context.repo.owner,
|
|
||||||
repo: context.repo.repo,
|
|
||||||
issue_number,
|
|
||||||
body,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
@ -22,12 +22,12 @@ jobs:
|
||||||
NODE_OPTIONS: "--max_old_space_size=7168"
|
NODE_OPTIONS: "--max_old_space_size=7168"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
if: github.event_name != 'pull_request_target'
|
if: github.event_name != 'pull_request_target'
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
submodules: true
|
submodules: true
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
if: github.event_name == 'pull_request_target'
|
if: github.event_name == 'pull_request_target'
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
@ -37,9 +37,9 @@ jobs:
|
||||||
if: github.event_name == 'pull_request_target'
|
if: github.event_name == 'pull_request_target'
|
||||||
run: git checkout "$(git rev-list --parents -n1 HEAD | cut -d" " -f3)"
|
run: git checkout "$(git rev-list --parents -n1 HEAD | cut -d" " -f3)"
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v6.1.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.node-version'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
@ -90,7 +90,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
|
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
|
||||||
- name: Notify that Chromatic detects changes
|
- name: Notify that Chromatic detects changes
|
||||||
uses: actions/github-script@v8.0.0
|
uses: actions/github-script@v7.0.1
|
||||||
if: github.event_name != 'pull_request_target' && steps.chromatic_push.outputs.success == 'false'
|
if: github.event_name != 'pull_request_target' && steps.chromatic_push.outputs.success == 'false'
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
@ -102,7 +102,7 @@ jobs:
|
||||||
body: 'Chromatic detects changes. Please [review the changes on Chromatic](https://www.chromatic.com/builds?appId=6428f7d7b962f0b79f97d6e4).'
|
body: 'Chromatic detects changes. Please [review the changes on Chromatic](https://www.chromatic.com/builds?appId=6428f7d7b962f0b79f97d6e4).'
|
||||||
})
|
})
|
||||||
- name: Upload Artifacts
|
- name: Upload Artifacts
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: storybook
|
name: storybook
|
||||||
path: packages/frontend/storybook-static
|
path: packages/frontend/storybook-static
|
||||||
|
|
|
||||||
|
|
@ -18,14 +18,6 @@ on:
|
||||||
- packages/misskey-js/**
|
- packages/misskey-js/**
|
||||||
- .github/workflows/test-backend.yml
|
- .github/workflows/test-backend.yml
|
||||||
- .github/misskey/test.yml
|
- .github/misskey/test.yml
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
force_ffmpeg_cache_update:
|
|
||||||
description: 'Force update ffmpeg cache'
|
|
||||||
required: false
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
unit:
|
unit:
|
||||||
name: Unit tests (backend)
|
name: Unit tests (backend)
|
||||||
|
|
@ -38,7 +30,7 @@ jobs:
|
||||||
|
|
||||||
services:
|
services:
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:18
|
image: postgres:15
|
||||||
ports:
|
ports:
|
||||||
- 54312:5432
|
- 54312:5432
|
||||||
env:
|
env:
|
||||||
|
|
@ -48,36 +40,14 @@ jobs:
|
||||||
image: redis:7
|
image: redis:7
|
||||||
ports:
|
ports:
|
||||||
- 56312:6379
|
- 56312:6379
|
||||||
meilisearch:
|
|
||||||
image: getmeili/meilisearch:v1.3.4
|
|
||||||
ports:
|
|
||||||
- 57712:7700
|
|
||||||
env:
|
|
||||||
MEILI_NO_ANALYTICS: true
|
|
||||||
MEILI_ENV: development
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Get current date
|
|
||||||
id: current-date
|
|
||||||
run: echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
|
|
||||||
- name: Setup and Restore ffmpeg/ffprobe Cache
|
|
||||||
id: cache-ffmpeg
|
|
||||||
uses: actions/cache@v4
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
/usr/local/bin/ffmpeg
|
|
||||||
/usr/local/bin/ffprobe
|
|
||||||
# daily cache
|
|
||||||
key: ${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
|
|
||||||
- name: Install FFmpeg
|
- name: Install FFmpeg
|
||||||
if: steps.cache-ffmpeg.outputs.cache-hit != 'true' || github.event.inputs.force_ffmpeg_cache_update == true
|
|
||||||
run: |
|
run: |
|
||||||
for i in {1..3}; do
|
for i in {1..3}; do
|
||||||
echo "Attempt $i: Installing FFmpeg..."
|
echo "Attempt $i: Installing FFmpeg..."
|
||||||
|
|
@ -93,7 +63,7 @@ jobs:
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v6.1.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: ${{ matrix.node-version-file }}
|
node-version-file: ${{ matrix.node-version-file }}
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
@ -116,7 +86,6 @@ jobs:
|
||||||
name: E2E tests (backend)
|
name: E2E tests (backend)
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
matrix:
|
||||||
node-version-file:
|
node-version-file:
|
||||||
- .node-version
|
- .node-version
|
||||||
|
|
@ -124,7 +93,7 @@ jobs:
|
||||||
|
|
||||||
services:
|
services:
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:18
|
image: postgres:15
|
||||||
ports:
|
ports:
|
||||||
- 54312:5432
|
- 54312:5432
|
||||||
env:
|
env:
|
||||||
|
|
@ -136,13 +105,13 @@ jobs:
|
||||||
- 56312:6379
|
- 56312:6379
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v6.1.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: ${{ matrix.node-version-file }}
|
node-version-file: ${{ matrix.node-version-file }}
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
@ -160,47 +129,3 @@ jobs:
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.CODECOV_TOKEN }}
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
files: ./packages/backend/coverage/coverage-final.json
|
files: ./packages/backend/coverage/coverage-final.json
|
||||||
|
|
||||||
migration:
|
|
||||||
name: Migration tests (backend)
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version-file:
|
|
||||||
- .node-version
|
|
||||||
#- .github/min.node-version
|
|
||||||
|
|
||||||
services:
|
|
||||||
postgres:
|
|
||||||
image: postgres:18
|
|
||||||
ports:
|
|
||||||
- 54312:5432
|
|
||||||
env:
|
|
||||||
POSTGRES_DB: test-misskey
|
|
||||||
POSTGRES_HOST_AUTH_METHOD: trust
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v6.0.1
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
- name: Setup pnpm
|
|
||||||
uses: pnpm/action-setup@v4.2.0
|
|
||||||
- name: Get current date
|
|
||||||
id: current-date
|
|
||||||
run: echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
|
|
||||||
- name: Use Node.js
|
|
||||||
uses: actions/setup-node@v6.1.0
|
|
||||||
with:
|
|
||||||
node-version-file: ${{ matrix.node-version-file }}
|
|
||||||
cache: 'pnpm'
|
|
||||||
- run: pnpm i --frozen-lockfile
|
|
||||||
- name: Check pnpm-lock.yaml
|
|
||||||
run: git diff --exit-code pnpm-lock.yaml
|
|
||||||
- name: Copy Configure
|
|
||||||
run: cp .github/misskey/test.yml .config
|
|
||||||
- name: Build
|
|
||||||
run: pnpm build
|
|
||||||
- name: Run migrations
|
|
||||||
run: MISSKEY_CONFIG_YML=test.yml pnpm --filter backend migrate
|
|
||||||
- name: Check no migrations are remaining
|
|
||||||
run: MISSKEY_CONFIG_YML=test.yml pnpm --filter backend check-migrations
|
|
||||||
|
|
|
||||||
|
|
@ -14,13 +14,6 @@ on:
|
||||||
- packages/backend/**
|
- packages/backend/**
|
||||||
- packages/misskey-js/**
|
- packages/misskey-js/**
|
||||||
- .github/workflows/test-federation.yml
|
- .github/workflows/test-federation.yml
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
force_ffmpeg_cache_update:
|
|
||||||
description: 'Force update ffmpeg cache'
|
|
||||||
required: false
|
|
||||||
default: false
|
|
||||||
type: boolean
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
|
|
@ -32,27 +25,12 @@ jobs:
|
||||||
- .node-version
|
- .node-version
|
||||||
- .github/min.node-version
|
- .github/min.node-version
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Get current date
|
|
||||||
id: current-date
|
|
||||||
run: echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
|
|
||||||
- name: Setup and Restore ffmpeg/ffprobe Cache
|
|
||||||
id: cache-ffmpeg
|
|
||||||
uses: actions/cache@v4
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
/usr/local/bin/ffmpeg
|
|
||||||
/usr/local/bin/ffprobe
|
|
||||||
# daily cache
|
|
||||||
key: ${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-ffmpeg-${{ steps.current-date.outputs.today }}
|
|
||||||
- name: Install FFmpeg
|
- name: Install FFmpeg
|
||||||
if: steps.cache-ffmpeg.outputs.cache-hit != 'true' || github.event.inputs.force_ffmpeg_cache_update == true
|
|
||||||
run: |
|
run: |
|
||||||
for i in {1..3}; do
|
for i in {1..3}; do
|
||||||
echo "Attempt $i: Installing FFmpeg..."
|
echo "Attempt $i: Installing FFmpeg..."
|
||||||
|
|
@ -68,7 +46,7 @@ jobs:
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v6.1.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: ${{ matrix.node-version-file }}
|
node-version-file: ${{ matrix.node-version-file }}
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
|
||||||
|
|
@ -28,13 +28,13 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v6.1.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.node-version'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
@ -64,7 +64,7 @@ jobs:
|
||||||
|
|
||||||
services:
|
services:
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:18
|
image: postgres:15
|
||||||
ports:
|
ports:
|
||||||
- 54312:5432
|
- 54312:5432
|
||||||
env:
|
env:
|
||||||
|
|
@ -76,7 +76,7 @@ jobs:
|
||||||
- 56312:6379
|
- 56312:6379
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
# https://github.com/cypress-io/cypress-docker-images/issues/150
|
# https://github.com/cypress-io/cypress-docker-images/issues/150
|
||||||
|
|
@ -86,9 +86,9 @@ jobs:
|
||||||
#- uses: browser-actions/setup-firefox@latest
|
#- uses: browser-actions/setup-firefox@latest
|
||||||
# if: ${{ matrix.browser == 'firefox' }}
|
# if: ${{ matrix.browser == 'firefox' }}
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v6.1.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.node-version'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
@ -113,12 +113,12 @@ jobs:
|
||||||
wait-on: 'http://localhost:61812'
|
wait-on: 'http://localhost:61812'
|
||||||
headed: true
|
headed: true
|
||||||
browser: ${{ matrix.browser }}
|
browser: ${{ matrix.browser }}
|
||||||
- uses: actions/upload-artifact@v6
|
- uses: actions/upload-artifact@v4
|
||||||
if: failure()
|
if: failure()
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.browser }}-cypress-screenshots
|
name: ${{ matrix.browser }}-cypress-screenshots
|
||||||
path: cypress/screenshots
|
path: cypress/screenshots
|
||||||
- uses: actions/upload-artifact@v6
|
- uses: actions/upload-artifact@v4
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.browser }}-cypress-videos
|
name: ${{ matrix.browser }}-cypress-videos
|
||||||
|
|
|
||||||
|
|
@ -22,13 +22,13 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6.0.1
|
uses: actions/checkout@v4.2.2
|
||||||
|
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
|
|
||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v6.1.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.node-version'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
|
||||||
|
|
@ -16,13 +16,13 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v6.1.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.node-version'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
|
||||||
|
|
@ -17,13 +17,13 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
- name: Setup pnpm
|
- name: Setup pnpm
|
||||||
uses: pnpm/action-setup@v4.2.0
|
uses: pnpm/action-setup@v4.1.0
|
||||||
- name: Use Node.js
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v6.1.0
|
uses: actions/setup-node@v4.4.0
|
||||||
with:
|
with:
|
||||||
node-version-file: '.node-version'
|
node-version-file: '.node-version'
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,6 @@ docker-compose.yml
|
||||||
built
|
built
|
||||||
built-test
|
built-test
|
||||||
js-built
|
js-built
|
||||||
src-js
|
|
||||||
/data
|
/data
|
||||||
/.cache-loader
|
/.cache-loader
|
||||||
/db
|
/db
|
||||||
|
|
|
||||||
|
|
@ -3,16 +3,11 @@
|
||||||
"**/node_modules": true
|
"**/node_modules": true
|
||||||
},
|
},
|
||||||
"typescript.tsdk": "node_modules/typescript/lib",
|
"typescript.tsdk": "node_modules/typescript/lib",
|
||||||
"typescript.enablePromptUseWorkspaceTsdk": true,
|
|
||||||
"files.associations": {
|
"files.associations": {
|
||||||
"*.test.ts": "typescript"
|
"*.test.ts": "typescript"
|
||||||
},
|
},
|
||||||
|
"jest.jestCommandLine": "pnpm run jest",
|
||||||
"jest.runMode": "on-demand",
|
"jest.runMode": "on-demand",
|
||||||
"jest.virtualFolders": [
|
|
||||||
{ "name": "backend unit", "jestCommandLine": "pnpm -F backend run test" },
|
|
||||||
{ "name": "backend e2e", "jestCommandLine": "pnpm -F backend run test:e2e"},
|
|
||||||
{ "name": "misskey-js", "jestCommandLine": "pnpm -F misskey-js run jest" }
|
|
||||||
],
|
|
||||||
"editor.codeActionsOnSave": {
|
"editor.codeActionsOnSave": {
|
||||||
"source.fixAll": "explicit"
|
"source.fixAll": "explicit"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
343
CHANGELOG.md
343
CHANGELOG.md
|
|
@ -1,354 +1,15 @@
|
||||||
## 2026.1.0
|
## 2025.6.4
|
||||||
|
|
||||||
### Note
|
|
||||||
- `users/following` の `birthday` プロパティは非推奨になりました。代わりに `users/get-following-birthday-users` をご利用ください。
|
|
||||||
|
|
||||||
### General
|
|
||||||
- Enhance: 「もうすぐ誕生日のユーザー」ウィジェットで、誕生日が至近のユーザーも表示できるように
|
|
||||||
(Cherry-picked from https://github.com/MisskeyIO/misskey)
|
|
||||||
- 「今日誕生日のユーザー」は「もうすぐ誕生日のユーザー」に名称変更されました
|
|
||||||
- 依存関係の更新
|
|
||||||
|
|
||||||
### Client
|
|
||||||
- Enhance: ドライブのファイル一覧で自動でもっと見るを利用可能に
|
|
||||||
- Enhance: ウィジェットの表示設定をプレビューを見ながら行えるように
|
|
||||||
- Enhance: ウィジェットの設定項目のラベルの多言語対応
|
|
||||||
- Enhance: 画面幅が広いときにメディアを横並びで表示できるようにするオプションを追加
|
|
||||||
- Enhance: パフォーマンスの向上
|
|
||||||
- Fix: ドライブクリーナーでファイルを削除しても画面に反映されない問題を修正 #16061
|
|
||||||
- Fix: 非ログイン時にログインを求めるダイアログが表示された後にダイアログのぼかしが解除されず操作不能になることがある問題を修正
|
|
||||||
- Fix: ドライブのソートが「登録日(昇順)」の場合に正しく動作しない問題を修正
|
|
||||||
- Fix: 高度なMFMのピッカーを使用する際の挙動を改善
|
|
||||||
- Fix: 管理画面でアーカイブ済のお知らせを表示した際にアクティブなお知らせが多い旨の警告が出る問題を修正
|
|
||||||
- Fix: ファイルタブのセンシティブメディアを開く際に確認ダイアログを出す設定が適用されない問題を修正
|
|
||||||
- Fix: 2月29日を誕生日に設定している場合、閏年以外は3月1日を誕生日として扱うように修正
|
|
||||||
- Fix: `Mk:C:container` の `borderWidth` が正しく反映されない問題を修正
|
|
||||||
- Fix: mCaptchaが正しく動作しない問題を修正
|
|
||||||
- Fix: 非ログイン時にリバーシの対局が表示されない問題を修正
|
|
||||||
|
|
||||||
### Server
|
|
||||||
- Enhance: OAuthのクライアント情報取得(Client Information Discovery)において、IndieWeb Living Standard 11 July 2024で定義されているJSONドキュメント形式に対応しました
|
|
||||||
- JSONによるClient Information Discoveryを行うには、レスポンスの`Content-Type`ヘッダーが`application/json`である必要があります
|
|
||||||
- 従来の実装(12 February 2022版・HTML Microformat形式)も引き続きサポートされます
|
|
||||||
- Enhance: メモリ使用量を削減
|
|
||||||
- Fix: `/admin/get-user-ips` エンドポイントのアクセス権限を管理者のみに修正
|
|
||||||
|
|
||||||
## 2025.12.2
|
|
||||||
|
|
||||||
### Note
|
|
||||||
v2025.12.0で行われた「configの`trustProxy`のデフォルト値を`false`に変更」について、正しく環境に応じた設定を行わないとサインインが困難になるといった状態を緩和するために、以下の対応を行いました。
|
|
||||||
|
|
||||||
**正しく設定しないと、上記のような不具合の原因となったり、セキュリティリスクが高まったりする可能性があります。必ず現在のconfigをご確認の上、必要に応じて値を変更してください。**
|
|
||||||
|
|
||||||
- `trustProxy`について、デフォルト(configに値が設定されていない状態)ではループバックアドレスとローカルIPアドレス空間を信頼するようにしました。
|
|
||||||
- `trustProxy`の設定方法について、より詳細に記述しました。
|
|
||||||
- リバースプロキシやCDNなどのより上流のレイヤでレートリミットを設定したい場合や、緊急時の一時的な緩和策として、Misskey内部でのIPアドレスペースでのレートリミットを無効化できるようにしました。
|
|
||||||
|
|
||||||
### General
|
|
||||||
- 依存関係の更新
|
|
||||||
|
|
||||||
### Client
|
|
||||||
- Enhance: デッキのUI説明を追加
|
|
||||||
- Enhance: 設定がブラウザによって消去されないようにするオプションを追加
|
|
||||||
- Fix: バージョン表記のないPlayが正しく動作しない問題を修正
|
|
||||||
バージョン表記のないものは v0.x 系として実行されます。v1.x 系で動作させたい場合は必ずバージョン表記を含めてください。
|
|
||||||
- Fix: デッキUIでメニュー位置を下にしているとプロファイル削除ボタンが表示されないのを修正
|
|
||||||
- Fix: 一部のUnicode絵文字のリアクションがボタンにならない問題を修正
|
|
||||||
|
|
||||||
### Server
|
|
||||||
- Enhance: Misskey内部でのIPアドレスペースでのレートリミットを無効化できるように
|
|
||||||
- リバースプロキシやCDNなど別のレイヤで別途レートリミットを設定する場合や、ローカルでのテスト用途等として利用することを想定しています。
|
|
||||||
- デフォルトは `enableIpRateLimit: true`(Misskey内部でのIPアドレスペースでのレートリミットは有効)です。
|
|
||||||
- Fix: コントロールパネルのジョブキューページで使用される一部APIの応答速度を改善
|
|
||||||
|
|
||||||
## 2025.12.1
|
|
||||||
|
|
||||||
### Client
|
|
||||||
- Fix: 特定の条件下でMisskeyが起動せず空白のページが表示されることがある問題を軽減
|
|
||||||
- Fix: 初回読み込み時などに、言語設定で不整合が発生することがある問題を修正
|
|
||||||
- Fix: 削除されたノートのリノートが正しく動作されない問題を修正
|
|
||||||
- Fix: チャンネルオーナーが削除済みの時にチャンネルのヘッダーメニューが表示されない不具合を修正
|
|
||||||
- Fix: ドライブで登録日以外でソートする場合は月でグループ化して表示しないように
|
|
||||||
- Fix: `null` を返す note_view_intrruptor プラグインが動作しない問題を修正
|
|
||||||
|
|
||||||
### Server
|
|
||||||
- Fix: ジョブキューでSentryが有効にならない問題を修正
|
|
||||||
|
|
||||||
|
|
||||||
## 2025.12.0
|
|
||||||
|
|
||||||
### Note
|
|
||||||
- configの`trustProxy`のデフォルト値を`false`に変更しました。アップデート前に現在のconfigをご確認の上、必要に応じて値を変更してください。
|
|
||||||
|
|
||||||
### Client
|
|
||||||
- Fix: stacking router viewで連続して戻る操作を行うと何も表示されなくなる問題を修正
|
|
||||||
|
|
||||||
### Server
|
|
||||||
- Enhance: メモリ使用量を削減しました
|
|
||||||
- Enhance: ActivityPubアクティビティを送信する際のパフォーマンス向上
|
|
||||||
- Enhance: 依存関係の更新
|
|
||||||
- Fix: セキュリティに関する修正
|
|
||||||
|
|
||||||
## 2025.11.1
|
|
||||||
|
|
||||||
### Client
|
|
||||||
|
|
||||||
- Enhance: リアクションの受け入れ設定にキャプションを追加 #15921
|
|
||||||
- Fix: ページの内容がはみ出ることがある問題を修正
|
|
||||||
- Fix: ナビゲーションバーを下に表示しているときに、項目数が多いと表示が崩れる問題を修正
|
|
||||||
- Fix: ヘッダーメニューのチャンネルの新規作成の項目でチャンネル作成ページに飛べない問題を修正 #16816
|
|
||||||
- Fix: ラジオボタンに空白の選択肢が表示される問題を修正
|
|
||||||
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/1105)
|
|
||||||
- Fix: 一部のシチュエーションで投稿フォームのツアーが正しく表示されない問題を修正
|
|
||||||
- Fix: 投稿フォームのリセットボタンで注釈がリセットされない問題を修正
|
|
||||||
- Fix: PlayのAiScriptバージョン判定(v0.x系・v1.x系の判定)が正しく動作しない問題を修正
|
|
||||||
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/1129)
|
|
||||||
- Fix: フォロー申請をキャンセルする際の確認ダイアログの文言が不正確な問題を修正
|
|
||||||
- Fix: 初回読み込み時にエラーになることがある問題を修正
|
|
||||||
- Fix: お気に入りクリップの一覧表示が正しく動作しない問題を修正
|
|
||||||
- Fix: AiScript Misskey 拡張APIにおいて、各種関数の引数で明示的に `null` が指定されている場合のハンドリングを修正
|
|
||||||
|
|
||||||
### Server
|
|
||||||
- Enhance: メモリ使用量を削減しました
|
|
||||||
- Enhance: 依存関係の更新
|
|
||||||
- Fix: ワードミュートの文字数計算を修正
|
|
||||||
- Fix: チャンネルのリアルタイム更新時に、ロックダウン設定にて非ログイン時にノートを表示しない設定にしている場合でもノートが表示されてしまう問題を修正
|
|
||||||
- Fix: DeepL APIのAPIキー指定方式変更に対応
|
|
||||||
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/1096)
|
|
||||||
- 内部実装の変更にて対応可能な更新です。Misskey側の設定方法に変更はありません。
|
|
||||||
- Fix: DBレプリケーションを利用する環境でクエリーが失敗する問題を修正
|
|
||||||
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/1123)
|
|
||||||
|
|
||||||
## 2025.11.0
|
|
||||||
|
|
||||||
### General
|
|
||||||
- Feat: チャンネルミュート機能の実装 #10649
|
|
||||||
- チャンネルの概要画面の右上からミュートできます(リンクコピー、共有、設定と同列)
|
|
||||||
- Enhance: Node.js 24.10.0をサポートするようになりました
|
|
||||||
- Enhance: DockerのNode.jsが24.10.0に更新されました
|
|
||||||
- 依存関係の更新
|
|
||||||
|
|
||||||
### Client
|
|
||||||
- Feat: 画像にメタデータを含むフレームをつけられる機能
|
|
||||||
- Enhance: プリセットを作成しなくても画像にウォーターマークを付与できるように
|
|
||||||
- Enhance: 管理しているチャンネルの見分けがつきやすくなるように
|
|
||||||
- Enhance: プロフィールへのリンクをユーザーポップアップのアバターに追加
|
|
||||||
- Enhance: ユーザーのノート、フォロー、フォロワーページへのリンクをユーザーポップアップに追加
|
|
||||||
- Enhance: プッシュ通知を行うための権限確認をより確実に行うように
|
|
||||||
- Enhance: 投稿フォームのチュートリアルを追加
|
|
||||||
- Enhance: 「自動でもっと見る」をほとんどの箇所で利用可能に
|
|
||||||
- Enhance: アンテナ・リスト設定画面とタイムラインの動線を改善
|
|
||||||
- アンテナ・リスト一覧画面の項目を選択すると、設定画面ではなくタイムラインに移動するようになりました
|
|
||||||
- アンテナ・リストの設定画面の右上にタイムラインに移動するボタンを追加しました
|
|
||||||
- Fix: 紙吹雪エフェクトがアニメーション設定を考慮せず常に表示される問題を修正
|
|
||||||
- Fix: ナビゲーションバーのリアルタイムモード切替ボタンの状態をよりわかりやすく表示するように
|
|
||||||
- Fix: ページのタイトルが長いとき、はみ出る問題を修正
|
|
||||||
- Fix: 投稿フォームのアバターが正しく表示されない問題を修正 #16789
|
|
||||||
- FIx: カスタム絵文字(β)画面で変更行が正しくハイライトされない問題を修正 #16626
|
|
||||||
|
|
||||||
### Server
|
|
||||||
- Enhance: Remote Notes Cleaningが複雑度が高いノートの処理を中断せずに次のノートから再開するように
|
|
||||||
- Fix: チャンネルの説明欄の最小文字数制約を除去
|
|
||||||
|
|
||||||
## 2025.10.2
|
|
||||||
|
|
||||||
### Client
|
|
||||||
- Fix: アプリ内からキャッシュをクリアするとテーマ再適用するまでレンダリングが正しく行われない問題を修正
|
|
||||||
- Fix: 期限が無期限のアンケートに投票できない問題を修正
|
|
||||||
|
|
||||||
## 2025.10.1
|
|
||||||
|
|
||||||
### General
|
|
||||||
- Enhance: リモートユーザーに付与したロールバッジを表示できるように(オプトイン)
|
|
||||||
パフォーマンス上の問題からデフォルトで無効化されています。「コントロールパネル > パフォーマンス」から有効化できます。
|
|
||||||
- 依存関係の更新
|
|
||||||
|
|
||||||
### Client
|
|
||||||
- Enhance: デッキのメインカラムのヘッダをクリックしてページ上部/下部にスクロールできるように
|
|
||||||
- Enhance: 下書き/予約投稿一覧は投稿フォームのアカウントメニュー内に移動し、下書き保存は「...」メニュー内に移動されました
|
|
||||||
- Fix: カスタム絵文字画面(beta)のaliasesで使用される区切り文字が一致していないのを修正 #15614
|
|
||||||
- Fix: バナー画像の幅が表示領域と一致していない問題を修正
|
|
||||||
- Fix: 一部のブラウザでバナー画像が上下中央に表示されない問題を修正
|
|
||||||
- Fix: ナビゲーションバーの設定で削除した項目をその場で再追加できない問題を修正
|
|
||||||
- Fix: ロールポリシーによりダイレクトメッセージが無効化されている際のデッキのダイレクトメッセージカラムの挙動を改善
|
|
||||||
- Fix: 画像のマスクでタッチ操作が不安定な問題を修正
|
|
||||||
- Fix: ウォーターマークの各種挙動修正
|
|
||||||
- ウォーターマークを回転させると歪む問題を修正
|
|
||||||
- ウォーターマークを敷き詰めると上下左右反転した画像/文字が表示される問題を修正
|
|
||||||
- ウォーターマークを回転させた際に画面からはみ出た部分を考慮できるように
|
|
||||||
- Fix: 投票が終了した後に投票結果が正しく表示されない問題を修正
|
|
||||||
- Fix: ダークモードの同期が機能しない場合がある問題を修正
|
|
||||||
- Fix: iOSで動画の圧縮を行うと音声トラックが失われる問題を修正
|
|
||||||
|
|
||||||
### Server
|
|
||||||
- Enhance: 管理者/モデレーターはファイルのアップロード制限をバイパスするように
|
|
||||||
- Enhance: セキュリティの向上
|
|
||||||
|
|
||||||
## 2025.10.0
|
|
||||||
|
|
||||||
### NOTE
|
|
||||||
- pnpm 10.16.0 が必要です
|
|
||||||
- ロールのインポート機能の利用可否ポリシーのデフォルト値が「いいえ」に変わったため、デフォルトから変更していないサーバーでは適宜設定を変更してください。
|
|
||||||
- ロールのアップロード可能なファイル種別ポリシーのデフォルト値に「text/*」が追加されたため、デフォルトから変更していないサーバーでは適宜設定を変更してください。
|
|
||||||
|
|
||||||
### General
|
|
||||||
- Feat: 予約投稿ができるようになりました
|
|
||||||
- デフォルトで作成可能数は1になっています。適宜ロールのポリシーで設定を行ってください。
|
|
||||||
- Enhance: 広告ごとにセンシティブフラグを設定できるようになりました
|
|
||||||
- Enhance: 依存関係の更新
|
|
||||||
- Enhance: 翻訳の更新
|
|
||||||
|
|
||||||
### Client
|
|
||||||
- Feat: アカウントのQRコードを表示・読み取りできるようになりました
|
|
||||||
- Feat: 動画を圧縮してアップロードできるようになりました
|
|
||||||
- Feat: (実験的) ブラウザ上でノートの翻訳を行えるように
|
|
||||||
- Enhance: チャットの日本語名称がダイレクトメッセージに戻るとともに、ベータ版機能ではなくなりました
|
|
||||||
- Enhance: 画像編集にマスクエフェクト(塗りつぶし、ぼかし、モザイク)を追加
|
|
||||||
- Enhance: 画像編集の集中線エフェクトを強化
|
|
||||||
- Enhance: ウォーターマークにアカウントのQRコードを追加できるように
|
|
||||||
- Enhance: テーマをドラッグ&ドロップできるように
|
|
||||||
- Enhance: 絵文字ピッカーのサイズをより大きくできるように
|
|
||||||
- Enhance: カスタム絵文字が多い場合にサーバーの絵文字一覧ページがフリーズしないように
|
|
||||||
- Enhance: 時刻計算のための基準値を一か所で管理するようにし、パフォーマンスを向上
|
|
||||||
- Enhance: 「お問い合わせ」ページから、バグの調査等に役立つ情報(OSやブラウザのバージョン等)を取得・コピーできるように
|
|
||||||
- Fix: iOSで、デバイスがダークモードだと初回読み込み時にエラーになる問題を修正
|
|
||||||
- Fix: アクティビティウィジェットのグラフモードが動作しない問題を修正
|
|
||||||
- Fix: ユニコード絵文字の追加辞書をインストールするとユニコード絵文字が絵文字ピッカーで検索できなくなる絵文字があるバグを修正
|
|
||||||
|
|
||||||
### Server
|
|
||||||
- Enhance: ユーザーIPを確実に取得できるために設定ファイルにFastifyOptions.trustProxyを追加しました
|
|
||||||
|
|
||||||
## 2025.9.0
|
|
||||||
|
|
||||||
### Client
|
|
||||||
- Enhance: AiScriptAppウィジェットで構文エラーを検知してもダイアログではなくウィジェット内にエラーを表示するように
|
|
||||||
- Enhance: /flushページでサイトキャッシュをクリアできるようになりました
|
|
||||||
- Enhance: クリップ/リスト/アンテナ/ロール追加系メニュー項目において、表示件数を拡張
|
|
||||||
- Enhance: 「キャッシュを削除」ボタンでブラウザの内部キャッシュの削除も行えるように
|
|
||||||
- Enhance: Ctrlキー(Commandキー)を押下しながらリンクをクリックすると新しいタブで開くように
|
|
||||||
- Fix: プッシュ通知を有効にできない問題を修正
|
|
||||||
- Fix: RSSティッカーウィジェットが正しく動作しない問題を修正
|
|
||||||
- Fix: プロファイルを復元後アカウントの切り替えができない問題を修正
|
|
||||||
- Fix: エラー画像が横に引き伸ばされてしまう問題に対応
|
|
||||||
|
|
||||||
### Server
|
|
||||||
- Fix: webpなどの画像に対してセンシティブなメディアの検出が適用されていなかった問題を修正
|
|
||||||
|
|
||||||
## 2025.8.0
|
|
||||||
|
|
||||||
### Note
|
|
||||||
- サポートされるNode.jsの最小バージョンが**22.15.0**になりました
|
|
||||||
|
|
||||||
### General
|
|
||||||
- ノートを削除した際、関連するノートが同時に削除されないようになりました
|
|
||||||
- APIで、「replyIdが存在しているのにreplyがnull」や「renoteIdが存在しているのにrenoteがnull」であるという、今までにはなかったパターンが表れることになります
|
|
||||||
- 定期的に古いリモートの投稿を削除する機能が実装されました
|
|
||||||
- コントロールパネル→パフォーマンス→Remote Notes Cleaning で有効化できます
|
|
||||||
- データベースの肥大化を防止することが可能です
|
|
||||||
- 既存のサーバーで当機能を有効化した場合は、処理量が多くなるため、一時的にストレージ使用量が増加する可能性があります。
|
|
||||||
- 増加量を抑えるには、最大処理継続時間をデフォルトより短くしてください。
|
|
||||||
- データベースサイズへの効果が見られない場合はautovacuumが有効になっているか確認してください
|
|
||||||
- サーバーの初期設定が完了するまでは連合がオンにならないようになりました
|
|
||||||
- 日本語における公開範囲名称の「ダイレクト」が「指名」に改称されました
|
|
||||||
- 実際の動作に即した名称になり、馴染みのない人でも理解しやすくなりました
|
|
||||||
- 他サービスにおける「ダイレクトメッセージ」に相当するMisskeyの機能は「チャット」ですが(過去のバージョンのMisskeyでも、当該機能は「チャット」ではなく「ダイレクトメッセージ」でした)、「ダイレクト投稿」という名称の機能が存在するとそちらがダイレクトメッセージ機能であるような誤解を生んでいました
|
|
||||||
- 今後、「チャット」の名称を「ダイレクトメッセージ」に戻す可能性があります
|
|
||||||
- mfm.jsをアップデートしました
|
|
||||||
- Enhance: Unicode 15.1 および 16.0 に収録されている絵文字に対応
|
|
||||||
- Enhance: acctに `.` が入っているユーザーのメンションに対応
|
|
||||||
- Fix: Unicode絵文字に隣接する異体字セレクタ(`U+FE0F`)が絵文字として認識される問題を修正
|
|
||||||
- Enhance: ユーザー検索をロールポリシーで制限できるように
|
|
||||||
|
|
||||||
### Client
|
|
||||||
- Feat: AiScriptが1.1.0に更新されました
|
|
||||||
- プラグインは1.xに対応したものが必要です
|
|
||||||
- Playはそのまま動作しますが、新規に作られるプリセットは1.xになります
|
|
||||||
- 以前のバージョンから無効化されていた note_view_interruptor が有効になりました
|
|
||||||
- ハンドラは同期的である必要があります
|
|
||||||
- Feat: セーフモード
|
|
||||||
- プラグイン・テーマ・カスタムCSSの使用でクライアントの起動に問題が発生した際に、これらを無効にして起動できます
|
|
||||||
- 以下の方法でセーフモードを起動できます
|
|
||||||
- `g` キーを連打する
|
|
||||||
- URLに`?safemode=true`を付ける
|
|
||||||
- PWAのショートカットで Safemode を選択して起動する
|
|
||||||
- Feat: 非ログイン時に表示されるトップページのスタイルを選択できるように
|
|
||||||
- コントロールパネル→ブランディング→エントランスページのスタイル
|
|
||||||
- Feat: ページのタブバーを下部に表示できるように
|
|
||||||
- Feat: (実験的)iOSでの触覚フィードバックを有効にできるように
|
|
||||||
- Feat: コントロールパネルを検索できるように
|
|
||||||
- Enhance: 「自動でもっと見る」オプションが有効になり、安定性が向上しました
|
|
||||||
- Enhance: トルコ語 (tr-TR) に対応
|
|
||||||
- Enhance: 不必要な翻訳データを読み込まなくなり、パフォーマンスが向上しました
|
|
||||||
- Enhance: 画像エフェクトのパラメータ名の多言語対応
|
|
||||||
- Enhance: ノートを非表示にする相対期間を1ヶ月単位で自由に指定できるように
|
|
||||||
- Enhance: メールアドレス確認画面のUIを改善
|
|
||||||
- Enhance: アイコンのスクロール追従を無効化する際の適用範囲を強化
|
|
||||||
- Enhance: レンダリングパフォーマンスの向上
|
|
||||||
- Enhance: 依存ソフトウェアの更新
|
|
||||||
- Fix: 投稿フォームでファイルのアップロードが中止または失敗した際のハンドリングを修正
|
|
||||||
- Fix: 一部の設定検索結果が存在しないパスになる問題を修正
|
|
||||||
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1171)
|
|
||||||
- Fix: テーマエディタが動作しない問題を修正
|
|
||||||
- Fix: チャンネルのハイライトページにノートが表示されない問題を修正
|
|
||||||
- Fix: カラムの名前が正しくリスト/チャンネルの名前にならない問題を修正
|
|
||||||
- Fix: 複数のメンションを1行に記述した場合に、サジェストが正しく表示されない問題を修正
|
|
||||||
- Fix: メンションとしての条件を満たしていても、特定の条件(`-`が含まれる場合など)で正しくサジェストされない問題を一部修正
|
|
||||||
- Fix: ユーザーの前後ノートを閲覧する機能が動作しない問題を修正
|
|
||||||
- Fix: 照会ダイアログでap/showでローカルユーザーを解決した際@username@nullに飛ばされる問題を修正
|
|
||||||
- Fix: アイコンのデコレーションを付ける際にデコレーションが表示されなくなる問題を修正
|
|
||||||
- Fix: タッチ操作時にマウスホバー時のユーザープレビューが開くことがある問題を修正
|
|
||||||
- Fix: 管理中アカウント一覧で正しい表示が行われない問題を修正
|
|
||||||
- Fix: lookupページでリモートURLを指定した際に正しく動作しない問題を修正
|
|
||||||
|
|
||||||
### Server
|
|
||||||
- Feat: サーバー管理コマンド
|
|
||||||
- `pnpm cli foo` の形式で実行可能です
|
|
||||||
- 現在以下のコマンドが利用可能です
|
|
||||||
- `reset-captcha` - CAPTCHA設定をリセットします
|
|
||||||
- Enhance: ノートの削除処理の効率化
|
|
||||||
- Enhance: 全体的なパフォーマンスの向上
|
|
||||||
- Enhance: 依存ソフトウェアの更新
|
|
||||||
- Enhance: `clips/list` APIがページネーションに対応しました
|
|
||||||
- Fix: `notes/mentions` で場合によっては並び順が正しく返されない問題を修正
|
|
||||||
- Fix: SystemWebhook設定でsecretを空に出来ない問題を修正
|
|
||||||
- Fix: 削除されたユーザーがチャットメッセージにリアクションしている場合`chat/history`などでエラーになる問題を修正
|
|
||||||
- Fix: Pageのアイキャッチ画像をドライブから消してもPageごと消えないように
|
|
||||||
- Fix: タイムラインAPIの withRenotes: false 時のレスポンスを修正
|
|
||||||
|
|
||||||
|
|
||||||
## 2025.7.0
|
|
||||||
|
|
||||||
### Note
|
|
||||||
- Node.jsの最小バージョンを20.10.0から20.18.1に引き上げました
|
|
||||||
- なお、特に必要がない限りNode.jsは推奨バージョンであるv22を使用するようにしてください
|
|
||||||
|
|
||||||
### General
|
### General
|
||||||
- Feat: ノートの下書き機能
|
- Feat: ノートの下書き機能
|
||||||
- Feat: クリップ内でノートを検索できるように
|
|
||||||
- Feat: Playを検索できるように
|
|
||||||
- Feat: モデレーションにおいて、特定のドライブファイルを添付しているチャットメッセージを一覧できるように
|
|
||||||
- Enhance: ウォーターマーク機能をロールで制御可能に
|
|
||||||
|
|
||||||
### Client
|
### Client
|
||||||
- Note: 「自動でもっと見る」オプションは無効になっています
|
|
||||||
- Feat: モデログを検索できるように
|
|
||||||
- Enhance: 設定の自動バックアップをオンにした直後に自動バックアップするように
|
- Enhance: 設定の自動バックアップをオンにした直後に自動バックアップするように
|
||||||
- Enhance: ファイルアップロード前にキャプション設定を行えるように
|
- Enhance: ファイルアップロード前にキャプション設定を行えるように
|
||||||
- Enhance: ファイルアップロード時にセンシティブ設定されているか表示するように
|
- Enhance: ページネーションの並び順を逆にできるように
|
||||||
- Enhance: 投稿フォームにファイルをペースト/ドロップした際のUXを改善
|
|
||||||
- Enhance: ページネーション(一覧表示)の並び順を逆にできるように
|
|
||||||
- Enhance: ページネーション(一覧表示)の基準日時を指定できるように
|
|
||||||
- Enhance: レンダリングパフォーマンスの向上
|
|
||||||
- Fix: ファイルがドライブの既定アップロード先に指定したフォルダにアップロードされない問題を修正
|
- Fix: ファイルがドライブの既定アップロード先に指定したフォルダにアップロードされない問題を修正
|
||||||
- Fix: プラグインをアンインストールしてもセーブデータが残る問題を修正
|
|
||||||
- Fix: 数時間後Misskeyのタブに戻った際に、タブがスロットリングされている間の更新アニメーションを延々見せ続けられる問題を修正
|
|
||||||
- Fix: 非ログイン時のハイライトノートの画像がCWの有無を考慮せず表示される問題を修正
|
|
||||||
- Fix: レンジ選択・ドロップダウンにて、操作を無効にすべきところで無効にならない問題を修正
|
|
||||||
- Fix: Pull to refreshが有効なときに横スクロールができない問題を修正
|
|
||||||
|
|
||||||
### Server
|
### Server
|
||||||
- Enhance: sinceId/untilIdが指定可能なエンドポイントにおいて、sinceDate/untilDateも指定可能に
|
|
||||||
- Enhance: メールの送信者としてサーバー名を表示するように (サーバー名が設定されている場合)
|
|
||||||
- Fix: ジョブキューのProgressの値を正しく計算する
|
- Fix: ジョブキューのProgressの値を正しく計算する
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -618,23 +618,3 @@ color: hsl(from var(--MI_THEME-accent) h s calc(l - 10));
|
||||||
color: color(from var(--MI_THEME-accent) srgb r g b / 0.5);
|
color: color(from var(--MI_THEME-accent) srgb r g b / 0.5);
|
||||||
```
|
```
|
||||||
|
|
||||||
## 考え方
|
|
||||||
### DRYに囚われるな
|
|
||||||
必要なのは一般化ではなく抽象化と考えます。
|
|
||||||
盲信せず、誤った・不必要な共通化は避け、それが自然だと感じる場合は重複させる勇気を持ちましょう。
|
|
||||||
|
|
||||||
### Misskeyを複雑にしない実装
|
|
||||||
それがいくら複雑であっても、Misskey固有のコンテキストと関心が分離されている(もしくは事実上分離されていると見做すことができる)実装であれば、それはMisskeyのコードベースに対する複雑性に影響を与えないと考えます。
|
|
||||||
|
|
||||||
例えるなら、VueやAiScriptといったMisskeyが使用しているライブラリの内部実装がいくら複雑だったとしても、「それを使用しているからMisskeyの実装は複雑である」ということにはならないのと同じです。
|
|
||||||
|
|
||||||
Misskeyのドメイン知識から関心が分離されているということは、Misskeyの実装について考える時にそれらの内部実装を考慮する必要が無く、認知負荷を増やさないからです。
|
|
||||||
|
|
||||||
また重要な点は、その実装が、Misskeyリポジトリの外部にあるか・内部にあるかということや、Misskeyがメンテナンスするものか・第三者がメンテナンスするものかといったことは複雑性を考える上ではほとんど無視できるという点です。
|
|
||||||
|
|
||||||
もちろんその実装がMisskeyリポジトリにあり、Misskeyがメンテナンスしなければならないものは、保守のコストはかかります。
|
|
||||||
しかし、Misskeyの本質的な設計・実装という観点で見たときは、その実装は実質的に外部ライブラリのように振る舞います。
|
|
||||||
換言すれば「たまたまMisskeyの開発者と同じ人たちがメンテナンスしているし、たまたまMisskeyのリポジトリ内に置いてあるだけの外部ライブラリ」です。
|
|
||||||
|
|
||||||
そのため、実装をなるべくMisskeyのドメイン知識から独立したものにすれば、Misskeyのコードベースの複雑性を上げることなく機能実装を行うことができ、お得であると言えます。
|
|
||||||
もちろんそれにこだわって、些細な実装でもそのように分離してしまうとかえって認知負荷が増えたり、実装量が増えてメリットをデメリットが上回る場合もあるので、ケースバイケースではあります。
|
|
||||||
|
|
|
||||||
2
COPYING
2
COPYING
|
|
@ -1,5 +1,5 @@
|
||||||
Unless otherwise stated this repository is
|
Unless otherwise stated this repository is
|
||||||
Copyright © 2014-2026 syuilo and contributors
|
Copyright © 2014-2025 syuilo and contributors
|
||||||
|
|
||||||
And is distributed under The GNU Affero General Public License Version 3, you should have received a copy of the license file as LICENSE.
|
And is distributed under The GNU Affero General Public License Version 3, you should have received a copy of the license file as LICENSE.
|
||||||
|
|
||||||
|
|
|
||||||
10
Dockerfile
10
Dockerfile
|
|
@ -1,6 +1,6 @@
|
||||||
# syntax = docker/dockerfile:1.20
|
# syntax = docker/dockerfile:1.4
|
||||||
|
|
||||||
ARG NODE_VERSION=22.21.1-bookworm
|
ARG NODE_VERSION=22.15.0-bookworm
|
||||||
|
|
||||||
# build assets & compile TypeScript
|
# build assets & compile TypeScript
|
||||||
|
|
||||||
|
|
@ -18,13 +18,10 @@ WORKDIR /misskey
|
||||||
|
|
||||||
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
|
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
|
||||||
COPY --link ["scripts", "./scripts"]
|
COPY --link ["scripts", "./scripts"]
|
||||||
COPY --link ["patches", "./patches"]
|
|
||||||
COPY --link ["packages/backend/package.json", "./packages/backend/"]
|
COPY --link ["packages/backend/package.json", "./packages/backend/"]
|
||||||
COPY --link ["packages/frontend-shared/package.json", "./packages/frontend-shared/"]
|
COPY --link ["packages/frontend-shared/package.json", "./packages/frontend-shared/"]
|
||||||
COPY --link ["packages/frontend/package.json", "./packages/frontend/"]
|
COPY --link ["packages/frontend/package.json", "./packages/frontend/"]
|
||||||
COPY --link ["packages/frontend-embed/package.json", "./packages/frontend-embed/"]
|
COPY --link ["packages/frontend-embed/package.json", "./packages/frontend-embed/"]
|
||||||
COPY --link ["packages/frontend-builder/package.json", "./packages/frontend-builder/"]
|
|
||||||
COPY --link ["packages/i18n/package.json", "./packages/i18n/"]
|
|
||||||
COPY --link ["packages/icons-subsetter/package.json", "./packages/icons-subsetter/"]
|
COPY --link ["packages/icons-subsetter/package.json", "./packages/icons-subsetter/"]
|
||||||
COPY --link ["packages/sw/package.json", "./packages/sw/"]
|
COPY --link ["packages/sw/package.json", "./packages/sw/"]
|
||||||
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
|
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
|
||||||
|
|
@ -56,7 +53,6 @@ WORKDIR /misskey
|
||||||
|
|
||||||
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
|
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
|
||||||
COPY --link ["scripts", "./scripts"]
|
COPY --link ["scripts", "./scripts"]
|
||||||
COPY --link ["patches", "./patches"]
|
|
||||||
COPY --link ["packages/backend/package.json", "./packages/backend/"]
|
COPY --link ["packages/backend/package.json", "./packages/backend/"]
|
||||||
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
|
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
|
||||||
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
|
COPY --link ["packages/misskey-reversi/package.json", "./packages/misskey-reversi/"]
|
||||||
|
|
@ -102,8 +98,6 @@ COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-js/
|
||||||
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-reversi/built ./packages/misskey-reversi/built
|
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-reversi/built ./packages/misskey-reversi/built
|
||||||
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-bubble-game/built ./packages/misskey-bubble-game/built
|
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/misskey-bubble-game/built ./packages/misskey-bubble-game/built
|
||||||
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/backend/built ./packages/backend/built
|
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/backend/built ./packages/backend/built
|
||||||
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/backend/src-js ./packages/backend/src-js
|
|
||||||
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/i18n/built ./packages/i18n/built
|
|
||||||
COPY --chown=misskey:misskey --from=native-builder /misskey/fluent-emojis /misskey/fluent-emojis
|
COPY --chown=misskey:misskey --from=native-builder /misskey/fluent-emojis /misskey/fluent-emojis
|
||||||
COPY --chown=misskey:misskey . ./
|
COPY --chown=misskey:misskey . ./
|
||||||
|
|
||||||
|
|
|
||||||
14
README.md
14
README.md
|
|
@ -24,10 +24,6 @@
|
||||||
<a href="https://www.patreon.com/syuilo">
|
<a href="https://www.patreon.com/syuilo">
|
||||||
<img src="https://custom-icon-badges.herokuapp.com/badge/become_a-patron-F96854?logoColor=F96854&style=for-the-badge&logo=patreon&labelColor=363B40" alt="become a patron"/></a>
|
<img src="https://custom-icon-badges.herokuapp.com/badge/become_a-patron-F96854?logoColor=F96854&style=for-the-badge&logo=patreon&labelColor=363B40" alt="become a patron"/></a>
|
||||||
|
|
||||||
[](https://deepwiki.com/misskey-dev/misskey)
|
|
||||||
|
|
||||||
<a href="https://flatt.tech/oss/gmo/trampoline" target="_blank"><img src="https://flatt.tech/assets/images/badges/gmo-oss.svg" height="24px"/></a>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Thanks
|
## Thanks
|
||||||
|
|
@ -51,13 +47,3 @@ Thanks to [Crowdin](https://crowdin.com/) for providing the localization platfor
|
||||||
<a href="https://hub.docker.com/"><img src="https://user-images.githubusercontent.com/20679825/230148221-f8e73a32-a49b-47c3-9029-9a15c3824f92.png" height="30" alt="Docker" /></a>
|
<a href="https://hub.docker.com/"><img src="https://user-images.githubusercontent.com/20679825/230148221-f8e73a32-a49b-47c3-9029-9a15c3824f92.png" height="30" alt="Docker" /></a>
|
||||||
|
|
||||||
Thanks to [Docker](https://hub.docker.com/) for providing the container platform that helps us run Misskey in production.
|
Thanks to [Docker](https://hub.docker.com/) for providing the container platform that helps us run Misskey in production.
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<div align="center">
|
|
||||||
|
|
||||||
Support us with a ⭐ !
|
|
||||||
|
|
||||||
[](https://star-history.com/#misskey-dev/misskey&Date)
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ 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.
|
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 (backend)~~ → Done ✔️
|
||||||
- ~~Make the number of type errors zero (frontend)~~ → Done ✔️
|
- Make the number of type errors zero (frontend)
|
||||||
- Improve CI
|
- Improve CI
|
||||||
- ~~Fix tests~~ → Done ✔️
|
- ~~Fix tests~~ → Done ✔️
|
||||||
- Fix random test failures - https://github.com/misskey-dev/misskey/issues/7985 and https://github.com/misskey-dev/misskey/issues/7986
|
- Fix random test failures - https://github.com/misskey-dev/misskey/issues/7985 and https://github.com/misskey-dev/misskey/issues/7986
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ spec:
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 3000
|
- containerPort: 3000
|
||||||
- name: postgres
|
- name: postgres
|
||||||
image: postgres:18-alpine
|
image: postgres:15-alpine
|
||||||
env:
|
env:
|
||||||
- name: POSTGRES_USER
|
- name: POSTGRES_USER
|
||||||
value: "example-misskey-user"
|
value: "example-misskey-user"
|
||||||
|
|
|
||||||
|
|
@ -15,13 +15,13 @@ services:
|
||||||
|
|
||||||
db:
|
db:
|
||||||
restart: always
|
restart: always
|
||||||
image: postgres:18-alpine
|
image: postgres:15-alpine
|
||||||
ports:
|
ports:
|
||||||
- "5432:5432"
|
- "5432:5432"
|
||||||
env_file:
|
env_file:
|
||||||
- .config/docker.env
|
- .config/docker.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./db:/var/lib/postgresql
|
- ./db:/var/lib/postgresql/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
|
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
|
||||||
interval: 5s
|
interval: 5s
|
||||||
|
|
|
||||||
|
|
@ -37,13 +37,13 @@ services:
|
||||||
|
|
||||||
db:
|
db:
|
||||||
restart: always
|
restart: always
|
||||||
image: postgres:18-alpine
|
image: postgres:15-alpine
|
||||||
networks:
|
networks:
|
||||||
- internal_network
|
- internal_network
|
||||||
env_file:
|
env_file:
|
||||||
- .config/docker.env
|
- .config/docker.env
|
||||||
volumes:
|
volumes:
|
||||||
- ./db:/var/lib/postgresql
|
- ./db:/var/lib/postgresql/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
|
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
|
||||||
interval: 5s
|
interval: 5s
|
||||||
|
|
|
||||||
|
|
@ -78,8 +78,6 @@ describe('After setup instance', () => {
|
||||||
cy.get('[data-cy-signup-password] input').type('alice1234');
|
cy.get('[data-cy-signup-password] input').type('alice1234');
|
||||||
cy.get('[data-cy-signup-submit]').should('be.disabled');
|
cy.get('[data-cy-signup-submit]').should('be.disabled');
|
||||||
cy.get('[data-cy-signup-password-retype] input').type('alice1234');
|
cy.get('[data-cy-signup-password-retype] input').type('alice1234');
|
||||||
cy.get('[data-cy-signup-submit]').should('be.disabled');
|
|
||||||
cy.get('[data-cy-signup-invitation-code] input').type('test-invitation-code');
|
|
||||||
cy.get('[data-cy-signup-submit]').should('not.be.disabled');
|
cy.get('[data-cy-signup-submit]').should('not.be.disabled');
|
||||||
cy.get('[data-cy-signup-submit]').click();
|
cy.get('[data-cy-signup-submit]').click();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
||||||
import { action } from 'storybook/actions';
|
import { action } from '@storybook/addon-actions';
|
||||||
import type { StoryObj } from '@storybook/vue3';
|
import { StoryObj } from '@storybook/vue3';
|
||||||
import { HttpResponse, http } from 'msw';
|
import { HttpResponse, http } from 'msw';
|
||||||
import { abuseUserReport } from '../packages/frontend/.storybook/fakes.js';
|
import { abuseUserReport } from '../packages/frontend/.storybook/fakes.js';
|
||||||
import { commonHandlers } from '../packages/frontend/.storybook/mocks.js';
|
import { commonHandlers } from '../packages/frontend/.storybook/mocks.js';
|
||||||
|
|
|
||||||
|
|
@ -1,232 +0,0 @@
|
||||||
<!--
|
|
||||||
SPDX-FileCopyrightText: syuilo and misskey-project
|
|
||||||
SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
-->
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<canvas ref="canvasEl" style="display: block; width: 100%; height: 100%; pointer-events: none;"></canvas>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" setup>
|
|
||||||
import { onMounted, onUnmounted, useTemplateRef } from 'vue';
|
|
||||||
import isChromatic from 'chromatic/isChromatic';
|
|
||||||
import { initShaderProgram } from '@/utility/webgl.js';
|
|
||||||
|
|
||||||
const VERTEX_SHADER = `#version 300 es
|
|
||||||
in vec2 position;
|
|
||||||
out vec2 in_uv;
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
in_uv = (position + 1.0) / 2.0;
|
|
||||||
gl_Position = vec4(position, 0.0, 1.0);
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const FRAGMENT_SHADER = `#version 300 es
|
|
||||||
precision mediump float;
|
|
||||||
|
|
||||||
const float PI = 3.141592653589793;
|
|
||||||
const float TWO_PI = 6.283185307179586;
|
|
||||||
const float HALF_PI = 1.5707963267948966;
|
|
||||||
|
|
||||||
in vec2 in_uv;
|
|
||||||
uniform vec2 in_resolution;
|
|
||||||
uniform float u_scale;
|
|
||||||
uniform float u_time;
|
|
||||||
uniform float u_seed;
|
|
||||||
uniform float u_angle;
|
|
||||||
uniform float u_radius;
|
|
||||||
uniform vec3 u_color;
|
|
||||||
uniform vec2 u_ripplePositions[16];
|
|
||||||
uniform float u_rippleRadiuses[16];
|
|
||||||
out vec4 out_color;
|
|
||||||
|
|
||||||
float getRipple(vec2 uv) {
|
|
||||||
float strength = 0.0;
|
|
||||||
float thickness = 0.05;
|
|
||||||
for (int i = 0; i < 16; i++) {
|
|
||||||
if (u_rippleRadiuses[i] <= 0.0) continue;
|
|
||||||
|
|
||||||
float d = distance(uv, u_ripplePositions[i]);
|
|
||||||
|
|
||||||
// フチ
|
|
||||||
if (d < u_rippleRadiuses[i] + thickness && d > u_rippleRadiuses[i] - thickness) {
|
|
||||||
float gradate = abs(d - u_rippleRadiuses[i] + thickness) / thickness;
|
|
||||||
strength += (1.0 - u_rippleRadiuses[i]) * gradate;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 内側
|
|
||||||
if (d < u_rippleRadiuses[i] + thickness) {
|
|
||||||
strength += 0.25 * (1.0 - u_rippleRadiuses[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return strength;
|
|
||||||
}
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
float x_ratio = min(in_resolution.x / in_resolution.y, 1.0);
|
|
||||||
float y_ratio = min(in_resolution.y / in_resolution.x, 1.0);
|
|
||||||
|
|
||||||
float angle = -(u_angle * PI);
|
|
||||||
vec2 centeredUv = (in_uv - vec2(0.5, 0.5)) * vec2(x_ratio, y_ratio);
|
|
||||||
vec2 rotatedUV = vec2(
|
|
||||||
centeredUv.x * cos(angle) - centeredUv.y * sin(angle),
|
|
||||||
centeredUv.x * sin(angle) + centeredUv.y * cos(angle)
|
|
||||||
);
|
|
||||||
vec2 uv = rotatedUV;
|
|
||||||
|
|
||||||
float time = u_time * 0.00025;
|
|
||||||
|
|
||||||
float size = 1.0 / u_scale;
|
|
||||||
float size_half = size / 2.0;
|
|
||||||
float modX = mod(uv.x, size);
|
|
||||||
float modY = mod(uv.y, size);
|
|
||||||
|
|
||||||
vec2 pixelated_uv = vec2(
|
|
||||||
(size * (floor((uv.x - 0.5 - size) / size) + 0.5)),
|
|
||||||
(size * (floor((uv.y - 0.5 - size) / size) + 0.5))
|
|
||||||
) + vec2(0.5 + size, 0.5 + size);
|
|
||||||
|
|
||||||
float strength = getRipple(pixelated_uv);
|
|
||||||
|
|
||||||
float opacity = min(max(strength, 0.0), 1.0);
|
|
||||||
|
|
||||||
float threshold = ((u_radius / 2.0) / u_scale);
|
|
||||||
if (length(vec2(modX - size_half, modY - size_half)) < threshold) {
|
|
||||||
out_color = vec4(u_color.r, u_color.g, u_color.b, opacity);
|
|
||||||
//out_color = vec4(1.0);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// debug
|
|
||||||
//float a = min(max(getRipple(uv), 0.0), 1.0);
|
|
||||||
//out_color = vec4(u_color.r, u_color.g, u_color.b, (opacity + a) / 2.0);
|
|
||||||
|
|
||||||
out_color = vec4(0.0, 0.0, 0.0, 0.0);
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const canvasEl = useTemplateRef('canvasEl');
|
|
||||||
|
|
||||||
const props = withDefaults(defineProps<{
|
|
||||||
scale?: number;
|
|
||||||
}>(), {
|
|
||||||
scale: 48,
|
|
||||||
});
|
|
||||||
|
|
||||||
let handle: ReturnType<typeof window['requestAnimationFrame']> | null = null;
|
|
||||||
|
|
||||||
onMounted(() => {
|
|
||||||
const canvas = canvasEl.value!;
|
|
||||||
let width = canvas.offsetWidth;
|
|
||||||
let height = canvas.offsetHeight;
|
|
||||||
canvas.width = width;
|
|
||||||
canvas.height = height;
|
|
||||||
|
|
||||||
const maybeGl = canvas.getContext('webgl2', { preserveDrawingBuffer: false, alpha: true, premultipliedAlpha: false, antialias: true });
|
|
||||||
if (maybeGl == null) return;
|
|
||||||
|
|
||||||
const gl = maybeGl;
|
|
||||||
|
|
||||||
const VERTICES = new Float32Array([-1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1]);
|
|
||||||
const vertexBuffer = gl.createBuffer();
|
|
||||||
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
|
|
||||||
gl.bufferData(gl.ARRAY_BUFFER, VERTICES, gl.STATIC_DRAW);
|
|
||||||
|
|
||||||
//gl.clearColor(0.0, 0.0, 0.0, 0.0);
|
|
||||||
//gl.clear(gl.COLOR_BUFFER_BIT);
|
|
||||||
|
|
||||||
const shaderProgram = initShaderProgram(gl, VERTEX_SHADER, FRAGMENT_SHADER);
|
|
||||||
|
|
||||||
gl.useProgram(shaderProgram);
|
|
||||||
|
|
||||||
const positionLocation = gl.getAttribLocation(shaderProgram, 'position');
|
|
||||||
gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0);
|
|
||||||
gl.enableVertexAttribArray(positionLocation);
|
|
||||||
|
|
||||||
const in_resolution = gl.getUniformLocation(shaderProgram, 'in_resolution');
|
|
||||||
gl.uniform2fv(in_resolution, [canvas.width, canvas.height]);
|
|
||||||
|
|
||||||
const u_time = gl.getUniformLocation(shaderProgram, 'u_time');
|
|
||||||
const u_seed = gl.getUniformLocation(shaderProgram, 'u_seed');
|
|
||||||
const u_scale = gl.getUniformLocation(shaderProgram, 'u_scale');
|
|
||||||
const u_angle = gl.getUniformLocation(shaderProgram, 'u_angle');
|
|
||||||
const u_radius = gl.getUniformLocation(shaderProgram, 'u_radius');
|
|
||||||
const u_color = gl.getUniformLocation(shaderProgram, 'u_color');
|
|
||||||
gl.uniform1f(u_seed, Math.random() * 1000);
|
|
||||||
gl.uniform1f(u_scale, props.scale);
|
|
||||||
gl.uniform1f(u_angle, 0.0);
|
|
||||||
gl.uniform1f(u_radius, 0.15);
|
|
||||||
gl.uniform3fv(u_color, [0.5, 1.0, 0]);
|
|
||||||
|
|
||||||
if (isChromatic()) {
|
|
||||||
gl.uniform1f(u_time, 0);
|
|
||||||
gl.drawArrays(gl.TRIANGLES, 0, 6);
|
|
||||||
} else {
|
|
||||||
let ripples = [] as { position: [number, number]; startTime: number; }[];
|
|
||||||
const LIFE_TIME = 1000 * 4;
|
|
||||||
|
|
||||||
function render(timeStamp: number) {
|
|
||||||
let sizeChanged = false;
|
|
||||||
if (Math.abs(height - canvas.offsetHeight) > 2) {
|
|
||||||
height = canvas.offsetHeight;
|
|
||||||
canvas.height = height;
|
|
||||||
sizeChanged = true;
|
|
||||||
}
|
|
||||||
if (Math.abs(width - canvas.offsetWidth) > 2) {
|
|
||||||
width = canvas.offsetWidth;
|
|
||||||
canvas.width = width;
|
|
||||||
sizeChanged = true;
|
|
||||||
}
|
|
||||||
if (sizeChanged && gl) {
|
|
||||||
gl.uniform2fv(in_resolution, [width, height]);
|
|
||||||
gl.viewport(0, 0, width, height);
|
|
||||||
}
|
|
||||||
|
|
||||||
gl.uniform1f(u_time, timeStamp);
|
|
||||||
|
|
||||||
if (Math.random() < 0.01 && ripples.length < 16) {
|
|
||||||
ripples.push({ position: [(Math.random() * 2) - 1, (Math.random() * 2) - 1], startTime: timeStamp });
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let i = 0; i < 16; i++) {
|
|
||||||
const o = gl.getUniformLocation(shaderProgram, `u_ripplePositions[${i.toString()}]`);
|
|
||||||
const r = gl.getUniformLocation(shaderProgram, `u_rippleRadiuses[${i.toString()}]`);
|
|
||||||
const ripple = ripples[i];
|
|
||||||
if (ripple == null) {
|
|
||||||
gl.uniform2f(o, 0, 0);
|
|
||||||
gl.uniform1f(r, 0.0);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
const delta = timeStamp - ripple.startTime;
|
|
||||||
|
|
||||||
gl.uniform2f(o, ripple.position[0], ripple.position[1]);
|
|
||||||
gl.uniform1f(r, delta / LIFE_TIME);
|
|
||||||
}
|
|
||||||
|
|
||||||
ripples = ripples.filter(r => (timeStamp - r.startTime) < LIFE_TIME);
|
|
||||||
if (ripples.length === 0) {
|
|
||||||
ripples.push({ position: [(Math.random() * 2) - 1, (Math.random() * 2) - 1], startTime: timeStamp });
|
|
||||||
}
|
|
||||||
|
|
||||||
gl.drawArrays(gl.TRIANGLES, 0, 6);
|
|
||||||
|
|
||||||
handle = window.requestAnimationFrame(render);
|
|
||||||
}
|
|
||||||
|
|
||||||
handle = window.requestAnimationFrame(render);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
onUnmounted(() => {
|
|
||||||
if (handle) {
|
|
||||||
window.cancelAnimationFrame(handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: WebGLリソースの解放
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" module>
|
|
||||||
</style>
|
|
||||||
|
|
@ -1,190 +0,0 @@
|
||||||
<!--
|
|
||||||
SPDX-FileCopyrightText: syuilo and misskey-project
|
|
||||||
SPDX-License-Identifier: AGPL-3.0-only
|
|
||||||
-->
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<canvas ref="canvasEl" style="display: block; width: 100%; height: 100%; pointer-events: none;"></canvas>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" setup>
|
|
||||||
import { onMounted, onUnmounted, useTemplateRef } from 'vue';
|
|
||||||
import isChromatic from 'chromatic/isChromatic';
|
|
||||||
import { GLSL_LIB_SNOISE, initShaderProgram } from '@/utility/webgl.js';
|
|
||||||
|
|
||||||
const VERTEX_SHADER = `#version 300 es
|
|
||||||
in vec2 position;
|
|
||||||
out vec2 in_uv;
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
in_uv = (position + 1.0) / 2.0;
|
|
||||||
gl_Position = vec4(position, 0.0, 1.0);
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const FRAGMENT_SHADER = `#version 300 es
|
|
||||||
precision mediump float;
|
|
||||||
|
|
||||||
const float PI = 3.141592653589793;
|
|
||||||
const float TWO_PI = 6.283185307179586;
|
|
||||||
const float HALF_PI = 1.5707963267948966;
|
|
||||||
|
|
||||||
${GLSL_LIB_SNOISE}
|
|
||||||
|
|
||||||
in vec2 in_uv;
|
|
||||||
uniform vec2 in_resolution;
|
|
||||||
uniform float u_scale;
|
|
||||||
uniform float u_time;
|
|
||||||
uniform float u_seed;
|
|
||||||
uniform float u_angle;
|
|
||||||
uniform float u_radius;
|
|
||||||
uniform vec3 u_color;
|
|
||||||
out vec4 out_color;
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
float x_ratio = min(in_resolution.x / in_resolution.y, 1.0);
|
|
||||||
float y_ratio = min(in_resolution.y / in_resolution.x, 1.0);
|
|
||||||
|
|
||||||
float size = 1.0 / u_scale;
|
|
||||||
float size_half = size / 2.0;
|
|
||||||
|
|
||||||
float angle = -(u_angle * PI);
|
|
||||||
vec2 centeredUv = (in_uv - vec2(0.5, 0.5)) * vec2(x_ratio, y_ratio);
|
|
||||||
vec2 rotatedUV = vec2(
|
|
||||||
centeredUv.x * cos(angle) - centeredUv.y * sin(angle),
|
|
||||||
centeredUv.x * sin(angle) + centeredUv.y * cos(angle)
|
|
||||||
);
|
|
||||||
vec2 uv = rotatedUV;
|
|
||||||
|
|
||||||
float modX = mod(uv.x, size);
|
|
||||||
float modY = mod(uv.y, size);
|
|
||||||
|
|
||||||
vec2 pixelated_uv = vec2(
|
|
||||||
(size * (floor((uv.x - 0.5 - size) / size) + 0.5)),
|
|
||||||
(size * (floor((uv.y - 0.5 - size) / size) + 0.5))
|
|
||||||
) + vec2(0.5 + size, 0.5 + size);
|
|
||||||
|
|
||||||
float time = u_time * 0.00025;
|
|
||||||
|
|
||||||
float noiseAScale = 1.0;
|
|
||||||
float noiseAX = (pixelated_uv.x + u_seed) * (u_scale / noiseAScale);
|
|
||||||
float noiseAY = (pixelated_uv.y + u_seed) * (u_scale / noiseAScale);
|
|
||||||
float noiseA = snoise(vec3(noiseAX, noiseAY, time * 2.0));
|
|
||||||
|
|
||||||
float noiseBScale = 32.0;
|
|
||||||
float noiseBX = (pixelated_uv.x + u_seed) * (u_scale / noiseBScale);
|
|
||||||
float noiseBY = (pixelated_uv.y + u_seed) * (u_scale / noiseBScale);
|
|
||||||
float noiseB = snoise(vec3(noiseBX, noiseBY, time));
|
|
||||||
|
|
||||||
float strength = 0.0;
|
|
||||||
strength += noiseA * 0.2;
|
|
||||||
strength += noiseB * 0.8;
|
|
||||||
|
|
||||||
float opacity = min(max(strength, 0.0), 1.0);
|
|
||||||
|
|
||||||
float threshold = ((u_radius / 2.0) / u_scale);
|
|
||||||
if (length(vec2(modX - size_half, modY - size_half)) < threshold) {
|
|
||||||
out_color = vec4(u_color.r, u_color.g, u_color.b, opacity);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
out_color = vec4(0.0, 0.0, 0.0, 0.0);
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const canvasEl = useTemplateRef('canvasEl');
|
|
||||||
|
|
||||||
const props = withDefaults(defineProps<{
|
|
||||||
scale?: number;
|
|
||||||
}>(), {
|
|
||||||
scale: 48,
|
|
||||||
});
|
|
||||||
|
|
||||||
let handle: ReturnType<typeof window['requestAnimationFrame']> | null = null;
|
|
||||||
|
|
||||||
onMounted(() => {
|
|
||||||
const canvas = canvasEl.value!;
|
|
||||||
let width = canvas.offsetWidth;
|
|
||||||
let height = canvas.offsetHeight;
|
|
||||||
canvas.width = width;
|
|
||||||
canvas.height = height;
|
|
||||||
|
|
||||||
const maybeGl = canvas.getContext('webgl2', { preserveDrawingBuffer: false, alpha: true, premultipliedAlpha: false, antialias: true });
|
|
||||||
if (maybeGl == null) return;
|
|
||||||
|
|
||||||
const gl = maybeGl;
|
|
||||||
|
|
||||||
const VERTICES = new Float32Array([-1, -1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1]);
|
|
||||||
const vertexBuffer = gl.createBuffer();
|
|
||||||
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
|
|
||||||
gl.bufferData(gl.ARRAY_BUFFER, VERTICES, gl.STATIC_DRAW);
|
|
||||||
|
|
||||||
//gl.clearColor(0.0, 0.0, 0.0, 0.0);
|
|
||||||
//gl.clear(gl.COLOR_BUFFER_BIT);
|
|
||||||
|
|
||||||
const shaderProgram = initShaderProgram(gl, VERTEX_SHADER, FRAGMENT_SHADER);
|
|
||||||
|
|
||||||
gl.useProgram(shaderProgram);
|
|
||||||
|
|
||||||
const positionLocation = gl.getAttribLocation(shaderProgram, 'position');
|
|
||||||
gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0);
|
|
||||||
gl.enableVertexAttribArray(positionLocation);
|
|
||||||
|
|
||||||
const in_resolution = gl.getUniformLocation(shaderProgram, 'in_resolution');
|
|
||||||
gl.uniform2fv(in_resolution, [canvas.width, canvas.height]);
|
|
||||||
|
|
||||||
const u_time = gl.getUniformLocation(shaderProgram, 'u_time');
|
|
||||||
const u_seed = gl.getUniformLocation(shaderProgram, 'u_seed');
|
|
||||||
const u_scale = gl.getUniformLocation(shaderProgram, 'u_scale');
|
|
||||||
const u_angle = gl.getUniformLocation(shaderProgram, 'u_angle');
|
|
||||||
const u_radius = gl.getUniformLocation(shaderProgram, 'u_radius');
|
|
||||||
const u_color = gl.getUniformLocation(shaderProgram, 'u_color');
|
|
||||||
gl.uniform1f(u_seed, Math.random() * 1000);
|
|
||||||
gl.uniform1f(u_scale, props.scale);
|
|
||||||
gl.uniform1f(u_angle, 0.0);
|
|
||||||
gl.uniform1f(u_radius, 0.15);
|
|
||||||
gl.uniform3fv(u_color, [0.5, 1.0, 0]);
|
|
||||||
|
|
||||||
if (isChromatic()) {
|
|
||||||
gl.uniform1f(u_time, 0);
|
|
||||||
gl.drawArrays(gl.TRIANGLES, 0, 6);
|
|
||||||
} else {
|
|
||||||
function render(timeStamp: number) {
|
|
||||||
let sizeChanged = false;
|
|
||||||
if (Math.abs(height - canvas.offsetHeight) > 2) {
|
|
||||||
height = canvas.offsetHeight;
|
|
||||||
canvas.height = height;
|
|
||||||
sizeChanged = true;
|
|
||||||
}
|
|
||||||
if (Math.abs(width - canvas.offsetWidth) > 2) {
|
|
||||||
width = canvas.offsetWidth;
|
|
||||||
canvas.width = width;
|
|
||||||
sizeChanged = true;
|
|
||||||
}
|
|
||||||
if (sizeChanged && gl) {
|
|
||||||
gl.uniform2fv(in_resolution, [width, height]);
|
|
||||||
gl.viewport(0, 0, width, height);
|
|
||||||
}
|
|
||||||
|
|
||||||
gl.uniform1f(u_time, timeStamp);
|
|
||||||
|
|
||||||
gl.drawArrays(gl.TRIANGLES, 0, 6);
|
|
||||||
|
|
||||||
handle = window.requestAnimationFrame(render);
|
|
||||||
}
|
|
||||||
|
|
||||||
handle = window.requestAnimationFrame(render);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
onUnmounted(() => {
|
|
||||||
if (handle) {
|
|
||||||
window.cancelAnimationFrame(handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: WebGLリソースの解放
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" module>
|
|
||||||
</style>
|
|
||||||
|
|
@ -68,7 +68,7 @@ receiveFollowRequest: "تلقيت طلب متابعة"
|
||||||
followRequestAccepted: "قُبل طلب المتابعة"
|
followRequestAccepted: "قُبل طلب المتابعة"
|
||||||
mention: "أشر الى"
|
mention: "أشر الى"
|
||||||
mentions: "الإشارات"
|
mentions: "الإشارات"
|
||||||
directNotes: "رسالة خاصة"
|
directNotes: "الملاحظات المباشرة"
|
||||||
importAndExport: "إستورد / صدر"
|
importAndExport: "إستورد / صدر"
|
||||||
import: "استيراد"
|
import: "استيراد"
|
||||||
export: "تصدير"
|
export: "تصدير"
|
||||||
|
|
@ -1008,17 +1008,6 @@ lastNDays: "آخر {n} أيام"
|
||||||
surrender: "ألغِ"
|
surrender: "ألغِ"
|
||||||
postForm: "أنشئ ملاحظة"
|
postForm: "أنشئ ملاحظة"
|
||||||
information: "عن"
|
information: "عن"
|
||||||
inMinutes: "د"
|
|
||||||
inDays: "ي"
|
|
||||||
widgets: "التطبيقات المُصغّرة"
|
|
||||||
presets: "إعدادات مسبقة"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "اسم الملف"
|
|
||||||
_imageFrameEditor:
|
|
||||||
font: "الخط"
|
|
||||||
fontSerif: "Serif"
|
|
||||||
fontSansSerif: "Sans Serif"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "دعوة"
|
invitations: "دعوة"
|
||||||
noHistory: "السجل فارغ"
|
noHistory: "السجل فارغ"
|
||||||
|
|
@ -1365,14 +1354,6 @@ _widgets:
|
||||||
userList: "قائمة المستخدمين"
|
userList: "قائمة المستخدمين"
|
||||||
_userList:
|
_userList:
|
||||||
chooseList: "اختر قائمة"
|
chooseList: "اختر قائمة"
|
||||||
_widgetOptions:
|
|
||||||
height: "الإرتفاع"
|
|
||||||
_button:
|
|
||||||
colored: "ملوّن"
|
|
||||||
_clock:
|
|
||||||
size: "الحجم"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "المدة"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "إخفاء"
|
hide: "إخفاء"
|
||||||
show: "عرض المزيد"
|
show: "عرض المزيد"
|
||||||
|
|
@ -1413,9 +1394,6 @@ _postForm:
|
||||||
replyPlaceholder: "رد على هذه الملاحظة…"
|
replyPlaceholder: "رد على هذه الملاحظة…"
|
||||||
quotePlaceholder: "اقتبس هذه الملاحظة…"
|
quotePlaceholder: "اقتبس هذه الملاحظة…"
|
||||||
channelPlaceholder: "انشر في قناة..."
|
channelPlaceholder: "انشر في قناة..."
|
||||||
_howToUse:
|
|
||||||
visibility_title: "الظهور"
|
|
||||||
menu_title: "القائمة"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "ما الذي تنوي فعله؟"
|
a: "ما الذي تنوي فعله؟"
|
||||||
b: "ماذا يحدث حولك ؟"
|
b: "ماذا يحدث حولك ؟"
|
||||||
|
|
@ -1619,13 +1597,3 @@ _watermarkEditor:
|
||||||
type: "نوع"
|
type: "نوع"
|
||||||
image: "صور"
|
image: "صور"
|
||||||
advanced: "متقدم"
|
advanced: "متقدم"
|
||||||
_imageEffector:
|
|
||||||
_fxProps:
|
|
||||||
scale: "الحجم"
|
|
||||||
size: "الحجم"
|
|
||||||
offset: "الموضع"
|
|
||||||
color: "اللون"
|
|
||||||
opacity: "الشفافية"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "المظهر"
|
|
||||||
raw: "نص"
|
|
||||||
|
|
|
||||||
|
|
@ -848,17 +848,6 @@ sourceCode: "সোর্স কোড"
|
||||||
flip: "উল্টান"
|
flip: "উল্টান"
|
||||||
postForm: "নোট লিখুন"
|
postForm: "নোট লিখুন"
|
||||||
information: "আপনার সম্পর্কে"
|
information: "আপনার সম্পর্কে"
|
||||||
inMinutes: "মিনিট"
|
|
||||||
inDays: "দিন"
|
|
||||||
widgets: "উইজেটগুলি"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "ফাইলের নাম"
|
|
||||||
_imageFrameEditor:
|
|
||||||
header: "হেডার"
|
|
||||||
font: "ফন্ট"
|
|
||||||
fontSerif: "সেরিফ"
|
|
||||||
fontSansSerif: "স্যান্স সেরিফ"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "আমন্ত্রণ"
|
invitations: "আমন্ত্রণ"
|
||||||
noHistory: "কোনো ইতিহাস নেই"
|
noHistory: "কোনো ইতিহাস নেই"
|
||||||
|
|
@ -1137,14 +1126,6 @@ _widgets:
|
||||||
aichan: "আই চান"
|
aichan: "আই চান"
|
||||||
_userList:
|
_userList:
|
||||||
chooseList: "লিস্ট নির্বাচন করুন"
|
chooseList: "লিস্ট নির্বাচন করুন"
|
||||||
_widgetOptions:
|
|
||||||
height: "উচ্চতা"
|
|
||||||
_button:
|
|
||||||
colored: "রঙ্গিন"
|
|
||||||
_clock:
|
|
||||||
size: "আকার"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "ব্যাপ্তিকাল"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "লুকান"
|
hide: "লুকান"
|
||||||
show: "আরও দেখুন"
|
show: "আরও দেখুন"
|
||||||
|
|
@ -1185,9 +1166,6 @@ _postForm:
|
||||||
replyPlaceholder: "নোটটির জবাব দিন..."
|
replyPlaceholder: "নোটটির জবাব দিন..."
|
||||||
quotePlaceholder: "নোটটিকে উদ্ধৃত করুন..."
|
quotePlaceholder: "নোটটিকে উদ্ধৃত করুন..."
|
||||||
channelPlaceholder: "চ্যানেলে পোস্ট করুন..."
|
channelPlaceholder: "চ্যানেলে পোস্ট করুন..."
|
||||||
_howToUse:
|
|
||||||
visibility_title: "দৃশ্যমানতা"
|
|
||||||
menu_title: "মেনু"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "আপনি এখন কি করছেন?"
|
a: "আপনি এখন কি করছেন?"
|
||||||
b: "আপনার আশে পাশে কি হচ্ছে?"
|
b: "আপনার আশে পাশে কি হচ্ছে?"
|
||||||
|
|
@ -1377,13 +1355,3 @@ _watermarkEditor:
|
||||||
text: "লেখা"
|
text: "লেখা"
|
||||||
image: "ছবি"
|
image: "ছবি"
|
||||||
advanced: "উন্নত"
|
advanced: "উন্নত"
|
||||||
_imageEffector:
|
|
||||||
_fxProps:
|
|
||||||
scale: "আকার"
|
|
||||||
size: "আকার"
|
|
||||||
color: "রং"
|
|
||||||
opacity: "অস্বচ্ছতা"
|
|
||||||
lightness: "উজ্জ্বল করুন"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "প্রদর্শন"
|
|
||||||
raw: "লেখা"
|
|
||||||
|
|
|
||||||
|
|
@ -83,8 +83,6 @@ files: "Fitxers"
|
||||||
download: "Descarregar"
|
download: "Descarregar"
|
||||||
driveFileDeleteConfirm: "Estàs segur que vols suprimir el fitxer \"{name}\"? Les notes associades a aquest fitxer també seran esborrades."
|
driveFileDeleteConfirm: "Estàs segur que vols suprimir el fitxer \"{name}\"? Les notes associades a aquest fitxer també seran esborrades."
|
||||||
unfollowConfirm: "Segur que vols deixar de seguir a {name}?"
|
unfollowConfirm: "Segur que vols deixar de seguir a {name}?"
|
||||||
cancelFollowRequestConfirm: "Vols cancel·lar la teva sol·licitud de seguiment a {name}?"
|
|
||||||
rejectFollowRequestConfirm: "Vols rebutjar la sol·licitud de seguiment de {name}?"
|
|
||||||
exportRequested: "Has sol·licitat una exportació de dades. Això pot trigar una estona. S'afegirà a la teva unitat de disc un cop estigui completada."
|
exportRequested: "Has sol·licitat una exportació de dades. Això pot trigar una estona. S'afegirà a la teva unitat de disc un cop estigui completada."
|
||||||
importRequested: "Has sol·licitat una importació de dades. Això pot trigar una estona."
|
importRequested: "Has sol·licitat una importació de dades. Això pot trigar una estona."
|
||||||
lists: "Llistes"
|
lists: "Llistes"
|
||||||
|
|
@ -255,7 +253,6 @@ noteDeleteConfirm: "Segur que voleu eliminar aquesta publicació?"
|
||||||
pinLimitExceeded: "No podeu fixar més publicacions"
|
pinLimitExceeded: "No podeu fixar més publicacions"
|
||||||
done: "Fet"
|
done: "Fet"
|
||||||
processing: "S'està processant..."
|
processing: "S'està processant..."
|
||||||
preprocessing: "Preparant"
|
|
||||||
preview: "Vista prèvia"
|
preview: "Vista prèvia"
|
||||||
default: "Per defecte"
|
default: "Per defecte"
|
||||||
defaultValueIs: "Per defecte: {value}"
|
defaultValueIs: "Per defecte: {value}"
|
||||||
|
|
@ -304,7 +301,6 @@ uploadFromUrlMayTakeTime: "La càrrega des de l'enllaç pot trigar un temps"
|
||||||
uploadNFiles: "Pujar {n} arxius"
|
uploadNFiles: "Pujar {n} arxius"
|
||||||
explore: "Explora"
|
explore: "Explora"
|
||||||
messageRead: "Vist"
|
messageRead: "Vist"
|
||||||
readAllChatMessages: "Marcar tots els missatges com a llegits"
|
|
||||||
noMoreHistory: "No hi ha res més per veure"
|
noMoreHistory: "No hi ha res més per veure"
|
||||||
startChat: "Comença a xatejar "
|
startChat: "Comença a xatejar "
|
||||||
nUsersRead: "Vist per {n}"
|
nUsersRead: "Vist per {n}"
|
||||||
|
|
@ -337,7 +333,6 @@ fileName: "Nom del Fitxer"
|
||||||
selectFile: "Selecciona un fitxer"
|
selectFile: "Selecciona un fitxer"
|
||||||
selectFiles: "Selecciona fitxers"
|
selectFiles: "Selecciona fitxers"
|
||||||
selectFolder: "Selecció de carpeta"
|
selectFolder: "Selecció de carpeta"
|
||||||
unselectFolder: "Deixa de seleccionar la carpeta"
|
|
||||||
selectFolders: "Selecció de carpetes"
|
selectFolders: "Selecció de carpetes"
|
||||||
fileNotSelected: "Cap fitxer seleccionat"
|
fileNotSelected: "Cap fitxer seleccionat"
|
||||||
renameFile: "Canvia el nom del fitxer"
|
renameFile: "Canvia el nom del fitxer"
|
||||||
|
|
@ -350,7 +345,6 @@ addFile: "Afegeix un fitxer"
|
||||||
showFile: "Mostrar fitxer"
|
showFile: "Mostrar fitxer"
|
||||||
emptyDrive: "El teu Disc és buit"
|
emptyDrive: "El teu Disc és buit"
|
||||||
emptyFolder: "La carpeta està buida"
|
emptyFolder: "La carpeta està buida"
|
||||||
dropHereToUpload: "Arrossega els arxius fins aquí per pujar-los al servidor"
|
|
||||||
unableToDelete: "No es pot eliminar"
|
unableToDelete: "No es pot eliminar"
|
||||||
inputNewFileName: "Introduïu el nom de fitxer nou"
|
inputNewFileName: "Introduïu el nom de fitxer nou"
|
||||||
inputNewDescription: "Escriu el peu de foto."
|
inputNewDescription: "Escriu el peu de foto."
|
||||||
|
|
@ -654,7 +648,7 @@ disablePlayer: "Tanca el reproductor de vídeo"
|
||||||
expandTweet: "Expandir post"
|
expandTweet: "Expandir post"
|
||||||
themeEditor: "Editor de temes"
|
themeEditor: "Editor de temes"
|
||||||
description: "Descripció"
|
description: "Descripció"
|
||||||
describeFile: "Afegir text alternatiu"
|
describeFile: "Afegeix una descripció "
|
||||||
enterFileDescription: "Escriu un peu de foto"
|
enterFileDescription: "Escriu un peu de foto"
|
||||||
author: "Autor"
|
author: "Autor"
|
||||||
leaveConfirm: "Hi ha canvis sense guardar. Els vols descartar?"
|
leaveConfirm: "Hi ha canvis sense guardar. Els vols descartar?"
|
||||||
|
|
@ -778,7 +772,6 @@ lockedAccountInfo: "Tret que establiu la visibilitat de la nota a \"Només segui
|
||||||
alwaysMarkSensitive: "Marcar com a sensible per defecte"
|
alwaysMarkSensitive: "Marcar com a sensible per defecte"
|
||||||
loadRawImages: "Carregar les imatges originals en comptes de miniatures "
|
loadRawImages: "Carregar les imatges originals en comptes de miniatures "
|
||||||
disableShowingAnimatedImages: "No reproduir imatges animades"
|
disableShowingAnimatedImages: "No reproduir imatges animades"
|
||||||
disableShowingAnimatedImages_caption: "Si les imatges animades no es reprodueixen, independentment d'aquesta configuració, és possible que la configuració d'accessibilitat del navegador i el sistema operatiu, els modes d'estalvi d'energia i similars estiguin interferint."
|
|
||||||
highlightSensitiveMedia: "Ressalta els medis marcats com a sensibles"
|
highlightSensitiveMedia: "Ressalta els medis marcats com a sensibles"
|
||||||
verificationEmailSent: "S'ha enviat un correu electrònic de verificació. Fes clic a l'enllaç per completar la verificació."
|
verificationEmailSent: "S'ha enviat un correu electrònic de verificació. Fes clic a l'enllaç per completar la verificació."
|
||||||
notSet: "Sense definir"
|
notSet: "Sense definir"
|
||||||
|
|
@ -903,7 +896,7 @@ searchResult: "Resultats de la cerca"
|
||||||
hashtags: "Etiquetes"
|
hashtags: "Etiquetes"
|
||||||
troubleshooting: "Solucionar problemes"
|
troubleshooting: "Solucionar problemes"
|
||||||
useBlurEffect: "Fes servir efectes de desenfocament a la interfície"
|
useBlurEffect: "Fes servir efectes de desenfocament a la interfície"
|
||||||
learnMore: "Saber-ne més "
|
learnMore: "Saber més "
|
||||||
misskeyUpdated: "Misskey s'ha actualitzat "
|
misskeyUpdated: "Misskey s'ha actualitzat "
|
||||||
whatIsNew: "Mostra canvis"
|
whatIsNew: "Mostra canvis"
|
||||||
translate: "Traduir "
|
translate: "Traduir "
|
||||||
|
|
@ -1025,9 +1018,6 @@ pushNotificationAlreadySubscribed: "L'enviament de notificacions ja és activat"
|
||||||
pushNotificationNotSupported: "El teu navegador o la teva instància no suporta l'enviament de notificacions "
|
pushNotificationNotSupported: "El teu navegador o la teva instància no suporta l'enviament de notificacions "
|
||||||
sendPushNotificationReadMessage: "Esborrar les notificacions enviades quan s'hagin llegit"
|
sendPushNotificationReadMessage: "Esborrar les notificacions enviades quan s'hagin llegit"
|
||||||
sendPushNotificationReadMessageCaption: "Això pot fer que el teu dispositiu consumeixi més bateria"
|
sendPushNotificationReadMessageCaption: "Això pot fer que el teu dispositiu consumeixi més bateria"
|
||||||
pleaseAllowPushNotification: "Si us plau, permet les notificacions del navegador"
|
|
||||||
browserPushNotificationDisabled: "No s'ha pogut obtenir permisos per les notificacions"
|
|
||||||
browserPushNotificationDisabledDescription: "No tens permisos per enviar notificacions des de {serverName}. Activa les notificacions a la configuració del teu navegador i tornar-ho a intentar."
|
|
||||||
windowMaximize: "Maximitzar "
|
windowMaximize: "Maximitzar "
|
||||||
windowMinimize: "Minimitzar"
|
windowMinimize: "Minimitzar"
|
||||||
windowRestore: "Restaurar"
|
windowRestore: "Restaurar"
|
||||||
|
|
@ -1064,7 +1054,6 @@ permissionDeniedError: "Operació no permesa "
|
||||||
permissionDeniedErrorDescription: "Aquest compte no té suficients permisos per dur a terme aquesta acció "
|
permissionDeniedErrorDescription: "Aquest compte no té suficients permisos per dur a terme aquesta acció "
|
||||||
preset: "Predefinit"
|
preset: "Predefinit"
|
||||||
selectFromPresets: "Escull des dels predefinits"
|
selectFromPresets: "Escull des dels predefinits"
|
||||||
custom: "Personalitzat"
|
|
||||||
achievements: "Assoliments"
|
achievements: "Assoliments"
|
||||||
gotInvalidResponseError: "Resposta del servidor invàlida "
|
gotInvalidResponseError: "Resposta del servidor invàlida "
|
||||||
gotInvalidResponseErrorDescription: "No es pot contactar amb el servidor o potser es troba fora de línia per manteniment. Provar-ho de nou més tard."
|
gotInvalidResponseErrorDescription: "No es pot contactar amb el servidor o potser es troba fora de línia per manteniment. Provar-ho de nou més tard."
|
||||||
|
|
@ -1103,7 +1092,6 @@ prohibitedWordsDescription2: "Fent servir espais crearà expressions AND si l'ex
|
||||||
hiddenTags: "Etiquetes ocultes"
|
hiddenTags: "Etiquetes ocultes"
|
||||||
hiddenTagsDescription: "La visibilitat de totes les notes que continguin qualsevol de les paraules configurades seran, automàticament, afegides a \"Inici\". Pots llistar diferents paraules separant les per línies noves."
|
hiddenTagsDescription: "La visibilitat de totes les notes que continguin qualsevol de les paraules configurades seran, automàticament, afegides a \"Inici\". Pots llistar diferents paraules separant les per línies noves."
|
||||||
notesSearchNotAvailable: "La cerca de notes no es troba disponible."
|
notesSearchNotAvailable: "La cerca de notes no es troba disponible."
|
||||||
usersSearchNotAvailable: "La cerca d'usuaris no està disponible."
|
|
||||||
license: "Llicència"
|
license: "Llicència"
|
||||||
unfavoriteConfirm: "Esborrar dels favorits?"
|
unfavoriteConfirm: "Esborrar dels favorits?"
|
||||||
myClips: "Els meus retalls"
|
myClips: "Els meus retalls"
|
||||||
|
|
@ -1178,7 +1166,6 @@ installed: "Instal·lats "
|
||||||
branding: "Marca"
|
branding: "Marca"
|
||||||
enableServerMachineStats: "Publicar estadístiques del maquinari del servidor"
|
enableServerMachineStats: "Publicar estadístiques del maquinari del servidor"
|
||||||
enableIdenticonGeneration: "Activar la generació d'icones d'identificació "
|
enableIdenticonGeneration: "Activar la generació d'icones d'identificació "
|
||||||
showRoleBadgesOfRemoteUsers: "Mostrar insígnies de rols d'instàncies remotes "
|
|
||||||
turnOffToImprovePerformance: "Desactivant aquesta opció es pot millorar el rendiment."
|
turnOffToImprovePerformance: "Desactivant aquesta opció es pot millorar el rendiment."
|
||||||
createInviteCode: "Crear codi d'invitació "
|
createInviteCode: "Crear codi d'invitació "
|
||||||
createWithOptions: "Crear invitació amb opcions"
|
createWithOptions: "Crear invitació amb opcions"
|
||||||
|
|
@ -1256,7 +1243,7 @@ releaseToRefresh: "Deixar anar per actualitzar"
|
||||||
refreshing: "Recarregant..."
|
refreshing: "Recarregant..."
|
||||||
pullDownToRefresh: "Llisca cap a baix per recarregar"
|
pullDownToRefresh: "Llisca cap a baix per recarregar"
|
||||||
useGroupedNotifications: "Mostrar les notificacions agrupades "
|
useGroupedNotifications: "Mostrar les notificacions agrupades "
|
||||||
emailVerificationFailedError: "Hem tingut un problema en verificar la teva adreça de correu electrònic. És probable que l'enllaç estigui caducat."
|
signupPendingError: "Hi ha hagut un problema verificant l'adreça de correu electrònic. L'enllaç pot haver caducat."
|
||||||
cwNotationRequired: "Si està activat \"Amagar contingut\" s'ha d'escriure una descripció "
|
cwNotationRequired: "Si està activat \"Amagar contingut\" s'ha d'escriure una descripció "
|
||||||
doReaction: "Afegeix una reacció "
|
doReaction: "Afegeix una reacció "
|
||||||
code: "Codi"
|
code: "Codi"
|
||||||
|
|
@ -1326,8 +1313,6 @@ availableRoles: "Roles disponibles "
|
||||||
acknowledgeNotesAndEnable: "Activa'l després de comprendre els possibles perills."
|
acknowledgeNotesAndEnable: "Activa'l després de comprendre els possibles perills."
|
||||||
federationSpecified: "Aquest servidor treballa amb una federació de llistes blanques. No pot interactuar amb altres servidors que no siguin els especificats per l'administrador."
|
federationSpecified: "Aquest servidor treballa amb una federació de llistes blanques. No pot interactuar amb altres servidors que no siguin els especificats per l'administrador."
|
||||||
federationDisabled: "La unió es troba deshabilitada en aquest servidor. No es pot interactuar amb usuaris d'altres servidors."
|
federationDisabled: "La unió es troba deshabilitada en aquest servidor. No es pot interactuar amb usuaris d'altres servidors."
|
||||||
draft: "Esborrany "
|
|
||||||
draftsAndScheduledNotes: "Esborranys i publicacions programades"
|
|
||||||
confirmOnReact: "Confirmar en reaccionar"
|
confirmOnReact: "Confirmar en reaccionar"
|
||||||
reactAreYouSure: "Vols reaccionar amb \"{emoji}\"?"
|
reactAreYouSure: "Vols reaccionar amb \"{emoji}\"?"
|
||||||
markAsSensitiveConfirm: "Vols marcar aquest contingut com a sensible?"
|
markAsSensitiveConfirm: "Vols marcar aquest contingut com a sensible?"
|
||||||
|
|
@ -1355,8 +1340,6 @@ postForm: "Formulari de publicació"
|
||||||
textCount: "Nombre de caràcters "
|
textCount: "Nombre de caràcters "
|
||||||
information: "Informació"
|
information: "Informació"
|
||||||
chat: "Xat"
|
chat: "Xat"
|
||||||
directMessage: "Xateja amb aquest usuari"
|
|
||||||
directMessage_short: "Missatge"
|
|
||||||
migrateOldSettings: "Migrar la configuració anterior"
|
migrateOldSettings: "Migrar la configuració anterior"
|
||||||
migrateOldSettings_description: "Normalment això es fa automàticament, però si la transició no es fa, el procés es pot iniciar manualment. S'esborrarà la configuració actual."
|
migrateOldSettings_description: "Normalment això es fa automàticament, però si la transició no es fa, el procés es pot iniciar manualment. S'esborrarà la configuració actual."
|
||||||
compress: "Comprimir "
|
compress: "Comprimir "
|
||||||
|
|
@ -1367,7 +1350,7 @@ embed: "Incrustar"
|
||||||
settingsMigrating: "Estem migrant la teva configuració. Si us plau espera un moment... (També pots fer la migració més tard, manualment, anant a Preferències → Altres → Migrar configuració antiga)"
|
settingsMigrating: "Estem migrant la teva configuració. Si us plau espera un moment... (També pots fer la migració més tard, manualment, anant a Preferències → Altres → Migrar configuració antiga)"
|
||||||
readonly: "Només lectura"
|
readonly: "Només lectura"
|
||||||
goToDeck: "Tornar al tauler"
|
goToDeck: "Tornar al tauler"
|
||||||
federationJobs: "Treballs de federació"
|
federationJobs: "Treballs sindicats "
|
||||||
driveAboutTip: "Al Disc veure's una llista de tots els arxius que has anat pujant.<br>\nPots tornar-los a fer servir adjuntant-los a notes noves o pots adelantar-te i pujar arxius per publicar-los més tard!<br>\n<b>Tingués en compte que si esborres un arxiu també desapareixerà de tots els llocs on l'has fet servir (notes, pàgines, avatars, imatges de capçalera, etc.)</b><br>\nTambé pots crear carpetes per organitzar les."
|
driveAboutTip: "Al Disc veure's una llista de tots els arxius que has anat pujant.<br>\nPots tornar-los a fer servir adjuntant-los a notes noves o pots adelantar-te i pujar arxius per publicar-los més tard!<br>\n<b>Tingués en compte que si esborres un arxiu també desapareixerà de tots els llocs on l'has fet servir (notes, pàgines, avatars, imatges de capçalera, etc.)</b><br>\nTambé pots crear carpetes per organitzar les."
|
||||||
scrollToClose: "Desplaçar per tancar"
|
scrollToClose: "Desplaçar per tancar"
|
||||||
advice: "Consell"
|
advice: "Consell"
|
||||||
|
|
@ -1384,83 +1367,7 @@ redisplayAllTips: "Torna ha mostrat tots els trucs i consells"
|
||||||
hideAllTips: "Amagar tots els trucs i consells"
|
hideAllTips: "Amagar tots els trucs i consells"
|
||||||
defaultImageCompressionLevel: "Nivell de comprensió de la imatge per defecte"
|
defaultImageCompressionLevel: "Nivell de comprensió de la imatge per defecte"
|
||||||
defaultImageCompressionLevel_description: "Baixa, conserva la qualitat de la imatge però la mida de l'arxiu és més gran. <br>Alta, redueix la mida de l'arxiu però també la qualitat de la imatge."
|
defaultImageCompressionLevel_description: "Baixa, conserva la qualitat de la imatge però la mida de l'arxiu és més gran. <br>Alta, redueix la mida de l'arxiu però també la qualitat de la imatge."
|
||||||
defaultCompressionLevel: "Nivell de compressió predeterminat"
|
|
||||||
defaultCompressionLevel_description: "Si el redueixes augmentaràs la qualitat de la imatge, però la mida de l'arxiu serà més gran. <br>Si augmentes l'opció redueixes la mida de l'arxiu i la qualitat de la imatge és pitjor."
|
|
||||||
inMinutes: "Minut(s)"
|
|
||||||
inDays: "Di(a)(es)"
|
|
||||||
safeModeEnabled: "Mode segur activat"
|
|
||||||
pluginsAreDisabledBecauseSafeMode: "Els afegits no estan activats perquè el mode segur està activat."
|
|
||||||
customCssIsDisabledBecauseSafeMode: "El CSS personalitzat no s'aplica perquè el mode segur es troba activat."
|
|
||||||
themeIsDefaultBecauseSafeMode: "El tema predeterminat es farà servir mentre el mode segur estigui activat. Una vegada es desactivi el mode segur es restablirà el tema escollit."
|
|
||||||
thankYouForTestingBeta: "Gràcies per ajudar-nos a provar la versió beta!"
|
|
||||||
createUserSpecifiedNote: "Crear notes especificades per l'usuari "
|
|
||||||
schedulePost: "Programar una nota"
|
|
||||||
scheduleToPostOnX: "Programar una nota per {x}"
|
|
||||||
scheduledToPostOnX: "S'ha programat la nota per {x}"
|
|
||||||
schedule: "Programa"
|
|
||||||
scheduled: "Programat"
|
|
||||||
widgets: "Ginys"
|
|
||||||
deviceInfo: "Informació del dispositiu"
|
|
||||||
deviceInfoDescription: "En fer consultes tècniques influir la següent informació pot ajudar a resoldre'l més ràpidament."
|
|
||||||
youAreAdmin: "Ets l'administrador "
|
|
||||||
frame: "Marc"
|
|
||||||
presets: "Predefinit"
|
|
||||||
zeroPadding: "Sense omplir"
|
|
||||||
nothingToConfigure: "No hi ha res a configurar"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
caption: "Títol de l'arxiu"
|
|
||||||
filename: "Nom del Fitxer"
|
|
||||||
filename_without_ext: "Nom de l'arxiu sense extensió "
|
|
||||||
year: "Any"
|
|
||||||
month: "Mes"
|
|
||||||
day: "Dia"
|
|
||||||
hour: "Hora"
|
|
||||||
minute: "Minut"
|
|
||||||
second: "Segon"
|
|
||||||
camera_model: "Nom de la càmera "
|
|
||||||
camera_lens_model: "Nom de la lent"
|
|
||||||
camera_mm: "Distància focal"
|
|
||||||
camera_mm_35: "Distància focal (equivalent a 35 mm)"
|
|
||||||
camera_f: "Obertura"
|
|
||||||
camera_s: "Velocitat d'obturació"
|
|
||||||
camera_iso: "Sensibilitat ISO"
|
|
||||||
gps_lat: "Latitud "
|
|
||||||
gps_long: "Longitud "
|
|
||||||
_imageFrameEditor:
|
|
||||||
title: "Edició de fotogrames "
|
|
||||||
tip: "Pots decorar les imatges afegint etiquetes que continguin marcs i metadades."
|
|
||||||
header: "Capçalera"
|
|
||||||
footer: "Peu de pàgina "
|
|
||||||
borderThickness: "Amplada de la vora"
|
|
||||||
labelThickness: "Amplada de l'etiqueta "
|
|
||||||
labelScale: "Mida de l'etiqueta "
|
|
||||||
centered: "Alinea al centre"
|
|
||||||
captionMain: "Peu de foto (gran)"
|
|
||||||
captionSub: "Peu de foto (petit)"
|
|
||||||
availableVariables: "Variables disponibles"
|
|
||||||
withQrCode: "Codi QR"
|
|
||||||
backgroundColor: "Color del fons"
|
|
||||||
textColor: "Color del text"
|
|
||||||
font: "Lletra tipogràfica"
|
|
||||||
fontSerif: "Serif"
|
|
||||||
fontSansSerif: "Sans Serif"
|
|
||||||
quitWithoutSaveConfirm: "Sortir sense desar?"
|
|
||||||
failedToLoadImage: "Error en carregar la imatge"
|
|
||||||
_compression:
|
|
||||||
_quality:
|
|
||||||
high: "Qualitat alta"
|
|
||||||
medium: "Qualitat mitjana"
|
|
||||||
low: "Qualitat baixa"
|
|
||||||
_size:
|
|
||||||
large: "Mida gran"
|
|
||||||
medium: "Mida mitjana"
|
|
||||||
small: "Mida petita"
|
|
||||||
_order:
|
|
||||||
newest: "Més recent"
|
|
||||||
oldest: "Antigues primer"
|
|
||||||
_chat:
|
_chat:
|
||||||
messages: "Missatge"
|
|
||||||
noMessagesYet: "Encara no tens missatges "
|
noMessagesYet: "Encara no tens missatges "
|
||||||
newMessage: "Missatge nou"
|
newMessage: "Missatge nou"
|
||||||
individualChat: "Xat individual "
|
individualChat: "Xat individual "
|
||||||
|
|
@ -1548,12 +1455,6 @@ _settings:
|
||||||
contentsUpdateFrequency_description2: "Quan s'activa el mode en temps real, el contingut s'actualitza en temps real, independentment d'aquesta configuració."
|
contentsUpdateFrequency_description2: "Quan s'activa el mode en temps real, el contingut s'actualitza en temps real, independentment d'aquesta configuració."
|
||||||
showUrlPreview: "Mostrar vista prèvia d'URL"
|
showUrlPreview: "Mostrar vista prèvia d'URL"
|
||||||
showAvailableReactionsFirstInNote: "Mostra les reacciones que pots fer servir al damunt"
|
showAvailableReactionsFirstInNote: "Mostra les reacciones que pots fer servir al damunt"
|
||||||
showPageTabBarBottom: "Mostrar les pestanyes de les línies de temps a la part inferior"
|
|
||||||
emojiPaletteBanner: "Pots registrar ajustos preestablerts com paletes perquè es mostrin permanentment al selector d'emojis, o personalitzar la configuració de visió del selector."
|
|
||||||
enableAnimatedImages: "Activar imatges animades"
|
|
||||||
settingsPersistence_title: "Persistència de la configuració "
|
|
||||||
settingsPersistence_description1: "Habilitar la persistència de la configuració permet que no es perdi la informació de la configuració "
|
|
||||||
settingsPersistence_description2: "Depenent de l'entorn pot ser que no puguis habilitar aquesta opció."
|
|
||||||
_chat:
|
_chat:
|
||||||
showSenderName: "Mostrar el nom del remitent"
|
showSenderName: "Mostrar el nom del remitent"
|
||||||
sendOnEnter: "Introdueix per enviar"
|
sendOnEnter: "Introdueix per enviar"
|
||||||
|
|
@ -1562,8 +1463,6 @@ _preferencesProfile:
|
||||||
profileNameDescription: "Estableix un nom que identifiqui aquest dispositiu."
|
profileNameDescription: "Estableix un nom que identifiqui aquest dispositiu."
|
||||||
profileNameDescription2: "Per exemple: \"PC Principal\", \"Smartphone\", etc"
|
profileNameDescription2: "Per exemple: \"PC Principal\", \"Smartphone\", etc"
|
||||||
manageProfiles: "Gestionar perfils"
|
manageProfiles: "Gestionar perfils"
|
||||||
shareSameProfileBetweenDevicesIsNotRecommended: "No recomanem compartir el mateix perfil en diferents dispositius."
|
|
||||||
useSyncBetweenDevicesOptionIfYouWantToSyncSetting: "Si hi ha ajustos que vols sincronitzar entre diferents dispositius activa l'opció \"Sincronitza entre diferents dispositius\" individualment per cada una de les diferents opcions."
|
|
||||||
_preferencesBackup:
|
_preferencesBackup:
|
||||||
autoBackup: "Còpia de seguretat automàtica "
|
autoBackup: "Còpia de seguretat automàtica "
|
||||||
restoreFromBackup: "Restaurar des d'una còpia de seguretat"
|
restoreFromBackup: "Restaurar des d'una còpia de seguretat"
|
||||||
|
|
@ -1573,7 +1472,6 @@ _preferencesBackup:
|
||||||
youNeedToNameYourProfileToEnableAutoBackup: "Has de posar-li un nom al teu perfil per poder activar les còpies de seguretat automàtiques."
|
youNeedToNameYourProfileToEnableAutoBackup: "Has de posar-li un nom al teu perfil per poder activar les còpies de seguretat automàtiques."
|
||||||
autoPreferencesBackupIsNotEnabledForThisDevice: "La còpia de seguretat automàtica no es troba activada en aquest dispositiu."
|
autoPreferencesBackupIsNotEnabledForThisDevice: "La còpia de seguretat automàtica no es troba activada en aquest dispositiu."
|
||||||
backupFound: "Còpia de seguretat de la configuració trobada"
|
backupFound: "Còpia de seguretat de la configuració trobada"
|
||||||
forceBackup: "Còpia de seguretat forçada de la configuració "
|
|
||||||
_accountSettings:
|
_accountSettings:
|
||||||
requireSigninToViewContents: "És obligatori l'inici de sessió per poder veure el contingut"
|
requireSigninToViewContents: "És obligatori l'inici de sessió per poder veure el contingut"
|
||||||
requireSigninToViewContentsDescription1: "Es requereix l'inici de sessió per poder veure totes les notes i el contingut que has creat. Amb això esperem evitar que els rastrejadors recopilin informació."
|
requireSigninToViewContentsDescription1: "Es requereix l'inici de sessió per poder veure totes les notes i el contingut que has creat. Amb això esperem evitar que els rastrejadors recopilin informació."
|
||||||
|
|
@ -1613,8 +1511,8 @@ _bubbleGame:
|
||||||
highScore: "Millor puntuació "
|
highScore: "Millor puntuació "
|
||||||
maxChain: "Nombre màxim de combos"
|
maxChain: "Nombre màxim de combos"
|
||||||
yen: "{yen}Ien"
|
yen: "{yen}Ien"
|
||||||
estimatedQty: "{qty} Peces"
|
estimatedQty: "{qty}peces"
|
||||||
scoreSweets: "{onigiriQtyWithUnit} Boles d'arròs "
|
scoreSweets: "{onigiriQtyWithUnit}ongiris"
|
||||||
_howToPlay:
|
_howToPlay:
|
||||||
section1: "Ajusta la posició i deixa caure l'objecte dintre la caixa."
|
section1: "Ajusta la posició i deixa caure l'objecte dintre la caixa."
|
||||||
section2: "Quan dos objectes del mateix tipus es toquen, canviaran en un objecte diferent i guanyares punts."
|
section2: "Quan dos objectes del mateix tipus es toquen, canviaran en un objecte diferent i guanyares punts."
|
||||||
|
|
@ -1625,7 +1523,7 @@ _announcement:
|
||||||
needConfirmationToRead: "Es necessita confirmació de lectura de la notificació "
|
needConfirmationToRead: "Es necessita confirmació de lectura de la notificació "
|
||||||
needConfirmationToReadDescription: "Si s'activa es mostrarà un diàleg per confirmar la lectura d'aquesta notificació. A més aquesta notificació serà exclosa de qualsevol funcionalitat com \"Marcar tot com a llegit\"."
|
needConfirmationToReadDescription: "Si s'activa es mostrarà un diàleg per confirmar la lectura d'aquesta notificació. A més aquesta notificació serà exclosa de qualsevol funcionalitat com \"Marcar tot com a llegit\"."
|
||||||
end: "Final de la notificació "
|
end: "Final de la notificació "
|
||||||
tooManyActiveAnnouncementDescription: "Tenir masses notificacions actives pot empitjorar l'experiència de l'usuari. Considera finalitzar els avisos que siguin antics."
|
tooManyActiveAnnouncementDescription: "Tenir massa notificacions actives pot empitjorar l'experiència de l'usuari. Considera finalitzar els avisos que siguin antics."
|
||||||
readConfirmTitle: "Marcar com llegida?"
|
readConfirmTitle: "Marcar com llegida?"
|
||||||
readConfirmText: "Això marcarà el contingut de \"{title}\" com llegit."
|
readConfirmText: "Això marcarà el contingut de \"{title}\" com llegit."
|
||||||
shouldNotBeUsedToPresentPermanentInfo: "Ja que l'ús de notificacions pot impactar l'experiència dels nous usuaris, és recomanable fer servir les notificacions amb el flux d'informació en comptes de fer-les servir en un únic bloc."
|
shouldNotBeUsedToPresentPermanentInfo: "Ja que l'ús de notificacions pot impactar l'experiència dels nous usuaris, és recomanable fer servir les notificacions amb el flux d'informació en comptes de fer-les servir en un únic bloc."
|
||||||
|
|
@ -1730,10 +1628,6 @@ _serverSettings:
|
||||||
fanoutTimelineDbFallback: "Carregar de la base de dades"
|
fanoutTimelineDbFallback: "Carregar de la base de dades"
|
||||||
fanoutTimelineDbFallbackDescription: "Quan s'activa, la línia de temps fa servir la base de dades per consultes adicionals si la línia de temps no es troba a la memòria cau. Si és desactiva la càrrega del servidor és veure reduïda, però també és reduirà el nombre de línies de temps que és poden obtenir."
|
fanoutTimelineDbFallbackDescription: "Quan s'activa, la línia de temps fa servir la base de dades per consultes adicionals si la línia de temps no es troba a la memòria cau. Si és desactiva la càrrega del servidor és veure reduïda, però també és reduirà el nombre de línies de temps que és poden obtenir."
|
||||||
reactionsBufferingDescription: "Quan s'activa aquesta opció millora bastant el rendiment en recuperar les línies de temps reduint la càrrega de la base. Com a contrapunt, augmentarà l'ús de memòria de Redís. Desactiva aquesta opció en cas de tenir un servidor amb poca memòria o si tens problemes d'inestabilitat."
|
reactionsBufferingDescription: "Quan s'activa aquesta opció millora bastant el rendiment en recuperar les línies de temps reduint la càrrega de la base. Com a contrapunt, augmentarà l'ús de memòria de Redís. Desactiva aquesta opció en cas de tenir un servidor amb poca memòria o si tens problemes d'inestabilitat."
|
||||||
remoteNotesCleaning: "Neteja automàtica de notes remotes"
|
|
||||||
remoteNotesCleaning_description: "Quan activis aquesta opció, periòdicament es netejaran les notes remotes que no es consultin, això evitarà que la base de dades se"
|
|
||||||
remoteNotesCleaningMaxProcessingDuration: "Duració màxima del temps de funcionament del procés de neteja"
|
|
||||||
remoteNotesCleaningExpiryDaysForEachNotes: "Duració mínima de conservació de les notes"
|
|
||||||
inquiryUrl: "URL de consulta "
|
inquiryUrl: "URL de consulta "
|
||||||
inquiryUrlDescription: "Escriu adreça URL per al formulari de consulta per al mantenidor del servidor o una pàgina web amb el contacte d'informació."
|
inquiryUrlDescription: "Escriu adreça URL per al formulari de consulta per al mantenidor del servidor o una pàgina web amb el contacte d'informació."
|
||||||
openRegistration: "Registres oberts"
|
openRegistration: "Registres oberts"
|
||||||
|
|
@ -1752,11 +1646,6 @@ _serverSettings:
|
||||||
userGeneratedContentsVisibilityForVisitor: "L'abast de la publicació del contingut generat per l'usuari"
|
userGeneratedContentsVisibilityForVisitor: "L'abast de la publicació del contingut generat per l'usuari"
|
||||||
userGeneratedContentsVisibilityForVisitor_description: "Això ajuda a evitar problemes com que continguts remots inadequats que no hagin estat moderats correctament es publiquin a internet mitjançant el teu servidor."
|
userGeneratedContentsVisibilityForVisitor_description: "Això ajuda a evitar problemes com que continguts remots inadequats que no hagin estat moderats correctament es publiquin a internet mitjançant el teu servidor."
|
||||||
userGeneratedContentsVisibilityForVisitor_description2: "La publicació incondicional de tots els continguts del servidor a internet, incloent-hi els continguts remots rebuts pel servidor, comporta riscos. Això és extremadament important per els espectadors que desconeixen el caràcter descentralitzat dels continguts, ja que poden percebre erroneament els continguts remots com contingut generat per el propi servidor."
|
userGeneratedContentsVisibilityForVisitor_description2: "La publicació incondicional de tots els continguts del servidor a internet, incloent-hi els continguts remots rebuts pel servidor, comporta riscos. Això és extremadament important per els espectadors que desconeixen el caràcter descentralitzat dels continguts, ja que poden percebre erroneament els continguts remots com contingut generat per el propi servidor."
|
||||||
restartServerSetupWizardConfirm_title: "Vols tornar a executar l'assistent de configuració inicial del servidor?"
|
|
||||||
restartServerSetupWizardConfirm_text: "Algunes configuracions actuals seran restablertes."
|
|
||||||
entrancePageStyle: "Estil de la pàgina d'inici"
|
|
||||||
showTimelineForVisitor: "Mostrar la línia de temps"
|
|
||||||
showActivitiesForVisitor: "Mostrar activitat"
|
|
||||||
_userGeneratedContentsVisibilityForVisitor:
|
_userGeneratedContentsVisibilityForVisitor:
|
||||||
all: "Tot obert al públic "
|
all: "Tot obert al públic "
|
||||||
localOnly: "Només es publiquen els continguts locals, el contingut remot es manté privat"
|
localOnly: "Només es publiquen els continguts locals, el contingut remot es manté privat"
|
||||||
|
|
@ -2079,7 +1968,6 @@ _role:
|
||||||
canManageAvatarDecorations: "Gestiona les decoracions dels avatars "
|
canManageAvatarDecorations: "Gestiona les decoracions dels avatars "
|
||||||
driveCapacity: "Capacitat del disc"
|
driveCapacity: "Capacitat del disc"
|
||||||
maxFileSize: "Mida màxima de l'arxiu que es pot carregar"
|
maxFileSize: "Mida màxima de l'arxiu que es pot carregar"
|
||||||
maxFileSize_caption: "Pot haver-hi la possibilitat que existeixin altres opcions de configuració de l'etapa anterior, com podria ser el proxy invers i la CDN."
|
|
||||||
alwaysMarkNsfw: "Marca sempre els fitxers com a sensibles"
|
alwaysMarkNsfw: "Marca sempre els fitxers com a sensibles"
|
||||||
canUpdateBioMedia: "Permet l'edició d'una icona o un bàner"
|
canUpdateBioMedia: "Permet l'edició d'una icona o un bàner"
|
||||||
pinMax: "Nombre màxim de notes fixades"
|
pinMax: "Nombre màxim de notes fixades"
|
||||||
|
|
@ -2094,7 +1982,6 @@ _role:
|
||||||
descriptionOfRateLimitFactor: "Límits baixos són menys restrictius, límits alts són més restrictius."
|
descriptionOfRateLimitFactor: "Límits baixos són menys restrictius, límits alts són més restrictius."
|
||||||
canHideAds: "Pot amagar la publicitat"
|
canHideAds: "Pot amagar la publicitat"
|
||||||
canSearchNotes: "Pot cercar notes"
|
canSearchNotes: "Pot cercar notes"
|
||||||
canSearchUsers: "Pot cercar usuaris"
|
|
||||||
canUseTranslator: "Pot fer servir el traductor"
|
canUseTranslator: "Pot fer servir el traductor"
|
||||||
avatarDecorationLimit: "Nombre màxim de decoracions que es poden aplicar els avatars"
|
avatarDecorationLimit: "Nombre màxim de decoracions que es poden aplicar els avatars"
|
||||||
canImportAntennas: "Autoritza la importació d'antenes "
|
canImportAntennas: "Autoritza la importació d'antenes "
|
||||||
|
|
@ -2106,9 +1993,6 @@ _role:
|
||||||
uploadableFileTypes: "Tipus de fitxers que en podeu pujar"
|
uploadableFileTypes: "Tipus de fitxers que en podeu pujar"
|
||||||
uploadableFileTypes_caption: "Especifica el tipus MIME. Es poden especificar diferents tipus MIME separats amb una nova línia, i es poden especificar comodins amb asteriscs (*). (Per exemple: image/*)"
|
uploadableFileTypes_caption: "Especifica el tipus MIME. Es poden especificar diferents tipus MIME separats amb una nova línia, i es poden especificar comodins amb asteriscs (*). (Per exemple: image/*)"
|
||||||
uploadableFileTypes_caption2: "Pot que no sigui possible determinar el tipus MIME d'alguns arxius. Per permetre aquests tipus d'arxius afegeix {x} a les especificacions."
|
uploadableFileTypes_caption2: "Pot que no sigui possible determinar el tipus MIME d'alguns arxius. Per permetre aquests tipus d'arxius afegeix {x} a les especificacions."
|
||||||
noteDraftLimit: "Nombre possible d'esborranys de notes al servidor"
|
|
||||||
scheduledNoteLimit: "Màxim nombre de notes programades que es poden crear simultàniament"
|
|
||||||
watermarkAvailable: "Pots fer servir la marca d'aigua"
|
|
||||||
_condition:
|
_condition:
|
||||||
roleAssignedTo: "Assignat a rols manuals"
|
roleAssignedTo: "Assignat a rols manuals"
|
||||||
isLocal: "Usuari local"
|
isLocal: "Usuari local"
|
||||||
|
|
@ -2166,7 +2050,7 @@ _ad:
|
||||||
timezoneinfo: "El dia de la setmana ve determinat del fus horari del servidor."
|
timezoneinfo: "El dia de la setmana ve determinat del fus horari del servidor."
|
||||||
adsSettings: "Configurar la publicitat"
|
adsSettings: "Configurar la publicitat"
|
||||||
notesPerOneAd: "Interval d'emplaçament publicitari en temps real (Notes per anuncis)"
|
notesPerOneAd: "Interval d'emplaçament publicitari en temps real (Notes per anuncis)"
|
||||||
setZeroToDisable: "Ajusta aquest valor a 0 per deshabilitar l'actualització de publicitat en temps real"
|
setZeroToDisable: "Ajusta aquest valor a 0 per deshabilitar l'actualització d'anuncis en temps real"
|
||||||
adsTooClose: "L'interval actual pot fer que l'experiència de l'usuari sigui dolenta perquè l'interval és molt baix."
|
adsTooClose: "L'interval actual pot fer que l'experiència de l'usuari sigui dolenta perquè l'interval és molt baix."
|
||||||
_forgotPassword:
|
_forgotPassword:
|
||||||
enterEmail: "Escriu l'adreça de correu electrònic amb la que et vas registrar. S'enviarà un correu electrònic amb un enllaç perquè puguis canviar-la."
|
enterEmail: "Escriu l'adreça de correu electrònic amb la que et vas registrar. S'enviarà un correu electrònic amb un enllaç perquè puguis canviar-la."
|
||||||
|
|
@ -2268,7 +2152,6 @@ _theme:
|
||||||
install: "Instal·lar un tema"
|
install: "Instal·lar un tema"
|
||||||
manage: "Gestionar els temes "
|
manage: "Gestionar els temes "
|
||||||
code: "Codi del tema"
|
code: "Codi del tema"
|
||||||
copyThemeCode: "Copiar el codi del tema"
|
|
||||||
description: "Descripció"
|
description: "Descripció"
|
||||||
installed: "{name} Instal·lat "
|
installed: "{name} Instal·lat "
|
||||||
installedThemes: "Temes instal·lats "
|
installedThemes: "Temes instal·lats "
|
||||||
|
|
@ -2368,7 +2251,6 @@ _time:
|
||||||
minute: "Minut(s)"
|
minute: "Minut(s)"
|
||||||
hour: "Hor(a)(es)"
|
hour: "Hor(a)(es)"
|
||||||
day: "Di(a)(es)"
|
day: "Di(a)(es)"
|
||||||
month: "Mes(os)"
|
|
||||||
_2fa:
|
_2fa:
|
||||||
alreadyRegistered: "J has registrat un dispositiu d'autenticació de doble factor."
|
alreadyRegistered: "J has registrat un dispositiu d'autenticació de doble factor."
|
||||||
registerTOTP: "Registrar una aplicació autenticadora"
|
registerTOTP: "Registrar una aplicació autenticadora"
|
||||||
|
|
@ -2498,7 +2380,6 @@ _auth:
|
||||||
scopeUser: "Opera com si fossis aquest usuari"
|
scopeUser: "Opera com si fossis aquest usuari"
|
||||||
pleaseLogin: "Si us plau, identificat per autoritzar l'aplicació."
|
pleaseLogin: "Si us plau, identificat per autoritzar l'aplicació."
|
||||||
byClickingYouWillBeRedirectedToThisUrl: "Si es garanteix l'accés, seràs redirigit automàticament a la següent adreça URL"
|
byClickingYouWillBeRedirectedToThisUrl: "Si es garanteix l'accés, seràs redirigit automàticament a la següent adreça URL"
|
||||||
alreadyAuthorized: "Aquesta aplicació ja té accés."
|
|
||||||
_antennaSources:
|
_antennaSources:
|
||||||
all: "Totes les publicacions"
|
all: "Totes les publicacions"
|
||||||
homeTimeline: "Publicacions dels usuaris seguits"
|
homeTimeline: "Publicacions dels usuaris seguits"
|
||||||
|
|
@ -2544,45 +2425,7 @@ _widgets:
|
||||||
chooseList: "Tria una llista"
|
chooseList: "Tria una llista"
|
||||||
clicker: "Clicker"
|
clicker: "Clicker"
|
||||||
birthdayFollowings: "Usuaris que fan l'aniversari avui"
|
birthdayFollowings: "Usuaris que fan l'aniversari avui"
|
||||||
chat: "Xateja amb aquest usuari"
|
chat: "Xat"
|
||||||
_widgetOptions:
|
|
||||||
showHeader: "Mostrar la capçalera"
|
|
||||||
transparent: "Fons transparent"
|
|
||||||
height: "Alçada "
|
|
||||||
_button:
|
|
||||||
colored: "Colorit"
|
|
||||||
_clock:
|
|
||||||
size: "Mida"
|
|
||||||
thickness: "Amplada de l'agulla "
|
|
||||||
thicknessThin: "Esvelt "
|
|
||||||
thicknessMedium: "Normal"
|
|
||||||
thicknessThick: "Gruixut "
|
|
||||||
graduations: "Marques de l'esfera "
|
|
||||||
graduationDots: "Punt"
|
|
||||||
graduationArabic: "Nombres àrabs "
|
|
||||||
fadeGraduations: "Efecte gradient "
|
|
||||||
sAnimation: "Animació de la maneta dels segons"
|
|
||||||
sAnimationElastic: "Real"
|
|
||||||
sAnimationEaseOut: "Suau"
|
|
||||||
twentyFour: "Format 24 hores"
|
|
||||||
labelTime: "Temps"
|
|
||||||
labelTz: "Fus horari"
|
|
||||||
labelTimeAndTz: "Hora i fus horari"
|
|
||||||
timezone: "Fus horari"
|
|
||||||
showMs: "Mostrar mil·lisegons"
|
|
||||||
showLabel: "Mostrar etiqueta"
|
|
||||||
_jobQueue:
|
|
||||||
sound: "Reprodueix so"
|
|
||||||
_rss:
|
|
||||||
url: "URL del canal RSS"
|
|
||||||
refreshIntervalSec: "Interval d'actualitzacions (segons)"
|
|
||||||
maxEntries: "Nombre màxim d'entrades a mostrar"
|
|
||||||
_rssTicker:
|
|
||||||
shuffle: "Visualització aleatòria "
|
|
||||||
duration: "Velocitat desplaçament bàner informatiu "
|
|
||||||
reverse: "Desplaçament contrari"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "Període"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "Amagar"
|
hide: "Amagar"
|
||||||
show: "Carregar més"
|
show: "Carregar més"
|
||||||
|
|
@ -2627,20 +2470,6 @@ _postForm:
|
||||||
replyPlaceholder: "Contestar..."
|
replyPlaceholder: "Contestar..."
|
||||||
quotePlaceholder: "Citar..."
|
quotePlaceholder: "Citar..."
|
||||||
channelPlaceholder: "Publicar a un canal..."
|
channelPlaceholder: "Publicar a un canal..."
|
||||||
showHowToUse: "Mostrar les instruccions"
|
|
||||||
_howToUse:
|
|
||||||
content_title: "Cos principal"
|
|
||||||
content_description: "Introdueix el contingut que vols publicar."
|
|
||||||
toolbar_title: "Barra d'eines "
|
|
||||||
toolbar_description: "Pots adjuntar arxius o enquestes, afegir anotacions o etiquetes i inserir emojis o mencions."
|
|
||||||
account_title: "Menú del compte"
|
|
||||||
account_description: "Pots anar canviant de comptes per publicar o veure una llista d'esborranys i les publicacions programades del teu compte."
|
|
||||||
visibility_title: "Visibilitat"
|
|
||||||
visibility_description: "Pots configurar la visibilitat de les teves notes."
|
|
||||||
menu_title: "Menú"
|
|
||||||
menu_description: "Pots fer altres accions com desar esborranys, programar publicacions i configurar reaccions."
|
|
||||||
submit_title: "Botó per publicar"
|
|
||||||
submit_description: "Publica les teves notes. També pots fer servir Ctrl + Enter / Cmd + Enter"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "Que vols dir?..."
|
a: "Que vols dir?..."
|
||||||
b: "Alguna cosa interessant al teu voltant?..."
|
b: "Alguna cosa interessant al teu voltant?..."
|
||||||
|
|
@ -2786,8 +2615,6 @@ _notification:
|
||||||
youReceivedFollowRequest: "Has rebut una petició de seguiment"
|
youReceivedFollowRequest: "Has rebut una petició de seguiment"
|
||||||
yourFollowRequestAccepted: "La teva petició de seguiment ha sigut acceptada"
|
yourFollowRequestAccepted: "La teva petició de seguiment ha sigut acceptada"
|
||||||
pollEnded: "Ja pots veure els resultats de l'enquesta "
|
pollEnded: "Ja pots veure els resultats de l'enquesta "
|
||||||
scheduledNotePosted: "Una nota programada ha sigut publicada"
|
|
||||||
scheduledNotePostFailed: "Ha fallat la publicació d'una nota programada"
|
|
||||||
newNote: "Nota nova"
|
newNote: "Nota nova"
|
||||||
unreadAntennaNote: "Antena {name}"
|
unreadAntennaNote: "Antena {name}"
|
||||||
roleAssigned: "Rol assignat "
|
roleAssigned: "Rol assignat "
|
||||||
|
|
@ -2817,8 +2644,6 @@ _notification:
|
||||||
quote: "Citar"
|
quote: "Citar"
|
||||||
reaction: "Reaccions"
|
reaction: "Reaccions"
|
||||||
pollEnded: "Enquesta terminada"
|
pollEnded: "Enquesta terminada"
|
||||||
scheduledNotePosted: "Nota programada amb èxit "
|
|
||||||
scheduledNotePostFailed: "Ha fallat la programació de la nota"
|
|
||||||
receiveFollowRequest: "Rebuda una petició de seguiment"
|
receiveFollowRequest: "Rebuda una petició de seguiment"
|
||||||
followRequestAccepted: "Petició de seguiment acceptada"
|
followRequestAccepted: "Petició de seguiment acceptada"
|
||||||
roleAssigned: "Rol donat"
|
roleAssigned: "Rol donat"
|
||||||
|
|
@ -2858,14 +2683,6 @@ _deck:
|
||||||
usedAsMinWidthWhenFlexible: "L'amplada mínima es farà servir quan \"Ajust automàtic de l'amplada\" estigui activat"
|
usedAsMinWidthWhenFlexible: "L'amplada mínima es farà servir quan \"Ajust automàtic de l'amplada\" estigui activat"
|
||||||
flexible: "Ajust automàtic de l'amplada"
|
flexible: "Ajust automàtic de l'amplada"
|
||||||
enableSyncBetweenDevicesForProfiles: "Activar la sincronització de la informació de perfils de dispositiu a dispositiu"
|
enableSyncBetweenDevicesForProfiles: "Activar la sincronització de la informació de perfils de dispositiu a dispositiu"
|
||||||
showHowToUse: "Veure la descripció de la interfície d'usuari "
|
|
||||||
_howToUse:
|
|
||||||
addColumn_title: "Afegir columna"
|
|
||||||
addColumn_description: "Pots seleccionar i afegir tipus de columnes."
|
|
||||||
settings_title: "Configuració de la interfície d'usuari "
|
|
||||||
settings_description: "Pots configurar la interfície d'usuari amb detall."
|
|
||||||
switchProfile_title: "Canviar perfil"
|
|
||||||
switchProfile_description: "Pots desar el disseny de la interfície d'usuari com un perfil i anar canviant entre ells quan vulguis."
|
|
||||||
_columns:
|
_columns:
|
||||||
main: "Principal"
|
main: "Principal"
|
||||||
widgets: "Ginys"
|
widgets: "Ginys"
|
||||||
|
|
@ -2877,7 +2694,7 @@ _deck:
|
||||||
mentions: "Mencions"
|
mentions: "Mencions"
|
||||||
direct: "Publicacions directes"
|
direct: "Publicacions directes"
|
||||||
roleTimeline: "Línia de temps dels rols"
|
roleTimeline: "Línia de temps dels rols"
|
||||||
chat: "Xateja amb aquest usuari"
|
chat: "Xat"
|
||||||
_dialog:
|
_dialog:
|
||||||
charactersExceeded: "Has arribat al màxim de caràcters! Actualment és {current} de {max}"
|
charactersExceeded: "Has arribat al màxim de caràcters! Actualment és {current} de {max}"
|
||||||
charactersBelow: "Ets per sota del mínim de caràcters! Actualment és {current} de {min}"
|
charactersBelow: "Ets per sota del mínim de caràcters! Actualment és {current} de {min}"
|
||||||
|
|
@ -2926,8 +2743,6 @@ _abuseReport:
|
||||||
notifiedWebhook: "Webhook que s'ha de fer servir"
|
notifiedWebhook: "Webhook que s'ha de fer servir"
|
||||||
deleteConfirm: "Segur que vols esborrar el destinatari de l'informe de moderació?"
|
deleteConfirm: "Segur que vols esborrar el destinatari de l'informe de moderació?"
|
||||||
_moderationLogTypes:
|
_moderationLogTypes:
|
||||||
clearQueue: "Esborra la cua de feina"
|
|
||||||
promoteQueue: "Tornar a intentar la feina de la cua"
|
|
||||||
createRole: "Rol creat"
|
createRole: "Rol creat"
|
||||||
deleteRole: "Rol esborrat"
|
deleteRole: "Rol esborrat"
|
||||||
updateRole: "Rol actualitzat"
|
updateRole: "Rol actualitzat"
|
||||||
|
|
@ -2985,7 +2800,6 @@ _fileViewer:
|
||||||
url: "URL"
|
url: "URL"
|
||||||
uploadedAt: "Pujat el"
|
uploadedAt: "Pujat el"
|
||||||
attachedNotes: "Notes amb aquest fitxer"
|
attachedNotes: "Notes amb aquest fitxer"
|
||||||
usage: "Ús "
|
|
||||||
thisPageCanBeSeenFromTheAuthor: "Aquesta pàgina només la pot veure l'usuari que ha pujat aquest fitxer."
|
thisPageCanBeSeenFromTheAuthor: "Aquesta pàgina només la pot veure l'usuari que ha pujat aquest fitxer."
|
||||||
_externalResourceInstaller:
|
_externalResourceInstaller:
|
||||||
title: "Instal·lar des d'un lloc extern"
|
title: "Instal·lar des d'un lloc extern"
|
||||||
|
|
@ -3238,7 +3052,6 @@ _bootErrors:
|
||||||
otherOption1: "Esborrar la configuració i la memòria cau del client"
|
otherOption1: "Esborrar la configuració i la memòria cau del client"
|
||||||
otherOption2: "Iniciar client senzill"
|
otherOption2: "Iniciar client senzill"
|
||||||
otherOption3: "Iniciar l'eina de reparació "
|
otherOption3: "Iniciar l'eina de reparació "
|
||||||
otherOption4: "Iniciar Misskey en mode segur"
|
|
||||||
_search:
|
_search:
|
||||||
searchScopeAll: "Tot"
|
searchScopeAll: "Tot"
|
||||||
searchScopeLocal: "Local"
|
searchScopeLocal: "Local"
|
||||||
|
|
@ -3275,8 +3088,6 @@ _serverSetupWizard:
|
||||||
doYouConnectToFediverse_description1: "Quan es connecta amb una xarxa de servidors distribuïts (Fedivers), els continguts poden intercanviar-se amb altres servidors i entre ells."
|
doYouConnectToFediverse_description1: "Quan es connecta amb una xarxa de servidors distribuïts (Fedivers), els continguts poden intercanviar-se amb altres servidors i entre ells."
|
||||||
doYouConnectToFediverse_description2: "La connexió amb el Fedivers també es coneix com a \"federació\"."
|
doYouConnectToFediverse_description2: "La connexió amb el Fedivers també es coneix com a \"federació\"."
|
||||||
youCanConfigureMoreFederationSettingsLater: "Les configuracions avançades, com especificar els servidors amb els quals es pot federar, es poden fer més tard."
|
youCanConfigureMoreFederationSettingsLater: "Les configuracions avançades, com especificar els servidors amb els quals es pot federar, es poden fer més tard."
|
||||||
remoteContentsCleaning: "Neteja automàtica del contingut rebut"
|
|
||||||
remoteContentsCleaning_description: "Quan es comença a federar es rep un munt de contingut, quan s'activa la neteja automàtica el contingut antic que no es consulta serà eliminat del servidor, el que permet estalviar espai d'emmagatzematge."
|
|
||||||
adminInfo: "Informació de l'administrador "
|
adminInfo: "Informació de l'administrador "
|
||||||
adminInfo_description: "Estableix la informació de l'administrador que es farà servir per rebre consultes."
|
adminInfo_description: "Estableix la informació de l'administrador que es farà servir per rebre consultes."
|
||||||
adminInfo_mustBeFilled: "Aquesta informació ha de ser omplerta si el servidor té els registres oberts o la federació es troba activada."
|
adminInfo_mustBeFilled: "Aquesta informació ha de ser omplerta si el servidor té els registres oberts o la federació es troba activada."
|
||||||
|
|
@ -3292,7 +3103,6 @@ _serverSetupWizard:
|
||||||
text2: "Si ho desitges, agrairíem molt la teva donació per poder seguir desenvolupant el projecte."
|
text2: "Si ho desitges, agrairíem molt la teva donació per poder seguir desenvolupant el projecte."
|
||||||
text3: "També hi ha privilegis especials per als donants!"
|
text3: "També hi ha privilegis especials per als donants!"
|
||||||
_uploader:
|
_uploader:
|
||||||
editImage: "Edició d'imatges"
|
|
||||||
compressedToX: "Comprimit a {x}"
|
compressedToX: "Comprimit a {x}"
|
||||||
savedXPercent: "{x}% d'estalvi "
|
savedXPercent: "{x}% d'estalvi "
|
||||||
abortConfirm: "Hi ha un arxiu que no s'ha pujat, vols cancel·lar?"
|
abortConfirm: "Hi ha un arxiu que no s'ha pujat, vols cancel·lar?"
|
||||||
|
|
@ -3322,20 +3132,17 @@ _watermarkEditor:
|
||||||
title: "Editar la marca d'aigua "
|
title: "Editar la marca d'aigua "
|
||||||
cover: "Cobrir-ho tot"
|
cover: "Cobrir-ho tot"
|
||||||
repeat: "Repetir"
|
repeat: "Repetir"
|
||||||
preserveBoundingRect: "Ajusta'l per evitar que sobresortir en fer la rotació "
|
|
||||||
opacity: "Opacitat"
|
opacity: "Opacitat"
|
||||||
scale: "Mida"
|
scale: "Mida"
|
||||||
text: "Text"
|
text: "Text"
|
||||||
qr: "Codi QR"
|
|
||||||
position: "Posició "
|
position: "Posició "
|
||||||
margin: "Marge"
|
|
||||||
type: "Tipus"
|
type: "Tipus"
|
||||||
image: "Imatges"
|
image: "Imatges"
|
||||||
advanced: "Avançat"
|
advanced: "Avançat"
|
||||||
angle: "Angle"
|
|
||||||
stripe: "Bandes"
|
stripe: "Bandes"
|
||||||
stripeWidth: "Amplada de la banda"
|
stripeWidth: "Amplada de la banda"
|
||||||
stripeFrequency: "Freqüència de la banda"
|
stripeFrequency: "Freqüència de la banda"
|
||||||
|
angle: "Angle"
|
||||||
polkadot: "Lunars"
|
polkadot: "Lunars"
|
||||||
checker: "Escacs"
|
checker: "Escacs"
|
||||||
polkadotMainDotOpacity: "Opacitat del lunar principal"
|
polkadotMainDotOpacity: "Opacitat del lunar principal"
|
||||||
|
|
@ -3343,21 +3150,16 @@ _watermarkEditor:
|
||||||
polkadotSubDotOpacity: "Opacitat del lunar secundari"
|
polkadotSubDotOpacity: "Opacitat del lunar secundari"
|
||||||
polkadotSubDotRadius: "Mida del lunar secundari"
|
polkadotSubDotRadius: "Mida del lunar secundari"
|
||||||
polkadotSubDotDivisions: "Nombre de punts secundaris"
|
polkadotSubDotDivisions: "Nombre de punts secundaris"
|
||||||
leaveBlankToAccountUrl: "Si deixes aquest camp buit, es farà servir l'URL del teu compte"
|
|
||||||
failedToLoadImage: "Error en carregar la imatge"
|
|
||||||
_imageEffector:
|
_imageEffector:
|
||||||
title: "Efecte"
|
title: "Efecte"
|
||||||
addEffect: "Afegeix un efecte"
|
addEffect: "Afegeix un efecte"
|
||||||
discardChangesConfirm: "Vols descartar els canvis i sortir?"
|
discardChangesConfirm: "Vols descartar els canvis i sortir?"
|
||||||
failedToLoadImage: "Error en carregar la imatge"
|
|
||||||
_fxs:
|
_fxs:
|
||||||
chromaticAberration: "Aberració cromàtica"
|
chromaticAberration: "Aberració cromàtica"
|
||||||
glitch: "Glitch"
|
glitch: "Glitch"
|
||||||
mirror: "Mirall"
|
mirror: "Mirall"
|
||||||
invert: "Inversió cromàtica "
|
invert: "Inversió cromàtica "
|
||||||
grayscale: "Monocrom "
|
grayscale: "Monocrom "
|
||||||
blur: "Desenfocament"
|
|
||||||
pixelate: "Mosaic"
|
|
||||||
colorAdjust: "Correcció de color"
|
colorAdjust: "Correcció de color"
|
||||||
colorClamp: "Compressió cromàtica "
|
colorClamp: "Compressió cromàtica "
|
||||||
colorClampAdvanced: "Compressió de cromàtica avançada "
|
colorClampAdvanced: "Compressió de cromàtica avançada "
|
||||||
|
|
@ -3369,74 +3171,3 @@ _imageEffector:
|
||||||
checker: "Escacs"
|
checker: "Escacs"
|
||||||
blockNoise: "Bloqueig de soroll"
|
blockNoise: "Bloqueig de soroll"
|
||||||
tearing: "Trencament d'imatge "
|
tearing: "Trencament d'imatge "
|
||||||
fill: "Omplir"
|
|
||||||
_fxProps:
|
|
||||||
angle: "Angle"
|
|
||||||
scale: "Mida"
|
|
||||||
size: "Mida"
|
|
||||||
radius: "Radi"
|
|
||||||
samples: "Mida de la mostra"
|
|
||||||
offset: "Posició "
|
|
||||||
color: "Color"
|
|
||||||
opacity: "Opacitat"
|
|
||||||
normalize: "Normalitzar"
|
|
||||||
amount: "Quantitat"
|
|
||||||
lightness: "Brillantor"
|
|
||||||
contrast: "Contrast"
|
|
||||||
hue: "Tonalitat"
|
|
||||||
brightness: "Brillantor"
|
|
||||||
saturation: "Saturació"
|
|
||||||
max: "Màxim"
|
|
||||||
min: "Mínim"
|
|
||||||
direction: "Direcció "
|
|
||||||
phase: "Fase"
|
|
||||||
frequency: "Freqüència "
|
|
||||||
strength: "Intensitat"
|
|
||||||
glitchChannelShift: "Canvi de canal "
|
|
||||||
seed: "Llavors"
|
|
||||||
redComponent: "Component vermell"
|
|
||||||
greenComponent: "Component verd"
|
|
||||||
blueComponent: "Component blau"
|
|
||||||
threshold: "Llindar"
|
|
||||||
centerX: "Centre de X"
|
|
||||||
centerY: "Centre de Y"
|
|
||||||
zoomLinesSmoothing: "Suavitzat"
|
|
||||||
zoomLinesSmoothingDescription: "Els paràmetres de suavitzat i amplada de línia en augmentar no es poden fer servir junts."
|
|
||||||
zoomLinesThreshold: "Amplada de línia a l'augmentar "
|
|
||||||
zoomLinesMaskSize: "Diàmetre del centre"
|
|
||||||
zoomLinesBlack: "Obscurir"
|
|
||||||
circle: "Cercle"
|
|
||||||
drafts: "Esborrany "
|
|
||||||
_drafts:
|
|
||||||
select: "Seleccionar esborrany"
|
|
||||||
cannotCreateDraftAnymore: "S'ha sobrepassat el nombre màxim d'esborranys que es poden crear."
|
|
||||||
cannotCreateDraft: "Amb aquest contingut no es poden crear esborranys."
|
|
||||||
delete: "Esborrar esborranys"
|
|
||||||
deleteAreYouSure: "Vols esborrar els esborranys?"
|
|
||||||
noDrafts: "No hi ha esborranys"
|
|
||||||
replyTo: "Respondre a {user}"
|
|
||||||
quoteOf: "Citar les notes de {user}"
|
|
||||||
postTo: "Destinat a {channel}"
|
|
||||||
saveToDraft: "Desar com a esborrany"
|
|
||||||
restoreFromDraft: "Restaurar des dels esborranys"
|
|
||||||
restore: "Restaurar esborrany"
|
|
||||||
listDrafts: "Llistat d'esborranys"
|
|
||||||
schedule: "Programació esborranys"
|
|
||||||
listScheduledNotes: "Llista de notes programades"
|
|
||||||
cancelSchedule: "Cancel·lar la programació"
|
|
||||||
qr: "Codi QR"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "Veure"
|
|
||||||
readTabTitle: "Escanejar "
|
|
||||||
shareTitle: "{name} {acct}"
|
|
||||||
shareText: "Segueix-me al Fediverse"
|
|
||||||
chooseCamera: "Seleccionar càmera "
|
|
||||||
cannotToggleFlash: "No es pot activar el flaix"
|
|
||||||
turnOnFlash: "Activar el flaix"
|
|
||||||
turnOffFlash: "Apagar el flaix"
|
|
||||||
startQr: "Reiniciar el lector de codis QR"
|
|
||||||
stopQr: "Parar el lector de codis QR"
|
|
||||||
noQrCodeFound: "No s'ha trobat cap codi QR"
|
|
||||||
scanFile: "Escanejar la imatge des del dispositiu"
|
|
||||||
raw: "Text"
|
|
||||||
mfm: "MFM"
|
|
||||||
|
|
|
||||||
|
|
@ -1107,18 +1107,6 @@ lastNDays: "Posledních {n} dnů"
|
||||||
surrender: "Zrušit"
|
surrender: "Zrušit"
|
||||||
postForm: "Formulář pro odeslání"
|
postForm: "Formulář pro odeslání"
|
||||||
information: "Informace"
|
information: "Informace"
|
||||||
inMinutes: "Minut"
|
|
||||||
inDays: "Dnů"
|
|
||||||
widgets: "Widgety"
|
|
||||||
presets: "Předvolba"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "Název souboru"
|
|
||||||
_imageFrameEditor:
|
|
||||||
header: "Nadpis"
|
|
||||||
font: "Písmo"
|
|
||||||
fontSerif: "Serif"
|
|
||||||
fontSansSerif: "Sans Serif"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "Pozvat"
|
invitations: "Pozvat"
|
||||||
noHistory: "Žádná historie"
|
noHistory: "Žádná historie"
|
||||||
|
|
@ -1789,14 +1777,6 @@ _widgets:
|
||||||
_userList:
|
_userList:
|
||||||
chooseList: "Vybrat seznam"
|
chooseList: "Vybrat seznam"
|
||||||
clicker: "Clicker"
|
clicker: "Clicker"
|
||||||
_widgetOptions:
|
|
||||||
height: "Výška"
|
|
||||||
_button:
|
|
||||||
colored: "Barevné"
|
|
||||||
_clock:
|
|
||||||
size: "Velikost"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "Trvání"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "Skrýt"
|
hide: "Skrýt"
|
||||||
show: "Zobrazit více"
|
show: "Zobrazit více"
|
||||||
|
|
@ -1839,9 +1819,6 @@ _postForm:
|
||||||
replyPlaceholder: "Odpovědět na tuto poznámku..."
|
replyPlaceholder: "Odpovědět na tuto poznámku..."
|
||||||
quotePlaceholder: "Citovat tuto poznámku..."
|
quotePlaceholder: "Citovat tuto poznámku..."
|
||||||
channelPlaceholder: "Zveřejnit příspěvek do kanálu..."
|
channelPlaceholder: "Zveřejnit příspěvek do kanálu..."
|
||||||
_howToUse:
|
|
||||||
visibility_title: "Viditelnost"
|
|
||||||
menu_title: "Menu"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "Co máte v plánu?"
|
a: "Co máte v plánu?"
|
||||||
b: "Co se děje kolem vás?"
|
b: "Co se děje kolem vás?"
|
||||||
|
|
@ -2025,7 +2002,7 @@ _deck:
|
||||||
list: "Seznamy"
|
list: "Seznamy"
|
||||||
channel: "Kanály"
|
channel: "Kanály"
|
||||||
mentions: "Zmínění"
|
mentions: "Zmínění"
|
||||||
direct: "Přímé poznámky"
|
direct: "Přímý"
|
||||||
roleTimeline: "Časová osa role"
|
roleTimeline: "Časová osa role"
|
||||||
_dialog:
|
_dialog:
|
||||||
charactersExceeded: "Překročili jste maximální počet znaků! V současné době je na hodnotě {current} z {max}."
|
charactersExceeded: "Překročili jste maximální počet znaků! V současné době je na hodnotě {current} z {max}."
|
||||||
|
|
@ -2074,14 +2051,3 @@ _watermarkEditor:
|
||||||
type: "Typ"
|
type: "Typ"
|
||||||
image: "Obrázky"
|
image: "Obrázky"
|
||||||
advanced: "Pokročilé"
|
advanced: "Pokročilé"
|
||||||
_imageEffector:
|
|
||||||
_fxProps:
|
|
||||||
scale: "Velikost"
|
|
||||||
size: "Velikost"
|
|
||||||
offset: "Pozice"
|
|
||||||
color: "Barva"
|
|
||||||
opacity: "Průhlednost"
|
|
||||||
lightness: "Zesvětlit"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "Zobrazit"
|
|
||||||
raw: "Text"
|
|
||||||
|
|
|
||||||
|
|
@ -83,8 +83,6 @@ files: "Dateien"
|
||||||
download: "Herunterladen"
|
download: "Herunterladen"
|
||||||
driveFileDeleteConfirm: "Möchtest du die Datei „{name}“ wirklich löschen? Einige Inhalte, die diese Datei verwenden, werden auch verschwinden."
|
driveFileDeleteConfirm: "Möchtest du die Datei „{name}“ wirklich löschen? Einige Inhalte, die diese Datei verwenden, werden auch verschwinden."
|
||||||
unfollowConfirm: "Möchtest du {name} wirklich nicht mehr folgen?"
|
unfollowConfirm: "Möchtest du {name} wirklich nicht mehr folgen?"
|
||||||
cancelFollowRequestConfirm: "Möchten Sie die Voll-Anfrage an {name} zurückziehen?"
|
|
||||||
rejectFollowRequestConfirm: "Möchtest du die Follow-Anfrage von {name} ablehnen?"
|
|
||||||
exportRequested: "Du hast einen Export angefragt. Dies kann etwas Zeit in Anspruch nehmen. Sobald der Export abgeschlossen ist, wird er deiner Drive hinzugefügt."
|
exportRequested: "Du hast einen Export angefragt. Dies kann etwas Zeit in Anspruch nehmen. Sobald der Export abgeschlossen ist, wird er deiner Drive hinzugefügt."
|
||||||
importRequested: "Du hast einen Import angefragt. Dies kann etwas Zeit in Anspruch nehmen."
|
importRequested: "Du hast einen Import angefragt. Dies kann etwas Zeit in Anspruch nehmen."
|
||||||
lists: "Listen"
|
lists: "Listen"
|
||||||
|
|
@ -255,7 +253,6 @@ noteDeleteConfirm: "Möchtest du diese Notiz wirklich löschen?"
|
||||||
pinLimitExceeded: "Du kannst nicht noch mehr Notizen anheften."
|
pinLimitExceeded: "Du kannst nicht noch mehr Notizen anheften."
|
||||||
done: "Fertig"
|
done: "Fertig"
|
||||||
processing: "In Bearbeitung …"
|
processing: "In Bearbeitung …"
|
||||||
preprocessing: "In Vorbereitung"
|
|
||||||
preview: "Vorschau"
|
preview: "Vorschau"
|
||||||
default: "Standard"
|
default: "Standard"
|
||||||
defaultValueIs: "Standardwert: {value}"
|
defaultValueIs: "Standardwert: {value}"
|
||||||
|
|
@ -304,7 +301,6 @@ uploadFromUrlMayTakeTime: "Es kann eine Weile dauern, bis das Hochladen abgeschl
|
||||||
uploadNFiles: "Lade {n} Dateien hoch"
|
uploadNFiles: "Lade {n} Dateien hoch"
|
||||||
explore: "Erkunden"
|
explore: "Erkunden"
|
||||||
messageRead: "Gelesen"
|
messageRead: "Gelesen"
|
||||||
readAllChatMessages: "Alle Nachrichten als gelesen markieren"
|
|
||||||
noMoreHistory: "Kein weiterer Verlauf vorhanden"
|
noMoreHistory: "Kein weiterer Verlauf vorhanden"
|
||||||
startChat: "Chat starten"
|
startChat: "Chat starten"
|
||||||
nUsersRead: "Von {n} Benutzern gelesen"
|
nUsersRead: "Von {n} Benutzern gelesen"
|
||||||
|
|
@ -337,7 +333,6 @@ fileName: "Dateiname"
|
||||||
selectFile: "Datei auswählen"
|
selectFile: "Datei auswählen"
|
||||||
selectFiles: "Dateien auswählen"
|
selectFiles: "Dateien auswählen"
|
||||||
selectFolder: "Ordner auswählen"
|
selectFolder: "Ordner auswählen"
|
||||||
unselectFolder: "Ordnerauswahl aufheben"
|
|
||||||
selectFolders: "Ordner auswählen"
|
selectFolders: "Ordner auswählen"
|
||||||
fileNotSelected: "Keine Datei ausgewählt"
|
fileNotSelected: "Keine Datei ausgewählt"
|
||||||
renameFile: "Datei umbenennen"
|
renameFile: "Datei umbenennen"
|
||||||
|
|
@ -350,7 +345,6 @@ addFile: "Datei hinzufügen"
|
||||||
showFile: "Datei anzeigen"
|
showFile: "Datei anzeigen"
|
||||||
emptyDrive: "Deine Drive ist leer"
|
emptyDrive: "Deine Drive ist leer"
|
||||||
emptyFolder: "Dieser Ordner ist leer"
|
emptyFolder: "Dieser Ordner ist leer"
|
||||||
dropHereToUpload: "Dateien hier ablegen, um sie hochzuladen."
|
|
||||||
unableToDelete: "Nicht löschbar"
|
unableToDelete: "Nicht löschbar"
|
||||||
inputNewFileName: "Gib einen neuen Dateinamen ein"
|
inputNewFileName: "Gib einen neuen Dateinamen ein"
|
||||||
inputNewDescription: "Gib eine neue Beschreibung ein"
|
inputNewDescription: "Gib eine neue Beschreibung ein"
|
||||||
|
|
@ -778,7 +772,6 @@ lockedAccountInfo: "Auch wenn du Follow-Anfragen auf manuelle Bestätigung setzt
|
||||||
alwaysMarkSensitive: "Medien standardmäßig als sensibel markieren"
|
alwaysMarkSensitive: "Medien standardmäßig als sensibel markieren"
|
||||||
loadRawImages: "Anstatt Vorschaubilder immer Originalbilder anzeigen"
|
loadRawImages: "Anstatt Vorschaubilder immer Originalbilder anzeigen"
|
||||||
disableShowingAnimatedImages: "Animierte Bilder nicht abspielen"
|
disableShowingAnimatedImages: "Animierte Bilder nicht abspielen"
|
||||||
disableShowingAnimatedImages_caption: "Unabhängig von dieser Einstellung kann es vorkommen, dass animierte Bilder nicht abgespielt werden, wenn z. B. die Barrierefreiheits- oder Energiespareinstellungen des Browsers oder des Betriebssystems eingreifen."
|
|
||||||
highlightSensitiveMedia: "Sensitive Medien markieren"
|
highlightSensitiveMedia: "Sensitive Medien markieren"
|
||||||
verificationEmailSent: "Eine Bestätigungsmail wurde an deine Email-Adresse versendet. Besuche den dort enthaltenen Link, um die Verifizierung abzuschließen."
|
verificationEmailSent: "Eine Bestätigungsmail wurde an deine Email-Adresse versendet. Besuche den dort enthaltenen Link, um die Verifizierung abzuschließen."
|
||||||
notSet: "Nicht konfiguriert"
|
notSet: "Nicht konfiguriert"
|
||||||
|
|
@ -1025,9 +1018,6 @@ pushNotificationAlreadySubscribed: "Push-Benachrichtigungen sind bereits aktivie
|
||||||
pushNotificationNotSupported: "Entweder dein Browser oder deine Instanz unterstützt Push-Benachrichtigungen nicht"
|
pushNotificationNotSupported: "Entweder dein Browser oder deine Instanz unterstützt Push-Benachrichtigungen nicht"
|
||||||
sendPushNotificationReadMessage: "Push-Benachrichtigungen löschen, sobald sie gelesen wurden"
|
sendPushNotificationReadMessage: "Push-Benachrichtigungen löschen, sobald sie gelesen wurden"
|
||||||
sendPushNotificationReadMessageCaption: "Dies kann gegebenenfalls den Batterieverbrauch deines Gerätes erhöhen."
|
sendPushNotificationReadMessageCaption: "Dies kann gegebenenfalls den Batterieverbrauch deines Gerätes erhöhen."
|
||||||
pleaseAllowPushNotification: "Bitte erlauben Sie Benachrichtigungen in Ihrem Browser."
|
|
||||||
browserPushNotificationDisabled: "Das Abrufen der Berechtigung zum Senden von Benachrichtigungen ist fehlgeschlagen."
|
|
||||||
browserPushNotificationDisabledDescription: "Sie haben keine Berechtigung, Benachrichtigungen von {serverName} zu senden. Bitte erlauben Sie Benachrichtigungen in den Browser-Einstellungen und versuchen Sie es erneut."
|
|
||||||
windowMaximize: "Maximieren"
|
windowMaximize: "Maximieren"
|
||||||
windowMinimize: "Minimieren"
|
windowMinimize: "Minimieren"
|
||||||
windowRestore: "Wiederherstellen"
|
windowRestore: "Wiederherstellen"
|
||||||
|
|
@ -1064,7 +1054,6 @@ permissionDeniedError: "Aktion verweigert"
|
||||||
permissionDeniedErrorDescription: "Dieses Benutzerkonto besitzt nicht die Berechtigung, um diese Aktion auszuführen."
|
permissionDeniedErrorDescription: "Dieses Benutzerkonto besitzt nicht die Berechtigung, um diese Aktion auszuführen."
|
||||||
preset: "Vorlage"
|
preset: "Vorlage"
|
||||||
selectFromPresets: "Aus Vorlagen wählen"
|
selectFromPresets: "Aus Vorlagen wählen"
|
||||||
custom: "Benutzerdefiniert"
|
|
||||||
achievements: "Errungenschaften"
|
achievements: "Errungenschaften"
|
||||||
gotInvalidResponseError: "Ungültige Antwort des Servers"
|
gotInvalidResponseError: "Ungültige Antwort des Servers"
|
||||||
gotInvalidResponseErrorDescription: "Eventuell ist der Server momentan nicht erreichbar oder untergeht Wartungsarbeiten. Bitte versuche es später noch einmal."
|
gotInvalidResponseErrorDescription: "Eventuell ist der Server momentan nicht erreichbar oder untergeht Wartungsarbeiten. Bitte versuche es später noch einmal."
|
||||||
|
|
@ -1103,7 +1092,6 @@ prohibitedWordsDescription2: "Durch die Verwendung von Leerzeichen können AND-V
|
||||||
hiddenTags: "Ausgeblendete Hashtags"
|
hiddenTags: "Ausgeblendete Hashtags"
|
||||||
hiddenTagsDescription: "Die hier eingestellten Tags werden nicht mehr in den Trends angezeigt. Mit der Umschalttaste können mehrere ausgewählt werden."
|
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."
|
notesSearchNotAvailable: "Die Notizsuche ist nicht verfügbar."
|
||||||
usersSearchNotAvailable: "Die Benutzersuche ist nicht verfügbar."
|
|
||||||
license: "Lizenz"
|
license: "Lizenz"
|
||||||
unfavoriteConfirm: "Wirklich aus Favoriten entfernen?"
|
unfavoriteConfirm: "Wirklich aus Favoriten entfernen?"
|
||||||
myClips: "Meine Clips"
|
myClips: "Meine Clips"
|
||||||
|
|
@ -1178,7 +1166,6 @@ installed: "Installiert"
|
||||||
branding: "Branding"
|
branding: "Branding"
|
||||||
enableServerMachineStats: "Hardwareinformationen des Servers veröffentlichen"
|
enableServerMachineStats: "Hardwareinformationen des Servers veröffentlichen"
|
||||||
enableIdenticonGeneration: "Generierung von Benutzer-Identicons aktivieren"
|
enableIdenticonGeneration: "Generierung von Benutzer-Identicons aktivieren"
|
||||||
showRoleBadgesOfRemoteUsers: "Rollensymbole anzeigen, die Remote-Benutzern zugewiesen wurden."
|
|
||||||
turnOffToImprovePerformance: "Deaktivierung kann zu höherer Leistung führen."
|
turnOffToImprovePerformance: "Deaktivierung kann zu höherer Leistung führen."
|
||||||
createInviteCode: "Einladung erstellen"
|
createInviteCode: "Einladung erstellen"
|
||||||
createWithOptions: "Einladung mit Optionen erstellen"
|
createWithOptions: "Einladung mit Optionen erstellen"
|
||||||
|
|
@ -1256,7 +1243,7 @@ releaseToRefresh: "Zum Aktualisieren loslassen"
|
||||||
refreshing: "Wird aktualisiert..."
|
refreshing: "Wird aktualisiert..."
|
||||||
pullDownToRefresh: "Zum Aktualisieren ziehen"
|
pullDownToRefresh: "Zum Aktualisieren ziehen"
|
||||||
useGroupedNotifications: "Benachrichtigungen gruppieren"
|
useGroupedNotifications: "Benachrichtigungen gruppieren"
|
||||||
emailVerificationFailedError: "Es gab ein Problem bei der Überprüfung Ihrer E-Mail-Adresse. Der Link ist möglicherweise abgelaufen."
|
signupPendingError: "Beim Überprüfen der Mailadresse ist etwas schiefgelaufen. Der Link könnte abgelaufen sein."
|
||||||
cwNotationRequired: "Ist \"Inhaltswarnung verwenden\" aktiviert, muss eine Beschreibung gegeben werden."
|
cwNotationRequired: "Ist \"Inhaltswarnung verwenden\" aktiviert, muss eine Beschreibung gegeben werden."
|
||||||
doReaction: "Reagieren"
|
doReaction: "Reagieren"
|
||||||
code: "Code"
|
code: "Code"
|
||||||
|
|
@ -1326,8 +1313,6 @@ availableRoles: "Verfügbare Rollen"
|
||||||
acknowledgeNotesAndEnable: "Schalten Sie dies erst ein, wenn Sie die Vorsichtsmaßnahmen verstanden haben."
|
acknowledgeNotesAndEnable: "Schalten Sie dies erst ein, wenn Sie die Vorsichtsmaßnahmen verstanden haben."
|
||||||
federationSpecified: "Dieser Server arbeitet mit Whitelist-Föderation. Er kann nicht mit anderen als den vom Administrator angegebenen Servern interagieren."
|
federationSpecified: "Dieser Server arbeitet mit Whitelist-Föderation. Er kann nicht mit anderen als den vom Administrator angegebenen Servern interagieren."
|
||||||
federationDisabled: "Föderation ist auf diesem Server deaktiviert. Es ist nicht möglich, mit Benutzern auf anderen Servern zu interagieren."
|
federationDisabled: "Föderation ist auf diesem Server deaktiviert. Es ist nicht möglich, mit Benutzern auf anderen Servern zu interagieren."
|
||||||
draft: "Entwurf"
|
|
||||||
draftsAndScheduledNotes: "Entwürfe und geplante Beiträge"
|
|
||||||
confirmOnReact: "Reagieren bestätigen"
|
confirmOnReact: "Reagieren bestätigen"
|
||||||
reactAreYouSure: "Willst du eine \"{emoji}\"-Reaktion hinzufügen?"
|
reactAreYouSure: "Willst du eine \"{emoji}\"-Reaktion hinzufügen?"
|
||||||
markAsSensitiveConfirm: "Möchtest du dieses Medium als sensibel kennzeichnen?"
|
markAsSensitiveConfirm: "Möchtest du dieses Medium als sensibel kennzeichnen?"
|
||||||
|
|
@ -1355,8 +1340,6 @@ postForm: "Notizfenster"
|
||||||
textCount: "Zeichenanzahl"
|
textCount: "Zeichenanzahl"
|
||||||
information: "Über"
|
information: "Über"
|
||||||
chat: "Chat"
|
chat: "Chat"
|
||||||
directMessage: "Mit dem Benutzer chatten"
|
|
||||||
directMessage_short: "Nachrichten"
|
|
||||||
migrateOldSettings: "Alte Client-Einstellungen migrieren"
|
migrateOldSettings: "Alte Client-Einstellungen migrieren"
|
||||||
migrateOldSettings_description: "Dies sollte normalerweise automatisch geschehen, aber wenn die Migration aus irgendeinem Grund nicht erfolgreich war, kannst du den Migrationsprozess selbst manuell auslösen. Die aktuellen Konfigurationsinformationen werden dabei überschrieben."
|
migrateOldSettings_description: "Dies sollte normalerweise automatisch geschehen, aber wenn die Migration aus irgendeinem Grund nicht erfolgreich war, kannst du den Migrationsprozess selbst manuell auslösen. Die aktuellen Konfigurationsinformationen werden dabei überschrieben."
|
||||||
compress: "Komprimieren"
|
compress: "Komprimieren"
|
||||||
|
|
@ -1364,7 +1347,7 @@ right: "Rechts"
|
||||||
bottom: "Unten"
|
bottom: "Unten"
|
||||||
top: "Oben"
|
top: "Oben"
|
||||||
embed: "Einbetten"
|
embed: "Einbetten"
|
||||||
settingsMigrating: "Deine Einstellungen werden gerade migriert. Bitte warte einen Moment... (Du kannst die Einstellungen später auch manuell migrieren, indem du zu Einstellungen → Anderes → Alte Einstellungen migrieren gehst)"
|
settingsMigrating: "Ihre Einstellungen werden gerade migriert, Bitte warten Sie einen Moment... (Sie können die Einstellungen später auch manuell migrieren, indem Sie zu Einstellungen → Sonstiges → Alte Einstellungen migrieren gehen)"
|
||||||
readonly: "Nur Lesezugriff"
|
readonly: "Nur Lesezugriff"
|
||||||
goToDeck: "Zurück zum Deck"
|
goToDeck: "Zurück zum Deck"
|
||||||
federationJobs: "Föderation Jobs"
|
federationJobs: "Föderation Jobs"
|
||||||
|
|
@ -1384,54 +1367,7 @@ redisplayAllTips: "Alle „Tipps und Tricks“ wieder anzeigen"
|
||||||
hideAllTips: "Alle „Tipps und Tricks“ ausblenden"
|
hideAllTips: "Alle „Tipps und Tricks“ ausblenden"
|
||||||
defaultImageCompressionLevel: "Standard-Bildkomprimierungsstufe"
|
defaultImageCompressionLevel: "Standard-Bildkomprimierungsstufe"
|
||||||
defaultImageCompressionLevel_description: "Ein niedrigerer Wert erhält die Bildqualität, erhöht aber die Dateigröße. <br>Höhere Werte reduzieren die Dateigröße, verringern aber die Bildqualität."
|
defaultImageCompressionLevel_description: "Ein niedrigerer Wert erhält die Bildqualität, erhöht aber die Dateigröße. <br>Höhere Werte reduzieren die Dateigröße, verringern aber die Bildqualität."
|
||||||
defaultCompressionLevel: "Standard-Kompressionsgrad"
|
|
||||||
defaultCompressionLevel_description: "Bei einem niedrigeren Wert bleibt die Qualität erhalten, aber die Dateigröße nimmt zu.<br> Bei einem höheren Wert lässt sich die Dateigröße verringern, aber die Qualität nimmt ab."
|
|
||||||
inMinutes: "Minute(n)"
|
|
||||||
inDays: "Tag(en)"
|
|
||||||
safeModeEnabled: "Der abgesicherte Modus ist aktiviert."
|
|
||||||
pluginsAreDisabledBecauseSafeMode: "Da der abgesicherte Modus aktiviert ist, sind alle Plugins deaktiviert."
|
|
||||||
customCssIsDisabledBecauseSafeMode: "Da der abgesicherte Modus aktiviert ist, wird benutzerdefiniertes CSS nicht angewendet."
|
|
||||||
themeIsDefaultBecauseSafeMode: "Solange der abgesicherte Modus aktiviert ist, wird das Standard-Theme verwendet. Wenn Sie den abgesicherten Modus deaktivieren, wird es wieder zurückgesetzt."
|
|
||||||
thankYouForTestingBeta: "Vielen Dank für Ihre Unterstützung beim Testen der Beta-Version!"
|
|
||||||
createUserSpecifiedNote: "Benutzerdefinierte Notiz erstellen"
|
|
||||||
schedulePost: "Beitrag planen"
|
|
||||||
scheduleToPostOnX: "Der Beitrag wird für {x} geplant.x"
|
|
||||||
scheduledToPostOnX: "Der Beitrag ist für {x} geplant."
|
|
||||||
schedule: "Planen"
|
|
||||||
scheduled: "Geplant"
|
|
||||||
widgets: "Widgets"
|
|
||||||
deviceInfo: "Geräteinformation"
|
|
||||||
deviceInfoDescription: "Bei technischen Anfragen kann es hilfreich sein, die folgenden Informationen anzugeben, da dies zur Lösung des Problems beitragen kann."
|
|
||||||
youAreAdmin: "Sie sind ein Administrator"
|
|
||||||
frame: "Rahmen"
|
|
||||||
presets: "Vorlage"
|
|
||||||
zeroPadding: "Nullauffüllung"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
caption: "Dateibeschriftung"
|
|
||||||
filename: "Dateiname"
|
|
||||||
filename_without_ext: "Dateiname ohne Erweiterung"
|
|
||||||
year: "Jahr der Aufnahme"
|
|
||||||
month: "Monat der Aufnahme"
|
|
||||||
day: "Tag der Aufnahme"
|
|
||||||
hour: "Stunde der Aufnahmezeit"
|
|
||||||
minute: "Minute der Aufnahmezeit"
|
|
||||||
second: "Sekunde der Aufnahmezeit"
|
|
||||||
camera_model: "Kameraname"
|
|
||||||
camera_lens_model: "Objektivname"
|
|
||||||
camera_mm: "Brennweite"
|
|
||||||
camera_mm_35: "Brennweite (35-mm-Äquivalent)"
|
|
||||||
_imageFrameEditor:
|
|
||||||
header: "Kopfzeile"
|
|
||||||
font: "Schriftart"
|
|
||||||
fontSerif: "Serif"
|
|
||||||
fontSansSerif: "Sans Serif"
|
|
||||||
quitWithoutSaveConfirm: "Nicht gespeicherte Änderungen verwerfen?"
|
|
||||||
_order:
|
|
||||||
newest: "Neueste zuerst"
|
|
||||||
oldest: "Älteste zuerst"
|
|
||||||
_chat:
|
_chat:
|
||||||
messages: "Nachrichten"
|
|
||||||
noMessagesYet: "Noch keine Nachrichten"
|
noMessagesYet: "Noch keine Nachrichten"
|
||||||
newMessage: "Neue Nachricht"
|
newMessage: "Neue Nachricht"
|
||||||
individualChat: "Privater Chat"
|
individualChat: "Privater Chat"
|
||||||
|
|
@ -1709,7 +1645,6 @@ _serverSettings:
|
||||||
allowExternalApRedirect_description: "Wenn diese Option aktiviert ist, können andere Server Inhalte von Drittanbietern über diesen Server abfragen, was jedoch zu Content-Spoofing führen kann."
|
allowExternalApRedirect_description: "Wenn diese Option aktiviert ist, können andere Server Inhalte von Drittanbietern über diesen Server abfragen, was jedoch zu Content-Spoofing führen kann."
|
||||||
userGeneratedContentsVisibilityForVisitor: "Sichtbarkeit von nutzergenerierten Inhalten für Gäste"
|
userGeneratedContentsVisibilityForVisitor: "Sichtbarkeit von nutzergenerierten Inhalten für Gäste"
|
||||||
userGeneratedContentsVisibilityForVisitor_description: "Dies ist nützlich, um zu verhindern, dass unangemessene Inhalte, die nicht gut moderiert sind, ungewollt über deinen eigenen Server im Internet veröffentlicht werden."
|
userGeneratedContentsVisibilityForVisitor_description: "Dies ist nützlich, um zu verhindern, dass unangemessene Inhalte, die nicht gut moderiert sind, ungewollt über deinen eigenen Server im Internet veröffentlicht werden."
|
||||||
userGeneratedContentsVisibilityForVisitor_description2: "Die uneingeschränkte Veröffentlichung aller Inhalte des Servers im Internet, einschließlich der vom Server empfangenen Fremdinhalte, birgt Risiken. Dies ist besonders wichtig für Betrachter, die sich des dezentralen Charakters der Inhalte nicht bewusst sind, da sie selbst fremde Inhalte fälschlicherweise als auf dem Server erstellte Inhalte wahrnehmen könnten."
|
|
||||||
_userGeneratedContentsVisibilityForVisitor:
|
_userGeneratedContentsVisibilityForVisitor:
|
||||||
all: "Alles ist öffentlich"
|
all: "Alles ist öffentlich"
|
||||||
localOnly: "Nur lokale Inhalte werden veröffentlicht, fremde Inhalte bleiben privat"
|
localOnly: "Nur lokale Inhalte werden veröffentlicht, fremde Inhalte bleiben privat"
|
||||||
|
|
@ -2057,8 +1992,6 @@ _role:
|
||||||
uploadableFileTypes: "Hochladbare Dateitypen"
|
uploadableFileTypes: "Hochladbare Dateitypen"
|
||||||
uploadableFileTypes_caption: "Gibt die zulässigen MIME-/Dateitypen an. Mehrere MIME-Typen können durch einen Zeilenumbruch getrennt angegeben werden, und Platzhalter können mit einem Sternchen (*) angegeben werden. (z. B. image/*)"
|
uploadableFileTypes_caption: "Gibt die zulässigen MIME-/Dateitypen an. Mehrere MIME-Typen können durch einen Zeilenumbruch getrennt angegeben werden, und Platzhalter können mit einem Sternchen (*) angegeben werden. (z. B. image/*)"
|
||||||
uploadableFileTypes_caption2: "Bei manchen Dateien ist es nicht möglich, den Typ zu bestimmen. Um solche Dateien zuzulassen, füge {x} der Spezifikation hinzu."
|
uploadableFileTypes_caption2: "Bei manchen Dateien ist es nicht möglich, den Typ zu bestimmen. Um solche Dateien zuzulassen, füge {x} der Spezifikation hinzu."
|
||||||
noteDraftLimit: "Anzahl der möglichen Entwürfe für serverseitige Notizen"
|
|
||||||
watermarkAvailable: "Kann die Wasserzeichenfunktion verwenden"
|
|
||||||
_condition:
|
_condition:
|
||||||
roleAssignedTo: "Manuellen Rollen zugewiesen"
|
roleAssignedTo: "Manuellen Rollen zugewiesen"
|
||||||
isLocal: "Lokaler Benutzer"
|
isLocal: "Lokaler Benutzer"
|
||||||
|
|
@ -2218,7 +2151,6 @@ _theme:
|
||||||
install: "Farbschemata installieren"
|
install: "Farbschemata installieren"
|
||||||
manage: "Farbschemaverwaltung"
|
manage: "Farbschemaverwaltung"
|
||||||
code: "Farbschemencode"
|
code: "Farbschemencode"
|
||||||
copyThemeCode: "Farbschemencode kopieren"
|
|
||||||
description: "Beschreibung"
|
description: "Beschreibung"
|
||||||
installed: "{name} wurde installiert"
|
installed: "{name} wurde installiert"
|
||||||
installedThemes: "Installierte Farbschemata"
|
installedThemes: "Installierte Farbschemata"
|
||||||
|
|
@ -2492,16 +2424,7 @@ _widgets:
|
||||||
chooseList: "Liste auswählen"
|
chooseList: "Liste auswählen"
|
||||||
clicker: "Klickzähler"
|
clicker: "Klickzähler"
|
||||||
birthdayFollowings: "Nutzer, die heute Geburtstag haben"
|
birthdayFollowings: "Nutzer, die heute Geburtstag haben"
|
||||||
chat: "Mit dem Benutzer chatten"
|
chat: "Chat"
|
||||||
_widgetOptions:
|
|
||||||
showHeader: "Kopfzeile anzeigen"
|
|
||||||
height: "Höhe"
|
|
||||||
_button:
|
|
||||||
colored: "Farbig"
|
|
||||||
_clock:
|
|
||||||
size: "Größe"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "Dauer"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "Inhalt verbergen"
|
hide: "Inhalt verbergen"
|
||||||
show: "Inhalt anzeigen"
|
show: "Inhalt anzeigen"
|
||||||
|
|
@ -2541,14 +2464,9 @@ _visibility:
|
||||||
disableFederation: "Deföderieren"
|
disableFederation: "Deföderieren"
|
||||||
disableFederationDescription: "Nicht an andere Instanzen übertragen"
|
disableFederationDescription: "Nicht an andere Instanzen übertragen"
|
||||||
_postForm:
|
_postForm:
|
||||||
quitInspiteOfThereAreUnuploadedFilesConfirm: "Es gibt Dateien, die nicht hochgeladen wurden. Möchtest du diese verwerfen und das Formular schließen?"
|
|
||||||
uploaderTip: "Die Datei wurde noch nicht hochgeladen. Über das Dateimenü kannst du sie umbenennen, das Bild zuschneiden, ein Wasserzeichen hinzufügen, komprimieren usw. Die Datei wird automatisch hochgeladen, wenn du eine Notiz veröffentlichst."
|
|
||||||
replyPlaceholder: "Dieser Notiz antworten …"
|
replyPlaceholder: "Dieser Notiz antworten …"
|
||||||
quotePlaceholder: "Diese Notiz zitieren …"
|
quotePlaceholder: "Diese Notiz zitieren …"
|
||||||
channelPlaceholder: "In einen Kanal senden"
|
channelPlaceholder: "In einen Kanal senden"
|
||||||
_howToUse:
|
|
||||||
visibility_title: "Sichtbarkeit"
|
|
||||||
menu_title: "Menü"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "Was machst du momentan?"
|
a: "Was machst du momentan?"
|
||||||
b: "Was ist um dich herum los?"
|
b: "Was ist um dich herum los?"
|
||||||
|
|
@ -2773,7 +2691,7 @@ _deck:
|
||||||
mentions: "Erwähnungen"
|
mentions: "Erwähnungen"
|
||||||
direct: "Direktnachrichten"
|
direct: "Direktnachrichten"
|
||||||
roleTimeline: "Rollenchronik"
|
roleTimeline: "Rollenchronik"
|
||||||
chat: "Mit dem Benutzer chatten"
|
chat: "Chat"
|
||||||
_dialog:
|
_dialog:
|
||||||
charactersExceeded: "Maximallänge überschritten! Momentan {current} von {max}"
|
charactersExceeded: "Maximallänge überschritten! Momentan {current} von {max}"
|
||||||
charactersBelow: "Minimallänge unterschritten! Momentan {current} von {min}"
|
charactersBelow: "Minimallänge unterschritten! Momentan {current} von {min}"
|
||||||
|
|
@ -2926,12 +2844,8 @@ _dataSaver:
|
||||||
_avatar:
|
_avatar:
|
||||||
title: "Animierte Profilbilder deaktivieren"
|
title: "Animierte Profilbilder deaktivieren"
|
||||||
description: "Die Animation von Profilbildern wird angehalten. Da animierte Bilder eine größere Dateigröße haben können als normale Bilder, kann dies den Datenverkehr weiter reduzieren."
|
description: "Die Animation von Profilbildern wird angehalten. Da animierte Bilder eine größere Dateigröße haben können als normale Bilder, kann dies den Datenverkehr weiter reduzieren."
|
||||||
_urlPreviewThumbnail:
|
|
||||||
title: "URL-Vorschaubilder ausblenden"
|
|
||||||
description: "URL-Vorschaubilder werden nicht mehr geladen."
|
|
||||||
_disableUrlPreview:
|
_disableUrlPreview:
|
||||||
title: "URL-Vorschau deaktivieren"
|
title: "URL-Vorschau deaktivieren"
|
||||||
description: "Deaktiviert die URL-Vorschaufunktion. Anders als bei reinen Vorschaubildern wird dadurch das Laden der verlinkten Informationen selbst reduziert."
|
|
||||||
_code:
|
_code:
|
||||||
title: "Code-Hervorhebungen ausblenden"
|
title: "Code-Hervorhebungen ausblenden"
|
||||||
description: "Wenn Code-Hervorhebungen in MFM usw. verwendet werden, werden sie erst geladen, wenn sie angetippt werden. Die Syntaxhervorhebung erfordert das Herunterladen der Definitionsdateien für jede Programmiersprache. Es ist daher zu erwarten, dass die Deaktivierung des automatischen Ladens dieser Dateien die Menge des Datenverkehrs reduziert."
|
description: "Wenn Code-Hervorhebungen in MFM usw. verwendet werden, werden sie erst geladen, wenn sie angetippt werden. Die Syntaxhervorhebung erfordert das Herunterladen der Definitionsdateien für jede Programmiersprache. Es ist daher zu erwarten, dass die Deaktivierung des automatischen Ladens dieser Dateien die Menge des Datenverkehrs reduziert."
|
||||||
|
|
@ -2989,8 +2903,6 @@ _offlineScreen:
|
||||||
_urlPreviewSetting:
|
_urlPreviewSetting:
|
||||||
title: "Einstellungen der URL-Vorschau"
|
title: "Einstellungen der URL-Vorschau"
|
||||||
enable: "URL-Vorschau aktivieren"
|
enable: "URL-Vorschau aktivieren"
|
||||||
allowRedirect: "Umleitung von URL-Vorschauen erlauben"
|
|
||||||
allowRedirectDescription: "Wenn für eine URL eine Umleitung festgelegt ist, kann diese Funktion aktiviert werden, um der Umleitung zu folgen und eine Vorschau des umgeleiteten Inhalts anzuzeigen. Die Deaktivierung spart Serverressourcen, aber der Inhalt des Weiterleitungsziels wird nicht angezeigt."
|
|
||||||
timeout: "Zeitüberschreitung beim Abrufen der Vorschau (ms)"
|
timeout: "Zeitüberschreitung beim Abrufen der Vorschau (ms)"
|
||||||
timeoutDescription: "Übersteigt die für die Vorschau benötigte Zeit diesen Wert, wird keine Vorschau generiert."
|
timeoutDescription: "Übersteigt die für die Vorschau benötigte Zeit diesen Wert, wird keine Vorschau generiert."
|
||||||
maximumContentLength: "Maximale Content-Length (Bytes)"
|
maximumContentLength: "Maximale Content-Length (Bytes)"
|
||||||
|
|
@ -3152,11 +3064,8 @@ _serverSetupWizard:
|
||||||
single_description: "Verwende den Server alleine als deinen eigenen."
|
single_description: "Verwende den Server alleine als deinen eigenen."
|
||||||
single_youCanCreateMultipleAccounts: "Bei Bedarf können mehrere Konten eingerichtet werden, auch wenn es sich um einen Ein-Personen-Server handelt."
|
single_youCanCreateMultipleAccounts: "Bei Bedarf können mehrere Konten eingerichtet werden, auch wenn es sich um einen Ein-Personen-Server handelt."
|
||||||
group: "Gruppenserver"
|
group: "Gruppenserver"
|
||||||
group_description: "Lade andere vertrauenswürdige Benutzer ein und verwende es mit mehreren Personen."
|
|
||||||
open: "Offener Server"
|
open: "Offener Server"
|
||||||
open_description: "Registrierung für alle öffnen."
|
open_description: "Registrierung für alle öffnen."
|
||||||
openServerAdvice: "Die Aufnahme einer unbestimmten Anzahl von Nutzern birgt Risiken. Es wird empfohlen, mit einem zuverlässigen Moderationssystem zu arbeiten, um eventuell auftretende Probleme behandeln zu können."
|
|
||||||
openServerAntiSpamAdvice: "Große Sorgfalt muss auch auf die Sicherheit gelegt werden, z. B. durch die Aktivierung von Anti-Bot-Funktionen wie reCAPTCHA, um sicherzustellen, dass der Server nicht zum Verbreiten von Spam genutzt wird."
|
|
||||||
howManyUsersDoYouExpect: "Mit wie vielen Benutzern rechnest du?"
|
howManyUsersDoYouExpect: "Mit wie vielen Benutzern rechnest du?"
|
||||||
_scale:
|
_scale:
|
||||||
small: "Weniger als 100 (kleiner Maßstab)"
|
small: "Weniger als 100 (kleiner Maßstab)"
|
||||||
|
|
@ -3167,8 +3076,6 @@ _serverSetupWizard:
|
||||||
doYouConnectToFediverse_description1: "Bei Anschluss an ein Netz von verteilten Servern (Fediverse) können Inhalte mit anderen Servern ausgetauscht werden."
|
doYouConnectToFediverse_description1: "Bei Anschluss an ein Netz von verteilten Servern (Fediverse) können Inhalte mit anderen Servern ausgetauscht werden."
|
||||||
doYouConnectToFediverse_description2: "Die Verbindung mit dem Fediverse wird auch als „Föderation“ bezeichnet."
|
doYouConnectToFediverse_description2: "Die Verbindung mit dem Fediverse wird auch als „Föderation“ bezeichnet."
|
||||||
youCanConfigureMoreFederationSettingsLater: "Erweiterte Einstellungen, wie z. B. die Angabe von föderierbaren Servern, können später vorgenommen werden."
|
youCanConfigureMoreFederationSettingsLater: "Erweiterte Einstellungen, wie z. B. die Angabe von föderierbaren Servern, können später vorgenommen werden."
|
||||||
adminInfo: "Administrator-Informationen"
|
|
||||||
adminInfo_description: "Legt die Administrator-Informationen fest, die für den Empfang von Anfragen verwendet werden."
|
|
||||||
adminInfo_mustBeFilled: "Dies ist auf einem offenen Server oder bei aktivierter Föderation erforderlich."
|
adminInfo_mustBeFilled: "Dies ist auf einem offenen Server oder bei aktivierter Föderation erforderlich."
|
||||||
followingSettingsAreRecommended: "Die folgenden Einstellungen werden empfohlen"
|
followingSettingsAreRecommended: "Die folgenden Einstellungen werden empfohlen"
|
||||||
applyTheseSettings: "Diese Einstellungen anwenden"
|
applyTheseSettings: "Diese Einstellungen anwenden"
|
||||||
|
|
@ -3182,7 +3089,6 @@ _serverSetupWizard:
|
||||||
text2: "Wir würden uns über deine Unterstützung freuen, damit wir dieses Projekt auch in Zukunft weiterentwickeln können."
|
text2: "Wir würden uns über deine Unterstützung freuen, damit wir dieses Projekt auch in Zukunft weiterentwickeln können."
|
||||||
text3: "Für Unterstützer gibt es auch besondere Vorteile!"
|
text3: "Für Unterstützer gibt es auch besondere Vorteile!"
|
||||||
_uploader:
|
_uploader:
|
||||||
editImage: "Bild bearbeiten"
|
|
||||||
compressedToX: "Komprimiert zu {x}"
|
compressedToX: "Komprimiert zu {x}"
|
||||||
savedXPercent: "{x}% gespart"
|
savedXPercent: "{x}% gespart"
|
||||||
abortConfirm: "Einige Dateien wurden nicht hochgeladen. Möchtest du den Vorgang abbrechen?"
|
abortConfirm: "Einige Dateien wurden nicht hochgeladen. Möchtest du den Vorgang abbrechen?"
|
||||||
|
|
@ -3204,12 +3110,10 @@ _userLists:
|
||||||
watermark: "Wasserzeichen"
|
watermark: "Wasserzeichen"
|
||||||
defaultPreset: "Standard-Voreinstellungen"
|
defaultPreset: "Standard-Voreinstellungen"
|
||||||
_watermarkEditor:
|
_watermarkEditor:
|
||||||
tip: "Dem Bild kann ein Wasserzeichen, z. B. eine Quellenangabe, hinzugefügt werden."
|
|
||||||
quitWithoutSaveConfirm: "Nicht gespeicherte Änderungen verwerfen?"
|
quitWithoutSaveConfirm: "Nicht gespeicherte Änderungen verwerfen?"
|
||||||
driveFileTypeWarn: "Diese Datei wird nicht unterstützt"
|
driveFileTypeWarn: "Diese Datei wird nicht unterstützt"
|
||||||
driveFileTypeWarnDescription: "Bilddatei auswählen"
|
driveFileTypeWarnDescription: "Bilddatei auswählen"
|
||||||
title: "Wasserzeichen bearbeiten"
|
title: "Wasserzeichen bearbeiten"
|
||||||
cover: "Alles bedecken"
|
|
||||||
opacity: "Transparenz"
|
opacity: "Transparenz"
|
||||||
scale: "Größe"
|
scale: "Größe"
|
||||||
text: "Text"
|
text: "Text"
|
||||||
|
|
@ -3218,15 +3122,6 @@ _watermarkEditor:
|
||||||
image: "Bilder"
|
image: "Bilder"
|
||||||
advanced: "Fortgeschritten"
|
advanced: "Fortgeschritten"
|
||||||
angle: "Winkel"
|
angle: "Winkel"
|
||||||
stripe: "Streifen"
|
|
||||||
stripeWidth: "Linienbreite"
|
|
||||||
stripeFrequency: "Linienanzahl"
|
|
||||||
polkadot: "Punktmuster"
|
|
||||||
polkadotMainDotOpacity: "Deckkraft des Hauptpunktes"
|
|
||||||
polkadotMainDotRadius: "Größe des Hauptpunktes"
|
|
||||||
polkadotSubDotOpacity: "Deckkraft des Unterpunktes"
|
|
||||||
polkadotSubDotRadius: "Größe des Unterpunktes"
|
|
||||||
polkadotSubDotDivisions: "Anzahl der Unterpunkte"
|
|
||||||
_imageEffector:
|
_imageEffector:
|
||||||
title: "Effekte"
|
title: "Effekte"
|
||||||
addEffect: "Effekte hinzufügen"
|
addEffect: "Effekte hinzufügen"
|
||||||
|
|
@ -3238,33 +3133,3 @@ _imageEffector:
|
||||||
invert: "Farben umkehren"
|
invert: "Farben umkehren"
|
||||||
grayscale: "Schwarzweiß"
|
grayscale: "Schwarzweiß"
|
||||||
colorAdjust: "Farbkorrektur"
|
colorAdjust: "Farbkorrektur"
|
||||||
colorClamp: "Farbkomprimierung"
|
|
||||||
colorClampAdvanced: "Farbkomprimierung (erweitert)"
|
|
||||||
distort: "Verzerrung"
|
|
||||||
stripe: "Streifen"
|
|
||||||
polkadot: "Punktmuster"
|
|
||||||
_fxProps:
|
|
||||||
angle: "Winkel"
|
|
||||||
scale: "Größe"
|
|
||||||
size: "Größe"
|
|
||||||
offset: "Position"
|
|
||||||
color: "Farbe"
|
|
||||||
opacity: "Transparenz"
|
|
||||||
lightness: "Erhellen"
|
|
||||||
drafts: "Entwurf"
|
|
||||||
_drafts:
|
|
||||||
select: "Entwurf auswählen"
|
|
||||||
cannotCreateDraftAnymore: "Die Anzahl der Entwürfe, die erstellt werden können, wurde überschritten."
|
|
||||||
cannotCreateDraft: "Mit diesem Inhalt kann kein Entwurf erstellt werden."
|
|
||||||
delete: "Entwurf löschen"
|
|
||||||
deleteAreYouSure: "Entwurf löschen?"
|
|
||||||
noDrafts: "Keine Entwürfe"
|
|
||||||
replyTo: "Antwort an {user}"
|
|
||||||
quoteOf: "Zitat von {user}s Notiz"
|
|
||||||
saveToDraft: "Als Entwurf speichern"
|
|
||||||
restoreFromDraft: "Aus Entwurf wiederherstellen"
|
|
||||||
restore: "Wiederherstellen"
|
|
||||||
listDrafts: "Liste der Entwürfe"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "Anzeigeart"
|
|
||||||
raw: "Text"
|
|
||||||
|
|
|
||||||
|
|
@ -288,10 +288,6 @@ replies: "Απάντηση"
|
||||||
renotes: "Κοινοποίηση σημειώματος"
|
renotes: "Κοινοποίηση σημειώματος"
|
||||||
postForm: "Φόρμα δημοσίευσης"
|
postForm: "Φόρμα δημοσίευσης"
|
||||||
information: "Πληροφορίες"
|
information: "Πληροφορίες"
|
||||||
widgets: "Μαραφέτια"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "Όνομα αρχείου"
|
|
||||||
_chat:
|
_chat:
|
||||||
members: "Μέλη"
|
members: "Μέλη"
|
||||||
home: "Κεντρικό"
|
home: "Κεντρικό"
|
||||||
|
|
@ -357,7 +353,6 @@ _visibility:
|
||||||
home: "Κεντρικό"
|
home: "Κεντρικό"
|
||||||
homeDescription: "Δημοσίευση στο κεντρικό χρονολόγιο μόνο"
|
homeDescription: "Δημοσίευση στο κεντρικό χρονολόγιο μόνο"
|
||||||
followers: "Ακολουθούν"
|
followers: "Ακολουθούν"
|
||||||
specified: "Απευθείας σημειώματα"
|
|
||||||
_profile:
|
_profile:
|
||||||
name: "Όνομα"
|
name: "Όνομα"
|
||||||
username: "Όνομα μέλους"
|
username: "Όνομα μέλους"
|
||||||
|
|
@ -400,7 +395,6 @@ _deck:
|
||||||
antenna: "Αντένες"
|
antenna: "Αντένες"
|
||||||
list: "Λίστα"
|
list: "Λίστα"
|
||||||
mentions: "Επισημάνσεις"
|
mentions: "Επισημάνσεις"
|
||||||
direct: "Απευθείας σημειώματα"
|
|
||||||
_webhookSettings:
|
_webhookSettings:
|
||||||
name: "Όνομα"
|
name: "Όνομα"
|
||||||
_moderationLogTypes:
|
_moderationLogTypes:
|
||||||
|
|
|
||||||
|
|
@ -81,10 +81,8 @@ import: "Import"
|
||||||
export: "Export"
|
export: "Export"
|
||||||
files: "Files"
|
files: "Files"
|
||||||
download: "Download"
|
download: "Download"
|
||||||
driveFileDeleteConfirm: "Are you sure you want to delete \"{name}\"? All notes with this file attached will also be deleted."
|
driveFileDeleteConfirm: "Do you want to remove the file \"{name}\"? Some content using this file will also be removed."
|
||||||
unfollowConfirm: "Are you sure you want to unfollow {name}?"
|
unfollowConfirm: "Are you sure you want to unfollow {name}?"
|
||||||
cancelFollowRequestConfirm: "Are you sure that you want to cancel your follow request to {name}?"
|
|
||||||
rejectFollowRequestConfirm: "Are you sure that you want to reject the follow request from {name}?"
|
|
||||||
exportRequested: "You've requested an export. This may take a while. It will be added to your Drive once completed."
|
exportRequested: "You've requested an export. This may take a while. It will be added to your Drive once completed."
|
||||||
importRequested: "You've requested an import. This may take a while."
|
importRequested: "You've requested an import. This may take a while."
|
||||||
lists: "Lists"
|
lists: "Lists"
|
||||||
|
|
@ -255,7 +253,6 @@ noteDeleteConfirm: "Are you sure you want to delete this note?"
|
||||||
pinLimitExceeded: "You cannot pin any more notes"
|
pinLimitExceeded: "You cannot pin any more notes"
|
||||||
done: "Done"
|
done: "Done"
|
||||||
processing: "Processing..."
|
processing: "Processing..."
|
||||||
preprocessing: "Preparing..."
|
|
||||||
preview: "Preview"
|
preview: "Preview"
|
||||||
default: "Default"
|
default: "Default"
|
||||||
defaultValueIs: "Default: {value}"
|
defaultValueIs: "Default: {value}"
|
||||||
|
|
@ -304,7 +301,6 @@ uploadFromUrlMayTakeTime: "It may take some time until the upload is complete."
|
||||||
uploadNFiles: "Upload {n} files"
|
uploadNFiles: "Upload {n} files"
|
||||||
explore: "Explore"
|
explore: "Explore"
|
||||||
messageRead: "Read"
|
messageRead: "Read"
|
||||||
readAllChatMessages: "Mark all messages as read"
|
|
||||||
noMoreHistory: "There is no further history"
|
noMoreHistory: "There is no further history"
|
||||||
startChat: "Start chat"
|
startChat: "Start chat"
|
||||||
nUsersRead: "read by {n}"
|
nUsersRead: "read by {n}"
|
||||||
|
|
@ -331,13 +327,12 @@ dark: "Dark"
|
||||||
lightThemes: "Light themes"
|
lightThemes: "Light themes"
|
||||||
darkThemes: "Dark themes"
|
darkThemes: "Dark themes"
|
||||||
syncDeviceDarkMode: "Sync Dark Mode with your device settings"
|
syncDeviceDarkMode: "Sync Dark Mode with your device settings"
|
||||||
switchDarkModeManuallyWhenSyncEnabledConfirm: "\"{x}\" is turned on. Would you like to turn off synchronization and switch modes manually?"
|
switchDarkModeManuallyWhenSyncEnabledConfirm: "\"{x}\" is turned on, Would you like to turn off synchronization and switch modes manually?"
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
fileName: "Filename"
|
fileName: "Filename"
|
||||||
selectFile: "Select a file"
|
selectFile: "Select a file"
|
||||||
selectFiles: "Select files"
|
selectFiles: "Select files"
|
||||||
selectFolder: "Select a folder"
|
selectFolder: "Select a folder"
|
||||||
unselectFolder: "Deselect folder"
|
|
||||||
selectFolders: "Select folders"
|
selectFolders: "Select folders"
|
||||||
fileNotSelected: "No file selected"
|
fileNotSelected: "No file selected"
|
||||||
renameFile: "Rename file"
|
renameFile: "Rename file"
|
||||||
|
|
@ -350,7 +345,6 @@ addFile: "Add a file"
|
||||||
showFile: "Show files"
|
showFile: "Show files"
|
||||||
emptyDrive: "Your Drive is empty"
|
emptyDrive: "Your Drive is empty"
|
||||||
emptyFolder: "This folder is empty"
|
emptyFolder: "This folder is empty"
|
||||||
dropHereToUpload: "Drop files here to upload"
|
|
||||||
unableToDelete: "Unable to delete"
|
unableToDelete: "Unable to delete"
|
||||||
inputNewFileName: "Enter a new filename"
|
inputNewFileName: "Enter a new filename"
|
||||||
inputNewDescription: "Enter new alt text"
|
inputNewDescription: "Enter new alt text"
|
||||||
|
|
@ -778,7 +772,6 @@ lockedAccountInfo: "Unless you set your note visiblity to \"Followers only\", yo
|
||||||
alwaysMarkSensitive: "Mark as sensitive by default"
|
alwaysMarkSensitive: "Mark as sensitive by default"
|
||||||
loadRawImages: "Load original images instead of showing thumbnails"
|
loadRawImages: "Load original images instead of showing thumbnails"
|
||||||
disableShowingAnimatedImages: "Don't play animated images"
|
disableShowingAnimatedImages: "Don't play animated images"
|
||||||
disableShowingAnimatedImages_caption: "If animated images do not play even if this setting is disabled, it may be due to browser or OS accessibility settings, power-saving settings, or similar factors."
|
|
||||||
highlightSensitiveMedia: "Highlight sensitive media"
|
highlightSensitiveMedia: "Highlight sensitive media"
|
||||||
verificationEmailSent: "A verification email has been sent. Please follow the included link to complete verification."
|
verificationEmailSent: "A verification email has been sent. Please follow the included link to complete verification."
|
||||||
notSet: "Not set"
|
notSet: "Not set"
|
||||||
|
|
@ -1025,9 +1018,6 @@ pushNotificationAlreadySubscribed: "Push notifications are already enabled"
|
||||||
pushNotificationNotSupported: "Your browser or instance does not support push notifications"
|
pushNotificationNotSupported: "Your browser or instance does not support push notifications"
|
||||||
sendPushNotificationReadMessage: "Delete push notifications once they have been read"
|
sendPushNotificationReadMessage: "Delete push notifications once they have been read"
|
||||||
sendPushNotificationReadMessageCaption: "This may increase the power consumption of your device."
|
sendPushNotificationReadMessageCaption: "This may increase the power consumption of your device."
|
||||||
pleaseAllowPushNotification: "Please enable push notifications in your browser"
|
|
||||||
browserPushNotificationDisabled: "Failed to acquire permission to send notifications"
|
|
||||||
browserPushNotificationDisabledDescription: "You do not have permission to send notifications from {serverName}. Please allow notifications in your browser settings and try again."
|
|
||||||
windowMaximize: "Maximize"
|
windowMaximize: "Maximize"
|
||||||
windowMinimize: "Minimize"
|
windowMinimize: "Minimize"
|
||||||
windowRestore: "Restore"
|
windowRestore: "Restore"
|
||||||
|
|
@ -1064,7 +1054,6 @@ permissionDeniedError: "Operation denied"
|
||||||
permissionDeniedErrorDescription: "This account does not have the permission to perform this action."
|
permissionDeniedErrorDescription: "This account does not have the permission to perform this action."
|
||||||
preset: "Preset"
|
preset: "Preset"
|
||||||
selectFromPresets: "Choose from presets"
|
selectFromPresets: "Choose from presets"
|
||||||
custom: "Custom"
|
|
||||||
achievements: "Achievements"
|
achievements: "Achievements"
|
||||||
gotInvalidResponseError: "Invalid server response"
|
gotInvalidResponseError: "Invalid server response"
|
||||||
gotInvalidResponseErrorDescription: "The server may be unreachable or undergoing maintenance. Please try again later."
|
gotInvalidResponseErrorDescription: "The server may be unreachable or undergoing maintenance. Please try again later."
|
||||||
|
|
@ -1103,7 +1092,6 @@ prohibitedWordsDescription2: "Using spaces will create AND expressions and surro
|
||||||
hiddenTags: "Hidden hashtags"
|
hiddenTags: "Hidden hashtags"
|
||||||
hiddenTagsDescription: "Select tags which will not shown on trend list.\nMultiple tags could be registered by lines."
|
hiddenTagsDescription: "Select tags which will not shown on trend list.\nMultiple tags could be registered by lines."
|
||||||
notesSearchNotAvailable: "Note search is unavailable."
|
notesSearchNotAvailable: "Note search is unavailable."
|
||||||
usersSearchNotAvailable: "User search is not available."
|
|
||||||
license: "License"
|
license: "License"
|
||||||
unfavoriteConfirm: "Really remove from favorites?"
|
unfavoriteConfirm: "Really remove from favorites?"
|
||||||
myClips: "My clips"
|
myClips: "My clips"
|
||||||
|
|
@ -1178,7 +1166,6 @@ installed: "Installed"
|
||||||
branding: "Branding"
|
branding: "Branding"
|
||||||
enableServerMachineStats: "Publish server hardware stats"
|
enableServerMachineStats: "Publish server hardware stats"
|
||||||
enableIdenticonGeneration: "Enable user identicon generation"
|
enableIdenticonGeneration: "Enable user identicon generation"
|
||||||
showRoleBadgesOfRemoteUsers: "Display the role badges assigned to remote users"
|
|
||||||
turnOffToImprovePerformance: "Turning this off can increase performance."
|
turnOffToImprovePerformance: "Turning this off can increase performance."
|
||||||
createInviteCode: "Generate invite"
|
createInviteCode: "Generate invite"
|
||||||
createWithOptions: "Generate with options"
|
createWithOptions: "Generate with options"
|
||||||
|
|
@ -1229,8 +1216,8 @@ showRepliesToOthersInTimeline: "Show replies to others in timeline"
|
||||||
hideRepliesToOthersInTimeline: "Hide replies to others from timeline"
|
hideRepliesToOthersInTimeline: "Hide replies to others from timeline"
|
||||||
showRepliesToOthersInTimelineAll: "Show replies to others from everyone you follow in timeline"
|
showRepliesToOthersInTimelineAll: "Show replies to others from everyone you follow in timeline"
|
||||||
hideRepliesToOthersInTimelineAll: "Hide replies to others from everyone you follow in timeline"
|
hideRepliesToOthersInTimelineAll: "Hide replies to others from everyone you follow in timeline"
|
||||||
confirmShowRepliesAll: "Are you sure you want to show replies from everyone you follow in your timeline? This action is irreversible."
|
confirmShowRepliesAll: "This operation is irreversible. Would you really like to show replies to others from everyone you follow in your timeline?"
|
||||||
confirmHideRepliesAll: "Are you sure you want to hide replies from everyone you follow in your timeline? This action is irreversible."
|
confirmHideRepliesAll: "This operation is irreversible. Would you really like to hide replies to others from everyone you follow in your timeline?"
|
||||||
externalServices: "External Services"
|
externalServices: "External Services"
|
||||||
sourceCode: "Source code"
|
sourceCode: "Source code"
|
||||||
sourceCodeIsNotYetProvided: "Source code is not yet available. Contact the administrator to fix this problem."
|
sourceCodeIsNotYetProvided: "Source code is not yet available. Contact the administrator to fix this problem."
|
||||||
|
|
@ -1256,7 +1243,7 @@ releaseToRefresh: "Release to refresh"
|
||||||
refreshing: "Refreshing..."
|
refreshing: "Refreshing..."
|
||||||
pullDownToRefresh: "Pull down to refresh"
|
pullDownToRefresh: "Pull down to refresh"
|
||||||
useGroupedNotifications: "Display grouped notifications"
|
useGroupedNotifications: "Display grouped notifications"
|
||||||
emailVerificationFailedError: "A problem occurred while verifying your email address. The link may have expired."
|
signupPendingError: "There was a problem verifying the email address. The link may have expired."
|
||||||
cwNotationRequired: "If \"Hide content\" is enabled, a description must be provided."
|
cwNotationRequired: "If \"Hide content\" is enabled, a description must be provided."
|
||||||
doReaction: "Add reaction"
|
doReaction: "Add reaction"
|
||||||
code: "Code"
|
code: "Code"
|
||||||
|
|
@ -1326,8 +1313,6 @@ availableRoles: "Available roles"
|
||||||
acknowledgeNotesAndEnable: "Turn on after understanding the precautions."
|
acknowledgeNotesAndEnable: "Turn on after understanding the precautions."
|
||||||
federationSpecified: "This server is operated in a whitelist federation. Interacting with servers other than those designated by the administrator is not allowed."
|
federationSpecified: "This server is operated in a whitelist federation. Interacting with servers other than those designated by the administrator is not allowed."
|
||||||
federationDisabled: "Federation is disabled on this server. You cannot interact with users on other servers."
|
federationDisabled: "Federation is disabled on this server. You cannot interact with users on other servers."
|
||||||
draft: "Drafts"
|
|
||||||
draftsAndScheduledNotes: "Drafts and scheduled notes"
|
|
||||||
confirmOnReact: "Confirm when reacting"
|
confirmOnReact: "Confirm when reacting"
|
||||||
reactAreYouSure: "Would you like to add a \"{emoji}\" reaction?"
|
reactAreYouSure: "Would you like to add a \"{emoji}\" reaction?"
|
||||||
markAsSensitiveConfirm: "Do you want to set this media as sensitive?"
|
markAsSensitiveConfirm: "Do you want to set this media as sensitive?"
|
||||||
|
|
@ -1355,8 +1340,6 @@ postForm: "Posting form"
|
||||||
textCount: "Character count"
|
textCount: "Character count"
|
||||||
information: "About"
|
information: "About"
|
||||||
chat: "Chat"
|
chat: "Chat"
|
||||||
directMessage: "Chat with user"
|
|
||||||
directMessage_short: "Message"
|
|
||||||
migrateOldSettings: "Migrate old client settings"
|
migrateOldSettings: "Migrate old client settings"
|
||||||
migrateOldSettings_description: "This should be done automatically but if for some reason the migration was not successful, you can trigger the migration process yourself manually. The current configuration information will be overwritten."
|
migrateOldSettings_description: "This should be done automatically but if for some reason the migration was not successful, you can trigger the migration process yourself manually. The current configuration information will be overwritten."
|
||||||
compress: "Compress"
|
compress: "Compress"
|
||||||
|
|
@ -1383,84 +1366,8 @@ tip: "Tips & Tricks"
|
||||||
redisplayAllTips: "Show all “Tips & Tricks” again"
|
redisplayAllTips: "Show all “Tips & Tricks” again"
|
||||||
hideAllTips: "Hide all \"Tips & Tricks\""
|
hideAllTips: "Hide all \"Tips & Tricks\""
|
||||||
defaultImageCompressionLevel: "Default image compression level"
|
defaultImageCompressionLevel: "Default image compression level"
|
||||||
defaultImageCompressionLevel_description: "Lower level preserves image quality but increases file size.<br>Higher level reduce file size, but reduce image quality."
|
defaultImageCompressionLevel_description: "High, reduces the file size but also the image quality. <br>High, reduces the file size but also the image quality."
|
||||||
defaultCompressionLevel: "Default compression level"
|
|
||||||
defaultCompressionLevel_description: "Lower compression preserves quality but increases file size.<br>Higher compression reduces file size but lowers quality."
|
|
||||||
inMinutes: "Minute(s)"
|
|
||||||
inDays: "Day(s)"
|
|
||||||
safeModeEnabled: "Safe mode is enabled"
|
|
||||||
pluginsAreDisabledBecauseSafeMode: "All plugins are disabled because safe mode is enabled."
|
|
||||||
customCssIsDisabledBecauseSafeMode: "Custom CSS is not applied because safe mode is enabled."
|
|
||||||
themeIsDefaultBecauseSafeMode: "While safe mode is active, the default theme is used. Disabling safe mode will revert these changes."
|
|
||||||
thankYouForTestingBeta: "Thank you for helping us test the beta version!"
|
|
||||||
createUserSpecifiedNote: "Create a direct note"
|
|
||||||
schedulePost: "Schedule note"
|
|
||||||
scheduleToPostOnX: "Scheduled to note on {x}"
|
|
||||||
scheduledToPostOnX: "Note is scheduled for {x}"
|
|
||||||
schedule: "Schedule"
|
|
||||||
scheduled: "Scheduled"
|
|
||||||
widgets: "Widgets"
|
|
||||||
deviceInfo: "Device information"
|
|
||||||
deviceInfoDescription: "When making technical inquiries, including the following information may help resolve the issue."
|
|
||||||
youAreAdmin: "You are admin"
|
|
||||||
frame: "Frame"
|
|
||||||
presets: "Preset"
|
|
||||||
zeroPadding: "Zero padding"
|
|
||||||
nothingToConfigure: "No configurable options available"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
caption: "File caption"
|
|
||||||
filename: "Filename"
|
|
||||||
filename_without_ext: "Filename without extension"
|
|
||||||
year: "Year of photography"
|
|
||||||
month: "Month of photogrphy"
|
|
||||||
day: "Date of photography"
|
|
||||||
hour: "Time the photo was taken (hour)"
|
|
||||||
minute: "Time the photo was taken (minute)"
|
|
||||||
second: "Time the photo was taken (second)"
|
|
||||||
camera_model: "Camera Name"
|
|
||||||
camera_lens_model: "Lens model"
|
|
||||||
camera_mm: "Focal length"
|
|
||||||
camera_mm_35: "Focal length (in 35 mm format)"
|
|
||||||
camera_f: "Aperture (f-number)"
|
|
||||||
camera_s: "Shutter speed"
|
|
||||||
camera_iso: "ISO"
|
|
||||||
gps_lat: "Latitude"
|
|
||||||
gps_long: "Longitude"
|
|
||||||
_imageFrameEditor:
|
|
||||||
title: "Edit frame"
|
|
||||||
tip: "You can decorate images by adding labels that include frames and metadata."
|
|
||||||
header: "Header"
|
|
||||||
footer: "Footer"
|
|
||||||
borderThickness: "Frame width"
|
|
||||||
labelThickness: "Label width"
|
|
||||||
labelScale: "Label scale"
|
|
||||||
centered: "Centered"
|
|
||||||
captionMain: "Caption (Big)"
|
|
||||||
captionSub: "Caption (Small)"
|
|
||||||
availableVariables: "Supported variables"
|
|
||||||
withQrCode: "QR Code"
|
|
||||||
backgroundColor: "Background color"
|
|
||||||
textColor: "Text color"
|
|
||||||
font: "Font"
|
|
||||||
fontSerif: "Serif"
|
|
||||||
fontSansSerif: "Sans Serif"
|
|
||||||
quitWithoutSaveConfirm: "Discard unsaved changes?"
|
|
||||||
failedToLoadImage: "Failed to load image"
|
|
||||||
_compression:
|
|
||||||
_quality:
|
|
||||||
high: "High quality"
|
|
||||||
medium: "Medium quality"
|
|
||||||
low: "Low quality"
|
|
||||||
_size:
|
|
||||||
large: "Large size"
|
|
||||||
medium: "Medium size"
|
|
||||||
small: "Small size"
|
|
||||||
_order:
|
|
||||||
newest: "Newest First"
|
|
||||||
oldest: "Oldest First"
|
|
||||||
_chat:
|
_chat:
|
||||||
messages: "Messages"
|
|
||||||
noMessagesYet: "No messages yet"
|
noMessagesYet: "No messages yet"
|
||||||
newMessage: "New message"
|
newMessage: "New message"
|
||||||
individualChat: "Private Chat"
|
individualChat: "Private Chat"
|
||||||
|
|
@ -1489,7 +1396,7 @@ _chat:
|
||||||
muteThisRoom: "Mute room"
|
muteThisRoom: "Mute room"
|
||||||
deleteRoom: "Delete room"
|
deleteRoom: "Delete room"
|
||||||
chatNotAvailableForThisAccountOrServer: "Chat is not enabled on this server or for this account."
|
chatNotAvailableForThisAccountOrServer: "Chat is not enabled on this server or for this account."
|
||||||
chatIsReadOnlyForThisAccountOrServer: "Chat is read-only on this server or this account. You cannot write new messages or create/join chat rooms."
|
chatIsReadOnlyForThisAccountOrServer: "Chat is read-only on this instance or this account. You cannot write new messages or create/join chat rooms."
|
||||||
chatNotAvailableInOtherAccount: "The chat function is disabled for the other user."
|
chatNotAvailableInOtherAccount: "The chat function is disabled for the other user."
|
||||||
cannotChatWithTheUser: "Cannot start a chat with this user"
|
cannotChatWithTheUser: "Cannot start a chat with this user"
|
||||||
cannotChatWithTheUser_description: "Chat is either unavailable or the other party has not enabled chat."
|
cannotChatWithTheUser_description: "Chat is either unavailable or the other party has not enabled chat."
|
||||||
|
|
@ -1548,12 +1455,6 @@ _settings:
|
||||||
contentsUpdateFrequency_description2: "When real-time mode is on, content is updated in real time regardless of this setting."
|
contentsUpdateFrequency_description2: "When real-time mode is on, content is updated in real time regardless of this setting."
|
||||||
showUrlPreview: "Show URL preview"
|
showUrlPreview: "Show URL preview"
|
||||||
showAvailableReactionsFirstInNote: "Show available reactions at the top."
|
showAvailableReactionsFirstInNote: "Show available reactions at the top."
|
||||||
showPageTabBarBottom: "Show page tab bar at the bottom"
|
|
||||||
emojiPaletteBanner: "You can register presets as palettes to display prominently in the emoji picker or customize the appearance of the picker."
|
|
||||||
enableAnimatedImages: "Enable animated images"
|
|
||||||
settingsPersistence_title: "Persistence of Settings"
|
|
||||||
settingsPersistence_description1: "Enabling setting persistence prevents configuration information from being lost."
|
|
||||||
settingsPersistence_description2: "It may not be possible to enable this depending on the environment."
|
|
||||||
_chat:
|
_chat:
|
||||||
showSenderName: "Show sender's name"
|
showSenderName: "Show sender's name"
|
||||||
sendOnEnter: "Press Enter to send"
|
sendOnEnter: "Press Enter to send"
|
||||||
|
|
@ -1562,8 +1463,6 @@ _preferencesProfile:
|
||||||
profileNameDescription: "Set a name that identifies this device."
|
profileNameDescription: "Set a name that identifies this device."
|
||||||
profileNameDescription2: "Example: \"Main PC\", \"Smartphone\""
|
profileNameDescription2: "Example: \"Main PC\", \"Smartphone\""
|
||||||
manageProfiles: "Manage Profiles"
|
manageProfiles: "Manage Profiles"
|
||||||
shareSameProfileBetweenDevicesIsNotRecommended: "We do not recommend sharing the same profile across multiple devices."
|
|
||||||
useSyncBetweenDevicesOptionIfYouWantToSyncSetting: "If there are settings you wish to synchronize across multiple devices, enable the “Synchronize across multiple devices” option individually for each device."
|
|
||||||
_preferencesBackup:
|
_preferencesBackup:
|
||||||
autoBackup: "Auto backup"
|
autoBackup: "Auto backup"
|
||||||
restoreFromBackup: "Restore from backup"
|
restoreFromBackup: "Restore from backup"
|
||||||
|
|
@ -1573,7 +1472,6 @@ _preferencesBackup:
|
||||||
youNeedToNameYourProfileToEnableAutoBackup: "A profile name must be set to enable auto backup."
|
youNeedToNameYourProfileToEnableAutoBackup: "A profile name must be set to enable auto backup."
|
||||||
autoPreferencesBackupIsNotEnabledForThisDevice: "Settings auto backup is not enabled on this device."
|
autoPreferencesBackupIsNotEnabledForThisDevice: "Settings auto backup is not enabled on this device."
|
||||||
backupFound: "Settings backup is found"
|
backupFound: "Settings backup is found"
|
||||||
forceBackup: "Force a backup of settings"
|
|
||||||
_accountSettings:
|
_accountSettings:
|
||||||
requireSigninToViewContents: "Require sign-in to view contents"
|
requireSigninToViewContents: "Require sign-in to view contents"
|
||||||
requireSigninToViewContentsDescription1: "Require login to view all notes and other content you have created. This will have the effect of preventing crawlers from collecting your information."
|
requireSigninToViewContentsDescription1: "Require login to view all notes and other content you have created. This will have the effect of preventing crawlers from collecting your information."
|
||||||
|
|
@ -1596,7 +1494,7 @@ _abuseUserReport:
|
||||||
resolveTutorial: "If the report's content is legitimate, select \"Accept\" to mark it as resolved.\nIf the report's content is illegitimate, select \"Reject\" to ignore it."
|
resolveTutorial: "If the report's content is legitimate, select \"Accept\" to mark it as resolved.\nIf the report's content is illegitimate, select \"Reject\" to ignore it."
|
||||||
_delivery:
|
_delivery:
|
||||||
status: "Delivery status"
|
status: "Delivery status"
|
||||||
stop: "Suspend"
|
stop: "Suspended"
|
||||||
resume: "Delivery resume"
|
resume: "Delivery resume"
|
||||||
_type:
|
_type:
|
||||||
none: "Publishing"
|
none: "Publishing"
|
||||||
|
|
@ -1730,10 +1628,6 @@ _serverSettings:
|
||||||
fanoutTimelineDbFallback: "Fallback to database"
|
fanoutTimelineDbFallback: "Fallback to database"
|
||||||
fanoutTimelineDbFallbackDescription: "When enabled, the timeline will fall back to the database for additional queries if the timeline is not cached. Disabling it further reduces the server load by eliminating the fallback process, but limits the range of timelines that can be retrieved."
|
fanoutTimelineDbFallbackDescription: "When enabled, the timeline will fall back to the database for additional queries if the timeline is not cached. Disabling it further reduces the server load by eliminating the fallback process, but limits the range of timelines that can be retrieved."
|
||||||
reactionsBufferingDescription: "When enabled, performance during reaction creation will be greatly improved, reducing the load on the database. However, Redis memory usage will increase."
|
reactionsBufferingDescription: "When enabled, performance during reaction creation will be greatly improved, reducing the load on the database. However, Redis memory usage will increase."
|
||||||
remoteNotesCleaning: "Automatic cleanup of remote notes"
|
|
||||||
remoteNotesCleaning_description: "When enabled, unused and outdated remote notes will be periodically cleaned up to prevent database bloat."
|
|
||||||
remoteNotesCleaningMaxProcessingDuration: "Maximum cleanup processing time"
|
|
||||||
remoteNotesCleaningExpiryDaysForEachNotes: "Minimum days to retain notes"
|
|
||||||
inquiryUrl: "Inquiry URL"
|
inquiryUrl: "Inquiry URL"
|
||||||
inquiryUrlDescription: "Specify a URL for the inquiry form to the server maintainer or a web page for the contact information."
|
inquiryUrlDescription: "Specify a URL for the inquiry form to the server maintainer or a web page for the contact information."
|
||||||
openRegistration: "Make the account creation open"
|
openRegistration: "Make the account creation open"
|
||||||
|
|
@ -1752,11 +1646,6 @@ _serverSettings:
|
||||||
userGeneratedContentsVisibilityForVisitor: "Visibility of user-generated content to guests"
|
userGeneratedContentsVisibilityForVisitor: "Visibility of user-generated content to guests"
|
||||||
userGeneratedContentsVisibilityForVisitor_description: "This is useful for preventing problems caused by inappropriate remote content that is not well moderated from being unintentionally published on the Internet via your own server."
|
userGeneratedContentsVisibilityForVisitor_description: "This is useful for preventing problems caused by inappropriate remote content that is not well moderated from being unintentionally published on the Internet via your own server."
|
||||||
userGeneratedContentsVisibilityForVisitor_description2: "Unconditionally publishing all content on the server to the Internet, including remote content received by the server is risky. This is especially important for guests who are unaware of the distributed nature of the content, as they may mistakenly believe that even remote content is content created by users on the server."
|
userGeneratedContentsVisibilityForVisitor_description2: "Unconditionally publishing all content on the server to the Internet, including remote content received by the server is risky. This is especially important for guests who are unaware of the distributed nature of the content, as they may mistakenly believe that even remote content is content created by users on the server."
|
||||||
restartServerSetupWizardConfirm_title: "Restart server setup wizard?"
|
|
||||||
restartServerSetupWizardConfirm_text: "Some current settings will be reset."
|
|
||||||
entrancePageStyle: "Entrance page style"
|
|
||||||
showTimelineForVisitor: "Show timeline"
|
|
||||||
showActivitiesForVisitor: "Show activities"
|
|
||||||
_userGeneratedContentsVisibilityForVisitor:
|
_userGeneratedContentsVisibilityForVisitor:
|
||||||
all: "Everything is public"
|
all: "Everything is public"
|
||||||
localOnly: "Only local content is published, remote content is kept private"
|
localOnly: "Only local content is published, remote content is kept private"
|
||||||
|
|
@ -2079,7 +1968,6 @@ _role:
|
||||||
canManageAvatarDecorations: "Manage avatar decorations"
|
canManageAvatarDecorations: "Manage avatar decorations"
|
||||||
driveCapacity: "Drive capacity"
|
driveCapacity: "Drive capacity"
|
||||||
maxFileSize: "Upload-able max file size"
|
maxFileSize: "Upload-able max file size"
|
||||||
maxFileSize_caption: "Reverse proxies, CDNs, and other front-end components may have their own configuration settings."
|
|
||||||
alwaysMarkNsfw: "Always mark files as NSFW"
|
alwaysMarkNsfw: "Always mark files as NSFW"
|
||||||
canUpdateBioMedia: "Can edit an icon or a banner image"
|
canUpdateBioMedia: "Can edit an icon or a banner image"
|
||||||
pinMax: "Maximum number of pinned notes"
|
pinMax: "Maximum number of pinned notes"
|
||||||
|
|
@ -2094,21 +1982,17 @@ _role:
|
||||||
descriptionOfRateLimitFactor: "Lower rate limits are less restrictive, higher ones more restrictive. "
|
descriptionOfRateLimitFactor: "Lower rate limits are less restrictive, higher ones more restrictive. "
|
||||||
canHideAds: "Can hide ads"
|
canHideAds: "Can hide ads"
|
||||||
canSearchNotes: "Usage of note search"
|
canSearchNotes: "Usage of note search"
|
||||||
canSearchUsers: "User search"
|
|
||||||
canUseTranslator: "Translator usage"
|
canUseTranslator: "Translator usage"
|
||||||
avatarDecorationLimit: "Maximum number of avatar decorations"
|
avatarDecorationLimit: "Maximum number of avatar decorations that can be applied"
|
||||||
canImportAntennas: "Can import antennas"
|
canImportAntennas: "Allow importing antennas"
|
||||||
canImportBlocking: "Can import blocking"
|
canImportBlocking: "Allow importing blocking"
|
||||||
canImportFollowing: "Can import following"
|
canImportFollowing: "Allow importing following"
|
||||||
canImportMuting: "Can import muting"
|
canImportMuting: "Allow importing muting"
|
||||||
canImportUserLists: "Can import lists"
|
canImportUserLists: "Allow importing lists"
|
||||||
chatAvailability: "Chat"
|
chatAvailability: "Allow Chat"
|
||||||
uploadableFileTypes: "Uploadable file types"
|
uploadableFileTypes: "Uploadable file types"
|
||||||
uploadableFileTypes_caption: "Specifies the allowed MIME/file types. Multiple MIME types can be specified by separating them with a new line, and wildcards can be specified with an asterisk (*). (e.g., image/*)"
|
uploadableFileTypes_caption: "Specifies the allowed MIME/file types. Multiple MIME types can be specified by separating them with a new line, and wildcards can be specified with an asterisk (*). (e.g., image/*)"
|
||||||
uploadableFileTypes_caption2: "Some files types might fail to be detected. To allow such files, add {x} to the specification."
|
uploadableFileTypes_caption2: "Some files types might fail to be detected. To allow such files, add {x} to the specification."
|
||||||
noteDraftLimit: "Number of possible drafts of server notes"
|
|
||||||
scheduledNoteLimit: "Maximum number of simultaneous scheduled notes"
|
|
||||||
watermarkAvailable: "Watermark function"
|
|
||||||
_condition:
|
_condition:
|
||||||
roleAssignedTo: "Assigned to manual roles"
|
roleAssignedTo: "Assigned to manual roles"
|
||||||
isLocal: "Local user"
|
isLocal: "Local user"
|
||||||
|
|
@ -2268,7 +2152,6 @@ _theme:
|
||||||
install: "Install a theme"
|
install: "Install a theme"
|
||||||
manage: "Manage themes"
|
manage: "Manage themes"
|
||||||
code: "Theme code"
|
code: "Theme code"
|
||||||
copyThemeCode: "Copy theme code"
|
|
||||||
description: "Description"
|
description: "Description"
|
||||||
installed: "{name} has been installed"
|
installed: "{name} has been installed"
|
||||||
installedThemes: "Installed themes"
|
installedThemes: "Installed themes"
|
||||||
|
|
@ -2368,7 +2251,6 @@ _time:
|
||||||
minute: "Minute(s)"
|
minute: "Minute(s)"
|
||||||
hour: "Hour(s)"
|
hour: "Hour(s)"
|
||||||
day: "Day(s)"
|
day: "Day(s)"
|
||||||
month: "Month(s)"
|
|
||||||
_2fa:
|
_2fa:
|
||||||
alreadyRegistered: "You have already registered a 2-factor authentication device."
|
alreadyRegistered: "You have already registered a 2-factor authentication device."
|
||||||
registerTOTP: "Register authenticator app"
|
registerTOTP: "Register authenticator app"
|
||||||
|
|
@ -2441,7 +2323,7 @@ _permissions:
|
||||||
"read:admin:index-stats": "View database index stats"
|
"read:admin:index-stats": "View database index stats"
|
||||||
"read:admin:table-stats": "View database table stats"
|
"read:admin:table-stats": "View database table stats"
|
||||||
"read:admin:user-ips": "View user IP addresses"
|
"read:admin:user-ips": "View user IP addresses"
|
||||||
"read:admin:meta": "View server metadata"
|
"read:admin:meta": "View instance metadata"
|
||||||
"write:admin:reset-password": "Reset user password"
|
"write:admin:reset-password": "Reset user password"
|
||||||
"write:admin:resolve-abuse-user-report": "Resolve user report"
|
"write:admin:resolve-abuse-user-report": "Resolve user report"
|
||||||
"write:admin:send-email": "Send email"
|
"write:admin:send-email": "Send email"
|
||||||
|
|
@ -2452,7 +2334,7 @@ _permissions:
|
||||||
"write:admin:unset-user-avatar": "Remove user avatar"
|
"write:admin:unset-user-avatar": "Remove user avatar"
|
||||||
"write:admin:unset-user-banner": "Remove user banner"
|
"write:admin:unset-user-banner": "Remove user banner"
|
||||||
"write:admin:unsuspend-user": "Unsuspend user"
|
"write:admin:unsuspend-user": "Unsuspend user"
|
||||||
"write:admin:meta": "Manage server metadata"
|
"write:admin:meta": "Manage instance metadata"
|
||||||
"write:admin:user-note": "Manage moderation note"
|
"write:admin:user-note": "Manage moderation note"
|
||||||
"write:admin:roles": "Manage roles"
|
"write:admin:roles": "Manage roles"
|
||||||
"read:admin:roles": "View roles"
|
"read:admin:roles": "View roles"
|
||||||
|
|
@ -2498,7 +2380,6 @@ _auth:
|
||||||
scopeUser: "Operate as the following user"
|
scopeUser: "Operate as the following user"
|
||||||
pleaseLogin: "Please log in to authorize applications."
|
pleaseLogin: "Please log in to authorize applications."
|
||||||
byClickingYouWillBeRedirectedToThisUrl: "When access is granted, you will automatically be redirected to the following URL"
|
byClickingYouWillBeRedirectedToThisUrl: "When access is granted, you will automatically be redirected to the following URL"
|
||||||
alreadyAuthorized: "This application already has access permission."
|
|
||||||
_antennaSources:
|
_antennaSources:
|
||||||
all: "All notes"
|
all: "All notes"
|
||||||
homeTimeline: "Notes from followed users"
|
homeTimeline: "Notes from followed users"
|
||||||
|
|
@ -2544,45 +2425,7 @@ _widgets:
|
||||||
chooseList: "Select a list"
|
chooseList: "Select a list"
|
||||||
clicker: "Clicker"
|
clicker: "Clicker"
|
||||||
birthdayFollowings: "Today's Birthdays"
|
birthdayFollowings: "Today's Birthdays"
|
||||||
chat: "Chat with user"
|
chat: "Chat"
|
||||||
_widgetOptions:
|
|
||||||
showHeader: "Show header"
|
|
||||||
transparent: "Make background transparent"
|
|
||||||
height: "Height"
|
|
||||||
_button:
|
|
||||||
colored: "Colored"
|
|
||||||
_clock:
|
|
||||||
size: "Size"
|
|
||||||
thickness: "Needle thickness"
|
|
||||||
thicknessThin: "Thin"
|
|
||||||
thicknessMedium: "Normal"
|
|
||||||
thicknessThick: "Thick"
|
|
||||||
graduations: "Dial markings"
|
|
||||||
graduationDots: "Dot"
|
|
||||||
graduationArabic: "Arabic numbers"
|
|
||||||
fadeGraduations: "Fade the scale"
|
|
||||||
sAnimation: "Second hand animation"
|
|
||||||
sAnimationElastic: "Real"
|
|
||||||
sAnimationEaseOut: "Smooth"
|
|
||||||
twentyFour: "24 Hour Format"
|
|
||||||
labelTime: "Time"
|
|
||||||
labelTz: "Timezone"
|
|
||||||
labelTimeAndTz: "Time and time zone"
|
|
||||||
timezone: "Timezone"
|
|
||||||
showMs: "Show Miliseconds"
|
|
||||||
showLabel: "Show Label"
|
|
||||||
_jobQueue:
|
|
||||||
sound: "Play Sounds"
|
|
||||||
_rss:
|
|
||||||
url: "RSS Feed Url"
|
|
||||||
refreshIntervalSec: "Update interval (in seconds)"
|
|
||||||
maxEntries: "Maximum number of items to display"
|
|
||||||
_rssTicker:
|
|
||||||
shuffle: "Random display order"
|
|
||||||
duration: "Banner scroll speed (in seconds)"
|
|
||||||
reverse: "Scroll in the opposite direction"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "Duration"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "Hide"
|
hide: "Hide"
|
||||||
show: "Show content"
|
show: "Show content"
|
||||||
|
|
@ -2627,20 +2470,6 @@ _postForm:
|
||||||
replyPlaceholder: "Reply to this note..."
|
replyPlaceholder: "Reply to this note..."
|
||||||
quotePlaceholder: "Quote this note..."
|
quotePlaceholder: "Quote this note..."
|
||||||
channelPlaceholder: "Post to a channel..."
|
channelPlaceholder: "Post to a channel..."
|
||||||
showHowToUse: "Show how to use this form"
|
|
||||||
_howToUse:
|
|
||||||
content_title: "Body"
|
|
||||||
content_description: "Enter the content you wish to post here."
|
|
||||||
toolbar_title: "Toolbars"
|
|
||||||
toolbar_description: "You can attach files or poll, add annotations or hashtags, and insert emojis or mentions."
|
|
||||||
account_title: "Account menu"
|
|
||||||
account_description: "You can switch between accounts for posting, or view a list of drafts and scheduled posts saved to your account."
|
|
||||||
visibility_title: "Visibility"
|
|
||||||
visibility_description: "You can configure the visibility of your notes."
|
|
||||||
menu_title: "Menu"
|
|
||||||
menu_description: "You can save current content to drafts, schedule posts, set reactions, and perform other actions."
|
|
||||||
submit_title: "Post button"
|
|
||||||
submit_description: "Post your notes by pressing this button. You can also post using Ctrl + Enter / Cmd + Enter."
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "What are you up to?"
|
a: "What are you up to?"
|
||||||
b: "What's happening around you?"
|
b: "What's happening around you?"
|
||||||
|
|
@ -2786,8 +2615,6 @@ _notification:
|
||||||
youReceivedFollowRequest: "You've received a follow request"
|
youReceivedFollowRequest: "You've received a follow request"
|
||||||
yourFollowRequestAccepted: "Your follow request was accepted"
|
yourFollowRequestAccepted: "Your follow request was accepted"
|
||||||
pollEnded: "Poll results have become available"
|
pollEnded: "Poll results have become available"
|
||||||
scheduledNotePosted: "Scheduled note has been posted"
|
|
||||||
scheduledNotePostFailed: "Failed to post scheduled note"
|
|
||||||
newNote: "New note"
|
newNote: "New note"
|
||||||
unreadAntennaNote: "Antenna {name}"
|
unreadAntennaNote: "Antenna {name}"
|
||||||
roleAssigned: "Role given"
|
roleAssigned: "Role given"
|
||||||
|
|
@ -2817,8 +2644,6 @@ _notification:
|
||||||
quote: "Quotes"
|
quote: "Quotes"
|
||||||
reaction: "Reactions"
|
reaction: "Reactions"
|
||||||
pollEnded: "Polls ending"
|
pollEnded: "Polls ending"
|
||||||
scheduledNotePosted: "Scheduled note was successful"
|
|
||||||
scheduledNotePostFailed: "Scheduled note failed"
|
|
||||||
receiveFollowRequest: "Received follow requests"
|
receiveFollowRequest: "Received follow requests"
|
||||||
followRequestAccepted: "Accepted follow requests"
|
followRequestAccepted: "Accepted follow requests"
|
||||||
roleAssigned: "Role given"
|
roleAssigned: "Role given"
|
||||||
|
|
@ -2858,14 +2683,6 @@ _deck:
|
||||||
usedAsMinWidthWhenFlexible: "Minimum width will be used for this when the \"Auto-adjust width\" option is enabled"
|
usedAsMinWidthWhenFlexible: "Minimum width will be used for this when the \"Auto-adjust width\" option is enabled"
|
||||||
flexible: "Auto-adjust width"
|
flexible: "Auto-adjust width"
|
||||||
enableSyncBetweenDevicesForProfiles: "Enable profile information sync between devices"
|
enableSyncBetweenDevicesForProfiles: "Enable profile information sync between devices"
|
||||||
showHowToUse: ""
|
|
||||||
_howToUse:
|
|
||||||
addColumn_title: "Add column"
|
|
||||||
addColumn_description: "You can select and add column types."
|
|
||||||
settings_title: "UI Settings"
|
|
||||||
settings_description: "You can configure detailed settings for the deck UI."
|
|
||||||
switchProfile_title: "Profile Switching"
|
|
||||||
switchProfile_description: "You can save UI layouts as profiles and switch between them at any time."
|
|
||||||
_columns:
|
_columns:
|
||||||
main: "Main"
|
main: "Main"
|
||||||
widgets: "Widgets"
|
widgets: "Widgets"
|
||||||
|
|
@ -2877,7 +2694,7 @@ _deck:
|
||||||
mentions: "Mentions"
|
mentions: "Mentions"
|
||||||
direct: "Direct notes"
|
direct: "Direct notes"
|
||||||
roleTimeline: "Role Timeline"
|
roleTimeline: "Role Timeline"
|
||||||
chat: "Chat with user"
|
chat: "Chat"
|
||||||
_dialog:
|
_dialog:
|
||||||
charactersExceeded: "You've exceeded the maximum character limit! Currently at {current} of {max}."
|
charactersExceeded: "You've exceeded the maximum character limit! Currently at {current} of {max}."
|
||||||
charactersBelow: "You're below the minimum character limit! Currently at {current} of {min}."
|
charactersBelow: "You're below the minimum character limit! Currently at {current} of {min}."
|
||||||
|
|
@ -2926,8 +2743,6 @@ _abuseReport:
|
||||||
notifiedWebhook: "Webhook to use"
|
notifiedWebhook: "Webhook to use"
|
||||||
deleteConfirm: "Are you sure that you want to delete the notification recipient?"
|
deleteConfirm: "Are you sure that you want to delete the notification recipient?"
|
||||||
_moderationLogTypes:
|
_moderationLogTypes:
|
||||||
clearQueue: "Clear queue"
|
|
||||||
promoteQueue: "Promote queue"
|
|
||||||
createRole: "Role created"
|
createRole: "Role created"
|
||||||
deleteRole: "Role deleted"
|
deleteRole: "Role deleted"
|
||||||
updateRole: "Role updated"
|
updateRole: "Role updated"
|
||||||
|
|
@ -2951,7 +2766,7 @@ _moderationLogTypes:
|
||||||
resetPassword: "Password reset"
|
resetPassword: "Password reset"
|
||||||
suspendRemoteInstance: "Remote instance suspended"
|
suspendRemoteInstance: "Remote instance suspended"
|
||||||
unsuspendRemoteInstance: "Remote instance unsuspended"
|
unsuspendRemoteInstance: "Remote instance unsuspended"
|
||||||
updateRemoteInstanceNote: "Updated moderation note for remote servers"
|
updateRemoteInstanceNote: "Moderation note updated for remote instance."
|
||||||
markSensitiveDriveFile: "File marked as sensitive"
|
markSensitiveDriveFile: "File marked as sensitive"
|
||||||
unmarkSensitiveDriveFile: "File unmarked as sensitive"
|
unmarkSensitiveDriveFile: "File unmarked as sensitive"
|
||||||
resolveAbuseReport: "Report resolved"
|
resolveAbuseReport: "Report resolved"
|
||||||
|
|
@ -2985,7 +2800,6 @@ _fileViewer:
|
||||||
url: "URL"
|
url: "URL"
|
||||||
uploadedAt: "Uploaded at"
|
uploadedAt: "Uploaded at"
|
||||||
attachedNotes: "Attached notes"
|
attachedNotes: "Attached notes"
|
||||||
usage: "Used"
|
|
||||||
thisPageCanBeSeenFromTheAuthor: "This page can only be seen by the user who uploaded this file."
|
thisPageCanBeSeenFromTheAuthor: "This page can only be seen by the user who uploaded this file."
|
||||||
_externalResourceInstaller:
|
_externalResourceInstaller:
|
||||||
title: "Install from external site"
|
title: "Install from external site"
|
||||||
|
|
@ -3238,7 +3052,6 @@ _bootErrors:
|
||||||
otherOption1: "Delete client settings and cache"
|
otherOption1: "Delete client settings and cache"
|
||||||
otherOption2: "Start the simple client"
|
otherOption2: "Start the simple client"
|
||||||
otherOption3: "Launch the repair tool"
|
otherOption3: "Launch the repair tool"
|
||||||
otherOption4: "Launch Misskey in safe mode"
|
|
||||||
_search:
|
_search:
|
||||||
searchScopeAll: "All"
|
searchScopeAll: "All"
|
||||||
searchScopeLocal: "Local"
|
searchScopeLocal: "Local"
|
||||||
|
|
@ -3275,8 +3088,6 @@ _serverSetupWizard:
|
||||||
doYouConnectToFediverse_description1: "When connected to a network of distributed servers (Fediverse) content can be exchanged with other servers."
|
doYouConnectToFediverse_description1: "When connected to a network of distributed servers (Fediverse) content can be exchanged with other servers."
|
||||||
doYouConnectToFediverse_description2: "Connecting with the Fediverse is also called \"federation\""
|
doYouConnectToFediverse_description2: "Connecting with the Fediverse is also called \"federation\""
|
||||||
youCanConfigureMoreFederationSettingsLater: "Advanced settings such as specifying federated servers can be configured later."
|
youCanConfigureMoreFederationSettingsLater: "Advanced settings such as specifying federated servers can be configured later."
|
||||||
remoteContentsCleaning: "Automatic cleanup of received contents"
|
|
||||||
remoteContentsCleaning_description: "Federation may result in a continuous inflow of content. Enabling automatic cleanup will remove outdated and unreferenced content from the server to save storage."
|
|
||||||
adminInfo: "Administrator information"
|
adminInfo: "Administrator information"
|
||||||
adminInfo_description: "Sets the administrator information used to receive inquiries."
|
adminInfo_description: "Sets the administrator information used to receive inquiries."
|
||||||
adminInfo_mustBeFilled: "Must be entered if public server or federation is on."
|
adminInfo_mustBeFilled: "Must be entered if public server or federation is on."
|
||||||
|
|
@ -3292,7 +3103,6 @@ _serverSetupWizard:
|
||||||
text2: "We would appreciate your support so that we can continue to develop this software further into the future."
|
text2: "We would appreciate your support so that we can continue to develop this software further into the future."
|
||||||
text3: "There are also special benefits for supporters!"
|
text3: "There are also special benefits for supporters!"
|
||||||
_uploader:
|
_uploader:
|
||||||
editImage: "Edit Image"
|
|
||||||
compressedToX: "Compressed to {x}"
|
compressedToX: "Compressed to {x}"
|
||||||
savedXPercent: "Saving {x}%"
|
savedXPercent: "Saving {x}%"
|
||||||
abortConfirm: "Some files have not been uploaded, do you want to abort?"
|
abortConfirm: "Some files have not been uploaded, do you want to abort?"
|
||||||
|
|
@ -3322,20 +3132,17 @@ _watermarkEditor:
|
||||||
title: "Edit Watermark"
|
title: "Edit Watermark"
|
||||||
cover: "Cover everything"
|
cover: "Cover everything"
|
||||||
repeat: "spread all over"
|
repeat: "spread all over"
|
||||||
preserveBoundingRect: "Adjust to prevent overflow when rotating"
|
|
||||||
opacity: "Opacity"
|
opacity: "Opacity"
|
||||||
scale: "Size"
|
scale: "Size"
|
||||||
text: "Text"
|
text: "Text"
|
||||||
qr: "QR Code"
|
|
||||||
position: "Position"
|
position: "Position"
|
||||||
margin: "Margin"
|
|
||||||
type: "Type"
|
type: "Type"
|
||||||
image: "Images"
|
image: "Images"
|
||||||
advanced: "Advanced"
|
advanced: "Advanced"
|
||||||
angle: "Angle"
|
|
||||||
stripe: "Stripes"
|
stripe: "Stripes"
|
||||||
stripeWidth: "Line width"
|
stripeWidth: "Line width"
|
||||||
stripeFrequency: "Lines count"
|
stripeFrequency: "Lines count"
|
||||||
|
angle: "Angle"
|
||||||
polkadot: "Polkadot"
|
polkadot: "Polkadot"
|
||||||
checker: "Checker"
|
checker: "Checker"
|
||||||
polkadotMainDotOpacity: "Opacity of the main dot"
|
polkadotMainDotOpacity: "Opacity of the main dot"
|
||||||
|
|
@ -3343,22 +3150,17 @@ _watermarkEditor:
|
||||||
polkadotSubDotOpacity: "Opacity of the secondary dot"
|
polkadotSubDotOpacity: "Opacity of the secondary dot"
|
||||||
polkadotSubDotRadius: "Size of the secondary dot"
|
polkadotSubDotRadius: "Size of the secondary dot"
|
||||||
polkadotSubDotDivisions: "Number of sub-dots."
|
polkadotSubDotDivisions: "Number of sub-dots."
|
||||||
leaveBlankToAccountUrl: "Leave blank to use account URL"
|
|
||||||
failedToLoadImage: "Failed to load image"
|
|
||||||
_imageEffector:
|
_imageEffector:
|
||||||
title: "Effects"
|
title: "Effects"
|
||||||
addEffect: "Add Effects"
|
addEffect: "Add Effects"
|
||||||
discardChangesConfirm: "Are you sure you want to leave? You have unsaved changes."
|
discardChangesConfirm: "Are you sure you want to leave? You have unsaved changes."
|
||||||
failedToLoadImage: "Failed to load image"
|
|
||||||
_fxs:
|
_fxs:
|
||||||
chromaticAberration: "Chromatic Aberration"
|
chromaticAberration: "Chromatic Aberration"
|
||||||
glitch: "Glitch"
|
glitch: "Glitch"
|
||||||
mirror: "Mirror"
|
mirror: "Mirror"
|
||||||
invert: "Invert Colors"
|
invert: "Invert Colors"
|
||||||
grayscale: "Grayscale"
|
grayscale: "white-black"
|
||||||
blur: "Blur"
|
colorAdjust: "Colour Correction"
|
||||||
pixelate: "Pixelate"
|
|
||||||
colorAdjust: "Color Correction"
|
|
||||||
colorClamp: "Color Compression"
|
colorClamp: "Color Compression"
|
||||||
colorClampAdvanced: "Color Compression (Advanced)"
|
colorClampAdvanced: "Color Compression (Advanced)"
|
||||||
distort: "Distortion"
|
distort: "Distortion"
|
||||||
|
|
@ -3369,74 +3171,3 @@ _imageEffector:
|
||||||
checker: "Checker"
|
checker: "Checker"
|
||||||
blockNoise: "Block Noise"
|
blockNoise: "Block Noise"
|
||||||
tearing: "Tearing"
|
tearing: "Tearing"
|
||||||
fill: "Fill"
|
|
||||||
_fxProps:
|
|
||||||
angle: "Angle"
|
|
||||||
scale: "Size"
|
|
||||||
size: "Size"
|
|
||||||
radius: "Radius"
|
|
||||||
samples: "Sample count"
|
|
||||||
offset: "Position"
|
|
||||||
color: "Color"
|
|
||||||
opacity: "Opacity"
|
|
||||||
normalize: "Normalize"
|
|
||||||
amount: "Amount"
|
|
||||||
lightness: "Lighten"
|
|
||||||
contrast: "Contrast"
|
|
||||||
hue: "Hue"
|
|
||||||
brightness: "Brightness"
|
|
||||||
saturation: "Saturation"
|
|
||||||
max: "Maximum"
|
|
||||||
min: "Minimum"
|
|
||||||
direction: "Direction"
|
|
||||||
phase: "Phase"
|
|
||||||
frequency: "Frequency"
|
|
||||||
strength: "Strength"
|
|
||||||
glitchChannelShift: "Channel shift"
|
|
||||||
seed: "Seed value"
|
|
||||||
redComponent: "Red component"
|
|
||||||
greenComponent: "Green component"
|
|
||||||
blueComponent: "Blue component"
|
|
||||||
threshold: "Threshold"
|
|
||||||
centerX: "Center X"
|
|
||||||
centerY: "Center Y"
|
|
||||||
zoomLinesSmoothing: "Smoothing"
|
|
||||||
zoomLinesSmoothingDescription: "Smoothing and zoom line width cannot be used together."
|
|
||||||
zoomLinesThreshold: "Zoom line width"
|
|
||||||
zoomLinesMaskSize: "Center diameter"
|
|
||||||
zoomLinesBlack: "Make black"
|
|
||||||
circle: "Circular"
|
|
||||||
drafts: "Drafts"
|
|
||||||
_drafts:
|
|
||||||
select: "Select Draft"
|
|
||||||
cannotCreateDraftAnymore: "The number of drafts that can be created has been exceeded."
|
|
||||||
cannotCreateDraft: "You cannot create a draft with this content."
|
|
||||||
delete: "Delete Draft"
|
|
||||||
deleteAreYouSure: "Delete draft?"
|
|
||||||
noDrafts: "No drafts"
|
|
||||||
replyTo: "Reply to {user}"
|
|
||||||
quoteOf: "Citation to {user}'s note"
|
|
||||||
postTo: "Posting to {channel}"
|
|
||||||
saveToDraft: "Save to Draft"
|
|
||||||
restoreFromDraft: "Restore from Draft"
|
|
||||||
restore: "Restore"
|
|
||||||
listDrafts: "List of Drafts"
|
|
||||||
schedule: "Schedule note"
|
|
||||||
listScheduledNotes: "Scheduled notes list"
|
|
||||||
cancelSchedule: "Cancel schedule"
|
|
||||||
qr: "QR Code"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "Display"
|
|
||||||
readTabTitle: "Scan"
|
|
||||||
shareTitle: "{name} {acct}"
|
|
||||||
shareText: "Follow me on the Fediverse!"
|
|
||||||
chooseCamera: "Choose camera"
|
|
||||||
cannotToggleFlash: "Unable to toggle flashlight"
|
|
||||||
turnOnFlash: "Turn on flashlight"
|
|
||||||
turnOffFlash: "Turn off flashlight"
|
|
||||||
startQr: "Resume QR code reader"
|
|
||||||
stopQr: "Stop QR code reader"
|
|
||||||
noQrCodeFound: "No QR code found"
|
|
||||||
scanFile: "Scan image from device"
|
|
||||||
raw: "Text"
|
|
||||||
mfm: "MFM"
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -5,12 +5,11 @@ introMisskey: "Bienvenue ! Misskey est un service de microblogage décentralis
|
||||||
poweredByMisskeyDescription: "{name} est l'un des services propulsés par la plateforme ouverte <b>Misskey</b> (appelée \"instance Misskey\")."
|
poweredByMisskeyDescription: "{name} est l'un des services propulsés par la plateforme ouverte <b>Misskey</b> (appelée \"instance Misskey\")."
|
||||||
monthAndDay: "{day}/{month}"
|
monthAndDay: "{day}/{month}"
|
||||||
search: "Rechercher"
|
search: "Rechercher"
|
||||||
reset: "Réinitialiser"
|
|
||||||
notifications: "Notifications"
|
notifications: "Notifications"
|
||||||
username: "Nom d’utilisateur·rice"
|
username: "Nom d’utilisateur·rice"
|
||||||
password: "Mot de passe"
|
password: "Mot de passe"
|
||||||
initialPasswordForSetup: "Mot de passe initial pour la configuration"
|
initialPasswordForSetup: "Mot de passe initial pour la configuration"
|
||||||
initialPasswordIsIncorrect: "Le mot de passe initial pour la configuration est incorrect"
|
initialPasswordIsIncorrect: "Mot de passe initial pour la configuration est incorrecte"
|
||||||
initialPasswordForSetupDescription: "Utilisez le mot de passe que vous avez entré pour le fichier de configuration si vous avez installé Misskey vous-même.\nSi vous utilisez un service d'hébergement Misskey, utilisez le mot de passe fourni.\nSi vous n'avez pas défini de mot de passe, laissez le champ vide pour continuer."
|
initialPasswordForSetupDescription: "Utilisez le mot de passe que vous avez entré pour le fichier de configuration si vous avez installé Misskey vous-même.\nSi vous utilisez un service d'hébergement Misskey, utilisez le mot de passe fourni.\nSi vous n'avez pas défini de mot de passe, laissez le champ vide pour continuer."
|
||||||
forgotPassword: "Mot de passe oublié"
|
forgotPassword: "Mot de passe oublié"
|
||||||
fetchingAsApObject: "Récupération depuis le fédiverse …"
|
fetchingAsApObject: "Récupération depuis le fédiverse …"
|
||||||
|
|
@ -49,7 +48,6 @@ pin: "Épingler sur le profil"
|
||||||
unpin: "Désépingler"
|
unpin: "Désépingler"
|
||||||
copyContent: "Copier le contenu"
|
copyContent: "Copier le contenu"
|
||||||
copyLink: "Copier le lien"
|
copyLink: "Copier le lien"
|
||||||
copyRemoteLink: "Copier le lien de la note"
|
|
||||||
copyLinkRenote: "Copier le lien de la renote"
|
copyLinkRenote: "Copier le lien de la renote"
|
||||||
delete: "Supprimer"
|
delete: "Supprimer"
|
||||||
deleteAndEdit: "Supprimer et réécrire"
|
deleteAndEdit: "Supprimer et réécrire"
|
||||||
|
|
@ -64,8 +62,8 @@ copyNoteId: "Copier l'identifiant de la note"
|
||||||
copyFileId: "Copier l'identifiant du fichier"
|
copyFileId: "Copier l'identifiant du fichier"
|
||||||
copyFolderId: "Copier l'identifiant du dossier"
|
copyFolderId: "Copier l'identifiant du dossier"
|
||||||
copyProfileUrl: "Copier l'URL du profil"
|
copyProfileUrl: "Copier l'URL du profil"
|
||||||
searchUser: "Chercher un utilisateur"
|
searchUser: "Chercher un·e utilisateur·rice"
|
||||||
searchThisUsersNotes: "Cherchez les notes de cet utilisateur"
|
searchThisUsersNotes: "Cherchez les notes de cet·te utilisateur·rice"
|
||||||
reply: "Répondre"
|
reply: "Répondre"
|
||||||
loadMore: "Afficher plus …"
|
loadMore: "Afficher plus …"
|
||||||
showMore: "Voir plus"
|
showMore: "Voir plus"
|
||||||
|
|
@ -83,8 +81,6 @@ files: "Fichiers"
|
||||||
download: "Télécharger"
|
download: "Télécharger"
|
||||||
driveFileDeleteConfirm: "Êtes-vous sûr·e de vouloir supprimer le fichier « {name} » ? Les notes avec ce fichier joint seront aussi supprimées."
|
driveFileDeleteConfirm: "Êtes-vous sûr·e de vouloir supprimer le fichier « {name} » ? Les notes avec ce fichier joint seront aussi supprimées."
|
||||||
unfollowConfirm: "Désirez-vous vous désabonner de {name} ?"
|
unfollowConfirm: "Désirez-vous vous désabonner de {name} ?"
|
||||||
cancelFollowRequestConfirm: "Est-te vous sur de vouloir annuler la demande de suivi de {name} ?"
|
|
||||||
rejectFollowRequestConfirm: "Refuser la demande de suivi de {name} ?"
|
|
||||||
exportRequested: "Vous avez demandé une exportation. L’opération pourrait prendre un peu de temps. Une fois terminée, le fichier sera ajouté au Drive."
|
exportRequested: "Vous avez demandé une exportation. L’opération pourrait prendre un peu de temps. Une fois terminée, le fichier sera ajouté au Drive."
|
||||||
importRequested: "Vous avez initié un import. Cela pourrait prendre un peu de temps."
|
importRequested: "Vous avez initié un import. Cela pourrait prendre un peu de temps."
|
||||||
lists: "Listes"
|
lists: "Listes"
|
||||||
|
|
@ -122,8 +118,6 @@ cantReRenote: "Impossible de renoter une Renote."
|
||||||
quote: "Citer"
|
quote: "Citer"
|
||||||
inChannelRenote: "Renoter dans le canal"
|
inChannelRenote: "Renoter dans le canal"
|
||||||
inChannelQuote: "Citer dans le canal"
|
inChannelQuote: "Citer dans le canal"
|
||||||
renoteToChannel: "Renoter sur le canal"
|
|
||||||
renoteToOtherChannel: "Renoter sur un autre canal"
|
|
||||||
pinnedNote: "Note épinglée"
|
pinnedNote: "Note épinglée"
|
||||||
pinned: "Épingler sur le profil"
|
pinned: "Épingler sur le profil"
|
||||||
you: "Vous"
|
you: "Vous"
|
||||||
|
|
@ -218,7 +212,6 @@ blockThisInstance: "Bloquer cette instance"
|
||||||
silenceThisInstance: "Mettre cette instance en sourdine"
|
silenceThisInstance: "Mettre cette instance en sourdine"
|
||||||
operations: "Opérations"
|
operations: "Opérations"
|
||||||
software: "Logiciel"
|
software: "Logiciel"
|
||||||
softwareName: "Nom du logiciel"
|
|
||||||
version: "Version"
|
version: "Version"
|
||||||
metadata: "Métadonnées"
|
metadata: "Métadonnées"
|
||||||
withNFiles: "{n} fichier(s)"
|
withNFiles: "{n} fichier(s)"
|
||||||
|
|
@ -238,9 +231,6 @@ blockedInstances: "Instances bloquées"
|
||||||
blockedInstancesDescription: "Listez les instances que vous désirez bloquer, une par ligne. Ces instances ne seront plus en capacité d'interagir avec votre instance."
|
blockedInstancesDescription: "Listez les instances que vous désirez bloquer, une par ligne. Ces instances ne seront plus en capacité d'interagir avec votre instance."
|
||||||
silencedInstances: "Instances mises en sourdine"
|
silencedInstances: "Instances mises en sourdine"
|
||||||
silencedInstancesDescription: "Énumérer les noms d'hôte des instances à mettre en sourdine. Tous les comptes des instances énumérées seront traités comme mis en sourdine, ne peuvent faire que des demandes de suivi et ne peuvent pas mentionner les comptes locaux s'ils ne sont pas suivis. Cela n'affectera pas les instances bloquées."
|
silencedInstancesDescription: "Énumérer les noms d'hôte des instances à mettre en sourdine. Tous les comptes des instances énumérées seront traités comme mis en sourdine, ne peuvent faire que des demandes de suivi et ne peuvent pas mentionner les comptes locaux s'ils ne sont pas suivis. Cela n'affectera pas les instances bloquées."
|
||||||
mediaSilencedInstances: "Médias silencieux sur ces instances"
|
|
||||||
mediaSilencedInstancesDescription: "Liste des noms de serveurs où vous voulez que les médias soient silencieux, séparés par un retour à la ligne.\nTous les comptes des instances listées seront considérés comme sensibles, et ne peuvent pas utilisés d'émojis personnalisés. Ceci n'affectera pas les serveurs bloquées."
|
|
||||||
federationAllowedHosts: "Serveurs qui autorisent la fédération"
|
|
||||||
muteAndBlock: "Masqué·e·s / Bloqué·e·s"
|
muteAndBlock: "Masqué·e·s / Bloqué·e·s"
|
||||||
mutedUsers: "Utilisateur·rice·s en sourdine"
|
mutedUsers: "Utilisateur·rice·s en sourdine"
|
||||||
blockedUsers: "Utilisateur·rice·s bloqué·e·s"
|
blockedUsers: "Utilisateur·rice·s bloqué·e·s"
|
||||||
|
|
@ -1218,6 +1208,7 @@ releaseToRefresh: "Relâcher pour rafraîchir"
|
||||||
refreshing: "Rafraîchissement..."
|
refreshing: "Rafraîchissement..."
|
||||||
pullDownToRefresh: "Tirer vers le bas pour rafraîchir"
|
pullDownToRefresh: "Tirer vers le bas pour rafraîchir"
|
||||||
useGroupedNotifications: "Grouper les notifications"
|
useGroupedNotifications: "Grouper les notifications"
|
||||||
|
signupPendingError: "Un problème est survenu lors de la vérification de votre adresse e-mail. Le lien a peut-être expiré."
|
||||||
cwNotationRequired: "Si « Masquer le contenu » est activé, une description doit être fournie."
|
cwNotationRequired: "Si « Masquer le contenu » est activé, une description doit être fournie."
|
||||||
doReaction: "Réagir"
|
doReaction: "Réagir"
|
||||||
code: "Code"
|
code: "Code"
|
||||||
|
|
@ -1281,18 +1272,6 @@ pleaseSelectAccount: "Sélectionner un compte"
|
||||||
availableRoles: "Rôles disponibles"
|
availableRoles: "Rôles disponibles"
|
||||||
postForm: "Formulaire de publication"
|
postForm: "Formulaire de publication"
|
||||||
information: "Informations"
|
information: "Informations"
|
||||||
inMinutes: "min"
|
|
||||||
inDays: "j"
|
|
||||||
widgets: "Widgets"
|
|
||||||
presets: "Préréglage"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "Nom du fichier"
|
|
||||||
_imageFrameEditor:
|
|
||||||
header: "Entête"
|
|
||||||
font: "Police de caractères"
|
|
||||||
fontSerif: "Serif"
|
|
||||||
fontSansSerif: "Sans Serif"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "Inviter"
|
invitations: "Inviter"
|
||||||
noHistory: "Pas d'historique"
|
noHistory: "Pas d'historique"
|
||||||
|
|
@ -2015,14 +1994,6 @@ _widgets:
|
||||||
_userList:
|
_userList:
|
||||||
chooseList: "Sélectionner une liste"
|
chooseList: "Sélectionner une liste"
|
||||||
birthdayFollowings: "Utilisateurs qui fêtent l'anniversaire aujourd'hui"
|
birthdayFollowings: "Utilisateurs qui fêtent l'anniversaire aujourd'hui"
|
||||||
_widgetOptions:
|
|
||||||
height: "Hauteur"
|
|
||||||
_button:
|
|
||||||
colored: "Coloré"
|
|
||||||
_clock:
|
|
||||||
size: "Taille"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "Durée"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "Masquer"
|
hide: "Masquer"
|
||||||
show: "Afficher le contenu"
|
show: "Afficher le contenu"
|
||||||
|
|
@ -2064,9 +2035,6 @@ _postForm:
|
||||||
replyPlaceholder: "Répondre à cette note ..."
|
replyPlaceholder: "Répondre à cette note ..."
|
||||||
quotePlaceholder: "Citez cette note ..."
|
quotePlaceholder: "Citez cette note ..."
|
||||||
channelPlaceholder: "Publier au canal…"
|
channelPlaceholder: "Publier au canal…"
|
||||||
_howToUse:
|
|
||||||
visibility_title: "Visibilité"
|
|
||||||
menu_title: "Menu"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "Quoi de neuf ?"
|
a: "Quoi de neuf ?"
|
||||||
b: "Il s'est passé quelque chose ?"
|
b: "Il s'est passé quelque chose ?"
|
||||||
|
|
@ -2402,15 +2370,3 @@ _watermarkEditor:
|
||||||
image: "Images"
|
image: "Images"
|
||||||
advanced: "Avancé"
|
advanced: "Avancé"
|
||||||
angle: "Angle"
|
angle: "Angle"
|
||||||
_imageEffector:
|
|
||||||
_fxProps:
|
|
||||||
angle: "Angle"
|
|
||||||
scale: "Taille"
|
|
||||||
size: "Taille"
|
|
||||||
offset: "Position"
|
|
||||||
color: "Couleur"
|
|
||||||
opacity: "Transparence"
|
|
||||||
lightness: "Clair"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "Affichage"
|
|
||||||
raw: "Texte"
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,230 @@
|
||||||
|
import * as fs from 'node:fs';
|
||||||
|
import { fileURLToPath } from 'node:url';
|
||||||
|
import { dirname } from 'node:path';
|
||||||
|
import * as yaml from 'js-yaml';
|
||||||
|
import ts from 'typescript';
|
||||||
|
|
||||||
|
const __filename = fileURLToPath(import.meta.url);
|
||||||
|
const __dirname = dirname(__filename);
|
||||||
|
const parameterRegExp = /\{(\w+)\}/g;
|
||||||
|
|
||||||
|
function createMemberType(item) {
|
||||||
|
if (typeof item !== 'string') {
|
||||||
|
return ts.factory.createTypeLiteralNode(createMembers(item));
|
||||||
|
}
|
||||||
|
const parameters = Array.from(
|
||||||
|
item.matchAll(parameterRegExp),
|
||||||
|
([, parameter]) => parameter,
|
||||||
|
);
|
||||||
|
return parameters.length
|
||||||
|
? ts.factory.createTypeReferenceNode(
|
||||||
|
ts.factory.createIdentifier('ParameterizedString'),
|
||||||
|
[
|
||||||
|
ts.factory.createUnionTypeNode(
|
||||||
|
parameters.map((parameter) =>
|
||||||
|
ts.factory.createStringLiteral(parameter),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
: ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword);
|
||||||
|
}
|
||||||
|
|
||||||
|
function createMembers(record) {
|
||||||
|
return Object.entries(record).map(([k, v]) => {
|
||||||
|
const node = ts.factory.createPropertySignature(
|
||||||
|
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;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function generateDTS() {
|
||||||
|
const locale = yaml.load(fs.readFileSync(`${__dirname}/ja-JP.yml`, 'utf-8'));
|
||||||
|
const members = createMembers(locale);
|
||||||
|
const elements = [
|
||||||
|
ts.factory.createVariableStatement(
|
||||||
|
[ts.factory.createToken(ts.SyntaxKind.DeclareKeyword)],
|
||||||
|
ts.factory.createVariableDeclarationList(
|
||||||
|
[
|
||||||
|
ts.factory.createVariableDeclaration(
|
||||||
|
ts.factory.createIdentifier('kParameters'),
|
||||||
|
undefined,
|
||||||
|
ts.factory.createTypeOperatorNode(
|
||||||
|
ts.SyntaxKind.UniqueKeyword,
|
||||||
|
ts.factory.createKeywordTypeNode(ts.SyntaxKind.SymbolKeyword),
|
||||||
|
),
|
||||||
|
undefined,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
ts.NodeFlags.Const,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ts.factory.createInterfaceDeclaration(
|
||||||
|
[ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
|
||||||
|
ts.factory.createIdentifier('ParameterizedString'),
|
||||||
|
[
|
||||||
|
ts.factory.createTypeParameterDeclaration(
|
||||||
|
undefined,
|
||||||
|
ts.factory.createIdentifier('T'),
|
||||||
|
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
|
||||||
|
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
undefined,
|
||||||
|
[
|
||||||
|
ts.factory.createPropertySignature(
|
||||||
|
undefined,
|
||||||
|
ts.factory.createComputedPropertyName(
|
||||||
|
ts.factory.createIdentifier('kParameters'),
|
||||||
|
),
|
||||||
|
undefined,
|
||||||
|
ts.factory.createTypeReferenceNode(
|
||||||
|
ts.factory.createIdentifier('T'),
|
||||||
|
undefined,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
ts.factory.createInterfaceDeclaration(
|
||||||
|
[ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
|
||||||
|
ts.factory.createIdentifier('ILocale'),
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
[
|
||||||
|
ts.factory.createIndexSignature(
|
||||||
|
undefined,
|
||||||
|
[
|
||||||
|
ts.factory.createParameterDeclaration(
|
||||||
|
undefined,
|
||||||
|
undefined,
|
||||||
|
ts.factory.createIdentifier('_'),
|
||||||
|
undefined,
|
||||||
|
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
|
||||||
|
undefined,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
ts.factory.createUnionTypeNode([
|
||||||
|
ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
|
||||||
|
ts.factory.createTypeReferenceNode(
|
||||||
|
ts.factory.createIdentifier('ParameterizedString'),
|
||||||
|
),
|
||||||
|
ts.factory.createTypeReferenceNode(
|
||||||
|
ts.factory.createIdentifier('ILocale'),
|
||||||
|
undefined,
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
ts.factory.createInterfaceDeclaration(
|
||||||
|
[ts.factory.createToken(ts.SyntaxKind.ExportKeyword)],
|
||||||
|
ts.factory.createIdentifier('Locale'),
|
||||||
|
undefined,
|
||||||
|
[
|
||||||
|
ts.factory.createHeritageClause(ts.SyntaxKind.ExtendsKeyword, [
|
||||||
|
ts.factory.createExpressionWithTypeArguments(
|
||||||
|
ts.factory.createIdentifier('ILocale'),
|
||||||
|
undefined,
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
],
|
||||||
|
members,
|
||||||
|
),
|
||||||
|
ts.factory.createVariableStatement(
|
||||||
|
[ts.factory.createToken(ts.SyntaxKind.DeclareKeyword)],
|
||||||
|
ts.factory.createVariableDeclarationList(
|
||||||
|
[
|
||||||
|
ts.factory.createVariableDeclaration(
|
||||||
|
ts.factory.createIdentifier('locales'),
|
||||||
|
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.createFunctionDeclaration(
|
||||||
|
[ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)],
|
||||||
|
undefined,
|
||||||
|
ts.factory.createIdentifier('build'),
|
||||||
|
undefined,
|
||||||
|
[],
|
||||||
|
ts.factory.createTypeReferenceNode(
|
||||||
|
ts.factory.createIdentifier('Locale'),
|
||||||
|
undefined,
|
||||||
|
),
|
||||||
|
undefined,
|
||||||
|
),
|
||||||
|
ts.factory.createExportDefault(ts.factory.createIdentifier('locales')),
|
||||||
|
];
|
||||||
|
ts.addSyntheticLeadingComment(
|
||||||
|
elements[0],
|
||||||
|
ts.SyntaxKind.MultiLineCommentTrivia,
|
||||||
|
' eslint-disable ',
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
ts.addSyntheticLeadingComment(
|
||||||
|
elements[0],
|
||||||
|
ts.SyntaxKind.SingleLineCommentTrivia,
|
||||||
|
' This file is generated by locales/generateDTS.js',
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
ts.addSyntheticLeadingComment(
|
||||||
|
elements[0],
|
||||||
|
ts.SyntaxKind.SingleLineCommentTrivia,
|
||||||
|
' Do not edit this file directly.',
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
const printed = ts
|
||||||
|
.createPrinter({
|
||||||
|
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');
|
||||||
|
}
|
||||||
|
|
@ -5,13 +5,9 @@ introMisskey: "Selamat datang! Misskey adalah perangkat mikroblog tercatu bersif
|
||||||
poweredByMisskeyDescription: "{name} adalah sebuah layanan (instance) yang menggunakan platform sumber terbuka <b>Misskey</b>."
|
poweredByMisskeyDescription: "{name} adalah sebuah layanan (instance) yang menggunakan platform sumber terbuka <b>Misskey</b>."
|
||||||
monthAndDay: "{day} {month}"
|
monthAndDay: "{day} {month}"
|
||||||
search: "Penelusuran"
|
search: "Penelusuran"
|
||||||
reset: "Reset"
|
|
||||||
notifications: "Notifikasi"
|
notifications: "Notifikasi"
|
||||||
username: "Nama Pengguna"
|
username: "Nama Pengguna"
|
||||||
password: "Kata sandi"
|
password: "Kata sandi"
|
||||||
initialPasswordForSetup: "Kata sandi untuk memulai konfigurasi awal"
|
|
||||||
initialPasswordIsIncorrect: "Kata sandi untuk memulai konfigurasi awal salah."
|
|
||||||
initialPasswordForSetupDescription: "Jika Anda menginstal Misskey sendiri, gunakan kata sandi yang Anda masukkan di berkas konfigurasi.\nJika Anda menggunakan layanan hosting Misskey, gunakan kata sandi yang diberikan.\nJika Anda belum mengatur kata sandi, biarkan kosong dan lanjutkan."
|
|
||||||
forgotPassword: "Lupa Kata Sandi"
|
forgotPassword: "Lupa Kata Sandi"
|
||||||
fetchingAsApObject: "Mengambil data dari Fediverse..."
|
fetchingAsApObject: "Mengambil data dari Fediverse..."
|
||||||
ok: "OK"
|
ok: "OK"
|
||||||
|
|
@ -49,7 +45,6 @@ pin: "Sematkan ke profil"
|
||||||
unpin: "Lepas sematan dari profil"
|
unpin: "Lepas sematan dari profil"
|
||||||
copyContent: "Salin konten"
|
copyContent: "Salin konten"
|
||||||
copyLink: "Salin tautan"
|
copyLink: "Salin tautan"
|
||||||
copyRemoteLink: "Salin tautan jarak jauh"
|
|
||||||
copyLinkRenote: "Salin tautan renote"
|
copyLinkRenote: "Salin tautan renote"
|
||||||
delete: "Hapus"
|
delete: "Hapus"
|
||||||
deleteAndEdit: "Hapus dan sunting"
|
deleteAndEdit: "Hapus dan sunting"
|
||||||
|
|
@ -217,10 +212,8 @@ perDay: "per Hari"
|
||||||
stopActivityDelivery: "Berhenti mengirim aktivitas"
|
stopActivityDelivery: "Berhenti mengirim aktivitas"
|
||||||
blockThisInstance: "Blokir instansi ini"
|
blockThisInstance: "Blokir instansi ini"
|
||||||
silenceThisInstance: "Senyapkan instansi ini"
|
silenceThisInstance: "Senyapkan instansi ini"
|
||||||
mediaSilenceThisInstance: "Server media senyap"
|
|
||||||
operations: "Tindakan"
|
operations: "Tindakan"
|
||||||
software: "Perangkat lunak"
|
software: "Perangkat lunak"
|
||||||
softwareName: "Nama Perangkat Lunak"
|
|
||||||
version: "Versi"
|
version: "Versi"
|
||||||
metadata: "Metadata"
|
metadata: "Metadata"
|
||||||
withNFiles: "{n} berkas"
|
withNFiles: "{n} berkas"
|
||||||
|
|
@ -240,8 +233,6 @@ blockedInstances: "Instansi terblokir"
|
||||||
blockedInstancesDescription: "Daftar nama host dari instansi yang diperlukan untuk diblokir. Instansi yang didaftarkan tidak akan dapat berkomunikasi dengan instansi ini."
|
blockedInstancesDescription: "Daftar nama host dari instansi yang diperlukan untuk diblokir. Instansi yang didaftarkan tidak akan dapat berkomunikasi dengan instansi ini."
|
||||||
silencedInstances: "Instansi yang disenyapkan"
|
silencedInstances: "Instansi yang disenyapkan"
|
||||||
silencedInstancesDescription: "Daftar nama host dari instansi yang ingin kamu senyapkan. Semua akun dari instansi yang terdaftar akan diperlakukan sebagai disenyapkan. Hal ini membuat akun hanya dapat membuat permintaan mengikuti, dan tidak dapat menyebutkan akun lokal apabila tidak mengikuti. Hal ini tidak akan mempengaruhi instansi yang diblokir."
|
silencedInstancesDescription: "Daftar nama host dari instansi yang ingin kamu senyapkan. Semua akun dari instansi yang terdaftar akan diperlakukan sebagai disenyapkan. Hal ini membuat akun hanya dapat membuat permintaan mengikuti, dan tidak dapat menyebutkan akun lokal apabila tidak mengikuti. Hal ini tidak akan mempengaruhi instansi yang diblokir."
|
||||||
mediaSilencedInstances: "Server dengan media dibisukan"
|
|
||||||
mediaSilencedInstancesDescription: "Masukkan host server yang medianya ingin Anda bisukan, pisahkan dengan baris baru. Semua berkas dari akun di server ini akan dianggap sebagai sensitif dan emoji kustom tidak akan tersedia. Ini tidak akan membengaruhi server yang diblokir."
|
|
||||||
federationAllowedHosts: "Server yang membolehkan federasi"
|
federationAllowedHosts: "Server yang membolehkan federasi"
|
||||||
muteAndBlock: "Bisukan / Blokir"
|
muteAndBlock: "Bisukan / Blokir"
|
||||||
mutedUsers: "Pengguna yang dibisukan"
|
mutedUsers: "Pengguna yang dibisukan"
|
||||||
|
|
@ -300,7 +291,6 @@ uploadFromUrlMayTakeTime: "Membutuhkan beberapa waktu hingga pengunggahan selesa
|
||||||
explore: "Jelajahi"
|
explore: "Jelajahi"
|
||||||
messageRead: "Telah dibaca"
|
messageRead: "Telah dibaca"
|
||||||
noMoreHistory: "Tidak ada sejarah lagi"
|
noMoreHistory: "Tidak ada sejarah lagi"
|
||||||
startChat: "Kirim pesan"
|
|
||||||
nUsersRead: "Dibaca oleh {n}"
|
nUsersRead: "Dibaca oleh {n}"
|
||||||
agreeTo: "Saya setuju kepada {0}"
|
agreeTo: "Saya setuju kepada {0}"
|
||||||
agree: "Setuju"
|
agree: "Setuju"
|
||||||
|
|
@ -400,7 +390,7 @@ enableHcaptcha: "Nyalakan hCaptcha"
|
||||||
hcaptchaSiteKey: "Site Key"
|
hcaptchaSiteKey: "Site Key"
|
||||||
hcaptchaSecretKey: "Secret Key"
|
hcaptchaSecretKey: "Secret Key"
|
||||||
mcaptcha: "mCaptcha"
|
mcaptcha: "mCaptcha"
|
||||||
enableMcaptcha: ""
|
enableMcaptcha: "Nyalakan mCaptcha"
|
||||||
mcaptchaSiteKey: "Site key"
|
mcaptchaSiteKey: "Site key"
|
||||||
mcaptchaSecretKey: "Secret Key"
|
mcaptchaSecretKey: "Secret Key"
|
||||||
mcaptchaInstanceUrl: "URL instansi mCaptcha"
|
mcaptchaInstanceUrl: "URL instansi mCaptcha"
|
||||||
|
|
@ -513,7 +503,6 @@ emojiStyle: "Gaya emoji"
|
||||||
native: "Native"
|
native: "Native"
|
||||||
menuStyle: "Gaya menu"
|
menuStyle: "Gaya menu"
|
||||||
style: "Gaya"
|
style: "Gaya"
|
||||||
popup: "Pemunculan"
|
|
||||||
showNoteActionsOnlyHover: "Hanya tampilkan aksi catatan saat ditunjuk"
|
showNoteActionsOnlyHover: "Hanya tampilkan aksi catatan saat ditunjuk"
|
||||||
showReactionsCount: "Lihat jumlah reaksi dalam catatan"
|
showReactionsCount: "Lihat jumlah reaksi dalam catatan"
|
||||||
noHistory: "Tidak ada riwayat"
|
noHistory: "Tidak ada riwayat"
|
||||||
|
|
@ -570,7 +559,6 @@ showFixedPostForm: "Tampilkan form posting di atas lini masa"
|
||||||
showFixedPostFormInChannel: "Tampilkan form posting di atas lini masa (Kanal)"
|
showFixedPostFormInChannel: "Tampilkan form posting di atas lini masa (Kanal)"
|
||||||
withRepliesByDefaultForNewlyFollowed: "Termasuk balasan dari pengguna baru yang diikuti pada lini masa secara bawaan"
|
withRepliesByDefaultForNewlyFollowed: "Termasuk balasan dari pengguna baru yang diikuti pada lini masa secara bawaan"
|
||||||
newNoteRecived: "Kamu mendapat catatan baru"
|
newNoteRecived: "Kamu mendapat catatan baru"
|
||||||
newNote: "Catatan baru"
|
|
||||||
sounds: "Bunyi"
|
sounds: "Bunyi"
|
||||||
sound: "Bunyi"
|
sound: "Bunyi"
|
||||||
listen: "Dengarkan"
|
listen: "Dengarkan"
|
||||||
|
|
@ -1033,7 +1021,6 @@ permissionDeniedError: "Operasi ditolak"
|
||||||
permissionDeniedErrorDescription: "Akun ini tidak memiliki izin untuk melakukan aksi ini."
|
permissionDeniedErrorDescription: "Akun ini tidak memiliki izin untuk melakukan aksi ini."
|
||||||
preset: "Prasetel"
|
preset: "Prasetel"
|
||||||
selectFromPresets: "Pilih dari prasetel"
|
selectFromPresets: "Pilih dari prasetel"
|
||||||
custom: "Penyesuaian"
|
|
||||||
achievements: "Pencapaian"
|
achievements: "Pencapaian"
|
||||||
gotInvalidResponseError: "Respon peladen tidak valid"
|
gotInvalidResponseError: "Respon peladen tidak valid"
|
||||||
gotInvalidResponseErrorDescription: "Peladen tidak dapat dijangkau atau sedang dalam perawatan. Mohon coba lagi nanti."
|
gotInvalidResponseErrorDescription: "Peladen tidak dapat dijangkau atau sedang dalam perawatan. Mohon coba lagi nanti."
|
||||||
|
|
@ -1053,7 +1040,7 @@ disableFederationConfirmWarn: "Mematikan federasi tidak membuat kiriman menjadi
|
||||||
disableFederationOk: "Matikan federasi"
|
disableFederationOk: "Matikan federasi"
|
||||||
invitationRequiredToRegister: "Instansi ini dalam mode undangan-saja. Kamu harus memasukkan kode undangan yang valid untuk mendaftar."
|
invitationRequiredToRegister: "Instansi ini dalam mode undangan-saja. Kamu harus memasukkan kode undangan yang valid untuk mendaftar."
|
||||||
emailNotSupported: "Instansi ini tidak mendukung mengirim surel"
|
emailNotSupported: "Instansi ini tidak mendukung mengirim surel"
|
||||||
postToTheChannel: "Buat Catatan ke Kanal"
|
postToTheChannel: "Catat ke kanal"
|
||||||
cannotBeChangedLater: "Hal ini nantinya tidak dapat diubah lagi."
|
cannotBeChangedLater: "Hal ini nantinya tidak dapat diubah lagi."
|
||||||
reactionAcceptance: "Penerimaan reaksi"
|
reactionAcceptance: "Penerimaan reaksi"
|
||||||
likeOnly: "Hanya suka"
|
likeOnly: "Hanya suka"
|
||||||
|
|
@ -1116,7 +1103,6 @@ preservedUsernamesDescription: "Daftar nama pengguna yang dicadangkan dipisah de
|
||||||
createNoteFromTheFile: "Buat catatan dari berkas ini"
|
createNoteFromTheFile: "Buat catatan dari berkas ini"
|
||||||
archive: "Arsipkan"
|
archive: "Arsipkan"
|
||||||
archived: "Diarsipkan"
|
archived: "Diarsipkan"
|
||||||
unarchive: "Batalkan pengarsipan"
|
|
||||||
channelArchiveConfirmTitle: "Yakin untuk mengarsipkan {name}?"
|
channelArchiveConfirmTitle: "Yakin untuk mengarsipkan {name}?"
|
||||||
channelArchiveConfirmDescription: "Kanal yang diarsipkan tidak akan muncul pada daftar kanal atau hasil pencarian. Postingan baru juga tidak dapat ditambahkan lagi."
|
channelArchiveConfirmDescription: "Kanal yang diarsipkan tidak akan muncul pada daftar kanal atau hasil pencarian. Postingan baru juga tidak dapat ditambahkan lagi."
|
||||||
thisChannelArchived: "Kanal ini telah diarsipkan."
|
thisChannelArchived: "Kanal ini telah diarsipkan."
|
||||||
|
|
@ -1219,6 +1205,7 @@ releaseToRefresh: "Lepaskan untuk memuat ulang"
|
||||||
refreshing: "Sedang memuat ulang..."
|
refreshing: "Sedang memuat ulang..."
|
||||||
pullDownToRefresh: "Tarik ke bawah untuk memuat ulang"
|
pullDownToRefresh: "Tarik ke bawah untuk memuat ulang"
|
||||||
useGroupedNotifications: "Tampilkan notifikasi secara dikelompokkan"
|
useGroupedNotifications: "Tampilkan notifikasi secara dikelompokkan"
|
||||||
|
signupPendingError: "Terdapat masalah ketika memverifikasi alamat surel. Tautan kemungkinan telah kedaluwarsa."
|
||||||
cwNotationRequired: "Jika \"Sembunyikan konten\" diaktifkan, deskripsi harus disediakan."
|
cwNotationRequired: "Jika \"Sembunyikan konten\" diaktifkan, deskripsi harus disediakan."
|
||||||
doReaction: "Tambahkan reaksi"
|
doReaction: "Tambahkan reaksi"
|
||||||
code: "Kode"
|
code: "Kode"
|
||||||
|
|
@ -1258,7 +1245,6 @@ noDescription: "Tidak ada deskripsi"
|
||||||
alwaysConfirmFollow: "Selalu konfirmasi ketika mengikuti"
|
alwaysConfirmFollow: "Selalu konfirmasi ketika mengikuti"
|
||||||
inquiry: "Hubungi kami"
|
inquiry: "Hubungi kami"
|
||||||
tryAgain: "Silahkan coba lagi."
|
tryAgain: "Silahkan coba lagi."
|
||||||
sensitiveMediaRevealConfirm: "Media sensitif. Apakah ingin melihat?"
|
|
||||||
createdLists: "Senarai yang dibuat"
|
createdLists: "Senarai yang dibuat"
|
||||||
createdAntennas: "Antena yang dibuat"
|
createdAntennas: "Antena yang dibuat"
|
||||||
fromX: "Dari {x}"
|
fromX: "Dari {x}"
|
||||||
|
|
@ -1266,52 +1252,18 @@ noteOfThisUser: "Catatan oleh pengguna ini"
|
||||||
clipNoteLimitExceeded: "Klip ini tak bisa ditambahi lagi catatan."
|
clipNoteLimitExceeded: "Klip ini tak bisa ditambahi lagi catatan."
|
||||||
performance: "Kinerja"
|
performance: "Kinerja"
|
||||||
modified: "Diubah"
|
modified: "Diubah"
|
||||||
discard: "Buang"
|
|
||||||
thereAreNChanges: "Ada {n} perubahan"
|
thereAreNChanges: "Ada {n} perubahan"
|
||||||
signinWithPasskey: "Masuk dengan kunci sandi"
|
|
||||||
unknownWebAuthnKey: "Kunci sandi tidak terdaftar."
|
|
||||||
passkeyVerificationFailed: "Verifikasi kunci sandi gagal."
|
|
||||||
passkeyVerificationSucceededButPasswordlessLoginDisabled: "Verifikasi kunci sandi berhasil, namun pemasukan tanpa sandi dinonaktifkan."
|
|
||||||
messageToFollower: "Pesan kepada pengikut"
|
|
||||||
prohibitedWordsForNameOfUser: "Kata yang dilarang untuk nama pengguna"
|
prohibitedWordsForNameOfUser: "Kata yang dilarang untuk nama pengguna"
|
||||||
lockdown: "Kuncitara"
|
|
||||||
noName: "Tidak ada nama"
|
|
||||||
skip: "Lewati"
|
|
||||||
paste: "Tempel"
|
|
||||||
emojiPalette: "Palet emoji"
|
|
||||||
postForm: "Buat catatan"
|
postForm: "Buat catatan"
|
||||||
information: "Informasi"
|
information: "Informasi"
|
||||||
chat: "Obrolan"
|
|
||||||
directMessage: "Obrolan pengguna"
|
|
||||||
right: "Kanan"
|
|
||||||
bottom: "Bawah"
|
|
||||||
top: "Atas"
|
|
||||||
advice: "Saran"
|
|
||||||
inMinutes: "menit"
|
|
||||||
inDays: "hari"
|
|
||||||
widgets: "Widget"
|
|
||||||
presets: "Prasetel"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "Nama berkas"
|
|
||||||
_imageFrameEditor:
|
|
||||||
header: "Header"
|
|
||||||
font: "Font"
|
|
||||||
fontSerif: "Serif"
|
|
||||||
fontSansSerif: "Sans-serif"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "Undang"
|
invitations: "Undang"
|
||||||
history: "Riwayat obrolan"
|
|
||||||
noHistory: "Tidak ada riwayat"
|
noHistory: "Tidak ada riwayat"
|
||||||
members: "Anggota"
|
members: "Anggota"
|
||||||
home: "Beranda"
|
home: "Beranda"
|
||||||
send: "Kirim"
|
send: "Kirim"
|
||||||
chatWithThisUser: "Obrolan pengguna"
|
|
||||||
_settings:
|
_settings:
|
||||||
webhook: "Webhook"
|
webhook: "Webhook"
|
||||||
contentsUpdateFrequency: "Frekuensi pembaruan konten"
|
|
||||||
_preferencesProfile:
|
|
||||||
profileName: "Nama profil"
|
|
||||||
_abuseUserReport:
|
_abuseUserReport:
|
||||||
accept: "Setuju"
|
accept: "Setuju"
|
||||||
reject: "Tolak"
|
reject: "Tolak"
|
||||||
|
|
@ -2005,7 +1957,6 @@ _sfx:
|
||||||
noteMy: "Catatan (Saya)"
|
noteMy: "Catatan (Saya)"
|
||||||
notification: "Notifikasi"
|
notification: "Notifikasi"
|
||||||
reaction: "Ketika memilih reaksi"
|
reaction: "Ketika memilih reaksi"
|
||||||
chatMessage: "Obrolan pengguna"
|
|
||||||
_soundSettings:
|
_soundSettings:
|
||||||
driveFile: "Menggunakan berkas audio dalam Drive"
|
driveFile: "Menggunakan berkas audio dalam Drive"
|
||||||
driveFileWarn: "Pilih berkas audio dari Drive"
|
driveFileWarn: "Pilih berkas audio dari Drive"
|
||||||
|
|
@ -2208,15 +2159,6 @@ _widgets:
|
||||||
chooseList: "Pilih daftar"
|
chooseList: "Pilih daftar"
|
||||||
clicker: "Pengeklik"
|
clicker: "Pengeklik"
|
||||||
birthdayFollowings: "Pengguna yang merayakan hari ulang tahunnya hari ini"
|
birthdayFollowings: "Pengguna yang merayakan hari ulang tahunnya hari ini"
|
||||||
chat: "Obrolan pengguna"
|
|
||||||
_widgetOptions:
|
|
||||||
height: "Tinggi"
|
|
||||||
_button:
|
|
||||||
colored: "Diwarnai"
|
|
||||||
_clock:
|
|
||||||
size: "Ukuran"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "Durasi"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "Sembunyikan"
|
hide: "Sembunyikan"
|
||||||
show: "Lihat konten"
|
show: "Lihat konten"
|
||||||
|
|
@ -2259,9 +2201,6 @@ _postForm:
|
||||||
replyPlaceholder: "Balas ke catatan ini..."
|
replyPlaceholder: "Balas ke catatan ini..."
|
||||||
quotePlaceholder: "Kutip catatan ini..."
|
quotePlaceholder: "Kutip catatan ini..."
|
||||||
channelPlaceholder: "Posting ke kanal"
|
channelPlaceholder: "Posting ke kanal"
|
||||||
_howToUse:
|
|
||||||
visibility_title: "Visibilitas"
|
|
||||||
menu_title: "Menu"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "Sedang apa kamu saat ini?"
|
a: "Sedang apa kamu saat ini?"
|
||||||
b: "Apa yang terjadi di sekitarmu?"
|
b: "Apa yang terjadi di sekitarmu?"
|
||||||
|
|
@ -2461,14 +2400,13 @@ _deck:
|
||||||
main: "Utama"
|
main: "Utama"
|
||||||
widgets: "Widget"
|
widgets: "Widget"
|
||||||
notifications: "Notifikasi"
|
notifications: "Notifikasi"
|
||||||
tl: "Beranda"
|
tl: "Lini masa"
|
||||||
antenna: "Antena"
|
antenna: "Antena"
|
||||||
list: "Daftar"
|
list: "Daftar"
|
||||||
channel: "Kanal"
|
channel: "Kanal"
|
||||||
mentions: "Sebutan"
|
mentions: "Sebutan"
|
||||||
direct: "Langsung"
|
direct: "Langsung"
|
||||||
roleTimeline: "Lini masa peran"
|
roleTimeline: "Lini masa peran"
|
||||||
chat: "Obrolan pengguna"
|
|
||||||
_dialog:
|
_dialog:
|
||||||
charactersExceeded: "Kamu telah melebihi batas karakter maksimum! Saat ini pada {current} dari {max}."
|
charactersExceeded: "Kamu telah melebihi batas karakter maksimum! Saat ini pada {current} dari {max}."
|
||||||
charactersBelow: "Kamu berada di bawah batas minimum karakter! Saat ini pada {current} dari {min}."
|
charactersBelow: "Kamu berada di bawah batas minimum karakter! Saat ini pada {current} dari {min}."
|
||||||
|
|
@ -2680,15 +2618,3 @@ _watermarkEditor:
|
||||||
image: "Gambar"
|
image: "Gambar"
|
||||||
advanced: "Tingkat lanjut"
|
advanced: "Tingkat lanjut"
|
||||||
angle: "Sudut"
|
angle: "Sudut"
|
||||||
_imageEffector:
|
|
||||||
_fxProps:
|
|
||||||
angle: "Sudut"
|
|
||||||
scale: "Ukuran"
|
|
||||||
size: "Ukuran"
|
|
||||||
offset: "Posisi"
|
|
||||||
color: "Warna"
|
|
||||||
opacity: "Opasitas"
|
|
||||||
lightness: "Menerangkan"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "Tampilkan"
|
|
||||||
raw: "Teks"
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,92 @@
|
||||||
|
/**
|
||||||
|
* Languages Loader
|
||||||
|
*/
|
||||||
|
|
||||||
|
import * as fs from 'node:fs';
|
||||||
|
import * as yaml from 'js-yaml';
|
||||||
|
|
||||||
|
const merge = (...args) => args.reduce((a, c) => ({
|
||||||
|
...a,
|
||||||
|
...c,
|
||||||
|
...Object.entries(a)
|
||||||
|
.filter(([k]) => c && typeof c[k] === 'object')
|
||||||
|
.reduce((a, [k, v]) => (a[k] = merge(v, c[k]), a), {})
|
||||||
|
}), {});
|
||||||
|
|
||||||
|
const languages = [
|
||||||
|
'ar-SA',
|
||||||
|
'ca-ES',
|
||||||
|
'cs-CZ',
|
||||||
|
'da-DK',
|
||||||
|
'de-DE',
|
||||||
|
'en-US',
|
||||||
|
'es-ES',
|
||||||
|
'fr-FR',
|
||||||
|
'id-ID',
|
||||||
|
'it-IT',
|
||||||
|
'ja-JP',
|
||||||
|
'ja-KS',
|
||||||
|
'kab-KAB',
|
||||||
|
'kn-IN',
|
||||||
|
'ko-KR',
|
||||||
|
'nl-NL',
|
||||||
|
'no-NO',
|
||||||
|
'pl-PL',
|
||||||
|
'pt-PT',
|
||||||
|
'ru-RU',
|
||||||
|
'sk-SK',
|
||||||
|
'th-TH',
|
||||||
|
'ug-CN',
|
||||||
|
'uk-UA',
|
||||||
|
'vi-VN',
|
||||||
|
'zh-CN',
|
||||||
|
'zh-TW',
|
||||||
|
];
|
||||||
|
|
||||||
|
const primaries = {
|
||||||
|
'en': 'US',
|
||||||
|
'ja': 'JP',
|
||||||
|
'zh': 'CN',
|
||||||
|
};
|
||||||
|
|
||||||
|
// 何故か文字列にバックスペース文字が混入することがあり、YAMLが壊れるので取り除く
|
||||||
|
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 removeEmpty = (obj) => {
|
||||||
|
for (const [k, v] of Object.entries(obj)) {
|
||||||
|
if (v === '') {
|
||||||
|
delete obj[k];
|
||||||
|
} else if (typeof v === 'object') {
|
||||||
|
removeEmpty(v);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return obj;
|
||||||
|
};
|
||||||
|
removeEmpty(locales);
|
||||||
|
|
||||||
|
return Object.entries(locales)
|
||||||
|
.reduce((a, [k, v]) => (a[k] = (() => {
|
||||||
|
const [lang] = k.split('-');
|
||||||
|
switch (k) {
|
||||||
|
case 'ja-JP': return v;
|
||||||
|
case 'ja-KS':
|
||||||
|
case 'en-US': return merge(locales['ja-JP'], v);
|
||||||
|
default: return merge(
|
||||||
|
locales['ja-JP'],
|
||||||
|
locales['en-US'],
|
||||||
|
locales[`${lang}-${primaries[lang]}`] ?? {},
|
||||||
|
v
|
||||||
|
);
|
||||||
|
}
|
||||||
|
})(), a), {});
|
||||||
|
}
|
||||||
|
|
||||||
|
export default build();
|
||||||
|
|
@ -83,8 +83,6 @@ files: "Allegati"
|
||||||
download: "Scarica"
|
download: "Scarica"
|
||||||
driveFileDeleteConfirm: "Vuoi davvero eliminare il file \"{name}\", e le Note a cui è stato allegato?"
|
driveFileDeleteConfirm: "Vuoi davvero eliminare il file \"{name}\", e le Note a cui è stato allegato?"
|
||||||
unfollowConfirm: "Vuoi davvero togliere il Following a {name}?"
|
unfollowConfirm: "Vuoi davvero togliere il Following a {name}?"
|
||||||
cancelFollowRequestConfirm: "Vuoi annullare la tua richiesta di follow inviata a {name}?"
|
|
||||||
rejectFollowRequestConfirm: "Vuoi rifiutare la richiesta di follow ricevuta da {name}?"
|
|
||||||
exportRequested: "Hai richiesto un'esportazione, e potrebbe volerci tempo. Quando sarà compiuta, il file verrà aggiunto direttamente al Drive."
|
exportRequested: "Hai richiesto un'esportazione, e potrebbe volerci tempo. Quando sarà compiuta, il file verrà aggiunto direttamente al Drive."
|
||||||
importRequested: "Hai richiesto un'importazione. Potrebbe richiedere un po' di tempo."
|
importRequested: "Hai richiesto un'importazione. Potrebbe richiedere un po' di tempo."
|
||||||
lists: "Liste"
|
lists: "Liste"
|
||||||
|
|
@ -141,12 +139,12 @@ overwriteFromPinnedEmojis: "Sovrascrivi con le impostazioni globali"
|
||||||
reactionSettingDescription2: "Trascina per riorganizzare, clicca per cancellare, usa il pulsante \"+\" per aggiungere."
|
reactionSettingDescription2: "Trascina per riorganizzare, clicca per cancellare, usa il pulsante \"+\" per aggiungere."
|
||||||
rememberNoteVisibility: "Ricordare le impostazioni di visibilità delle note"
|
rememberNoteVisibility: "Ricordare le impostazioni di visibilità delle note"
|
||||||
attachCancel: "Rimuovi allegato"
|
attachCancel: "Rimuovi allegato"
|
||||||
deleteFile: "Elimina un file dal Drive"
|
deleteFile: "File da Drive eliminato"
|
||||||
markAsSensitive: "Segna come esplicito"
|
markAsSensitive: "Segna come esplicito"
|
||||||
unmarkAsSensitive: "Non segnare come esplicito "
|
unmarkAsSensitive: "Non segnare come esplicito "
|
||||||
enterFileName: "Nome del file"
|
enterFileName: "Nome del file"
|
||||||
mute: "Silenziare"
|
mute: "Silenziare"
|
||||||
unmute: "Dai voce"
|
unmute: "Riattiva l'audio"
|
||||||
renoteMute: "Silenziare le Rinota"
|
renoteMute: "Silenziare le Rinota"
|
||||||
renoteUnmute: "Non silenziare le Rinota"
|
renoteUnmute: "Non silenziare le Rinota"
|
||||||
block: "Bloccare"
|
block: "Bloccare"
|
||||||
|
|
@ -255,7 +253,6 @@ noteDeleteConfirm: "Vuoi davvero eliminare questa Nota?"
|
||||||
pinLimitExceeded: "Non puoi fissare altre note "
|
pinLimitExceeded: "Non puoi fissare altre note "
|
||||||
done: "Fine"
|
done: "Fine"
|
||||||
processing: "In elaborazione"
|
processing: "In elaborazione"
|
||||||
preprocessing: "In preparazione"
|
|
||||||
preview: "Anteprima"
|
preview: "Anteprima"
|
||||||
default: "Predefinito"
|
default: "Predefinito"
|
||||||
defaultValueIs: "Predefinito: {value}"
|
defaultValueIs: "Predefinito: {value}"
|
||||||
|
|
@ -304,7 +301,6 @@ uploadFromUrlMayTakeTime: "Il caricamento del file può richiedere tempo."
|
||||||
uploadNFiles: "Caricare {n} file singolarmente"
|
uploadNFiles: "Caricare {n} file singolarmente"
|
||||||
explore: "Esplora"
|
explore: "Esplora"
|
||||||
messageRead: "Visualizzato"
|
messageRead: "Visualizzato"
|
||||||
readAllChatMessages: "Segna tutti i messaggi come già letti"
|
|
||||||
noMoreHistory: "Non c'è più cronologia da visualizzare"
|
noMoreHistory: "Non c'è più cronologia da visualizzare"
|
||||||
startChat: "Inizia a chattare"
|
startChat: "Inizia a chattare"
|
||||||
nUsersRead: "Letto da {n} persone"
|
nUsersRead: "Letto da {n} persone"
|
||||||
|
|
@ -337,7 +333,6 @@ fileName: "Nome dell'allegato"
|
||||||
selectFile: "Scelta allegato"
|
selectFile: "Scelta allegato"
|
||||||
selectFiles: "Scelta allegato"
|
selectFiles: "Scelta allegato"
|
||||||
selectFolder: "Seleziona cartella"
|
selectFolder: "Seleziona cartella"
|
||||||
unselectFolder: "Deseleziona la cartella"
|
|
||||||
selectFolders: "Seleziona cartella"
|
selectFolders: "Seleziona cartella"
|
||||||
fileNotSelected: "Nessun file selezionato"
|
fileNotSelected: "Nessun file selezionato"
|
||||||
renameFile: "Rinomina file"
|
renameFile: "Rinomina file"
|
||||||
|
|
@ -350,7 +345,6 @@ addFile: "Allega"
|
||||||
showFile: "Visualizza file"
|
showFile: "Visualizza file"
|
||||||
emptyDrive: "Il Drive è vuoto"
|
emptyDrive: "Il Drive è vuoto"
|
||||||
emptyFolder: "La cartella è vuota"
|
emptyFolder: "La cartella è vuota"
|
||||||
dropHereToUpload: "Trascina qui il tuo file per caricarlo"
|
|
||||||
unableToDelete: "Eliminazione impossibile"
|
unableToDelete: "Eliminazione impossibile"
|
||||||
inputNewFileName: "Inserisci nome del nuovo file"
|
inputNewFileName: "Inserisci nome del nuovo file"
|
||||||
inputNewDescription: "Inserisci una nuova descrizione"
|
inputNewDescription: "Inserisci una nuova descrizione"
|
||||||
|
|
@ -461,7 +455,7 @@ setupOf2fa: "Impostare l'autenticazione a due fattori"
|
||||||
totp: "App di autenticazione a due fattori (2FA/MFA)"
|
totp: "App di autenticazione a due fattori (2FA/MFA)"
|
||||||
totpDescription: "Puoi autenticarti inserendo un codice OTP tramite la tua App di autenticazione a due fattori (2FA/MFA)"
|
totpDescription: "Puoi autenticarti inserendo un codice OTP tramite la tua App di autenticazione a due fattori (2FA/MFA)"
|
||||||
moderator: "Moderatore"
|
moderator: "Moderatore"
|
||||||
moderation: "Moderazione"
|
moderation: "moderazione"
|
||||||
moderationNote: "Promemoria di moderazione"
|
moderationNote: "Promemoria di moderazione"
|
||||||
moderationNoteDescription: "Puoi scrivere promemoria condivisi solo tra moderatori."
|
moderationNoteDescription: "Puoi scrivere promemoria condivisi solo tra moderatori."
|
||||||
addModerationNote: "Aggiungi promemoria di moderazione"
|
addModerationNote: "Aggiungi promemoria di moderazione"
|
||||||
|
|
@ -502,7 +496,7 @@ attachAsFileQuestion: "Il testo copiato eccede le dimensioni, vuoi allegarlo?"
|
||||||
onlyOneFileCanBeAttached: "È possibile allegare al messaggio soltanto uno file"
|
onlyOneFileCanBeAttached: "È possibile allegare al messaggio soltanto uno file"
|
||||||
signinRequired: "Occorre avere un profilo registrato su questa istanza"
|
signinRequired: "Occorre avere un profilo registrato su questa istanza"
|
||||||
signinOrContinueOnRemote: "Per continuare, devi accedere alla tua istanza o registrarti su questa e poi accedere"
|
signinOrContinueOnRemote: "Per continuare, devi accedere alla tua istanza o registrarti su questa e poi accedere"
|
||||||
invitations: "Inviti"
|
invitations: "Invita"
|
||||||
invitationCode: "Codice di invito"
|
invitationCode: "Codice di invito"
|
||||||
checking: "Confermando"
|
checking: "Confermando"
|
||||||
available: "Disponibile"
|
available: "Disponibile"
|
||||||
|
|
@ -528,7 +522,7 @@ style: "Stile"
|
||||||
drawer: "Drawer"
|
drawer: "Drawer"
|
||||||
popup: "Popup"
|
popup: "Popup"
|
||||||
showNoteActionsOnlyHover: "Mostra le azioni delle Note solo al passaggio del mouse"
|
showNoteActionsOnlyHover: "Mostra le azioni delle Note solo al passaggio del mouse"
|
||||||
showReactionsCount: "Visualizza la quantità di reazioni su una nota"
|
showReactionsCount: "Visualizza il numero di reazioni su una nota"
|
||||||
noHistory: "Nessuna cronologia"
|
noHistory: "Nessuna cronologia"
|
||||||
signinHistory: "Storico degli accessi al profilo"
|
signinHistory: "Storico degli accessi al profilo"
|
||||||
enableAdvancedMfm: "Attivare i Misskey Flavoured Markdown (MFM) avanzati"
|
enableAdvancedMfm: "Attivare i Misskey Flavoured Markdown (MFM) avanzati"
|
||||||
|
|
@ -583,7 +577,7 @@ showFixedPostForm: "Visualizzare la finestra di pubblicazione in cima alla timel
|
||||||
showFixedPostFormInChannel: "Per i canali, mostra il modulo di pubblicazione in cima alla timeline"
|
showFixedPostFormInChannel: "Per i canali, mostra il modulo di pubblicazione in cima alla timeline"
|
||||||
withRepliesByDefaultForNewlyFollowed: "Quando segui nuovi profili, includi le risposte in TL come impostazione predefinita"
|
withRepliesByDefaultForNewlyFollowed: "Quando segui nuovi profili, includi le risposte in TL come impostazione predefinita"
|
||||||
newNoteRecived: "Nuove Note da leggere"
|
newNoteRecived: "Nuove Note da leggere"
|
||||||
newNote: "Nuove Note"
|
newNote: "Nuova Nota"
|
||||||
sounds: "Impostazioni suoni"
|
sounds: "Impostazioni suoni"
|
||||||
sound: "Suono"
|
sound: "Suono"
|
||||||
notificationSoundSettings: "Preferenze di notifica"
|
notificationSoundSettings: "Preferenze di notifica"
|
||||||
|
|
@ -613,7 +607,7 @@ descendingOrder: "Diminuisce"
|
||||||
scratchpad: "ScratchPad"
|
scratchpad: "ScratchPad"
|
||||||
scratchpadDescription: "Lo Scratchpad offre un ambiente per esperimenti di AiScript. È possibile scrivere, eseguire e confermare i risultati dell'interazione del codice con Misskey."
|
scratchpadDescription: "Lo Scratchpad offre un ambiente per esperimenti di AiScript. È possibile scrivere, eseguire e confermare i risultati dell'interazione del codice con Misskey."
|
||||||
uiInspector: "UI Inspector"
|
uiInspector: "UI Inspector"
|
||||||
uiInspectorDescription: "Puoi visualizzare un elenco di elementi grafici presenti in memoria. I componenti dell'interfaccia grafica vengono generati dalle funzioni Ui:C:."
|
uiInspectorDescription: "Puoi visualizzare un elenco di elementi UI presenti in memoria. I componenti dell'interfaccia utente vengono generati dalle funzioni Ui:C:."
|
||||||
output: "Output"
|
output: "Output"
|
||||||
script: "Script"
|
script: "Script"
|
||||||
disablePagesScript: "Disabilitare AiScript nelle pagine"
|
disablePagesScript: "Disabilitare AiScript nelle pagine"
|
||||||
|
|
@ -693,16 +687,16 @@ emptyToDisableSmtpAuth: "Lasciare i campi vuoti se non c'è autenticazione SMTP"
|
||||||
smtpSecure: "Usare SSL/TLS implicito per le connessioni SMTP"
|
smtpSecure: "Usare SSL/TLS implicito per le connessioni SMTP"
|
||||||
smtpSecureInfo: "Disabilitare quando è attivo STARTTLS."
|
smtpSecureInfo: "Disabilitare quando è attivo STARTTLS."
|
||||||
testEmail: "Verifica il funzionamento"
|
testEmail: "Verifica il funzionamento"
|
||||||
wordMute: "Parole silenziate"
|
wordMute: "Filtri parole"
|
||||||
wordMuteDescription: "Comprimi le Note che hanno la parola o la regola specificata. Cliccale per espanderle e leggerne comunque il contenuto."
|
wordMuteDescription: "Contrae le Note con la parola o la frase specificata. Permette di espandere le Note, cliccandole."
|
||||||
hardWordMute: "Filtro per parole"
|
hardWordMute: "Filtro parole forte"
|
||||||
showMutedWord: "Elenca le parole silenziate"
|
showMutedWord: "Elenca le parole silenziate"
|
||||||
hardWordMuteDescription: "Ignora le Note con la parola o la regola specificata. A differenza delle \"Parole Silenziate\", queste Note non ti verranno proprio recapitate."
|
hardWordMuteDescription: "Nasconde le Note con la parola o la frase specificata. A differenza delle parole silenziate, la Nota non verrà federata."
|
||||||
regexpError: "errore regex"
|
regexpError: "errore regex"
|
||||||
regexpErrorDescription: "Si è verificato un errore nell'espressione regolare alla riga {line} della parola muta {tab}:"
|
regexpErrorDescription: "Si è verificato un errore nell'espressione regolare alla riga {line} della parola muta {tab}:"
|
||||||
instanceMute: "Silenziare l'istanza"
|
instanceMute: "Silenziare l'istanza"
|
||||||
userSaysSomething: "{name} ha detto qualcosa"
|
userSaysSomething: "{name} ha detto qualcosa"
|
||||||
userSaysSomethingAbout: "{name} ha anNotato qualcosa su \"{word}\""
|
userSaysSomethingAbout: "{name} ha Notato a riguardo di \"{word}\""
|
||||||
makeActive: "Attiva"
|
makeActive: "Attiva"
|
||||||
display: "Visualizza"
|
display: "Visualizza"
|
||||||
copy: "Copia"
|
copy: "Copia"
|
||||||
|
|
@ -758,19 +752,19 @@ i18nInfo: "Misskey è tradotto in diverse lingue da volontari. Anche tu puoi con
|
||||||
manageAccessTokens: "Gestisci token di accesso"
|
manageAccessTokens: "Gestisci token di accesso"
|
||||||
accountInfo: "Informazioni profilo"
|
accountInfo: "Informazioni profilo"
|
||||||
notesCount: "Conteggio note"
|
notesCount: "Conteggio note"
|
||||||
repliesCount: "Quantità di risposte"
|
repliesCount: "Numero di risposte inviate"
|
||||||
renotesCount: "Quantità di Note ricondivise"
|
renotesCount: "Numero di note che hai ricondiviso"
|
||||||
repliedCount: "Quantità di risposte"
|
repliedCount: "Numero di risposte ricevute"
|
||||||
renotedCount: "Quantità di tue Note ricondivise"
|
renotedCount: "Numero delle tue note ricondivise"
|
||||||
followingCount: "Quantità di Following"
|
followingCount: "Numero di Following"
|
||||||
followersCount: "Quantità di Follower"
|
followersCount: "Numero di profili che ti seguono"
|
||||||
sentReactionsCount: "Quantità di reazioni"
|
sentReactionsCount: "Numero di reazioni inviate"
|
||||||
receivedReactionsCount: "Quantità di reazioni ricevute"
|
receivedReactionsCount: "Numero di reazioni ricevute"
|
||||||
pollVotesCount: "Quantità di voti"
|
pollVotesCount: "Numero di voti inviati"
|
||||||
pollVotedCount: "Quantità di voti ricevuti"
|
pollVotedCount: "Numero di voti ricevuti"
|
||||||
yes: "Sì"
|
yes: "Sì"
|
||||||
no: "No"
|
no: "No"
|
||||||
driveFilesCount: "Quantità di file nel Drive"
|
driveFilesCount: "Numero di file nel Drive"
|
||||||
driveUsage: "Utilizzazione del Drive"
|
driveUsage: "Utilizzazione del Drive"
|
||||||
noCrawle: "Rifiuta l'indicizzazione dai robot."
|
noCrawle: "Rifiuta l'indicizzazione dai robot."
|
||||||
noCrawleDescription: "Richiedi che i motori di ricerca non indicizzino la tua pagina di profilo, le tue note, pagine, ecc."
|
noCrawleDescription: "Richiedi che i motori di ricerca non indicizzino la tua pagina di profilo, le tue note, pagine, ecc."
|
||||||
|
|
@ -778,13 +772,12 @@ lockedAccountInfo: "A meno che non imposti la visibilità delle tue note su \"So
|
||||||
alwaysMarkSensitive: "Segnare automaticamente come espliciti gli allegati"
|
alwaysMarkSensitive: "Segnare automaticamente come espliciti gli allegati"
|
||||||
loadRawImages: "Visualizza le intere immagini allegate invece delle miniature."
|
loadRawImages: "Visualizza le intere immagini allegate invece delle miniature."
|
||||||
disableShowingAnimatedImages: "Disabilitare le immagini animate"
|
disableShowingAnimatedImages: "Disabilitare le immagini animate"
|
||||||
disableShowingAnimatedImages_caption: "L'attivazione delle animazioni immagini potrebbe interferire sull'accessibilità e sul risparmio energetico nel dispositivo."
|
|
||||||
highlightSensitiveMedia: "Evidenzia i media espliciti"
|
highlightSensitiveMedia: "Evidenzia i media espliciti"
|
||||||
verificationEmailSent: "Una mail di verifica è stata inviata. Si prega di accedere al collegamento per compiere la verifica."
|
verificationEmailSent: "Una mail di verifica è stata inviata. Si prega di accedere al collegamento per compiere la verifica."
|
||||||
notSet: "Non impostato"
|
notSet: "Non impostato"
|
||||||
emailVerified: "Il tuo indirizzo email è stato verificato"
|
emailVerified: "Il tuo indirizzo email è stato verificato"
|
||||||
noteFavoritesCount: "Conteggio note tra i preferiti"
|
noteFavoritesCount: "Conteggio note tra i preferiti"
|
||||||
pageLikesCount: "Quantità di pagine che ti piacciono"
|
pageLikesCount: "Numero di pagine che ti piacciono"
|
||||||
pageLikedCount: "Numero delle tue pagine che hanno ricevuto \"Mi piace\""
|
pageLikedCount: "Numero delle tue pagine che hanno ricevuto \"Mi piace\""
|
||||||
contact: "Contatti"
|
contact: "Contatti"
|
||||||
useSystemFont: "Usa il carattere predefinito del sistema"
|
useSystemFont: "Usa il carattere predefinito del sistema"
|
||||||
|
|
@ -829,9 +822,9 @@ currentVersion: "Versione attuale"
|
||||||
latestVersion: "Ultima versione"
|
latestVersion: "Ultima versione"
|
||||||
youAreRunningUpToDateClient: "Stai usando la versione più recente del client."
|
youAreRunningUpToDateClient: "Stai usando la versione più recente del client."
|
||||||
newVersionOfClientAvailable: "Una nuova versione del tuo client è disponibile."
|
newVersionOfClientAvailable: "Una nuova versione del tuo client è disponibile."
|
||||||
usageAmount: "Quantità utilizzata"
|
usageAmount: "In uso"
|
||||||
capacity: "Capacità"
|
capacity: "Capacità"
|
||||||
inUse: "Usata da"
|
inUse: "In uso"
|
||||||
editCode: "Modifica codice"
|
editCode: "Modifica codice"
|
||||||
apply: "Applica"
|
apply: "Applica"
|
||||||
receiveAnnouncementFromInstance: "Ricevi i messaggi informativi dall'istanza"
|
receiveAnnouncementFromInstance: "Ricevi i messaggi informativi dall'istanza"
|
||||||
|
|
@ -906,7 +899,7 @@ useBlurEffect: "Utilizza effetto sfocatura"
|
||||||
learnMore: "Per saperne di più"
|
learnMore: "Per saperne di più"
|
||||||
misskeyUpdated: "Misskey è stato aggiornato!"
|
misskeyUpdated: "Misskey è stato aggiornato!"
|
||||||
whatIsNew: "Informazioni sull'aggiornamento"
|
whatIsNew: "Informazioni sull'aggiornamento"
|
||||||
translate: "Traduzione"
|
translate: "Traduci"
|
||||||
translatedFrom: "Traduzione da {x}"
|
translatedFrom: "Traduzione da {x}"
|
||||||
accountDeletionInProgress: "È in corso l'eliminazione del profilo"
|
accountDeletionInProgress: "È in corso l'eliminazione del profilo"
|
||||||
usernameInfo: "Un nome per identificare univocamente il tuo profilo sull'istanza. Puoi utilizzare caratteri alfanumerici maiuscoli, minuscoli e il trattino basso (_). Non potrai cambiare nome utente in seguito."
|
usernameInfo: "Un nome per identificare univocamente il tuo profilo sull'istanza. Puoi utilizzare caratteri alfanumerici maiuscoli, minuscoli e il trattino basso (_). Non potrai cambiare nome utente in seguito."
|
||||||
|
|
@ -917,7 +910,7 @@ pubSub: "Publish/Subscribe del profilo"
|
||||||
lastCommunication: "La comunicazione più recente"
|
lastCommunication: "La comunicazione più recente"
|
||||||
resolved: "Risolto"
|
resolved: "Risolto"
|
||||||
unresolved: "Non risolto"
|
unresolved: "Non risolto"
|
||||||
breakFollow: "Rimuovere Follower"
|
breakFollow: "Rimuovi Follower"
|
||||||
breakFollowConfirm: "Vuoi davvero togliere questo Follower?"
|
breakFollowConfirm: "Vuoi davvero togliere questo Follower?"
|
||||||
itsOn: "Abilitato"
|
itsOn: "Abilitato"
|
||||||
itsOff: "Disabilitato"
|
itsOff: "Disabilitato"
|
||||||
|
|
@ -950,7 +943,7 @@ tablet: "Tablet"
|
||||||
auto: "Automatico"
|
auto: "Automatico"
|
||||||
themeColor: "Colore del tema"
|
themeColor: "Colore del tema"
|
||||||
size: "Dimensioni"
|
size: "Dimensioni"
|
||||||
numberOfColumn: "Quantità di colonne"
|
numberOfColumn: "Numero di colonne"
|
||||||
searchByGoogle: "Cerca"
|
searchByGoogle: "Cerca"
|
||||||
instanceDefaultLightTheme: "Istanza, tema luminoso predefinito."
|
instanceDefaultLightTheme: "Istanza, tema luminoso predefinito."
|
||||||
instanceDefaultDarkTheme: "Istanza, tema scuro predefinito."
|
instanceDefaultDarkTheme: "Istanza, tema scuro predefinito."
|
||||||
|
|
@ -987,7 +980,7 @@ isSystemAccount: "Si tratta di un profilo creato e gestito automaticamente dal s
|
||||||
typeToConfirm: "Digita {x} per continuare"
|
typeToConfirm: "Digita {x} per continuare"
|
||||||
deleteAccount: "Eliminazione profilo"
|
deleteAccount: "Eliminazione profilo"
|
||||||
document: "Documentazione"
|
document: "Documentazione"
|
||||||
numberOfPageCache: "Quantità di pagine in cache"
|
numberOfPageCache: "Numero di pagine cache"
|
||||||
numberOfPageCacheDescription: "Aumenta l'usabilità, ma aumenta anche il carico e l'utilizzo della memoria."
|
numberOfPageCacheDescription: "Aumenta l'usabilità, ma aumenta anche il carico e l'utilizzo della memoria."
|
||||||
logoutConfirm: "Vuoi davvero uscire da Misskey? "
|
logoutConfirm: "Vuoi davvero uscire da Misskey? "
|
||||||
logoutWillClearClientData: "All'uscita, la configurazione del client viene rimossa dal browser. Per ripristinarla quando si effettua nuovamente l'accesso, abilitare il backup automatico."
|
logoutWillClearClientData: "All'uscita, la configurazione del client viene rimossa dal browser. Per ripristinarla quando si effettua nuovamente l'accesso, abilitare il backup automatico."
|
||||||
|
|
@ -1025,9 +1018,6 @@ pushNotificationAlreadySubscribed: "Le notifiche push sono già attivate"
|
||||||
pushNotificationNotSupported: "Il client o il server non supporta le notifiche push"
|
pushNotificationNotSupported: "Il client o il server non supporta le notifiche push"
|
||||||
sendPushNotificationReadMessage: "Eliminare le notifiche push dopo la relativa lettura"
|
sendPushNotificationReadMessage: "Eliminare 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."
|
sendPushNotificationReadMessageCaption: "Se possibile, verrà mostrata brevemente una notifica con il testo \"{emptyPushNotificationMessage}\". Potrebbe influire negativamente sulla durata della batteria."
|
||||||
pleaseAllowPushNotification: "Per favore, acconsenti alla ricezione di notifiche nel browser"
|
|
||||||
browserPushNotificationDisabled: "Non è stato possibile ottenere il consenso alla ricezione di notifche"
|
|
||||||
browserPushNotificationDisabledDescription: "Non hai concesso a {serverName} di spedire notifiche. Per favore, acconsenti alla ricezione nelle impostazioni del browser e riprova."
|
|
||||||
windowMaximize: "Ingrandisci"
|
windowMaximize: "Ingrandisci"
|
||||||
windowMinimize: "Contrai finestra"
|
windowMinimize: "Contrai finestra"
|
||||||
windowRestore: "Ripristina"
|
windowRestore: "Ripristina"
|
||||||
|
|
@ -1038,7 +1028,7 @@ cannotLoad: "Caricamento impossibile"
|
||||||
numberOfProfileView: "Visualizzazioni profilo"
|
numberOfProfileView: "Visualizzazioni profilo"
|
||||||
like: "Mi piace!"
|
like: "Mi piace!"
|
||||||
unlike: "Non mi piace"
|
unlike: "Non mi piace"
|
||||||
numberOfLikes: "Quantità di Like"
|
numberOfLikes: "Numero di Like"
|
||||||
show: "Visualizza"
|
show: "Visualizza"
|
||||||
neverShow: "Non mostrare più"
|
neverShow: "Non mostrare più"
|
||||||
remindMeLater: "Rimanda"
|
remindMeLater: "Rimanda"
|
||||||
|
|
@ -1064,7 +1054,6 @@ permissionDeniedError: "Errore, attività non autorizzata"
|
||||||
permissionDeniedErrorDescription: "Non si dispone dell'autorizzazione per eseguire questa operazione."
|
permissionDeniedErrorDescription: "Non si dispone dell'autorizzazione per eseguire questa operazione."
|
||||||
preset: "Preimpostato"
|
preset: "Preimpostato"
|
||||||
selectFromPresets: "Seleziona preimpostato"
|
selectFromPresets: "Seleziona preimpostato"
|
||||||
custom: "Personalizzato"
|
|
||||||
achievements: "Conquiste"
|
achievements: "Conquiste"
|
||||||
gotInvalidResponseError: "Risposta del server non valida"
|
gotInvalidResponseError: "Risposta del server non valida"
|
||||||
gotInvalidResponseErrorDescription: "Il server potrebbe essere irraggiungibile o in manutenzione. Riprova più tardi."
|
gotInvalidResponseErrorDescription: "Il server potrebbe essere irraggiungibile o in manutenzione. Riprova più tardi."
|
||||||
|
|
@ -1103,7 +1092,6 @@ prohibitedWordsDescription2: "Gli spazi creano la relazione \"E\" tra parole (qu
|
||||||
hiddenTags: "Hashtag nascosti"
|
hiddenTags: "Hashtag nascosti"
|
||||||
hiddenTagsDescription: "Impedire la visualizzazione del tag impostato nei trend. Puoi impostare più valori, uno per riga."
|
hiddenTagsDescription: "Impedire la visualizzazione del tag impostato nei trend. Puoi impostare più valori, uno per riga."
|
||||||
notesSearchNotAvailable: "Non è possibile cercare tra le Note."
|
notesSearchNotAvailable: "Non è possibile cercare tra le Note."
|
||||||
usersSearchNotAvailable: "La ricerca profili non è disponibile."
|
|
||||||
license: "Licenza"
|
license: "Licenza"
|
||||||
unfavoriteConfirm: "Vuoi davvero rimuovere la preferenza?"
|
unfavoriteConfirm: "Vuoi davvero rimuovere la preferenza?"
|
||||||
myClips: "Le mie Clip"
|
myClips: "Le mie Clip"
|
||||||
|
|
@ -1178,13 +1166,12 @@ installed: "Installazione avvenuta"
|
||||||
branding: "Branding"
|
branding: "Branding"
|
||||||
enableServerMachineStats: "Pubblicare le informazioni sul server"
|
enableServerMachineStats: "Pubblicare le informazioni sul server"
|
||||||
enableIdenticonGeneration: "Generazione automatica delle Identicon"
|
enableIdenticonGeneration: "Generazione automatica delle Identicon"
|
||||||
showRoleBadgesOfRemoteUsers: "Visualizza i badge per i ruoli concessi ai profili remoti"
|
|
||||||
turnOffToImprovePerformance: "Disattiva, per migliorare le prestazioni"
|
turnOffToImprovePerformance: "Disattiva, per migliorare le prestazioni"
|
||||||
createInviteCode: "Genera codice di invito"
|
createInviteCode: "Genera codice di invito"
|
||||||
createWithOptions: "Genera con opzioni"
|
createWithOptions: "Genera con opzioni"
|
||||||
createCount: "Conteggio inviti"
|
createCount: "Conteggio inviti"
|
||||||
inviteCodeCreated: "Inviti generati"
|
inviteCodeCreated: "Inviti generati"
|
||||||
inviteLimitExceeded: "Hai raggiunto la quantità massima di codici invito generabili."
|
inviteLimitExceeded: "Hai raggiunto il numero massimo di codici invito generabili."
|
||||||
createLimitRemaining: "Inviti generabili: {limit} rimanenti"
|
createLimitRemaining: "Inviti generabili: {limit} rimanenti"
|
||||||
inviteLimitResetCycle: "Alle {time}, il limite verrà ripristinato a {limit}"
|
inviteLimitResetCycle: "Alle {time}, il limite verrà ripristinato a {limit}"
|
||||||
expirationDate: "Scadenza"
|
expirationDate: "Scadenza"
|
||||||
|
|
@ -1211,7 +1198,7 @@ replies: "Risposte"
|
||||||
renotes: "Rinota"
|
renotes: "Rinota"
|
||||||
loadReplies: "Leggi le risposte"
|
loadReplies: "Leggi le risposte"
|
||||||
loadConversation: "Leggi la conversazione"
|
loadConversation: "Leggi la conversazione"
|
||||||
pinnedList: "Lista in primo piano"
|
pinnedList: "Elenco in primo piano"
|
||||||
keepScreenOn: "Mantenere lo schermo acceso"
|
keepScreenOn: "Mantenere lo schermo acceso"
|
||||||
verifiedLink: "Abbiamo confermato la validità di questo collegamento"
|
verifiedLink: "Abbiamo confermato la validità di questo collegamento"
|
||||||
notifyNotes: "Notifica nuove Note"
|
notifyNotes: "Notifica nuove Note"
|
||||||
|
|
@ -1256,7 +1243,7 @@ releaseToRefresh: "Rilascia per aggiornare"
|
||||||
refreshing: "Aggiornamento..."
|
refreshing: "Aggiornamento..."
|
||||||
pullDownToRefresh: "Trascinare per aggiornare"
|
pullDownToRefresh: "Trascinare per aggiornare"
|
||||||
useGroupedNotifications: "Mostra le notifiche raggruppate"
|
useGroupedNotifications: "Mostra le notifiche raggruppate"
|
||||||
emailVerificationFailedError: "La verifica dell'indirizzo e-mail non è andata a buon fine. Il link potrebbe essere scaduto."
|
signupPendingError: "Si è verificato un problema durante la verifica del tuo indirizzo email. Potrebbe essere scaduto il collegamento temporaneo."
|
||||||
cwNotationRequired: "Devi indicare perché il contenuto è indicato come esplicito."
|
cwNotationRequired: "Devi indicare perché il contenuto è indicato come esplicito."
|
||||||
doReaction: "Reagisci"
|
doReaction: "Reagisci"
|
||||||
code: "Codice"
|
code: "Codice"
|
||||||
|
|
@ -1301,7 +1288,7 @@ sensitiveMediaRevealConfirm: "Questo allegato è esplicito, vuoi vederlo?"
|
||||||
createdLists: "Liste create"
|
createdLists: "Liste create"
|
||||||
createdAntennas: "Antenne create"
|
createdAntennas: "Antenne create"
|
||||||
fromX: "Da {x}"
|
fromX: "Da {x}"
|
||||||
genEmbedCode: "Ottieni il codice per incorporare"
|
genEmbedCode: "Ottieni il codice di incorporamento"
|
||||||
noteOfThisUser: "Elenco di Note di questo profilo"
|
noteOfThisUser: "Elenco di Note di questo profilo"
|
||||||
clipNoteLimitExceeded: "Non è possibile aggiungere ulteriori Note a questa Clip."
|
clipNoteLimitExceeded: "Non è possibile aggiungere ulteriori Note a questa Clip."
|
||||||
performance: "Prestazioni"
|
performance: "Prestazioni"
|
||||||
|
|
@ -1326,15 +1313,13 @@ availableRoles: "Ruoli disponibili"
|
||||||
acknowledgeNotesAndEnable: "Attivare dopo averne compreso il comportamento."
|
acknowledgeNotesAndEnable: "Attivare dopo averne compreso il comportamento."
|
||||||
federationSpecified: "Questo server è federato solo con istanze specifiche del Fediverso. Puoi interagire solo con quelle scelte dall'amministrazione."
|
federationSpecified: "Questo server è federato solo con istanze specifiche del Fediverso. Puoi interagire solo con quelle scelte dall'amministrazione."
|
||||||
federationDisabled: "Questo server ha la federazione disabilitata. Non puoi interagire con profili provenienti da altri server."
|
federationDisabled: "Questo server ha la federazione disabilitata. Non puoi interagire con profili provenienti da altri server."
|
||||||
draft: "Bozza"
|
|
||||||
draftsAndScheduledNotes: "Bozze e Note pianificate"
|
|
||||||
confirmOnReact: "Confermare le reazioni"
|
confirmOnReact: "Confermare le reazioni"
|
||||||
reactAreYouSure: "Vuoi davvero reagire con {emoji} ?"
|
reactAreYouSure: "Vuoi davvero reagire con {emoji} ?"
|
||||||
markAsSensitiveConfirm: "Vuoi davvero indicare questo contenuto multimediale come esplicito?"
|
markAsSensitiveConfirm: "Vuoi davvero indicare questo contenuto multimediale come esplicito?"
|
||||||
unmarkAsSensitiveConfirm: "Vuoi davvero indicare come non esplicito il contenuto multimediale?"
|
unmarkAsSensitiveConfirm: "Vuoi davvero indicare come non esplicito il contenuto multimediale?"
|
||||||
preferences: "Preferenze"
|
preferences: "Preferenze"
|
||||||
accessibility: "Accessibilità"
|
accessibility: "Accessibilità"
|
||||||
preferencesProfile: "Preferenze del profilo"
|
preferencesProfile: "Profilo preferenze"
|
||||||
copyPreferenceId: "Copia ID preferenze"
|
copyPreferenceId: "Copia ID preferenze"
|
||||||
resetToDefaultValue: "Ripristina a predefinito"
|
resetToDefaultValue: "Ripristina a predefinito"
|
||||||
overrideByAccount: "Sovrascrivere col profilo"
|
overrideByAccount: "Sovrascrivere col profilo"
|
||||||
|
|
@ -1352,11 +1337,9 @@ preferenceSyncConflictChoiceCancel: "Annulla la sincronizzazione"
|
||||||
paste: "Incolla"
|
paste: "Incolla"
|
||||||
emojiPalette: "Tavolozza emoji"
|
emojiPalette: "Tavolozza emoji"
|
||||||
postForm: "Finestra di pubblicazione"
|
postForm: "Finestra di pubblicazione"
|
||||||
textCount: "Quantità di caratteri"
|
textCount: "Il numero di caratteri"
|
||||||
information: "Informazioni"
|
information: "Informazioni"
|
||||||
chat: "Chat"
|
chat: "Chat"
|
||||||
directMessage: "Chattare insieme"
|
|
||||||
directMessage_short: "Messaggio"
|
|
||||||
migrateOldSettings: "Migrare le vecchie impostazioni"
|
migrateOldSettings: "Migrare le vecchie impostazioni"
|
||||||
migrateOldSettings_description: "Di solito, viene fatto automaticamente. Se per qualche motivo non fossero migrate con successo, è possibile avviare il processo di migrazione manualmente, sovrascrivendo le configurazioni attuali."
|
migrateOldSettings_description: "Di solito, viene fatto automaticamente. Se per qualche motivo non fossero migrate con successo, è possibile avviare il processo di migrazione manualmente, sovrascrivendo le configurazioni attuali."
|
||||||
compress: "Compressione"
|
compress: "Compressione"
|
||||||
|
|
@ -1384,83 +1367,7 @@ redisplayAllTips: "Mostra tutti i suggerimenti"
|
||||||
hideAllTips: "Nascondi tutti i suggerimenti"
|
hideAllTips: "Nascondi tutti i suggerimenti"
|
||||||
defaultImageCompressionLevel: "Livello predefinito di compressione immagini"
|
defaultImageCompressionLevel: "Livello predefinito di compressione immagini"
|
||||||
defaultImageCompressionLevel_description: "La compressione diminuisce la qualità dell'immagine, poca compressione mantiene alta qualità delle immagini. Aumentandola, si riducono le dimensioni del file, a discapito della qualità dell'immagine."
|
defaultImageCompressionLevel_description: "La compressione diminuisce la qualità dell'immagine, poca compressione mantiene alta qualità delle immagini. Aumentandola, si riducono le dimensioni del file, a discapito della qualità dell'immagine."
|
||||||
defaultCompressionLevel: "Compressione predefinita"
|
|
||||||
defaultCompressionLevel_description: "Diminuisci per mantenere la qualità aumentando le dimensioni del file.<br> Aumenta per ridurre le dimensioni del file e anche la qualità."
|
|
||||||
inMinutes: "min"
|
|
||||||
inDays: "giorni"
|
|
||||||
safeModeEnabled: "La modalità sicura è attiva"
|
|
||||||
pluginsAreDisabledBecauseSafeMode: "Tutti i plugin sono disattivati, poiché la modalità sicura è attiva."
|
|
||||||
customCssIsDisabledBecauseSafeMode: "Il CSS personalizzato non è stato applicato, poiché la modalità sicura è attiva."
|
|
||||||
themeIsDefaultBecauseSafeMode: "Quando la modalità sicura è attiva, viene utilizzato il tema predefinito. Quando la modalità sicura viene disattivata, il tema torna a essere quello precedente."
|
|
||||||
thankYouForTestingBeta: "Grazie per la tua collaborazione nella verifica delle versioni beta!"
|
|
||||||
createUserSpecifiedNote: "Crea Nota privata"
|
|
||||||
schedulePost: "Pianificare la pubblicazione"
|
|
||||||
scheduleToPostOnX: "Pianificare la pubblicazione {x}"
|
|
||||||
scheduledToPostOnX: "Pubblicazione pianificata {x}"
|
|
||||||
schedule: "Pianificare"
|
|
||||||
scheduled: "Pianificata"
|
|
||||||
widgets: "Riquadri"
|
|
||||||
deviceInfo: "Informazioni sul dispositivo"
|
|
||||||
deviceInfoDescription: "Se ci contatti per ricevere supporto tecnico, ti preghiamo di includere le seguenti informazioni per aiutarci a risolvere il tuo problema."
|
|
||||||
youAreAdmin: "Sei un amministratore"
|
|
||||||
frame: "Cornice"
|
|
||||||
presets: "Preimpostato"
|
|
||||||
zeroPadding: "Al vivo"
|
|
||||||
nothingToConfigure: "Niente da configurare"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
caption: "Didascalia dell'immagine"
|
|
||||||
filename: "Nome dell'allegato"
|
|
||||||
filename_without_ext: "Nome file senza estensione"
|
|
||||||
year: "Anno di scatto"
|
|
||||||
month: "Mese dello scatto"
|
|
||||||
day: "Giorno dello scatto"
|
|
||||||
hour: "Ora dello scatto"
|
|
||||||
minute: "Minuto dello scatto"
|
|
||||||
second: "Secondi dello scatto"
|
|
||||||
camera_model: "Modello di fotocamera"
|
|
||||||
camera_lens_model: "Modello della lente"
|
|
||||||
camera_mm: "Lunghezza focale"
|
|
||||||
camera_mm_35: "Lunghezza focale (equivalente a 35 mm)"
|
|
||||||
camera_f: "Diaframma"
|
|
||||||
camera_s: "Velocità otturatore"
|
|
||||||
camera_iso: "Sensibilità ISO"
|
|
||||||
gps_lat: "Latitudine"
|
|
||||||
gps_long: "Longitudine"
|
|
||||||
_imageFrameEditor:
|
|
||||||
title: "Modifica fotogramma"
|
|
||||||
tip: "Puoi decorare le immagini aggiungendo etichette con cornici e metadati."
|
|
||||||
header: "Intestazione"
|
|
||||||
footer: "Piè di pagina"
|
|
||||||
borderThickness: "Larghezza del bordo"
|
|
||||||
labelThickness: "Spessore etichetta"
|
|
||||||
labelScale: "Dimensione etichetta"
|
|
||||||
centered: "Allinea al centro"
|
|
||||||
captionMain: "Didascalia (grande)"
|
|
||||||
captionSub: "Didascalia (piccola)"
|
|
||||||
availableVariables: "Variabili disponibili"
|
|
||||||
withQrCode: "QR Code"
|
|
||||||
backgroundColor: "Colore dello sfondo"
|
|
||||||
textColor: "Colore del testo"
|
|
||||||
font: "Tipo di carattere"
|
|
||||||
fontSerif: "Serif"
|
|
||||||
fontSansSerif: "Sans serif"
|
|
||||||
quitWithoutSaveConfirm: "Uscire senza salvare?"
|
|
||||||
failedToLoadImage: "Impossibile caricare l'immagine"
|
|
||||||
_compression:
|
|
||||||
_quality:
|
|
||||||
high: "Alta qualità"
|
|
||||||
medium: "Media qualità"
|
|
||||||
low: "Bassa qualità"
|
|
||||||
_size:
|
|
||||||
large: "Taglia grande"
|
|
||||||
medium: "Taglia media"
|
|
||||||
small: "Taglia piccola"
|
|
||||||
_order:
|
|
||||||
newest: "Più recenti"
|
|
||||||
oldest: "Meno recenti"
|
|
||||||
_chat:
|
_chat:
|
||||||
messages: "Messaggi"
|
|
||||||
noMessagesYet: "Ancora nessun messaggio"
|
noMessagesYet: "Ancora nessun messaggio"
|
||||||
newMessage: "Nuovo messaggio"
|
newMessage: "Nuovo messaggio"
|
||||||
individualChat: "Chat individuale"
|
individualChat: "Chat individuale"
|
||||||
|
|
@ -1471,12 +1378,12 @@ _chat:
|
||||||
inviteUserToChat: "Invita a chattare altre persone"
|
inviteUserToChat: "Invita a chattare altre persone"
|
||||||
yourRooms: "Le tue stanze"
|
yourRooms: "Le tue stanze"
|
||||||
joiningRooms: "Stanze a cui partecipi"
|
joiningRooms: "Stanze a cui partecipi"
|
||||||
invitations: "Inviti"
|
invitations: "Invita"
|
||||||
noInvitations: "Nessun invito"
|
noInvitations: "Nessun invito"
|
||||||
history: "Cronologia"
|
history: "Cronologia"
|
||||||
noHistory: "Nessuna cronologia"
|
noHistory: "Nessuna cronologia"
|
||||||
noRooms: "Nessuna stanza"
|
noRooms: "Nessuna stanza"
|
||||||
inviteUser: "Invita persona"
|
inviteUser: "Invita"
|
||||||
sentInvitations: "Inviti spediti"
|
sentInvitations: "Inviti spediti"
|
||||||
join: "Entra"
|
join: "Entra"
|
||||||
ignore: "Ignora"
|
ignore: "Ignora"
|
||||||
|
|
@ -1548,12 +1455,6 @@ _settings:
|
||||||
contentsUpdateFrequency_description2: "Quando la modalità è in tempo reale, arriveranno a prescindere."
|
contentsUpdateFrequency_description2: "Quando la modalità è in tempo reale, arriveranno a prescindere."
|
||||||
showUrlPreview: "Mostra anteprima dell'URL"
|
showUrlPreview: "Mostra anteprima dell'URL"
|
||||||
showAvailableReactionsFirstInNote: "Mostra le reazioni disponibili in alto"
|
showAvailableReactionsFirstInNote: "Mostra le reazioni disponibili in alto"
|
||||||
showPageTabBarBottom: "Visualizza le schede della pagina nella parte inferiore"
|
|
||||||
emojiPaletteBanner: "Puoi salvare i le emoji predefinite da appuntare in alto nel raccoglitore emoji come tavolozza e personalizzare in che modo visualizzare il raccoglitore."
|
|
||||||
enableAnimatedImages: "Attivare le immagini animate"
|
|
||||||
settingsPersistence_title: "Configurazione persistente"
|
|
||||||
settingsPersistence_description1: "Attivando le impostazioni persistenti si può evitare di riconfigurare il client successivamente."
|
|
||||||
settingsPersistence_description2: "Potrebbe non essere possibile attivare, dipende dall'ambiente."
|
|
||||||
_chat:
|
_chat:
|
||||||
showSenderName: "Mostra il nome del mittente"
|
showSenderName: "Mostra il nome del mittente"
|
||||||
sendOnEnter: "Invio spedisce"
|
sendOnEnter: "Invio spedisce"
|
||||||
|
|
@ -1562,8 +1463,6 @@ _preferencesProfile:
|
||||||
profileNameDescription: "Impostare il nome che indentifica questo dispositivo."
|
profileNameDescription: "Impostare il nome che indentifica questo dispositivo."
|
||||||
profileNameDescription2: "Es: \"PC principale\" o \"Cellulare\""
|
profileNameDescription2: "Es: \"PC principale\" o \"Cellulare\""
|
||||||
manageProfiles: "Gestione profili"
|
manageProfiles: "Gestione profili"
|
||||||
shareSameProfileBetweenDevicesIsNotRecommended: "Si sconsiglia di condividere lo stesso profilo su più dispositivi."
|
|
||||||
useSyncBetweenDevicesOptionIfYouWantToSyncSetting: "Se intendi sincronizzare solo alcuni parametri di configurazione su più dispositivi, devi attivare l'opzione \"Sincronizzazione tra dispositivi\" per ogni parametro interessato."
|
|
||||||
_preferencesBackup:
|
_preferencesBackup:
|
||||||
autoBackup: "Backup automatico"
|
autoBackup: "Backup automatico"
|
||||||
restoreFromBackup: "Ripristinare da backup"
|
restoreFromBackup: "Ripristinare da backup"
|
||||||
|
|
@ -1573,7 +1472,6 @@ _preferencesBackup:
|
||||||
youNeedToNameYourProfileToEnableAutoBackup: "Per abilitare i backup automatici, è necessario indicare il nome del profilo."
|
youNeedToNameYourProfileToEnableAutoBackup: "Per abilitare i backup automatici, è necessario indicare il nome del profilo."
|
||||||
autoPreferencesBackupIsNotEnabledForThisDevice: "Su questo dispositivo non è stato attivato il backup automatico delle preferenze."
|
autoPreferencesBackupIsNotEnabledForThisDevice: "Su questo dispositivo non è stato attivato il backup automatico delle preferenze."
|
||||||
backupFound: "Esiste il Backup delle preferenze"
|
backupFound: "Esiste il Backup delle preferenze"
|
||||||
forceBackup: "Backup forzato delle impostazioni"
|
|
||||||
_accountSettings:
|
_accountSettings:
|
||||||
requireSigninToViewContents: "Per vedere il contenuto, è necessaria l'iscrizione"
|
requireSigninToViewContents: "Per vedere il contenuto, è necessaria l'iscrizione"
|
||||||
requireSigninToViewContentsDescription1: "Richiedere l'iscrizione per visualizzare tutte le Note e gli altri contenuti che hai creato. Probabilmente l'effetto è impedire la raccolta di informazioni da parte dei bot crawler."
|
requireSigninToViewContentsDescription1: "Richiedere l'iscrizione per visualizzare tutte le Note e gli altri contenuti che hai creato. Probabilmente l'effetto è impedire la raccolta di informazioni da parte dei bot crawler."
|
||||||
|
|
@ -1730,10 +1628,6 @@ _serverSettings:
|
||||||
fanoutTimelineDbFallback: "Elaborazione dati alternativa"
|
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."
|
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."
|
||||||
reactionsBufferingDescription: "Attivando questa opzione, puoi migliorare significativamente le prestazioni durante la creazione delle reazioni e ridurre il carico sul database. Tuttavia, aumenterà l'impiego di memoria Redis."
|
reactionsBufferingDescription: "Attivando questa opzione, puoi migliorare significativamente le prestazioni durante la creazione delle reazioni e ridurre il carico sul database. Tuttavia, aumenterà l'impiego di memoria Redis."
|
||||||
remoteNotesCleaning: "Pulizia automatica dei contenuti remoti"
|
|
||||||
remoteNotesCleaning_description: "Se abilitata, verranno periodicamente rimosse le vecchie Note remote senza relazioni, per ridurre il sovraccarico del sistema."
|
|
||||||
remoteNotesCleaningMaxProcessingDuration: "Durata massima del processo di pulizia"
|
|
||||||
remoteNotesCleaningExpiryDaysForEachNotes: "Periodo minimo di conservazione delle note"
|
|
||||||
inquiryUrl: "URL di contatto"
|
inquiryUrl: "URL di contatto"
|
||||||
inquiryUrlDescription: "Specificare l'URL al modulo di contatto, oppure le informazioni con i dati di contatto dell'amministrazione."
|
inquiryUrlDescription: "Specificare l'URL al modulo di contatto, oppure le informazioni con i dati di contatto dell'amministrazione."
|
||||||
openRegistration: "Registrazioni aperte"
|
openRegistration: "Registrazioni aperte"
|
||||||
|
|
@ -1741,7 +1635,7 @@ _serverSettings:
|
||||||
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "Per prevenire SPAM, questa impostazione verrà disattivata automaticamente, se non si rileva alcuna attività di moderazione durante un certo periodo di tempo."
|
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "Per prevenire SPAM, questa impostazione verrà disattivata automaticamente, se non si rileva alcuna attività di moderazione durante un certo periodo di tempo."
|
||||||
deliverSuspendedSoftware: "Software fuori produzione"
|
deliverSuspendedSoftware: "Software fuori produzione"
|
||||||
deliverSuspendedSoftwareDescription: "A causa di vulnerabilità o altri motivi, puoi interrompere la distribuzione di un software da un server specificandone il nome e la versione. Le informazioni sono fornite dall'altro server e l'autenticità non è garantita. Puoi indicare un intervallo di versione semantica, ma specificando >= 2024.3.1 non verranno incluse le versioni personalizzate come ad esempio 2024.3.1-custom.0, pertanto ti consigliamo di specificare una versione come >= 2024.3.1-0."
|
deliverSuspendedSoftwareDescription: "A causa di vulnerabilità o altri motivi, puoi interrompere la distribuzione di un software da un server specificandone il nome e la versione. Le informazioni sono fornite dall'altro server e l'autenticità non è garantita. Puoi indicare un intervallo di versione semantica, ma specificando >= 2024.3.1 non verranno incluse le versioni personalizzate come ad esempio 2024.3.1-custom.0, pertanto ti consigliamo di specificare una versione come >= 2024.3.1-0."
|
||||||
singleUserMode: "Modalità utenza singola"
|
singleUserMode: "Modalità utente singolo"
|
||||||
singleUserMode_description: "Se sei l'unica persona a utilizzare questo server, l'abilitazione di questa modalità ottimizzerà le prestazioni."
|
singleUserMode_description: "Se sei l'unica persona a utilizzare questo server, l'abilitazione di questa modalità ottimizzerà le prestazioni."
|
||||||
signToActivityPubGet: "Firma delle richieste GET"
|
signToActivityPubGet: "Firma delle richieste GET"
|
||||||
signToActivityPubGet_description: "Normalmente questa opzione dovrebbe essere abilitata. Se si verificano problemi con la comunicazione federata, disabilitarla potrebbe migliorare la situazione, ma d'altro canto potrebbe rendere impossibile la comunicazione, a seconda del server."
|
signToActivityPubGet_description: "Normalmente questa opzione dovrebbe essere abilitata. Se si verificano problemi con la comunicazione federata, disabilitarla potrebbe migliorare la situazione, ma d'altro canto potrebbe rendere impossibile la comunicazione, a seconda del server."
|
||||||
|
|
@ -1752,11 +1646,6 @@ _serverSettings:
|
||||||
userGeneratedContentsVisibilityForVisitor: "Visibilità dei contenuti generati dagli utenti ai non utenti"
|
userGeneratedContentsVisibilityForVisitor: "Visibilità dei contenuti generati dagli utenti ai non utenti"
|
||||||
userGeneratedContentsVisibilityForVisitor_description: "Questa funzionalità è utile per impedire che contenuti remoti inappropriati e difficili da moderare vengano inavvertitamente resi pubblici su Internet tramite il proprio server."
|
userGeneratedContentsVisibilityForVisitor_description: "Questa funzionalità è utile per impedire che contenuti remoti inappropriati e difficili da moderare vengano inavvertitamente resi pubblici su Internet tramite il proprio server."
|
||||||
userGeneratedContentsVisibilityForVisitor_description2: "Esistono dei rischi nell'esporre incondizionatamente su internet tutto il contenuto del tuo server, incluso il contenuto remoto ricevuto da altri server. In particolare, occorre prestare attenzione, perché le persone non consapevoli della federazione potrebbero erroneamente credere che il contenuto remoto sia stato invece creato all'interno del proprio server."
|
userGeneratedContentsVisibilityForVisitor_description2: "Esistono dei rischi nell'esporre incondizionatamente su internet tutto il contenuto del tuo server, incluso il contenuto remoto ricevuto da altri server. In particolare, occorre prestare attenzione, perché le persone non consapevoli della federazione potrebbero erroneamente credere che il contenuto remoto sia stato invece creato all'interno del proprio server."
|
||||||
restartServerSetupWizardConfirm_title: "Vuoi ripetere la procedura guidata di configurazione iniziale del server?"
|
|
||||||
restartServerSetupWizardConfirm_text: "Verranno ripristinate alcune tue impostazioni personalizzate."
|
|
||||||
entrancePageStyle: "Stile della pagina di ingresso"
|
|
||||||
showTimelineForVisitor: "Mostra la Timeline a visitatori non autenticati"
|
|
||||||
showActivitiesForVisitor: "Mostrare la propria attività"
|
|
||||||
_userGeneratedContentsVisibilityForVisitor:
|
_userGeneratedContentsVisibilityForVisitor:
|
||||||
all: "Tutto pubblico"
|
all: "Tutto pubblico"
|
||||||
localOnly: "Pubblica solo contenuti locali, mantieni privati i contenuti remoti"
|
localOnly: "Pubblica solo contenuti locali, mantieni privati i contenuti remoti"
|
||||||
|
|
@ -2079,7 +1968,6 @@ _role:
|
||||||
canManageAvatarDecorations: "Gestisce le decorazioni di immagini del profilo"
|
canManageAvatarDecorations: "Gestisce le decorazioni di immagini del profilo"
|
||||||
driveCapacity: "Capienza del Drive"
|
driveCapacity: "Capienza del Drive"
|
||||||
maxFileSize: "Dimensione massima del file caricabile"
|
maxFileSize: "Dimensione massima del file caricabile"
|
||||||
maxFileSize_caption: "Potrebbero esserci altre impostazioni nella fase precedente, come reverse proxy o CDN."
|
|
||||||
alwaysMarkNsfw: "Impostare sempre come esplicito (NSFW)"
|
alwaysMarkNsfw: "Impostare sempre come esplicito (NSFW)"
|
||||||
canUpdateBioMedia: "Può aggiornare foto profilo e di testata"
|
canUpdateBioMedia: "Può aggiornare foto profilo e di testata"
|
||||||
pinMax: "Quantità massima di Note in primo piano"
|
pinMax: "Quantità massima di Note in primo piano"
|
||||||
|
|
@ -2094,7 +1982,6 @@ _role:
|
||||||
descriptionOfRateLimitFactor: "I rapporti più bassi sono meno restrittivi, quelli più alti lo sono di più."
|
descriptionOfRateLimitFactor: "I rapporti più bassi sono meno restrittivi, quelli più alti lo sono di più."
|
||||||
canHideAds: "Nascondere i banner"
|
canHideAds: "Nascondere i banner"
|
||||||
canSearchNotes: "Ricercare nelle Note"
|
canSearchNotes: "Ricercare nelle Note"
|
||||||
canSearchUsers: "Può cercare profili"
|
|
||||||
canUseTranslator: "Tradurre le Note"
|
canUseTranslator: "Tradurre le Note"
|
||||||
avatarDecorationLimit: "Numero massimo di decorazioni foto profilo installabili"
|
avatarDecorationLimit: "Numero massimo di decorazioni foto profilo installabili"
|
||||||
canImportAntennas: "Può importare Antenne"
|
canImportAntennas: "Può importare Antenne"
|
||||||
|
|
@ -2106,9 +1993,6 @@ _role:
|
||||||
uploadableFileTypes: "Tipi di file caricabili"
|
uploadableFileTypes: "Tipi di file caricabili"
|
||||||
uploadableFileTypes_caption: "Specifica il tipo MIME. Puoi specificare più valori separandoli andando a capo, oppure indicare caratteri jolly con un asterisco (*). Ad esempio: image/*"
|
uploadableFileTypes_caption: "Specifica il tipo MIME. Puoi specificare più valori separandoli andando a capo, oppure indicare caratteri jolly con un asterisco (*). Ad esempio: image/*"
|
||||||
uploadableFileTypes_caption2: "A seconda del file, il tipo potrebbe non essere determinato. Se si desidera consentire tali file, aggiungere {x} alla specifica."
|
uploadableFileTypes_caption2: "A seconda del file, il tipo potrebbe non essere determinato. Se si desidera consentire tali file, aggiungere {x} alla specifica."
|
||||||
noteDraftLimit: "Numero massimo di Note in bozza, lato server"
|
|
||||||
scheduledNoteLimit: "Quantità di Note pianificabili contemporaneamente"
|
|
||||||
watermarkAvailable: "Disponibilità della funzione filigrana"
|
|
||||||
_condition:
|
_condition:
|
||||||
roleAssignedTo: "Assegnato a ruoli manualmente"
|
roleAssignedTo: "Assegnato a ruoli manualmente"
|
||||||
isLocal: "Profilo locale"
|
isLocal: "Profilo locale"
|
||||||
|
|
@ -2268,7 +2152,6 @@ _theme:
|
||||||
install: "Installa un tema"
|
install: "Installa un tema"
|
||||||
manage: "Gestione dei temi"
|
manage: "Gestione dei temi"
|
||||||
code: "Codice tema"
|
code: "Codice tema"
|
||||||
copyThemeCode: "Copia il codice del Tema"
|
|
||||||
description: "Descrizione"
|
description: "Descrizione"
|
||||||
installed: "{name} è installato"
|
installed: "{name} è installato"
|
||||||
installedThemes: "Temi installati"
|
installedThemes: "Temi installati"
|
||||||
|
|
@ -2312,7 +2195,7 @@ _theme:
|
||||||
hashtag: "Hashtag"
|
hashtag: "Hashtag"
|
||||||
mention: "Menzioni"
|
mention: "Menzioni"
|
||||||
mentionMe: "Menzioni (di me)"
|
mentionMe: "Menzioni (di me)"
|
||||||
renote: "Rinota"
|
renote: "Renota"
|
||||||
modalBg: "Sfondo modale."
|
modalBg: "Sfondo modale."
|
||||||
divider: "Interruzione di linea"
|
divider: "Interruzione di linea"
|
||||||
scrollbarHandle: "Maniglie della barra di scorrimento"
|
scrollbarHandle: "Maniglie della barra di scorrimento"
|
||||||
|
|
@ -2356,19 +2239,18 @@ _ago:
|
||||||
yearsAgo: "{n} anni fa"
|
yearsAgo: "{n} anni fa"
|
||||||
invalid: "Niente da visualizzare"
|
invalid: "Niente da visualizzare"
|
||||||
_timeIn:
|
_timeIn:
|
||||||
seconds: "Tra {n} secondi"
|
seconds: "Dopo {n} secondi"
|
||||||
minutes: "Tra {n} minuti"
|
minutes: "Dopo {n} minuti"
|
||||||
hours: "Tra {n} ore"
|
hours: "Dopo {n} ore"
|
||||||
days: "Tra {n} giorni"
|
days: "Dopo {n} giorni"
|
||||||
weeks: "Tra {n} settimane"
|
weeks: "Dopo {n} settimane"
|
||||||
months: "Tra {n} mesi"
|
months: "Dopo {n} mesi"
|
||||||
years: "Tra {n} anni"
|
years: "Dopo {n} anni"
|
||||||
_time:
|
_time:
|
||||||
second: "s"
|
second: "s"
|
||||||
minute: "min"
|
minute: "min"
|
||||||
hour: "ore"
|
hour: "ore"
|
||||||
day: "giorni"
|
day: "giorni"
|
||||||
month: "Mese"
|
|
||||||
_2fa:
|
_2fa:
|
||||||
alreadyRegistered: "La configurazione è stata già completata."
|
alreadyRegistered: "La configurazione è stata già completata."
|
||||||
registerTOTP: "Registra una App di autenticazione a due fattori (2FA/MFA)"
|
registerTOTP: "Registra una App di autenticazione a due fattori (2FA/MFA)"
|
||||||
|
|
@ -2498,7 +2380,6 @@ _auth:
|
||||||
scopeUser: "Sto funzionando per il seguente profilo"
|
scopeUser: "Sto funzionando per il seguente profilo"
|
||||||
pleaseLogin: "Per favore accedi al tuo account per cambiare i permessi dell'applicazione"
|
pleaseLogin: "Per favore accedi al tuo account per cambiare i permessi dell'applicazione"
|
||||||
byClickingYouWillBeRedirectedToThisUrl: "Consentendo l'accesso, si verrà reindirizzati presso questo indirizzo URL"
|
byClickingYouWillBeRedirectedToThisUrl: "Consentendo l'accesso, si verrà reindirizzati presso questo indirizzo URL"
|
||||||
alreadyAuthorized: "Questa applicazione è già autorizzata ad accedere."
|
|
||||||
_antennaSources:
|
_antennaSources:
|
||||||
all: "Tutte le note"
|
all: "Tutte le note"
|
||||||
homeTimeline: "Note dai tuoi Following"
|
homeTimeline: "Note dai tuoi Following"
|
||||||
|
|
@ -2544,45 +2425,7 @@ _widgets:
|
||||||
chooseList: "Seleziona una lista"
|
chooseList: "Seleziona una lista"
|
||||||
clicker: "Cliccheria"
|
clicker: "Cliccheria"
|
||||||
birthdayFollowings: "Compleanni del giorno"
|
birthdayFollowings: "Compleanni del giorno"
|
||||||
chat: "Chatta con questa persona"
|
chat: "Chat"
|
||||||
_widgetOptions:
|
|
||||||
showHeader: "Mostra la testata"
|
|
||||||
transparent: "Sfondo trasparente"
|
|
||||||
height: "Altezza"
|
|
||||||
_button:
|
|
||||||
colored: "Colorato"
|
|
||||||
_clock:
|
|
||||||
size: "Dimensioni"
|
|
||||||
thickness: "Spessore lancette"
|
|
||||||
thicknessThin: "Sottili"
|
|
||||||
thicknessMedium: "Medie"
|
|
||||||
thicknessThick: "Larghe"
|
|
||||||
graduations: "Quadrante"
|
|
||||||
graduationDots: "Punti"
|
|
||||||
graduationArabic: "Numeri"
|
|
||||||
fadeGraduations: "Sfumatura"
|
|
||||||
sAnimation: "Animazione dei secondi"
|
|
||||||
sAnimationElastic: "Realistica"
|
|
||||||
sAnimationEaseOut: "Morbida"
|
|
||||||
twentyFour: "Formato 24 ore"
|
|
||||||
labelTime: "Orario"
|
|
||||||
labelTz: "Fuso orario"
|
|
||||||
labelTimeAndTz: "Orario e fuso orario"
|
|
||||||
timezone: "Fuso orario"
|
|
||||||
showMs: "Millisecondi visibili"
|
|
||||||
showLabel: "Etichetta visibile"
|
|
||||||
_jobQueue:
|
|
||||||
sound: "Emetti un suono"
|
|
||||||
_rss:
|
|
||||||
url: "URL del Feed RSS"
|
|
||||||
refreshIntervalSec: "Intervallo di aggiornamento (in secondi)"
|
|
||||||
maxEntries: "Quantità massima visualizzabile"
|
|
||||||
_rssTicker:
|
|
||||||
shuffle: "Ordine casuale"
|
|
||||||
duration: "Velocità di scorrimento del ticker (in secondi)"
|
|
||||||
reverse: "Direzione inversa"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "Durata"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "Nascondere"
|
hide: "Nascondere"
|
||||||
show: "Continua la lettura..."
|
show: "Continua la lettura..."
|
||||||
|
|
@ -2619,7 +2462,7 @@ _visibility:
|
||||||
followersDescription: "Visibile solo ai tuoi follower"
|
followersDescription: "Visibile solo ai tuoi follower"
|
||||||
specified: "Nota diretta"
|
specified: "Nota diretta"
|
||||||
specifiedDescription: "Visibile solo ai profili menzionati"
|
specifiedDescription: "Visibile solo ai profili menzionati"
|
||||||
disableFederation: "Gestisci la federazione"
|
disableFederation: "Senza federazione"
|
||||||
disableFederationDescription: "Non spedire attività alle altre istanze remote"
|
disableFederationDescription: "Non spedire attività alle altre istanze remote"
|
||||||
_postForm:
|
_postForm:
|
||||||
quitInspiteOfThereAreUnuploadedFilesConfirm: "Alcuni file non sono stati caricati. Vuoi annullare l'operazione?"
|
quitInspiteOfThereAreUnuploadedFilesConfirm: "Alcuni file non sono stati caricati. Vuoi annullare l'operazione?"
|
||||||
|
|
@ -2627,20 +2470,6 @@ _postForm:
|
||||||
replyPlaceholder: "Rispondi a questa nota..."
|
replyPlaceholder: "Rispondi a questa nota..."
|
||||||
quotePlaceholder: "Cita questa nota..."
|
quotePlaceholder: "Cita questa nota..."
|
||||||
channelPlaceholder: "Pubblica sul canale..."
|
channelPlaceholder: "Pubblica sul canale..."
|
||||||
showHowToUse: "Mostra il tutorial"
|
|
||||||
_howToUse:
|
|
||||||
content_title: "Testo"
|
|
||||||
content_description: "Inserisci il contenuto che desideri pubblicare."
|
|
||||||
toolbar_title: "Barra degli Strumenti"
|
|
||||||
toolbar_description: "Puoi allegare file e sondaggi, aggiungere Note, hashtag, inserire emoji e menzioni."
|
|
||||||
account_title: "Menu profilo"
|
|
||||||
account_description: "Puoi cambiare il profilo col quale vuoi pubblicare, elencare bozze e pianificare le Note."
|
|
||||||
visibility_title: "Visibilità"
|
|
||||||
visibility_description: "Puoi impostare il grado di visibilità delle Note."
|
|
||||||
menu_title: "Menù"
|
|
||||||
menu_description: "Puoi svolgere varie azioni, come salvare in bozza, pianificare le annotazioni, regolare le reazioni ricevute e altro."
|
|
||||||
submit_title: "Bottone invia"
|
|
||||||
submit_description: "Pubblica la Nota. Funziona anche con \"Ctrl + Invio\", oppure \"Cmd + Invio\"."
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "Come va?"
|
a: "Come va?"
|
||||||
b: "Hai qualcosa da raccontare? Inizia pure..."
|
b: "Hai qualcosa da raccontare? Inizia pure..."
|
||||||
|
|
@ -2786,8 +2615,6 @@ _notification:
|
||||||
youReceivedFollowRequest: "Hai ricevuto una richiesta di follow"
|
youReceivedFollowRequest: "Hai ricevuto una richiesta di follow"
|
||||||
yourFollowRequestAccepted: "La tua richiesta di follow è stata accettata"
|
yourFollowRequestAccepted: "La tua richiesta di follow è stata accettata"
|
||||||
pollEnded: "Risultati del sondaggio."
|
pollEnded: "Risultati del sondaggio."
|
||||||
scheduledNotePosted: "Pubblicazione Nota pianificata"
|
|
||||||
scheduledNotePostFailed: "Impossibile pubblicare la Nota pianificata"
|
|
||||||
newNote: "Nuove Note"
|
newNote: "Nuove Note"
|
||||||
unreadAntennaNote: "Antenna {name}"
|
unreadAntennaNote: "Antenna {name}"
|
||||||
roleAssigned: "Ruolo assegnato"
|
roleAssigned: "Ruolo assegnato"
|
||||||
|
|
@ -2808,7 +2635,7 @@ _notification:
|
||||||
createToken: "È stato creato un token di accesso"
|
createToken: "È stato creato un token di accesso"
|
||||||
createTokenDescription: "In caso contrario, eliminare il token di accesso tramite ({text})."
|
createTokenDescription: "In caso contrario, eliminare il token di accesso tramite ({text})."
|
||||||
_types:
|
_types:
|
||||||
all: "Tutte"
|
all: "Tutto"
|
||||||
note: "Nuove Note"
|
note: "Nuove Note"
|
||||||
follow: "Follower"
|
follow: "Follower"
|
||||||
mention: "Menzioni"
|
mention: "Menzioni"
|
||||||
|
|
@ -2816,9 +2643,7 @@ _notification:
|
||||||
renote: "Rinota"
|
renote: "Rinota"
|
||||||
quote: "Cita"
|
quote: "Cita"
|
||||||
reaction: "Reazioni"
|
reaction: "Reazioni"
|
||||||
pollEnded: "Sondaggio terminato"
|
pollEnded: "Sondaggio chiuso."
|
||||||
scheduledNotePosted: "Nota pianificata correttamente"
|
|
||||||
scheduledNotePostFailed: "La pianificazione della Nota è fallita"
|
|
||||||
receiveFollowRequest: "Richieste di follow in arrivo"
|
receiveFollowRequest: "Richieste di follow in arrivo"
|
||||||
followRequestAccepted: "Richieste di follow accettate"
|
followRequestAccepted: "Richieste di follow accettate"
|
||||||
roleAssigned: "Ruolo concesso"
|
roleAssigned: "Ruolo concesso"
|
||||||
|
|
@ -2826,7 +2651,7 @@ _notification:
|
||||||
achievementEarned: "Risultato raggiunto"
|
achievementEarned: "Risultato raggiunto"
|
||||||
exportCompleted: "Esportazione completata"
|
exportCompleted: "Esportazione completata"
|
||||||
login: "Accessi"
|
login: "Accessi"
|
||||||
createToken: "Aggiunto un token di accesso"
|
createToken: "Creare un token di accesso"
|
||||||
test: "Notifiche di test"
|
test: "Notifiche di test"
|
||||||
app: "Notifiche da applicazioni"
|
app: "Notifiche da applicazioni"
|
||||||
_actions:
|
_actions:
|
||||||
|
|
@ -2834,7 +2659,7 @@ _notification:
|
||||||
reply: "Rispondi"
|
reply: "Rispondi"
|
||||||
renote: "Rinota"
|
renote: "Rinota"
|
||||||
_deck:
|
_deck:
|
||||||
alwaysShowMainColumn: "Mostrare sempre la colonna Principale"
|
alwaysShowMainColumn: "Mostra sempre la colonna principale"
|
||||||
columnAlign: "Allineamento delle colonne"
|
columnAlign: "Allineamento delle colonne"
|
||||||
columnGap: "Spessore del margine tra colonne"
|
columnGap: "Spessore del margine tra colonne"
|
||||||
deckMenuPosition: "Posizione del menu Deck"
|
deckMenuPosition: "Posizione del menu Deck"
|
||||||
|
|
@ -2851,21 +2676,13 @@ _deck:
|
||||||
profile: "Profilo"
|
profile: "Profilo"
|
||||||
newProfile: "Nuovo profilo"
|
newProfile: "Nuovo profilo"
|
||||||
deleteProfile: "Cancellare il profilo."
|
deleteProfile: "Cancellare il profilo."
|
||||||
introduction: "Crea la tua interfaccia combinando le colonne!"
|
introduction: "Combinate le colonne per creare la vostra interfaccia!"
|
||||||
introduction2: "Per aggiungere una colonna, cliccare il bottone + (più) visibile al margine dello schermo."
|
introduction2: "È possibile aggiungere colonne in qualsiasi momento premendo + sulla destra dello schermo."
|
||||||
widgetsIntroduction: "Dal menu della colonna, selezionare \"Modifica i riquadri\" per aggiungere un un riquadro con funzionalità"
|
widgetsIntroduction: "Dal menu della colonna, selezionare \"Modifica i riquadri\" per aggiungere un un riquadro con funzionalità"
|
||||||
useSimpleUiForNonRootPages: "Visualizza sotto pagine con interfaccia web semplice"
|
useSimpleUiForNonRootPages: "Visualizza sotto pagine con interfaccia web semplice"
|
||||||
usedAsMinWidthWhenFlexible: "Se \"larghezza flessibile\" è abilitato, questa diventa la larghezza minima"
|
usedAsMinWidthWhenFlexible: "Se \"larghezza flessibile\" è abilitato, questa diventa la larghezza minima"
|
||||||
flexible: "Larghezza flessibile"
|
flexible: "Larghezza flessibile"
|
||||||
enableSyncBetweenDevicesForProfiles: "Abilita la sincronizzazione delle informazioni profilo tra dispositivi"
|
enableSyncBetweenDevicesForProfiles: "Abilita la sincronizzazione delle informazioni profilo tra dispositivi"
|
||||||
showHowToUse: "Guarda la spiegazione dell'interfaccia grafica"
|
|
||||||
_howToUse:
|
|
||||||
addColumn_title: "Aggiungere colonne"
|
|
||||||
addColumn_description: "Puoi selezionare un tipo di colonna e aggiungerlo."
|
|
||||||
settings_title: "Configurazione interfaccia grafica"
|
|
||||||
settings_description: "Puoi personalizzare i dettagli dell'interfaccia grafica."
|
|
||||||
switchProfile_title: "Selettore profilo"
|
|
||||||
switchProfile_description: "Puoi salvare la disposizione dell'interfaccia grafica nel tuo profilo, affinché cambi con comodità."
|
|
||||||
_columns:
|
_columns:
|
||||||
main: "Principale"
|
main: "Principale"
|
||||||
widgets: "Riquadri"
|
widgets: "Riquadri"
|
||||||
|
|
@ -2877,7 +2694,7 @@ _deck:
|
||||||
mentions: "Menzioni"
|
mentions: "Menzioni"
|
||||||
direct: "Note Dirette"
|
direct: "Note Dirette"
|
||||||
roleTimeline: "Timeline Ruolo"
|
roleTimeline: "Timeline Ruolo"
|
||||||
chat: "Chatta con questa persona"
|
chat: "Chat"
|
||||||
_dialog:
|
_dialog:
|
||||||
charactersExceeded: "Hai superato il limite di {max} caratteri! ({current})"
|
charactersExceeded: "Hai superato il limite di {max} caratteri! ({current})"
|
||||||
charactersBelow: "Sei al di sotto del minimo di {min} caratteri! ({current})"
|
charactersBelow: "Sei al di sotto del minimo di {min} caratteri! ({current})"
|
||||||
|
|
@ -2926,58 +2743,56 @@ _abuseReport:
|
||||||
notifiedWebhook: "Webhook da usare"
|
notifiedWebhook: "Webhook da usare"
|
||||||
deleteConfirm: "Vuoi davvero rimuovere il destinatario della notifica?"
|
deleteConfirm: "Vuoi davvero rimuovere il destinatario della notifica?"
|
||||||
_moderationLogTypes:
|
_moderationLogTypes:
|
||||||
clearQueue: "Ha cancellato la coda di Attività"
|
createRole: "Ruolo creato"
|
||||||
promoteQueue: "Ripeti le attività in coda"
|
deleteRole: "Ruolo eliminato"
|
||||||
createRole: "Crea un Ruolo"
|
updateRole: "Ruolo aggiornato"
|
||||||
deleteRole: "Elimina un Ruolo"
|
assignRole: "Ruolo assegnato"
|
||||||
updateRole: "Modifica un ruolo"
|
unassignRole: "Ruolo disassegnato"
|
||||||
assignRole: "Assegna un Ruolo"
|
suspend: "Sospensione"
|
||||||
unassignRole: "Toglie un Ruolo al Profilo"
|
unsuspend: "Sospensione rimossa"
|
||||||
suspend: "Sospende"
|
addCustomEmoji: "Emoji personalizzata aggiunta"
|
||||||
unsuspend: "Solleva la sospensione"
|
updateCustomEmoji: "Emoji personalizzata aggiornata"
|
||||||
addCustomEmoji: "Aggiunge Emoji personalizzata"
|
deleteCustomEmoji: "Emoji personalizzata eliminata"
|
||||||
updateCustomEmoji: "Modifica Emoji personalizzata"
|
updateServerSettings: "Impostazioni del server aggiornate"
|
||||||
deleteCustomEmoji: "Elimina Emoji personalizzata"
|
updateUserNote: "Promemoria di moderazione aggiornato"
|
||||||
updateServerSettings: "Modifica le impostazioni del server"
|
deleteDriveFile: "File da Drive eliminato"
|
||||||
updateUserNote: "Modifica un promemoria di moderazione"
|
deleteNote: "Nota eliminata"
|
||||||
deleteDriveFile: "Elimina un file dal Drive"
|
createGlobalAnnouncement: "Annuncio globale creato"
|
||||||
deleteNote: "Elimina una Nota"
|
createUserAnnouncement: "Annuncio ai profili iscritti creato"
|
||||||
createGlobalAnnouncement: "Crea un annuncio globale"
|
updateGlobalAnnouncement: "Annuncio globale aggiornato"
|
||||||
createUserAnnouncement: "Crea un annuncio ai profili già iscritti"
|
updateUserAnnouncement: "Annuncio ai profili iscritti aggiornato"
|
||||||
updateGlobalAnnouncement: "Modifica un annuncio globale"
|
deleteGlobalAnnouncement: "Annuncio globale eliminato"
|
||||||
updateUserAnnouncement: "Modifica un annuncio ai profili già iscritti"
|
deleteUserAnnouncement: "Annuncio ai profili iscritti eliminato"
|
||||||
deleteGlobalAnnouncement: "Elimina un annuncio globale"
|
resetPassword: "Password azzerata"
|
||||||
deleteUserAnnouncement: "Elimina un annuncio ai profili già iscritti"
|
suspendRemoteInstance: "Istanza remota sospesa"
|
||||||
resetPassword: "Azzera la password"
|
unsuspendRemoteInstance: "Istanza remota riattivata"
|
||||||
suspendRemoteInstance: "Sospende una istanza remota"
|
updateRemoteInstanceNote: "Aggiornamento del promemoria di moderazione per il server remoto"
|
||||||
unsuspendRemoteInstance: "Riattiva una istanza remota"
|
markSensitiveDriveFile: "File nel Drive segnato come esplicito"
|
||||||
updateRemoteInstanceNote: "Modifica il promemoria di moderazione per il server remoto"
|
unmarkSensitiveDriveFile: "File nel Drive segnato come non esplicito"
|
||||||
markSensitiveDriveFile: "Aggiunge NSFW a un file nel Drive"
|
resolveAbuseReport: "Segnalazione risolta"
|
||||||
unmarkSensitiveDriveFile: "Toglie NSFW da un file nel Drive"
|
forwardAbuseReport: "Segnalazione inoltrata"
|
||||||
resolveAbuseReport: "Risolve una segnalazione"
|
updateAbuseReportNote: "Ha aggiornato la segnalazione"
|
||||||
forwardAbuseReport: "Inoltra una segnalazione"
|
createInvitation: "Genera codice di invito"
|
||||||
updateAbuseReportNote: "Modifica una segnalazione"
|
createAd: "Banner creato"
|
||||||
createInvitation: "Genera un codice di invito"
|
deleteAd: "Banner eliminato"
|
||||||
createAd: "Aggiunge un Banner"
|
updateAd: "Banner aggiornato"
|
||||||
deleteAd: "Elimina un Banner"
|
createAvatarDecoration: "Creazione decorazione della foto profilo"
|
||||||
updateAd: "Modifica un Banner"
|
updateAvatarDecoration: "Aggiornamento decorazione foto profilo"
|
||||||
createAvatarDecoration: "Crea una decorazione della foto profilo"
|
deleteAvatarDecoration: "Eliminazione decorazione della foto profilo"
|
||||||
updateAvatarDecoration: "Modifica una decorazione della foto profilo"
|
unsetUserAvatar: "Rimossa foto profilo"
|
||||||
deleteAvatarDecoration: "Elimina una decorazione della foto profilo"
|
unsetUserBanner: "Rimossa intestazione profilo"
|
||||||
unsetUserAvatar: "Toglie una foto profilo"
|
createSystemWebhook: "Crea un SystemWebhook"
|
||||||
unsetUserBanner: "Toglie una immagine di intestazione profilo"
|
updateSystemWebhook: "Modifica SystemWebhook"
|
||||||
createSystemWebhook: "Aggiunge un System Webhook"
|
deleteSystemWebhook: "Elimina SystemWebhook"
|
||||||
updateSystemWebhook: "Modifica un System Webhook"
|
|
||||||
deleteSystemWebhook: "Elimina un System Webhook"
|
|
||||||
createAbuseReportNotificationRecipient: "Crea destinatario per le notifiche di segnalazioni"
|
createAbuseReportNotificationRecipient: "Crea destinatario per le notifiche di segnalazioni"
|
||||||
updateAbuseReportNotificationRecipient: "Modifica un destinatario per le notifiche di segnalazioni"
|
updateAbuseReportNotificationRecipient: "Aggiorna destinatario notifiche di segnalazioni"
|
||||||
deleteAbuseReportNotificationRecipient: "Elimina un destinatario per le notifiche di segnalazioni"
|
deleteAbuseReportNotificationRecipient: "Elimina destinatario notifiche di segnalazioni"
|
||||||
deleteAccount: "Elimina un profilo"
|
deleteAccount: "Quando viene eliminato un profilo"
|
||||||
deletePage: "Elimina una Pagina"
|
deletePage: "Pagina eliminata"
|
||||||
deleteFlash: "Elimina un Play"
|
deleteFlash: "Play eliminato"
|
||||||
deleteGalleryPost: "Elimina pubblicazione nella Galleria"
|
deleteGalleryPost: "Eliminazione pubblicazione nella Galleria"
|
||||||
deleteChatRoom: "Elimina una Chat"
|
deleteChatRoom: "Elimina chat"
|
||||||
updateProxyAccountDescription: "Aggiorna la descrizione del profilo proxy"
|
updateProxyAccountDescription: "Aggiornata la descrizione del profilo proxy"
|
||||||
_fileViewer:
|
_fileViewer:
|
||||||
title: "Dettagli del file"
|
title: "Dettagli del file"
|
||||||
type: "Tipo di file"
|
type: "Tipo di file"
|
||||||
|
|
@ -2985,7 +2800,6 @@ _fileViewer:
|
||||||
url: "URL"
|
url: "URL"
|
||||||
uploadedAt: "Caricato il"
|
uploadedAt: "Caricato il"
|
||||||
attachedNotes: "Note a cui è allegato"
|
attachedNotes: "Note a cui è allegato"
|
||||||
usage: "In uso"
|
|
||||||
thisPageCanBeSeenFromTheAuthor: "Questa pagina può essere vista solo da chi ha caricato il file."
|
thisPageCanBeSeenFromTheAuthor: "Questa pagina può essere vista solo da chi ha caricato il file."
|
||||||
_externalResourceInstaller:
|
_externalResourceInstaller:
|
||||||
title: "Installa da sito esterno"
|
title: "Installa da sito esterno"
|
||||||
|
|
@ -3117,7 +2931,7 @@ _contextMenu:
|
||||||
title: "Menu contestuale"
|
title: "Menu contestuale"
|
||||||
app: "Applicazione"
|
app: "Applicazione"
|
||||||
appWithShift: "Applicazione Shift+Tasto"
|
appWithShift: "Applicazione Shift+Tasto"
|
||||||
native: "Interfaccia grafica del browser"
|
native: "Interfaccia utente del browser"
|
||||||
_gridComponent:
|
_gridComponent:
|
||||||
_error:
|
_error:
|
||||||
requiredValue: "Campo obbligatorio"
|
requiredValue: "Campo obbligatorio"
|
||||||
|
|
@ -3175,7 +2989,7 @@ _customEmojisManager:
|
||||||
confirmClearEmojisDescription: "Annullare le modifiche e cancella le emoji nell'elenco. Confermi?"
|
confirmClearEmojisDescription: "Annullare le modifiche e cancella le emoji nell'elenco. Confermi?"
|
||||||
confirmUploadEmojisDescription: "Caricamento sul Drive di {count} file locali. Vuoi davvero procedere?"
|
confirmUploadEmojisDescription: "Caricamento sul Drive di {count} file locali. Vuoi davvero procedere?"
|
||||||
_embedCodeGen:
|
_embedCodeGen:
|
||||||
title: "Personalizza il codice per incorporare"
|
title: "Personalizza il codice di incorporamento"
|
||||||
header: "Mostra la testata"
|
header: "Mostra la testata"
|
||||||
autoload: "Carica automaticamente di più (sconsigliato)"
|
autoload: "Carica automaticamente di più (sconsigliato)"
|
||||||
maxHeight: "Altezza massima"
|
maxHeight: "Altezza massima"
|
||||||
|
|
@ -3184,8 +2998,8 @@ _embedCodeGen:
|
||||||
previewIsNotActual: "Poiché supera l'intervallo che può essere visualizzato in anteprima, la visualizzazione vera e propria sarà diversa quando effettivamente incorporata."
|
previewIsNotActual: "Poiché supera l'intervallo che può essere visualizzato in anteprima, la visualizzazione vera e propria sarà diversa quando effettivamente incorporata."
|
||||||
rounded: "Bordo arrotondato"
|
rounded: "Bordo arrotondato"
|
||||||
border: "Aggiungi un bordo al contenitore"
|
border: "Aggiungi un bordo al contenitore"
|
||||||
applyToPreview: "Aggiorna l'anteprima"
|
applyToPreview: "Applica all'anteprima"
|
||||||
generateCode: "Crea il codice per incorporare"
|
generateCode: "Crea il codice di incorporamento"
|
||||||
codeGenerated: "Codice generato"
|
codeGenerated: "Codice generato"
|
||||||
codeGeneratedDescription: "Incolla il codice appena generato sul tuo sito web."
|
codeGeneratedDescription: "Incolla il codice appena generato sul tuo sito web."
|
||||||
_selfXssPrevention:
|
_selfXssPrevention:
|
||||||
|
|
@ -3238,11 +3052,10 @@ _bootErrors:
|
||||||
otherOption1: "Nelle impostazioni, cancellare le impostazioni del client e svuotare la cache"
|
otherOption1: "Nelle impostazioni, cancellare le impostazioni del client e svuotare la cache"
|
||||||
otherOption2: "Avviare il client predefinito"
|
otherOption2: "Avviare il client predefinito"
|
||||||
otherOption3: "Avviare lo strumento di riparazione"
|
otherOption3: "Avviare lo strumento di riparazione"
|
||||||
otherOption4: "Avvia Misskey in modalità sicura"
|
|
||||||
_search:
|
_search:
|
||||||
searchScopeAll: "Tutte"
|
searchScopeAll: "Tutte"
|
||||||
searchScopeLocal: "Locale"
|
searchScopeLocal: "Locale"
|
||||||
searchScopeServer: "Server specifico"
|
searchScopeServer: "Specifiche del server"
|
||||||
searchScopeUser: "Profilo specifico"
|
searchScopeUser: "Profilo specifico"
|
||||||
pleaseEnterServerHost: "Inserire il nome host"
|
pleaseEnterServerHost: "Inserire il nome host"
|
||||||
pleaseSelectUser: "Per favore, seleziona un profilo"
|
pleaseSelectUser: "Per favore, seleziona un profilo"
|
||||||
|
|
@ -3275,8 +3088,6 @@ _serverSetupWizard:
|
||||||
doYouConnectToFediverse_description1: "Collegandosi a una rete di server distribuiti, denominata Fediverso, potrai scambiare contenuti con altri server, tramite il protocollo di comunicazione ActivityPub."
|
doYouConnectToFediverse_description1: "Collegandosi a una rete di server distribuiti, denominata Fediverso, potrai scambiare contenuti con altri server, tramite il protocollo di comunicazione ActivityPub."
|
||||||
doYouConnectToFediverse_description2: "Connettersi al Fediverso è anche detto \"federazione\"."
|
doYouConnectToFediverse_description2: "Connettersi al Fediverso è anche detto \"federazione\"."
|
||||||
youCanConfigureMoreFederationSettingsLater: "Puoi svolgere la configurazione avanzata anche dopo. Ad esempio specificando quali server possono federarsi."
|
youCanConfigureMoreFederationSettingsLater: "Puoi svolgere la configurazione avanzata anche dopo. Ad esempio specificando quali server possono federarsi."
|
||||||
remoteContentsCleaning: "Pulizia automatica dei contenuti in arrivo"
|
|
||||||
remoteContentsCleaning_description: "Con la federazione funzionante, riceverai sempre più contenuti. Abilitando la pulizia automatica, i contenuti non referenziati e obsoleti verranno rimossi automaticamente dai tuoi server, risparmiando spazio di archiviazione."
|
|
||||||
adminInfo: "Informazioni sull'amministratore"
|
adminInfo: "Informazioni sull'amministratore"
|
||||||
adminInfo_description: "Imposta le informazioni dell'amministratore utilizzate per accettare le richieste."
|
adminInfo_description: "Imposta le informazioni dell'amministratore utilizzate per accettare le richieste."
|
||||||
adminInfo_mustBeFilled: "Questa operazione è necessaria su un server aperto o se è attiva la federazione."
|
adminInfo_mustBeFilled: "Questa operazione è necessaria su un server aperto o se è attiva la federazione."
|
||||||
|
|
@ -3292,7 +3103,6 @@ _serverSetupWizard:
|
||||||
text2: "Se puoi, ti preghiamo di prendere in considerazione l'idea di fare una donazione, così potremo continuare a sviluppare."
|
text2: "Se puoi, ti preghiamo di prendere in considerazione l'idea di fare una donazione, così potremo continuare a sviluppare."
|
||||||
text3: "Sono previsti anche dei vantaggi speciali per i sostenitori!"
|
text3: "Sono previsti anche dei vantaggi speciali per i sostenitori!"
|
||||||
_uploader:
|
_uploader:
|
||||||
editImage: "Modifica immagine"
|
|
||||||
compressedToX: "Compresso in {x}"
|
compressedToX: "Compresso in {x}"
|
||||||
savedXPercent: "{x}% risparmiati"
|
savedXPercent: "{x}% risparmiati"
|
||||||
abortConfirm: "Alcuni file non sono stati caricati. Vuoi annullare l'operazione?"
|
abortConfirm: "Alcuni file non sono stati caricati. Vuoi annullare l'operazione?"
|
||||||
|
|
@ -3322,20 +3132,17 @@ _watermarkEditor:
|
||||||
title: "Modifica la filigrana"
|
title: "Modifica la filigrana"
|
||||||
cover: "Coprire tutto"
|
cover: "Coprire tutto"
|
||||||
repeat: "Disposizione"
|
repeat: "Disposizione"
|
||||||
preserveBoundingRect: "Fai in modo da non eccedere durante la rotazione"
|
|
||||||
opacity: "Opacità"
|
opacity: "Opacità"
|
||||||
scale: "Dimensioni"
|
scale: "Dimensioni"
|
||||||
text: "Testo"
|
text: "Testo"
|
||||||
qr: "QR Code"
|
|
||||||
position: "Posizione"
|
position: "Posizione"
|
||||||
margin: "Margine"
|
|
||||||
type: "Tipo"
|
type: "Tipo"
|
||||||
image: "Immagini"
|
image: "Immagini"
|
||||||
advanced: "Avanzato"
|
advanced: "Avanzato"
|
||||||
angle: "Angolo"
|
|
||||||
stripe: "Strisce"
|
stripe: "Strisce"
|
||||||
stripeWidth: "Larghezza della linea"
|
stripeWidth: "Larghezza della linea"
|
||||||
stripeFrequency: "Il numero di linee"
|
stripeFrequency: "Il numero di linee"
|
||||||
|
angle: "Angolo"
|
||||||
polkadot: "A pallini"
|
polkadot: "A pallini"
|
||||||
checker: "revisore"
|
checker: "revisore"
|
||||||
polkadotMainDotOpacity: "Opacità del punto principale"
|
polkadotMainDotOpacity: "Opacità del punto principale"
|
||||||
|
|
@ -3343,21 +3150,16 @@ _watermarkEditor:
|
||||||
polkadotSubDotOpacity: "Opacità del punto secondario"
|
polkadotSubDotOpacity: "Opacità del punto secondario"
|
||||||
polkadotSubDotRadius: "Dimensione del punto secondario"
|
polkadotSubDotRadius: "Dimensione del punto secondario"
|
||||||
polkadotSubDotDivisions: "Quantità di punti secondari"
|
polkadotSubDotDivisions: "Quantità di punti secondari"
|
||||||
leaveBlankToAccountUrl: "Il valore vuoto indica la URL dell'account"
|
|
||||||
failedToLoadImage: "Impossibile caricare l'immagine"
|
|
||||||
_imageEffector:
|
_imageEffector:
|
||||||
title: "Effetto"
|
title: "Effetto"
|
||||||
addEffect: "Aggiungi effetto"
|
addEffect: "Aggiungi effetto"
|
||||||
discardChangesConfirm: "Scarta le modifiche ed esci?"
|
discardChangesConfirm: "Scarta le modifiche ed esci?"
|
||||||
failedToLoadImage: "Impossibile caricare l'immagine"
|
|
||||||
_fxs:
|
_fxs:
|
||||||
chromaticAberration: "Aberrazione cromatica"
|
chromaticAberration: "Aberrazione cromatica"
|
||||||
glitch: "Glitch"
|
glitch: "Glitch"
|
||||||
mirror: "Specchio"
|
mirror: "Specchio"
|
||||||
invert: "Inversione colore"
|
invert: "Inversione colore"
|
||||||
grayscale: "Bianco e nero"
|
grayscale: "Bianco e nero"
|
||||||
blur: "Sfocatura"
|
|
||||||
pixelate: "Mosaico"
|
|
||||||
colorAdjust: "Correzione Colore"
|
colorAdjust: "Correzione Colore"
|
||||||
colorClamp: "Compressione del colore"
|
colorClamp: "Compressione del colore"
|
||||||
colorClampAdvanced: "Compressione del colore (avanzata)"
|
colorClampAdvanced: "Compressione del colore (avanzata)"
|
||||||
|
|
@ -3367,76 +3169,3 @@ _imageEffector:
|
||||||
stripe: "Strisce"
|
stripe: "Strisce"
|
||||||
polkadot: "A pallini"
|
polkadot: "A pallini"
|
||||||
checker: "revisore"
|
checker: "revisore"
|
||||||
blockNoise: "Attenua rumore"
|
|
||||||
tearing: "Strappa immagine"
|
|
||||||
fill: "Riempimento"
|
|
||||||
_fxProps:
|
|
||||||
angle: "Angolo"
|
|
||||||
scale: "Dimensioni"
|
|
||||||
size: "Dimensioni"
|
|
||||||
radius: "Raggio"
|
|
||||||
samples: "Quantità di campioni"
|
|
||||||
offset: "Posizione"
|
|
||||||
color: "Colore"
|
|
||||||
opacity: "Opacità"
|
|
||||||
normalize: "Normalizza"
|
|
||||||
amount: "Quantità"
|
|
||||||
lightness: "Chiaro"
|
|
||||||
contrast: "Contrasto"
|
|
||||||
hue: "Tinta"
|
|
||||||
brightness: "Luminosità"
|
|
||||||
saturation: "Saturazione"
|
|
||||||
max: "Valore massimo"
|
|
||||||
min: "Valore minimo"
|
|
||||||
direction: "Orientamento"
|
|
||||||
phase: "Fasare"
|
|
||||||
frequency: "Frequenza"
|
|
||||||
strength: "Forza"
|
|
||||||
glitchChannelShift: "Glitch cambio canale"
|
|
||||||
seed: "Seme"
|
|
||||||
redComponent: "Rosso composito"
|
|
||||||
greenComponent: "Verde composito"
|
|
||||||
blueComponent: "Blu composito"
|
|
||||||
threshold: "Soglia"
|
|
||||||
centerX: "Centro orizzontale"
|
|
||||||
centerY: "Centro verticale"
|
|
||||||
zoomLinesSmoothing: "Levigatura"
|
|
||||||
zoomLinesSmoothingDescription: "Non si possono usare insieme la levigatura e la larghezza della linea centrale."
|
|
||||||
zoomLinesThreshold: "Limite delle linee zoom"
|
|
||||||
zoomLinesMaskSize: "Ampiezza del diametro"
|
|
||||||
zoomLinesBlack: "Bande nere"
|
|
||||||
circle: "Circolare"
|
|
||||||
drafts: "Bozze"
|
|
||||||
_drafts:
|
|
||||||
select: "Selezionare bozza"
|
|
||||||
cannotCreateDraftAnymore: "Hai superato il numero massimo di bozze ammissibili."
|
|
||||||
cannotCreateDraft: "Impossibile creare una bozza di questo contenuto."
|
|
||||||
delete: "Elimina bozza"
|
|
||||||
deleteAreYouSure: "Vuoi davvero eliminare la bozza?"
|
|
||||||
noDrafts: "Non c'è nessuna bozza."
|
|
||||||
replyTo: "Rispondere a {user}"
|
|
||||||
quoteOf: "Citare la nota di {user}"
|
|
||||||
postTo: "Inserire in {channel}"
|
|
||||||
saveToDraft: "Salva come bozza"
|
|
||||||
restoreFromDraft: "Recuperare dalle bozze"
|
|
||||||
restore: "Ripristina"
|
|
||||||
listDrafts: "Elenco bozze"
|
|
||||||
schedule: "Pianifica pubblicazione"
|
|
||||||
listScheduledNotes: "Elenca Note pianificate"
|
|
||||||
cancelSchedule: "Annulla pianificazione"
|
|
||||||
qr: "QR Code"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "Visualizza"
|
|
||||||
readTabTitle: "Leggere"
|
|
||||||
shareTitle: "{name} {acct}"
|
|
||||||
shareText: "Seguimi nel Fediverso!"
|
|
||||||
chooseCamera: "Seleziona fotocamera"
|
|
||||||
cannotToggleFlash: "Flash non controllabile"
|
|
||||||
turnOnFlash: "Accendi il flash"
|
|
||||||
turnOffFlash: "Spegni il flash"
|
|
||||||
startQr: "Inizia lettura QR Code"
|
|
||||||
stopQr: "Interrompi lettura QR Code"
|
|
||||||
noQrCodeFound: "Non trovo alcun QR Code"
|
|
||||||
scanFile: "Scansiona immagine nel dispositivo"
|
|
||||||
raw: "Testo"
|
|
||||||
mfm: "MFM"
|
|
||||||
|
|
|
||||||
|
|
@ -74,8 +74,8 @@ youGotNewFollower: "フォローされました"
|
||||||
receiveFollowRequest: "フォローリクエストされました"
|
receiveFollowRequest: "フォローリクエストされました"
|
||||||
followRequestAccepted: "フォローが承認されました"
|
followRequestAccepted: "フォローが承認されました"
|
||||||
mention: "メンション"
|
mention: "メンション"
|
||||||
mentions: "メンション"
|
mentions: "あなた宛て"
|
||||||
directNotes: "指名"
|
directNotes: "ダイレクト投稿"
|
||||||
importAndExport: "インポートとエクスポート"
|
importAndExport: "インポートとエクスポート"
|
||||||
import: "インポート"
|
import: "インポート"
|
||||||
export: "エクスポート"
|
export: "エクスポート"
|
||||||
|
|
@ -83,8 +83,6 @@ files: "ファイル"
|
||||||
download: "ダウンロード"
|
download: "ダウンロード"
|
||||||
driveFileDeleteConfirm: "ファイル「{name}」を削除しますか?このファイルを使用した一部のコンテンツも削除されます。"
|
driveFileDeleteConfirm: "ファイル「{name}」を削除しますか?このファイルを使用した一部のコンテンツも削除されます。"
|
||||||
unfollowConfirm: "{name}のフォローを解除しますか?"
|
unfollowConfirm: "{name}のフォローを解除しますか?"
|
||||||
cancelFollowRequestConfirm: "{name}へのフォロー申請をキャンセルしますか?"
|
|
||||||
rejectFollowRequestConfirm: "{name}からのフォロー申請を拒否しますか?"
|
|
||||||
exportRequested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、「ドライブ」に追加されます。"
|
exportRequested: "エクスポートをリクエストしました。これには時間がかかる場合があります。エクスポートが終わると、「ドライブ」に追加されます。"
|
||||||
importRequested: "インポートをリクエストしました。これには時間がかかる場合があります。"
|
importRequested: "インポートをリクエストしました。これには時間がかかる場合があります。"
|
||||||
lists: "リスト"
|
lists: "リスト"
|
||||||
|
|
@ -184,7 +182,7 @@ flagAsCat: "にゃああああああああああああああ!!!!!!
|
||||||
flagAsCatDescription: "にゃにゃにゃ??"
|
flagAsCatDescription: "にゃにゃにゃ??"
|
||||||
flagShowTimelineReplies: "タイムラインにノートへの返信を表示する"
|
flagShowTimelineReplies: "タイムラインにノートへの返信を表示する"
|
||||||
flagShowTimelineRepliesDescription: "オンにすると、タイムラインにユーザーのノート以外にもそのユーザーの他のノートへの返信を表示します。"
|
flagShowTimelineRepliesDescription: "オンにすると、タイムラインにユーザーのノート以外にもそのユーザーの他のノートへの返信を表示します。"
|
||||||
autoAcceptFollowed: "フォロー中ユーザーからのフォロー申請を自動承認"
|
autoAcceptFollowed: "フォロー中ユーザーからのフォロリクを自動承認"
|
||||||
addAccount: "アカウントを追加"
|
addAccount: "アカウントを追加"
|
||||||
reloadAccountsList: "アカウントリストの情報を更新"
|
reloadAccountsList: "アカウントリストの情報を更新"
|
||||||
loginFailed: "ログインに失敗しました"
|
loginFailed: "ログインに失敗しました"
|
||||||
|
|
@ -255,7 +253,6 @@ noteDeleteConfirm: "このノートを削除しますか?"
|
||||||
pinLimitExceeded: "これ以上ピン留めできません"
|
pinLimitExceeded: "これ以上ピン留めできません"
|
||||||
done: "完了"
|
done: "完了"
|
||||||
processing: "処理中"
|
processing: "処理中"
|
||||||
preprocessing: "準備中"
|
|
||||||
preview: "プレビュー"
|
preview: "プレビュー"
|
||||||
default: "デフォルト"
|
default: "デフォルト"
|
||||||
defaultValueIs: "デフォルト: {value}"
|
defaultValueIs: "デフォルト: {value}"
|
||||||
|
|
@ -304,9 +301,8 @@ uploadFromUrlMayTakeTime: "アップロードが完了するまで時間がか
|
||||||
uploadNFiles: "{n}個のファイルをアップロード"
|
uploadNFiles: "{n}個のファイルをアップロード"
|
||||||
explore: "みつける"
|
explore: "みつける"
|
||||||
messageRead: "既読"
|
messageRead: "既読"
|
||||||
readAllChatMessages: "すべてのメッセージを既読にする"
|
|
||||||
noMoreHistory: "これより過去の履歴はありません"
|
noMoreHistory: "これより過去の履歴はありません"
|
||||||
startChat: "メッセージを送る"
|
startChat: "チャットを始める"
|
||||||
nUsersRead: "{n}人が読みました"
|
nUsersRead: "{n}人が読みました"
|
||||||
agreeTo: "{0}に同意"
|
agreeTo: "{0}に同意"
|
||||||
agree: "同意する"
|
agree: "同意する"
|
||||||
|
|
@ -337,7 +333,6 @@ fileName: "ファイル名"
|
||||||
selectFile: "ファイルを選択"
|
selectFile: "ファイルを選択"
|
||||||
selectFiles: "ファイルを選択"
|
selectFiles: "ファイルを選択"
|
||||||
selectFolder: "フォルダーを選択"
|
selectFolder: "フォルダーを選択"
|
||||||
unselectFolder: "フォルダーの選択を解除"
|
|
||||||
selectFolders: "フォルダーを選択"
|
selectFolders: "フォルダーを選択"
|
||||||
fileNotSelected: "ファイルが選択されていません"
|
fileNotSelected: "ファイルが選択されていません"
|
||||||
renameFile: "ファイル名を変更"
|
renameFile: "ファイル名を変更"
|
||||||
|
|
@ -350,7 +345,6 @@ addFile: "ファイルを追加"
|
||||||
showFile: "ファイルを表示"
|
showFile: "ファイルを表示"
|
||||||
emptyDrive: "ドライブは空です"
|
emptyDrive: "ドライブは空です"
|
||||||
emptyFolder: "フォルダーは空です"
|
emptyFolder: "フォルダーは空です"
|
||||||
dropHereToUpload: "ここにファイルをドロップしてアップロード"
|
|
||||||
unableToDelete: "削除できません"
|
unableToDelete: "削除できません"
|
||||||
inputNewFileName: "新しいファイル名を入力してください"
|
inputNewFileName: "新しいファイル名を入力してください"
|
||||||
inputNewDescription: "新しいキャプションを入力してください"
|
inputNewDescription: "新しいキャプションを入力してください"
|
||||||
|
|
@ -483,7 +477,7 @@ notFoundDescription: "指定されたURLに該当するページはありませ
|
||||||
uploadFolder: "既定アップロード先"
|
uploadFolder: "既定アップロード先"
|
||||||
markAsReadAllNotifications: "すべての通知を既読にする"
|
markAsReadAllNotifications: "すべての通知を既読にする"
|
||||||
markAsReadAllUnreadNotes: "すべての投稿を既読にする"
|
markAsReadAllUnreadNotes: "すべての投稿を既読にする"
|
||||||
markAsReadAllTalkMessages: "すべてのダイレクトメッセージを既読にする"
|
markAsReadAllTalkMessages: "すべてのチャットを既読にする"
|
||||||
help: "ヘルプ"
|
help: "ヘルプ"
|
||||||
inputMessageHere: "ここにメッセージを入力"
|
inputMessageHere: "ここにメッセージを入力"
|
||||||
close: "閉じる"
|
close: "閉じる"
|
||||||
|
|
@ -543,7 +537,6 @@ regenerate: "再生成"
|
||||||
fontSize: "フォントサイズ"
|
fontSize: "フォントサイズ"
|
||||||
mediaListWithOneImageAppearance: "画像が1枚のみのメディアリストの高さ"
|
mediaListWithOneImageAppearance: "画像が1枚のみのメディアリストの高さ"
|
||||||
limitTo: "{x}を上限に"
|
limitTo: "{x}を上限に"
|
||||||
showMediaListByGridInWideArea: "画面幅が広いときはメディアリストを横並びで表示する"
|
|
||||||
noFollowRequests: "フォロー申請はありません"
|
noFollowRequests: "フォロー申請はありません"
|
||||||
openImageInNewTab: "画像を新しいタブで開く"
|
openImageInNewTab: "画像を新しいタブで開く"
|
||||||
dashboard: "ダッシュボード"
|
dashboard: "ダッシュボード"
|
||||||
|
|
@ -644,8 +637,8 @@ addRelay: "リレーの追加"
|
||||||
inboxUrl: "inboxのURL"
|
inboxUrl: "inboxのURL"
|
||||||
addedRelays: "追加済みのリレー"
|
addedRelays: "追加済みのリレー"
|
||||||
serviceworkerInfo: "プッシュ通知を行うには有効にする必要があります。"
|
serviceworkerInfo: "プッシュ通知を行うには有効にする必要があります。"
|
||||||
deletedNote: "削除されたノート"
|
deletedNote: "削除された投稿"
|
||||||
invisibleNote: "非公開のノート"
|
invisibleNote: "非公開の投稿"
|
||||||
enableInfiniteScroll: "自動でもっと見る"
|
enableInfiniteScroll: "自動でもっと見る"
|
||||||
visibility: "公開範囲"
|
visibility: "公開範囲"
|
||||||
poll: "アンケート"
|
poll: "アンケート"
|
||||||
|
|
@ -779,7 +772,6 @@ lockedAccountInfo: "フォローを承認制にしても、ノートの公開範
|
||||||
alwaysMarkSensitive: "デフォルトでメディアをセンシティブ設定にする"
|
alwaysMarkSensitive: "デフォルトでメディアをセンシティブ設定にする"
|
||||||
loadRawImages: "添付画像のサムネイルをオリジナル画質にする"
|
loadRawImages: "添付画像のサムネイルをオリジナル画質にする"
|
||||||
disableShowingAnimatedImages: "アニメーション画像を再生しない"
|
disableShowingAnimatedImages: "アニメーション画像を再生しない"
|
||||||
disableShowingAnimatedImages_caption: "この設定に関わらずアニメーション画像が再生されないときは、ブラウザ・OSのアクセシビリティ設定や省電力設定等が干渉している場合があります。"
|
|
||||||
highlightSensitiveMedia: "メディアがセンシティブであることを分かりやすく表示"
|
highlightSensitiveMedia: "メディアがセンシティブであることを分かりやすく表示"
|
||||||
verificationEmailSent: "確認のメールを送信しました。メールに記載されたリンクにアクセスして、設定を完了してください。"
|
verificationEmailSent: "確認のメールを送信しました。メールに記載されたリンクにアクセスして、設定を完了してください。"
|
||||||
notSet: "未設定"
|
notSet: "未設定"
|
||||||
|
|
@ -1026,9 +1018,6 @@ pushNotificationAlreadySubscribed: "プッシュ通知は有効です"
|
||||||
pushNotificationNotSupported: "ブラウザかサーバーがプッシュ通知に非対応"
|
pushNotificationNotSupported: "ブラウザかサーバーがプッシュ通知に非対応"
|
||||||
sendPushNotificationReadMessage: "通知が既読になったらプッシュ通知を削除する"
|
sendPushNotificationReadMessage: "通知が既読になったらプッシュ通知を削除する"
|
||||||
sendPushNotificationReadMessageCaption: "端末の電池消費量が増加する可能性があります。"
|
sendPushNotificationReadMessageCaption: "端末の電池消費量が増加する可能性があります。"
|
||||||
pleaseAllowPushNotification: "ブラウザの通知設定を許可してください"
|
|
||||||
browserPushNotificationDisabled: "通知の送信権限の取得に失敗しました"
|
|
||||||
browserPushNotificationDisabledDescription: "{serverName}から通知を送信する権限がありません。ブラウザの設定から通知を許可して再度お試しください。"
|
|
||||||
windowMaximize: "最大化"
|
windowMaximize: "最大化"
|
||||||
windowMinimize: "最小化"
|
windowMinimize: "最小化"
|
||||||
windowRestore: "元に戻す"
|
windowRestore: "元に戻す"
|
||||||
|
|
@ -1065,7 +1054,6 @@ permissionDeniedError: "操作が拒否されました"
|
||||||
permissionDeniedErrorDescription: "このアカウントにはこの操作を行うための権限がありません。"
|
permissionDeniedErrorDescription: "このアカウントにはこの操作を行うための権限がありません。"
|
||||||
preset: "プリセット"
|
preset: "プリセット"
|
||||||
selectFromPresets: "プリセットから選択"
|
selectFromPresets: "プリセットから選択"
|
||||||
custom: "カスタム"
|
|
||||||
achievements: "実績"
|
achievements: "実績"
|
||||||
gotInvalidResponseError: "サーバーの応答が無効です"
|
gotInvalidResponseError: "サーバーの応答が無効です"
|
||||||
gotInvalidResponseErrorDescription: "サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから再度お試しください。"
|
gotInvalidResponseErrorDescription: "サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから再度お試しください。"
|
||||||
|
|
@ -1104,7 +1092,6 @@ prohibitedWordsDescription2: "スペースで区切るとAND指定になり、
|
||||||
hiddenTags: "非表示ハッシュタグ"
|
hiddenTags: "非表示ハッシュタグ"
|
||||||
hiddenTagsDescription: "設定したタグをトレンドに表示させないようにします。改行で区切って複数設定できます。"
|
hiddenTagsDescription: "設定したタグをトレンドに表示させないようにします。改行で区切って複数設定できます。"
|
||||||
notesSearchNotAvailable: "ノート検索は利用できません。"
|
notesSearchNotAvailable: "ノート検索は利用できません。"
|
||||||
usersSearchNotAvailable: "ユーザー検索は利用できません。"
|
|
||||||
license: "ライセンス"
|
license: "ライセンス"
|
||||||
unfavoriteConfirm: "お気に入り解除しますか?"
|
unfavoriteConfirm: "お気に入り解除しますか?"
|
||||||
myClips: "自分のクリップ"
|
myClips: "自分のクリップ"
|
||||||
|
|
@ -1179,7 +1166,6 @@ installed: "インストール済み"
|
||||||
branding: "ブランディング"
|
branding: "ブランディング"
|
||||||
enableServerMachineStats: "サーバーのマシン情報を公開する"
|
enableServerMachineStats: "サーバーのマシン情報を公開する"
|
||||||
enableIdenticonGeneration: "ユーザーごとのIdenticon生成を有効にする"
|
enableIdenticonGeneration: "ユーザーごとのIdenticon生成を有効にする"
|
||||||
showRoleBadgesOfRemoteUsers: "リモートユーザーに付与したロールバッジを表示する"
|
|
||||||
turnOffToImprovePerformance: "オフにするとパフォーマンスが向上します。"
|
turnOffToImprovePerformance: "オフにするとパフォーマンスが向上します。"
|
||||||
createInviteCode: "招待コードを作成"
|
createInviteCode: "招待コードを作成"
|
||||||
createWithOptions: "オプションを指定して作成"
|
createWithOptions: "オプションを指定して作成"
|
||||||
|
|
@ -1257,7 +1243,7 @@ releaseToRefresh: "離してリロード"
|
||||||
refreshing: "リロード中"
|
refreshing: "リロード中"
|
||||||
pullDownToRefresh: "引っ張ってリロード"
|
pullDownToRefresh: "引っ張ってリロード"
|
||||||
useGroupedNotifications: "通知をグルーピング"
|
useGroupedNotifications: "通知をグルーピング"
|
||||||
emailVerificationFailedError: "メールアドレスの確認中に問題が発生しました。リンクの有効期限が切れている可能性があります。"
|
signupPendingError: "メールアドレスの確認中に問題が発生しました。リンクの有効期限が切れている可能性があります。"
|
||||||
cwNotationRequired: "「内容を隠す」がオンの場合は注釈の記述が必要です。"
|
cwNotationRequired: "「内容を隠す」がオンの場合は注釈の記述が必要です。"
|
||||||
doReaction: "リアクションする"
|
doReaction: "リアクションする"
|
||||||
code: "コード"
|
code: "コード"
|
||||||
|
|
@ -1317,7 +1303,7 @@ messageToFollower: "フォロワーへのメッセージ"
|
||||||
target: "対象"
|
target: "対象"
|
||||||
testCaptchaWarning: "CAPTCHAのテストを目的とした機能です。<strong>本番環境で使用しないでください。</strong>"
|
testCaptchaWarning: "CAPTCHAのテストを目的とした機能です。<strong>本番環境で使用しないでください。</strong>"
|
||||||
prohibitedWordsForNameOfUser: "禁止ワード(ユーザーの名前)"
|
prohibitedWordsForNameOfUser: "禁止ワード(ユーザーの名前)"
|
||||||
prohibitedWordsForNameOfUserDescription: "このリストに含まれる文字列がユーザーの名前に含まれる場合、ユーザーの名前の変更を拒否します。モデレーター権限を持つユーザーはこの制限の影響を受けません。ユーザー名(username)に対しても全て小文字に置き換えて検査します。"
|
prohibitedWordsForNameOfUserDescription: "このリストに含まれる文字列がユーザーの名前に含まれる場合、ユーザーの名前の変更を拒否します。モデレーター権限を持つユーザーはこの制限の影響を受けません。"
|
||||||
yourNameContainsProhibitedWords: "変更しようとした名前に禁止された文字列が含まれています"
|
yourNameContainsProhibitedWords: "変更しようとした名前に禁止された文字列が含まれています"
|
||||||
yourNameContainsProhibitedWordsDescription: "名前に禁止されている文字列が含まれています。この名前を使用したい場合は、サーバー管理者にお問い合わせください。"
|
yourNameContainsProhibitedWordsDescription: "名前に禁止されている文字列が含まれています。この名前を使用したい場合は、サーバー管理者にお問い合わせください。"
|
||||||
thisContentsAreMarkedAsSigninRequiredByAuthor: "投稿者により、表示にはログインが必要と設定されています"
|
thisContentsAreMarkedAsSigninRequiredByAuthor: "投稿者により、表示にはログインが必要と設定されています"
|
||||||
|
|
@ -1328,7 +1314,6 @@ acknowledgeNotesAndEnable: "注意事項を理解した上でオンにします
|
||||||
federationSpecified: "このサーバーはホワイトリスト連合で運用されています。管理者が指定したサーバー以外とやり取りすることはできません。"
|
federationSpecified: "このサーバーはホワイトリスト連合で運用されています。管理者が指定したサーバー以外とやり取りすることはできません。"
|
||||||
federationDisabled: "このサーバーは連合が無効化されています。他のサーバーのユーザーとやり取りすることはできません。"
|
federationDisabled: "このサーバーは連合が無効化されています。他のサーバーのユーザーとやり取りすることはできません。"
|
||||||
draft: "下書き"
|
draft: "下書き"
|
||||||
draftsAndScheduledNotes: "下書きと予約投稿"
|
|
||||||
confirmOnReact: "リアクションする際に確認する"
|
confirmOnReact: "リアクションする際に確認する"
|
||||||
reactAreYouSure: "\" {emoji} \" をリアクションしますか?"
|
reactAreYouSure: "\" {emoji} \" をリアクションしますか?"
|
||||||
markAsSensitiveConfirm: "このメディアをセンシティブとして設定しますか?"
|
markAsSensitiveConfirm: "このメディアをセンシティブとして設定しますか?"
|
||||||
|
|
@ -1356,8 +1341,6 @@ postForm: "投稿フォーム"
|
||||||
textCount: "文字数"
|
textCount: "文字数"
|
||||||
information: "情報"
|
information: "情報"
|
||||||
chat: "チャット"
|
chat: "チャット"
|
||||||
directMessage: "ダイレクトメッセージ"
|
|
||||||
directMessage_short: "メッセージ"
|
|
||||||
migrateOldSettings: "旧設定情報を移行"
|
migrateOldSettings: "旧設定情報を移行"
|
||||||
migrateOldSettings_description: "通常これは自動で行われていますが、何らかの理由により上手く移行されなかった場合は手動で移行処理をトリガーできます。現在の設定情報は上書きされます。"
|
migrateOldSettings_description: "通常これは自動で行われていますが、何らかの理由により上手く移行されなかった場合は手動で移行処理をトリガーできます。現在の設定情報は上書きされます。"
|
||||||
compress: "圧縮"
|
compress: "圧縮"
|
||||||
|
|
@ -1385,129 +1368,53 @@ redisplayAllTips: "全ての「ヒントとコツ」を再表示"
|
||||||
hideAllTips: "全ての「ヒントとコツ」を非表示"
|
hideAllTips: "全ての「ヒントとコツ」を非表示"
|
||||||
defaultImageCompressionLevel: "デフォルトの画像圧縮度"
|
defaultImageCompressionLevel: "デフォルトの画像圧縮度"
|
||||||
defaultImageCompressionLevel_description: "低くすると画質を保てますが、ファイルサイズは増加します。<br>高くするとファイルサイズを減らせますが、画質は低下します。"
|
defaultImageCompressionLevel_description: "低くすると画質を保てますが、ファイルサイズは増加します。<br>高くするとファイルサイズを減らせますが、画質は低下します。"
|
||||||
defaultCompressionLevel: "デフォルトの圧縮度"
|
|
||||||
defaultCompressionLevel_description: "低くすると品質を保てますが、ファイルサイズは増加します。<br>高くするとファイルサイズを減らせますが、品質は低下します。"
|
|
||||||
inMinutes: "分"
|
|
||||||
inDays: "日"
|
|
||||||
safeModeEnabled: "セーフモードが有効です"
|
|
||||||
pluginsAreDisabledBecauseSafeMode: "セーフモードが有効なため、プラグインはすべて無効化されています。"
|
|
||||||
customCssIsDisabledBecauseSafeMode: "セーフモードが有効なため、カスタムCSSは適用されていません。"
|
|
||||||
themeIsDefaultBecauseSafeMode: "セーフモードが有効な間はデフォルトのテーマが使用されます。セーフモードをオフにすると元に戻ります。"
|
|
||||||
thankYouForTestingBeta: "ベータ版の検証にご協力いただきありがとうございます!"
|
|
||||||
createUserSpecifiedNote: "ユーザー指定ノートを作成"
|
|
||||||
schedulePost: "投稿を予約"
|
|
||||||
scheduleToPostOnX: "{x}に投稿を予約します"
|
|
||||||
scheduledToPostOnX: "{x}に投稿が予約されています"
|
|
||||||
schedule: "予約"
|
|
||||||
scheduled: "予約"
|
|
||||||
widgets: "ウィジェット"
|
|
||||||
deviceInfo: "デバイス情報"
|
|
||||||
deviceInfoDescription: "技術的なお問い合わせの際に、以下の情報を併記すると問題の解決に役立つことがあります。"
|
|
||||||
youAreAdmin: "あなたは管理者です"
|
|
||||||
frame: "フレーム"
|
|
||||||
presets: "プリセット"
|
|
||||||
zeroPadding: "ゼロ埋め"
|
|
||||||
nothingToConfigure: "設定項目はありません"
|
|
||||||
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
caption: "ファイルのキャプション"
|
|
||||||
filename: "ファイル名"
|
|
||||||
filename_without_ext: "拡張子無しファイル名"
|
|
||||||
year: "撮影年"
|
|
||||||
month: "撮影月"
|
|
||||||
day: "撮影日"
|
|
||||||
hour: "撮影した時刻(時)"
|
|
||||||
minute: "撮影した時刻(分)"
|
|
||||||
second: "撮影した時刻(秒)"
|
|
||||||
camera_model: "カメラ名"
|
|
||||||
camera_lens_model: "レンズ名"
|
|
||||||
camera_mm: "焦点距離"
|
|
||||||
camera_mm_35: "焦点距離(35mm判換算)"
|
|
||||||
camera_f: "絞り"
|
|
||||||
camera_s: "シャッタースピード"
|
|
||||||
camera_iso: "ISO感度"
|
|
||||||
gps_lat: "緯度"
|
|
||||||
gps_long: "経度"
|
|
||||||
|
|
||||||
_imageFrameEditor:
|
|
||||||
title: "フレームの編集"
|
|
||||||
tip: "画像にフレームやメタデータを含んだラベルを追加して装飾できます。"
|
|
||||||
header: "ヘッダー"
|
|
||||||
footer: "フッター"
|
|
||||||
borderThickness: "フチの幅"
|
|
||||||
labelThickness: "ラベルの幅"
|
|
||||||
labelScale: "ラベルのスケール"
|
|
||||||
centered: "中央揃え"
|
|
||||||
captionMain: "キャプション(大)"
|
|
||||||
captionSub: "キャプション(小)"
|
|
||||||
availableVariables: "利用可能な変数"
|
|
||||||
withQrCode: "二次元コード"
|
|
||||||
backgroundColor: "背景色"
|
|
||||||
textColor: "文字色"
|
|
||||||
font: "フォント"
|
|
||||||
fontSerif: "セリフ"
|
|
||||||
fontSansSerif: "サンセリフ"
|
|
||||||
quitWithoutSaveConfirm: "保存せずに終了しますか?"
|
|
||||||
failedToLoadImage: "画像の読み込みに失敗しました"
|
|
||||||
|
|
||||||
_compression:
|
|
||||||
_quality:
|
|
||||||
high: "高品質"
|
|
||||||
medium: "中品質"
|
|
||||||
low: "低品質"
|
|
||||||
_size:
|
|
||||||
large: "サイズ大"
|
|
||||||
medium: "サイズ中"
|
|
||||||
small: "サイズ小"
|
|
||||||
|
|
||||||
_order:
|
_order:
|
||||||
newest: "新しい順"
|
newest: "新しい順"
|
||||||
oldest: "古い順"
|
oldest: "古い順"
|
||||||
|
|
||||||
_chat:
|
_chat:
|
||||||
messages: "メッセージ"
|
|
||||||
noMessagesYet: "まだメッセージはありません"
|
noMessagesYet: "まだメッセージはありません"
|
||||||
newMessage: "新しいメッセージ"
|
newMessage: "新しいメッセージ"
|
||||||
individualChat: "個別"
|
individualChat: "個人チャット"
|
||||||
individualChat_description: "特定ユーザーと個別にメッセージのやりとりができます。"
|
individualChat_description: "特定ユーザーとの一対一のチャットができます。"
|
||||||
roomChat: "グループ"
|
roomChat: "ルームチャット"
|
||||||
roomChat_description: "複数人でメッセージのやりとりができます。\nまた、個別のメッセージを許可していないユーザーとでも、相手が受け入れればやりとりできます。"
|
roomChat_description: "複数人でのチャットができます。\nまた、個人チャットを許可していないユーザーとでも、相手が受け入れればチャットができます。"
|
||||||
createRoom: "グループを作成"
|
createRoom: "ルームを作成"
|
||||||
inviteUserToChat: "ユーザーを招待してメッセージを送信しましょう"
|
inviteUserToChat: "ユーザーを招待してチャットを始めましょう"
|
||||||
yourRooms: "作成したグループ"
|
yourRooms: "作成したルーム"
|
||||||
joiningRooms: "参加中のグループ"
|
joiningRooms: "参加中のルーム"
|
||||||
invitations: "招待"
|
invitations: "招待"
|
||||||
noInvitations: "招待はありません"
|
noInvitations: "招待はありません"
|
||||||
history: "履歴"
|
history: "履歴"
|
||||||
noHistory: "履歴はありません"
|
noHistory: "履歴はありません"
|
||||||
noRooms: "グループはありません"
|
noRooms: "ルームはありません"
|
||||||
inviteUser: "ユーザーを招待"
|
inviteUser: "ユーザーを招待"
|
||||||
sentInvitations: "送信した招待"
|
sentInvitations: "送信した招待"
|
||||||
join: "参加"
|
join: "参加"
|
||||||
ignore: "無視"
|
ignore: "無視"
|
||||||
leave: "グループから退出"
|
leave: "ルームから退出"
|
||||||
members: "メンバー"
|
members: "メンバー"
|
||||||
searchMessages: "メッセージを検索"
|
searchMessages: "メッセージを検索"
|
||||||
home: "ホーム"
|
home: "ホーム"
|
||||||
send: "送信"
|
send: "送信"
|
||||||
newline: "改行"
|
newline: "改行"
|
||||||
muteThisRoom: "このグループをミュート"
|
muteThisRoom: "このルームをミュート"
|
||||||
deleteRoom: "グループを削除"
|
deleteRoom: "ルームを削除"
|
||||||
chatNotAvailableForThisAccountOrServer: "このサーバー、またはこのアカウントでダイレクトメッセージは有効化されていません。"
|
chatNotAvailableForThisAccountOrServer: "このサーバー、またはこのアカウントでチャットは有効化されていません。"
|
||||||
chatIsReadOnlyForThisAccountOrServer: "このサーバー、またはこのアカウントでダイレクトメッセージは読み取り専用となっています。新たに書き込んだり、グループを作成・参加したりすることはできません。"
|
chatIsReadOnlyForThisAccountOrServer: "このサーバー、またはこのアカウントでチャットは読み取り専用となっています。新たに書き込んだり、チャットルームを作成・参加したりすることはできません。"
|
||||||
chatNotAvailableInOtherAccount: "相手のアカウントでダイレクトメッセージが使えない状態になっています。"
|
chatNotAvailableInOtherAccount: "相手のアカウントでチャット機能が使えない状態になっています。"
|
||||||
cannotChatWithTheUser: "このユーザーとのダイレクトメッセージを開始できません"
|
cannotChatWithTheUser: "このユーザーとのチャットを開始できません"
|
||||||
cannotChatWithTheUser_description: "ダイレクトメッセージが使えない状態になっているか、相手がダイレクトメッセージを開放していません。"
|
cannotChatWithTheUser_description: "チャットが使えない状態になっているか、相手がチャットを開放していません。"
|
||||||
youAreNotAMemberOfThisRoomButInvited: "あなたはこのグループの参加者ではありませんが、招待が届いています。参加するには、招待を承認してください。"
|
youAreNotAMemberOfThisRoomButInvited: "あなたはこのルームの参加者ではありませんが、招待が届いています。参加するには、招待を承認してください。"
|
||||||
doYouAcceptInvitation: "招待を承認しますか?"
|
doYouAcceptInvitation: "招待を承認しますか?"
|
||||||
chatWithThisUser: "ダイレクトメッセージ"
|
chatWithThisUser: "チャットする"
|
||||||
thisUserAllowsChatOnlyFromFollowers: "このユーザーはフォロワーからのみメッセージを受け付けています。"
|
thisUserAllowsChatOnlyFromFollowers: "このユーザーはフォロワーからのみチャットを受け付けています。"
|
||||||
thisUserAllowsChatOnlyFromFollowing: "このユーザーは、このユーザーがフォローしているユーザーからのみメッセージを受け付けています。"
|
thisUserAllowsChatOnlyFromFollowing: "このユーザーは、このユーザーがフォローしているユーザーからのみチャットを受け付けています。"
|
||||||
thisUserAllowsChatOnlyFromMutualFollowing: "このユーザーは相互フォローのユーザーからのみメッセージを受け付けています。"
|
thisUserAllowsChatOnlyFromMutualFollowing: "このユーザーは相互フォローのユーザーからのみチャットを受け付けています。"
|
||||||
thisUserNotAllowedChatAnyone: "このユーザーは誰からもメッセージを受け付けていません。"
|
thisUserNotAllowedChatAnyone: "このユーザーは誰からもチャットを受け付けていません。"
|
||||||
chatAllowedUsers: "メッセージを許可する相手"
|
chatAllowedUsers: "チャットを許可する相手"
|
||||||
chatAllowedUsers_note: "自分からメッセージを送った相手とはこの設定に関わらずメッセージの送受信が可能です。"
|
chatAllowedUsers_note: "自分からチャットメッセージを送った相手とはこの設定に関わらずチャットが可能です。"
|
||||||
_chatAllowedUsers:
|
_chatAllowedUsers:
|
||||||
everyone: "誰でも"
|
everyone: "誰でも"
|
||||||
followers: "自分のフォロワーのみ"
|
followers: "自分のフォロワーのみ"
|
||||||
|
|
@ -1556,12 +1463,6 @@ _settings:
|
||||||
contentsUpdateFrequency_description2: "リアルタイムモードがオンのときは、この設定に関わらずリアルタイムでコンテンツが更新されます。"
|
contentsUpdateFrequency_description2: "リアルタイムモードがオンのときは、この設定に関わらずリアルタイムでコンテンツが更新されます。"
|
||||||
showUrlPreview: "URLプレビューを表示する"
|
showUrlPreview: "URLプレビューを表示する"
|
||||||
showAvailableReactionsFirstInNote: "利用できるリアクションを先頭に表示"
|
showAvailableReactionsFirstInNote: "利用できるリアクションを先頭に表示"
|
||||||
showPageTabBarBottom: "ページのタブバーを下部に表示"
|
|
||||||
emojiPaletteBanner: "絵文字ピッカーに固定表示するプリセットをパレットとして登録したり、ピッカーの表示方法をカスタマイズしたりできます。"
|
|
||||||
enableAnimatedImages: "アニメーション画像を有効にする"
|
|
||||||
settingsPersistence_title: "設定の永続化"
|
|
||||||
settingsPersistence_description1: "設定の永続化を有効にすると、設定情報が失われるのを防止できます。"
|
|
||||||
settingsPersistence_description2: "環境によっては有効化できない場合があります。"
|
|
||||||
|
|
||||||
_chat:
|
_chat:
|
||||||
showSenderName: "送信者の名前を表示"
|
showSenderName: "送信者の名前を表示"
|
||||||
|
|
@ -1572,8 +1473,6 @@ _preferencesProfile:
|
||||||
profileNameDescription: "このデバイスを識別する名前を設定してください。"
|
profileNameDescription: "このデバイスを識別する名前を設定してください。"
|
||||||
profileNameDescription2: "例: 「メインPC」、「スマホ」など"
|
profileNameDescription2: "例: 「メインPC」、「スマホ」など"
|
||||||
manageProfiles: "プロファイルの管理"
|
manageProfiles: "プロファイルの管理"
|
||||||
shareSameProfileBetweenDevicesIsNotRecommended: "複数のデバイスで同一のプロファイルを共有することは推奨しません。"
|
|
||||||
useSyncBetweenDevicesOptionIfYouWantToSyncSetting: "複数のデバイスで同期したい設定項目が存在する場合は、個別に「複数のデバイスで同期」オプションを有効にしてください。"
|
|
||||||
|
|
||||||
_preferencesBackup:
|
_preferencesBackup:
|
||||||
autoBackup: "自動バックアップ"
|
autoBackup: "自動バックアップ"
|
||||||
|
|
@ -1584,7 +1483,6 @@ _preferencesBackup:
|
||||||
youNeedToNameYourProfileToEnableAutoBackup: "自動バックアップを有効にするにはプロファイル名の設定が必要です。"
|
youNeedToNameYourProfileToEnableAutoBackup: "自動バックアップを有効にするにはプロファイル名の設定が必要です。"
|
||||||
autoPreferencesBackupIsNotEnabledForThisDevice: "このデバイスで設定の自動バックアップは有効になっていません。"
|
autoPreferencesBackupIsNotEnabledForThisDevice: "このデバイスで設定の自動バックアップは有効になっていません。"
|
||||||
backupFound: "設定のバックアップが見つかりました"
|
backupFound: "設定のバックアップが見つかりました"
|
||||||
forceBackup: "設定の強制バックアップ"
|
|
||||||
|
|
||||||
_accountSettings:
|
_accountSettings:
|
||||||
requireSigninToViewContents: "コンテンツの表示にログインを必須にする"
|
requireSigninToViewContents: "コンテンツの表示にログインを必須にする"
|
||||||
|
|
@ -1705,9 +1603,9 @@ _initialTutorial:
|
||||||
public: "すべてのユーザーに公開。"
|
public: "すべてのユーザーに公開。"
|
||||||
home: "ホームタイムラインのみに公開。フォロワー・プロフィールを見に来た人・リノートから、他のユーザーも見ることができます。"
|
home: "ホームタイムラインのみに公開。フォロワー・プロフィールを見に来た人・リノートから、他のユーザーも見ることができます。"
|
||||||
followers: "フォロワーにのみ公開。本人以外がリノートすることはできず、またフォロワー以外は閲覧できません。"
|
followers: "フォロワーにのみ公開。本人以外がリノートすることはできず、またフォロワー以外は閲覧できません。"
|
||||||
direct: "指定したユーザーにのみ公開され、また相手に通知が入ります。"
|
direct: "指定したユーザーにのみ公開され、また相手に通知が入ります。ダイレクトメッセージのかわりにお使いいただけます。"
|
||||||
doNotSendConfidencialOnDirect1: "機密情報は送信する際は注意してください。"
|
doNotSendConfidencialOnDirect1: "機密情報は送信する際は注意してください。"
|
||||||
doNotSendConfidencialOnDirect2: "送信先のサーバーの管理者は投稿内容を見ることが可能なので、信頼できないサーバーのユーザーが含まれる限定公開のノートを作成する際は、機密情報の扱いに注意が必要です。"
|
doNotSendConfidencialOnDirect2: "送信先のサーバーの管理者は投稿内容を見ることが可能なので、信頼できないサーバーのユーザーにダイレクト投稿を送信する場合は、機密情報の扱いに注意が必要です。"
|
||||||
localOnly: "他のサーバーに投稿を連合しません。上記の公開範囲に関わらず、他のサーバーのユーザーは、この設定がついたノートを直接閲覧することができなくなります。"
|
localOnly: "他のサーバーに投稿を連合しません。上記の公開範囲に関わらず、他のサーバーのユーザーは、この設定がついたノートを直接閲覧することができなくなります。"
|
||||||
_cw:
|
_cw:
|
||||||
title: "内容を隠す(CW)"
|
title: "内容を隠す(CW)"
|
||||||
|
|
@ -1751,10 +1649,6 @@ _serverSettings:
|
||||||
fanoutTimelineDbFallback: "データベースへのフォールバック"
|
fanoutTimelineDbFallback: "データベースへのフォールバック"
|
||||||
fanoutTimelineDbFallbackDescription: "有効にすると、タイムラインがキャッシュされていない場合にDBへ追加で問い合わせを行うフォールバック処理を行います。無効にすると、フォールバック処理を行わないことでさらにサーバーの負荷を軽減することができますが、タイムラインが取得できる範囲に制限が生じます。"
|
fanoutTimelineDbFallbackDescription: "有効にすると、タイムラインがキャッシュされていない場合にDBへ追加で問い合わせを行うフォールバック処理を行います。無効にすると、フォールバック処理を行わないことでさらにサーバーの負荷を軽減することができますが、タイムラインが取得できる範囲に制限が生じます。"
|
||||||
reactionsBufferingDescription: "有効にすると、リアクション作成時のパフォーマンスが大幅に向上し、データベースへの負荷を軽減することが可能です。ただし、Redisのメモリ使用量は増加します。"
|
reactionsBufferingDescription: "有効にすると、リアクション作成時のパフォーマンスが大幅に向上し、データベースへの負荷を軽減することが可能です。ただし、Redisのメモリ使用量は増加します。"
|
||||||
remoteNotesCleaning: "リモート投稿の自動クリーニング"
|
|
||||||
remoteNotesCleaning_description: "有効にすると、一定期間経過したリモートの投稿を定期的にクリーンアップしてデータベースの肥大化を抑制します。"
|
|
||||||
remoteNotesCleaningMaxProcessingDuration: "最大クリーニング処理継続時間"
|
|
||||||
remoteNotesCleaningExpiryDaysForEachNotes: "最低ノート保持日数"
|
|
||||||
inquiryUrl: "問い合わせ先URL"
|
inquiryUrl: "問い合わせ先URL"
|
||||||
inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定します。"
|
inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定します。"
|
||||||
openRegistration: "アカウントの作成をオープンにする"
|
openRegistration: "アカウントの作成をオープンにする"
|
||||||
|
|
@ -1773,11 +1667,6 @@ _serverSettings:
|
||||||
userGeneratedContentsVisibilityForVisitor: "非利用者に対するユーザー作成コンテンツの公開範囲"
|
userGeneratedContentsVisibilityForVisitor: "非利用者に対するユーザー作成コンテンツの公開範囲"
|
||||||
userGeneratedContentsVisibilityForVisitor_description: "モデレーションが行き届きにくい不適切なリモートコンテンツなどが、自サーバー経由で図らずもインターネットに公開されてしまうことによるトラブル防止などに役立ちます。"
|
userGeneratedContentsVisibilityForVisitor_description: "モデレーションが行き届きにくい不適切なリモートコンテンツなどが、自サーバー経由で図らずもインターネットに公開されてしまうことによるトラブル防止などに役立ちます。"
|
||||||
userGeneratedContentsVisibilityForVisitor_description2: "サーバーで受信したリモートのコンテンツを含め、サーバー内の全てのコンテンツを無条件でインターネットに公開することはリスクが伴います。特に、分散型の特性を知らない閲覧者にとっては、リモートのコンテンツであってもサーバー内で作成されたコンテンツであると誤って認識してしまう可能性があるため、注意が必要です。"
|
userGeneratedContentsVisibilityForVisitor_description2: "サーバーで受信したリモートのコンテンツを含め、サーバー内の全てのコンテンツを無条件でインターネットに公開することはリスクが伴います。特に、分散型の特性を知らない閲覧者にとっては、リモートのコンテンツであってもサーバー内で作成されたコンテンツであると誤って認識してしまう可能性があるため、注意が必要です。"
|
||||||
restartServerSetupWizardConfirm_title: "サーバーの初期設定ウィザードをやり直しますか?"
|
|
||||||
restartServerSetupWizardConfirm_text: "現在の一部の設定はリセットされます。"
|
|
||||||
entrancePageStyle: "エントランスページのスタイル"
|
|
||||||
showTimelineForVisitor: "タイムラインを表示する"
|
|
||||||
showActivitiesForVisitor: "アクティビティを表示する"
|
|
||||||
|
|
||||||
_userGeneratedContentsVisibilityForVisitor:
|
_userGeneratedContentsVisibilityForVisitor:
|
||||||
all: "全て公開"
|
all: "全て公開"
|
||||||
|
|
@ -2104,7 +1993,6 @@ _role:
|
||||||
canManageAvatarDecorations: "アバターデコレーションの管理"
|
canManageAvatarDecorations: "アバターデコレーションの管理"
|
||||||
driveCapacity: "ドライブ容量"
|
driveCapacity: "ドライブ容量"
|
||||||
maxFileSize: "アップロード可能な最大ファイルサイズ"
|
maxFileSize: "アップロード可能な最大ファイルサイズ"
|
||||||
maxFileSize_caption: "リバースプロキシやCDNなど、前段で別の設定値が存在する場合があります。"
|
|
||||||
alwaysMarkNsfw: "ファイルにNSFWを常に付与"
|
alwaysMarkNsfw: "ファイルにNSFWを常に付与"
|
||||||
canUpdateBioMedia: "アイコンとバナーの更新を許可"
|
canUpdateBioMedia: "アイコンとバナーの更新を許可"
|
||||||
pinMax: "ノートのピン留めの最大数"
|
pinMax: "ノートのピン留めの最大数"
|
||||||
|
|
@ -2119,7 +2007,6 @@ _role:
|
||||||
descriptionOfRateLimitFactor: "小さいほど制限が緩和され、大きいほど制限が強化されます。"
|
descriptionOfRateLimitFactor: "小さいほど制限が緩和され、大きいほど制限が強化されます。"
|
||||||
canHideAds: "広告の非表示"
|
canHideAds: "広告の非表示"
|
||||||
canSearchNotes: "ノート検索の利用"
|
canSearchNotes: "ノート検索の利用"
|
||||||
canSearchUsers: "ユーザー検索の利用"
|
|
||||||
canUseTranslator: "翻訳機能の利用"
|
canUseTranslator: "翻訳機能の利用"
|
||||||
avatarDecorationLimit: "アイコンデコレーションの最大取付個数"
|
avatarDecorationLimit: "アイコンデコレーションの最大取付個数"
|
||||||
canImportAntennas: "アンテナのインポートを許可"
|
canImportAntennas: "アンテナのインポートを許可"
|
||||||
|
|
@ -2127,13 +2014,11 @@ _role:
|
||||||
canImportFollowing: "フォローのインポートを許可"
|
canImportFollowing: "フォローのインポートを許可"
|
||||||
canImportMuting: "ミュートのインポートを許可"
|
canImportMuting: "ミュートのインポートを許可"
|
||||||
canImportUserLists: "リストのインポートを許可"
|
canImportUserLists: "リストのインポートを許可"
|
||||||
chatAvailability: "ダイレクトメッセージを許可"
|
chatAvailability: "チャットを許可"
|
||||||
uploadableFileTypes: "アップロード可能なファイル種別"
|
uploadableFileTypes: "アップロード可能なファイル種別"
|
||||||
uploadableFileTypes_caption: "MIMEタイプを指定します。改行で区切って複数指定できるほか、アスタリスク(*)でワイルドカード指定できます。(例: image/*)"
|
uploadableFileTypes_caption: "MIMEタイプを指定します。改行で区切って複数指定できるほか、アスタリスク(*)でワイルドカード指定できます。(例: image/*)"
|
||||||
uploadableFileTypes_caption2: "ファイルによっては種別を判定できないことがあります。そのようなファイルを許可する場合は {x} を指定に追加してください。"
|
uploadableFileTypes_caption2: "ファイルによっては種別を判定できないことがあります。そのようなファイルを許可する場合は {x} を指定に追加してください。"
|
||||||
noteDraftLimit: "サーバーサイドのノートの下書きの作成可能数"
|
noteDraftLimit: "サーバーサイドのノートの下書きの作成可能数"
|
||||||
scheduledNoteLimit: "予約投稿の同時作成可能数"
|
|
||||||
watermarkAvailable: "ウォーターマーク機能の使用可否"
|
|
||||||
_condition:
|
_condition:
|
||||||
roleAssignedTo: "マニュアルロールにアサイン済み"
|
roleAssignedTo: "マニュアルロールにアサイン済み"
|
||||||
isLocal: "ローカルユーザー"
|
isLocal: "ローカルユーザー"
|
||||||
|
|
@ -2375,7 +2260,7 @@ _theme:
|
||||||
buttonHoverBg: "ボタンの背景 (ホバー)"
|
buttonHoverBg: "ボタンの背景 (ホバー)"
|
||||||
inputBorder: "入力ボックスの縁取り"
|
inputBorder: "入力ボックスの縁取り"
|
||||||
badge: "バッジ"
|
badge: "バッジ"
|
||||||
messageBg: "メッセージの背景"
|
messageBg: "チャットの背景"
|
||||||
fgHighlighted: "強調された文字"
|
fgHighlighted: "強調された文字"
|
||||||
|
|
||||||
_sfx:
|
_sfx:
|
||||||
|
|
@ -2383,7 +2268,7 @@ _sfx:
|
||||||
noteMy: "ノート(自分)"
|
noteMy: "ノート(自分)"
|
||||||
notification: "通知"
|
notification: "通知"
|
||||||
reaction: "リアクション選択時"
|
reaction: "リアクション選択時"
|
||||||
chatMessage: "ダイレクトメッセージ"
|
chatMessage: "チャットのメッセージ"
|
||||||
|
|
||||||
_soundSettings:
|
_soundSettings:
|
||||||
driveFile: "ドライブの音声を使用"
|
driveFile: "ドライブの音声を使用"
|
||||||
|
|
@ -2420,7 +2305,6 @@ _time:
|
||||||
minute: "分"
|
minute: "分"
|
||||||
hour: "時間"
|
hour: "時間"
|
||||||
day: "日"
|
day: "日"
|
||||||
month: "ヶ月"
|
|
||||||
|
|
||||||
_2fa:
|
_2fa:
|
||||||
alreadyRegistered: "既に設定は完了しています。"
|
alreadyRegistered: "既に設定は完了しています。"
|
||||||
|
|
@ -2463,8 +2347,8 @@ _permissions:
|
||||||
"write:favorites": "お気に入りを操作する"
|
"write:favorites": "お気に入りを操作する"
|
||||||
"read:following": "フォローの情報を見る"
|
"read:following": "フォローの情報を見る"
|
||||||
"write:following": "フォロー・フォロー解除する"
|
"write:following": "フォロー・フォロー解除する"
|
||||||
"read:messaging": "ダイレクトメッセージを見る"
|
"read:messaging": "チャットを見る"
|
||||||
"write:messaging": "ダイレクトメッセージを操作する"
|
"write:messaging": "チャットを操作する"
|
||||||
"read:mutes": "ミュートを見る"
|
"read:mutes": "ミュートを見る"
|
||||||
"write:mutes": "ミュートを操作する"
|
"write:mutes": "ミュートを操作する"
|
||||||
"write:notes": "ノートを作成・削除する"
|
"write:notes": "ノートを作成・削除する"
|
||||||
|
|
@ -2537,8 +2421,8 @@ _permissions:
|
||||||
"read:clip-favorite": "クリップのいいねを見る"
|
"read:clip-favorite": "クリップのいいねを見る"
|
||||||
"read:federation": "連合に関する情報を取得する"
|
"read:federation": "連合に関する情報を取得する"
|
||||||
"write:report-abuse": "違反を報告する"
|
"write:report-abuse": "違反を報告する"
|
||||||
"write:chat": "ダイレクトメッセージを操作する"
|
"write:chat": "チャットを操作する"
|
||||||
"read:chat": "ダイレクトメッセージを閲覧する"
|
"read:chat": "チャットを閲覧する"
|
||||||
|
|
||||||
_auth:
|
_auth:
|
||||||
shareAccessTitle: "アプリへのアクセス許可"
|
shareAccessTitle: "アプリへのアクセス許可"
|
||||||
|
|
@ -2553,7 +2437,6 @@ _auth:
|
||||||
scopeUser: "以下のユーザーとして操作しています"
|
scopeUser: "以下のユーザーとして操作しています"
|
||||||
pleaseLogin: "アプリケーションにアクセス許可を与えるには、ログインが必要です。"
|
pleaseLogin: "アプリケーションにアクセス許可を与えるには、ログインが必要です。"
|
||||||
byClickingYouWillBeRedirectedToThisUrl: "アクセスを許可すると、自動で以下のURLに遷移します"
|
byClickingYouWillBeRedirectedToThisUrl: "アクセスを許可すると、自動で以下のURLに遷移します"
|
||||||
alreadyAuthorized: "このアプリケーションは既にアクセスが許可されています。"
|
|
||||||
|
|
||||||
_antennaSources:
|
_antennaSources:
|
||||||
all: "全てのノート"
|
all: "全てのノート"
|
||||||
|
|
@ -2601,47 +2484,8 @@ _widgets:
|
||||||
_userList:
|
_userList:
|
||||||
chooseList: "リストを選択"
|
chooseList: "リストを選択"
|
||||||
clicker: "クリッカー"
|
clicker: "クリッカー"
|
||||||
birthdayFollowings: "もうすぐ誕生日のユーザー"
|
birthdayFollowings: "今日誕生日のユーザー"
|
||||||
chat: "ダイレクトメッセージ"
|
chat: "チャット"
|
||||||
|
|
||||||
_widgetOptions:
|
|
||||||
showHeader: "ヘッダーを表示"
|
|
||||||
transparent: "背景を透明にする"
|
|
||||||
height: "高さ"
|
|
||||||
_button:
|
|
||||||
colored: "色付き"
|
|
||||||
_clock:
|
|
||||||
size: "サイズ"
|
|
||||||
thickness: "針の太さ"
|
|
||||||
thicknessThin: "細い"
|
|
||||||
thicknessMedium: "普通"
|
|
||||||
thicknessThick: "太い"
|
|
||||||
graduations: "文字盤の目盛り"
|
|
||||||
graduationDots: "ドット"
|
|
||||||
graduationArabic: "アラビア数字"
|
|
||||||
fadeGraduations: "目盛りをフェード"
|
|
||||||
sAnimation: "秒針のアニメーション"
|
|
||||||
sAnimationElastic: "リアル"
|
|
||||||
sAnimationEaseOut: "滑らか"
|
|
||||||
twentyFour: "24時間表示"
|
|
||||||
labelTime: "時刻"
|
|
||||||
labelTz: "タイムゾーン"
|
|
||||||
labelTimeAndTz: "時刻とタイムゾーン"
|
|
||||||
timezone: "タイムゾーン"
|
|
||||||
showMs: "ミリ秒を表示"
|
|
||||||
showLabel: "ラベルを表示"
|
|
||||||
_jobQueue:
|
|
||||||
sound: "音を鳴らす"
|
|
||||||
_rss:
|
|
||||||
url: "RSSフィードのURL"
|
|
||||||
refreshIntervalSec: "更新間隔(秒)"
|
|
||||||
maxEntries: "最大表示件数"
|
|
||||||
_rssTicker:
|
|
||||||
shuffle: "表示順をシャッフル"
|
|
||||||
duration: "ティッカーのスクロール速度(秒)"
|
|
||||||
reverse: "逆方向にスクロール"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "期間"
|
|
||||||
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "隠す"
|
hide: "隠す"
|
||||||
|
|
@ -2679,7 +2523,7 @@ _visibility:
|
||||||
homeDescription: "ホームタイムラインのみに公開"
|
homeDescription: "ホームタイムラインのみに公開"
|
||||||
followers: "フォロワー"
|
followers: "フォロワー"
|
||||||
followersDescription: "自分のフォロワーのみに公開"
|
followersDescription: "自分のフォロワーのみに公開"
|
||||||
specified: "指名"
|
specified: "ダイレクト"
|
||||||
specifiedDescription: "指定したユーザーのみに公開"
|
specifiedDescription: "指定したユーザーのみに公開"
|
||||||
disableFederation: "連合なし"
|
disableFederation: "連合なし"
|
||||||
disableFederationDescription: "他サーバーへの配信を行いません"
|
disableFederationDescription: "他サーバーへの配信を行いません"
|
||||||
|
|
@ -2690,20 +2534,6 @@ _postForm:
|
||||||
replyPlaceholder: "このノートに返信..."
|
replyPlaceholder: "このノートに返信..."
|
||||||
quotePlaceholder: "このノートを引用..."
|
quotePlaceholder: "このノートを引用..."
|
||||||
channelPlaceholder: "チャンネルに投稿..."
|
channelPlaceholder: "チャンネルに投稿..."
|
||||||
showHowToUse: "フォームの説明を表示"
|
|
||||||
_howToUse:
|
|
||||||
content_title: "本文"
|
|
||||||
content_description: "投稿する内容を入力します。"
|
|
||||||
toolbar_title: "ツールバー"
|
|
||||||
toolbar_description: "ファイルやアンケートの添付、注釈やハッシュタグの設定、絵文字やメンションの挿入などが行えます。"
|
|
||||||
account_title: "アカウントメニュー"
|
|
||||||
account_description: "投稿するアカウントを切り替えたり、アカウントに保存した下書き・予約投稿を一覧できます。"
|
|
||||||
visibility_title: "公開範囲"
|
|
||||||
visibility_description: "ノートを公開する範囲の設定が行えます。"
|
|
||||||
menu_title: "メニュー"
|
|
||||||
menu_description: "下書きへの保存、投稿の予約、リアクションの設定など、その他のアクションが行えます。"
|
|
||||||
submit_title: "投稿ボタン"
|
|
||||||
submit_description: "ノートを投稿します。Ctrl + Enter / Cmd + Enter でも投稿できます。"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "いまどうしてる?"
|
a: "いまどうしてる?"
|
||||||
b: "何かありましたか?"
|
b: "何かありましたか?"
|
||||||
|
|
@ -2859,12 +2689,10 @@ _notification:
|
||||||
youReceivedFollowRequest: "フォローリクエストが来ました"
|
youReceivedFollowRequest: "フォローリクエストが来ました"
|
||||||
yourFollowRequestAccepted: "フォローリクエストが承認されました"
|
yourFollowRequestAccepted: "フォローリクエストが承認されました"
|
||||||
pollEnded: "アンケートの結果が出ました"
|
pollEnded: "アンケートの結果が出ました"
|
||||||
scheduledNotePosted: "予約ノートが投稿されました"
|
|
||||||
scheduledNotePostFailed: "予約ノートの投稿に失敗しました"
|
|
||||||
newNote: "新しい投稿"
|
newNote: "新しい投稿"
|
||||||
unreadAntennaNote: "アンテナ {name}"
|
unreadAntennaNote: "アンテナ {name}"
|
||||||
roleAssigned: "ロールが付与されました"
|
roleAssigned: "ロールが付与されました"
|
||||||
chatRoomInvitationReceived: "ダイレクトメッセージのグループへ招待されました"
|
chatRoomInvitationReceived: "チャットルームへ招待されました"
|
||||||
emptyPushNotificationMessage: "プッシュ通知の更新をしました"
|
emptyPushNotificationMessage: "プッシュ通知の更新をしました"
|
||||||
achievementEarned: "実績を獲得"
|
achievementEarned: "実績を獲得"
|
||||||
testNotification: "通知テスト"
|
testNotification: "通知テスト"
|
||||||
|
|
@ -2891,12 +2719,10 @@ _notification:
|
||||||
quote: "引用"
|
quote: "引用"
|
||||||
reaction: "リアクション"
|
reaction: "リアクション"
|
||||||
pollEnded: "アンケートが終了"
|
pollEnded: "アンケートが終了"
|
||||||
scheduledNotePosted: "予約投稿が成功した"
|
|
||||||
scheduledNotePostFailed: "予約投稿が失敗した"
|
|
||||||
receiveFollowRequest: "フォロー申請を受け取った"
|
receiveFollowRequest: "フォロー申請を受け取った"
|
||||||
followRequestAccepted: "フォローが受理された"
|
followRequestAccepted: "フォローが受理された"
|
||||||
roleAssigned: "ロールが付与された"
|
roleAssigned: "ロールが付与された"
|
||||||
chatRoomInvitationReceived: "ダイレクトメッセージのグループへ招待された"
|
chatRoomInvitationReceived: "チャットルームへ招待された"
|
||||||
achievementEarned: "実績の獲得"
|
achievementEarned: "実績の獲得"
|
||||||
exportCompleted: "エクスポートが完了した"
|
exportCompleted: "エクスポートが完了した"
|
||||||
login: "ログイン"
|
login: "ログイン"
|
||||||
|
|
@ -2934,15 +2760,6 @@ _deck:
|
||||||
usedAsMinWidthWhenFlexible: "「幅を自動調整」が有効の場合、これが幅の最小値となります"
|
usedAsMinWidthWhenFlexible: "「幅を自動調整」が有効の場合、これが幅の最小値となります"
|
||||||
flexible: "幅を自動調整"
|
flexible: "幅を自動調整"
|
||||||
enableSyncBetweenDevicesForProfiles: "プロファイル情報のデバイス間同期を有効にする"
|
enableSyncBetweenDevicesForProfiles: "プロファイル情報のデバイス間同期を有効にする"
|
||||||
showHowToUse: "UIの説明を見る"
|
|
||||||
|
|
||||||
_howToUse:
|
|
||||||
addColumn_title: "カラム追加"
|
|
||||||
addColumn_description: "カラムの種類を選んで追加できます。"
|
|
||||||
settings_title: "UI設定"
|
|
||||||
settings_description: "デッキUIの詳細設定を行えます。"
|
|
||||||
switchProfile_title: "プロファイル切り替え"
|
|
||||||
switchProfile_description: "UIのレイアウトをプロファイルとして保存し、いつでも切り替えられるようにできます。"
|
|
||||||
|
|
||||||
_columns:
|
_columns:
|
||||||
main: "メイン"
|
main: "メイン"
|
||||||
|
|
@ -2952,10 +2769,10 @@ _deck:
|
||||||
antenna: "アンテナ"
|
antenna: "アンテナ"
|
||||||
list: "リスト"
|
list: "リスト"
|
||||||
channel: "チャンネル"
|
channel: "チャンネル"
|
||||||
mentions: "メンション"
|
mentions: "あなた宛て"
|
||||||
direct: "指名"
|
direct: "ダイレクト"
|
||||||
roleTimeline: "ロールタイムライン"
|
roleTimeline: "ロールタイムライン"
|
||||||
chat: "ダイレクトメッセージ"
|
chat: "チャット"
|
||||||
|
|
||||||
_dialog:
|
_dialog:
|
||||||
charactersExceeded: "最大文字数を超えています! 現在 {current} / 制限 {max}"
|
charactersExceeded: "最大文字数を超えています! 現在 {current} / 制限 {max}"
|
||||||
|
|
@ -3010,8 +2827,6 @@ _abuseReport:
|
||||||
deleteConfirm: "通知先を削除しますか?"
|
deleteConfirm: "通知先を削除しますか?"
|
||||||
|
|
||||||
_moderationLogTypes:
|
_moderationLogTypes:
|
||||||
clearQueue: "ジョブキューをクリア"
|
|
||||||
promoteQueue: "キューのジョブを再試行"
|
|
||||||
createRole: "ロールを作成"
|
createRole: "ロールを作成"
|
||||||
deleteRole: "ロールを削除"
|
deleteRole: "ロールを削除"
|
||||||
updateRole: "ロールを更新"
|
updateRole: "ロールを更新"
|
||||||
|
|
@ -3060,7 +2875,7 @@ _moderationLogTypes:
|
||||||
deletePage: "ページを削除"
|
deletePage: "ページを削除"
|
||||||
deleteFlash: "Playを削除"
|
deleteFlash: "Playを削除"
|
||||||
deleteGalleryPost: "ギャラリーの投稿を削除"
|
deleteGalleryPost: "ギャラリーの投稿を削除"
|
||||||
deleteChatRoom: "ダイレクトメッセージのグループを削除"
|
deleteChatRoom: "チャットルームを削除"
|
||||||
updateProxyAccountDescription: "プロキシアカウントの説明を更新"
|
updateProxyAccountDescription: "プロキシアカウントの説明を更新"
|
||||||
|
|
||||||
_fileViewer:
|
_fileViewer:
|
||||||
|
|
@ -3070,7 +2885,6 @@ _fileViewer:
|
||||||
url: "URL"
|
url: "URL"
|
||||||
uploadedAt: "追加日"
|
uploadedAt: "追加日"
|
||||||
attachedNotes: "添付されているノート"
|
attachedNotes: "添付されているノート"
|
||||||
usage: "利用"
|
|
||||||
thisPageCanBeSeenFromTheAuthor: "このページは、このファイルをアップロードしたユーザーしか閲覧できません。"
|
thisPageCanBeSeenFromTheAuthor: "このページは、このファイルをアップロードしたユーザーしか閲覧できません。"
|
||||||
|
|
||||||
_externalResourceInstaller:
|
_externalResourceInstaller:
|
||||||
|
|
@ -3340,7 +3154,6 @@ _bootErrors:
|
||||||
otherOption1: "クライアント設定とキャッシュを削除"
|
otherOption1: "クライアント設定とキャッシュを削除"
|
||||||
otherOption2: "簡易クライアントを起動"
|
otherOption2: "簡易クライアントを起動"
|
||||||
otherOption3: "修復ツールを起動"
|
otherOption3: "修復ツールを起動"
|
||||||
otherOption4: "Misskeyをセーフモードで起動"
|
|
||||||
|
|
||||||
_search:
|
_search:
|
||||||
searchScopeAll: "全て"
|
searchScopeAll: "全て"
|
||||||
|
|
@ -3379,8 +3192,6 @@ _serverSetupWizard:
|
||||||
doYouConnectToFediverse_description1: "分散型サーバーで構成されるネットワーク(Fediverse)に接続すると、他のサーバーと相互にコンテンツのやり取りが可能です。"
|
doYouConnectToFediverse_description1: "分散型サーバーで構成されるネットワーク(Fediverse)に接続すると、他のサーバーと相互にコンテンツのやり取りが可能です。"
|
||||||
doYouConnectToFediverse_description2: "Fediverseと接続することは「連合」とも呼ばれます。"
|
doYouConnectToFediverse_description2: "Fediverseと接続することは「連合」とも呼ばれます。"
|
||||||
youCanConfigureMoreFederationSettingsLater: "連合可能なサーバーの指定など、高度な設定も後ほど可能です。"
|
youCanConfigureMoreFederationSettingsLater: "連合可能なサーバーの指定など、高度な設定も後ほど可能です。"
|
||||||
remoteContentsCleaning: "リモートコンテンツの自動クリーニング"
|
|
||||||
remoteContentsCleaning_description: "連合を行うと、継続して多くのコンテンツを受信します。自動クリーニングを有効にすると、一定期間経過したリモートコンテンツを自動でサーバーから削除し、ストレージを節約できます。"
|
|
||||||
adminInfo: "管理者情報"
|
adminInfo: "管理者情報"
|
||||||
adminInfo_description: "問い合わせを受け付けるために使用される管理者情報を設定します。"
|
adminInfo_description: "問い合わせを受け付けるために使用される管理者情報を設定します。"
|
||||||
adminInfo_mustBeFilled: "オープンサーバー、または連合がオンの場合は必ず入力が必要です。"
|
adminInfo_mustBeFilled: "オープンサーバー、または連合がオンの場合は必ず入力が必要です。"
|
||||||
|
|
@ -3424,27 +3235,24 @@ _userLists:
|
||||||
watermark: "ウォーターマーク"
|
watermark: "ウォーターマーク"
|
||||||
defaultPreset: "デフォルトのプリセット"
|
defaultPreset: "デフォルトのプリセット"
|
||||||
_watermarkEditor:
|
_watermarkEditor:
|
||||||
tip: "画像にクレジット情報などのウォーターマークを追加できます。"
|
tip: "画像にクレジット情報などのウォーターマークを追加することができます。"
|
||||||
quitWithoutSaveConfirm: "保存せずに終了しますか?"
|
quitWithoutSaveConfirm: "保存せずに終了しますか?"
|
||||||
driveFileTypeWarn: "このファイルは対応していません"
|
driveFileTypeWarn: "このファイルは対応していません"
|
||||||
driveFileTypeWarnDescription: "画像ファイルを選択してください"
|
driveFileTypeWarnDescription: "画像ファイルを選択してください"
|
||||||
title: "ウォーターマークの編集"
|
title: "ウォーターマークの編集"
|
||||||
cover: "全体に被せる"
|
cover: "全体に被せる"
|
||||||
repeat: "敷き詰める"
|
repeat: "敷き詰める"
|
||||||
preserveBoundingRect: "回転時はみ出ないように調整する"
|
|
||||||
opacity: "不透明度"
|
opacity: "不透明度"
|
||||||
scale: "サイズ"
|
scale: "サイズ"
|
||||||
text: "テキスト"
|
text: "テキスト"
|
||||||
qr: "二次元コード"
|
|
||||||
position: "位置"
|
position: "位置"
|
||||||
margin: "マージン"
|
|
||||||
type: "タイプ"
|
type: "タイプ"
|
||||||
image: "画像"
|
image: "画像"
|
||||||
advanced: "高度"
|
advanced: "高度"
|
||||||
angle: "角度"
|
|
||||||
stripe: "ストライプ"
|
stripe: "ストライプ"
|
||||||
stripeWidth: "ラインの幅"
|
stripeWidth: "ラインの幅"
|
||||||
stripeFrequency: "ラインの数"
|
stripeFrequency: "ラインの数"
|
||||||
|
angle: "角度"
|
||||||
polkadot: "ポルカドット"
|
polkadot: "ポルカドット"
|
||||||
checker: "チェッカー"
|
checker: "チェッカー"
|
||||||
polkadotMainDotOpacity: "メインドットの不透明度"
|
polkadotMainDotOpacity: "メインドットの不透明度"
|
||||||
|
|
@ -3452,14 +3260,11 @@ _watermarkEditor:
|
||||||
polkadotSubDotOpacity: "サブドットの不透明度"
|
polkadotSubDotOpacity: "サブドットの不透明度"
|
||||||
polkadotSubDotRadius: "サブドットの大きさ"
|
polkadotSubDotRadius: "サブドットの大きさ"
|
||||||
polkadotSubDotDivisions: "サブドットの数"
|
polkadotSubDotDivisions: "サブドットの数"
|
||||||
leaveBlankToAccountUrl: "空欄にするとアカウントのURLになります"
|
|
||||||
failedToLoadImage: "画像の読み込みに失敗しました"
|
|
||||||
|
|
||||||
_imageEffector:
|
_imageEffector:
|
||||||
title: "エフェクト"
|
title: "エフェクト"
|
||||||
addEffect: "エフェクトを追加"
|
addEffect: "エフェクトを追加"
|
||||||
discardChangesConfirm: "変更を破棄して終了しますか?"
|
discardChangesConfirm: "変更を破棄して終了しますか?"
|
||||||
failedToLoadImage: "画像の読み込みに失敗しました"
|
|
||||||
|
|
||||||
_fxs:
|
_fxs:
|
||||||
chromaticAberration: "色収差"
|
chromaticAberration: "色収差"
|
||||||
|
|
@ -3467,8 +3272,6 @@ _imageEffector:
|
||||||
mirror: "ミラー"
|
mirror: "ミラー"
|
||||||
invert: "色の反転"
|
invert: "色の反転"
|
||||||
grayscale: "白黒"
|
grayscale: "白黒"
|
||||||
blur: "ぼかし"
|
|
||||||
pixelate: "モザイク"
|
|
||||||
colorAdjust: "色調補正"
|
colorAdjust: "色調補正"
|
||||||
colorClamp: "色の圧縮"
|
colorClamp: "色の圧縮"
|
||||||
colorClampAdvanced: "色の圧縮(高度)"
|
colorClampAdvanced: "色の圧縮(高度)"
|
||||||
|
|
@ -3480,50 +3283,12 @@ _imageEffector:
|
||||||
checker: "チェッカー"
|
checker: "チェッカー"
|
||||||
blockNoise: "ブロックノイズ"
|
blockNoise: "ブロックノイズ"
|
||||||
tearing: "ティアリング"
|
tearing: "ティアリング"
|
||||||
fill: "塗りつぶし"
|
|
||||||
|
|
||||||
_fxProps:
|
|
||||||
angle: "角度"
|
|
||||||
scale: "サイズ"
|
|
||||||
size: "サイズ"
|
|
||||||
radius: "半径"
|
|
||||||
samples: "サンプル数"
|
|
||||||
offset: "位置"
|
|
||||||
color: "色"
|
|
||||||
opacity: "不透明度"
|
|
||||||
normalize: "正規化"
|
|
||||||
amount: "量"
|
|
||||||
lightness: "明るさ"
|
|
||||||
contrast: "コントラスト"
|
|
||||||
hue: "色相"
|
|
||||||
brightness: "輝度"
|
|
||||||
saturation: "彩度"
|
|
||||||
max: "最大値"
|
|
||||||
min: "最小値"
|
|
||||||
direction: "方向"
|
|
||||||
phase: "位相"
|
|
||||||
frequency: "頻度"
|
|
||||||
strength: "強さ"
|
|
||||||
glitchChannelShift: "ズレ"
|
|
||||||
seed: "シード値"
|
|
||||||
redComponent: "赤色成分"
|
|
||||||
greenComponent: "緑色成分"
|
|
||||||
blueComponent: "青色成分"
|
|
||||||
threshold: "しきい値"
|
|
||||||
centerX: "中心X"
|
|
||||||
centerY: "中心Y"
|
|
||||||
zoomLinesSmoothing: "スムージング"
|
|
||||||
zoomLinesSmoothingDescription: "スムージングと集中線の幅の設定は併用できません。"
|
|
||||||
zoomLinesThreshold: "集中線の幅"
|
|
||||||
zoomLinesMaskSize: "中心径"
|
|
||||||
zoomLinesBlack: "黒色にする"
|
|
||||||
circle: "円形"
|
|
||||||
|
|
||||||
drafts: "下書き"
|
drafts: "下書き"
|
||||||
_drafts:
|
_drafts:
|
||||||
select: "下書きを選択"
|
select: "下書きを選択"
|
||||||
cannotCreateDraftAnymore: "下書きの作成可能数を超えています。"
|
cannotCreateDraftAnymore: "下書きの作成可能数を超えています。"
|
||||||
cannotCreateDraft: "この内容では下書きを作成できません。"
|
cannotCreateDraftOfRenote: "リノートの下書きは作成できません。"
|
||||||
delete: "下書きを削除"
|
delete: "下書きを削除"
|
||||||
deleteAreYouSure: "下書きを削除しますか?"
|
deleteAreYouSure: "下書きを削除しますか?"
|
||||||
noDrafts: "下書きはありません"
|
noDrafts: "下書きはありません"
|
||||||
|
|
@ -3534,23 +3299,3 @@ _drafts:
|
||||||
restoreFromDraft: "下書きから復元"
|
restoreFromDraft: "下書きから復元"
|
||||||
restore: "復元"
|
restore: "復元"
|
||||||
listDrafts: "下書き一覧"
|
listDrafts: "下書き一覧"
|
||||||
schedule: "投稿予約"
|
|
||||||
listScheduledNotes: "予約投稿一覧"
|
|
||||||
cancelSchedule: "予約解除"
|
|
||||||
|
|
||||||
qr: "二次元コード"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "表示"
|
|
||||||
readTabTitle: "読み取る"
|
|
||||||
shareTitle: "{name} {acct}"
|
|
||||||
shareText: "Fediverseで私をフォローしてください!"
|
|
||||||
chooseCamera: "カメラを選択"
|
|
||||||
cannotToggleFlash: "ライト選択不可"
|
|
||||||
turnOnFlash: "ライトをオンにする"
|
|
||||||
turnOffFlash: "ライトをオフにする"
|
|
||||||
startQr: "コードリーダーを再開"
|
|
||||||
stopQr: "コードリーダーを停止"
|
|
||||||
noQrCodeFound: "QRコードが見つかりません"
|
|
||||||
scanFile: "端末の画像をスキャン"
|
|
||||||
raw: "テキスト"
|
|
||||||
mfm: "MFM"
|
|
||||||
|
|
|
||||||
|
|
@ -220,7 +220,6 @@ silenceThisInstance: "サーバーサイレンスすんで?"
|
||||||
mediaSilenceThisInstance: "サーバーをメディアサイレンス"
|
mediaSilenceThisInstance: "サーバーをメディアサイレンス"
|
||||||
operations: "操作"
|
operations: "操作"
|
||||||
software: "ソフトウェア"
|
software: "ソフトウェア"
|
||||||
softwareName: "ソフトウェア名"
|
|
||||||
version: "バージョン"
|
version: "バージョン"
|
||||||
metadata: "メタデータ"
|
metadata: "メタデータ"
|
||||||
withNFiles: "{n}個のファイル"
|
withNFiles: "{n}個のファイル"
|
||||||
|
|
@ -253,7 +252,6 @@ noteDeleteConfirm: "このノートをほかしてええか?"
|
||||||
pinLimitExceeded: "これ以上ピン留めできひん"
|
pinLimitExceeded: "これ以上ピン留めできひん"
|
||||||
done: "でけた"
|
done: "でけた"
|
||||||
processing: "処理しとる"
|
processing: "処理しとる"
|
||||||
preprocessing: "準備中"
|
|
||||||
preview: "プレビュー"
|
preview: "プレビュー"
|
||||||
default: "デフォルト"
|
default: "デフォルト"
|
||||||
defaultValueIs: "デフォルト: {value}"
|
defaultValueIs: "デフォルト: {value}"
|
||||||
|
|
@ -301,14 +299,12 @@ uploadFromUrlRequested: "アップロードしたい言うといたで"
|
||||||
uploadFromUrlMayTakeTime: "アップロード終わるんにちょい時間かかるかもしれへんわ。"
|
uploadFromUrlMayTakeTime: "アップロード終わるんにちょい時間かかるかもしれへんわ。"
|
||||||
explore: "みつける"
|
explore: "みつける"
|
||||||
messageRead: "もう読んだ"
|
messageRead: "もう読んだ"
|
||||||
readAllChatMessages: "メッセージを全部読んだことにしとく"
|
|
||||||
noMoreHistory: "これより昔のんはあらへんで"
|
noMoreHistory: "これより昔のんはあらへんで"
|
||||||
startChat: "チャットを始めよか"
|
|
||||||
nUsersRead: "{n}人が読んでもうた"
|
nUsersRead: "{n}人が読んでもうた"
|
||||||
agreeTo: "{0}に同意したで"
|
agreeTo: "{0}に同意したで"
|
||||||
agree: "せやな"
|
agree: "せやな"
|
||||||
agreeBelow: "下記に同意するわ"
|
agreeBelow: "下記に同意したる"
|
||||||
basicNotesBeforeCreateAccount: "よう読んどいてや"
|
basicNotesBeforeCreateAccount: "よう読んでやってや"
|
||||||
termsOfService: "使うための決め事"
|
termsOfService: "使うための決め事"
|
||||||
start: "始める"
|
start: "始める"
|
||||||
home: "ホーム"
|
home: "ホーム"
|
||||||
|
|
@ -328,13 +324,11 @@ dark: "ダーク"
|
||||||
lightThemes: "デイゲーム"
|
lightThemes: "デイゲーム"
|
||||||
darkThemes: "ナイトゲーム"
|
darkThemes: "ナイトゲーム"
|
||||||
syncDeviceDarkMode: "デバイスのダークモードと一緒にする"
|
syncDeviceDarkMode: "デバイスのダークモードと一緒にする"
|
||||||
switchDarkModeManuallyWhenSyncEnabledConfirm: "「{x}」がオンになってるで。同期切って手動でモード切り替える?"
|
|
||||||
drive: "ドライブ"
|
drive: "ドライブ"
|
||||||
fileName: "ファイル名"
|
fileName: "ファイル名"
|
||||||
selectFile: "ファイル選んでや"
|
selectFile: "ファイル選んでや"
|
||||||
selectFiles: "ファイル選んでや"
|
selectFiles: "ファイル選んでや"
|
||||||
selectFolder: "フォルダ選んでや"
|
selectFolder: "フォルダ選んでや"
|
||||||
unselectFolder: "フォルダーの選択を解除"
|
|
||||||
selectFolders: "フォルダ選んでや"
|
selectFolders: "フォルダ選んでや"
|
||||||
fileNotSelected: "ファイルが選択されてへんで"
|
fileNotSelected: "ファイルが選択されてへんで"
|
||||||
renameFile: "ファイル名をいらう"
|
renameFile: "ファイル名をいらう"
|
||||||
|
|
@ -425,13 +419,13 @@ antennaSource: "受信ソース(このソースは食われへん)"
|
||||||
antennaKeywords: "受信キーワード"
|
antennaKeywords: "受信キーワード"
|
||||||
antennaExcludeKeywords: "除外キーワード"
|
antennaExcludeKeywords: "除外キーワード"
|
||||||
antennaExcludeBots: "Botアカウントを除外"
|
antennaExcludeBots: "Botアカウントを除外"
|
||||||
antennaKeywordsDescription: "スペースで区切ったらAND指定で、改行で区切ったらOR指定や"
|
antennaKeywordsDescription: "スペースで区切ったるとAND指定で、改行で区切ったるとOR指定や"
|
||||||
notifyAntenna: "新しいノートを通知すんで"
|
notifyAntenna: "新しいノートを通知すんで"
|
||||||
withFileAntenna: "なんか添付されたノートだけ"
|
withFileAntenna: "なんか添付されたノートだけ"
|
||||||
excludeNotesInSensitiveChannel: "センシティブなチャンネルのノートは入れんとくわ"
|
|
||||||
enableServiceworker: "ブラウザにプッシュ通知が行くようにする"
|
enableServiceworker: "ブラウザにプッシュ通知が行くようにする"
|
||||||
antennaUsersDescription: "ユーザー名を改行で区切ったってな"
|
antennaUsersDescription: "ユーザー名を改行で区切ったってな"
|
||||||
caseSensitive: "大文字と小文字は別もんや"
|
caseSensitive: "大文字と小文字は別もんや"
|
||||||
|
withReplies: "返信も入れたって"
|
||||||
connectedTo: "次のアカウントに繋がっとるで"
|
connectedTo: "次のアカウントに繋がっとるで"
|
||||||
notesAndReplies: "投稿と返信"
|
notesAndReplies: "投稿と返信"
|
||||||
withFiles: "ファイル付いとる"
|
withFiles: "ファイル付いとる"
|
||||||
|
|
@ -474,9 +468,9 @@ newPasswordIs: "今度のパスワードは「{password}」や"
|
||||||
reduceUiAnimation: "UIの動きやアニメーションを少なする"
|
reduceUiAnimation: "UIの動きやアニメーションを少なする"
|
||||||
share: "わけわけ"
|
share: "わけわけ"
|
||||||
notFound: "見つからへんね"
|
notFound: "見つからへんね"
|
||||||
notFoundDescription: "言われたURLのページはなかったで。"
|
notFoundDescription: "言われたURLにはまるページはなかったで。"
|
||||||
uploadFolder: "とりあえずアップロードしたやつ置いとく所"
|
uploadFolder: "とりあえずアップロードしたやつ置いとく所"
|
||||||
markAsReadAllNotifications: "通知はもう全部読んだわ"
|
markAsReadAllNotifications: "通知はもう全て読んだわっ"
|
||||||
markAsReadAllUnreadNotes: "投稿は全て読んだわっ"
|
markAsReadAllUnreadNotes: "投稿は全て読んだわっ"
|
||||||
markAsReadAllTalkMessages: "チャットはもうぜんぶ読んだわっ"
|
markAsReadAllTalkMessages: "チャットはもうぜんぶ読んだわっ"
|
||||||
help: "ヘルプ"
|
help: "ヘルプ"
|
||||||
|
|
@ -557,7 +551,7 @@ showFeaturedNotesInTimeline: "タイムラインにおすすめのノートを
|
||||||
objectStorage: "オブジェクトストレージ"
|
objectStorage: "オブジェクトストレージ"
|
||||||
useObjectStorage: "オブジェクトストレージを使う"
|
useObjectStorage: "オブジェクトストレージを使う"
|
||||||
objectStorageBaseUrl: "Base URL"
|
objectStorageBaseUrl: "Base URL"
|
||||||
objectStorageBaseUrlDesc: "参照に使うURLやで。CDNやProxyを使用してるんならそのURL、S3: 'https://<bucket>.s3.amazonaws.com'、GCSとかなら: 'https://storage.googleapis.com/<bucket>'。"
|
objectStorageBaseUrlDesc: "参照に使うにURLやで。CDNやProxyを使用してるんならそのURL、S3: 'https://<bucket>.s3.amazonaws.com'、GCSとかなら: 'https://storage.googleapis.com/<bucket>'。"
|
||||||
objectStorageBucket: "Bucket"
|
objectStorageBucket: "Bucket"
|
||||||
objectStorageBucketDesc: "使ってるサービスのbucket名を選んでな"
|
objectStorageBucketDesc: "使ってるサービスのbucket名を選んでな"
|
||||||
objectStoragePrefix: "Prefix"
|
objectStoragePrefix: "Prefix"
|
||||||
|
|
@ -574,19 +568,17 @@ objectStorageSetPublicRead: "アップロードした時に'public-read'を設
|
||||||
s3ForcePathStyleDesc: "s3ForcePathStyleを使たらバケット名をURLのホスト名やなくてパスの一部として必ず指定させるようになるで。セルフホストされたMinioとかを使うてるんやったら有効にせなあかん場合があるで。"
|
s3ForcePathStyleDesc: "s3ForcePathStyleを使たらバケット名をURLのホスト名やなくてパスの一部として必ず指定させるようになるで。セルフホストされたMinioとかを使うてるんやったら有効にせなあかん場合があるで。"
|
||||||
serverLogs: "サーバーログ"
|
serverLogs: "サーバーログ"
|
||||||
deleteAll: "全部ほかす"
|
deleteAll: "全部ほかす"
|
||||||
showFixedPostForm: "タイムラインの上の方で投稿できるようにするわ"
|
showFixedPostForm: "タイムラインの上の方で投稿できるようにやってくれへん?"
|
||||||
showFixedPostFormInChannel: "タイムラインの上の方で投稿できるようにするわ(チャンネル)"
|
showFixedPostFormInChannel: "タイムラインの上の方で投稿できるようにするわ(チャンネル)"
|
||||||
withRepliesByDefaultForNewlyFollowed: "フォローする時、デフォルトで返信をタイムラインに含むようにしよか"
|
withRepliesByDefaultForNewlyFollowed: "フォローする時、デフォルトで返信をタイムラインに含むようにしよか"
|
||||||
newNoteRecived: "新しいノートがあるで"
|
newNoteRecived: "新しいノートがあるで"
|
||||||
newNote: "新しいノートがあるで"
|
|
||||||
sounds: "音"
|
sounds: "音"
|
||||||
sound: "音"
|
sound: "音"
|
||||||
notificationSoundSettings: "通知音の設定"
|
|
||||||
listen: "聴く"
|
listen: "聴く"
|
||||||
none: "なし"
|
none: "なし"
|
||||||
showInPage: "ページで表示"
|
showInPage: "ページで表示"
|
||||||
popout: "ポップアウト"
|
popout: "ポップアウト"
|
||||||
volume: "音のでかさ"
|
volume: "やかましさ"
|
||||||
masterVolume: "全体のやかましさ"
|
masterVolume: "全体のやかましさ"
|
||||||
notUseSound: "音出さへん"
|
notUseSound: "音出さへん"
|
||||||
useSoundOnlyWhenActive: "Misskeyがアクティブなときだけ音出す"
|
useSoundOnlyWhenActive: "Misskeyがアクティブなときだけ音出す"
|
||||||
|
|
@ -602,7 +594,7 @@ nothing: "あらへん"
|
||||||
installedDate: "インストールした日時"
|
installedDate: "インストールした日時"
|
||||||
lastUsedDate: "最後に使った日時"
|
lastUsedDate: "最後に使った日時"
|
||||||
state: "状態"
|
state: "状態"
|
||||||
sort: "並び替え"
|
sort: "仕分ける"
|
||||||
ascendingOrder: "小さい順"
|
ascendingOrder: "小さい順"
|
||||||
descendingOrder: "大きい順"
|
descendingOrder: "大きい順"
|
||||||
scratchpad: "スクラッチパッド"
|
scratchpad: "スクラッチパッド"
|
||||||
|
|
@ -662,9 +654,9 @@ useBlurEffectForModal: "モーダルにぼかし効果を使用"
|
||||||
useFullReactionPicker: "フルフルのツッコミピッカーを使う"
|
useFullReactionPicker: "フルフルのツッコミピッカーを使う"
|
||||||
width: "幅"
|
width: "幅"
|
||||||
height: "高さ"
|
height: "高さ"
|
||||||
large: "でかい"
|
large: "大"
|
||||||
medium: "ふつう"
|
medium: "中"
|
||||||
small: "ちいさい"
|
small: "小"
|
||||||
generateAccessToken: "アクセストークンの発行"
|
generateAccessToken: "アクセストークンの発行"
|
||||||
permission: "権限"
|
permission: "権限"
|
||||||
adminPermission: "管理者権限"
|
adminPermission: "管理者権限"
|
||||||
|
|
@ -689,7 +681,7 @@ smtpSecure: "SMTP 接続に暗黙的なSSL/TLSを使用する"
|
||||||
smtpSecureInfo: "STARTTLS使っとる時はオフにしてや。"
|
smtpSecureInfo: "STARTTLS使っとる時はオフにしてや。"
|
||||||
testEmail: "配信テスト"
|
testEmail: "配信テスト"
|
||||||
wordMute: "ワードミュート"
|
wordMute: "ワードミュート"
|
||||||
wordMuteDescription: "指定した語句が入ってるノートをちっさくするで。ちっさくなったノートをクリックしたら中身を見れるで。"
|
wordMuteDescription: "指定した語句が入ってるノートを最小化するで。最小化されたノートをクリックしたら、表示できるようになるで。"
|
||||||
hardWordMute: "ハードワードミュート"
|
hardWordMute: "ハードワードミュート"
|
||||||
showMutedWord: "ミュートされたワードを表示するで"
|
showMutedWord: "ミュートされたワードを表示するで"
|
||||||
hardWordMuteDescription: "指定した語句が入ってるノートを隠すで。ワードミュートとちゃうて、ノートは完全に表示されんようになるで。"
|
hardWordMuteDescription: "指定した語句が入ってるノートを隠すで。ワードミュートとちゃうて、ノートは完全に表示されんようになるで。"
|
||||||
|
|
@ -701,7 +693,6 @@ userSaysSomethingAbout: "{name}が「{word}」についてなんか言うてた
|
||||||
makeActive: "使うで"
|
makeActive: "使うで"
|
||||||
display: "表示"
|
display: "表示"
|
||||||
copy: "コピー"
|
copy: "コピー"
|
||||||
copiedToClipboard: "クリップボードにコピーされたで"
|
|
||||||
metrics: "メトリクス"
|
metrics: "メトリクス"
|
||||||
overview: "概要"
|
overview: "概要"
|
||||||
logs: "ログ"
|
logs: "ログ"
|
||||||
|
|
@ -723,7 +714,7 @@ behavior: "動作"
|
||||||
sample: "サンプル"
|
sample: "サンプル"
|
||||||
abuseReports: "通報"
|
abuseReports: "通報"
|
||||||
reportAbuse: "通報"
|
reportAbuse: "通報"
|
||||||
reportAbuseRenote: "リノートの苦情出す"
|
reportAbuseRenote: "リノート苦情だすで?"
|
||||||
reportAbuseOf: "{name}を通報する"
|
reportAbuseOf: "{name}を通報する"
|
||||||
fillAbuseReportDescription: "細かい通報理由を書いてなー。対象ノートがある時はそのURLも書いといてなー。"
|
fillAbuseReportDescription: "細かい通報理由を書いてなー。対象ノートがある時はそのURLも書いといてなー。"
|
||||||
abuseReported: "無事内容が送信されたみたいやで。おおきに〜。"
|
abuseReported: "無事内容が送信されたみたいやで。おおきに〜。"
|
||||||
|
|
@ -773,7 +764,6 @@ lockedAccountInfo: "フォローを承認制にしとっても、ノートの公
|
||||||
alwaysMarkSensitive: "デフォルトでメディアを閲覧注意にするで"
|
alwaysMarkSensitive: "デフォルトでメディアを閲覧注意にするで"
|
||||||
loadRawImages: "添付画像のサムネイルをオリジナル画質にするで"
|
loadRawImages: "添付画像のサムネイルをオリジナル画質にするで"
|
||||||
disableShowingAnimatedImages: "アニメーション画像を再生せんとくで"
|
disableShowingAnimatedImages: "アニメーション画像を再生せんとくで"
|
||||||
disableShowingAnimatedImages_caption: "この設定を変えてもアニメーション画像が再生されへん時は、ブラウザとかOSのアクセシビリティ設定とか省電力設定の方が悪さしてるかもしれへんで。"
|
|
||||||
highlightSensitiveMedia: "きわどいことをめっっちゃわかりやすくする"
|
highlightSensitiveMedia: "きわどいことをめっっちゃわかりやすくする"
|
||||||
verificationEmailSent: "無事確認のメールを送れたで。メールに書いてあるリンクにアクセスして、設定を完了してなー。"
|
verificationEmailSent: "無事確認のメールを送れたで。メールに書いてあるリンクにアクセスして、設定を完了してなー。"
|
||||||
notSet: "未設定"
|
notSet: "未設定"
|
||||||
|
|
@ -797,7 +787,6 @@ wide: "広い"
|
||||||
narrow: "狭い"
|
narrow: "狭い"
|
||||||
reloadToApplySetting: "設定はページリロード後に反映されるで。今リロードしとくか?"
|
reloadToApplySetting: "設定はページリロード後に反映されるで。今リロードしとくか?"
|
||||||
needReloadToApply: "反映には再起動せなあかんで"
|
needReloadToApply: "反映には再起動せなあかんで"
|
||||||
needToRestartServerToApply: "反映にはサーバーを再起動せなあかんのよ。"
|
|
||||||
showTitlebar: "タイトルバーを見せる"
|
showTitlebar: "タイトルバーを見せる"
|
||||||
clearCache: "キャッシュをほかす"
|
clearCache: "キャッシュをほかす"
|
||||||
onlineUsersCount: "{n}人が起きとるで"
|
onlineUsersCount: "{n}人が起きとるで"
|
||||||
|
|
@ -883,7 +872,7 @@ startingperiod: "始めた期間"
|
||||||
memo: "メモ"
|
memo: "メモ"
|
||||||
priority: "優先度"
|
priority: "優先度"
|
||||||
high: "高い"
|
high: "高い"
|
||||||
middle: "ふつう"
|
middle: "中"
|
||||||
low: "低い"
|
low: "低い"
|
||||||
emailNotConfiguredWarning: "メアドの設定がされてへんで。"
|
emailNotConfiguredWarning: "メアドの設定がされてへんで。"
|
||||||
ratio: "比率"
|
ratio: "比率"
|
||||||
|
|
@ -985,7 +974,6 @@ document: "ドキュメント"
|
||||||
numberOfPageCache: "ページ、どんだけキャッシュすんの?"
|
numberOfPageCache: "ページ、どんだけキャッシュすんの?"
|
||||||
numberOfPageCacheDescription: "増やすと使いやすくなるけど、負荷とメモリ使用量が増えてくで。一長一短やな。"
|
numberOfPageCacheDescription: "増やすと使いやすくなるけど、負荷とメモリ使用量が増えてくで。一長一短やな。"
|
||||||
logoutConfirm: "ログアウトしまっか?"
|
logoutConfirm: "ログアウトしまっか?"
|
||||||
logoutWillClearClientData: "ログアウトするとクライアントの設定情報がブラウザから消されてまうで。再ログイン時に設定情報を復元できるようにするためには、設定の自動バックアップを有効にするとええで。"
|
|
||||||
lastActiveDate: "最後に使った日時"
|
lastActiveDate: "最後に使った日時"
|
||||||
statusbar: "ステータスバー"
|
statusbar: "ステータスバー"
|
||||||
pleaseSelect: "選んだってやー"
|
pleaseSelect: "選んだってやー"
|
||||||
|
|
@ -1004,7 +992,6 @@ failedToUpload: "アップロードに失敗してもうたわ…"
|
||||||
cannotUploadBecauseInappropriate: "きわどい内容を含むかもしれへんって言われたからアップロードできへんわ。"
|
cannotUploadBecauseInappropriate: "きわどい内容を含むかもしれへんって言われたからアップロードできへんわ。"
|
||||||
cannotUploadBecauseNoFreeSpace: "ドライブがもうパンパンやからアップロードできへんわ。"
|
cannotUploadBecauseNoFreeSpace: "ドライブがもうパンパンやからアップロードできへんわ。"
|
||||||
cannotUploadBecauseExceedsFileSizeLimit: "ファイルが思うたよりも大きいさかいアップロードできへんでこれ。"
|
cannotUploadBecauseExceedsFileSizeLimit: "ファイルが思うたよりも大きいさかいアップロードできへんでこれ。"
|
||||||
cannotUploadBecauseUnallowedFileType: "許可されてへんファイル種別やからアップロードできへんっぽい。"
|
|
||||||
beta: "ベータ"
|
beta: "ベータ"
|
||||||
enableAutoSensitive: "自動できわどいか判断する"
|
enableAutoSensitive: "自動できわどいか判断する"
|
||||||
enableAutoSensitiveDescription: "使える時は、機械学習を使って自動でメディアにNSFWフラグを設定するで。この機能をオフにしても、サーバーによっては自動で設定されることがあるで。"
|
enableAutoSensitiveDescription: "使える時は、機械学習を使って自動でメディアにNSFWフラグを設定するで。この機能をオフにしても、サーバーによっては自動で設定されることがあるで。"
|
||||||
|
|
@ -1020,9 +1007,6 @@ pushNotificationAlreadySubscribed: "プッシュ通知はオンになってる
|
||||||
pushNotificationNotSupported: "ブラウザかサーバーがプッシュ通知に対応してないみたいやで。"
|
pushNotificationNotSupported: "ブラウザかサーバーがプッシュ通知に対応してないみたいやで。"
|
||||||
sendPushNotificationReadMessage: "通知やメッセージが既読になったらプッシュ通知を消すで"
|
sendPushNotificationReadMessage: "通知やメッセージが既読になったらプッシュ通知を消すで"
|
||||||
sendPushNotificationReadMessageCaption: "あんたの端末の電池使う量が増えるかもしれん。"
|
sendPushNotificationReadMessageCaption: "あんたの端末の電池使う量が増えるかもしれん。"
|
||||||
pleaseAllowPushNotification: "ブラウザの通知設定を許可してな"
|
|
||||||
browserPushNotificationDisabled: "通知の送信権限が取れんかったわ"
|
|
||||||
browserPushNotificationDisabledDescription: "今 {serverName} から通知を送るための権限が無いから、ブラウザの設定で通知を許可してもっかい試してな。"
|
|
||||||
windowMaximize: "最大化"
|
windowMaximize: "最大化"
|
||||||
windowMinimize: "最小化"
|
windowMinimize: "最小化"
|
||||||
windowRestore: "元に戻す"
|
windowRestore: "元に戻す"
|
||||||
|
|
@ -1059,7 +1043,6 @@ permissionDeniedError: "操作が拒否されてもうた。"
|
||||||
permissionDeniedErrorDescription: "このアカウントはこれやったらアカンって。"
|
permissionDeniedErrorDescription: "このアカウントはこれやったらアカンって。"
|
||||||
preset: "プリセット"
|
preset: "プリセット"
|
||||||
selectFromPresets: "プリセットから選ぶ"
|
selectFromPresets: "プリセットから選ぶ"
|
||||||
custom: "カスタム"
|
|
||||||
achievements: "実績"
|
achievements: "実績"
|
||||||
gotInvalidResponseError: "サーバー黙っとるわ、知らんけど"
|
gotInvalidResponseError: "サーバー黙っとるわ、知らんけど"
|
||||||
gotInvalidResponseErrorDescription: "サーバーいま日曜日。またきて月曜日。"
|
gotInvalidResponseErrorDescription: "サーバーいま日曜日。またきて月曜日。"
|
||||||
|
|
@ -1098,7 +1081,6 @@ prohibitedWordsDescription2: "スペースで区切るとAND指定、キーワ
|
||||||
hiddenTags: "見えてへんハッシュタグ"
|
hiddenTags: "見えてへんハッシュタグ"
|
||||||
hiddenTagsDescription: "設定したタグを最近流行りのとこに見えんようにすんで。複数設定するときは改行で区切ってな。"
|
hiddenTagsDescription: "設定したタグを最近流行りのとこに見えんようにすんで。複数設定するときは改行で区切ってな。"
|
||||||
notesSearchNotAvailable: "なんかノート探せへん。"
|
notesSearchNotAvailable: "なんかノート探せへん。"
|
||||||
usersSearchNotAvailable: "ユーザーを探すことはできへんみたいや。"
|
|
||||||
license: "ライセンス"
|
license: "ライセンス"
|
||||||
unfavoriteConfirm: "ほんまに気に入らんの?"
|
unfavoriteConfirm: "ほんまに気に入らんの?"
|
||||||
myClips: "自分のクリップ"
|
myClips: "自分のクリップ"
|
||||||
|
|
@ -1250,7 +1232,7 @@ releaseToRefresh: "離したらリロード"
|
||||||
refreshing: "リロードしとる"
|
refreshing: "リロードしとる"
|
||||||
pullDownToRefresh: "引っ張ってリロードするで"
|
pullDownToRefresh: "引っ張ってリロードするで"
|
||||||
useGroupedNotifications: "通知をグループ分けして出すで"
|
useGroupedNotifications: "通知をグループ分けして出すで"
|
||||||
emailVerificationFailedError: "メアド確認してたらなんか変なことなったわ。リンクの期限切れてるかもしれん。"
|
signupPendingError: "メアド確認してたらなんか変なことなったわ。リンクの期限切れてるかもしれん。"
|
||||||
cwNotationRequired: "「内容を隠す」んやったら注釈書かなアカンで。"
|
cwNotationRequired: "「内容を隠す」んやったら注釈書かなアカンで。"
|
||||||
doReaction: "ツッコむで"
|
doReaction: "ツッコむで"
|
||||||
code: "コード"
|
code: "コード"
|
||||||
|
|
@ -1322,120 +1304,16 @@ federationSpecified: "このサーバーはホワイトリスト連合で運用
|
||||||
federationDisabled: "このサーバーは連合が無効化されてるで。他のサーバーのユーザーとやり取りすることはできひんで。"
|
federationDisabled: "このサーバーは連合が無効化されてるで。他のサーバーのユーザーとやり取りすることはできひんで。"
|
||||||
confirmOnReact: "ツッコむときに確認とる"
|
confirmOnReact: "ツッコむときに確認とる"
|
||||||
reactAreYouSure: "\" {emoji} \" でツッコむ?"
|
reactAreYouSure: "\" {emoji} \" でツッコむ?"
|
||||||
markAsSensitiveConfirm: "このメディアをきわどい扱いしときますか?"
|
|
||||||
unmarkAsSensitiveConfirm: "このメディアはやっぱきわどくなかったってことでええんか?"
|
|
||||||
noName: "名前はあらへんで"
|
|
||||||
preferenceSyncConflictTitle: "サーバーに設定値があるみたいやわ"
|
|
||||||
preferenceSyncConflictText: "同期が有効にされた設定項目は設定値をサーバーに保存するねんけど、この設定項目はサーバーに保存されたやつがあるみたいやわ。どないするん?"
|
|
||||||
preferenceSyncConflictChoiceMerge: "ガッチャンコしよか"
|
|
||||||
preferenceSyncConflictChoiceCancel: "同期の有効化はやめとくわ"
|
|
||||||
postForm: "投稿フォーム"
|
postForm: "投稿フォーム"
|
||||||
information: "情報"
|
information: "情報"
|
||||||
directMessage: "チャットしよか"
|
|
||||||
migrateOldSettings: "旧設定情報をお引っ越し"
|
|
||||||
migrateOldSettings_description: "通常これは自動で行われるはずなんやけど、なんかの理由で上手く移行できへんかったときは手動で移行処理をポチっとできるで。今の設定情報は上書きされるで。"
|
|
||||||
settingsMigrating: "設定を移行しとるで。ちょっと待っとってな... (後で、設定→その他→旧設定情報を移行 で手動で移行することもできるで)"
|
|
||||||
driveAboutTip: "ドライブでは、今までアップロードしたファイルがずらーっと表示されるで。<br>\nノートにファイルをもっかいのっけたり、あとで投稿するファイルをその辺に置いとくこともできるねん。<br>\n<b>ファイルをほかすと、前にそのファイルをのっけた全部の場所(ノート、ページ、アバター、バナー等)からも見えんくなるから気いつけてな。</b><br>\nフォルダを作って整理することもできるで。"
|
|
||||||
turnItOn: "オンにしとこ"
|
|
||||||
turnItOff: "オフでええわ"
|
|
||||||
emojiUnmute: "絵文字ミュートやめたる"
|
|
||||||
unmuteX: "{x}のミュートやめたる"
|
|
||||||
redisplayAllTips: "全部の「ヒントとコツ」をもっかい見して"
|
|
||||||
hideAllTips: "「ヒントとコツ」は全部表示せんでええ"
|
|
||||||
defaultImageCompressionLevel_description: "低くすると画質は保てるんやけど、ファイルサイズが増えるで。<br>高くするとファイルサイズは減らせるんやけど、画質が落ちるで。"
|
|
||||||
defaultCompressionLevel_description: "低くすると品質は保てるんやけど、ファイルサイズが増えるで。<br>高くするとファイルサイズは減らせるんやけど、品質が落ちるで。"
|
|
||||||
inMinutes: "分"
|
|
||||||
inDays: "日"
|
|
||||||
safeModeEnabled: "セーフモードがオンになってるで"
|
|
||||||
pluginsAreDisabledBecauseSafeMode: "セーフモードがオンやから、プラグインは全部無効化されてるで。"
|
|
||||||
customCssIsDisabledBecauseSafeMode: "セーフモードがオンやから、カスタムCSSは適用されてへんで。"
|
|
||||||
themeIsDefaultBecauseSafeMode: "セーフモードがオンの間はデフォルトのテーマを使うで。セーフモードをオフにれば元に戻るで。"
|
|
||||||
thankYouForTestingBeta: "ベータ版使うてくれておおきに!"
|
|
||||||
widgets: "ウィジェット"
|
|
||||||
deviceInfoDescription: "なんか技術的なことで分からんこと聞くときは、下の情報も一緒に書いてもらえると、こっちも分かりやすいし、はよ直ると思います。"
|
|
||||||
youAreAdmin: "あんた、管理者やで"
|
|
||||||
presets: "プリセット"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "ファイル名"
|
|
||||||
_imageFrameEditor:
|
|
||||||
tip: "画像にフレームとかメタデータを入れたラベルとかを付け足していい感じにできるで。"
|
|
||||||
header: "ヘッダー"
|
|
||||||
font: "フォント"
|
|
||||||
fontSerif: "セリフ"
|
|
||||||
fontSansSerif: "サンセリフ"
|
|
||||||
quitWithoutSaveConfirm: "保存せずに終わってもええんか?"
|
|
||||||
failedToLoadImage: "あかん、画像読み込まれへんわ"
|
|
||||||
_chat:
|
_chat:
|
||||||
noMessagesYet: "まだメッセージはあらへんで"
|
|
||||||
individualChat_description: "特定のユーザーとサシでチャットできるで。"
|
|
||||||
roomChat_description: "複数人でチャットできるで。\nあと、個人チャットを許可してへんユーザーとでも、相手がええって言うならチャットできるで。"
|
|
||||||
inviteUserToChat: "ユーザーを招待してチャットを始めてみ"
|
|
||||||
invitations: "来てや"
|
invitations: "来てや"
|
||||||
noInvitations: "招待はあらへんで"
|
|
||||||
noHistory: "履歴はないわ。"
|
noHistory: "履歴はないわ。"
|
||||||
noRooms: "ルームはあらへんで"
|
|
||||||
join: "入る"
|
|
||||||
ignore: "ほっとく"
|
|
||||||
leave: "グループから抜ける"
|
|
||||||
members: "メンバーはん"
|
members: "メンバーはん"
|
||||||
home: "ホーム"
|
home: "ホーム"
|
||||||
send: "送信"
|
send: "送信"
|
||||||
deleteRoom: "ルームをほかす"
|
|
||||||
chatNotAvailableForThisAccountOrServer: "このサーバー、もしくはこのアカウントでチャットが有効にされてへんで。"
|
|
||||||
chatIsReadOnlyForThisAccountOrServer: "このサーバー、もしくはこのアカウントでチャットが読み取り専用になっとるわ。新しく書き込んだり、チャットルームを作ったり参加したりはできへんで。"
|
|
||||||
chatNotAvailableInOtherAccount: "相手のアカウントでチャット機能が使えんくなっとるみたいやわ。"
|
|
||||||
cannotChatWithTheUser: "このユーザーとのチャットを開始できへんみたいやわ"
|
|
||||||
cannotChatWithTheUser_description: "チャットが使えん状態になっとるか、相手がチャットを開放してへんみたいやわ。"
|
|
||||||
youAreNotAMemberOfThisRoomButInvited: "あんたはこのルームの参加者ちゃうけど、招待が届いとるで。参加するんやったら、招待を承認してな。"
|
|
||||||
doYouAcceptInvitation: "招待を承認してもええんか?"
|
|
||||||
chatWithThisUser: "チャットしよか"
|
|
||||||
thisUserAllowsChatOnlyFromFollowers: "このユーザーはフォロワーからのチャットしか受け付けとらんみたいやわ。"
|
|
||||||
thisUserAllowsChatOnlyFromFollowing: "このユーザーは、このユーザーがフォローしとるユーザーからのチャットしか受け付けとらんみたいやわ。"
|
|
||||||
thisUserAllowsChatOnlyFromMutualFollowing: "このユーザーは相互フォローのユーザーからのチャットしか受け付けとらんみたいやわ。"
|
|
||||||
thisUserNotAllowedChatAnyone: "このユーザーは誰からのチャットも受け付けとらんみたいやわ。"
|
|
||||||
chatAllowedUsers: "チャットしてもええ相手"
|
|
||||||
chatAllowedUsers_note: "自分からチャットメッセージを送った相手やったらこの設定に関わらずチャットできるで。"
|
|
||||||
_chatAllowedUsers:
|
|
||||||
followers: "自分のフォロワーだけ"
|
|
||||||
following: "自分がフォローしとるユーザーだけ"
|
|
||||||
mutual: "相互フォローのユーザーだけ"
|
|
||||||
none: "誰もかもあかん"
|
|
||||||
_emojiPalette:
|
|
||||||
enableSyncBetweenDevicesForPalettes: "パレットのデバイス間同期をつけとく"
|
|
||||||
paletteForMain: "メインで使うパレット"
|
|
||||||
paletteForReaction: "リアクションで使うパレット"
|
|
||||||
_settings:
|
_settings:
|
||||||
driveBanner: "ドライブの管理と設定、使用量の確認、ファイルをアップロードするときの設定ができるで。"
|
|
||||||
pluginBanner: "プラグインを使うとクライアントの機能を拡張できるねん。プラグインのインストール、個別の設定と管理ができるで。"
|
|
||||||
notificationsBanner: "サーバーから受け取る通知の種類とか範囲、プッシュ通知の設定ができるで。"
|
|
||||||
webhook: "Webhook"
|
webhook: "Webhook"
|
||||||
serviceConnectionBanner: "外部のアプリ・サービスと連携するのに使うとるアクセストークンとかWebhookの管理と設定ができるで。"
|
|
||||||
accountDataBanner: "アカウントデータのアーカイブをエクスポート/インポートして管理できるで。"
|
|
||||||
muteAndBlockBanner: "見せんでええコンテンツの設定とか、特定のユーザーからのアクションを制限する設定と管理ができるで。"
|
|
||||||
accessibilityBanner: "クライアントの視覚や動作に関わるパーソナライズをして、よりええ感じに使えるように設定できるで。"
|
|
||||||
privacyBanner: "コンテンツの公開範囲、見つけやすさ、フォローの承認制とかアカウントのプライバシーに関わる設定ができるで。"
|
|
||||||
securityBanner: "パスワード、ログイン方法、認証アプリ、パスキーとかアカウントのセキュリティに関わる設定ができるで。"
|
|
||||||
preferencesBanner: "好みに応じた、クライアントの全体的な動作の設定ができるで。"
|
|
||||||
appearanceBanner: "好みに応じた、クライアントの見た目・表示方法に関わる設定ができるで。"
|
|
||||||
soundsBanner: "クライアントで流すサウンドの設定ができるで。"
|
|
||||||
makeEveryTextElementsSelectable: "全部のテキスト要素を選択できるようにする"
|
|
||||||
makeEveryTextElementsSelectable_description: "これをつけると、場面によったら使いにくくなるかもしれん。"
|
|
||||||
useStickyIcons: "アイコンがスクロールにひっつくようにする"
|
|
||||||
enablePullToRefresh_description: "マウスやったら、ホイールを押し込みながらドラッグしてな。"
|
|
||||||
realtimeMode_description: "サーバーと接続を確立して、リアルタイムでコンテンツを更新するで。通信量とバッテリーの消費が多くなるかもしれへん。"
|
|
||||||
contentsUpdateFrequency_description: "高いほどリアルタイムにコンテンツが更新されるんやけど、そのぶんパフォーマンスが落ちるし、通信量とバッテリーの消費も増えるねん。"
|
|
||||||
contentsUpdateFrequency_description2: "リアルタイムモードをつけてるんやったら、この設定がどうであれリアルタイムでコンテンツが更新されるで。"
|
|
||||||
emojiPaletteBanner: "絵文字ピッカーに置いとくプリセットをパレットっていうので登録したり、ピッカーの見た目を変えたりできるで。"
|
|
||||||
_preferencesProfile:
|
|
||||||
profileNameDescription: "このデバイスはなんて呼んだらええんや?"
|
|
||||||
_preferencesBackup:
|
|
||||||
noBackupsFoundTitle: "バックアップが見つからへんね"
|
|
||||||
noBackupsFoundDescription: "自動で作られたバックアップは見つからんかったけど、バックアップファイルを手動で保存してるんやったら、それをインポートして復元できるで。"
|
|
||||||
selectBackupToRestore: "復元するバックアップを選んでや"
|
|
||||||
youNeedToNameYourProfileToEnableAutoBackup: "自動バックアップを有効するんやったらプロファイル名の設定が必要やな。"
|
|
||||||
autoPreferencesBackupIsNotEnabledForThisDevice: "このデバイスで設定の自動バックアップは有効になってへんで。"
|
|
||||||
backupFound: "設定のバックアップがあるみたいやわ"
|
|
||||||
_accountSettings:
|
_accountSettings:
|
||||||
requireSigninToViewContents: "ログインしてもらってからコンテンツ見てもらう"
|
requireSigninToViewContents: "ログインしてもらってからコンテンツ見てもらう"
|
||||||
requireSigninToViewContentsDescription1: "あなたが作成した全部のノートとかのコンテンツを見れるようにするのにログインがいるようにするで。クローラーにいろいろ収集されるんを防げるかもしれん。"
|
requireSigninToViewContentsDescription1: "あなたが作成した全部のノートとかのコンテンツを見れるようにするのにログインがいるようにするで。クローラーにいろいろ収集されるんを防げるかもしれん。"
|
||||||
|
|
@ -1444,9 +1322,8 @@ _accountSettings:
|
||||||
makeNotesFollowersOnlyBefore: "昔のノートをフォロワーだけに見てもらう"
|
makeNotesFollowersOnlyBefore: "昔のノートをフォロワーだけに見てもらう"
|
||||||
makeNotesFollowersOnlyBeforeDescription: "この機能が有効になってる間は、設定された日時より前、それか設定された時間が経ったノートがフォロワーのみ見れるようになるで。無効に戻すと、ノートの公開状態も戻るで。"
|
makeNotesFollowersOnlyBeforeDescription: "この機能が有効になってる間は、設定された日時より前、それか設定された時間が経ったノートがフォロワーのみ見れるようになるで。無効に戻すと、ノートの公開状態も戻るで。"
|
||||||
makeNotesHiddenBefore: "昔のノートを見れんようにする"
|
makeNotesHiddenBefore: "昔のノートを見れんようにする"
|
||||||
makeNotesHiddenBeforeDescription: "この機能が有効になってる間は、設定された日時より前、それか設定された時間が経ったノートがあんただけ見れるようになるで。無効に戻すと、ノートの公開状態も戻るで。"
|
makeNotesHiddenBeforeDescription: "この機能が有効になってる間は、設定された日時より前、それか設定された時間が経ったノートがフォロワーのみ見れるようになるで。無効に戻すと、ノートの公開状態も戻るで。"
|
||||||
mayNotEffectForFederatedNotes: "リモートサーバーに連合されたノートには効果が及ばんかもしれん。"
|
mayNotEffectForFederatedNotes: "リモートサーバーに連合されたノートには効果が及ばんかもしれん。"
|
||||||
mayNotEffectSomeSituations: "これらの制限は簡易的なものやで。リモートサーバーでの閲覧とかモデレーション時とか、一部のシチュエーションでは適用されへんかもしれん。"
|
|
||||||
notesHavePassedSpecifiedPeriod: "決めた時間が経ったノート"
|
notesHavePassedSpecifiedPeriod: "決めた時間が経ったノート"
|
||||||
notesOlderThanSpecifiedDateAndTime: "決めた日時より前のノート"
|
notesOlderThanSpecifiedDateAndTime: "決めた日時より前のノート"
|
||||||
_abuseUserReport:
|
_abuseUserReport:
|
||||||
|
|
@ -1465,7 +1342,6 @@ _delivery:
|
||||||
manuallySuspended: "手動停止中"
|
manuallySuspended: "手動停止中"
|
||||||
goneSuspended: "サーバー削除のため停止中"
|
goneSuspended: "サーバー削除のため停止中"
|
||||||
autoSuspendedForNotResponding: "サーバー応答せえへんから停止中"
|
autoSuspendedForNotResponding: "サーバー応答せえへんから停止中"
|
||||||
softwareSuspended: "配信停止中のソフトウェアやから停止中"
|
|
||||||
_bubbleGame:
|
_bubbleGame:
|
||||||
howToPlay: "遊び方"
|
howToPlay: "遊び方"
|
||||||
hold: "ホールド"
|
hold: "ホールド"
|
||||||
|
|
@ -1520,7 +1396,7 @@ _initialTutorial:
|
||||||
description: "ここでは、Misskeyのカンタンな使い方とか機能を確かめれんで。"
|
description: "ここでは、Misskeyのカンタンな使い方とか機能を確かめれんで。"
|
||||||
_note:
|
_note:
|
||||||
title: "ノートってなんや?"
|
title: "ノートってなんや?"
|
||||||
description: "Misskeyでの投稿は「ノート」って呼ばれてんで。ノートは順々にタイムラインに載ってて、リアルタイムで新しくなってくで。"
|
description: "Misskeyでの投稿は「ノート」って呼ばれてんで。ノートは順々にタイムラインに載ってて、リアルタイムで新しくなってってんで。"
|
||||||
reply: "返信もできるで。返信の返信もできるから、スレッドっぽく会話をそのまま続けれもするで。"
|
reply: "返信もできるで。返信の返信もできるから、スレッドっぽく会話をそのまま続けれもするで。"
|
||||||
renote: "そのノートを自分のタイムラインに流して共有できるで。テキスト入れて引用してもええな。"
|
renote: "そのノートを自分のタイムラインに流して共有できるで。テキスト入れて引用してもええな。"
|
||||||
reaction: "ツッコミをつけることもできるで。細かいことは次のページや。"
|
reaction: "ツッコミをつけることもできるで。細かいことは次のページや。"
|
||||||
|
|
@ -1540,7 +1416,7 @@ _initialTutorial:
|
||||||
social: "ホームタイムラインの投稿もローカルタイムラインのも一緒に見れるで。"
|
social: "ホームタイムラインの投稿もローカルタイムラインのも一緒に見れるで。"
|
||||||
global: "繋がってる他の全サーバーからの投稿が見れるで。"
|
global: "繋がってる他の全サーバーからの投稿が見れるで。"
|
||||||
description2: "それぞれのタイムラインは、いつでも画面上で切り替えられんねん。覚えとき。"
|
description2: "それぞれのタイムラインは、いつでも画面上で切り替えられんねん。覚えとき。"
|
||||||
description3: "その他にも、リストタイムラインとかチャンネルタイムラインとかがあんねん。詳しいのは{link}を見ときや。"
|
description3: "その他にも、リストタイムラインとかチャンネルタイムラインとかがあんねん。詳しいのは{link}を見とき。"
|
||||||
_postNote:
|
_postNote:
|
||||||
title: "ノートの投稿設定"
|
title: "ノートの投稿設定"
|
||||||
description1: "Misskeyにノートを投稿するとき、いろんなオプションが付けれるで。投稿画面はこんな感じや。"
|
description1: "Misskeyにノートを投稿するとき、いろんなオプションが付けれるで。投稿画面はこんな感じや。"
|
||||||
|
|
@ -1576,7 +1452,7 @@ _timelineDescription:
|
||||||
home: "ホームタイムラインは、あんたがフォローしとるアカウントの投稿だけ見れるで。"
|
home: "ホームタイムラインは、あんたがフォローしとるアカウントの投稿だけ見れるで。"
|
||||||
local: "ローカルタイムラインは、このサーバーにおる全員の投稿を見れるで。"
|
local: "ローカルタイムラインは、このサーバーにおる全員の投稿を見れるで。"
|
||||||
social: "ソーシャルタイムラインは、ホームタイムラインの投稿もローカルタイムラインのも一緒に見れるで。"
|
social: "ソーシャルタイムラインは、ホームタイムラインの投稿もローカルタイムラインのも一緒に見れるで。"
|
||||||
global: "グローバルタイムラインは、繋がっとる他のサーバーの投稿、全部ひっくるめて見れるで。"
|
global: "グローバルタイムラインは、繋がっとる他のサーバーの投稿、全部ひっくるめて見れんで。"
|
||||||
_serverRules:
|
_serverRules:
|
||||||
description: "新規登録前に見せる、サーバーのカンタンなルールを決めるで。内容は使うための決め事の要約がええと思うわ。"
|
description: "新規登録前に見せる、サーバーのカンタンなルールを決めるで。内容は使うための決め事の要約がええと思うわ。"
|
||||||
_serverSettings:
|
_serverSettings:
|
||||||
|
|
@ -1592,21 +1468,11 @@ _serverSettings:
|
||||||
fanoutTimelineDbFallback: "データベースにフォールバックする"
|
fanoutTimelineDbFallback: "データベースにフォールバックする"
|
||||||
fanoutTimelineDbFallbackDescription: "有効にしたら、タイムラインがキャッシュん中に入ってないときにDBにもっかい問い合わせるフォールバック処理ってのをやっとくで。切ったらフォールバック処理をやらんからサーバーはもっと軽くなんねんけど、タイムラインの取得範囲がちょっと減るで。"
|
fanoutTimelineDbFallbackDescription: "有効にしたら、タイムラインがキャッシュん中に入ってないときにDBにもっかい問い合わせるフォールバック処理ってのをやっとくで。切ったらフォールバック処理をやらんからサーバーはもっと軽くなんねんけど、タイムラインの取得範囲がちょっと減るで。"
|
||||||
reactionsBufferingDescription: "有効にしたら、リアクション作るときのパフォーマンスがすっごい上がって、データベースへの負荷が減るで。代わりに、Redisのメモリ使用は増えるで。"
|
reactionsBufferingDescription: "有効にしたら、リアクション作るときのパフォーマンスがすっごい上がって、データベースへの負荷が減るで。代わりに、Redisのメモリ使用は増えるで。"
|
||||||
remoteNotesCleaning_description: "つけると、参照されてへん古いリモートの投稿を定期的にクリーンアップしてデータベースの肥大化を抑えてくれるで。"
|
|
||||||
inquiryUrl: "問い合わせ先URL"
|
inquiryUrl: "問い合わせ先URL"
|
||||||
inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定するで。"
|
inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定するで。"
|
||||||
openRegistration: "アカウントの作成をオープンにする"
|
openRegistration: "アカウントの作成をオープンにする"
|
||||||
openRegistrationWarning: "登録を解放するのはリスクあるで。サーバーをいっつも監視して、なんか起きたらすぐに対応できるんやったら、オンにしてもええと思うけどな。"
|
openRegistrationWarning: "登録を解放するのはリスクが伴うで。サーバーをいっつも監視して、なんか起きたらすぐに対応できるんやったら、オンにしてもええと思う。"
|
||||||
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "一定期間モデレーターがおらんかったら、スパムを防ぐためにこの設定は勝手に切られるで。"
|
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "一定期間モデレーターがおらんかったら、スパムを防ぐためにこの設定は勝手に切られるで。"
|
||||||
deliverSuspendedSoftwareDescription: "脆弱性とかの理由で、サーバーのソフトウェアの名前とバージョンの範囲を決めて配信を止められるで。このバージョン情報はサーバーが提供したものやから、信頼性は保証されへん。バージョン指定には semver の範囲指定が使えるねんけど、>= 2024.3.1と指定すると 2024.3.1-custom.0 みたいなカスタムバージョンが含まれへんから、>= 2024.3.1-0 みたいに prerelease を指定するとええかもしれへんな。"
|
|
||||||
singleUserMode_description: "このサーバーを使うとるんが自分だけなんやったら、このモードを有効にすると動作がええ感じになるで。"
|
|
||||||
signToActivityPubGet_description: "通常はつけといてな。連合の通信に関わる問題があるんやったら、無効にすると改善するかもしれへんけど、逆にサーバーによっては通信ができんくなることがあるで。"
|
|
||||||
proxyRemoteFiles_description: "つけると、リモートのファイルをプロキシして提供するで。画像のサムネイル生成とかユーザーのプライバシー保護にええな。"
|
|
||||||
allowExternalApRedirect_description: "つけると、他のサーバーがうちのサーバーを通して第三者のコンテンツを照会できるようになるんやけど、コンテンツのなりすましが発生するかもしれへん。"
|
|
||||||
userGeneratedContentsVisibilityForVisitor_description: "モデレーションが行き届きにくい不適切なリモートコンテンツとかが、うちのサーバー経由で図らずもインターネットに公開されてまうことによるトラブルを防止できたりするで。"
|
|
||||||
userGeneratedContentsVisibilityForVisitor_description2: "サーバーで受け取ったリモートのコンテンツを含め、サーバー内の全部のコンテンツを何でもかんでもインターネットに公開するのはリスクを伴うねん。特に、分散型の特性を知らん閲覧者にとっては、リモートのコンテンツやったとしてもサーバー内で作られたコンテンツやと誤認してまうかもしれへんから、注意が必要やな。"
|
|
||||||
restartServerSetupWizardConfirm_title: "サーバーの初期設定ウィザードをやり直すん?"
|
|
||||||
restartServerSetupWizardConfirm_text: "現在の一部の設定はリセットされるで。"
|
|
||||||
_accountMigration:
|
_accountMigration:
|
||||||
moveFrom: "別のアカウントからこのアカウントに引っ越す"
|
moveFrom: "別のアカウントからこのアカウントに引っ越す"
|
||||||
moveFromSub: "別のアカウントへエイリアスを作る"
|
moveFromSub: "別のアカウントへエイリアスを作る"
|
||||||
|
|
@ -1903,7 +1769,6 @@ _role:
|
||||||
descriptionOfIsExplorable: "オンにしたらロールの面子一覧が「みつける」で公開されるし、ロールのタイムラインが使えるようになるで。"
|
descriptionOfIsExplorable: "オンにしたらロールの面子一覧が「みつける」で公開されるし、ロールのタイムラインが使えるようになるで。"
|
||||||
displayOrder: "表示順"
|
displayOrder: "表示順"
|
||||||
descriptionOfDisplayOrder: "数がでかいほど、UI上で先に表示されるで。"
|
descriptionOfDisplayOrder: "数がでかいほど、UI上で先に表示されるで。"
|
||||||
preserveAssignmentOnMoveAccount_description: "つけると、このロールがのっかったアカウントが引っ越したときに、引っ越し先アカウントにもこのロールがのっかるようになるで。"
|
|
||||||
canEditMembersByModerator: "モデレーターがメンバーいじるのを許す"
|
canEditMembersByModerator: "モデレーターがメンバーいじるのを許す"
|
||||||
descriptionOfCanEditMembersByModerator: "オンにすると、管理者だけやなくてモデレーターもこのロールにユーザーを入れたり抜いたりできるで。オフにすると管理者だけしかやれへんくなるで。"
|
descriptionOfCanEditMembersByModerator: "オンにすると、管理者だけやなくてモデレーターもこのロールにユーザーを入れたり抜いたりできるで。オフにすると管理者だけしかやれへんくなるで。"
|
||||||
priority: "優先度"
|
priority: "優先度"
|
||||||
|
|
@ -1944,8 +1809,6 @@ _role:
|
||||||
canImportFollowing: "フォローのインポートを許す"
|
canImportFollowing: "フォローのインポートを許す"
|
||||||
canImportMuting: "ミュートのインポートを許す"
|
canImportMuting: "ミュートのインポートを許す"
|
||||||
canImportUserLists: "リストのインポートを許す"
|
canImportUserLists: "リストのインポートを許す"
|
||||||
uploadableFileTypes_caption: "MIMEタイプを指定してや。改行で区切って複数指定もできるし、アスタリスク(*)でワイルドカード指定もできるで。(例: image/*)"
|
|
||||||
uploadableFileTypes_caption2: "ファイルによっては種別がわからんこともあるで。そないなファイルを許可するんやったら {x} を指定に追加してな。"
|
|
||||||
_condition:
|
_condition:
|
||||||
roleAssignedTo: "マニュアルロールにアサイン済み"
|
roleAssignedTo: "マニュアルロールにアサイン済み"
|
||||||
isLocal: "ローカルユーザー"
|
isLocal: "ローカルユーザー"
|
||||||
|
|
@ -1991,7 +1854,7 @@ _signup:
|
||||||
emailSent: "さっき入れたメアド({email})宛に確認メールを送ったで。メールに書かれたリンク押してアカウント作るの終わらしてな。\nメールの認証リンクの期限は30分や。"
|
emailSent: "さっき入れたメアド({email})宛に確認メールを送ったで。メールに書かれたリンク押してアカウント作るの終わらしてな。\nメールの認証リンクの期限は30分や。"
|
||||||
_accountDelete:
|
_accountDelete:
|
||||||
accountDelete: "アカウントの削除"
|
accountDelete: "アカウントの削除"
|
||||||
mayTakeTime: "アカウント消すんはサーバーに負荷かかるんやって。やから、作ったコンテンツとか上げたファイルの数が多いと消し終わるまでに時間がかかるかもしれんわ。"
|
mayTakeTime: "アカウント消すんはサーバーが重いんやって。やから作ったコンテンツとか上げたファイルの数が多いと消し終わるまでに時間がかかるかもしれへん。"
|
||||||
sendEmail: "アカウントの消し終わるときは、登録してたメアドに通知するで。"
|
sendEmail: "アカウントの消し終わるときは、登録してたメアドに通知するで。"
|
||||||
requestAccountDelete: "アカウント削除頼む"
|
requestAccountDelete: "アカウント削除頼む"
|
||||||
started: "削除処理が始まったで。"
|
started: "削除処理が始まったで。"
|
||||||
|
|
@ -2145,7 +2008,7 @@ _theme:
|
||||||
navIndicator: "サイドバーのインジケーター"
|
navIndicator: "サイドバーのインジケーター"
|
||||||
link: "リンク"
|
link: "リンク"
|
||||||
hashtag: "ハッシュタグ"
|
hashtag: "ハッシュタグ"
|
||||||
mention: "あんた宛て"
|
mention: "メンション"
|
||||||
mentionMe: "うち宛てのメンション"
|
mentionMe: "うち宛てのメンション"
|
||||||
renote: "Renote"
|
renote: "Renote"
|
||||||
modalBg: "モーダルの背景"
|
modalBg: "モーダルの背景"
|
||||||
|
|
@ -2170,7 +2033,6 @@ _sfx:
|
||||||
noteMy: "ノート(自分)"
|
noteMy: "ノート(自分)"
|
||||||
notification: "通知"
|
notification: "通知"
|
||||||
reaction: "ツッコミ選んどるとき"
|
reaction: "ツッコミ選んどるとき"
|
||||||
chatMessage: "チャットしよか"
|
|
||||||
_soundSettings:
|
_soundSettings:
|
||||||
driveFile: "ドライブん中の音使う"
|
driveFile: "ドライブん中の音使う"
|
||||||
driveFileWarn: "ドライブん中のファイル選びや"
|
driveFileWarn: "ドライブん中のファイル選びや"
|
||||||
|
|
@ -2331,7 +2193,6 @@ _auth:
|
||||||
scopeUser: "以下のユーザーとしていじってるで"
|
scopeUser: "以下のユーザーとしていじってるで"
|
||||||
pleaseLogin: "アプリにアクセスさせるんやったら、ログインしてや。"
|
pleaseLogin: "アプリにアクセスさせるんやったら、ログインしてや。"
|
||||||
byClickingYouWillBeRedirectedToThisUrl: "アクセスを許したら、自動で下のURLに遷移するで"
|
byClickingYouWillBeRedirectedToThisUrl: "アクセスを許したら、自動で下のURLに遷移するで"
|
||||||
alreadyAuthorized: "このアプリはもうアクセスを許可してるみたいやで。"
|
|
||||||
_antennaSources:
|
_antennaSources:
|
||||||
all: "みんなのノート"
|
all: "みんなのノート"
|
||||||
homeTimeline: "フォローしとるユーザーのノート"
|
homeTimeline: "フォローしとるユーザーのノート"
|
||||||
|
|
@ -2377,16 +2238,6 @@ _widgets:
|
||||||
chooseList: "リストを選ぶ"
|
chooseList: "リストを選ぶ"
|
||||||
clicker: "クリッカー"
|
clicker: "クリッカー"
|
||||||
birthdayFollowings: "今日誕生日のツレ"
|
birthdayFollowings: "今日誕生日のツレ"
|
||||||
chat: "チャットしよか"
|
|
||||||
_widgetOptions:
|
|
||||||
showHeader: "ヘッダー出す"
|
|
||||||
height: "高さ"
|
|
||||||
_button:
|
|
||||||
colored: "色付き"
|
|
||||||
_clock:
|
|
||||||
size: "大きさ"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "期間"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "隠す"
|
hide: "隠す"
|
||||||
show: "続き見して!"
|
show: "続き見して!"
|
||||||
|
|
@ -2426,19 +2277,9 @@ _visibility:
|
||||||
disableFederation: "連合なし"
|
disableFederation: "連合なし"
|
||||||
disableFederationDescription: "他サーバーへは送らんとくわ"
|
disableFederationDescription: "他サーバーへは送らんとくわ"
|
||||||
_postForm:
|
_postForm:
|
||||||
quitInspiteOfThereAreUnuploadedFilesConfirm: "アップロードされてへんファイルがあるんやけど、ほかしてフォームを閉じてもええんか?"
|
|
||||||
uploaderTip: "ファイルはまだアップロードされてへんで。ファイルのメニューから、リネームとか画像のクロップ、ウォーターマークをのっける、圧縮するかどうかなんかを設定できるで。ファイルはノートを投稿するときに自動でアップロードされるで。"
|
|
||||||
replyPlaceholder: "このノートに返信..."
|
replyPlaceholder: "このノートに返信..."
|
||||||
quotePlaceholder: "このノートを引用..."
|
quotePlaceholder: "このノートを引用..."
|
||||||
channelPlaceholder: "チャンネルに投稿..."
|
channelPlaceholder: "チャンネルに投稿..."
|
||||||
_howToUse:
|
|
||||||
toolbar_description: "ファイルとかアンケートを付けたり、注釈とかハッシュタグを書いたり、絵文字とかメンションとかを付け足したりできるで。"
|
|
||||||
account_description: "投稿するアカウントを変えたり、アカウントに保存した下書きとか予約投稿とかを見れるで。"
|
|
||||||
visibility_title: "公開範囲"
|
|
||||||
visibility_description: "ノートを誰に見せたいかはここで切り替えてな。"
|
|
||||||
menu_title: "メニュー"
|
|
||||||
menu_description: "下書きに保存したり、投稿の予約したり、リアクションの受け入れ設定とか…なんか色々できるで。"
|
|
||||||
submit_description: "ノートを投稿するときはここ押してな。Ctrl + Enter / Cmd + Enter でも投稿できるで。"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "いまどないしとるん?"
|
a: "いまどないしとるん?"
|
||||||
b: "何かあったん?"
|
b: "何かあったん?"
|
||||||
|
|
@ -2584,12 +2425,9 @@ _notification:
|
||||||
youReceivedFollowRequest: "フォロー許可してほしいみたいやな"
|
youReceivedFollowRequest: "フォロー許可してほしいみたいやな"
|
||||||
yourFollowRequestAccepted: "フォローさせてもろたで"
|
yourFollowRequestAccepted: "フォローさせてもろたで"
|
||||||
pollEnded: "アンケートの結果が出たみたいや"
|
pollEnded: "アンケートの結果が出たみたいや"
|
||||||
scheduledNotePosted: "予約ノートが投稿されたで"
|
|
||||||
scheduledNotePostFailed: "予約ノート投稿できんかったで"
|
|
||||||
newNote: "さらの投稿"
|
newNote: "さらの投稿"
|
||||||
unreadAntennaNote: "アンテナ {name}"
|
unreadAntennaNote: "アンテナ {name}"
|
||||||
roleAssigned: "ロールが付与されたで"
|
roleAssigned: "ロールが付与されたで"
|
||||||
chatRoomInvitationReceived: "チャットルームへ招待されたで"
|
|
||||||
emptyPushNotificationMessage: "プッシュ通知の更新をしといたで"
|
emptyPushNotificationMessage: "プッシュ通知の更新をしといたで"
|
||||||
achievementEarned: "実績を獲得しとるで"
|
achievementEarned: "実績を獲得しとるで"
|
||||||
testNotification: "通知テスト"
|
testNotification: "通知テスト"
|
||||||
|
|
@ -2609,7 +2447,7 @@ _notification:
|
||||||
all: "すべて"
|
all: "すべて"
|
||||||
note: "あんたらの新規投稿"
|
note: "あんたらの新規投稿"
|
||||||
follow: "フォロー"
|
follow: "フォロー"
|
||||||
mention: "あんた宛て"
|
mention: "メンション"
|
||||||
reply: "リプライ"
|
reply: "リプライ"
|
||||||
renote: "リノート"
|
renote: "リノート"
|
||||||
quote: "引用"
|
quote: "引用"
|
||||||
|
|
@ -2659,7 +2497,6 @@ _deck:
|
||||||
mentions: "あんた宛て"
|
mentions: "あんた宛て"
|
||||||
direct: "ダイレクト"
|
direct: "ダイレクト"
|
||||||
roleTimeline: "ロールタイムライン"
|
roleTimeline: "ロールタイムライン"
|
||||||
chat: "チャットしよか"
|
|
||||||
_dialog:
|
_dialog:
|
||||||
charactersExceeded: "最大の文字数を上回っとるで!今は {current} / 最大でも {max}"
|
charactersExceeded: "最大の文字数を上回っとるで!今は {current} / 最大でも {max}"
|
||||||
charactersBelow: "最小の文字数を下回っとるで!今は {current} / 最低でも {min}"
|
charactersBelow: "最小の文字数を下回っとるで!今は {current} / 最低でも {min}"
|
||||||
|
|
@ -2780,7 +2617,7 @@ _externalResourceInstaller:
|
||||||
_errors:
|
_errors:
|
||||||
_invalidParams:
|
_invalidParams:
|
||||||
title: ""
|
title: ""
|
||||||
description: "外部サイトからデータを持ってくるのに欲しい情報が足らへんみたいやわ。URLは合っとる?"
|
description: ""
|
||||||
_resourceTypeNotSupported:
|
_resourceTypeNotSupported:
|
||||||
title: ""
|
title: ""
|
||||||
description: ""
|
description: ""
|
||||||
|
|
@ -2810,12 +2647,8 @@ _dataSaver:
|
||||||
_avatar:
|
_avatar:
|
||||||
title: "アイコンの絵"
|
title: "アイコンの絵"
|
||||||
description: "アイコン画像のアニメが止まるで。普通の画像よりもデータ量がでかいから、もっと通信量を節約できるねん。"
|
description: "アイコン画像のアニメが止まるで。普通の画像よりもデータ量がでかいから、もっと通信量を節約できるねん。"
|
||||||
_urlPreviewThumbnail:
|
|
||||||
description: "URLプレビューのサムネイル画像が読み込まれへんくなるで。"
|
|
||||||
_disableUrlPreview:
|
|
||||||
description: "URLプレビュー機能を切るで。サムネイル画像だけと違って、リンク先の情報の読み込み自体を削減できるで。"
|
|
||||||
_code:
|
_code:
|
||||||
title: "コードハイライトは表示せんでええ"
|
title: "コードハイライト"
|
||||||
description: "MFMとかでコードハイライト記法が使われてるとき、タップするまで読み込まれへんくなるで。コードハイライトではハイライトする言語ごとにその決めてるファイルを読む必要はあんねんな。けどな、それは自動で読み込まれなくなるから、通信量を少なくできることができるねん。"
|
description: "MFMとかでコードハイライト記法が使われてるとき、タップするまで読み込まれへんくなるで。コードハイライトではハイライトする言語ごとにその決めてるファイルを読む必要はあんねんな。けどな、それは自動で読み込まれなくなるから、通信量を少なくできることができるねん。"
|
||||||
_hemisphere:
|
_hemisphere:
|
||||||
N: "北半球"
|
N: "北半球"
|
||||||
|
|
@ -2871,7 +2704,6 @@ _offlineScreen:
|
||||||
_urlPreviewSetting:
|
_urlPreviewSetting:
|
||||||
title: "URLプレビューの設定"
|
title: "URLプレビューの設定"
|
||||||
enable: "URLプレビューを有効にする"
|
enable: "URLプレビューを有効にする"
|
||||||
allowRedirectDescription: "入力されたURLがリダイレクトされるとき、そのリダイレクト先をたどってプレビューを表示するかどうかを設定できるで。無効にするとサーバーリソースを節約できるんやけど、リダイレクト先の内容は表示されへんくなるで。"
|
|
||||||
timeout: "プレビュー取得時のタイムアウト(ms)"
|
timeout: "プレビュー取得時のタイムアウト(ms)"
|
||||||
timeoutDescription: "プレビュー取得の所要時間がこの値を超えた場合、プレビューは生成されへんで。"
|
timeoutDescription: "プレビュー取得の所要時間がこの値を超えた場合、プレビューは生成されへんで。"
|
||||||
maximumContentLength: "Content-Lengthの最大値(byte)"
|
maximumContentLength: "Content-Lengthの最大値(byte)"
|
||||||
|
|
@ -3016,58 +2848,8 @@ _search:
|
||||||
searchScopeAll: "みんな"
|
searchScopeAll: "みんな"
|
||||||
searchScopeLocal: "ローカル"
|
searchScopeLocal: "ローカル"
|
||||||
searchScopeUser: "ユーザー指定"
|
searchScopeUser: "ユーザー指定"
|
||||||
pleaseEnterServerHost: "サーバーのホストはどないするん?"
|
|
||||||
pleaseSelectUser: "ユーザーを選んでや"
|
|
||||||
_serverSetupWizard:
|
|
||||||
installCompleted: "Misskeyのインストールが終わったで!"
|
|
||||||
firstCreateAccount: "最初は、管理者アカウントを作成しよか。"
|
|
||||||
accountCreated: "管理者アカウントができたで!"
|
|
||||||
youCanEasilyConfigureOptimalServerSettingsWithThisWizard: "このウィザードで簡単にええ感じのサーバーの設定ができるで。"
|
|
||||||
settingsYouMakeHereCanBeChangedLater: "ここでの設定は、あとからでも変えられるで。"
|
|
||||||
howWillYouUseMisskey: "Misskeyをどんな感じに使うん?"
|
|
||||||
_use:
|
|
||||||
single_youCanCreateMultipleAccounts: "お一人様サーバーとして運用するとしても、アカウントは必要に応じて複数作れるで。"
|
|
||||||
openServerAdvice: "不特定多数の利用者を受け入れるには相応のリスクがあるで。トラブルに対処できるよう、ちゃんとしたモデレーション体制で運営しいや。"
|
|
||||||
openServerAntiSpamAdvice: "うちのサーバーがスパムの踏み台にならへんように、reCAPTCHAとかのアンチボット機能を使う、みたいなセキュリティ対策もしっかり考えてな。"
|
|
||||||
howManyUsersDoYouExpect: "どれくらいの人数を考えとるん?"
|
|
||||||
largeScaleServerAdvice: "大規模なサーバーやったら、ロードバランシングとかデータベースのレプリケーションみたいな、高度なインフラストラクチャーの知識が必要になるかもしれへんわ。"
|
|
||||||
doYouConnectToFediverse: "Fediverseと接続するんやっけ?"
|
|
||||||
doYouConnectToFediverse_description1: "分散型サーバーでできたネットワーク(Fediverse)に繋げると、他のサーバーと相互にコンテンツのやり取りができるようになるで。"
|
|
||||||
doYouConnectToFediverse_description2: "Fediverseと接続することは「連合」とも呼ばれるな。"
|
|
||||||
youCanConfigureMoreFederationSettingsLater: "連合してもええサーバーの指定とか、高度な設定も後でできるで。"
|
|
||||||
remoteContentsCleaning_description: "連合すると、ぎょうさんコンテンツを受け取り続けることになるねん。自動クリーニングをつけると、参照されてない古いコンテンツを自動でサーバーからほかして、ストレージを節約できるで。"
|
|
||||||
adminInfo_description: "問い合わせを受け付けるのに使う管理者情報を設定しよか。"
|
|
||||||
adminInfo_mustBeFilled: "オープンサーバー、もしくは連合を入れとるんやったら必ず入力せなあかんで。"
|
|
||||||
followingSettingsAreRecommended: "こういう設定がええかもな"
|
|
||||||
settingsCompleted: "設定が終わったで!"
|
|
||||||
settingsCompleted_description: "お疲れさん。準備ができたから、さっそくサーバーを使い始められるで。"
|
|
||||||
settingsCompleted_description2: "細かいサーバー設定は、「コントロールパネル」を見てみてな。"
|
|
||||||
_donationRequest:
|
|
||||||
text1: "Misskeyは有志で開発されとる無料のソフトウェアやで。"
|
|
||||||
text2: "今後も開発を続けられるように、よかったらぜひカンパをお願いするわ。"
|
|
||||||
text3: "支援者向け特典もあるで!"
|
|
||||||
_uploader:
|
|
||||||
abortConfirm: "アップロードされてへんファイルがあるんやけど、やめてもええんか?"
|
|
||||||
doneConfirm: "アップロードされてへんファイルがあるんやけど、完了してもええんか?"
|
|
||||||
maxFileSizeIsX: "アップロードできるファイルサイズは{x}までやで。"
|
|
||||||
tip: "ファイルはまだアップロードされてへんで。このダイアログで、アップロードする前に確認・リネーム・圧縮・クロッピングとかをできるで。準備が出来たら、「アップロード」ボタンを押してアップロードしてな。"
|
|
||||||
_clientPerformanceIssueTip:
|
|
||||||
title: "バッテリーようさん食うなぁと思ったら"
|
|
||||||
makeSureDisabledAdBlocker: "アドブロッカーを切ってみてや"
|
|
||||||
makeSureDisabledAdBlocker_description: "アドブロッカーはパフォーマンスに影響があるかもしれへん。OSの機能とかブラウザの機能・アドオンとかでアドブロッカーが有効になってないか確認してや。"
|
|
||||||
makeSureDisabledCustomCss: "カスタムCSSを無効にしてみてや"
|
|
||||||
makeSureDisabledCustomCss_description: "スタイルを上書きするとパフォーマンスに影響があるかもしれへん。カスタムCSSとか、スタイルを上書きする拡張機能が有効になってないか確認してや。"
|
|
||||||
makeSureDisabledAddons: "拡張機能を無効にしてみてや"
|
|
||||||
makeSureDisabledAddons_description: "なんかの拡張機能がクライアントの動作にちょっかいをかけてパフォーマンスに影響を与えてるかもしれへん。ブラウザの拡張機能を無効にして良くなるか確認してや。"
|
|
||||||
_clip:
|
|
||||||
tip: "クリップは、ノートをまとめられる機能やで。"
|
|
||||||
_userLists:
|
|
||||||
tip: "好きなユーザーを含むリストを作れるねん。作ったリストはタイムラインとして表示できるで。"
|
|
||||||
_watermarkEditor:
|
_watermarkEditor:
|
||||||
tip: "画像にクレジット情報とかのウォーターマークをのっけられるで。"
|
|
||||||
quitWithoutSaveConfirm: "保存せずに終わってもええんか?"
|
|
||||||
driveFileTypeWarn: "このファイルは対応しとらへん"
|
driveFileTypeWarn: "このファイルは対応しとらへん"
|
||||||
driveFileTypeWarnDescription: "画像ファイルを選んでや"
|
|
||||||
opacity: "不透明度"
|
opacity: "不透明度"
|
||||||
scale: "大きさ"
|
scale: "大きさ"
|
||||||
text: "テキスト"
|
text: "テキスト"
|
||||||
|
|
@ -3076,25 +2858,3 @@ _watermarkEditor:
|
||||||
image: "画像"
|
image: "画像"
|
||||||
advanced: "高度"
|
advanced: "高度"
|
||||||
angle: "角度"
|
angle: "角度"
|
||||||
failedToLoadImage: "あかん、画像読み込まれへんわ"
|
|
||||||
_imageEffector:
|
|
||||||
discardChangesConfirm: "変更をせんで終わるか?"
|
|
||||||
failedToLoadImage: "あかん、画像読み込まれへんわ"
|
|
||||||
_fxProps:
|
|
||||||
angle: "角度"
|
|
||||||
scale: "大きさ"
|
|
||||||
size: "大きさ"
|
|
||||||
offset: "位置"
|
|
||||||
color: "色"
|
|
||||||
opacity: "不透明度"
|
|
||||||
lightness: "明るさ"
|
|
||||||
_drafts:
|
|
||||||
cannotCreateDraftAnymore: "下書きはこれ以上は作れへんな。"
|
|
||||||
cannotCreateDraft: "この内容で下書きは作れへんな。"
|
|
||||||
delete: "下書きをほかす"
|
|
||||||
deleteAreYouSure: "下書きをほかしてもええか?"
|
|
||||||
noDrafts: "下書きはあらへん"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "表示"
|
|
||||||
shareText: "Fediverseでフォローしてな!"
|
|
||||||
raw: "テキスト"
|
|
||||||
|
|
|
||||||
|
|
@ -57,10 +57,6 @@ searchByGoogle: "Nadi"
|
||||||
file: "Ifuyla"
|
file: "Ifuyla"
|
||||||
account: "Imiḍan"
|
account: "Imiḍan"
|
||||||
replies: "Err"
|
replies: "Err"
|
||||||
_imageFrameEditor:
|
|
||||||
font: "Tasefsit"
|
|
||||||
fontSerif: "Serif"
|
|
||||||
fontSansSerif: "Sans Serif"
|
|
||||||
_email:
|
_email:
|
||||||
_follow:
|
_follow:
|
||||||
title: "Yeṭṭafaṛ-ik·em-id"
|
title: "Yeṭṭafaṛ-ik·em-id"
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,6 @@ showMore: "ಇನ್ನಷ್ಟು ನೋಡು"
|
||||||
youGotNewFollower: "ಹಿಂಬಾಲಿಸಿದರು"
|
youGotNewFollower: "ಹಿಂಬಾಲಿಸಿದರು"
|
||||||
receiveFollowRequest: "ಹಿಂಬಾಲನೆ ವಿನಂತಿ ಬಂದಿದೆ"
|
receiveFollowRequest: "ಹಿಂಬಾಲನೆ ವಿನಂತಿ ಬಂದಿದೆ"
|
||||||
followRequestAccepted: "ಹಿಂಬಾಲನೆ ವಿನಂತಿ ಸ್ವೀಕರಿಸಲಾಯಿತು"
|
followRequestAccepted: "ಹಿಂಬಾಲನೆ ವಿನಂತಿ ಸ್ವೀಕರಿಸಲಾಯಿತು"
|
||||||
mention: "ಹೆಸರಿಸಿದ"
|
|
||||||
mentions: "ಹೆಸರಿಸಿದ"
|
mentions: "ಹೆಸರಿಸಿದ"
|
||||||
directNotes: "ನೇರ ಟಿಪ್ಪಣಿಗಳು"
|
directNotes: "ನೇರ ಟಿಪ್ಪಣಿಗಳು"
|
||||||
importAndExport: "ಆಮದು/ರಫ್ತು"
|
importAndExport: "ಆಮದು/ರಫ್ತು"
|
||||||
|
|
@ -66,9 +65,6 @@ replies: "ಉತ್ತರಿಸು"
|
||||||
_email:
|
_email:
|
||||||
_follow:
|
_follow:
|
||||||
title: "ಹಿಂಬಾಲಿಸಿದರು"
|
title: "ಹಿಂಬಾಲಿಸಿದರು"
|
||||||
_theme:
|
|
||||||
keys:
|
|
||||||
mention: "ಹೆಸರಿಸಿದ"
|
|
||||||
_sfx:
|
_sfx:
|
||||||
notification: "ಅಧಿಸೂಚನೆಗಳು"
|
notification: "ಅಧಿಸೂಚನೆಗಳು"
|
||||||
_widgets:
|
_widgets:
|
||||||
|
|
@ -77,14 +73,11 @@ _widgets:
|
||||||
timeline: "ಸಮಯಸಾಲು"
|
timeline: "ಸಮಯಸಾಲು"
|
||||||
_cw:
|
_cw:
|
||||||
show: "ಇನ್ನಷ್ಟು ನೋಡು"
|
show: "ಇನ್ನಷ್ಟು ನೋಡು"
|
||||||
_visibility:
|
|
||||||
specified: "ನೇರ ಟಿಪ್ಪಣಿಗಳು"
|
|
||||||
_profile:
|
_profile:
|
||||||
username: "ಬಳಕೆಹೆಸರು"
|
username: "ಬಳಕೆಹೆಸರು"
|
||||||
_notification:
|
_notification:
|
||||||
youWereFollowed: "ಹಿಂಬಾಲಿಸಿದರು"
|
youWereFollowed: "ಹಿಂಬಾಲಿಸಿದರು"
|
||||||
_types:
|
_types:
|
||||||
mention: "ಹೆಸರಿಸಿದ"
|
|
||||||
login: "ಪ್ರವೇಶ"
|
login: "ಪ್ರವೇಶ"
|
||||||
_actions:
|
_actions:
|
||||||
reply: "ಉತ್ತರಿಸು"
|
reply: "ಉತ್ತರಿಸು"
|
||||||
|
|
@ -93,4 +86,3 @@ _deck:
|
||||||
notifications: "ಅಧಿಸೂಚನೆಗಳು"
|
notifications: "ಅಧಿಸೂಚನೆಗಳು"
|
||||||
tl: "ಸಮಯಸಾಲು"
|
tl: "ಸಮಯಸಾಲು"
|
||||||
mentions: "ಹೆಸರಿಸಿದ"
|
mentions: "ಹೆಸರಿಸಿದ"
|
||||||
direct: "ನೇರ ಟಿಪ್ಪಣಿಗಳು"
|
|
||||||
|
|
|
||||||
|
|
@ -651,9 +651,6 @@ renotes: "리노트"
|
||||||
attach: "옇기"
|
attach: "옇기"
|
||||||
surrender: "아이예"
|
surrender: "아이예"
|
||||||
information: "정보"
|
information: "정보"
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "파일 이럼"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "초대하기"
|
invitations: "초대하기"
|
||||||
noHistory: "기록이 없십니다"
|
noHistory: "기록이 없십니다"
|
||||||
|
|
@ -748,7 +745,7 @@ _menuDisplay:
|
||||||
_theme:
|
_theme:
|
||||||
description: "설멩"
|
description: "설멩"
|
||||||
keys:
|
keys:
|
||||||
mention: "받언 멘션"
|
mention: "멘션"
|
||||||
renote: "리노트"
|
renote: "리노트"
|
||||||
_sfx:
|
_sfx:
|
||||||
note: "새 노트"
|
note: "새 노트"
|
||||||
|
|
@ -778,7 +775,6 @@ _cw:
|
||||||
_visibility:
|
_visibility:
|
||||||
home: "덜머리"
|
home: "덜머리"
|
||||||
followers: "팔로워"
|
followers: "팔로워"
|
||||||
specified: "쪽지 서기"
|
|
||||||
_postForm:
|
_postForm:
|
||||||
_placeholders:
|
_placeholders:
|
||||||
e: "옇다 서 주이소"
|
e: "옇다 서 주이소"
|
||||||
|
|
@ -813,7 +809,7 @@ _notification:
|
||||||
newNote: "새 걸"
|
newNote: "새 걸"
|
||||||
_types:
|
_types:
|
||||||
follow: "팔로잉"
|
follow: "팔로잉"
|
||||||
mention: "받언 멘션"
|
mention: "멘션"
|
||||||
renote: "리노트"
|
renote: "리노트"
|
||||||
quote: "따오기"
|
quote: "따오기"
|
||||||
reaction: "반엉"
|
reaction: "반엉"
|
||||||
|
|
@ -828,7 +824,6 @@ _deck:
|
||||||
antenna: "안테나"
|
antenna: "안테나"
|
||||||
list: "리스트"
|
list: "리스트"
|
||||||
mentions: "받언 멘션"
|
mentions: "받언 멘션"
|
||||||
direct: "쪽지 서기"
|
|
||||||
_webhookSettings:
|
_webhookSettings:
|
||||||
name: "이럼"
|
name: "이럼"
|
||||||
_abuseReport:
|
_abuseReport:
|
||||||
|
|
@ -855,5 +850,3 @@ _search:
|
||||||
searchScopeUser: "사용자 지정"
|
searchScopeUser: "사용자 지정"
|
||||||
_watermarkEditor:
|
_watermarkEditor:
|
||||||
image: "이미지"
|
image: "이미지"
|
||||||
_qr:
|
|
||||||
showTabTitle: "보기"
|
|
||||||
|
|
|
||||||
|
|
@ -83,8 +83,6 @@ files: "파일"
|
||||||
download: "다운로드"
|
download: "다운로드"
|
||||||
driveFileDeleteConfirm: "‘{name}’ 파일을 삭제하시겠습니까? 이 파일을 사용하는 일부 콘텐츠도 삭제됩니다."
|
driveFileDeleteConfirm: "‘{name}’ 파일을 삭제하시겠습니까? 이 파일을 사용하는 일부 콘텐츠도 삭제됩니다."
|
||||||
unfollowConfirm: "{name}님을 언팔로우하시겠습니까?"
|
unfollowConfirm: "{name}님을 언팔로우하시겠습니까?"
|
||||||
cancelFollowRequestConfirm: "{name}(으)로의 팔로우 신청을 취소하시겠습니까?"
|
|
||||||
rejectFollowRequestConfirm: "{name}(으)로부터의 팔로우 신청을 거부하시겠습니까?"
|
|
||||||
exportRequested: "내보내기를 요청하였습니다. 이 작업은 시간이 걸릴 수 있습니다. 내보내기가 완료되면 \"드라이브\"에 추가됩니다."
|
exportRequested: "내보내기를 요청하였습니다. 이 작업은 시간이 걸릴 수 있습니다. 내보내기가 완료되면 \"드라이브\"에 추가됩니다."
|
||||||
importRequested: "가져오기를 요청하였습니다. 이 작업에는 시간이 걸릴 수 있습니다."
|
importRequested: "가져오기를 요청하였습니다. 이 작업에는 시간이 걸릴 수 있습니다."
|
||||||
lists: "리스트"
|
lists: "리스트"
|
||||||
|
|
@ -255,7 +253,6 @@ noteDeleteConfirm: "이 노트를 삭제하시겠습니까?"
|
||||||
pinLimitExceeded: "더 이상 고정할 수 없습니다."
|
pinLimitExceeded: "더 이상 고정할 수 없습니다."
|
||||||
done: "완료"
|
done: "완료"
|
||||||
processing: "처리중"
|
processing: "처리중"
|
||||||
preprocessing: "준비중"
|
|
||||||
preview: "미리보기"
|
preview: "미리보기"
|
||||||
default: "기본값"
|
default: "기본값"
|
||||||
defaultValueIs: "기본값: {value}"
|
defaultValueIs: "기본값: {value}"
|
||||||
|
|
@ -304,7 +301,6 @@ uploadFromUrlMayTakeTime: "업로드가 완료될 때까지 시간이 소요될
|
||||||
uploadNFiles: "{n}개의 파일을 업로"
|
uploadNFiles: "{n}개의 파일을 업로"
|
||||||
explore: "둘러보기"
|
explore: "둘러보기"
|
||||||
messageRead: "읽음"
|
messageRead: "읽음"
|
||||||
readAllChatMessages: "모든 메시지를 읽은 상태로 표시"
|
|
||||||
noMoreHistory: "이것보다 과거의 기록이 없습니다"
|
noMoreHistory: "이것보다 과거의 기록이 없습니다"
|
||||||
startChat: "채팅을 시작하기"
|
startChat: "채팅을 시작하기"
|
||||||
nUsersRead: "{n}명이 읽음"
|
nUsersRead: "{n}명이 읽음"
|
||||||
|
|
@ -337,7 +333,6 @@ fileName: "파일명"
|
||||||
selectFile: "파일 선택"
|
selectFile: "파일 선택"
|
||||||
selectFiles: "파일 선택"
|
selectFiles: "파일 선택"
|
||||||
selectFolder: "폴더 선택"
|
selectFolder: "폴더 선택"
|
||||||
unselectFolder: "폴더 선택 해제"
|
|
||||||
selectFolders: "폴더 선택"
|
selectFolders: "폴더 선택"
|
||||||
fileNotSelected: "파일을 선택하지 않았습니다"
|
fileNotSelected: "파일을 선택하지 않았습니다"
|
||||||
renameFile: "파일 이름 변경"
|
renameFile: "파일 이름 변경"
|
||||||
|
|
@ -350,7 +345,6 @@ addFile: "파일 추가"
|
||||||
showFile: "파일 표시하기"
|
showFile: "파일 표시하기"
|
||||||
emptyDrive: "드라이브가 비어 있습니다"
|
emptyDrive: "드라이브가 비어 있습니다"
|
||||||
emptyFolder: "폴더가 비어 있습니다"
|
emptyFolder: "폴더가 비어 있습니다"
|
||||||
dropHereToUpload: "업로드할 파일을 여기로 드롭하십시오"
|
|
||||||
unableToDelete: "삭제할 수 없습니다"
|
unableToDelete: "삭제할 수 없습니다"
|
||||||
inputNewFileName: "바꿀 파일명을 입력해 주세요"
|
inputNewFileName: "바꿀 파일명을 입력해 주세요"
|
||||||
inputNewDescription: "새 캡션을 입력해 주세요"
|
inputNewDescription: "새 캡션을 입력해 주세요"
|
||||||
|
|
@ -778,7 +772,6 @@ lockedAccountInfo: "팔로우를 승인으로 승인받더라도 노트의 공
|
||||||
alwaysMarkSensitive: "미디어를 항상 열람 주의로 설정"
|
alwaysMarkSensitive: "미디어를 항상 열람 주의로 설정"
|
||||||
loadRawImages: "첨부한 이미지의 썸네일을 원본화질로 표시"
|
loadRawImages: "첨부한 이미지의 썸네일을 원본화질로 표시"
|
||||||
disableShowingAnimatedImages: "움직이는 이미지를 자동으로 재생하지 않음"
|
disableShowingAnimatedImages: "움직이는 이미지를 자동으로 재생하지 않음"
|
||||||
disableShowingAnimatedImages_caption: "이 설정에 상관없이 애니메이션 이미지가 재생되지 않을 때는 브라우저·OS의 액티비티 설정이나 절전 모드 설정 등이 간섭하고 있는 경우가 있습니다."
|
|
||||||
highlightSensitiveMedia: "미디어가 민감한 내용이라는 것을 알기 쉽게 표시"
|
highlightSensitiveMedia: "미디어가 민감한 내용이라는 것을 알기 쉽게 표시"
|
||||||
verificationEmailSent: "확인 메일을 발송하였습니다. 설정을 완료하려면 메일에 첨부된 링크를 확인해 주세요."
|
verificationEmailSent: "확인 메일을 발송하였습니다. 설정을 완료하려면 메일에 첨부된 링크를 확인해 주세요."
|
||||||
notSet: "설정되지 않음"
|
notSet: "설정되지 않음"
|
||||||
|
|
@ -1025,9 +1018,6 @@ pushNotificationAlreadySubscribed: "푸시 알림이 이미 켜져 있습니다"
|
||||||
pushNotificationNotSupported: "브라우저나 서버에서 푸시 알림이 지원되지 않습니다"
|
pushNotificationNotSupported: "브라우저나 서버에서 푸시 알림이 지원되지 않습니다"
|
||||||
sendPushNotificationReadMessage: "푸시 알림이나 메시지를 읽은 뒤 푸시 알림을 삭제"
|
sendPushNotificationReadMessage: "푸시 알림이나 메시지를 읽은 뒤 푸시 알림을 삭제"
|
||||||
sendPushNotificationReadMessageCaption: "「{emptyPushNotificationMessage}」이라는 알림이 잠깐 표시됩니다. 기기의 전력 소비량이 증가할 수 있습니다."
|
sendPushNotificationReadMessageCaption: "「{emptyPushNotificationMessage}」이라는 알림이 잠깐 표시됩니다. 기기의 전력 소비량이 증가할 수 있습니다."
|
||||||
pleaseAllowPushNotification: "브라우저의 알림 설정을 허가해 주십시오."
|
|
||||||
browserPushNotificationDisabled: "알림 송신 권한 얻기에 실패했습니다."
|
|
||||||
browserPushNotificationDisabledDescription: "{serverName}에서의 알림 송신 권한이 없습니다. 브라우저의 설정에서 알림을 허가해 다시 시도해 주십시오."
|
|
||||||
windowMaximize: "최대화"
|
windowMaximize: "최대화"
|
||||||
windowMinimize: "최소화"
|
windowMinimize: "최소화"
|
||||||
windowRestore: "복구"
|
windowRestore: "복구"
|
||||||
|
|
@ -1064,7 +1054,6 @@ permissionDeniedError: "작업이 거부되었습니다"
|
||||||
permissionDeniedErrorDescription: "이 작업을 수행할 권한이 없습니다."
|
permissionDeniedErrorDescription: "이 작업을 수행할 권한이 없습니다."
|
||||||
preset: "프리셋"
|
preset: "프리셋"
|
||||||
selectFromPresets: "프리셋에서 선택"
|
selectFromPresets: "프리셋에서 선택"
|
||||||
custom: "커스텀"
|
|
||||||
achievements: "도전 과제"
|
achievements: "도전 과제"
|
||||||
gotInvalidResponseError: "서버의 응답이 올바르지 않습니다"
|
gotInvalidResponseError: "서버의 응답이 올바르지 않습니다"
|
||||||
gotInvalidResponseErrorDescription: " 서버가 다운되었거나 점검중일 가능성이 있습니다. 잠시후에 다시 시도해 주십시오."
|
gotInvalidResponseErrorDescription: " 서버가 다운되었거나 점검중일 가능성이 있습니다. 잠시후에 다시 시도해 주십시오."
|
||||||
|
|
@ -1103,7 +1092,6 @@ prohibitedWordsDescription2: "공백으로 구분하면 AND 지정이 되며,
|
||||||
hiddenTags: "숨긴 해시태그"
|
hiddenTags: "숨긴 해시태그"
|
||||||
hiddenTagsDescription: "설정한 태그를 트렌드에 표시하지 않도록 합니다. 줄 바꿈으로 하나씩 나눠서 설정할 수 있습니다."
|
hiddenTagsDescription: "설정한 태그를 트렌드에 표시하지 않도록 합니다. 줄 바꿈으로 하나씩 나눠서 설정할 수 있습니다."
|
||||||
notesSearchNotAvailable: "노트 검색을 이용하실 수 없습니다."
|
notesSearchNotAvailable: "노트 검색을 이용하실 수 없습니다."
|
||||||
usersSearchNotAvailable: "유저 검색을 이용하실 수 없습니다."
|
|
||||||
license: "라이선스"
|
license: "라이선스"
|
||||||
unfavoriteConfirm: "즐겨찾기를 해제하시겠습니까?"
|
unfavoriteConfirm: "즐겨찾기를 해제하시겠습니까?"
|
||||||
myClips: "내 클립"
|
myClips: "내 클립"
|
||||||
|
|
@ -1178,7 +1166,6 @@ installed: "설치됨"
|
||||||
branding: "브랜딩"
|
branding: "브랜딩"
|
||||||
enableServerMachineStats: "서버의 머신 사양을 공개하기"
|
enableServerMachineStats: "서버의 머신 사양을 공개하기"
|
||||||
enableIdenticonGeneration: "유저마다의 Identicon 생성 유효화"
|
enableIdenticonGeneration: "유저마다의 Identicon 생성 유효화"
|
||||||
showRoleBadgesOfRemoteUsers: "리모트 유저의 역할 배지 표시"
|
|
||||||
turnOffToImprovePerformance: "이 기능을 끄면 성능이 향상될 수 있습니다."
|
turnOffToImprovePerformance: "이 기능을 끄면 성능이 향상될 수 있습니다."
|
||||||
createInviteCode: "초대 코드 생성"
|
createInviteCode: "초대 코드 생성"
|
||||||
createWithOptions: "옵션을 지정하여 생성"
|
createWithOptions: "옵션을 지정하여 생성"
|
||||||
|
|
@ -1256,7 +1243,7 @@ releaseToRefresh: "놓아서 새로고침"
|
||||||
refreshing: "새로고침 중"
|
refreshing: "새로고침 중"
|
||||||
pullDownToRefresh: "아래로 내려서 새로고침"
|
pullDownToRefresh: "아래로 내려서 새로고침"
|
||||||
useGroupedNotifications: "알림을 그룹화하고 표시"
|
useGroupedNotifications: "알림을 그룹화하고 표시"
|
||||||
emailVerificationFailedError: "메일 주소 확인에 실패했습니다. 확인에 필요한 URL의 유효기간이 지났을 가능성이 있습니다."
|
signupPendingError: "메일 주소 확인중에 문제가 발생했습니다. 링크의 유효기간이 지났을 가능성이 있습니다."
|
||||||
cwNotationRequired: "'내용을 숨기기'를 체크한 경우 주석을 써야 합니다."
|
cwNotationRequired: "'내용을 숨기기'를 체크한 경우 주석을 써야 합니다."
|
||||||
doReaction: "리액션 추가"
|
doReaction: "리액션 추가"
|
||||||
code: "문자열"
|
code: "문자열"
|
||||||
|
|
@ -1326,8 +1313,6 @@ availableRoles: "사용 가능한 역할"
|
||||||
acknowledgeNotesAndEnable: "활성화 하기 전에 주의 사항을 확인했습니다."
|
acknowledgeNotesAndEnable: "활성화 하기 전에 주의 사항을 확인했습니다."
|
||||||
federationSpecified: "이 서버는 화이트 리스트 제도로 운영 중 입니다. 정해진 리모트 서버가 아닌 경우 연합되지 않습니다."
|
federationSpecified: "이 서버는 화이트 리스트 제도로 운영 중 입니다. 정해진 리모트 서버가 아닌 경우 연합되지 않습니다."
|
||||||
federationDisabled: "이 서버는 연합을 하지 않고 있습니다. 리모트 서버 유저와 통신을 할 수 없습니다."
|
federationDisabled: "이 서버는 연합을 하지 않고 있습니다. 리모트 서버 유저와 통신을 할 수 없습니다."
|
||||||
draft: "초안"
|
|
||||||
draftsAndScheduledNotes: "초안과 예약 게시물"
|
|
||||||
confirmOnReact: "리액션할 때 확인"
|
confirmOnReact: "리액션할 때 확인"
|
||||||
reactAreYouSure: "\" {emoji} \"로 리액션하시겠습니까?"
|
reactAreYouSure: "\" {emoji} \"로 리액션하시겠습니까?"
|
||||||
markAsSensitiveConfirm: "이 미디어를 민감한 미디어로 설정하시겠습니까?"
|
markAsSensitiveConfirm: "이 미디어를 민감한 미디어로 설정하시겠습니까?"
|
||||||
|
|
@ -1355,8 +1340,6 @@ postForm: "글 입력란"
|
||||||
textCount: "문자 수"
|
textCount: "문자 수"
|
||||||
information: "정보"
|
information: "정보"
|
||||||
chat: "채팅"
|
chat: "채팅"
|
||||||
directMessage: "채팅하기"
|
|
||||||
directMessage_short: "메시지"
|
|
||||||
migrateOldSettings: "기존 설정 정보를 이전"
|
migrateOldSettings: "기존 설정 정보를 이전"
|
||||||
migrateOldSettings_description: "보통은 자동으로 이루어지지만, 어떤 이유로 인해 성공적으로 이전이 이루어지지 않는 경우 수동으로 이전을 실행할 수 있습니다. 현재 설정 정보는 덮어쓰게 됩니다."
|
migrateOldSettings_description: "보통은 자동으로 이루어지지만, 어떤 이유로 인해 성공적으로 이전이 이루어지지 않는 경우 수동으로 이전을 실행할 수 있습니다. 현재 설정 정보는 덮어쓰게 됩니다."
|
||||||
compress: "압축"
|
compress: "압축"
|
||||||
|
|
@ -1384,83 +1367,7 @@ redisplayAllTips: "모든 '팁과 유용한 정보'를 재표시"
|
||||||
hideAllTips: "모든 '팁과 유용한 정보'를 비표시"
|
hideAllTips: "모든 '팁과 유용한 정보'를 비표시"
|
||||||
defaultImageCompressionLevel: "기본 이미지 압축 정도"
|
defaultImageCompressionLevel: "기본 이미지 압축 정도"
|
||||||
defaultImageCompressionLevel_description: "낮추면 화질을 유지합니다만 파일 크기는 증가합니다. <br>높이면 파일 크기를 줄일 수 있습니다만 화질은 저하됩니다."
|
defaultImageCompressionLevel_description: "낮추면 화질을 유지합니다만 파일 크기는 증가합니다. <br>높이면 파일 크기를 줄일 수 있습니다만 화질은 저하됩니다."
|
||||||
defaultCompressionLevel: "기본 압축 정도 "
|
|
||||||
defaultCompressionLevel_description: "낮추면 품질을 유지합니다만 파일 크기는 증가합니다. <br>높이면 파일 크기를 줄일 수 있습니다만 품질은 저하됩니다."
|
|
||||||
inMinutes: "분"
|
|
||||||
inDays: "일"
|
|
||||||
safeModeEnabled: "세이프 모드가 활성화돼있습니다"
|
|
||||||
pluginsAreDisabledBecauseSafeMode: "세이프 모드가 활성화돼있기에 플러그인은 전부 비활성화됩니다."
|
|
||||||
customCssIsDisabledBecauseSafeMode: "세이프 모드가 활성화돼있기에 커스텀 CSS는 적용되지 않습니다."
|
|
||||||
themeIsDefaultBecauseSafeMode: "세이프 모드가 활성화돼있는 동안에는 기본 테마가 사용됩니다. 세이프 모드를 끄면 원래대로 돌아옵니다."
|
|
||||||
thankYouForTestingBeta: "베타 버전의 검증에 협력해 주셔서 감사합니다!"
|
|
||||||
createUserSpecifiedNote: "사용자 지정 노트를 작성"
|
|
||||||
schedulePost: "게시 예약"
|
|
||||||
scheduleToPostOnX: "{x}에 게시를 예약합니다."
|
|
||||||
scheduledToPostOnX: "{x}에 게시가 예약돼있습니다."
|
|
||||||
schedule: "예약"
|
|
||||||
scheduled: "예약"
|
|
||||||
widgets: "위젯"
|
|
||||||
deviceInfo: "장치 정보"
|
|
||||||
deviceInfoDescription: "기술적 문의의 경우 아래의 정보를 병기하면 문제의 해결에 도움이 됩니다."
|
|
||||||
youAreAdmin: "당신은 관리자입니다."
|
|
||||||
frame: "프레임"
|
|
||||||
presets: "프리셋"
|
|
||||||
zeroPadding: "0으로 채우기"
|
|
||||||
nothingToConfigure: "설정 항목이 없습니다."
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
caption: "파일 설명"
|
|
||||||
filename: "파일명"
|
|
||||||
filename_without_ext: "확장자가 없는 파일명"
|
|
||||||
year: "촬영한 해"
|
|
||||||
month: "촬영한 달"
|
|
||||||
day: "촬영한 날"
|
|
||||||
hour: "촬영한 시각(시)"
|
|
||||||
minute: "촬영한 시각(분)"
|
|
||||||
second: "촬영한 시각(초)"
|
|
||||||
camera_model: "카메라 이름"
|
|
||||||
camera_lens_model: "렌즈 이름"
|
|
||||||
camera_mm: "초점 거리"
|
|
||||||
camera_mm_35: "초점 거리(35m판 환산)"
|
|
||||||
camera_f: "조리개 조절"
|
|
||||||
camera_s: "셔터 속도"
|
|
||||||
camera_iso: "ISO 감도"
|
|
||||||
gps_lat: "위도"
|
|
||||||
gps_long: "경도"
|
|
||||||
_imageFrameEditor:
|
|
||||||
title: "프레임 편집"
|
|
||||||
tip: "이미지에 프레임이나 메타 데이터를 포함한 라벨을 추가해 장식할 수 있습니다."
|
|
||||||
header: "헤더"
|
|
||||||
footer: "꼬리말"
|
|
||||||
borderThickness: "테두리의 폭"
|
|
||||||
labelThickness: "라벨의 폭"
|
|
||||||
labelScale: "라벨의 스케일"
|
|
||||||
centered: "중앙 정렬"
|
|
||||||
captionMain: "캡션(대)"
|
|
||||||
captionSub: "캡션(소)"
|
|
||||||
availableVariables: "이용 가능한 변수"
|
|
||||||
withQrCode: "QR 코드"
|
|
||||||
backgroundColor: "배경색"
|
|
||||||
textColor: "글꼴 색상"
|
|
||||||
font: "폰트"
|
|
||||||
fontSerif: "명조체"
|
|
||||||
fontSansSerif: "고딕체"
|
|
||||||
quitWithoutSaveConfirm: "보존하지 않고 종료하시겠습니까?"
|
|
||||||
failedToLoadImage: "이미지 로드에 실패했습니다."
|
|
||||||
_compression:
|
|
||||||
_quality:
|
|
||||||
high: "고품질"
|
|
||||||
medium: "중간 품질"
|
|
||||||
low: "저품질"
|
|
||||||
_size:
|
|
||||||
large: "대형"
|
|
||||||
medium: "중형"
|
|
||||||
small: "소형"
|
|
||||||
_order:
|
|
||||||
newest: "최신 순"
|
|
||||||
oldest: "오래된 순"
|
|
||||||
_chat:
|
_chat:
|
||||||
messages: "메시지"
|
|
||||||
noMessagesYet: "아직 메시지가 없습니다"
|
noMessagesYet: "아직 메시지가 없습니다"
|
||||||
newMessage: "새로운 메시지"
|
newMessage: "새로운 메시지"
|
||||||
individualChat: "개인 대화"
|
individualChat: "개인 대화"
|
||||||
|
|
@ -1548,12 +1455,6 @@ _settings:
|
||||||
contentsUpdateFrequency_description2: "실시간 모드가 켜져 있을 때는 이 설정과 상관없이 실시간으로 콘텐츠가 업데이트됩니다."
|
contentsUpdateFrequency_description2: "실시간 모드가 켜져 있을 때는 이 설정과 상관없이 실시간으로 콘텐츠가 업데이트됩니다."
|
||||||
showUrlPreview: "URL 미리보기 표시"
|
showUrlPreview: "URL 미리보기 표시"
|
||||||
showAvailableReactionsFirstInNote: "이용 가능한 리액션을 선두로 표시"
|
showAvailableReactionsFirstInNote: "이용 가능한 리액션을 선두로 표시"
|
||||||
showPageTabBarBottom: "페이지의 탭 바를 아래쪽에 표시"
|
|
||||||
emojiPaletteBanner: "이모티콘 선택기에 고정 표시되는 프리셋을 팔레트로 등록하거나 선택기의 표시 방법을 커스터마이징할 수 있습니다."
|
|
||||||
enableAnimatedImages: "애니메이션 이미지 활성화"
|
|
||||||
settingsPersistence_title: "설정 영구화"
|
|
||||||
settingsPersistence_description1: "설정 영구화를 활성화하면 설정 정보를 잃어버리는 것을 방지할 수 있습니다."
|
|
||||||
settingsPersistence_description2: "환경에 따라 활성화되지 않을 수 있습니다."
|
|
||||||
_chat:
|
_chat:
|
||||||
showSenderName: "발신자 이름 표시"
|
showSenderName: "발신자 이름 표시"
|
||||||
sendOnEnter: "엔터로 보내기"
|
sendOnEnter: "엔터로 보내기"
|
||||||
|
|
@ -1562,8 +1463,6 @@ _preferencesProfile:
|
||||||
profileNameDescription: "이 디바이스를 식별할 이름을 설정해 주세요."
|
profileNameDescription: "이 디바이스를 식별할 이름을 설정해 주세요."
|
||||||
profileNameDescription2: "예: '메인PC', '스마트폰' 등"
|
profileNameDescription2: "예: '메인PC', '스마트폰' 등"
|
||||||
manageProfiles: "프로파일 관리"
|
manageProfiles: "프로파일 관리"
|
||||||
shareSameProfileBetweenDevicesIsNotRecommended: "여러 장치에서 동일한 프로필을 공유하는 것은 권장하지 않습니다."
|
|
||||||
useSyncBetweenDevicesOptionIfYouWantToSyncSetting: "여러 장치에서 동기화하고 싶은 설정 항목이 있는 경우에는 개별로 '여러 장치에서 동기화' 옵션을 활성화해 주십시오."
|
|
||||||
_preferencesBackup:
|
_preferencesBackup:
|
||||||
autoBackup: "자동 백업"
|
autoBackup: "자동 백업"
|
||||||
restoreFromBackup: "백업으로 복구"
|
restoreFromBackup: "백업으로 복구"
|
||||||
|
|
@ -1573,7 +1472,6 @@ _preferencesBackup:
|
||||||
youNeedToNameYourProfileToEnableAutoBackup: "자동 백업을 활성화하려면 프로필 이름을 설정해야 합니다."
|
youNeedToNameYourProfileToEnableAutoBackup: "자동 백업을 활성화하려면 프로필 이름을 설정해야 합니다."
|
||||||
autoPreferencesBackupIsNotEnabledForThisDevice: "이 장치에서 설정 자동 백업이 활성화되어 있지 않습니다."
|
autoPreferencesBackupIsNotEnabledForThisDevice: "이 장치에서 설정 자동 백업이 활성화되어 있지 않습니다."
|
||||||
backupFound: "설정 백업이 발견되었습니다"
|
backupFound: "설정 백업이 발견되었습니다"
|
||||||
forceBackup: "설정 강제 백업"
|
|
||||||
_accountSettings:
|
_accountSettings:
|
||||||
requireSigninToViewContents: "콘텐츠 열람을 위해 로그인을 필수로 설정하기"
|
requireSigninToViewContents: "콘텐츠 열람을 위해 로그인을 필수로 설정하기"
|
||||||
requireSigninToViewContentsDescription1: "자신이 작성한 모든 노트 등의 콘텐츠를 보기 위해 로그인을 필수로 설정합니다. 크롤러가 정보 수집하는 것을 방지하는 효과를 기대할 수 있습니다."
|
requireSigninToViewContentsDescription1: "자신이 작성한 모든 노트 등의 콘텐츠를 보기 위해 로그인을 필수로 설정합니다. 크롤러가 정보 수집하는 것을 방지하는 효과를 기대할 수 있습니다."
|
||||||
|
|
@ -1730,10 +1628,6 @@ _serverSettings:
|
||||||
fanoutTimelineDbFallback: "데이터베이스를 예비로 사용하기"
|
fanoutTimelineDbFallback: "데이터베이스를 예비로 사용하기"
|
||||||
fanoutTimelineDbFallbackDescription: "활성화하면 타임라인의 캐시되어 있지 않은 부분에 대해 DB에 질의하여 정보를 가져옵니다. 비활성화하면 이를 실행하지 않음으로써 서버의 부하를 줄일 수 있지만, 타임라인에서 가져올 수 있는 게시물 범위가 한정됩니다."
|
fanoutTimelineDbFallbackDescription: "활성화하면 타임라인의 캐시되어 있지 않은 부분에 대해 DB에 질의하여 정보를 가져옵니다. 비활성화하면 이를 실행하지 않음으로써 서버의 부하를 줄일 수 있지만, 타임라인에서 가져올 수 있는 게시물 범위가 한정됩니다."
|
||||||
reactionsBufferingDescription: "활성화 한 경우, 리액션 작성 퍼포먼스가 대폭 향상되어 DB의 부하를 줄일 수 있으나, Redis의 메모리 사용량이 많아집니다."
|
reactionsBufferingDescription: "활성화 한 경우, 리액션 작성 퍼포먼스가 대폭 향상되어 DB의 부하를 줄일 수 있으나, Redis의 메모리 사용량이 많아집니다."
|
||||||
remoteNotesCleaning: "리모트 서버 노트 자동 정리 "
|
|
||||||
remoteNotesCleaning_description: "더 이상 사용되지 않는 오래된 리모트 노트를 정기적으로 정리하여, 데이터 베이스의 사용량을 절약할 수 있습니다."
|
|
||||||
remoteNotesCleaningMaxProcessingDuration: "리모트 노트 자동 정리 최대 실행 시간"
|
|
||||||
remoteNotesCleaningExpiryDaysForEachNotes: "리모트 노트 저장 최소 일수"
|
|
||||||
inquiryUrl: "문의처 URL"
|
inquiryUrl: "문의처 URL"
|
||||||
inquiryUrlDescription: "서버 운영자에게 보내는 문의 양식의 URL이나 운영자의 연락처 등이 적힌 웹 페이지의 URL을 설정합니다."
|
inquiryUrlDescription: "서버 운영자에게 보내는 문의 양식의 URL이나 운영자의 연락처 등이 적힌 웹 페이지의 URL을 설정합니다."
|
||||||
openRegistration: "회원 가입을 활성화 하기"
|
openRegistration: "회원 가입을 활성화 하기"
|
||||||
|
|
@ -1752,11 +1646,6 @@ _serverSettings:
|
||||||
userGeneratedContentsVisibilityForVisitor: "비이용자에 대한 유저 작성 콘텐츠의 공개 범위"
|
userGeneratedContentsVisibilityForVisitor: "비이용자에 대한 유저 작성 콘텐츠의 공개 범위"
|
||||||
userGeneratedContentsVisibilityForVisitor_description: "조정을 하기 힘든 부적절한 리모트 콘텐츠 등이 자신의 서버 경유로 의도치 않게 인터넷에 공개되는 문제의 방지 등에 도움을 줍니다."
|
userGeneratedContentsVisibilityForVisitor_description: "조정을 하기 힘든 부적절한 리모트 콘텐츠 등이 자신의 서버 경유로 의도치 않게 인터넷에 공개되는 문제의 방지 등에 도움을 줍니다."
|
||||||
userGeneratedContentsVisibilityForVisitor_description2: "서버에서 받은 리모트 콘텐츠를 포함해 서버 내의 모든 콘텐츠를 무조건 인터넷에 공개하는 것에는 위험이 따릅니다. 특히, 분산형 특성에 대해 모르는 열람자에게는 리모트 콘텐츠여도 서버 내에서 작성된 콘텐츠라고 잘못 인식할 수 있기에 주의가 필요합니다."
|
userGeneratedContentsVisibilityForVisitor_description2: "서버에서 받은 리모트 콘텐츠를 포함해 서버 내의 모든 콘텐츠를 무조건 인터넷에 공개하는 것에는 위험이 따릅니다. 특히, 분산형 특성에 대해 모르는 열람자에게는 리모트 콘텐츠여도 서버 내에서 작성된 콘텐츠라고 잘못 인식할 수 있기에 주의가 필요합니다."
|
||||||
restartServerSetupWizardConfirm_title: "서버의 초기 설정 위자드를 재시도하시겠습니까?"
|
|
||||||
restartServerSetupWizardConfirm_text: "현재 일부 설정은 리셋됩니다."
|
|
||||||
entrancePageStyle: "입구 페이지의 스타일"
|
|
||||||
showTimelineForVisitor: "타임라인 표시"
|
|
||||||
showActivitiesForVisitor: "액티비티 표시하기"
|
|
||||||
_userGeneratedContentsVisibilityForVisitor:
|
_userGeneratedContentsVisibilityForVisitor:
|
||||||
all: "모두 공개"
|
all: "모두 공개"
|
||||||
localOnly: "로컬 콘텐츠만 공개하고 리모트 콘텐츠는 비공개"
|
localOnly: "로컬 콘텐츠만 공개하고 리모트 콘텐츠는 비공개"
|
||||||
|
|
@ -2079,7 +1968,6 @@ _role:
|
||||||
canManageAvatarDecorations: "아바타 꾸미기 관리"
|
canManageAvatarDecorations: "아바타 꾸미기 관리"
|
||||||
driveCapacity: "드라이브 용량"
|
driveCapacity: "드라이브 용량"
|
||||||
maxFileSize: "업로드 가능한 최대 파일 크기"
|
maxFileSize: "업로드 가능한 최대 파일 크기"
|
||||||
maxFileSize_caption: "리버스 프록시나 CDN 등 전단에서 다른 설정값이 존재하는 경우가 있습니다."
|
|
||||||
alwaysMarkNsfw: "파일을 항상 NSFW로 지정"
|
alwaysMarkNsfw: "파일을 항상 NSFW로 지정"
|
||||||
canUpdateBioMedia: "아바타 및 배너 이미지 변경 허용"
|
canUpdateBioMedia: "아바타 및 배너 이미지 변경 허용"
|
||||||
pinMax: "고정할 수 있는 노트 수"
|
pinMax: "고정할 수 있는 노트 수"
|
||||||
|
|
@ -2094,7 +1982,6 @@ _role:
|
||||||
descriptionOfRateLimitFactor: "작을수록 제한이 완화되고, 클수록 제한이 강화됩니다."
|
descriptionOfRateLimitFactor: "작을수록 제한이 완화되고, 클수록 제한이 강화됩니다."
|
||||||
canHideAds: "광고 숨기기"
|
canHideAds: "광고 숨기기"
|
||||||
canSearchNotes: "노트 검색 이용 가능 여부"
|
canSearchNotes: "노트 검색 이용 가능 여부"
|
||||||
canSearchUsers: "유저 검색 이용"
|
|
||||||
canUseTranslator: "번역 기능의 사용"
|
canUseTranslator: "번역 기능의 사용"
|
||||||
avatarDecorationLimit: "아바타 장식의 최대 붙임 개수"
|
avatarDecorationLimit: "아바타 장식의 최대 붙임 개수"
|
||||||
canImportAntennas: "안테나 가져오기 허용"
|
canImportAntennas: "안테나 가져오기 허용"
|
||||||
|
|
@ -2106,9 +1993,6 @@ _role:
|
||||||
uploadableFileTypes: "업로드 가능한 파일 유형"
|
uploadableFileTypes: "업로드 가능한 파일 유형"
|
||||||
uploadableFileTypes_caption: "MIME 유형을 "
|
uploadableFileTypes_caption: "MIME 유형을 "
|
||||||
uploadableFileTypes_caption2: "파일에 따라서는 유형을 검사하지 못하는 경우가 있습니다. 그러한 파일을 허가하는 경우에는 {x}를 지정으로 추가해주십시오."
|
uploadableFileTypes_caption2: "파일에 따라서는 유형을 검사하지 못하는 경우가 있습니다. 그러한 파일을 허가하는 경우에는 {x}를 지정으로 추가해주십시오."
|
||||||
noteDraftLimit: "서버측 노트 초안 작성 가능 수"
|
|
||||||
scheduledNoteLimit: "예약 게시물의 동시 작성 가능 수"
|
|
||||||
watermarkAvailable: "워터마크 기능의 사용 여부"
|
|
||||||
_condition:
|
_condition:
|
||||||
roleAssignedTo: "수동 역할에 이미 할당됨"
|
roleAssignedTo: "수동 역할에 이미 할당됨"
|
||||||
isLocal: "로컬 유저"
|
isLocal: "로컬 유저"
|
||||||
|
|
@ -2268,7 +2152,6 @@ _theme:
|
||||||
install: "테마 설치"
|
install: "테마 설치"
|
||||||
manage: "테마 관리"
|
manage: "테마 관리"
|
||||||
code: "테마 코드"
|
code: "테마 코드"
|
||||||
copyThemeCode: "테마 코드 복사"
|
|
||||||
description: "설명"
|
description: "설명"
|
||||||
installed: "{name} 테마가 설치되었습니다"
|
installed: "{name} 테마가 설치되었습니다"
|
||||||
installedThemes: "설치된 테마"
|
installedThemes: "설치된 테마"
|
||||||
|
|
@ -2368,7 +2251,6 @@ _time:
|
||||||
minute: "분"
|
minute: "분"
|
||||||
hour: "시간"
|
hour: "시간"
|
||||||
day: "일"
|
day: "일"
|
||||||
month: "개월"
|
|
||||||
_2fa:
|
_2fa:
|
||||||
alreadyRegistered: "이미 설정이 완료되었습니다."
|
alreadyRegistered: "이미 설정이 완료되었습니다."
|
||||||
registerTOTP: "인증 앱 설정 시작"
|
registerTOTP: "인증 앱 설정 시작"
|
||||||
|
|
@ -2498,7 +2380,6 @@ _auth:
|
||||||
scopeUser: "다음 유저로 활동하고 있습니다."
|
scopeUser: "다음 유저로 활동하고 있습니다."
|
||||||
pleaseLogin: "어플리케이션의 접근을 허가하려면 로그인하십시오."
|
pleaseLogin: "어플리케이션의 접근을 허가하려면 로그인하십시오."
|
||||||
byClickingYouWillBeRedirectedToThisUrl: "접근을 허용하면 자동으로 다음 URL로 이동합니다."
|
byClickingYouWillBeRedirectedToThisUrl: "접근을 허용하면 자동으로 다음 URL로 이동합니다."
|
||||||
alreadyAuthorized: "이 애플리케이션은 이미 접근이 허가돼있습니다."
|
|
||||||
_antennaSources:
|
_antennaSources:
|
||||||
all: "모든 노트"
|
all: "모든 노트"
|
||||||
homeTimeline: "팔로우중인 유저의 노트"
|
homeTimeline: "팔로우중인 유저의 노트"
|
||||||
|
|
@ -2544,45 +2425,7 @@ _widgets:
|
||||||
chooseList: "리스트 선택"
|
chooseList: "리스트 선택"
|
||||||
clicker: "클리커"
|
clicker: "클리커"
|
||||||
birthdayFollowings: "오늘이 생일인 유저"
|
birthdayFollowings: "오늘이 생일인 유저"
|
||||||
chat: "채팅하기"
|
chat: "채팅"
|
||||||
_widgetOptions:
|
|
||||||
showHeader: "해더를 표시"
|
|
||||||
transparent: "배경을 투명하게 설정"
|
|
||||||
height: "높이"
|
|
||||||
_button:
|
|
||||||
colored: "색 입히기"
|
|
||||||
_clock:
|
|
||||||
size: "크기"
|
|
||||||
thickness: "시곗바늘의 두께"
|
|
||||||
thicknessThin: "얇게"
|
|
||||||
thicknessMedium: "보통"
|
|
||||||
thicknessThick: "굵게"
|
|
||||||
graduations: "문자반의 눈금"
|
|
||||||
graduationDots: "도트"
|
|
||||||
graduationArabic: "아라비아 숫자"
|
|
||||||
fadeGraduations: "눈금 페이드"
|
|
||||||
sAnimation: "초침 애니메이션"
|
|
||||||
sAnimationElastic: "사실적으로"
|
|
||||||
sAnimationEaseOut: "매끄럽게"
|
|
||||||
twentyFour: "24시간 표시"
|
|
||||||
labelTime: "시각"
|
|
||||||
labelTz: "시간대"
|
|
||||||
labelTimeAndTz: "시각과 시간대"
|
|
||||||
timezone: "시간대"
|
|
||||||
showMs: "밀리초 표시"
|
|
||||||
showLabel: "레이블 표시"
|
|
||||||
_jobQueue:
|
|
||||||
sound: "소리 재생"
|
|
||||||
_rss:
|
|
||||||
url: "RSS 필드의 URL"
|
|
||||||
refreshIntervalSec: "갱신 간격(초)"
|
|
||||||
maxEntries: "최대 표시 건수"
|
|
||||||
_rssTicker:
|
|
||||||
shuffle: "표시 순서 셔플"
|
|
||||||
duration: "티커 스크롤 속도(초)"
|
|
||||||
reverse: "역방향으로 스크롤"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "기간"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "숨기기"
|
hide: "숨기기"
|
||||||
show: "더 보기"
|
show: "더 보기"
|
||||||
|
|
@ -2627,20 +2470,6 @@ _postForm:
|
||||||
replyPlaceholder: "이 노트에 답글..."
|
replyPlaceholder: "이 노트에 답글..."
|
||||||
quotePlaceholder: "이 노트를 인용..."
|
quotePlaceholder: "이 노트를 인용..."
|
||||||
channelPlaceholder: "채널에 게시하기..."
|
channelPlaceholder: "채널에 게시하기..."
|
||||||
showHowToUse: "입력란의 설명 표시"
|
|
||||||
_howToUse:
|
|
||||||
content_title: "본문"
|
|
||||||
content_description: "게시할 내용을 입력합니다."
|
|
||||||
toolbar_title: "도구 모음"
|
|
||||||
toolbar_description: "파일이나 설문의 첨부, 주석이나 해시태그 설정, 이모티콘이나 멘션의 삽입 등을 할 수 있습니다."
|
|
||||||
account_title: "계정 메뉴"
|
|
||||||
account_description: "게시할 계정을 교체하거나, 계정에 보존한 초안 및 예약 게시물을 목록으로 볼 수 있습니다."
|
|
||||||
visibility_title: "공개 범위"
|
|
||||||
visibility_description: "노트 공개 범위의 설정을 할 수 있습니다."
|
|
||||||
menu_title: "메뉴"
|
|
||||||
menu_description: "초안의 보존, 게시 예약, 리액션의 설정 등 그 외의 액션을 할 수 있습니다."
|
|
||||||
submit_title: "게시 버튼"
|
|
||||||
submit_description: "노트를 게시합니다. Ctrl + Enter / Cmd + Enter로도 게시할 수 있습니다."
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "지금 무엇을 하고 있나요?"
|
a: "지금 무엇을 하고 있나요?"
|
||||||
b: "무슨 일이 일어나고 있나요?"
|
b: "무슨 일이 일어나고 있나요?"
|
||||||
|
|
@ -2786,8 +2615,6 @@ _notification:
|
||||||
youReceivedFollowRequest: "새로운 팔로우 요청이 있습니다"
|
youReceivedFollowRequest: "새로운 팔로우 요청이 있습니다"
|
||||||
yourFollowRequestAccepted: "팔로우 요청이 수락되었습니다"
|
yourFollowRequestAccepted: "팔로우 요청이 수락되었습니다"
|
||||||
pollEnded: "투표 결과가 발표되었습니다"
|
pollEnded: "투표 결과가 발표되었습니다"
|
||||||
scheduledNotePosted: "예약 노트가 게시됐습니다."
|
|
||||||
scheduledNotePostFailed: "예약 노트의 게시에 실패했습니다."
|
|
||||||
newNote: "새 게시물"
|
newNote: "새 게시물"
|
||||||
unreadAntennaNote: "안테나 {name}"
|
unreadAntennaNote: "안테나 {name}"
|
||||||
roleAssigned: "역할이 부여 되었습니다."
|
roleAssigned: "역할이 부여 되었습니다."
|
||||||
|
|
@ -2817,8 +2644,6 @@ _notification:
|
||||||
quote: "인용"
|
quote: "인용"
|
||||||
reaction: "리액션"
|
reaction: "리액션"
|
||||||
pollEnded: "투표가 종료됨"
|
pollEnded: "투표가 종료됨"
|
||||||
scheduledNotePosted: "예약 게시에 성공했습니다"
|
|
||||||
scheduledNotePostFailed: "예약 게시에 실패했습니다"
|
|
||||||
receiveFollowRequest: "팔로우 요청을 받았을 때"
|
receiveFollowRequest: "팔로우 요청을 받았을 때"
|
||||||
followRequestAccepted: "팔로우 요청이 승인되었을 때"
|
followRequestAccepted: "팔로우 요청이 승인되었을 때"
|
||||||
roleAssigned: "역할이 부여됨"
|
roleAssigned: "역할이 부여됨"
|
||||||
|
|
@ -2858,14 +2683,6 @@ _deck:
|
||||||
usedAsMinWidthWhenFlexible: "'폭 자동 조정'이 활성화된 경우 최소 폭으로 사용됩니다"
|
usedAsMinWidthWhenFlexible: "'폭 자동 조정'이 활성화된 경우 최소 폭으로 사용됩니다"
|
||||||
flexible: "폭 자동 조정"
|
flexible: "폭 자동 조정"
|
||||||
enableSyncBetweenDevicesForProfiles: "프로파일 정보의 디바이스 간 동기화를 활성화"
|
enableSyncBetweenDevicesForProfiles: "프로파일 정보의 디바이스 간 동기화를 활성화"
|
||||||
showHowToUse: "UI 설명 보기"
|
|
||||||
_howToUse:
|
|
||||||
addColumn_title: "칼럼 추가"
|
|
||||||
addColumn_description: "칼럼의 종류를 선택해 추가할 수 있습니다."
|
|
||||||
settings_title: "UI 설정"
|
|
||||||
settings_description: "덱 UI의 상세 설정을 할 수 있습니다."
|
|
||||||
switchProfile_title: "프로필 전환"
|
|
||||||
switchProfile_description: "UI의 레이아웃을 프로필로 저장하고, 언제나 전환할 수 있습니다."
|
|
||||||
_columns:
|
_columns:
|
||||||
main: "메인"
|
main: "메인"
|
||||||
widgets: "위젯"
|
widgets: "위젯"
|
||||||
|
|
@ -2877,7 +2694,7 @@ _deck:
|
||||||
mentions: "받은 멘션"
|
mentions: "받은 멘션"
|
||||||
direct: "다이렉트"
|
direct: "다이렉트"
|
||||||
roleTimeline: "역할 타임라인"
|
roleTimeline: "역할 타임라인"
|
||||||
chat: "채팅하기"
|
chat: "채팅"
|
||||||
_dialog:
|
_dialog:
|
||||||
charactersExceeded: "최대 글자수를 초과하였습니다! 현재 {current} / 최대 {max}"
|
charactersExceeded: "최대 글자수를 초과하였습니다! 현재 {current} / 최대 {max}"
|
||||||
charactersBelow: "최소 글자수 미만입니다! 현재 {current} / 최소 {min}"
|
charactersBelow: "최소 글자수 미만입니다! 현재 {current} / 최소 {min}"
|
||||||
|
|
@ -2926,8 +2743,6 @@ _abuseReport:
|
||||||
notifiedWebhook: "사용할 Webhook"
|
notifiedWebhook: "사용할 Webhook"
|
||||||
deleteConfirm: "수신자를 삭제하시겠습니까?"
|
deleteConfirm: "수신자를 삭제하시겠습니까?"
|
||||||
_moderationLogTypes:
|
_moderationLogTypes:
|
||||||
clearQueue: "작업 대기열 비우기"
|
|
||||||
promoteQueue: "큐의 작업을 재시도"
|
|
||||||
createRole: "역할 생성"
|
createRole: "역할 생성"
|
||||||
deleteRole: "역할 삭제"
|
deleteRole: "역할 삭제"
|
||||||
updateRole: "역할 수정"
|
updateRole: "역할 수정"
|
||||||
|
|
@ -2985,7 +2800,6 @@ _fileViewer:
|
||||||
url: "URL"
|
url: "URL"
|
||||||
uploadedAt: "업로드 날짜"
|
uploadedAt: "업로드 날짜"
|
||||||
attachedNotes: "첨부된 노트"
|
attachedNotes: "첨부된 노트"
|
||||||
usage: "이용"
|
|
||||||
thisPageCanBeSeenFromTheAuthor: "이 페이지는 파일 소유자만 열람할 수 있습니다"
|
thisPageCanBeSeenFromTheAuthor: "이 페이지는 파일 소유자만 열람할 수 있습니다"
|
||||||
_externalResourceInstaller:
|
_externalResourceInstaller:
|
||||||
title: "외부 사이트로부터 설치"
|
title: "외부 사이트로부터 설치"
|
||||||
|
|
@ -3238,7 +3052,6 @@ _bootErrors:
|
||||||
otherOption1: "클라이언트 설정 및 캐시 삭제"
|
otherOption1: "클라이언트 설정 및 캐시 삭제"
|
||||||
otherOption2: "간편 클라이언트 실행"
|
otherOption2: "간편 클라이언트 실행"
|
||||||
otherOption3: "복구 툴 실행"
|
otherOption3: "복구 툴 실행"
|
||||||
otherOption4: "Misskey를 세이프 모드로 열기"
|
|
||||||
_search:
|
_search:
|
||||||
searchScopeAll: "전체"
|
searchScopeAll: "전체"
|
||||||
searchScopeLocal: "로컬"
|
searchScopeLocal: "로컬"
|
||||||
|
|
@ -3275,8 +3088,6 @@ _serverSetupWizard:
|
||||||
doYouConnectToFediverse_description1: "분산형 서버로 구성된 네트워크(Fediverse)에 접속하면 다른 서버와 서로 콘텐츠의 주고받기를 할 수 있습니다."
|
doYouConnectToFediverse_description1: "분산형 서버로 구성된 네트워크(Fediverse)에 접속하면 다른 서버와 서로 콘텐츠의 주고받기를 할 수 있습니다."
|
||||||
doYouConnectToFediverse_description2: "Fediverse에 접속하는 것을 '연합'이라고도 부릅니다."
|
doYouConnectToFediverse_description2: "Fediverse에 접속하는 것을 '연합'이라고도 부릅니다."
|
||||||
youCanConfigureMoreFederationSettingsLater: "나중에 연합 가능한 서버의 지정 등 고급 설정을 할 수 있습니다."
|
youCanConfigureMoreFederationSettingsLater: "나중에 연합 가능한 서버의 지정 등 고급 설정을 할 수 있습니다."
|
||||||
remoteContentsCleaning: "리모트 콘텐츠 자동 정리"
|
|
||||||
remoteContentsCleaning_description: "연합 중인 서버가 있는 경우, 리모트 서버에서 대단히 많은 콘텐츠를 받아오게 됩니다. 자동 정리 기능을 활성화하면, 오래되고 서버에서 더 이상 조회되지 않는 콘텐츠를 자동으로 서버에서 삭제하여, 스토리지를 절약할 수 있습니다."
|
|
||||||
adminInfo: "관리자 정보"
|
adminInfo: "관리자 정보"
|
||||||
adminInfo_description: "문의 접수를 위해 사용되는 관리자 정보를 설정합니다."
|
adminInfo_description: "문의 접수를 위해 사용되는 관리자 정보를 설정합니다."
|
||||||
adminInfo_mustBeFilled: "오픈 서버 혹은 연합이 켜져 있는 경우 반드시 입력해야 합니다."
|
adminInfo_mustBeFilled: "오픈 서버 혹은 연합이 켜져 있는 경우 반드시 입력해야 합니다."
|
||||||
|
|
@ -3292,7 +3103,6 @@ _serverSetupWizard:
|
||||||
text2: "앞으로도 계속해서 개발을 할 수 있도록 괜찮으시다면 부디 기부를 부탁드립니다."
|
text2: "앞으로도 계속해서 개발을 할 수 있도록 괜찮으시다면 부디 기부를 부탁드립니다."
|
||||||
text3: "지원자 대상 특전도 있습니다!"
|
text3: "지원자 대상 특전도 있습니다!"
|
||||||
_uploader:
|
_uploader:
|
||||||
editImage: "이미지 편집"
|
|
||||||
compressedToX: "{x}로 압축"
|
compressedToX: "{x}로 압축"
|
||||||
savedXPercent: "{x}% 절약"
|
savedXPercent: "{x}% 절약"
|
||||||
abortConfirm: "업로드되지 않은 파일이 있습니다만, 그만 두시겠습니까?"
|
abortConfirm: "업로드되지 않은 파일이 있습니다만, 그만 두시겠습니까?"
|
||||||
|
|
@ -3322,20 +3132,17 @@ _watermarkEditor:
|
||||||
title: "워터마크 편집"
|
title: "워터마크 편집"
|
||||||
cover: "전체에 붙이기"
|
cover: "전체에 붙이기"
|
||||||
repeat: "전면에 깔기"
|
repeat: "전면에 깔기"
|
||||||
preserveBoundingRect: "회전 시 빠져나오지 않도록 조정"
|
|
||||||
opacity: "불투명도"
|
opacity: "불투명도"
|
||||||
scale: "크기"
|
scale: "크기"
|
||||||
text: "텍스트"
|
text: "텍스트"
|
||||||
qr: "QR 코드"
|
|
||||||
position: "위치"
|
position: "위치"
|
||||||
margin: "여백"
|
|
||||||
type: "종류"
|
type: "종류"
|
||||||
image: "이미지"
|
image: "이미지"
|
||||||
advanced: "고급"
|
advanced: "고급"
|
||||||
angle: "각도"
|
|
||||||
stripe: "줄무늬"
|
stripe: "줄무늬"
|
||||||
stripeWidth: "라인의 폭"
|
stripeWidth: "라인의 폭"
|
||||||
stripeFrequency: "라인의 수"
|
stripeFrequency: "라인의 수"
|
||||||
|
angle: "각도"
|
||||||
polkadot: "물방울 무늬"
|
polkadot: "물방울 무늬"
|
||||||
checker: "체크 무늬"
|
checker: "체크 무늬"
|
||||||
polkadotMainDotOpacity: "주요 물방울의 불투명도"
|
polkadotMainDotOpacity: "주요 물방울의 불투명도"
|
||||||
|
|
@ -3343,21 +3150,16 @@ _watermarkEditor:
|
||||||
polkadotSubDotOpacity: "서브 물방울의 불투명도"
|
polkadotSubDotOpacity: "서브 물방울의 불투명도"
|
||||||
polkadotSubDotRadius: "서브 물방울의 크기"
|
polkadotSubDotRadius: "서브 물방울의 크기"
|
||||||
polkadotSubDotDivisions: "서브 물방울의 수"
|
polkadotSubDotDivisions: "서브 물방울의 수"
|
||||||
leaveBlankToAccountUrl: "빈칸일 경우 계정의 URL로 됩니다."
|
|
||||||
failedToLoadImage: "이미지 로딩에 실패했습니다."
|
|
||||||
_imageEffector:
|
_imageEffector:
|
||||||
title: "이펙트"
|
title: "이펙트"
|
||||||
addEffect: "이펙트를 추가"
|
addEffect: "이펙트를 추가"
|
||||||
discardChangesConfirm: "변경을 취소하고 종료하시겠습니까?"
|
discardChangesConfirm: "변경을 취소하고 종료하시겠습니까?"
|
||||||
failedToLoadImage: "이미지 로딩에 실패했습니다."
|
|
||||||
_fxs:
|
_fxs:
|
||||||
chromaticAberration: "색수차"
|
chromaticAberration: "색수차"
|
||||||
glitch: "글리치"
|
glitch: "글리치"
|
||||||
mirror: "미러"
|
mirror: "미러"
|
||||||
invert: "색 반전"
|
invert: "색 반전"
|
||||||
grayscale: "흑백"
|
grayscale: "흑백"
|
||||||
blur: "흐림 효과"
|
|
||||||
pixelate: "모자이크"
|
|
||||||
colorAdjust: "색조 보정"
|
colorAdjust: "색조 보정"
|
||||||
colorClamp: "색 압축"
|
colorClamp: "색 압축"
|
||||||
colorClampAdvanced: "색 압축(고급)"
|
colorClampAdvanced: "색 압축(고급)"
|
||||||
|
|
@ -3369,74 +3171,3 @@ _imageEffector:
|
||||||
checker: "체크 무늬"
|
checker: "체크 무늬"
|
||||||
blockNoise: "노이즈 방지"
|
blockNoise: "노이즈 방지"
|
||||||
tearing: "티어링"
|
tearing: "티어링"
|
||||||
fill: "채우기"
|
|
||||||
_fxProps:
|
|
||||||
angle: "각도"
|
|
||||||
scale: "크기"
|
|
||||||
size: "크기"
|
|
||||||
radius: "반지름"
|
|
||||||
samples: "샘플 수"
|
|
||||||
offset: "위치"
|
|
||||||
color: "색"
|
|
||||||
opacity: "불투명도"
|
|
||||||
normalize: "노멀라이즈"
|
|
||||||
amount: "양"
|
|
||||||
lightness: "밝음"
|
|
||||||
contrast: "대비"
|
|
||||||
hue: "색조"
|
|
||||||
brightness: "밝기"
|
|
||||||
saturation: "채도"
|
|
||||||
max: "최대 값"
|
|
||||||
min: "최소 값"
|
|
||||||
direction: "방향"
|
|
||||||
phase: "위상"
|
|
||||||
frequency: "빈도"
|
|
||||||
strength: "강도"
|
|
||||||
glitchChannelShift: "글리치"
|
|
||||||
seed: "시드 값"
|
|
||||||
redComponent: "빨간색 요소"
|
|
||||||
greenComponent: "녹색 요소"
|
|
||||||
blueComponent: "파란색 요소"
|
|
||||||
threshold: "한계 값"
|
|
||||||
centerX: "X축 중심"
|
|
||||||
centerY: "Y축 중심"
|
|
||||||
zoomLinesSmoothing: "다듬기"
|
|
||||||
zoomLinesSmoothingDescription: "다듬기와 집중선 폭 설정은 같이 쓸 수 없습니다."
|
|
||||||
zoomLinesThreshold: "집중선 폭"
|
|
||||||
zoomLinesMaskSize: "중앙 값"
|
|
||||||
zoomLinesBlack: "검은색으로 하기"
|
|
||||||
circle: "원형"
|
|
||||||
drafts: "초안"
|
|
||||||
_drafts:
|
|
||||||
select: "초안 선택"
|
|
||||||
cannotCreateDraftAnymore: "초안 작성 가능 수를 초과했습니다."
|
|
||||||
cannotCreateDraft: "이 내용으로는 초안을 작성할 수 없습니다. "
|
|
||||||
delete: "초안 삭제\n"
|
|
||||||
deleteAreYouSure: "초안을 삭제하시겠습니까?"
|
|
||||||
noDrafts: "초안 없음\n"
|
|
||||||
replyTo: "{user}에 회신"
|
|
||||||
quoteOf: "{user} 노트에 인용"
|
|
||||||
postTo: "{channel}에 게시"
|
|
||||||
saveToDraft: "초안에 저장"
|
|
||||||
restoreFromDraft: "초안에서 복원\n"
|
|
||||||
restore: "복원"
|
|
||||||
listDrafts: "초안 목록"
|
|
||||||
schedule: "게시 예약"
|
|
||||||
listScheduledNotes: "예약 게시물 목록"
|
|
||||||
cancelSchedule: "예약 해제"
|
|
||||||
qr: "QR 코드"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "보기"
|
|
||||||
readTabTitle: "읽어들이기"
|
|
||||||
shareTitle: "{name} {acct}"
|
|
||||||
shareText: "Fediverse로 저를 팔로우해 주세요!"
|
|
||||||
chooseCamera: "카메라 선택"
|
|
||||||
cannotToggleFlash: "플래시 선택 불가"
|
|
||||||
turnOnFlash: "플래시 켜기"
|
|
||||||
turnOffFlash: "플래시 끄기"
|
|
||||||
startQr: "코드 리더 재개"
|
|
||||||
stopQr: "코드 리더 정지"
|
|
||||||
noQrCodeFound: "QR 코드를 찾을 수 없습니다."
|
|
||||||
scanFile: "단말기의 이미지 스캔"
|
|
||||||
raw: "텍스트"
|
|
||||||
mfm: "MFM"
|
|
||||||
|
|
|
||||||
|
|
@ -393,9 +393,6 @@ file: "ໄຟລ໌"
|
||||||
replies: "ຕອບກັບ"
|
replies: "ຕອບກັບ"
|
||||||
renotes: "Renote"
|
renotes: "Renote"
|
||||||
information: "ກ່ຽວກັບ"
|
information: "ກ່ຽວກັບ"
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "ຊື່ໄຟລ໌"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "ເຊີນ"
|
invitations: "ເຊີນ"
|
||||||
noHistory: "ບໍ່ມີປະຫວັດ"
|
noHistory: "ບໍ່ມີປະຫວັດ"
|
||||||
|
|
@ -431,17 +428,11 @@ _widgets:
|
||||||
jobQueue: "ຄິວວຽກ"
|
jobQueue: "ຄິວວຽກ"
|
||||||
_userList:
|
_userList:
|
||||||
chooseList: "ເລືອກບັນຊີລາຍການ"
|
chooseList: "ເລືອກບັນຊີລາຍການ"
|
||||||
_widgetOptions:
|
|
||||||
height: "ຄວາມສູງ"
|
|
||||||
_cw:
|
_cw:
|
||||||
show: "ໂຫຼດເພີ່ມເຕີມ"
|
show: "ໂຫຼດເພີ່ມເຕີມ"
|
||||||
_visibility:
|
_visibility:
|
||||||
home: "ໜ້າຫຼັກ"
|
home: "ໜ້າຫຼັກ"
|
||||||
followers: "ຜູ້ຕິດຕາມ"
|
followers: "ຜູ້ຕິດຕາມ"
|
||||||
specified: "ໂພສ Direct note"
|
|
||||||
_postForm:
|
|
||||||
_howToUse:
|
|
||||||
menu_title: "ເມນູ"
|
|
||||||
_profile:
|
_profile:
|
||||||
name: "ຊື່"
|
name: "ຊື່"
|
||||||
username: "ຊື່ຜູ້ໃຊ້"
|
username: "ຊື່ຜູ້ໃຊ້"
|
||||||
|
|
@ -479,7 +470,6 @@ _deck:
|
||||||
list: "ລາຍການ"
|
list: "ລາຍການ"
|
||||||
channel: "ຊ່ອງ"
|
channel: "ຊ່ອງ"
|
||||||
mentions: "ກ່າວເຖິງເຈົ້າ"
|
mentions: "ກ່າວເຖິງເຈົ້າ"
|
||||||
direct: "ໂພສ Direct note"
|
|
||||||
_webhookSettings:
|
_webhookSettings:
|
||||||
name: "ຊື່"
|
name: "ຊື່"
|
||||||
_abuseReport:
|
_abuseReport:
|
||||||
|
|
|
||||||
|
|
@ -970,9 +970,6 @@ renotes: "Herdelen"
|
||||||
followingOrFollower: "Gevolgd of volger"
|
followingOrFollower: "Gevolgd of volger"
|
||||||
confirmShowRepliesAll: "Dit is een onomkeerbare operatie. Weet je zeker dat reacties op anderen van iedereen die je volgt, wil weergeven in je tijdlijn?"
|
confirmShowRepliesAll: "Dit is een onomkeerbare operatie. Weet je zeker dat reacties op anderen van iedereen die je volgt, wil weergeven in je tijdlijn?"
|
||||||
information: "Over"
|
information: "Over"
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "Bestandsnaam"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "Uitnodigen"
|
invitations: "Uitnodigen"
|
||||||
noHistory: "Geen geschiedenis gevonden"
|
noHistory: "Geen geschiedenis gevonden"
|
||||||
|
|
@ -1017,18 +1014,11 @@ _widgets:
|
||||||
jobQueue: "Job Queue"
|
jobQueue: "Job Queue"
|
||||||
_userList:
|
_userList:
|
||||||
chooseList: "Kies een lijst."
|
chooseList: "Kies een lijst."
|
||||||
_widgetOptions:
|
|
||||||
height: "Hoogte"
|
|
||||||
_cw:
|
_cw:
|
||||||
show: "Laad meer"
|
show: "Laad meer"
|
||||||
_visibility:
|
_visibility:
|
||||||
home: "Startpagina"
|
home: "Startpagina"
|
||||||
followers: "Volgers"
|
followers: "Volgers"
|
||||||
specified: "Directe notities"
|
|
||||||
_postForm:
|
|
||||||
_howToUse:
|
|
||||||
visibility_title: "Zichtbaarheid"
|
|
||||||
menu_title: "Menu"
|
|
||||||
_profile:
|
_profile:
|
||||||
name: "Naam"
|
name: "Naam"
|
||||||
username: "Gebruikersnaam"
|
username: "Gebruikersnaam"
|
||||||
|
|
@ -1071,7 +1061,6 @@ _deck:
|
||||||
list: "Lijsten"
|
list: "Lijsten"
|
||||||
channel: "Kanalen"
|
channel: "Kanalen"
|
||||||
mentions: "Vermeldingen"
|
mentions: "Vermeldingen"
|
||||||
direct: "Directe notities"
|
|
||||||
_webhookSettings:
|
_webhookSettings:
|
||||||
name: "Naam"
|
name: "Naam"
|
||||||
active: "Ingeschakeld"
|
active: "Ingeschakeld"
|
||||||
|
|
@ -1092,5 +1081,3 @@ _search:
|
||||||
_watermarkEditor:
|
_watermarkEditor:
|
||||||
image: "Afbeeldingen"
|
image: "Afbeeldingen"
|
||||||
advanced: "Geavanceerd"
|
advanced: "Geavanceerd"
|
||||||
_qr:
|
|
||||||
showTabTitle: "Weergave"
|
|
||||||
|
|
|
||||||
|
|
@ -461,14 +461,6 @@ replies: "Svar"
|
||||||
renotes: "Renote"
|
renotes: "Renote"
|
||||||
surrender: "Avbryt"
|
surrender: "Avbryt"
|
||||||
information: "Informasjon"
|
information: "Informasjon"
|
||||||
inMinutes: "Minutter"
|
|
||||||
inDays: "Dager"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "Filnavn"
|
|
||||||
_imageFrameEditor:
|
|
||||||
fontSerif: "Serif"
|
|
||||||
fontSansSerif: "Sans Serif"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "Inviter"
|
invitations: "Inviter"
|
||||||
members: "Medlemmer"
|
members: "Medlemmer"
|
||||||
|
|
@ -639,10 +631,6 @@ _widgets:
|
||||||
userList: "Brukerliste"
|
userList: "Brukerliste"
|
||||||
_userList:
|
_userList:
|
||||||
chooseList: "Velg liste"
|
chooseList: "Velg liste"
|
||||||
_widgetOptions:
|
|
||||||
height: "Høyde"
|
|
||||||
_clock:
|
|
||||||
size: "Størrelse"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "Skjul"
|
hide: "Skjul"
|
||||||
show: "Vis mer"
|
show: "Vis mer"
|
||||||
|
|
@ -660,8 +648,6 @@ _visibility:
|
||||||
home: "Hjem"
|
home: "Hjem"
|
||||||
followers: "Følgere"
|
followers: "Følgere"
|
||||||
_postForm:
|
_postForm:
|
||||||
_howToUse:
|
|
||||||
menu_title: "Meny"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "Hva skjer?"
|
a: "Hva skjer?"
|
||||||
_profile:
|
_profile:
|
||||||
|
|
@ -754,10 +740,3 @@ _watermarkEditor:
|
||||||
text: "Tekst"
|
text: "Tekst"
|
||||||
type: "Type"
|
type: "Type"
|
||||||
image: "Bilder"
|
image: "Bilder"
|
||||||
_imageEffector:
|
|
||||||
_fxProps:
|
|
||||||
scale: "Størrelse"
|
|
||||||
size: "Størrelse"
|
|
||||||
color: "Farge"
|
|
||||||
_qr:
|
|
||||||
raw: "Tekst"
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"type": "module"
|
||||||
|
}
|
||||||
|
|
@ -1040,18 +1040,6 @@ surrender: "Odrzuć"
|
||||||
gameRetry: "Spróbuj ponownie"
|
gameRetry: "Spróbuj ponownie"
|
||||||
postForm: "Formularz tworzenia wpisu"
|
postForm: "Formularz tworzenia wpisu"
|
||||||
information: "Informacje"
|
information: "Informacje"
|
||||||
inMinutes: "minuta"
|
|
||||||
inDays: "dzień"
|
|
||||||
widgets: "Widżety"
|
|
||||||
presets: "Konfiguracja"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "Nazwa pliku"
|
|
||||||
_imageFrameEditor:
|
|
||||||
header: "Nagłówek"
|
|
||||||
font: "Czcionka"
|
|
||||||
fontSerif: "Szeryfowa"
|
|
||||||
fontSansSerif: "Bezszeryfowa"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "Zaproś"
|
invitations: "Zaproś"
|
||||||
noHistory: "Brak historii"
|
noHistory: "Brak historii"
|
||||||
|
|
@ -1361,14 +1349,6 @@ _widgets:
|
||||||
_userList:
|
_userList:
|
||||||
chooseList: "Wybierz listę"
|
chooseList: "Wybierz listę"
|
||||||
clicker: "Clicker"
|
clicker: "Clicker"
|
||||||
_widgetOptions:
|
|
||||||
height: "Wysokość"
|
|
||||||
_button:
|
|
||||||
colored: "Kolorowe"
|
|
||||||
_clock:
|
|
||||||
size: "Rozmiar"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "Czas trwania"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "Ukryj"
|
hide: "Ukryj"
|
||||||
show: "Załaduj więcej"
|
show: "Załaduj więcej"
|
||||||
|
|
@ -1410,9 +1390,6 @@ _postForm:
|
||||||
replyPlaceholder: "Odpowiedz na ten wpis..."
|
replyPlaceholder: "Odpowiedz na ten wpis..."
|
||||||
quotePlaceholder: "Zacytuj ten wpis…"
|
quotePlaceholder: "Zacytuj ten wpis…"
|
||||||
channelPlaceholder: "Publikuj na kanale..."
|
channelPlaceholder: "Publikuj na kanale..."
|
||||||
_howToUse:
|
|
||||||
visibility_title: "Widoczność"
|
|
||||||
menu_title: "Menu"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "Co się dzieje?"
|
a: "Co się dzieje?"
|
||||||
b: "Co się wydarzyło?"
|
b: "Co się wydarzyło?"
|
||||||
|
|
@ -1614,13 +1591,3 @@ _watermarkEditor:
|
||||||
type: "Typ"
|
type: "Typ"
|
||||||
image: "Zdjęcia"
|
image: "Zdjęcia"
|
||||||
advanced: "Zaawansowane"
|
advanced: "Zaawansowane"
|
||||||
_imageEffector:
|
|
||||||
_fxProps:
|
|
||||||
scale: "Rozmiar"
|
|
||||||
size: "Rozmiar"
|
|
||||||
color: "Kolor"
|
|
||||||
opacity: "Przezroczystość"
|
|
||||||
lightness: "Rozjaśnij"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "Wyświetlanie"
|
|
||||||
raw: "Tekst"
|
|
||||||
|
|
|
||||||
|
|
@ -253,7 +253,6 @@ noteDeleteConfirm: "Deseja excluir esta nota?"
|
||||||
pinLimitExceeded: "Não é possível fixar novas notas"
|
pinLimitExceeded: "Não é possível fixar novas notas"
|
||||||
done: "Concluído"
|
done: "Concluído"
|
||||||
processing: "Em Progresso"
|
processing: "Em Progresso"
|
||||||
preprocessing: "Preparando..."
|
|
||||||
preview: "Pré-visualizar"
|
preview: "Pré-visualizar"
|
||||||
default: "Predefinição"
|
default: "Predefinição"
|
||||||
defaultValueIs: "Predefinição: {value}"
|
defaultValueIs: "Predefinição: {value}"
|
||||||
|
|
@ -299,7 +298,6 @@ uploadFromUrl: "Enviar por URL"
|
||||||
uploadFromUrlDescription: "URL do arquivo que você deseja enviar"
|
uploadFromUrlDescription: "URL do arquivo que você deseja enviar"
|
||||||
uploadFromUrlRequested: "Upload solicitado"
|
uploadFromUrlRequested: "Upload solicitado"
|
||||||
uploadFromUrlMayTakeTime: "Pode levar algum tempo para que o upload seja concluído."
|
uploadFromUrlMayTakeTime: "Pode levar algum tempo para que o upload seja concluído."
|
||||||
uploadNFiles: "Enviar {n} arquivos"
|
|
||||||
explore: "Explorar"
|
explore: "Explorar"
|
||||||
messageRead: "Lida"
|
messageRead: "Lida"
|
||||||
noMoreHistory: "Não existe histórico anterior"
|
noMoreHistory: "Não existe histórico anterior"
|
||||||
|
|
@ -328,7 +326,6 @@ dark: "Escuro"
|
||||||
lightThemes: "Tema claro"
|
lightThemes: "Tema claro"
|
||||||
darkThemes: "Tema escuro"
|
darkThemes: "Tema escuro"
|
||||||
syncDeviceDarkMode: "Sincronize com o modo escuro do dispositivo"
|
syncDeviceDarkMode: "Sincronize com o modo escuro do dispositivo"
|
||||||
switchDarkModeManuallyWhenSyncEnabledConfirm: "\"{x}\" está ativado. Você gostaria de desligar a sincronização e alterar manualmente?"
|
|
||||||
drive: "Drive"
|
drive: "Drive"
|
||||||
fileName: "Nome do Ficheiro"
|
fileName: "Nome do Ficheiro"
|
||||||
selectFile: "Selecione os arquivos"
|
selectFile: "Selecione os arquivos"
|
||||||
|
|
@ -447,7 +444,7 @@ exploreUsersCount: "Há um utilizador de {count}"
|
||||||
exploreFediverse: "Explorar Fediverse"
|
exploreFediverse: "Explorar Fediverse"
|
||||||
popularTags: "Tags populares"
|
popularTags: "Tags populares"
|
||||||
userList: "Listas"
|
userList: "Listas"
|
||||||
about: "Sobre"
|
about: "Informações"
|
||||||
aboutMisskey: "Sobre Misskey"
|
aboutMisskey: "Sobre Misskey"
|
||||||
administrator: "Administrador"
|
administrator: "Administrador"
|
||||||
token: "Símbolo"
|
token: "Símbolo"
|
||||||
|
|
@ -581,7 +578,6 @@ newNoteRecived: "Nova nota recebida"
|
||||||
newNote: "Nova Nota"
|
newNote: "Nova Nota"
|
||||||
sounds: "Sons"
|
sounds: "Sons"
|
||||||
sound: "Sons"
|
sound: "Sons"
|
||||||
notificationSoundSettings: "Configurações de som de notificações"
|
|
||||||
listen: "Ouvir"
|
listen: "Ouvir"
|
||||||
none: "Nenhum"
|
none: "Nenhum"
|
||||||
showInPage: "Ver na página"
|
showInPage: "Ver na página"
|
||||||
|
|
@ -1003,7 +999,6 @@ failedToUpload: "Falha ao enviar"
|
||||||
cannotUploadBecauseInappropriate: "Esse arquivo não pôde ser enviado porque partes dele foram detectadas como potencialmente inapropriadas."
|
cannotUploadBecauseInappropriate: "Esse arquivo não pôde ser enviado porque partes dele foram detectadas como potencialmente inapropriadas."
|
||||||
cannotUploadBecauseNoFreeSpace: "Envio falhou devido à falta de capacidade no Drive."
|
cannotUploadBecauseNoFreeSpace: "Envio falhou devido à falta de capacidade no Drive."
|
||||||
cannotUploadBecauseExceedsFileSizeLimit: "Não é possível realizar o upload deste arquivo porque ele excede o tamanho máximo permitido."
|
cannotUploadBecauseExceedsFileSizeLimit: "Não é possível realizar o upload deste arquivo porque ele excede o tamanho máximo permitido."
|
||||||
cannotUploadBecauseUnallowedFileType: "Não foi possível fazer o envio, pois o formato do arquivo não foi autorizado."
|
|
||||||
beta: "Beta"
|
beta: "Beta"
|
||||||
enableAutoSensitive: "Marcar automaticamente como conteúdo sensível"
|
enableAutoSensitive: "Marcar automaticamente como conteúdo sensível"
|
||||||
enableAutoSensitiveDescription: "Quando disponível, a marcação de mídia sensível será automaticamente atribuído ao conteúdo de mídia usando aprendizado de máquina. Mesmo que você desative essa função, em alguns servidores, isso pode ser configurado automaticamente."
|
enableAutoSensitiveDescription: "Quando disponível, a marcação de mídia sensível será automaticamente atribuído ao conteúdo de mídia usando aprendizado de máquina. Mesmo que você desative essa função, em alguns servidores, isso pode ser configurado automaticamente."
|
||||||
|
|
@ -1055,7 +1050,6 @@ permissionDeniedError: "Operação recusada"
|
||||||
permissionDeniedErrorDescription: "Esta conta não tem permissão para executar esta ação."
|
permissionDeniedErrorDescription: "Esta conta não tem permissão para executar esta ação."
|
||||||
preset: "Predefinições"
|
preset: "Predefinições"
|
||||||
selectFromPresets: "Escolher de predefinições"
|
selectFromPresets: "Escolher de predefinições"
|
||||||
custom: "Personalizado"
|
|
||||||
achievements: "Conquistas"
|
achievements: "Conquistas"
|
||||||
gotInvalidResponseError: "Resposta do servidor inválida"
|
gotInvalidResponseError: "Resposta do servidor inválida"
|
||||||
gotInvalidResponseErrorDescription: "Servidor fora do ar ou em manutenção. Favor tentar mais tarde."
|
gotInvalidResponseErrorDescription: "Servidor fora do ar ou em manutenção. Favor tentar mais tarde."
|
||||||
|
|
@ -1094,7 +1088,6 @@ prohibitedWordsDescription2: "Utilizar espaços irá criar expressões aditivas
|
||||||
hiddenTags: "Hashtags escondidas"
|
hiddenTags: "Hashtags escondidas"
|
||||||
hiddenTagsDescription: "Selecione tags que não serão exibidas na lista de destaques. Várias tags podem ser escolhidas, separadas por linha."
|
hiddenTagsDescription: "Selecione tags que não serão exibidas na lista de destaques. Várias tags podem ser escolhidas, separadas por linha."
|
||||||
notesSearchNotAvailable: "A pesquisa de notas está indisponível."
|
notesSearchNotAvailable: "A pesquisa de notas está indisponível."
|
||||||
usersSearchNotAvailable: "Pesquisa de usuário está indisponível."
|
|
||||||
license: "Licença"
|
license: "Licença"
|
||||||
unfavoriteConfirm: "Deseja realmente remover dos favoritos?"
|
unfavoriteConfirm: "Deseja realmente remover dos favoritos?"
|
||||||
myClips: "Meus clipes"
|
myClips: "Meus clipes"
|
||||||
|
|
@ -1246,7 +1239,7 @@ releaseToRefresh: "Solte para atualizar"
|
||||||
refreshing: "Atualizando..."
|
refreshing: "Atualizando..."
|
||||||
pullDownToRefresh: "Puxe para baixo para atualizar"
|
pullDownToRefresh: "Puxe para baixo para atualizar"
|
||||||
useGroupedNotifications: "Agrupar notificações"
|
useGroupedNotifications: "Agrupar notificações"
|
||||||
emailVerificationFailedError: "Houve um problema ao verificar seu endereço de email. O link pode ter expirado."
|
signupPendingError: "Houve um problema ao verificar o endereço de email. O link pode ter expirado."
|
||||||
cwNotationRequired: "Se \"Esconder conteúdo\" está habilitado, uma descrição deve ser adicionada."
|
cwNotationRequired: "Se \"Esconder conteúdo\" está habilitado, uma descrição deve ser adicionada."
|
||||||
doReaction: "Adicionar reação"
|
doReaction: "Adicionar reação"
|
||||||
code: "Código"
|
code: "Código"
|
||||||
|
|
@ -1316,8 +1309,6 @@ availableRoles: "Cargos disponíveis"
|
||||||
acknowledgeNotesAndEnable: "Ative após compreender as precauções."
|
acknowledgeNotesAndEnable: "Ative após compreender as precauções."
|
||||||
federationSpecified: "Esse servidor opera com uma lista branca de federação. Interagir com servidores diferentes daqueles designados pela administração não é permitido."
|
federationSpecified: "Esse servidor opera com uma lista branca de federação. Interagir com servidores diferentes daqueles designados pela administração não é permitido."
|
||||||
federationDisabled: "Federação está desabilitada nesse servidor. Você não pode interagir com usuários de outros servidores."
|
federationDisabled: "Federação está desabilitada nesse servidor. Você não pode interagir com usuários de outros servidores."
|
||||||
draft: "Rascunhos"
|
|
||||||
draftsAndScheduledNotes: "Rascunhos e notas agendadas."
|
|
||||||
confirmOnReact: "Confirmar ao reagir"
|
confirmOnReact: "Confirmar ao reagir"
|
||||||
reactAreYouSure: "Você deseja adicionar uma reação \"{emoji}\"?"
|
reactAreYouSure: "Você deseja adicionar uma reação \"{emoji}\"?"
|
||||||
markAsSensitiveConfirm: "Você deseja definir essa mídia como sensível?"
|
markAsSensitiveConfirm: "Você deseja definir essa mídia como sensível?"
|
||||||
|
|
@ -1335,7 +1326,6 @@ restore: "Redefinir"
|
||||||
syncBetweenDevices: "Sincronizar entre dispositivos"
|
syncBetweenDevices: "Sincronizar entre dispositivos"
|
||||||
preferenceSyncConflictTitle: "O valor configurado já existe no servidor."
|
preferenceSyncConflictTitle: "O valor configurado já existe no servidor."
|
||||||
preferenceSyncConflictText: "As preferências com a sincronização ativada irão salvar os seus valores no servidor. Porém, já existem valores no servidor. Qual conjunto de valores você deseja sobrescrever?"
|
preferenceSyncConflictText: "As preferências com a sincronização ativada irão salvar os seus valores no servidor. Porém, já existem valores no servidor. Qual conjunto de valores você deseja sobrescrever?"
|
||||||
preferenceSyncConflictChoiceMerge: "Combinar"
|
|
||||||
preferenceSyncConflictChoiceServer: "Valor configurado no servidor"
|
preferenceSyncConflictChoiceServer: "Valor configurado no servidor"
|
||||||
preferenceSyncConflictChoiceDevice: "Valor configurado no dispositivo"
|
preferenceSyncConflictChoiceDevice: "Valor configurado no dispositivo"
|
||||||
preferenceSyncConflictChoiceCancel: "Cancelar a habilitação de sincronização"
|
preferenceSyncConflictChoiceCancel: "Cancelar a habilitação de sincronização"
|
||||||
|
|
@ -1343,10 +1333,8 @@ paste: "Colar"
|
||||||
emojiPalette: "Paleta de emojis"
|
emojiPalette: "Paleta de emojis"
|
||||||
postForm: "Campo de postagem"
|
postForm: "Campo de postagem"
|
||||||
textCount: "Contagem de caracteres"
|
textCount: "Contagem de caracteres"
|
||||||
information: "Sobre"
|
information: "Informações"
|
||||||
chat: "Conversas"
|
chat: "Conversas"
|
||||||
directMessage: "Conversar com usuário"
|
|
||||||
directMessage_short: "Mensagem"
|
|
||||||
migrateOldSettings: "Migrar configurações antigas de cliente"
|
migrateOldSettings: "Migrar configurações antigas de cliente"
|
||||||
migrateOldSettings_description: "Isso deve ser feito automaticamente. Caso o processo de migração tenha falhado, você pode acioná-lo manualmente. As informações atuais de migração serão substituídas."
|
migrateOldSettings_description: "Isso deve ser feito automaticamente. Caso o processo de migração tenha falhado, você pode acioná-lo manualmente. As informações atuais de migração serão substituídas."
|
||||||
compress: "Comprimir"
|
compress: "Comprimir"
|
||||||
|
|
@ -1368,53 +1356,7 @@ emojiMute: "Silenciar emoji"
|
||||||
emojiUnmute: "Reativar emoji"
|
emojiUnmute: "Reativar emoji"
|
||||||
muteX: "Silenciar {x}"
|
muteX: "Silenciar {x}"
|
||||||
unmuteX: "Reativar {x}"
|
unmuteX: "Reativar {x}"
|
||||||
abort: "Abortar"
|
|
||||||
tip: "Dicas e Truques"
|
|
||||||
redisplayAllTips: "Mostrar todas as \"Dicas e Truques\" novamente"
|
|
||||||
hideAllTips: "Ocultas todas as \"Dicas e Truques\""
|
|
||||||
defaultImageCompressionLevel: "Nível de compressão de imagem padrão"
|
|
||||||
defaultImageCompressionLevel_description: "Alto, reduz o tamanho do arquivo mas, também, a qualidade da imagem.<br>Alto, reduz o tamanho do arquivo mas, também, a qualidade da imagem."
|
|
||||||
defaultCompressionLevel: "Nível padrão de compressão"
|
|
||||||
defaultCompressionLevel_description: "Menor compressão preserva a qualidade mas aumenta o tamanho do arquivo.<br>Maior compressão reduz o tamanho do arquivo mas diminui a qualidade."
|
|
||||||
inMinutes: "Minuto(s)"
|
|
||||||
inDays: "Dia(s)"
|
|
||||||
safeModeEnabled: "Modo seguro está habilitado"
|
|
||||||
pluginsAreDisabledBecauseSafeMode: "Todos os plugins estão desabilitados porque o modo seguro está habilitado."
|
|
||||||
customCssIsDisabledBecauseSafeMode: "CSS personalizado não está aplicado porque o modo seguro está habilitado."
|
|
||||||
themeIsDefaultBecauseSafeMode: "Enquanto o modo seguro estiver ativo, o tema padrão é utilizado. Desabilitar o modo seguro reverterá essas mudanças."
|
|
||||||
thankYouForTestingBeta: "Obrigado por nos ajudar a testar a versão beta!"
|
|
||||||
createUserSpecifiedNote: "Criar uma nota direta"
|
|
||||||
schedulePost: "Agendar publicação"
|
|
||||||
scheduleToPostOnX: "Agendar nota para {x}"
|
|
||||||
scheduledToPostOnX: "A nota está agendada para {x}"
|
|
||||||
schedule: "Agendar"
|
|
||||||
scheduled: "Agendado"
|
|
||||||
widgets: "Widgets"
|
|
||||||
presets: "Predefinições"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "Nome do Ficheiro"
|
|
||||||
_imageFrameEditor:
|
|
||||||
header: "Cabeçalho"
|
|
||||||
withQrCode: "Código QR"
|
|
||||||
font: "Fonte"
|
|
||||||
fontSerif: "Serif"
|
|
||||||
fontSansSerif: "Sans Serif"
|
|
||||||
quitWithoutSaveConfirm: "Descartar mudanças?"
|
|
||||||
_compression:
|
|
||||||
_quality:
|
|
||||||
high: "Qualidade alta"
|
|
||||||
medium: "Qualidade média"
|
|
||||||
low: "Qualidade baixa"
|
|
||||||
_size:
|
|
||||||
large: "Tamanho grande"
|
|
||||||
medium: "Tamanho médio"
|
|
||||||
small: "Tamanho pequeno"
|
|
||||||
_order:
|
|
||||||
newest: "Priorizar Mais Novos"
|
|
||||||
oldest: "Priorizar Mais Antigos"
|
|
||||||
_chat:
|
_chat:
|
||||||
messages: "Mensagem"
|
|
||||||
noMessagesYet: "Ainda não há mensagens"
|
noMessagesYet: "Ainda não há mensagens"
|
||||||
newMessage: "Nova mensagem"
|
newMessage: "Nova mensagem"
|
||||||
individualChat: "Conversa Particular"
|
individualChat: "Conversa Particular"
|
||||||
|
|
@ -1500,9 +1442,6 @@ _settings:
|
||||||
contentsUpdateFrequency: "Frequência da obtenção de conteúdo"
|
contentsUpdateFrequency: "Frequência da obtenção de conteúdo"
|
||||||
contentsUpdateFrequency_description: "Quanto maior o valor, mais o conteúdo atualiza. Porém, há uma diminuição do desempenho e aumento do tráfego e consumo de memória."
|
contentsUpdateFrequency_description: "Quanto maior o valor, mais o conteúdo atualiza. Porém, há uma diminuição do desempenho e aumento do tráfego e consumo de memória."
|
||||||
contentsUpdateFrequency_description2: "Quando o modo tempo-real está ativado, o conteúdo é atualizado em tempo real, ignorando essa opção."
|
contentsUpdateFrequency_description2: "Quando o modo tempo-real está ativado, o conteúdo é atualizado em tempo real, ignorando essa opção."
|
||||||
showUrlPreview: "Exibir prévia de URL"
|
|
||||||
showAvailableReactionsFirstInNote: "Exibir reações disponíveis no topo."
|
|
||||||
showPageTabBarBottom: "Mostrar barra de aba da página inferiormente"
|
|
||||||
_chat:
|
_chat:
|
||||||
showSenderName: "Exibir nome de usuário do remetente"
|
showSenderName: "Exibir nome de usuário do remetente"
|
||||||
sendOnEnter: "Pressionar Enter para enviar"
|
sendOnEnter: "Pressionar Enter para enviar"
|
||||||
|
|
@ -1676,10 +1615,6 @@ _serverSettings:
|
||||||
fanoutTimelineDbFallback: "\"Fallback\" ao banco de dados"
|
fanoutTimelineDbFallback: "\"Fallback\" ao banco de dados"
|
||||||
fanoutTimelineDbFallbackDescription: "Quando habilitado, a linha do tempo irá recuar ao banco de dados caso consultas adicionais sejam feitas e ela não estiver em cache. Quando desabilitado, o impacto no servidor será reduzido ao eliminar o recuo, mas limita a quantidade de linhas do tempo que podem ser recebidas."
|
fanoutTimelineDbFallbackDescription: "Quando habilitado, a linha do tempo irá recuar ao banco de dados caso consultas adicionais sejam feitas e ela não estiver em cache. Quando desabilitado, o impacto no servidor será reduzido ao eliminar o recuo, mas limita a quantidade de linhas do tempo que podem ser recebidas."
|
||||||
reactionsBufferingDescription: "Quando ativado, o desempenho durante a criação de uma reação será melhorado substancialmente, reduzindo a carga do banco de dados. Porém, a o uso de memória do Redis irá aumentar."
|
reactionsBufferingDescription: "Quando ativado, o desempenho durante a criação de uma reação será melhorado substancialmente, reduzindo a carga do banco de dados. Porém, a o uso de memória do Redis irá aumentar."
|
||||||
remoteNotesCleaning: "Limpeza automática de notas remotas"
|
|
||||||
remoteNotesCleaning_description: "Quando habilitado, notas remotas obsoletas e não utilizadas serão periodicamente limpadas para previnir sobrecarga no banco de dados."
|
|
||||||
remoteNotesCleaningMaxProcessingDuration: "Maximizar tempo de processamento da limpeza"
|
|
||||||
remoteNotesCleaningExpiryDaysForEachNotes: "Mínimo de dias para retenção de notas"
|
|
||||||
inquiryUrl: "URL de inquérito"
|
inquiryUrl: "URL de inquérito"
|
||||||
inquiryUrlDescription: "Especifique um URL para um formulário de inquérito para a administração ou uma página web com informações de contato."
|
inquiryUrlDescription: "Especifique um URL para um formulário de inquérito para a administração ou uma página web com informações de contato."
|
||||||
openRegistration: "Abrir a criação de contas"
|
openRegistration: "Abrir a criação de contas"
|
||||||
|
|
@ -1698,11 +1633,6 @@ _serverSettings:
|
||||||
userGeneratedContentsVisibilityForVisitor: "Visibilidade de conteúdo dos usuários para visitantes"
|
userGeneratedContentsVisibilityForVisitor: "Visibilidade de conteúdo dos usuários para visitantes"
|
||||||
userGeneratedContentsVisibilityForVisitor_description: "Isso é útil para prevenir problemas causados por conteúdo inapropriado de usuários remotos de servidores com pouca ou nenhuma moderação, que pode ser hospedado na internet a partir desse servidor."
|
userGeneratedContentsVisibilityForVisitor_description: "Isso é útil para prevenir problemas causados por conteúdo inapropriado de usuários remotos de servidores com pouca ou nenhuma moderação, que pode ser hospedado na internet a partir desse servidor."
|
||||||
userGeneratedContentsVisibilityForVisitor_description2: "Publicar todo o conteúdo do servidor para a internet pode ser arriscado. Isso é especialmente importante para visitantes que desconhecem a natureza distribuída do conteúdo na internet, pois eles podem acreditar que o conteúdo remoto é criado por usuários desse servidor."
|
userGeneratedContentsVisibilityForVisitor_description2: "Publicar todo o conteúdo do servidor para a internet pode ser arriscado. Isso é especialmente importante para visitantes que desconhecem a natureza distribuída do conteúdo na internet, pois eles podem acreditar que o conteúdo remoto é criado por usuários desse servidor."
|
||||||
restartServerSetupWizardConfirm_title: "Reiniciar o assistente de configuração?"
|
|
||||||
restartServerSetupWizardConfirm_text: "Algumas configurações atuais serão reiniciadas."
|
|
||||||
entrancePageStyle: "Estilo da página de entrada"
|
|
||||||
showTimelineForVisitor: "Mostrar linha do tempo"
|
|
||||||
showActivitiesForVisitor: "Mostrar atividades"
|
|
||||||
_userGeneratedContentsVisibilityForVisitor:
|
_userGeneratedContentsVisibilityForVisitor:
|
||||||
all: "Tudo é público"
|
all: "Tudo é público"
|
||||||
localOnly: "Conteúdo local é publicado, conteúdo remoto é privado"
|
localOnly: "Conteúdo local é publicado, conteúdo remoto é privado"
|
||||||
|
|
@ -2039,7 +1969,6 @@ _role:
|
||||||
descriptionOfRateLimitFactor: "Valores menores são menos restritivos, valores maiores são mais restritivos."
|
descriptionOfRateLimitFactor: "Valores menores são menos restritivos, valores maiores são mais restritivos."
|
||||||
canHideAds: "Permitir ocultar anúncios"
|
canHideAds: "Permitir ocultar anúncios"
|
||||||
canSearchNotes: "Permitir a busca de notas"
|
canSearchNotes: "Permitir a busca de notas"
|
||||||
canSearchUsers: "Busca de usuário"
|
|
||||||
canUseTranslator: "Uso do tradutor"
|
canUseTranslator: "Uso do tradutor"
|
||||||
avatarDecorationLimit: "Número máximo de decorações de avatar que podem ser aplicadas"
|
avatarDecorationLimit: "Número máximo de decorações de avatar que podem ser aplicadas"
|
||||||
canImportAntennas: "Permitir importação de antenas"
|
canImportAntennas: "Permitir importação de antenas"
|
||||||
|
|
@ -2048,12 +1977,6 @@ _role:
|
||||||
canImportMuting: "Permitir importação de silenciamentos"
|
canImportMuting: "Permitir importação de silenciamentos"
|
||||||
canImportUserLists: "Permitir importação de listas"
|
canImportUserLists: "Permitir importação de listas"
|
||||||
chatAvailability: "Permitir Conversas"
|
chatAvailability: "Permitir Conversas"
|
||||||
uploadableFileTypes: "Tipos de arquivo enviáveis"
|
|
||||||
uploadableFileTypes_caption: "Especifica tipos MIME permitidos. Múltiplos tipos MIME podem ser especificados separando-os por linha. Curingas podem ser especificados com um asterisco (*). (exemplo, image/*)"
|
|
||||||
uploadableFileTypes_caption2: "Alguns tipos de arquivos podem não ser detectados. Para permiti-los, adicione {x} à especificação."
|
|
||||||
noteDraftLimit: "Limite de rascunhos possíveis"
|
|
||||||
scheduledNoteLimit: "Número máximo de notas agendadas simultâneas"
|
|
||||||
watermarkAvailable: "Disponibilidade da função de marca d'água"
|
|
||||||
_condition:
|
_condition:
|
||||||
roleAssignedTo: "Atribuído a cargos manuais"
|
roleAssignedTo: "Atribuído a cargos manuais"
|
||||||
isLocal: "Usuário local"
|
isLocal: "Usuário local"
|
||||||
|
|
@ -2213,7 +2136,6 @@ _theme:
|
||||||
install: "Instalar um tema"
|
install: "Instalar um tema"
|
||||||
manage: "Gerenciar temas"
|
manage: "Gerenciar temas"
|
||||||
code: "Código do tema"
|
code: "Código do tema"
|
||||||
copyThemeCode: "Copiar código do tema"
|
|
||||||
description: "Descrição"
|
description: "Descrição"
|
||||||
installed: "{name} foi instalado"
|
installed: "{name} foi instalado"
|
||||||
installedThemes: "Temas instalados"
|
installedThemes: "Temas instalados"
|
||||||
|
|
@ -2313,7 +2235,6 @@ _time:
|
||||||
minute: "Minuto(s)"
|
minute: "Minuto(s)"
|
||||||
hour: "Hora(s)"
|
hour: "Hora(s)"
|
||||||
day: "Dia(s)"
|
day: "Dia(s)"
|
||||||
month: "Mês(es)"
|
|
||||||
_2fa:
|
_2fa:
|
||||||
alreadyRegistered: "Você já cadastrou um dispositivo de autenticação de dois fatores."
|
alreadyRegistered: "Você já cadastrou um dispositivo de autenticação de dois fatores."
|
||||||
registerTOTP: "Cadastrar aplicativo autenticador"
|
registerTOTP: "Cadastrar aplicativo autenticador"
|
||||||
|
|
@ -2488,16 +2409,7 @@ _widgets:
|
||||||
chooseList: "Selecione uma lista"
|
chooseList: "Selecione uma lista"
|
||||||
clicker: "Clicker"
|
clicker: "Clicker"
|
||||||
birthdayFollowings: "Usuários de aniversário hoje"
|
birthdayFollowings: "Usuários de aniversário hoje"
|
||||||
chat: "Conversar com usuário"
|
chat: "Conversas"
|
||||||
_widgetOptions:
|
|
||||||
showHeader: "Exibir cabeçalho"
|
|
||||||
height: "Altura"
|
|
||||||
_button:
|
|
||||||
colored: "Colorido"
|
|
||||||
_clock:
|
|
||||||
size: "Tamanho"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "Duração"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "Esconder"
|
hide: "Esconder"
|
||||||
show: "Carregar mais"
|
show: "Carregar mais"
|
||||||
|
|
@ -2537,14 +2449,9 @@ _visibility:
|
||||||
disableFederation: "Defederar"
|
disableFederation: "Defederar"
|
||||||
disableFederationDescription: "Não transmitir às outras instâncias"
|
disableFederationDescription: "Não transmitir às outras instâncias"
|
||||||
_postForm:
|
_postForm:
|
||||||
quitInspiteOfThereAreUnuploadedFilesConfirm: "Há arquivos que não foram enviados, gostaria de descartá-los e fechar o editor?"
|
|
||||||
uploaderTip: "O arquivo ainda não foi enviado. No menu do arquivo, você pode renomear, cortar, adicionar uma marca d'água, comprimir ou descomprimir um arquivo. Arquivos serão enviados automaticamente ao publicar a nota."
|
|
||||||
replyPlaceholder: "Responder a essa nota..."
|
replyPlaceholder: "Responder a essa nota..."
|
||||||
quotePlaceholder: "Citar essa nota..."
|
quotePlaceholder: "Citar essa nota..."
|
||||||
channelPlaceholder: "Postar em canal..."
|
channelPlaceholder: "Postar em canal..."
|
||||||
_howToUse:
|
|
||||||
visibility_title: "Visibilidade"
|
|
||||||
menu_title: "Menu\n"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "Como vão as coisas?"
|
a: "Como vão as coisas?"
|
||||||
b: "O que está rolando por aí?"
|
b: "O que está rolando por aí?"
|
||||||
|
|
@ -2690,8 +2597,6 @@ _notification:
|
||||||
youReceivedFollowRequest: "Você recebeu um pedido de seguidor"
|
youReceivedFollowRequest: "Você recebeu um pedido de seguidor"
|
||||||
yourFollowRequestAccepted: "Seu pedido de seguidor foi aceito"
|
yourFollowRequestAccepted: "Seu pedido de seguidor foi aceito"
|
||||||
pollEnded: "Os resultados da enquete agora estão disponíveis"
|
pollEnded: "Os resultados da enquete agora estão disponíveis"
|
||||||
scheduledNotePosted: "Nota agendada foi publicada"
|
|
||||||
scheduledNotePostFailed: "Não foi possível publicar nota agendada"
|
|
||||||
newNote: "Nova nota"
|
newNote: "Nova nota"
|
||||||
unreadAntennaNote: "Antena {name}"
|
unreadAntennaNote: "Antena {name}"
|
||||||
roleAssigned: "Cargo dado"
|
roleAssigned: "Cargo dado"
|
||||||
|
|
@ -2771,7 +2676,7 @@ _deck:
|
||||||
mentions: "Menções"
|
mentions: "Menções"
|
||||||
direct: "Notas diretas"
|
direct: "Notas diretas"
|
||||||
roleTimeline: "Linha do tempo do cargo"
|
roleTimeline: "Linha do tempo do cargo"
|
||||||
chat: "Conversar com usuário"
|
chat: "Conversas"
|
||||||
_dialog:
|
_dialog:
|
||||||
charactersExceeded: "Você excedeu o limite de caracteres! Atualmente em {current} de {max}."
|
charactersExceeded: "Você excedeu o limite de caracteres! Atualmente em {current} de {max}."
|
||||||
charactersBelow: "Você está abaixo do limite mínimo de caracteres! Atualmente em {current} of {min}."
|
charactersBelow: "Você está abaixo do limite mínimo de caracteres! Atualmente em {current} of {min}."
|
||||||
|
|
@ -2877,7 +2782,6 @@ _fileViewer:
|
||||||
url: "URL"
|
url: "URL"
|
||||||
uploadedAt: "Adicionado em"
|
uploadedAt: "Adicionado em"
|
||||||
attachedNotes: "Notas anexadas"
|
attachedNotes: "Notas anexadas"
|
||||||
usage: "Usado"
|
|
||||||
thisPageCanBeSeenFromTheAuthor: "Essa página só pode ser vista pelo usuário que enviou esse arquivo."
|
thisPageCanBeSeenFromTheAuthor: "Essa página só pode ser vista pelo usuário que enviou esse arquivo."
|
||||||
_externalResourceInstaller:
|
_externalResourceInstaller:
|
||||||
title: "Instalar de site externo"
|
title: "Instalar de site externo"
|
||||||
|
|
@ -2925,12 +2829,6 @@ _dataSaver:
|
||||||
_avatar:
|
_avatar:
|
||||||
title: "Imagem do avatar"
|
title: "Imagem do avatar"
|
||||||
description: "Parar animação de avatares. Imagens animadas podem ter um arquivo mais pesado do que imagens normais, potencialmente levando a reduções no tráfego de dados."
|
description: "Parar animação de avatares. Imagens animadas podem ter um arquivo mais pesado do que imagens normais, potencialmente levando a reduções no tráfego de dados."
|
||||||
_urlPreviewThumbnail:
|
|
||||||
title: "Esconder miniaturas em prévias de URL"
|
|
||||||
description: "Miniaturas em prévias de URL não serão carregadas."
|
|
||||||
_disableUrlPreview:
|
|
||||||
title: "Desabilitar prévias de URL"
|
|
||||||
description: "Desabilita a função de prévias de URL. Diferente das miniaturas, essa função impede o carregamento de toda informação do link."
|
|
||||||
_code:
|
_code:
|
||||||
title: "Destaque de código"
|
title: "Destaque de código"
|
||||||
description: "Se as notações de formatação de código forem utilizadas em MFM, elas não irão carregar até serem selecionadas. Destaque de código exige baixar arquivos de alta definição para cada linguagem de programação. Logo, desabilitar o carregamento automático desses arquivos diminui a quantidade de informação comunicada."
|
description: "Se as notações de formatação de código forem utilizadas em MFM, elas não irão carregar até serem selecionadas. Destaque de código exige baixar arquivos de alta definição para cada linguagem de programação. Logo, desabilitar o carregamento automático desses arquivos diminui a quantidade de informação comunicada."
|
||||||
|
|
@ -2988,8 +2886,6 @@ _offlineScreen:
|
||||||
_urlPreviewSetting:
|
_urlPreviewSetting:
|
||||||
title: "Configurações da prévia de URL"
|
title: "Configurações da prévia de URL"
|
||||||
enable: "Habilitar prévia de URL"
|
enable: "Habilitar prévia de URL"
|
||||||
allowRedirect: "Permitir redirecionamentos de URL em prévias."
|
|
||||||
allowRedirectDescription: "Se um URL tem um redirecionamento, você pode habilitar essa função para segui-lo e exibir a prévia do conteúdo redirecionado. Desabilitar isso irá economizar recursos, mas o conteúdo não será exibido."
|
|
||||||
timeout: "Tempo máximo para obter a prévia (ms)"
|
timeout: "Tempo máximo para obter a prévia (ms)"
|
||||||
timeoutDescription: "Se demorar mais que esse valor para obter uma prévia, ela não será gerada."
|
timeoutDescription: "Se demorar mais que esse valor para obter uma prévia, ela não será gerada."
|
||||||
maximumContentLength: "Content-Length máximo (em bytes)"
|
maximumContentLength: "Content-Length máximo (em bytes)"
|
||||||
|
|
@ -3130,7 +3026,6 @@ _bootErrors:
|
||||||
otherOption1: "Excluir ajustes de cliente e cache"
|
otherOption1: "Excluir ajustes de cliente e cache"
|
||||||
otherOption2: "Iniciar o cliente simples"
|
otherOption2: "Iniciar o cliente simples"
|
||||||
otherOption3: "Iniciar ferramenta de reparo"
|
otherOption3: "Iniciar ferramenta de reparo"
|
||||||
otherOption4: "Abrir Misskey no modo seguro"
|
|
||||||
_search:
|
_search:
|
||||||
searchScopeAll: "Todos"
|
searchScopeAll: "Todos"
|
||||||
searchScopeLocal: "Local"
|
searchScopeLocal: "Local"
|
||||||
|
|
@ -3167,8 +3062,6 @@ _serverSetupWizard:
|
||||||
doYouConnectToFediverse_description1: "Quando conectado com uma rede distribuída de servidores (Fediverso), o conteúdo pode ser trocado com outros servidores."
|
doYouConnectToFediverse_description1: "Quando conectado com uma rede distribuída de servidores (Fediverso), o conteúdo pode ser trocado com outros servidores."
|
||||||
doYouConnectToFediverse_description2: "Conectar com o Fediverso também é chamado de \"federação\""
|
doYouConnectToFediverse_description2: "Conectar com o Fediverso também é chamado de \"federação\""
|
||||||
youCanConfigureMoreFederationSettingsLater: "Configurações adicionais como especificar servidores para conectar-se com podem ser feitas posteriormente"
|
youCanConfigureMoreFederationSettingsLater: "Configurações adicionais como especificar servidores para conectar-se com podem ser feitas posteriormente"
|
||||||
remoteContentsCleaning: "Limpeza automática de conteúdos recebidos"
|
|
||||||
remoteContentsCleaning_description: "A federação pode resultar em uma entrada contínua de conteúdo. Habilitar a limpeza automática removerá conteúdo obsoleto e não referenciado do servidor para economizar armazenamento."
|
|
||||||
adminInfo: "Informações da administração"
|
adminInfo: "Informações da administração"
|
||||||
adminInfo_description: "Define as informações do administrador usadas para receber consultas."
|
adminInfo_description: "Define as informações do administrador usadas para receber consultas."
|
||||||
adminInfo_mustBeFilled: "Deve ser preenchido se o servidor é público ou se a federação está ativa."
|
adminInfo_mustBeFilled: "Deve ser preenchido se o servidor é público ou se a federação está ativa."
|
||||||
|
|
@ -3183,15 +3076,6 @@ _serverSetupWizard:
|
||||||
text1: "Misskey é software aberto desenvolvido por voluntários."
|
text1: "Misskey é software aberto desenvolvido por voluntários."
|
||||||
text2: "Nós apreciaríamos o seu apoio para podermos continuar o desenvolvimento desse software no futuro."
|
text2: "Nós apreciaríamos o seu apoio para podermos continuar o desenvolvimento desse software no futuro."
|
||||||
text3: "Também há benefícios especiais para apoiadores!"
|
text3: "Também há benefícios especiais para apoiadores!"
|
||||||
_uploader:
|
|
||||||
editImage: "Editar Imagem"
|
|
||||||
compressedToX: "Comprimido para {x}"
|
|
||||||
savedXPercent: "Salvando {x}%"
|
|
||||||
abortConfirm: "Alguns arquivos não foram enviados, deseja abortar?"
|
|
||||||
doneConfirm: "Alguns arquivos não foram enviados, deseja continuar mesmo assim?"
|
|
||||||
maxFileSizeIsX: "O tamanho máximo de arquivos enviados é {x}"
|
|
||||||
allowedTypes: "Tipos de arquivo enviáveis"
|
|
||||||
tip: "O arquivo não foi enviado. Então, esse diálogo permite que você confirme, renomeie, comprima e recorte o arquivo antes de enviar. Quando estiver pronto, você pode enviar apertando o botão \"Enviar\"."
|
|
||||||
_clientPerformanceIssueTip:
|
_clientPerformanceIssueTip:
|
||||||
title: "Dicas de desempenho"
|
title: "Dicas de desempenho"
|
||||||
makeSureDisabledAdBlocker: "Desative o seu bloqueador de anúncios"
|
makeSureDisabledAdBlocker: "Desative o seu bloqueador de anúncios"
|
||||||
|
|
@ -3200,132 +3084,13 @@ _clientPerformanceIssueTip:
|
||||||
makeSureDisabledCustomCss_description: "Substituir o estilo da página pode afetar o desempenho. Certifique-se que o CSS personalizado ou extensões que modifiquem o estilo da página estejam desabilitados."
|
makeSureDisabledCustomCss_description: "Substituir o estilo da página pode afetar o desempenho. Certifique-se que o CSS personalizado ou extensões que modifiquem o estilo da página estejam desabilitados."
|
||||||
makeSureDisabledAddons: "Desabilite extensões"
|
makeSureDisabledAddons: "Desabilite extensões"
|
||||||
makeSureDisabledAddons_description: "Algumas extensões podem afetar comportamentos do cliente e afetar o desempenho. Por favor, desative as extensões do seu navegador e veja se isso melhora a situação."
|
makeSureDisabledAddons_description: "Algumas extensões podem afetar comportamentos do cliente e afetar o desempenho. Por favor, desative as extensões do seu navegador e veja se isso melhora a situação."
|
||||||
_clip:
|
|
||||||
tip: "Clip é uma função que permite organização das suas notas."
|
|
||||||
_userLists:
|
|
||||||
tip: "Listas podem conter qualquer usuário que você especificar em sua criação. A lista criada aparece como uma linha do tempo exibindo usuários selecionados."
|
|
||||||
watermark: "Marca d'água"
|
|
||||||
defaultPreset: "Predefinição Padrão"
|
|
||||||
_watermarkEditor:
|
_watermarkEditor:
|
||||||
tip: "Uma marca d'água, como informação de autoria, pode ser adicionada à imagem."
|
|
||||||
quitWithoutSaveConfirm: "Descartar mudanças?"
|
|
||||||
driveFileTypeWarn: "Esse arquivo não é compatível"
|
driveFileTypeWarn: "Esse arquivo não é compatível"
|
||||||
driveFileTypeWarnDescription: "Escolha um arquivo de imagem"
|
|
||||||
title: "Editar marca d'água"
|
|
||||||
cover: "Cobrir tudo"
|
|
||||||
repeat: "Espalhar pelo conteúdo"
|
|
||||||
opacity: "Opacidade"
|
opacity: "Opacidade"
|
||||||
scale: "Tamanho"
|
scale: "Tamanho"
|
||||||
text: "Texto"
|
text: "Texto"
|
||||||
qr: "Código QR"
|
|
||||||
position: "Posição"
|
position: "Posição"
|
||||||
margin: "Margem"
|
|
||||||
type: "Tipo"
|
type: "Tipo"
|
||||||
image: "imagem"
|
image: "imagem"
|
||||||
advanced: "Avançado"
|
advanced: "Avançado"
|
||||||
angle: "Ângulo"
|
angle: "Ângulo"
|
||||||
stripe: "Listras"
|
|
||||||
stripeWidth: "Largura da linha"
|
|
||||||
stripeFrequency: "Número de linhas"
|
|
||||||
polkadot: "Bolinhas"
|
|
||||||
checker: "Xadrez"
|
|
||||||
polkadotMainDotOpacity: "Opacidade da bolinha principal"
|
|
||||||
polkadotMainDotRadius: "Raio da bolinha principal"
|
|
||||||
polkadotSubDotOpacity: "Opacidade da bolinha secundária"
|
|
||||||
polkadotSubDotRadius: "Raio das bolinhas adicionais"
|
|
||||||
polkadotSubDotDivisions: "Número de bolinhas adicionais"
|
|
||||||
leaveBlankToAccountUrl: "Deixe em branco para utilizar URL da conta"
|
|
||||||
_imageEffector:
|
|
||||||
title: "Efeitos"
|
|
||||||
addEffect: "Adicionar efeitos"
|
|
||||||
discardChangesConfirm: "Tem certeza que deseja sair? Há mudanças não salvas."
|
|
||||||
_fxs:
|
|
||||||
chromaticAberration: "Aberração cromática"
|
|
||||||
glitch: "Glitch"
|
|
||||||
mirror: "Espelho"
|
|
||||||
invert: "Inverter Cores"
|
|
||||||
grayscale: "Tons de Cinza"
|
|
||||||
blur: "Desfoque"
|
|
||||||
pixelate: "Pixelizar"
|
|
||||||
colorAdjust: "Correção de Cores"
|
|
||||||
colorClamp: "Compressão de Cores"
|
|
||||||
colorClampAdvanced: "Compressão Avançada de Cores"
|
|
||||||
distort: "Distorção"
|
|
||||||
threshold: "Limiarização Binária"
|
|
||||||
zoomLines: "Linhas de Ação"
|
|
||||||
stripe: "Listras"
|
|
||||||
polkadot: "Bolinhas"
|
|
||||||
checker: "Xadrez"
|
|
||||||
blockNoise: "Bloquear Ruído"
|
|
||||||
tearing: "Descontinuidade"
|
|
||||||
fill: "Preencher"
|
|
||||||
_fxProps:
|
|
||||||
angle: "Ângulo"
|
|
||||||
scale: "Tamanho"
|
|
||||||
size: "Tamanho"
|
|
||||||
radius: "Raio"
|
|
||||||
samples: "Número de amostras"
|
|
||||||
offset: "Posição"
|
|
||||||
color: "Cor"
|
|
||||||
opacity: "Opacidade"
|
|
||||||
normalize: "Normalizar"
|
|
||||||
amount: "Quantidade"
|
|
||||||
lightness: "Esclarecer"
|
|
||||||
contrast: "Contraste"
|
|
||||||
hue: "Matiz"
|
|
||||||
brightness: "Brilho"
|
|
||||||
saturation: "Saturação"
|
|
||||||
max: "Máximo"
|
|
||||||
min: "Mínimo"
|
|
||||||
direction: "Direção"
|
|
||||||
phase: "Fase"
|
|
||||||
frequency: "Frequência"
|
|
||||||
strength: "Força"
|
|
||||||
glitchChannelShift: "Mudança de canal"
|
|
||||||
seed: "Valor da semente"
|
|
||||||
redComponent: "Componente vermelho"
|
|
||||||
greenComponent: "Componente verde"
|
|
||||||
blueComponent: "Componente azul"
|
|
||||||
threshold: "Limiar"
|
|
||||||
centerX: "Centralizar X"
|
|
||||||
centerY: "Centralizar Y"
|
|
||||||
zoomLinesSmoothing: "Suavização"
|
|
||||||
zoomLinesSmoothingDescription: "Suavização e largura das linhas de zoom não podem ser utilizados simultaneamente."
|
|
||||||
zoomLinesThreshold: "Largura das linhas de zoom"
|
|
||||||
zoomLinesMaskSize: "Diâmetro do centro"
|
|
||||||
zoomLinesBlack: "Linhas pretas"
|
|
||||||
circle: "Circular"
|
|
||||||
drafts: "Rascunhos"
|
|
||||||
_drafts:
|
|
||||||
select: "Selecionar Rascunho"
|
|
||||||
cannotCreateDraftAnymore: "O número máximo de rascunhos foi excedido."
|
|
||||||
cannotCreateDraft: "Você não pode criar um rascunho com esse conteúdo."
|
|
||||||
delete: "Excluir Rascunho"
|
|
||||||
deleteAreYouSure: "Excluir rascunho?"
|
|
||||||
noDrafts: "Sem rascunhos"
|
|
||||||
replyTo: "Resposta a {user}"
|
|
||||||
quoteOf: "Citação à nota de {user}"
|
|
||||||
postTo: "Publicando em {channel}"
|
|
||||||
saveToDraft: "Salvar como Rascunho"
|
|
||||||
restoreFromDraft: "Restaurar de Rascunho"
|
|
||||||
restore: "Redefinir"
|
|
||||||
listDrafts: "Lista de Rascunhos"
|
|
||||||
schedule: "Agendar nota"
|
|
||||||
listScheduledNotes: "Lista de notas agendadas"
|
|
||||||
cancelSchedule: "Cancelar agendamento"
|
|
||||||
qr: "Código QR"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "Visualizar"
|
|
||||||
readTabTitle: "Escanear"
|
|
||||||
shareTitle: "{name} {acct}"
|
|
||||||
shareText: "Siga-me no Fediverso!"
|
|
||||||
chooseCamera: "Escolher câmera"
|
|
||||||
cannotToggleFlash: "Não foi possível ligar a lanterna"
|
|
||||||
turnOnFlash: "Ligar a lanterna"
|
|
||||||
turnOffFlash: "Desligar a lanterna"
|
|
||||||
startQr: "Retornar ao leitor de códigos QR"
|
|
||||||
stopQr: "Deixar o leitor de códigos QR"
|
|
||||||
noQrCodeFound: "Nenhum código QR encontrado"
|
|
||||||
scanFile: "Escanear imagem de dispositivo"
|
|
||||||
raw: "Texto"
|
|
||||||
mfm: "MFM"
|
|
||||||
|
|
|
||||||
|
|
@ -1215,10 +1215,6 @@ lastNDays: "Ultimele {n} zile"
|
||||||
surrender: "Anulează"
|
surrender: "Anulează"
|
||||||
copyPreferenceId: "Copiază ID-ul preferințelor"
|
copyPreferenceId: "Copiază ID-ul preferințelor"
|
||||||
information: "Despre"
|
information: "Despre"
|
||||||
presets: "Presetate"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "Nume fișier"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "Invită"
|
invitations: "Invită"
|
||||||
noHistory: "Nu există istoric"
|
noHistory: "Nu există istoric"
|
||||||
|
|
@ -1301,25 +1297,15 @@ _widgets:
|
||||||
jobQueue: "coada de job-uri"
|
jobQueue: "coada de job-uri"
|
||||||
_userList:
|
_userList:
|
||||||
chooseList: "Selectează o listă"
|
chooseList: "Selectează o listă"
|
||||||
_widgetOptions:
|
|
||||||
height: "Înălţime"
|
|
||||||
_button:
|
|
||||||
colored: "Colorat"
|
|
||||||
_clock:
|
|
||||||
size: "Dimensiune"
|
|
||||||
_cw:
|
_cw:
|
||||||
show: "Incarcă mai mult"
|
show: "Incarcă mai mult"
|
||||||
_visibility:
|
_visibility:
|
||||||
home: "Acasă"
|
home: "Acasă"
|
||||||
followers: "Urmăritori"
|
followers: "Urmăritori"
|
||||||
specified: "Note directe"
|
|
||||||
_postForm:
|
_postForm:
|
||||||
replyPlaceholder: "Răspunde la această notă..."
|
replyPlaceholder: "Răspunde la această notă..."
|
||||||
quotePlaceholder: "Citează aceasta nota..."
|
quotePlaceholder: "Citează aceasta nota..."
|
||||||
channelPlaceholder: "Postează pe un canal..."
|
channelPlaceholder: "Postează pe un canal..."
|
||||||
_howToUse:
|
|
||||||
visibility_title: "Vizibilitate"
|
|
||||||
menu_title: "Meniu"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "Ce mai faci?"
|
a: "Ce mai faci?"
|
||||||
b: "Ce se mai petrece in jurul tău?"
|
b: "Ce se mai petrece in jurul tău?"
|
||||||
|
|
@ -1370,7 +1356,6 @@ _deck:
|
||||||
list: "Liste"
|
list: "Liste"
|
||||||
channel: "Canale"
|
channel: "Canale"
|
||||||
mentions: "Mențiuni"
|
mentions: "Mențiuni"
|
||||||
direct: "Note directe"
|
|
||||||
roleTimeline: "Cronologia rolului"
|
roleTimeline: "Cronologia rolului"
|
||||||
_webhookSettings:
|
_webhookSettings:
|
||||||
name: "Nume"
|
name: "Nume"
|
||||||
|
|
@ -1413,11 +1398,3 @@ _watermarkEditor:
|
||||||
type: "Tip"
|
type: "Tip"
|
||||||
image: "Imagini"
|
image: "Imagini"
|
||||||
advanced: "Avansat"
|
advanced: "Avansat"
|
||||||
_imageEffector:
|
|
||||||
_fxProps:
|
|
||||||
scale: "Dimensiune"
|
|
||||||
size: "Dimensiune"
|
|
||||||
offset: "Poziție"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "Arată"
|
|
||||||
raw: "Text"
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
_lang_: "Русский"
|
_lang_: "Русский"
|
||||||
headlineMisskey: "Сеть, сплетённая из заметок"
|
headlineMisskey: "Сеть, сплетённая из заметок"
|
||||||
introMisskey: "Добро пожаловать! Misskey — это децентрализованный сервис микроблогов с открытым исходным кодом.\nПишите «заметки» — делитесь со всеми происходящим вокруг или рассказывайте о себе 📡\nСтавьте «реакции» — выражайте свои чувства и эмоции от заметок других 👍\nОткройте для себя новый мир 🚀"
|
introMisskey: "Добро пожаловать! Misskey — это децентрализованный сервис микроблогов с открытым исходным кодом.\nПишите «заметки» — делитесь со всеми происходящим вокруг или рассказывайте о себе 📡\nСтавьте «реакции» — выражайте свои чувства и эмоции от заметок других 👍\nОткройте для себя новый мир 🚀"
|
||||||
poweredByMisskeyDescription: "{name} – один из инстансов (также называемый экземпляром Misskey), использующий платформу с открытым исходным кодом <b>Misskey</b>."
|
poweredByMisskeyDescription: "{name} – сервис на платформе с открытым исходным кодом <b>Misskey</b>, называемый экземпляром Misskey."
|
||||||
monthAndDay: "{day}.{month}"
|
monthAndDay: "{day}.{month}"
|
||||||
search: "Поиск"
|
search: "Поиск"
|
||||||
reset: "Сброс"
|
reset: "Сброс"
|
||||||
|
|
@ -82,14 +82,12 @@ export: "Экспорт"
|
||||||
files: "Файлы"
|
files: "Файлы"
|
||||||
download: "Скачать"
|
download: "Скачать"
|
||||||
driveFileDeleteConfirm: "Удалить файл «{name}»? Заметки с ним также будут удалены."
|
driveFileDeleteConfirm: "Удалить файл «{name}»? Заметки с ним также будут удалены."
|
||||||
unfollowConfirm: "Отписаться от {name} ?"
|
unfollowConfirm: "Удалить из подписок пользователя {name}?"
|
||||||
cancelFollowRequestConfirm: "Вы уверены, что хотите отменить запрос на подписку пользователю {name}?"
|
|
||||||
rejectFollowRequestConfirm: "Отклонить запрос на подписку от {name}?"
|
|
||||||
exportRequested: "Вы запросили экспорт. Это может занять некоторое время. Результат будет добавлен на «Диск»."
|
exportRequested: "Вы запросили экспорт. Это может занять некоторое время. Результат будет добавлен на «Диск»."
|
||||||
importRequested: "Вы запросили импорт. Это может занять некоторое время."
|
importRequested: "Вы запросили импорт. Это может занять некоторое время."
|
||||||
lists: "Списки"
|
lists: "Списки"
|
||||||
noLists: "Нет ни одного списка"
|
noLists: "Нет ни одного списка"
|
||||||
note: "Пост"
|
note: "Заметка"
|
||||||
notes: "Заметки"
|
notes: "Заметки"
|
||||||
following: "Подписки"
|
following: "Подписки"
|
||||||
followers: "Подписчики"
|
followers: "Подписчики"
|
||||||
|
|
@ -124,7 +122,7 @@ inChannelRenote: "В канале"
|
||||||
inChannelQuote: "Заметки в канале"
|
inChannelQuote: "Заметки в канале"
|
||||||
renoteToChannel: "Репостнуть в канал"
|
renoteToChannel: "Репостнуть в канал"
|
||||||
renoteToOtherChannel: "Репостнуть в другой канал"
|
renoteToOtherChannel: "Репостнуть в другой канал"
|
||||||
pinnedNote: "Закреплённый пост"
|
pinnedNote: "Закреплённая заметка"
|
||||||
pinned: "Закрепить в профиле"
|
pinned: "Закрепить в профиле"
|
||||||
you: "Вы"
|
you: "Вы"
|
||||||
clickToShow: "Нажмите для просмотра"
|
clickToShow: "Нажмите для просмотра"
|
||||||
|
|
@ -201,7 +199,7 @@ searchWith: "Найденное «{q}»"
|
||||||
youHaveNoLists: "У вас нет ни одного списка"
|
youHaveNoLists: "У вас нет ни одного списка"
|
||||||
followConfirm: "Подписаться на {name}?"
|
followConfirm: "Подписаться на {name}?"
|
||||||
proxyAccount: "Учётная запись прокси"
|
proxyAccount: "Учётная запись прокси"
|
||||||
proxyAccountDescription: "Учетная запись прокси предназначена служить подписчиком на пользователей с других сайтов. Например: если пользователь добавит кого-то с другого сайта в список, то деятельность того не отобразится, пока никто с этого же сайта не подписан на него. Чтобы это стало возможным, на него подписывается прокси."
|
proxyAccountDescription: "Учетная запись прокси предназначена служить подписчиком на пользователей с других сайтов. Например, если пользователь добавит кого-то с другого сайта а список, деятельность того не отобразится, пока никто с этого же сайта не подписан на него. Чтобы это стало возможным, на него подписывается прокси."
|
||||||
host: "Хост"
|
host: "Хост"
|
||||||
selectSelf: "Выбрать себя"
|
selectSelf: "Выбрать себя"
|
||||||
selectUser: "Выберите пользователя"
|
selectUser: "Выберите пользователя"
|
||||||
|
|
@ -255,7 +253,6 @@ noteDeleteConfirm: "Вы хотите удалить эту заметку?"
|
||||||
pinLimitExceeded: "Нельзя закрепить ещё больше заметок"
|
pinLimitExceeded: "Нельзя закрепить ещё больше заметок"
|
||||||
done: "Готово"
|
done: "Готово"
|
||||||
processing: "Обработка"
|
processing: "Обработка"
|
||||||
preprocessing: "Подготовка..."
|
|
||||||
preview: "Предпросмотр"
|
preview: "Предпросмотр"
|
||||||
default: "По умолчанию"
|
default: "По умолчанию"
|
||||||
defaultValueIs: "По умолчанию: {value}"
|
defaultValueIs: "По умолчанию: {value}"
|
||||||
|
|
@ -301,10 +298,8 @@ uploadFromUrl: "Загрузить по ссылке"
|
||||||
uploadFromUrlDescription: "Ссылка на файл, который хотите загрузить"
|
uploadFromUrlDescription: "Ссылка на файл, который хотите загрузить"
|
||||||
uploadFromUrlRequested: "Загрузка выбранного"
|
uploadFromUrlRequested: "Загрузка выбранного"
|
||||||
uploadFromUrlMayTakeTime: "Загрузка может занять некоторое время."
|
uploadFromUrlMayTakeTime: "Загрузка может занять некоторое время."
|
||||||
uploadNFiles: "Загрузить {n} файл"
|
|
||||||
explore: "Обзор"
|
explore: "Обзор"
|
||||||
messageRead: "Прочитали"
|
messageRead: "Прочитали"
|
||||||
readAllChatMessages: "Отметить прочитанным"
|
|
||||||
noMoreHistory: "История закончилась"
|
noMoreHistory: "История закончилась"
|
||||||
startChat: "Начать чат"
|
startChat: "Начать чат"
|
||||||
nUsersRead: "Прочитали {n}"
|
nUsersRead: "Прочитали {n}"
|
||||||
|
|
@ -331,13 +326,11 @@ dark: "Тёмный"
|
||||||
lightThemes: "Светлые темы"
|
lightThemes: "Светлые темы"
|
||||||
darkThemes: "Тёмные темы"
|
darkThemes: "Тёмные темы"
|
||||||
syncDeviceDarkMode: "Синхронизировать с тёмной темой системы"
|
syncDeviceDarkMode: "Синхронизировать с тёмной темой системы"
|
||||||
switchDarkModeManuallyWhenSyncEnabledConfirm: "Включена функция \"{x}\". Отключить синхронизацию, чтобы переключать режим вручную?"
|
|
||||||
drive: "Диск"
|
drive: "Диск"
|
||||||
fileName: "Имя файла"
|
fileName: "Имя файла"
|
||||||
selectFile: "Выберите файл"
|
selectFile: "Выберите файл"
|
||||||
selectFiles: "Выберите файлы"
|
selectFiles: "Выберите файлы"
|
||||||
selectFolder: "Выберите папку"
|
selectFolder: "Выберите папку"
|
||||||
unselectFolder: "Снять выбор"
|
|
||||||
selectFolders: "Выберите папки"
|
selectFolders: "Выберите папки"
|
||||||
fileNotSelected: "Файл не выбран"
|
fileNotSelected: "Файл не выбран"
|
||||||
renameFile: "Переименовать файл"
|
renameFile: "Переименовать файл"
|
||||||
|
|
@ -350,7 +343,6 @@ addFile: "Добавить файл"
|
||||||
showFile: "Посмотреть файл"
|
showFile: "Посмотреть файл"
|
||||||
emptyDrive: "Диск пуст"
|
emptyDrive: "Диск пуст"
|
||||||
emptyFolder: "Папка пуста"
|
emptyFolder: "Папка пуста"
|
||||||
dropHereToUpload: "Переместите файл сюда"
|
|
||||||
unableToDelete: "Удаление невозможно"
|
unableToDelete: "Удаление невозможно"
|
||||||
inputNewFileName: "Введите имя нового файла"
|
inputNewFileName: "Введите имя нового файла"
|
||||||
inputNewDescription: "Введите новую подпись"
|
inputNewDescription: "Введите новую подпись"
|
||||||
|
|
@ -403,7 +395,7 @@ pinnedUsersDescription: "Перечислите по одному имени п
|
||||||
pinnedPages: "Закрепленные страницы"
|
pinnedPages: "Закрепленные страницы"
|
||||||
pinnedPagesDescription: "Если хотите закрепить страницы на главной сайта, сюда можно добавить пути к ним, каждый в отдельной строке."
|
pinnedPagesDescription: "Если хотите закрепить страницы на главной сайта, сюда можно добавить пути к ним, каждый в отдельной строке."
|
||||||
pinnedClipId: "Идентификатор закреплённой подборки"
|
pinnedClipId: "Идентификатор закреплённой подборки"
|
||||||
pinnedNotes: "Закреплённый пост"
|
pinnedNotes: "Закреплённая заметка"
|
||||||
hcaptcha: "hCaptcha"
|
hcaptcha: "hCaptcha"
|
||||||
enableHcaptcha: "Включить hCaptcha"
|
enableHcaptcha: "Включить hCaptcha"
|
||||||
hcaptchaSiteKey: "Ключ сайта"
|
hcaptchaSiteKey: "Ключ сайта"
|
||||||
|
|
@ -464,7 +456,7 @@ moderator: "Модератор"
|
||||||
moderation: "Модерация"
|
moderation: "Модерация"
|
||||||
moderationNote: "Примечания модератора"
|
moderationNote: "Примечания модератора"
|
||||||
moderationNoteDescription: "Вы можете заполнять заметки, которые будут доступны только модераторам."
|
moderationNoteDescription: "Вы можете заполнять заметки, которые будут доступны только модераторам."
|
||||||
addModerationNote: "Оставить заметку"
|
addModerationNote: ""
|
||||||
moderationLogs: "Журнал модерации"
|
moderationLogs: "Журнал модерации"
|
||||||
nUsersMentioned: "Упомянуло пользователей: {n}"
|
nUsersMentioned: "Упомянуло пользователей: {n}"
|
||||||
securityKeyAndPasskey: "Ключ безопасности и парольная фраза"
|
securityKeyAndPasskey: "Ключ безопасности и парольная фраза"
|
||||||
|
|
@ -583,10 +575,8 @@ showFixedPostForm: "Показывать поле для ввода новой
|
||||||
showFixedPostFormInChannel: "Показывать поле для ввода новой заметки наверху ленты (каналы)"
|
showFixedPostFormInChannel: "Показывать поле для ввода новой заметки наверху ленты (каналы)"
|
||||||
withRepliesByDefaultForNewlyFollowed: "По умолчанию включайте ответы новых пользователей, на которых вы подписались, во временную шкалу"
|
withRepliesByDefaultForNewlyFollowed: "По умолчанию включайте ответы новых пользователей, на которых вы подписались, во временную шкалу"
|
||||||
newNoteRecived: "Появилась новая заметка"
|
newNoteRecived: "Появилась новая заметка"
|
||||||
newNote: "Новая заметка"
|
|
||||||
sounds: "Звуки"
|
sounds: "Звуки"
|
||||||
sound: "Звуки"
|
sound: "Звуки"
|
||||||
notificationSoundSettings: "Настройки звука уведомлений"
|
|
||||||
listen: "Слушать"
|
listen: "Слушать"
|
||||||
none: "Ничего"
|
none: "Ничего"
|
||||||
showInPage: "Показать страницу"
|
showInPage: "Показать страницу"
|
||||||
|
|
@ -608,7 +598,7 @@ installedDate: "Дата установки"
|
||||||
lastUsedDate: "Дата использования"
|
lastUsedDate: "Дата использования"
|
||||||
state: "Состояние"
|
state: "Состояние"
|
||||||
sort: "Сортировать"
|
sort: "Сортировать"
|
||||||
ascendingOrder: "По возрастанию"
|
ascendingOrder: "по возрастанию"
|
||||||
descendingOrder: "По убыванию"
|
descendingOrder: "По убыванию"
|
||||||
scratchpad: "Когтеточка"
|
scratchpad: "Когтеточка"
|
||||||
scratchpadDescription: "«Когтеточка» — это место для опытов с AiScript. Здесь можно писать программы, взаимодействующие с Misskey, запускать и смотреть что из этого получается."
|
scratchpadDescription: "«Когтеточка» — это место для опытов с AiScript. Здесь можно писать программы, взаимодействующие с Misskey, запускать и смотреть что из этого получается."
|
||||||
|
|
@ -629,9 +619,9 @@ removeAllFollowingDescription: "Отменить все подписки с до
|
||||||
userSuspended: "Эта учётная запись заморожена"
|
userSuspended: "Эта учётная запись заморожена"
|
||||||
userSilenced: "Этот пользователь был заглушен"
|
userSilenced: "Этот пользователь был заглушен"
|
||||||
yourAccountSuspendedTitle: "Эта учетная запись заблокирована"
|
yourAccountSuspendedTitle: "Эта учетная запись заблокирована"
|
||||||
yourAccountSuspendedDescription: "Этот аккаунт нарушил ToS сервера, поэтому был заморожен. Свяжитесь с администратором, чтобы узнать подробности. Не пытайтесь создать новый аккаунт."
|
yourAccountSuspendedDescription: "Эта учетная запись была заблокирована из-за нарушения условий предоставления услуг сервера. Свяжитесь с администратором, если вы хотите узнать более подробную причину. Пожалуйста, не создавайте новую учетную запись."
|
||||||
tokenRevoked: "Токен недействителен"
|
tokenRevoked: "Токен недействителен"
|
||||||
tokenRevokedDescription: "Токен входа устарел. Пожалуйста, войдите снова."
|
tokenRevokedDescription: "Срок действия вашего токена входа истек. Пожалуйста, войдите снова."
|
||||||
accountDeleted: "Учетная запись удалена"
|
accountDeleted: "Учетная запись удалена"
|
||||||
accountDeletedDescription: "Эта учетная запись удалена"
|
accountDeletedDescription: "Эта учетная запись удалена"
|
||||||
menu: "Меню"
|
menu: "Меню"
|
||||||
|
|
@ -690,9 +680,9 @@ smtpPort: "Порт"
|
||||||
smtpUser: "Имя пользователя"
|
smtpUser: "Имя пользователя"
|
||||||
smtpPass: "Пароль"
|
smtpPass: "Пароль"
|
||||||
emptyToDisableSmtpAuth: "Не заполняйте имя пользователя и пароль, чтобы отключить аутентификацию в SMTP."
|
emptyToDisableSmtpAuth: "Не заполняйте имя пользователя и пароль, чтобы отключить аутентификацию в SMTP."
|
||||||
smtpSecure: "Использовать SSL/TLS"
|
smtpSecure: "Использовать SSL/TLS для SMTP-соединений"
|
||||||
smtpSecureInfo: "Выключите при использовании STARTTLS."
|
smtpSecureInfo: "Выключите при использовании STARTTLS."
|
||||||
testEmail: "Отправить тестовое письмо"
|
testEmail: "Проверка доставки электронной почты"
|
||||||
wordMute: "Скрытие слов"
|
wordMute: "Скрытие слов"
|
||||||
wordMuteDescription: "Сведите к минимуму записи, содержащие указанное утверждение. Нажмите на свернутую запись, чтобы отобразить ее."
|
wordMuteDescription: "Сведите к минимуму записи, содержащие указанное утверждение. Нажмите на свернутую запись, чтобы отобразить ее."
|
||||||
hardWordMute: "Строгое скрытие слов"
|
hardWordMute: "Строгое скрытие слов"
|
||||||
|
|
@ -778,7 +768,6 @@ lockedAccountInfo: "Даже если вы вручную подтверждае
|
||||||
alwaysMarkSensitive: "Отмечать файлы как «содержимое не для всех» по умолчанию"
|
alwaysMarkSensitive: "Отмечать файлы как «содержимое не для всех» по умолчанию"
|
||||||
loadRawImages: "Сразу показывать изображения в полном размере"
|
loadRawImages: "Сразу показывать изображения в полном размере"
|
||||||
disableShowingAnimatedImages: "Не проигрывать анимацию"
|
disableShowingAnimatedImages: "Не проигрывать анимацию"
|
||||||
disableShowingAnimatedImages_caption: "Если анимации всё равно не работают, проверьте настройки специальных возможностей и режимы экономии заряда в браузере или системе"
|
|
||||||
highlightSensitiveMedia: "Выделять содержимое не для всех"
|
highlightSensitiveMedia: "Выделять содержимое не для всех"
|
||||||
verificationEmailSent: "Вам отправлено письмо для подтверждения. Пройдите, пожалуйста, по ссылке из письма, чтобы завершить проверку."
|
verificationEmailSent: "Вам отправлено письмо для подтверждения. Пройдите, пожалуйста, по ссылке из письма, чтобы завершить проверку."
|
||||||
notSet: "Не настроено"
|
notSet: "Не настроено"
|
||||||
|
|
@ -786,7 +775,7 @@ emailVerified: "Адрес электронной почты подтвержд
|
||||||
noteFavoritesCount: "Количество добавленного в избранное"
|
noteFavoritesCount: "Количество добавленного в избранное"
|
||||||
pageLikesCount: "Количество понравившихся страниц"
|
pageLikesCount: "Количество понравившихся страниц"
|
||||||
pageLikedCount: "Количество страниц, понравившихся другим"
|
pageLikedCount: "Количество страниц, понравившихся другим"
|
||||||
contact: "Почта для связи"
|
contact: "Как связаться"
|
||||||
useSystemFont: "Использовать шрифт, предлагаемый системой"
|
useSystemFont: "Использовать шрифт, предлагаемый системой"
|
||||||
clips: "Подборки"
|
clips: "Подборки"
|
||||||
experimentalFeatures: "Экспериментальные функции"
|
experimentalFeatures: "Экспериментальные функции"
|
||||||
|
|
@ -802,7 +791,6 @@ wide: "Толстый"
|
||||||
narrow: "Тонкий"
|
narrow: "Тонкий"
|
||||||
reloadToApplySetting: "Это настройка вступает в силу при загрузке страницы. Перезагрузить сейчас?"
|
reloadToApplySetting: "Это настройка вступает в силу при загрузке страницы. Перезагрузить сейчас?"
|
||||||
needReloadToApply: "Изменения вступят в силу после перезагрузки страницы."
|
needReloadToApply: "Изменения вступят в силу после перезагрузки страницы."
|
||||||
needToRestartServerToApply: "Для вступления изменений в силу необходимо перезапустить сервер."
|
|
||||||
showTitlebar: "Показать заголовок"
|
showTitlebar: "Показать заголовок"
|
||||||
clearCache: "Очистить кэш"
|
clearCache: "Очистить кэш"
|
||||||
onlineUsersCount: "Пользователей сейчас в сети: {n}"
|
onlineUsersCount: "Пользователей сейчас в сети: {n}"
|
||||||
|
|
@ -845,7 +833,7 @@ showingPastTimeline: "Отображается старая лента"
|
||||||
clear: "Очистить"
|
clear: "Очистить"
|
||||||
markAllAsRead: "Отметить всё как прочитанное"
|
markAllAsRead: "Отметить всё как прочитанное"
|
||||||
goBack: "Выход"
|
goBack: "Выход"
|
||||||
unlikeConfirm: "В самом деле убрать «нравится»?"
|
unlikeConfirm: "В самом деле отменить «нравится»?"
|
||||||
fullView: "Полный вид"
|
fullView: "Полный вид"
|
||||||
quitFullView: "Закрыть полный вид"
|
quitFullView: "Закрыть полный вид"
|
||||||
addDescription: "Добавить описание"
|
addDescription: "Добавить описание"
|
||||||
|
|
@ -890,7 +878,7 @@ priority: "Приоритет"
|
||||||
high: "Высокий"
|
high: "Высокий"
|
||||||
middle: "Средне"
|
middle: "Средне"
|
||||||
low: "Низкий"
|
low: "Низкий"
|
||||||
emailNotConfiguredWarning: "Адрес почты пустует"
|
emailNotConfiguredWarning: "Не указан адрес электронной почты"
|
||||||
ratio: "Соотношение"
|
ratio: "Соотношение"
|
||||||
previewNoteText: "Предварительный просмотр"
|
previewNoteText: "Предварительный просмотр"
|
||||||
customCss: "Индивидуальный CSS"
|
customCss: "Индивидуальный CSS"
|
||||||
|
|
@ -970,13 +958,13 @@ reflectMayTakeTime: "Изменения могут занять время дл
|
||||||
failedToFetchAccountInformation: "Не удалось получить информацию об аккаунте"
|
failedToFetchAccountInformation: "Не удалось получить информацию об аккаунте"
|
||||||
rateLimitExceeded: "Ограничение скорости превышено"
|
rateLimitExceeded: "Ограничение скорости превышено"
|
||||||
cropImage: "Кадрирование"
|
cropImage: "Кадрирование"
|
||||||
cropImageAsk: "Обрезать изображение?"
|
cropImageAsk: "Нужно ли кадрировать изображение?"
|
||||||
cropYes: "Обрезать"
|
cropYes: "Обрезать"
|
||||||
cropNo: "Не обрезать"
|
cropNo: "Не обрезать"
|
||||||
file: "Файлы"
|
file: "Файлы"
|
||||||
recentNHours: "Последние {n} ч"
|
recentNHours: "Последние {n} ч"
|
||||||
recentNDays: "Последние {n} сут"
|
recentNDays: "Последние {n} сут"
|
||||||
noEmailServerWarning: "Отправка писем выключена"
|
noEmailServerWarning: "Почтовый сервер не установлен "
|
||||||
thereIsUnresolvedAbuseReportWarning: "Остались нерешённые жалобы"
|
thereIsUnresolvedAbuseReportWarning: "Остались нерешённые жалобы"
|
||||||
recommended: "Рекомендуем"
|
recommended: "Рекомендуем"
|
||||||
check: "Проверить"
|
check: "Проверить"
|
||||||
|
|
@ -990,7 +978,7 @@ document: "Документ"
|
||||||
numberOfPageCache: "Количество сохранённых страниц в кэше"
|
numberOfPageCache: "Количество сохранённых страниц в кэше"
|
||||||
numberOfPageCacheDescription: "Описание количества страниц в кэше"
|
numberOfPageCacheDescription: "Описание количества страниц в кэше"
|
||||||
logoutConfirm: "Вы хотите выйти из аккаунта?"
|
logoutConfirm: "Вы хотите выйти из аккаунта?"
|
||||||
logoutWillClearClientData: "Выход из аккаунта удалит настройки клиента из этого браузера. Включите автоматическое резервное копирование, чтобы иметь возможность восстановить настройки при повторном входе."
|
logoutWillClearClientData: "Когда вы выйдете из системы, информация о конфигурации клиента будет удалена из браузера.Чтобы иметь возможность восстановить информацию о вашей конфигурации при повторном входе в систему, пожалуйста, включите опцию автоматического резервного копирования в настройках."
|
||||||
lastActiveDate: "Последняя дата использования"
|
lastActiveDate: "Последняя дата использования"
|
||||||
statusbar: "Статусбар"
|
statusbar: "Статусбар"
|
||||||
pleaseSelect: "Пожалуйста, выберите"
|
pleaseSelect: "Пожалуйста, выберите"
|
||||||
|
|
@ -1009,7 +997,6 @@ failedToUpload: "Сбой выгрузки"
|
||||||
cannotUploadBecauseInappropriate: "Файл не может быть загружен, так как было установлено, что он может содержать неприемлемое содержимое."
|
cannotUploadBecauseInappropriate: "Файл не может быть загружен, так как было установлено, что он может содержать неприемлемое содержимое."
|
||||||
cannotUploadBecauseNoFreeSpace: "Файл не может быть загружен, так как не осталось места на диске"
|
cannotUploadBecauseNoFreeSpace: "Файл не может быть загружен, так как не осталось места на диске"
|
||||||
cannotUploadBecauseExceedsFileSizeLimit: "Файл не может быть загружен, так как он превышает лимит размера файла."
|
cannotUploadBecauseExceedsFileSizeLimit: "Файл не может быть загружен, так как он превышает лимит размера файла."
|
||||||
cannotUploadBecauseUnallowedFileType: "Формат файла не подходит"
|
|
||||||
beta: "Бета"
|
beta: "Бета"
|
||||||
enableAutoSensitive: "Автоматическое определение содержимого не для всех"
|
enableAutoSensitive: "Автоматическое определение содержимого не для всех"
|
||||||
enableAutoSensitiveDescription: "Позволяет определять наличие содержимого не для всех при помощи искусственного интеллекта там, где это возможно. Даже если эту опцию отключить, она всё равно может быть включена на весь инстанс."
|
enableAutoSensitiveDescription: "Позволяет определять наличие содержимого не для всех при помощи искусственного интеллекта там, где это возможно. Даже если эту опцию отключить, она всё равно может быть включена на весь инстанс."
|
||||||
|
|
@ -1025,9 +1012,6 @@ pushNotificationAlreadySubscribed: "Push-уведомления уже вклю
|
||||||
pushNotificationNotSupported: "Push-уведмления не поддерживаются инстансом или браузером"
|
pushNotificationNotSupported: "Push-уведмления не поддерживаются инстансом или браузером"
|
||||||
sendPushNotificationReadMessage: "Удалять push-уведомления когда сообщение или прочитано"
|
sendPushNotificationReadMessage: "Удалять push-уведомления когда сообщение или прочитано"
|
||||||
sendPushNotificationReadMessageCaption: "На мгновение появится уведомление \"{emptyPushNotificationMessage}\". Расход заряда батареи может увеличиться "
|
sendPushNotificationReadMessageCaption: "На мгновение появится уведомление \"{emptyPushNotificationMessage}\". Расход заряда батареи может увеличиться "
|
||||||
pleaseAllowPushNotification: "Пожалуйста, разрешите уведомление в браузере от сайта"
|
|
||||||
browserPushNotificationDisabled: "Вы не дали разрешение на уведомления сайту"
|
|
||||||
browserPushNotificationDisabledDescription: "Разрешите уведомления в настройках браузера от {serverName}, чтобы включить PUSH уведомления"
|
|
||||||
windowMaximize: "Развернуть"
|
windowMaximize: "Развернуть"
|
||||||
windowMinimize: "Свернуть"
|
windowMinimize: "Свернуть"
|
||||||
windowRestore: "Восстановить"
|
windowRestore: "Восстановить"
|
||||||
|
|
@ -1049,7 +1033,7 @@ roles: "Роли"
|
||||||
role: "Роль"
|
role: "Роль"
|
||||||
noRole: "Нет роли"
|
noRole: "Нет роли"
|
||||||
normalUser: "Обычный пользователь"
|
normalUser: "Обычный пользователь"
|
||||||
undefined: "неопределённо"
|
undefined: "неопределён"
|
||||||
assign: "Назначить"
|
assign: "Назначить"
|
||||||
unassign: "Отменить назначение"
|
unassign: "Отменить назначение"
|
||||||
color: "Цвет"
|
color: "Цвет"
|
||||||
|
|
@ -1064,7 +1048,6 @@ permissionDeniedError: "Операция запрещена"
|
||||||
permissionDeniedErrorDescription: "У этой учетной записи нет разрешения на выполнение этой операции."
|
permissionDeniedErrorDescription: "У этой учетной записи нет разрешения на выполнение этой операции."
|
||||||
preset: "Шаблоны"
|
preset: "Шаблоны"
|
||||||
selectFromPresets: "Выбрать из шаблонов"
|
selectFromPresets: "Выбрать из шаблонов"
|
||||||
custom: "Пользовательские"
|
|
||||||
achievements: "Достижения"
|
achievements: "Достижения"
|
||||||
gotInvalidResponseError: "Сервер ответил ошибкой"
|
gotInvalidResponseError: "Сервер ответил ошибкой"
|
||||||
gotInvalidResponseErrorDescription: "Сервер временно не доступен. Возможно проводятся технические работы, или сервер отключен."
|
gotInvalidResponseErrorDescription: "Сервер временно не доступен. Возможно проводятся технические работы, или сервер отключен."
|
||||||
|
|
@ -1103,7 +1086,6 @@ prohibitedWordsDescription2: "Разделение пробелом создаё
|
||||||
hiddenTags: "Скрытые хештеги"
|
hiddenTags: "Скрытые хештеги"
|
||||||
hiddenTagsDescription: "Установленные теги не будут отображаться в тренде, можно установить несколько тегов."
|
hiddenTagsDescription: "Установленные теги не будут отображаться в тренде, можно установить несколько тегов."
|
||||||
notesSearchNotAvailable: "Поиск заметок недоступен"
|
notesSearchNotAvailable: "Поиск заметок недоступен"
|
||||||
usersSearchNotAvailable: "Функция \"поиска пользователей\" отключена"
|
|
||||||
license: "Лицензия"
|
license: "Лицензия"
|
||||||
unfavoriteConfirm: "Удалить избранное?"
|
unfavoriteConfirm: "Удалить избранное?"
|
||||||
myClips: "Мои подборки"
|
myClips: "Мои подборки"
|
||||||
|
|
@ -1142,7 +1124,7 @@ vertical: "Вертикально"
|
||||||
horizontal: "Горизонтально"
|
horizontal: "Горизонтально"
|
||||||
position: "Позиция"
|
position: "Позиция"
|
||||||
serverRules: "Правила сервера"
|
serverRules: "Правила сервера"
|
||||||
pleaseConfirmBelowBeforeSignup: "Прочитайте и согласитесь с информацией ниже, чтобы продолжить"
|
pleaseConfirmBelowBeforeSignup: "Для регистрации на данном сервере, необходимо согласится с нижеследующими положениями."
|
||||||
pleaseAgreeAllToContinue: "Чтобы продолжить, необходимо поставить отметки во всех полях \"согласен\"."
|
pleaseAgreeAllToContinue: "Чтобы продолжить, необходимо поставить отметки во всех полях \"согласен\"."
|
||||||
continue: "Продолжить"
|
continue: "Продолжить"
|
||||||
preservedUsernames: "Зарезервированные имена пользователей"
|
preservedUsernames: "Зарезервированные имена пользователей"
|
||||||
|
|
@ -1178,7 +1160,6 @@ installed: "Установлено"
|
||||||
branding: "Бренд"
|
branding: "Бренд"
|
||||||
enableServerMachineStats: "Опубликовать характеристики сервера"
|
enableServerMachineStats: "Опубликовать характеристики сервера"
|
||||||
enableIdenticonGeneration: "Включить генерацию иконки пользователя"
|
enableIdenticonGeneration: "Включить генерацию иконки пользователя"
|
||||||
showRoleBadgesOfRemoteUsers: "Display the role badges assigned to remote users"
|
|
||||||
turnOffToImprovePerformance: "Отключение этого параметра может повысить производительность."
|
turnOffToImprovePerformance: "Отключение этого параметра может повысить производительность."
|
||||||
createInviteCode: "Создать код приглашения"
|
createInviteCode: "Создать код приглашения"
|
||||||
createWithOptions: "Используйте параметры для создания"
|
createWithOptions: "Используйте параметры для создания"
|
||||||
|
|
@ -1191,191 +1172,51 @@ expirationDate: "Дата истечения"
|
||||||
noExpirationDate: "Бессрочно"
|
noExpirationDate: "Бессрочно"
|
||||||
inviteCodeUsedAt: "Дата и время, когда был использован пригласительный код"
|
inviteCodeUsedAt: "Дата и время, когда был использован пригласительный код"
|
||||||
registeredUserUsingInviteCode: "Пользователи, которые использовали пригласительный код"
|
registeredUserUsingInviteCode: "Пользователи, которые использовали пригласительный код"
|
||||||
waitingForMailAuth: "Подтвердите вашу электронную почту"
|
|
||||||
inviteCodeCreator: "Создатель приглашения"
|
|
||||||
usedAt: "Использовано"
|
|
||||||
unused: "Неиспользованное"
|
unused: "Неиспользованное"
|
||||||
used: "Использован"
|
used: "Использован"
|
||||||
expired: "Срок действия приглашения истёк"
|
expired: "Срок действия приглашения истёк"
|
||||||
doYouAgree: "Согласны?"
|
doYouAgree: "Согласны?"
|
||||||
beSureToReadThisAsItIsImportant: "Это важно, поэтому, пожалуйста, прочтите это."
|
|
||||||
iHaveReadXCarefullyAndAgree: "Я прочитал(а) и согласен(сна) с условиями \"{x}"
|
|
||||||
dialog: "Диалог"
|
|
||||||
icon: "Аватар"
|
icon: "Аватар"
|
||||||
forYou: "Для вас"
|
|
||||||
currentAnnouncements: "Текущие новости"
|
|
||||||
pastAnnouncements: "Предыдущие новости"
|
|
||||||
youHaveUnreadAnnouncements: "У вас есть непрочитанные уведомления"
|
|
||||||
useSecurityKey: "Используйте ключ безопасности или Passkey, следуя подсказкам браузера"
|
|
||||||
replies: "Ответы"
|
replies: "Ответы"
|
||||||
renotes: "Репост"
|
renotes: "Репост"
|
||||||
loadReplies: "Показать ответы"
|
loadReplies: "Показать ответы"
|
||||||
loadConversation: "Загрузить беседу"
|
|
||||||
pinnedList: "Закреплённый список"
|
pinnedList: "Закреплённый список"
|
||||||
keepScreenOn: "Держать экран включённым"
|
keepScreenOn: "Держать экран включённым"
|
||||||
verifiedLink: "Эта ссылка принадлежит пользователю"
|
|
||||||
notifyNotes: "Оповещать о публикациях"
|
|
||||||
unnotifyNotes: "Отписаться от сообщений"
|
|
||||||
authentication: "Аутентификация"
|
|
||||||
authenticationRequiredToContinue: "Пожалуйста, пройдите аутентификацию, чтобы продолжить"
|
|
||||||
dateAndTime: "Дата и время"
|
|
||||||
showRenotes: "Показывать репосты"
|
showRenotes: "Показывать репосты"
|
||||||
edited: "Изменено"
|
|
||||||
notificationRecieveConfig: "Настроить оповещения"
|
|
||||||
mutualFollow: "Взаимные подписки"
|
mutualFollow: "Взаимные подписки"
|
||||||
followingOrFollower: "Подписки или подписчики"
|
followingOrFollower: "Подписки или подписчики"
|
||||||
fileAttachedOnly: "Только заметки с файлами"
|
fileAttachedOnly: "Только заметки с файлами"
|
||||||
showRepliesToOthersInTimeline: "Показывать ответы в ленте"
|
showRepliesToOthersInTimeline: "Показывать ответы в ленте"
|
||||||
hideRepliesToOthersInTimeline: "Скрыть чужие ответы в ленте"
|
|
||||||
showRepliesToOthersInTimelineAll: "Показывать в ленте ответы пользователей, на которых вы подписаны"
|
showRepliesToOthersInTimelineAll: "Показывать в ленте ответы пользователей, на которых вы подписаны"
|
||||||
hideRepliesToOthersInTimelineAll: "Скрывать в ленте ответы пользователей, на которых вы подписаны"
|
hideRepliesToOthersInTimelineAll: "Скрывать в ленте ответы пользователей, на которых вы подписаны"
|
||||||
confirmShowRepliesAll: "Это нельзя будет отменить. Показать ответы от всех, на кого вы подписаны?"
|
|
||||||
confirmHideRepliesAll: "Это нельзя будет отменить. Скрыть ответы от всех, на кого вы подписаны?"
|
|
||||||
sourceCode: "Исходный код"
|
sourceCode: "Исходный код"
|
||||||
sourceCodeIsNotYetProvided: "Исходный код пока не доступен. Свяжитесь с администратором, чтобы исправить эту проблему."
|
sourceCodeIsNotYetProvided: "Исходный код пока не доступен. Свяжитесь с администратором, чтобы исправить эту проблему."
|
||||||
repositoryUrl: "Ссылка на репозиторий"
|
repositoryUrl: "Ссылка на репозиторий"
|
||||||
repositoryUrlDescription: "Если вы используете Misskey как есть (без изменений в исходном коде), введите https://github.com/misskey-dev/misskey"
|
repositoryUrlDescription: "Если вы используете Misskey как есть (без изменений в исходном коде), введите https://github.com/misskey-dev/misskey"
|
||||||
repositoryUrlOrTarballRequired: "Если репозиторий закрыт, необходимо предоставить ссылку на tarball. Подробности см. в файле \".config/example.yml\""
|
|
||||||
feedback: "Обратная связь"
|
|
||||||
feedbackUrl: "Ссылка для обратной связи"
|
|
||||||
impressum: "О владельце"
|
|
||||||
privacyPolicy: "Политика Конфиденциальности"
|
privacyPolicy: "Политика Конфиденциальности"
|
||||||
privacyPolicyUrl: "Ссылка на Политику Конфиденциальности"
|
privacyPolicyUrl: "Ссылка на Политику Конфиденциальности"
|
||||||
tosAndPrivacyPolicy: "Условия использования и политика конфиденциальности"
|
|
||||||
avatarDecorations: "Украшения для аватара"
|
|
||||||
attach: "Прикрепить"
|
attach: "Прикрепить"
|
||||||
detach: "Открепить"
|
|
||||||
detachAll: "Убрать всё"
|
|
||||||
angle: "Угол"
|
angle: "Угол"
|
||||||
flip: "Переворот"
|
flip: "Переворот"
|
||||||
showAvatarDecorations: "Показать украшения для аватара"
|
|
||||||
releaseToRefresh: "Отпустите, чтобы обновить"
|
|
||||||
refreshing: "Обновление..."
|
|
||||||
pullDownToRefresh: "Опустите что бы обновить"
|
|
||||||
useGroupedNotifications: "Отображать уведомления сгруппировано"
|
useGroupedNotifications: "Отображать уведомления сгруппировано"
|
||||||
emailVerificationFailedError: "Не смогли подтвердить почту. Вероятно, истек срок письма"
|
|
||||||
cwNotationRequired: "Если включена опция «Скрыть содержимое», необходимо написать аннотацию."
|
|
||||||
doReaction: "Добавить реакцию"
|
doReaction: "Добавить реакцию"
|
||||||
code: "Код"
|
code: "Код"
|
||||||
reloadRequiredToApplySettings: "Для применения настроек необходима обновить страницу."
|
|
||||||
remainingN: "Остаётся: {n}"
|
remainingN: "Остаётся: {n}"
|
||||||
overwriteContentConfirm: "Текущее содержимое будет перезаписано. Вы уверены?"
|
|
||||||
seasonalScreenEffect: "Эффект времени года на экране"
|
seasonalScreenEffect: "Эффект времени года на экране"
|
||||||
decorate: "Украсить"
|
decorate: "Украсить"
|
||||||
addMfmFunction: "Добавить MFM"
|
addMfmFunction: "Добавить MFM"
|
||||||
enableQuickAddMfmFunction: "Показывать расширенный выбор MFM"
|
|
||||||
bubbleGame: "BubbleGame"
|
|
||||||
sfx: "Звуковые эффекты"
|
|
||||||
soundWillBePlayed: "Будет воспроизведен звук"
|
|
||||||
showReplay: "Показать повтор"
|
|
||||||
replay: "Ответить"
|
|
||||||
endReplay: "Конец повтора"
|
|
||||||
lastNDays: "Последние {n} сут"
|
lastNDays: "Последние {n} сут"
|
||||||
hemisphere: "Место проживания"
|
hemisphere: "Место проживания"
|
||||||
userSaysSomethingSensitive: "Сообщение, содержит конфиденциальные файлы от {name}"
|
|
||||||
enableHorizontalSwipe: "Смахните в сторону, чтобы сменить вкладки"
|
enableHorizontalSwipe: "Смахните в сторону, чтобы сменить вкладки"
|
||||||
loading: "Загрузка"
|
|
||||||
surrender: "Этот пост не может быть отменен."
|
surrender: "Этот пост не может быть отменен."
|
||||||
gameRetry: "Повторить попытку"
|
|
||||||
notUsePleaseLeaveBlank: "Если не используется, оставьте пустым"
|
|
||||||
useTotp: "Включить двухэтапную проверку"
|
|
||||||
useBackupCode: "Использовать резервные коды"
|
|
||||||
launchApp: "Запустить приложение"
|
|
||||||
useNativeUIForVideoAudioPlayer: "Использовать интерфейс браузера при проигрывании видео и звука"
|
useNativeUIForVideoAudioPlayer: "Использовать интерфейс браузера при проигрывании видео и звука"
|
||||||
keepOriginalFilename: "Сохранять исходное имя файла"
|
keepOriginalFilename: "Сохранять исходное имя файла"
|
||||||
keepOriginalFilenameDescription: "Если вы выключите данную настройку, имена файлов будут автоматически заменены случайной строкой при загрузке."
|
keepOriginalFilenameDescription: "Если вы выключите данную настройку, имена файлов будут автоматически заменены случайной строкой при загрузке."
|
||||||
noDescription: "Нет описания"
|
|
||||||
alwaysConfirmFollow: "Всегда подтверждать подписку"
|
alwaysConfirmFollow: "Всегда подтверждать подписку"
|
||||||
inquiry: "Связаться"
|
inquiry: "Связаться"
|
||||||
tryAgain: "Попробуйте еще раз позже"
|
|
||||||
confirmWhenRevealingSensitiveMedia: "Спрашивать перед открытием NSFW контента"
|
|
||||||
sensitiveMediaRevealConfirm: "Возможно, это NSFW контент. Показать?"
|
|
||||||
createdLists: "Созданные списки"
|
|
||||||
createdAntennas: "Созданные антенны"
|
|
||||||
fromX: "Из {x}"
|
|
||||||
genEmbedCode: "Сгенерировать код для "
|
|
||||||
noteOfThisUser: "Список заметок этого пользователя"
|
|
||||||
clipNoteLimitExceeded: "К этому клипу больше нельзя добавить заметки"
|
|
||||||
performance: "Производительность"
|
|
||||||
modified: "Изменено"
|
|
||||||
discard: "Отменить"
|
|
||||||
thereAreNChanges: "Изменено: {n}"
|
|
||||||
signinWithPasskey: "Войдите в систему, используя свой пароль"
|
|
||||||
unknownWebAuthnKey: "Неизвестный ключ"
|
|
||||||
passkeyVerificationFailed: "Ошибка проверка ключа доступа "
|
|
||||||
passkeyVerificationSucceededButPasswordlessLoginDisabled: "Проверка Passkey выполнена, но вход без пароля отключен"
|
|
||||||
messageToFollower: "Сообщение подписчикам"
|
messageToFollower: "Сообщение подписчикам"
|
||||||
testCaptchaWarning: "Эта тестовая CAPTCHA. <strong>Не используйте её!</strong>"
|
|
||||||
prohibitedWordsForNameOfUser: "Запрещенные слова (имя пользователя)"
|
|
||||||
prohibitedWordsForNameOfUserDescription: "Если имя пользователя содержит строку из этого списка, изменение имени пользователя будет запрещено. На пользователей с правами модератора это ограничение не распространяется. Имена пользователей также проверяются путём замены всех букв в нижнем регистре"
|
|
||||||
yourNameContainsProhibitedWords: "Имя, которое вы пытаетесь изменить, содержит запрещенную строку символов"
|
|
||||||
yourNameContainsProhibitedWordsDescription: "Имя содержит запрещённую строку символов. Если вы хотите использовать это имя, обратитесь к администратору сервера"
|
|
||||||
thisContentsAreMarkedAsSigninRequiredByAuthor: "Автор сообщения установил требование в виде авторизации для просмотра"
|
|
||||||
lockdown: "Доступ ограничен"
|
|
||||||
pleaseSelectAccount: "Выберите свой аккаунт"
|
|
||||||
availableRoles: "Доступные роли"
|
|
||||||
federationSpecified: "Сервер работает через белый список федерации. Связь с другими серверами ограничена"
|
|
||||||
federationDisabled: "Федерация отключена для этого сервера. Вы не можете взаимодействовать с пользователями на других серверах."
|
|
||||||
draft: "Черновик"
|
|
||||||
draftsAndScheduledNotes: "Черновики и отложенные публикации"
|
|
||||||
confirmOnReact: "Подтверждать добавление реакции"
|
|
||||||
reactAreYouSure: "Добавить {emoji}?"
|
|
||||||
markAsSensitiveConfirm: "Отметить контент как чувствительный?"
|
|
||||||
unmarkAsSensitiveConfirm: "Снять пометку о NSFW контенте?"
|
|
||||||
preferences: "Основное"
|
|
||||||
accessibility: "Специальные возможности"
|
|
||||||
preferencesProfile: "Настройки профиля"
|
|
||||||
copyPreferenceId: "Копировать ID настройки"
|
|
||||||
resetToDefaultValue: "Сбросить настройки до стандартных"
|
|
||||||
overrideByAccount: "Переопределить этим аккаунтом"
|
|
||||||
untitled: "Без названия"
|
|
||||||
noName: "Имя не указано"
|
|
||||||
skip: "Пропустить"
|
|
||||||
syncBetweenDevices: "Синхронизировать между устройствами"
|
|
||||||
postForm: "Форма отправки"
|
postForm: "Форма отправки"
|
||||||
textCount: "Количество символов"
|
|
||||||
information: "Описание"
|
information: "Описание"
|
||||||
inMinutes: "мин"
|
|
||||||
inDays: "сут"
|
|
||||||
schedule: "Отложить"
|
|
||||||
scheduled: "Отложено"
|
|
||||||
widgets: "Виджеты"
|
|
||||||
deviceInfo: "Об устройстве"
|
|
||||||
deviceInfoDescription: "Эта информация может быть полезна при обращении в поддержку"
|
|
||||||
youAreAdmin: "Вы администратор"
|
|
||||||
frame: "Рамки"
|
|
||||||
presets: "Шаблоны"
|
|
||||||
zeroPadding: "Без отступов"
|
|
||||||
nothingToConfigure: "Нечего менять"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
caption: "Описание файла"
|
|
||||||
filename: "Имя файла"
|
|
||||||
filename_without_ext: "Имя файла без расширения"
|
|
||||||
year: "Год создания"
|
|
||||||
month: "Месяц создания"
|
|
||||||
day: "День создания"
|
|
||||||
hour: "Час создания"
|
|
||||||
minute: "Минуты создания"
|
|
||||||
second: "Секунды создания"
|
|
||||||
camera_model: "Модель камеры"
|
|
||||||
camera_lens_model: "Модель линзы"
|
|
||||||
camera_mm: "Фокусное расстояние"
|
|
||||||
camera_mm_35: "Фокусное расстояние (экв. 35 мм)"
|
|
||||||
camera_f: "Диафрагма"
|
|
||||||
camera_s: "Выдержка"
|
|
||||||
camera_iso: "ISO"
|
|
||||||
gps_lat: "Широта"
|
|
||||||
gps_long: "Долгота"
|
|
||||||
_imageFrameEditor:
|
|
||||||
title: "Редактировать рамку"
|
|
||||||
header: "Заголовок"
|
|
||||||
footer: "Нижняя часть"
|
|
||||||
borderThickness: "Толщина рамки"
|
|
||||||
labelThickness: "Толщина границ"
|
|
||||||
font: "Шрифт"
|
|
||||||
fontSerif: "Антиква (с засечками)"
|
|
||||||
fontSansSerif: "Гротеск (без засечек)"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "Пригласить"
|
invitations: "Пригласить"
|
||||||
noHistory: "История пока пуста"
|
noHistory: "История пока пуста"
|
||||||
|
|
@ -1384,11 +1225,6 @@ _chat:
|
||||||
send: "Отправить"
|
send: "Отправить"
|
||||||
_settings:
|
_settings:
|
||||||
webhook: "Вебхук"
|
webhook: "Вебхук"
|
||||||
preferencesBanner: "Вы можете настроить общее поведение клиента по вашим предпочтениям"
|
|
||||||
timelineAndNote: "Лента и заметки"
|
|
||||||
_chat:
|
|
||||||
showSenderName: "Показывать имя отправителя"
|
|
||||||
sendOnEnter: "Использовать Enter для отправки"
|
|
||||||
_delivery:
|
_delivery:
|
||||||
stop: "Заморожено"
|
stop: "Заморожено"
|
||||||
_type:
|
_type:
|
||||||
|
|
@ -1637,7 +1473,7 @@ _achievements:
|
||||||
description: "Нажато здесь"
|
description: "Нажато здесь"
|
||||||
_justPlainLucky:
|
_justPlainLucky:
|
||||||
title: "Чистая удача"
|
title: "Чистая удача"
|
||||||
description: "Может достаться с вероятностью 0,005% каждые 10 секунд."
|
description: "Может достаться с вероятностью 0,01% каждые 10 секунд."
|
||||||
_setNameToSyuilo:
|
_setNameToSyuilo:
|
||||||
title: "Комплекс бога"
|
title: "Комплекс бога"
|
||||||
description: "Установлено «syuilo» в качестве имени"
|
description: "Установлено «syuilo» в качестве имени"
|
||||||
|
|
@ -1665,12 +1501,6 @@ _achievements:
|
||||||
title: "Brain Diver"
|
title: "Brain Diver"
|
||||||
description: "Опубликована ссылка на песню «Brain Diver»"
|
description: "Опубликована ссылка на песню «Brain Diver»"
|
||||||
flavor: "Мисски-Мисски Ла-Ту-Ма"
|
flavor: "Мисски-Мисски Ла-Ту-Ма"
|
||||||
_bubbleGameExplodingHead:
|
|
||||||
title: "🤯"
|
|
||||||
description: "Самый большой объект в Bubble game"
|
|
||||||
_bubbleGameDoubleExplodingHead:
|
|
||||||
title: "Двойной🤯"
|
|
||||||
description: "Два самых больших объекта в Bubble game одновременно!"
|
|
||||||
_role:
|
_role:
|
||||||
new: "Новая роль"
|
new: "Новая роль"
|
||||||
edit: "Изменить роль"
|
edit: "Изменить роль"
|
||||||
|
|
@ -1748,7 +1578,6 @@ _emailUnavailable:
|
||||||
disposable: "Временный адрес электронной почты не принимается"
|
disposable: "Временный адрес электронной почты не принимается"
|
||||||
mx: "Неверный почтовый сервер"
|
mx: "Неверный почтовый сервер"
|
||||||
smtp: "Почтовый сервер не отвечает"
|
smtp: "Почтовый сервер не отвечает"
|
||||||
banned: "Этот адрес почты недоступен"
|
|
||||||
_ffVisibility:
|
_ffVisibility:
|
||||||
public: "Общедоступны"
|
public: "Общедоступны"
|
||||||
followers: "Показываются только подписчикам"
|
followers: "Показываются только подписчикам"
|
||||||
|
|
@ -2009,7 +1838,6 @@ _permissions:
|
||||||
"read:gallery-likes": "Просмотр списка понравившегося в галерее"
|
"read:gallery-likes": "Просмотр списка понравившегося в галерее"
|
||||||
"write:gallery-likes": "Изменение списка понравившегося в галерее"
|
"write:gallery-likes": "Изменение списка понравившегося в галерее"
|
||||||
"write:admin:reset-password": "Сбросить пароль пользователю"
|
"write:admin:reset-password": "Сбросить пароль пользователю"
|
||||||
"write:admin:send-email": "Отправить письмо"
|
|
||||||
"write:chat": "Писать и удалять сообщения"
|
"write:chat": "Писать и удалять сообщения"
|
||||||
_auth:
|
_auth:
|
||||||
shareAccessTitle: "Разрешения для приложений"
|
shareAccessTitle: "Разрешения для приложений"
|
||||||
|
|
@ -2065,14 +1893,6 @@ _widgets:
|
||||||
chooseList: "Выберите список"
|
chooseList: "Выберите список"
|
||||||
clicker: "Счётчик щелчков"
|
clicker: "Счётчик щелчков"
|
||||||
birthdayFollowings: "Пользователи, у которых сегодня день рождения"
|
birthdayFollowings: "Пользователи, у которых сегодня день рождения"
|
||||||
_widgetOptions:
|
|
||||||
height: "Высота"
|
|
||||||
_button:
|
|
||||||
colored: "Выделена цветом"
|
|
||||||
_clock:
|
|
||||||
size: "Размер"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "Длительность"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "Спрятать"
|
hide: "Спрятать"
|
||||||
show: "Показать"
|
show: "Показать"
|
||||||
|
|
@ -2115,9 +1935,6 @@ _postForm:
|
||||||
replyPlaceholder: "Ответ на заметку..."
|
replyPlaceholder: "Ответ на заметку..."
|
||||||
quotePlaceholder: "Пояснение к цитате..."
|
quotePlaceholder: "Пояснение к цитате..."
|
||||||
channelPlaceholder: "Отправить в канал"
|
channelPlaceholder: "Отправить в канал"
|
||||||
_howToUse:
|
|
||||||
visibility_title: "Видимость"
|
|
||||||
menu_title: "Меню"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "Как дела?"
|
a: "Как дела?"
|
||||||
b: "Что интересного вокруг?"
|
b: "Что интересного вокруг?"
|
||||||
|
|
@ -2342,7 +2159,6 @@ _abuseReport:
|
||||||
mail: "Электронная почта"
|
mail: "Электронная почта"
|
||||||
webhook: "Вебхук"
|
webhook: "Вебхук"
|
||||||
_captions:
|
_captions:
|
||||||
mail: "Уведомлять модераторов по почте (только при поступлении жалоб)"
|
|
||||||
webhook: "Отправить уведомление Системному Вебхуку при получении или разрешении жалоб."
|
webhook: "Отправить уведомление Системному Вебхуку при получении или разрешении жалоб."
|
||||||
notifiedWebhook: "Используемый Вебхук"
|
notifiedWebhook: "Используемый Вебхук"
|
||||||
_moderationLogTypes:
|
_moderationLogTypes:
|
||||||
|
|
@ -2384,16 +2200,3 @@ _watermarkEditor:
|
||||||
image: "Изображения"
|
image: "Изображения"
|
||||||
advanced: "Для продвинутых"
|
advanced: "Для продвинутых"
|
||||||
angle: "Угол"
|
angle: "Угол"
|
||||||
_imageEffector:
|
|
||||||
_fxProps:
|
|
||||||
angle: "Угол"
|
|
||||||
scale: "Размер"
|
|
||||||
size: "Размер"
|
|
||||||
offset: "Позиция"
|
|
||||||
color: "Цвет"
|
|
||||||
opacity: "Непрозрачность"
|
|
||||||
lightness: "Осветление"
|
|
||||||
drafts: "Черновик"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "Отображение"
|
|
||||||
raw: "Текст"
|
|
||||||
|
|
|
||||||
|
|
@ -913,17 +913,6 @@ flip: "Preklopiť"
|
||||||
lastNDays: "Posledných {n} dní"
|
lastNDays: "Posledných {n} dní"
|
||||||
postForm: "Napísať poznámku"
|
postForm: "Napísať poznámku"
|
||||||
information: "Informácie"
|
information: "Informácie"
|
||||||
inMinutes: "min"
|
|
||||||
inDays: "dní"
|
|
||||||
widgets: "Widgety"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "Názov súboru"
|
|
||||||
_imageFrameEditor:
|
|
||||||
header: "Hlavička"
|
|
||||||
font: "Písmo"
|
|
||||||
fontSerif: "Pätkové"
|
|
||||||
fontSansSerif: "Bezpätkové"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "Pozvať"
|
invitations: "Pozvať"
|
||||||
noHistory: "Žiadna história"
|
noHistory: "Žiadna história"
|
||||||
|
|
@ -1232,14 +1221,6 @@ _widgets:
|
||||||
aichan: "Ai"
|
aichan: "Ai"
|
||||||
_userList:
|
_userList:
|
||||||
chooseList: "Vyberte zoznam"
|
chooseList: "Vyberte zoznam"
|
||||||
_widgetOptions:
|
|
||||||
height: "Výška"
|
|
||||||
_button:
|
|
||||||
colored: "Farebné"
|
|
||||||
_clock:
|
|
||||||
size: "Veľkosť"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "Trvanie"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "Skryť"
|
hide: "Skryť"
|
||||||
show: "Zobraziť viac"
|
show: "Zobraziť viac"
|
||||||
|
|
@ -1280,9 +1261,6 @@ _postForm:
|
||||||
replyPlaceholder: "Odpoveď na túto poznámku..."
|
replyPlaceholder: "Odpoveď na túto poznámku..."
|
||||||
quotePlaceholder: "Citovanie tejto poznámky..."
|
quotePlaceholder: "Citovanie tejto poznámky..."
|
||||||
channelPlaceholder: "Poslať do kanála..."
|
channelPlaceholder: "Poslať do kanála..."
|
||||||
_howToUse:
|
|
||||||
visibility_title: "Viditeľnosť"
|
|
||||||
menu_title: "Menu"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "Čo máte v pláne?"
|
a: "Čo máte v pláne?"
|
||||||
b: "Čo sa deje?"
|
b: "Čo sa deje?"
|
||||||
|
|
@ -1479,13 +1457,3 @@ _watermarkEditor:
|
||||||
type: "Typ"
|
type: "Typ"
|
||||||
image: "Obrázky"
|
image: "Obrázky"
|
||||||
advanced: "Rozšírené"
|
advanced: "Rozšírené"
|
||||||
_imageEffector:
|
|
||||||
_fxProps:
|
|
||||||
scale: "Veľkosť"
|
|
||||||
size: "Veľkosť"
|
|
||||||
color: "Farba"
|
|
||||||
opacity: "Priehľadnosť"
|
|
||||||
lightness: "Zosvetliť"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "Zobraziť"
|
|
||||||
raw: "Text"
|
|
||||||
|
|
|
||||||
|
|
@ -559,9 +559,6 @@ tryAgain: "Försök igen senare"
|
||||||
signinWithPasskey: "Logga in med nyckel"
|
signinWithPasskey: "Logga in med nyckel"
|
||||||
unknownWebAuthnKey: "Okänd nyckel"
|
unknownWebAuthnKey: "Okänd nyckel"
|
||||||
information: "Om"
|
information: "Om"
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "Filnamn"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "Inbjudan"
|
invitations: "Inbjudan"
|
||||||
members: "Medlemmar"
|
members: "Medlemmar"
|
||||||
|
|
@ -639,9 +636,6 @@ _widgets:
|
||||||
jobQueue: "Jobbkö"
|
jobQueue: "Jobbkö"
|
||||||
_userList:
|
_userList:
|
||||||
chooseList: "Välj lista"
|
chooseList: "Välj lista"
|
||||||
_widgetOptions:
|
|
||||||
_clock:
|
|
||||||
size: "Storlek"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "Dölj"
|
hide: "Dölj"
|
||||||
show: "Ladda mer"
|
show: "Ladda mer"
|
||||||
|
|
@ -652,10 +646,6 @@ _poll:
|
||||||
_visibility:
|
_visibility:
|
||||||
home: "Hem"
|
home: "Hem"
|
||||||
followers: "Följare"
|
followers: "Följare"
|
||||||
specified: "Direktnoter"
|
|
||||||
_postForm:
|
|
||||||
_howToUse:
|
|
||||||
menu_title: "Meny"
|
|
||||||
_profile:
|
_profile:
|
||||||
name: "Namn"
|
name: "Namn"
|
||||||
username: "Användarnamn"
|
username: "Användarnamn"
|
||||||
|
|
@ -702,7 +692,6 @@ _deck:
|
||||||
list: "Listor"
|
list: "Listor"
|
||||||
channel: "kanal"
|
channel: "kanal"
|
||||||
mentions: "Omnämningar"
|
mentions: "Omnämningar"
|
||||||
direct: "Direktnoter"
|
|
||||||
_webhookSettings:
|
_webhookSettings:
|
||||||
name: "Namn"
|
name: "Namn"
|
||||||
active: "Aktiverad"
|
active: "Aktiverad"
|
||||||
|
|
@ -725,8 +714,3 @@ _search:
|
||||||
_watermarkEditor:
|
_watermarkEditor:
|
||||||
scale: "Storlek"
|
scale: "Storlek"
|
||||||
image: "Bilder"
|
image: "Bilder"
|
||||||
_imageEffector:
|
|
||||||
_fxProps:
|
|
||||||
scale: "Storlek"
|
|
||||||
size: "Storlek"
|
|
||||||
color: "Färg"
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
3337
locales/tr-TR.yml
3337
locales/tr-TR.yml
File diff suppressed because it is too large
Load Diff
|
|
@ -8,9 +8,6 @@ search: "Пошук"
|
||||||
notifications: "Сповіщення"
|
notifications: "Сповіщення"
|
||||||
username: "Ім'я користувача"
|
username: "Ім'я користувача"
|
||||||
password: "Пароль"
|
password: "Пароль"
|
||||||
initialPasswordForSetup: "Початковий пароль для налаштування"
|
|
||||||
initialPasswordIsIncorrect: "Початковий пароль для налаштування неправильний"
|
|
||||||
initialPasswordForSetupDescription: "Використайте пароль, вказаний у конфігураційному файлі, якщо ви встановлювали Misskey власноруч.\nЯкщо використовуєте сервіси хостингу Misskey, використайте наданий пароль.\nЯкщо ви не маєте паролю, лишіть порожнім щоб продовжити. "
|
|
||||||
forgotPassword: "Я забув пароль"
|
forgotPassword: "Я забув пароль"
|
||||||
fetchingAsApObject: "Отримуємо з федіверсу..."
|
fetchingAsApObject: "Отримуємо з федіверсу..."
|
||||||
ok: "OK"
|
ok: "OK"
|
||||||
|
|
@ -48,7 +45,6 @@ pin: "Закріпити"
|
||||||
unpin: "Відкріпити"
|
unpin: "Відкріпити"
|
||||||
copyContent: "Скопіювати контент"
|
copyContent: "Скопіювати контент"
|
||||||
copyLink: "Скопіювати посилання"
|
copyLink: "Скопіювати посилання"
|
||||||
copyRemoteLink: "Копіювати віддалене посилання"
|
|
||||||
delete: "Видалити"
|
delete: "Видалити"
|
||||||
deleteAndEdit: "Видалити й редагувати"
|
deleteAndEdit: "Видалити й редагувати"
|
||||||
deleteAndEditConfirm: "Ви впевнені, що хочете видалити цю нотатку та відредагувати її? Ви втратите всі реакції, поширення та відповіді на неї."
|
deleteAndEditConfirm: "Ви впевнені, що хочете видалити цю нотатку та відредагувати її? Ви втратите всі реакції, поширення та відповіді на неї."
|
||||||
|
|
@ -61,7 +57,6 @@ copyUserId: "Копіювати ID користувача"
|
||||||
copyNoteId: "блокнот ID користувача"
|
copyNoteId: "блокнот ID користувача"
|
||||||
copyFileId: "Скопіювати ідентифікатор файлу."
|
copyFileId: "Скопіювати ідентифікатор файлу."
|
||||||
searchUser: "Пошук користувачів"
|
searchUser: "Пошук користувачів"
|
||||||
searchThisUsersNotes: "Пошук нотаток користувача"
|
|
||||||
reply: "Відповісти"
|
reply: "Відповісти"
|
||||||
loadMore: "Показати більше"
|
loadMore: "Показати більше"
|
||||||
showMore: "Показати більше"
|
showMore: "Показати більше"
|
||||||
|
|
@ -110,11 +105,9 @@ enterEmoji: "Введіть емодзі"
|
||||||
renote: "Поширити"
|
renote: "Поширити"
|
||||||
unrenote: "Відміна поширення"
|
unrenote: "Відміна поширення"
|
||||||
renoted: "Поширити запис."
|
renoted: "Поширити запис."
|
||||||
renotedToX: "Поширено до {name}"
|
|
||||||
cantRenote: "Неможливо поширити."
|
cantRenote: "Неможливо поширити."
|
||||||
cantReRenote: "Поширення не можливо поширити."
|
cantReRenote: "Поширення не можливо поширити."
|
||||||
quote: "Цитата"
|
quote: "Цитата"
|
||||||
inChannelRenote: "Поширено у канал"
|
|
||||||
pinnedNote: "Закріплений запис"
|
pinnedNote: "Закріплений запис"
|
||||||
pinned: "Закріпити"
|
pinned: "Закріпити"
|
||||||
you: "Ви"
|
you: "Ви"
|
||||||
|
|
@ -123,7 +116,6 @@ sensitive: "NSFW"
|
||||||
add: "Додати"
|
add: "Додати"
|
||||||
reaction: "Реакції"
|
reaction: "Реакції"
|
||||||
reactions: "Реакції"
|
reactions: "Реакції"
|
||||||
emojiPicker: "Вибір реакції"
|
|
||||||
reactionSettingDescription2: "Перемістити щоб змінити порядок, Клацнути мишою щоб видалити, Натиснути \"+\" щоб додати."
|
reactionSettingDescription2: "Перемістити щоб змінити порядок, Клацнути мишою щоб видалити, Натиснути \"+\" щоб додати."
|
||||||
rememberNoteVisibility: "Пам’ятати параметри видимісті"
|
rememberNoteVisibility: "Пам’ятати параметри видимісті"
|
||||||
attachCancel: "Видалити вкладення"
|
attachCancel: "Видалити вкладення"
|
||||||
|
|
@ -297,9 +289,7 @@ folderName: "Ім'я теки"
|
||||||
createFolder: "Створити теку"
|
createFolder: "Створити теку"
|
||||||
renameFolder: "Перейменувати теку"
|
renameFolder: "Перейменувати теку"
|
||||||
deleteFolder: "Видалити теку"
|
deleteFolder: "Видалити теку"
|
||||||
folder: "Тека"
|
|
||||||
addFile: "Додати файл"
|
addFile: "Додати файл"
|
||||||
showFile: "Показати файл"
|
|
||||||
emptyDrive: "Диск порожній"
|
emptyDrive: "Диск порожній"
|
||||||
emptyFolder: "Тека порожня"
|
emptyFolder: "Тека порожня"
|
||||||
unableToDelete: "Видалення неможливе"
|
unableToDelete: "Видалення неможливе"
|
||||||
|
|
@ -312,7 +302,6 @@ copyUrl: "Копіювати URL"
|
||||||
rename: "Перейменувати"
|
rename: "Перейменувати"
|
||||||
avatar: "Аватар"
|
avatar: "Аватар"
|
||||||
banner: "Банер"
|
banner: "Банер"
|
||||||
displayOfSensitiveMedia: "Показ чутливого медіа"
|
|
||||||
whenServerDisconnected: "Коли зв’язок із сервером втрачено"
|
whenServerDisconnected: "Коли зв’язок із сервером втрачено"
|
||||||
disconnectedFromServer: "Зв’язок із сервером було перервано"
|
disconnectedFromServer: "Зв’язок із сервером було перервано"
|
||||||
reload: "Оновити"
|
reload: "Оновити"
|
||||||
|
|
@ -359,11 +348,8 @@ hcaptcha: "hCaptcha"
|
||||||
enableHcaptcha: "Увімкнути hCaptcha"
|
enableHcaptcha: "Увімкнути hCaptcha"
|
||||||
hcaptchaSiteKey: "Ключ сайту"
|
hcaptchaSiteKey: "Ключ сайту"
|
||||||
hcaptchaSecretKey: "Секретний ключ"
|
hcaptchaSecretKey: "Секретний ключ"
|
||||||
mcaptcha: "MCaptcha"
|
|
||||||
enableMcaptcha: "Увімкнути MCaptcha"
|
|
||||||
mcaptchaSiteKey: "Ключ сайту"
|
mcaptchaSiteKey: "Ключ сайту"
|
||||||
mcaptchaSecretKey: "Секретний ключ"
|
mcaptchaSecretKey: "Секретний ключ"
|
||||||
mcaptchaInstanceUrl: "Посилання на сервер MCaptcha"
|
|
||||||
recaptcha: "reCAPTCHA"
|
recaptcha: "reCAPTCHA"
|
||||||
enableRecaptcha: "Увімкнути reCAPTCHA"
|
enableRecaptcha: "Увімкнути reCAPTCHA"
|
||||||
recaptchaSiteKey: "Ключ сайту"
|
recaptchaSiteKey: "Ключ сайту"
|
||||||
|
|
@ -919,17 +905,6 @@ flip: "Перевернути"
|
||||||
lastNDays: "Останні {n} днів"
|
lastNDays: "Останні {n} днів"
|
||||||
postForm: "Створення нотатки"
|
postForm: "Створення нотатки"
|
||||||
information: "Інформація"
|
information: "Інформація"
|
||||||
inMinutes: "х"
|
|
||||||
inDays: "д"
|
|
||||||
widgets: "Віджети"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "Ім'я файлу"
|
|
||||||
_imageFrameEditor:
|
|
||||||
header: "Заголовок"
|
|
||||||
font: "Шрифт"
|
|
||||||
fontSerif: "Serif"
|
|
||||||
fontSansSerif: "Sans serif"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "Запросити"
|
invitations: "Запросити"
|
||||||
noHistory: "Історія порожня"
|
noHistory: "Історія порожня"
|
||||||
|
|
@ -1430,14 +1405,6 @@ _widgets:
|
||||||
userList: "Список користувачів"
|
userList: "Список користувачів"
|
||||||
_userList:
|
_userList:
|
||||||
chooseList: "Виберіть список"
|
chooseList: "Виберіть список"
|
||||||
_widgetOptions:
|
|
||||||
height: "Висота"
|
|
||||||
_button:
|
|
||||||
colored: "Кольоровий"
|
|
||||||
_clock:
|
|
||||||
size: "Розмір"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "Тривалість"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "Сховати"
|
hide: "Сховати"
|
||||||
show: "Показати більше"
|
show: "Показати більше"
|
||||||
|
|
@ -1478,9 +1445,6 @@ _postForm:
|
||||||
replyPlaceholder: "Відповідь на цю нотатку..."
|
replyPlaceholder: "Відповідь на цю нотатку..."
|
||||||
quotePlaceholder: "Прокоментуйте цю нотатку..."
|
quotePlaceholder: "Прокоментуйте цю нотатку..."
|
||||||
channelPlaceholder: "Опублікувати в каналі"
|
channelPlaceholder: "Опублікувати в каналі"
|
||||||
_howToUse:
|
|
||||||
visibility_title: "Видимість"
|
|
||||||
menu_title: "Меню"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "Чим займаєтесь?"
|
a: "Чим займаєтесь?"
|
||||||
b: "Що відбувається навколо вас?"
|
b: "Що відбувається навколо вас?"
|
||||||
|
|
@ -1668,13 +1632,3 @@ _watermarkEditor:
|
||||||
type: "Тип"
|
type: "Тип"
|
||||||
image: "Зображення"
|
image: "Зображення"
|
||||||
advanced: "Розширені"
|
advanced: "Розширені"
|
||||||
_imageEffector:
|
|
||||||
_fxProps:
|
|
||||||
scale: "Розмір"
|
|
||||||
size: "Розмір"
|
|
||||||
color: "Колір"
|
|
||||||
opacity: "Непрозорість"
|
|
||||||
lightness: "Яскравість"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "Відображення"
|
|
||||||
raw: "Текст"
|
|
||||||
|
|
|
||||||
|
|
@ -837,14 +837,6 @@ replies: "Javob berish"
|
||||||
renotes: "Qayta qayd etish"
|
renotes: "Qayta qayd etish"
|
||||||
flip: "Teskari"
|
flip: "Teskari"
|
||||||
information: "Haqida"
|
information: "Haqida"
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "Fayl nomi"
|
|
||||||
_imageFrameEditor:
|
|
||||||
header: "Sarlavha"
|
|
||||||
font: "Shrift"
|
|
||||||
fontSerif: "Serif"
|
|
||||||
fontSansSerif: "Sans Serif"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "Taklif qilish"
|
invitations: "Taklif qilish"
|
||||||
noHistory: "Tarix yo'q"
|
noHistory: "Tarix yo'q"
|
||||||
|
|
@ -911,7 +903,7 @@ _theme:
|
||||||
header: "Sarlavha"
|
header: "Sarlavha"
|
||||||
navBg: "Yon panel foni"
|
navBg: "Yon panel foni"
|
||||||
navFg: "Yon panel matni"
|
navFg: "Yon panel matni"
|
||||||
mention: "Eslatib o'tish"
|
mention: "Murojat"
|
||||||
renote: "Qayta qayd etish"
|
renote: "Qayta qayd etish"
|
||||||
divider: "Ajratrmoq"
|
divider: "Ajratrmoq"
|
||||||
fgHighlighted: "Belgilangan matn"
|
fgHighlighted: "Belgilangan matn"
|
||||||
|
|
@ -945,12 +937,6 @@ _widgets:
|
||||||
jobQueue: "Vazifalar navbati"
|
jobQueue: "Vazifalar navbati"
|
||||||
_userList:
|
_userList:
|
||||||
chooseList: "Ro'yxat tanlash"
|
chooseList: "Ro'yxat tanlash"
|
||||||
_widgetOptions:
|
|
||||||
height: "balandligi"
|
|
||||||
_button:
|
|
||||||
colored: "rangli"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "Davomiylik"
|
|
||||||
_cw:
|
_cw:
|
||||||
show: "Ko‘proq ko‘rish"
|
show: "Ko‘proq ko‘rish"
|
||||||
chars: "{count} ta belgi(lar)"
|
chars: "{count} ta belgi(lar)"
|
||||||
|
|
@ -978,10 +964,6 @@ _visibility:
|
||||||
home: "Bosh sahifa"
|
home: "Bosh sahifa"
|
||||||
followers: "Obunachilar"
|
followers: "Obunachilar"
|
||||||
specified: "Bevosita"
|
specified: "Bevosita"
|
||||||
_postForm:
|
|
||||||
_howToUse:
|
|
||||||
visibility_title: "Ko'rinishi"
|
|
||||||
menu_title: "Menyu"
|
|
||||||
_profile:
|
_profile:
|
||||||
name: "Ism"
|
name: "Ism"
|
||||||
username: "Foydalanuvchi nomi"
|
username: "Foydalanuvchi nomi"
|
||||||
|
|
@ -1063,7 +1045,7 @@ _notification:
|
||||||
_types:
|
_types:
|
||||||
all: "Barchasi"
|
all: "Barchasi"
|
||||||
follow: "Obuna bo‘lish"
|
follow: "Obuna bo‘lish"
|
||||||
mention: "Eslatib o'tish"
|
mention: "Murojat"
|
||||||
renote: "Qayta qayd etish"
|
renote: "Qayta qayd etish"
|
||||||
quote: "Iqtibos keltirish"
|
quote: "Iqtibos keltirish"
|
||||||
reaction: "Reaktsiyalar"
|
reaction: "Reaktsiyalar"
|
||||||
|
|
@ -1120,10 +1102,3 @@ _watermarkEditor:
|
||||||
type: "turi"
|
type: "turi"
|
||||||
image: "Rasmlar"
|
image: "Rasmlar"
|
||||||
advanced: "Murakkab"
|
advanced: "Murakkab"
|
||||||
_imageEffector:
|
|
||||||
_fxProps:
|
|
||||||
color: "Rang"
|
|
||||||
lightness: "Yoritish"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "Displey"
|
|
||||||
raw: "Matn"
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
import locales from './index.js';
|
||||||
|
|
||||||
|
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 });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
@ -1196,6 +1196,7 @@ showAvatarDecorations: "Hiển thị trang trí ảnh đại diện"
|
||||||
releaseToRefresh: "Thả để làm mới"
|
releaseToRefresh: "Thả để làm mới"
|
||||||
refreshing: "Đang làm mới"
|
refreshing: "Đang làm mới"
|
||||||
pullDownToRefresh: "Kéo xuống để làm mới"
|
pullDownToRefresh: "Kéo xuống để làm mới"
|
||||||
|
signupPendingError: "Đã xảy ra sự cố khi xác minh địa chỉ email của bạn. Liên kết có thể đã hết hạn."
|
||||||
cwNotationRequired: "Nếu \"Ẩn nội dung\" được bật thì cần phải có chú thích."
|
cwNotationRequired: "Nếu \"Ẩn nội dung\" được bật thì cần phải có chú thích."
|
||||||
decorate: "Trang trí"
|
decorate: "Trang trí"
|
||||||
lastNDays: "{n} ngày trước"
|
lastNDays: "{n} ngày trước"
|
||||||
|
|
@ -1220,18 +1221,6 @@ information: "Giới thiệu"
|
||||||
chat: "Trò chuyện"
|
chat: "Trò chuyện"
|
||||||
migrateOldSettings: "Di chuyển cài đặt cũ"
|
migrateOldSettings: "Di chuyển cài đặt cũ"
|
||||||
migrateOldSettings_description: "Thông thường, quá trình này diễn ra tự động, nhưng nếu vì lý do nào đó mà quá trình di chuyển không thành công, bạn có thể kích hoạt thủ công quy trình di chuyển, quá trình này sẽ ghi đè lên thông tin cấu hình hiện tại của bạn."
|
migrateOldSettings_description: "Thông thường, quá trình này diễn ra tự động, nhưng nếu vì lý do nào đó mà quá trình di chuyển không thành công, bạn có thể kích hoạt thủ công quy trình di chuyển, quá trình này sẽ ghi đè lên thông tin cấu hình hiện tại của bạn."
|
||||||
inMinutes: "phút"
|
|
||||||
inDays: "ngày"
|
|
||||||
widgets: "Tiện ích"
|
|
||||||
presets: "Mẫu thiết lập"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
filename: "Tên tập tin"
|
|
||||||
_imageFrameEditor:
|
|
||||||
header: "Ảnh bìa"
|
|
||||||
font: "Phông chữ"
|
|
||||||
fontSerif: "Serif"
|
|
||||||
fontSansSerif: "Sans Serif"
|
|
||||||
_chat:
|
_chat:
|
||||||
invitations: "Mời"
|
invitations: "Mời"
|
||||||
noHistory: "Không có dữ liệu"
|
noHistory: "Không có dữ liệu"
|
||||||
|
|
@ -1826,14 +1815,7 @@ _widgets:
|
||||||
_userList:
|
_userList:
|
||||||
chooseList: "Chọn danh sách"
|
chooseList: "Chọn danh sách"
|
||||||
clicker: "clicker"
|
clicker: "clicker"
|
||||||
_widgetOptions:
|
chat: "Trò chuyện"
|
||||||
height: "Chiều cao"
|
|
||||||
_button:
|
|
||||||
colored: "Với màu"
|
|
||||||
_clock:
|
|
||||||
size: "Kích thước"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "Thời hạn"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "Ẩn"
|
hide: "Ẩn"
|
||||||
show: "Tải thêm"
|
show: "Tải thêm"
|
||||||
|
|
@ -1876,9 +1858,6 @@ _postForm:
|
||||||
replyPlaceholder: "Trả lời tút này"
|
replyPlaceholder: "Trả lời tút này"
|
||||||
quotePlaceholder: "Trích dẫn tút này"
|
quotePlaceholder: "Trích dẫn tút này"
|
||||||
channelPlaceholder: "Đăng lên một kênh"
|
channelPlaceholder: "Đăng lên một kênh"
|
||||||
_howToUse:
|
|
||||||
visibility_title: "Hiển thị"
|
|
||||||
menu_title: "Menu"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "Bạn đang định làm gì?"
|
a: "Bạn đang định làm gì?"
|
||||||
b: "Hôm nay bạn có gì vui?"
|
b: "Hôm nay bạn có gì vui?"
|
||||||
|
|
@ -2062,6 +2041,7 @@ _deck:
|
||||||
channel: "Kênh"
|
channel: "Kênh"
|
||||||
mentions: "Lượt nhắc"
|
mentions: "Lượt nhắc"
|
||||||
direct: "Nhắn riêng"
|
direct: "Nhắn riêng"
|
||||||
|
chat: "Trò chuyện"
|
||||||
_dialog:
|
_dialog:
|
||||||
charactersExceeded: "Bạn nhắn quá giới hạn ký tự!! Hiện nay {current} / giới hạn {max}"
|
charactersExceeded: "Bạn nhắn quá giới hạn ký tự!! Hiện nay {current} / giới hạn {max}"
|
||||||
charactersBelow: "Bạn nhắn quá ít tối thiểu ký tự!! Hiện nay {current} / Tối thiểu {min}"
|
charactersBelow: "Bạn nhắn quá ít tối thiểu ký tự!! Hiện nay {current} / Tối thiểu {min}"
|
||||||
|
|
@ -2109,15 +2089,3 @@ _watermarkEditor:
|
||||||
image: "Hình ảnh"
|
image: "Hình ảnh"
|
||||||
advanced: "Nâng cao"
|
advanced: "Nâng cao"
|
||||||
angle: "Góc"
|
angle: "Góc"
|
||||||
_imageEffector:
|
|
||||||
_fxProps:
|
|
||||||
angle: "Góc"
|
|
||||||
scale: "Kích thước"
|
|
||||||
size: "Kích thước"
|
|
||||||
offset: "Vị trí"
|
|
||||||
color: "Màu sắc"
|
|
||||||
opacity: "Độ trong suốt"
|
|
||||||
lightness: "Độ sáng"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "Hiển thị"
|
|
||||||
raw: "Văn bản"
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -75,7 +75,7 @@ receiveFollowRequest: "您有新的追隨請求"
|
||||||
followRequestAccepted: "追隨請求已被接受"
|
followRequestAccepted: "追隨請求已被接受"
|
||||||
mention: "提及"
|
mention: "提及"
|
||||||
mentions: "提及"
|
mentions: "提及"
|
||||||
directNotes: "指定使用者"
|
directNotes: "私訊"
|
||||||
importAndExport: "匯入與匯出"
|
importAndExport: "匯入與匯出"
|
||||||
import: "匯入"
|
import: "匯入"
|
||||||
export: "匯出"
|
export: "匯出"
|
||||||
|
|
@ -83,8 +83,6 @@ files: "檔案"
|
||||||
download: "下載"
|
download: "下載"
|
||||||
driveFileDeleteConfirm: "確定要刪除檔案「{name}」嗎?使用此檔案的貼文也會跟著被刪除。"
|
driveFileDeleteConfirm: "確定要刪除檔案「{name}」嗎?使用此檔案的貼文也會跟著被刪除。"
|
||||||
unfollowConfirm: "確定要取消追隨{name}嗎?"
|
unfollowConfirm: "確定要取消追隨{name}嗎?"
|
||||||
cancelFollowRequestConfirm: "要取消向 {name} 送出的追隨申請嗎?"
|
|
||||||
rejectFollowRequestConfirm: "要拒絕來自 {name} 的追隨申請嗎?"
|
|
||||||
exportRequested: "已請求匯出。這可能會花一點時間。匯出的檔案將會被放到雲端硬碟裡。"
|
exportRequested: "已請求匯出。這可能會花一點時間。匯出的檔案將會被放到雲端硬碟裡。"
|
||||||
importRequested: "已請求匯入。這可能會花一點時間。"
|
importRequested: "已請求匯入。這可能會花一點時間。"
|
||||||
lists: "清單"
|
lists: "清單"
|
||||||
|
|
@ -174,7 +172,7 @@ emojiUrl: "表情符號 URL"
|
||||||
addEmoji: "新增表情符號"
|
addEmoji: "新增表情符號"
|
||||||
settingGuide: "推薦設定"
|
settingGuide: "推薦設定"
|
||||||
cacheRemoteFiles: "快取遠端檔案"
|
cacheRemoteFiles: "快取遠端檔案"
|
||||||
cacheRemoteFilesDescription: "啟用這個設定後,遠端檔案會被快取到這台伺服器的儲存空間中。這樣能加快圖片的顯示速度,但會多占用伺服器的儲存容量。遠端使用者能保留多少快取,取決於其角色所設定的硬碟容量上限。若超過這個上限,系統會從最舊的檔案開始刪除快取並改成連結。若停用這個設定,遠端檔案一開始就只會以連結的形式保留。"
|
cacheRemoteFilesDescription: "啟用此設定後,遠端檔案會被快取在本伺服器的儲存空間中。雖然顯示圖片會變快,但會消耗較多伺服器的儲存空間。至於要快取遠端使用者到什麼程度,是依照角色的雲端硬碟容量而定。當超過這個限制時,從較舊的檔案開始自快取中刪除並改為連結。關閉這個設定時,遠端檔案從一開始就維持連結的方式,但建議將 default.yml 的 proxyRemoteFiles 設為 true,以便產生圖片的縮圖並保護使用者的隱私。"
|
||||||
youCanCleanRemoteFilesCache: "按檔案管理的🗑️按鈕,可將快取全部刪除。"
|
youCanCleanRemoteFilesCache: "按檔案管理的🗑️按鈕,可將快取全部刪除。"
|
||||||
cacheRemoteSensitiveFiles: "快取遠端的敏感檔案"
|
cacheRemoteSensitiveFiles: "快取遠端的敏感檔案"
|
||||||
cacheRemoteSensitiveFilesDescription: "若停用這個設定,則不會快取遠端的敏感檔案,而是直接連結。"
|
cacheRemoteSensitiveFilesDescription: "若停用這個設定,則不會快取遠端的敏感檔案,而是直接連結。"
|
||||||
|
|
@ -255,7 +253,6 @@ noteDeleteConfirm: "確定刪除此貼文嗎?"
|
||||||
pinLimitExceeded: "不能置頂更多貼文了"
|
pinLimitExceeded: "不能置頂更多貼文了"
|
||||||
done: "完成"
|
done: "完成"
|
||||||
processing: "處理中"
|
processing: "處理中"
|
||||||
preprocessing: "準備中"
|
|
||||||
preview: "預覽"
|
preview: "預覽"
|
||||||
default: "預設"
|
default: "預設"
|
||||||
defaultValueIs: "預設值:{value}"
|
defaultValueIs: "預設值:{value}"
|
||||||
|
|
@ -304,7 +301,6 @@ uploadFromUrlMayTakeTime: "還需要一些時間才能完成上傳。"
|
||||||
uploadNFiles: "上傳了 {n} 個檔案"
|
uploadNFiles: "上傳了 {n} 個檔案"
|
||||||
explore: "探索"
|
explore: "探索"
|
||||||
messageRead: "已讀"
|
messageRead: "已讀"
|
||||||
readAllChatMessages: "將所有訊息標記為已讀"
|
|
||||||
noMoreHistory: "沒有更多歷史紀錄"
|
noMoreHistory: "沒有更多歷史紀錄"
|
||||||
startChat: "開始聊天"
|
startChat: "開始聊天"
|
||||||
nUsersRead: "{n} 人已讀"
|
nUsersRead: "{n} 人已讀"
|
||||||
|
|
@ -337,7 +333,6 @@ fileName: "檔案名稱"
|
||||||
selectFile: "選擇檔案"
|
selectFile: "選擇檔案"
|
||||||
selectFiles: "選擇檔案"
|
selectFiles: "選擇檔案"
|
||||||
selectFolder: "選擇資料夾"
|
selectFolder: "選擇資料夾"
|
||||||
unselectFolder: "取消選擇資料夾"
|
|
||||||
selectFolders: "選擇資料夾"
|
selectFolders: "選擇資料夾"
|
||||||
fileNotSelected: "尚未選擇檔案"
|
fileNotSelected: "尚未選擇檔案"
|
||||||
renameFile: "重新命名檔案"
|
renameFile: "重新命名檔案"
|
||||||
|
|
@ -350,7 +345,6 @@ addFile: "加入附件"
|
||||||
showFile: "瀏覽文件"
|
showFile: "瀏覽文件"
|
||||||
emptyDrive: "雲端硬碟為空"
|
emptyDrive: "雲端硬碟為空"
|
||||||
emptyFolder: "資料夾為空"
|
emptyFolder: "資料夾為空"
|
||||||
dropHereToUpload: "將檔案拖放至此處即可上傳"
|
|
||||||
unableToDelete: "無法刪除"
|
unableToDelete: "無法刪除"
|
||||||
inputNewFileName: "輸入檔案名稱"
|
inputNewFileName: "輸入檔案名稱"
|
||||||
inputNewDescription: "請輸入新標題 "
|
inputNewDescription: "請輸入新標題 "
|
||||||
|
|
@ -644,7 +638,7 @@ inboxUrl: "收件夾 URL"
|
||||||
addedRelays: "已加入的中繼器"
|
addedRelays: "已加入的中繼器"
|
||||||
serviceworkerInfo: "如要使用推播通知,需要啟用此選項並設定金鑰。"
|
serviceworkerInfo: "如要使用推播通知,需要啟用此選項並設定金鑰。"
|
||||||
deletedNote: "已刪除的貼文"
|
deletedNote: "已刪除的貼文"
|
||||||
invisibleNote: "私密的貼文"
|
invisibleNote: "私人貼文"
|
||||||
enableInfiniteScroll: "啟用自動滾動頁面模式"
|
enableInfiniteScroll: "啟用自動滾動頁面模式"
|
||||||
visibility: "可見性"
|
visibility: "可見性"
|
||||||
poll: "票選活動"
|
poll: "票選活動"
|
||||||
|
|
@ -778,7 +772,6 @@ lockedAccountInfo: "即使追隨需要核准,除非你將貼文的可見性設
|
||||||
alwaysMarkSensitive: "預設標記檔案為敏感內容"
|
alwaysMarkSensitive: "預設標記檔案為敏感內容"
|
||||||
loadRawImages: "以原始圖檔顯示附件圖檔的縮圖"
|
loadRawImages: "以原始圖檔顯示附件圖檔的縮圖"
|
||||||
disableShowingAnimatedImages: "不播放動態圖檔"
|
disableShowingAnimatedImages: "不播放動態圖檔"
|
||||||
disableShowingAnimatedImages_caption: "無論這個設定如何,如果動畫圖片無法播放,可能是因為瀏覽器或作業系統的無障礙設定、省電設定等產生了干擾。"
|
|
||||||
highlightSensitiveMedia: "強調敏感標記"
|
highlightSensitiveMedia: "強調敏感標記"
|
||||||
verificationEmailSent: "已發送驗證電子郵件。請點擊進入電子郵件中的連結以完成驗證。"
|
verificationEmailSent: "已發送驗證電子郵件。請點擊進入電子郵件中的連結以完成驗證。"
|
||||||
notSet: "未設定"
|
notSet: "未設定"
|
||||||
|
|
@ -1025,9 +1018,6 @@ pushNotificationAlreadySubscribed: "推播通知啟用中"
|
||||||
pushNotificationNotSupported: "瀏覽器或伺服器不支援推播通知"
|
pushNotificationNotSupported: "瀏覽器或伺服器不支援推播通知"
|
||||||
sendPushNotificationReadMessage: "如果已閱讀通知與訊息,就刪除推播通知"
|
sendPushNotificationReadMessage: "如果已閱讀通知與訊息,就刪除推播通知"
|
||||||
sendPushNotificationReadMessageCaption: "可能會導致裝置的電池消耗量增加。"
|
sendPushNotificationReadMessageCaption: "可能會導致裝置的電池消耗量增加。"
|
||||||
pleaseAllowPushNotification: "請允許瀏覽器的通知設定"
|
|
||||||
browserPushNotificationDisabled: "取得通知發送權限失敗"
|
|
||||||
browserPushNotificationDisabledDescription: "您沒有權限從 {serverName} 發送通知。請在瀏覽器設定中允許通知,然後再試一次。"
|
|
||||||
windowMaximize: "最大化"
|
windowMaximize: "最大化"
|
||||||
windowMinimize: "最小化"
|
windowMinimize: "最小化"
|
||||||
windowRestore: "復原"
|
windowRestore: "復原"
|
||||||
|
|
@ -1064,7 +1054,6 @@ permissionDeniedError: "操作被拒絕"
|
||||||
permissionDeniedErrorDescription: "此帳戶沒有執行這個操作的權限。"
|
permissionDeniedErrorDescription: "此帳戶沒有執行這個操作的權限。"
|
||||||
preset: "預設值"
|
preset: "預設值"
|
||||||
selectFromPresets: "從預設值中選擇"
|
selectFromPresets: "從預設值中選擇"
|
||||||
custom: "自訂"
|
|
||||||
achievements: "成就"
|
achievements: "成就"
|
||||||
gotInvalidResponseError: "伺服器的回應無效"
|
gotInvalidResponseError: "伺服器的回應無效"
|
||||||
gotInvalidResponseErrorDescription: "伺服器可能已關閉或者在維護中,請稍後再試。"
|
gotInvalidResponseErrorDescription: "伺服器可能已關閉或者在維護中,請稍後再試。"
|
||||||
|
|
@ -1089,9 +1078,9 @@ postToTheChannel: "發佈到頻道"
|
||||||
cannotBeChangedLater: "之後不能變更。"
|
cannotBeChangedLater: "之後不能變更。"
|
||||||
reactionAcceptance: "接受表情反應"
|
reactionAcceptance: "接受表情反應"
|
||||||
likeOnly: "僅限讚"
|
likeOnly: "僅限讚"
|
||||||
likeOnlyForRemote: "全部(遠端僅限讚)"
|
likeOnlyForRemote: "遠端僅限讚"
|
||||||
nonSensitiveOnly: "僅限非敏感"
|
nonSensitiveOnly: "僅限非敏感"
|
||||||
nonSensitiveOnlyForLocalLikeOnlyForRemote: "僅限非敏感(遠端僅限讚)"
|
nonSensitiveOnlyForLocalLikeOnlyForRemote: "僅限非敏感(遠端僅限按讚)"
|
||||||
rolesAssignedToMe: "指派給自己的角色"
|
rolesAssignedToMe: "指派給自己的角色"
|
||||||
resetPasswordConfirm: "重設密碼?"
|
resetPasswordConfirm: "重設密碼?"
|
||||||
sensitiveWords: "敏感詞"
|
sensitiveWords: "敏感詞"
|
||||||
|
|
@ -1103,7 +1092,6 @@ prohibitedWordsDescription2: "空格代表「以及」(AND),斜線包圍
|
||||||
hiddenTags: "隱藏標籤"
|
hiddenTags: "隱藏標籤"
|
||||||
hiddenTagsDescription: "設定的標籤不會在趨勢中顯示,換行可以設定多個標籤。"
|
hiddenTagsDescription: "設定的標籤不會在趨勢中顯示,換行可以設定多個標籤。"
|
||||||
notesSearchNotAvailable: "無法使用搜尋貼文功能。"
|
notesSearchNotAvailable: "無法使用搜尋貼文功能。"
|
||||||
usersSearchNotAvailable: "無法使用使用者搜尋功能。"
|
|
||||||
license: "授權"
|
license: "授權"
|
||||||
unfavoriteConfirm: "要取消收錄我的最愛嗎?"
|
unfavoriteConfirm: "要取消收錄我的最愛嗎?"
|
||||||
myClips: "我的摘錄"
|
myClips: "我的摘錄"
|
||||||
|
|
@ -1178,7 +1166,6 @@ installed: "已安裝"
|
||||||
branding: "品牌宣傳"
|
branding: "品牌宣傳"
|
||||||
enableServerMachineStats: "公佈伺服器的機器資訊"
|
enableServerMachineStats: "公佈伺服器的機器資訊"
|
||||||
enableIdenticonGeneration: "啟用生成使用者的 Identicon "
|
enableIdenticonGeneration: "啟用生成使用者的 Identicon "
|
||||||
showRoleBadgesOfRemoteUsers: "顯示授予遠端使用者的角色徽章"
|
|
||||||
turnOffToImprovePerformance: "關閉時會提高性能。"
|
turnOffToImprovePerformance: "關閉時會提高性能。"
|
||||||
createInviteCode: "建立邀請碼"
|
createInviteCode: "建立邀請碼"
|
||||||
createWithOptions: "使用選項建立"
|
createWithOptions: "使用選項建立"
|
||||||
|
|
@ -1256,7 +1243,7 @@ releaseToRefresh: "放開以更新內容"
|
||||||
refreshing: "載入更新中"
|
refreshing: "載入更新中"
|
||||||
pullDownToRefresh: "往下拉來更新內容"
|
pullDownToRefresh: "往下拉來更新內容"
|
||||||
useGroupedNotifications: "分組顯示通知訊息"
|
useGroupedNotifications: "分組顯示通知訊息"
|
||||||
emailVerificationFailedError: "驗證您的電子郵件地址時出現問題。連結可能已過期。"
|
signupPendingError: "驗證您的電子郵件地址時出現問題。連結可能已過期。"
|
||||||
cwNotationRequired: "如果開啟「隱藏內容」,則需要註解說明。"
|
cwNotationRequired: "如果開啟「隱藏內容」,則需要註解說明。"
|
||||||
doReaction: "做出反應"
|
doReaction: "做出反應"
|
||||||
code: "程式碼"
|
code: "程式碼"
|
||||||
|
|
@ -1326,8 +1313,6 @@ availableRoles: "可用角色"
|
||||||
acknowledgeNotesAndEnable: "了解注意事項後再開啟。"
|
acknowledgeNotesAndEnable: "了解注意事項後再開啟。"
|
||||||
federationSpecified: "此伺服器以白名單聯邦的方式運作。除了管理員指定的伺服器外,它無法與其他伺服器互動。"
|
federationSpecified: "此伺服器以白名單聯邦的方式運作。除了管理員指定的伺服器外,它無法與其他伺服器互動。"
|
||||||
federationDisabled: "此伺服器未開啟站台聯邦。無法與其他伺服器上的使用者互動。"
|
federationDisabled: "此伺服器未開啟站台聯邦。無法與其他伺服器上的使用者互動。"
|
||||||
draft: "草稿\n"
|
|
||||||
draftsAndScheduledNotes: "草稿與排定發布"
|
|
||||||
confirmOnReact: "在做出反應前先確認"
|
confirmOnReact: "在做出反應前先確認"
|
||||||
reactAreYouSure: "用「 {emoji} 」反應嗎?"
|
reactAreYouSure: "用「 {emoji} 」反應嗎?"
|
||||||
markAsSensitiveConfirm: "要將這個媒體設定為敏感嗎?"
|
markAsSensitiveConfirm: "要將這個媒體設定為敏感嗎?"
|
||||||
|
|
@ -1355,8 +1340,6 @@ postForm: "發文視窗"
|
||||||
textCount: "字數"
|
textCount: "字數"
|
||||||
information: "關於"
|
information: "關於"
|
||||||
chat: "聊天"
|
chat: "聊天"
|
||||||
directMessage: "直接訊息"
|
|
||||||
directMessage_short: "訊息"
|
|
||||||
migrateOldSettings: "遷移舊設定資訊"
|
migrateOldSettings: "遷移舊設定資訊"
|
||||||
migrateOldSettings_description: "通常情況下,這會自動進行,但若因某些原因未能順利遷移,您可以手動觸發遷移處理。請注意,當前的設定資訊將會被覆寫。"
|
migrateOldSettings_description: "通常情況下,這會自動進行,但若因某些原因未能順利遷移,您可以手動觸發遷移處理。請注意,當前的設定資訊將會被覆寫。"
|
||||||
compress: "壓縮"
|
compress: "壓縮"
|
||||||
|
|
@ -1366,7 +1349,7 @@ top: "上"
|
||||||
embed: "嵌入"
|
embed: "嵌入"
|
||||||
settingsMigrating: "正在移轉設定。請稍候……(之後也可以到「設定 → 其他 → 舊設定資訊移轉」中手動進行移轉)"
|
settingsMigrating: "正在移轉設定。請稍候……(之後也可以到「設定 → 其他 → 舊設定資訊移轉」中手動進行移轉)"
|
||||||
readonly: "唯讀"
|
readonly: "唯讀"
|
||||||
goToDeck: "回到多欄模式"
|
goToDeck: "回去甲板"
|
||||||
federationJobs: "聯邦通訊作業"
|
federationJobs: "聯邦通訊作業"
|
||||||
driveAboutTip: "在「雲端硬碟」中,會顯示過去上傳的檔案列表。<br>\n可以在附加到貼文時重新利用,或者事先上傳之後再用於發布。<br>\n<b>請注意,刪除檔案後,之前使用過該檔案的所有地方(貼文、頁面、大頭貼、橫幅等)也會一併無法顯示。</b><br>\n也可以建立資料夾來整理檔案。"
|
driveAboutTip: "在「雲端硬碟」中,會顯示過去上傳的檔案列表。<br>\n可以在附加到貼文時重新利用,或者事先上傳之後再用於發布。<br>\n<b>請注意,刪除檔案後,之前使用過該檔案的所有地方(貼文、頁面、大頭貼、橫幅等)也會一併無法顯示。</b><br>\n也可以建立資料夾來整理檔案。"
|
||||||
scrollToClose: "用滾輪關閉"
|
scrollToClose: "用滾輪關閉"
|
||||||
|
|
@ -1384,83 +1367,7 @@ redisplayAllTips: "重新顯示所有「提示與技巧」"
|
||||||
hideAllTips: "隱藏所有「提示與技巧」"
|
hideAllTips: "隱藏所有「提示與技巧」"
|
||||||
defaultImageCompressionLevel: "預設的影像壓縮程度"
|
defaultImageCompressionLevel: "預設的影像壓縮程度"
|
||||||
defaultImageCompressionLevel_description: "低的話可以保留畫質,但是會增加檔案的大小。<br>高的話可以減少檔案大小,但是會降低畫質。"
|
defaultImageCompressionLevel_description: "低的話可以保留畫質,但是會增加檔案的大小。<br>高的話可以減少檔案大小,但是會降低畫質。"
|
||||||
defaultCompressionLevel: "預設的壓縮程度"
|
|
||||||
defaultCompressionLevel_description: "低的話可以保留品質,但是會增加檔案的大小。<br>高的話可以減少檔案大小,但是會降低品質。"
|
|
||||||
inMinutes: "分鐘"
|
|
||||||
inDays: "日"
|
|
||||||
safeModeEnabled: "啟用安全模式"
|
|
||||||
pluginsAreDisabledBecauseSafeMode: "由於啟用安全模式,所有的外掛都被停用。"
|
|
||||||
customCssIsDisabledBecauseSafeMode: "由於啟用安全模式,所有的客製 CSS 都被停用。"
|
|
||||||
themeIsDefaultBecauseSafeMode: "在安全模式啟用期間將使用預設主題。關閉安全模式後會恢復原本的設定。"
|
|
||||||
thankYouForTestingBeta: "感謝您協助驗證 beta 版!"
|
|
||||||
createUserSpecifiedNote: "建立指定使用者的貼文"
|
|
||||||
schedulePost: "排定發布"
|
|
||||||
scheduleToPostOnX: "排定在 {x} 發布"
|
|
||||||
scheduledToPostOnX: "已排定在 {x} 發布貼文"
|
|
||||||
schedule: "排定"
|
|
||||||
scheduled: "排定"
|
|
||||||
widgets: "小工具"
|
|
||||||
deviceInfo: "硬體資訊"
|
|
||||||
deviceInfoDescription: "在提出技術性諮詢時,若能同時提供以下資訊,將有助於解決問題。"
|
|
||||||
youAreAdmin: "您是管理員"
|
|
||||||
frame: "邊框"
|
|
||||||
presets: "預設值"
|
|
||||||
zeroPadding: "補零"
|
|
||||||
nothingToConfigure: "無可設定的項目"
|
|
||||||
_imageEditing:
|
|
||||||
_vars:
|
|
||||||
caption: "檔案標題"
|
|
||||||
filename: "檔案名稱"
|
|
||||||
filename_without_ext: "無副檔名的檔案名稱"
|
|
||||||
year: "拍攝年份"
|
|
||||||
month: "拍攝月份"
|
|
||||||
day: "拍攝日期"
|
|
||||||
hour: "拍攝時間(小時)"
|
|
||||||
minute: "拍攝時間(分鐘)"
|
|
||||||
second: "拍攝時間(秒)"
|
|
||||||
camera_model: "相機名稱"
|
|
||||||
camera_lens_model: "鏡頭型號"
|
|
||||||
camera_mm: "焦距"
|
|
||||||
camera_mm_35: "焦距(換算為 35mm 底片等效焦距)"
|
|
||||||
camera_f: "光圈"
|
|
||||||
camera_s: "快門速度"
|
|
||||||
camera_iso: "ISO 感光度"
|
|
||||||
gps_lat: "緯度"
|
|
||||||
gps_long: "經度"
|
|
||||||
_imageFrameEditor:
|
|
||||||
title: "編輯邊框"
|
|
||||||
tip: "可以在圖片上添加包含邊框或 EXIF 的標籤來裝飾圖片。"
|
|
||||||
header: "標題"
|
|
||||||
footer: "頁尾"
|
|
||||||
borderThickness: "邊框寬度"
|
|
||||||
labelThickness: "標籤寬度"
|
|
||||||
labelScale: "標籤縮放比例"
|
|
||||||
centered: "置中對齊"
|
|
||||||
captionMain: "標題文字(大)"
|
|
||||||
captionSub: "標題文字(小)"
|
|
||||||
availableVariables: "可使用的變數"
|
|
||||||
withQrCode: "二維條碼"
|
|
||||||
backgroundColor: "背景顏色"
|
|
||||||
textColor: "文字顏色"
|
|
||||||
font: "字型"
|
|
||||||
fontSerif: "襯線體"
|
|
||||||
fontSansSerif: "無襯線體"
|
|
||||||
quitWithoutSaveConfirm: "不儲存就退出嗎?"
|
|
||||||
failedToLoadImage: "圖片載入失敗"
|
|
||||||
_compression:
|
|
||||||
_quality:
|
|
||||||
high: "高品質"
|
|
||||||
medium: "中品質"
|
|
||||||
low: "低品質"
|
|
||||||
_size:
|
|
||||||
large: "大"
|
|
||||||
medium: "中"
|
|
||||||
small: "小"
|
|
||||||
_order:
|
|
||||||
newest: "最新的在前"
|
|
||||||
oldest: "最舊的在前"
|
|
||||||
_chat:
|
_chat:
|
||||||
messages: "訊息"
|
|
||||||
noMessagesYet: "尚無訊息"
|
noMessagesYet: "尚無訊息"
|
||||||
newMessage: "新訊息"
|
newMessage: "新訊息"
|
||||||
individualChat: "ㄧ對一聊天室"
|
individualChat: "ㄧ對一聊天室"
|
||||||
|
|
@ -1548,12 +1455,6 @@ _settings:
|
||||||
contentsUpdateFrequency_description2: "當即時模式開啟時,不論此設定為何,內容都會即時更新。"
|
contentsUpdateFrequency_description2: "當即時模式開啟時,不論此設定為何,內容都會即時更新。"
|
||||||
showUrlPreview: "顯示網址預覽"
|
showUrlPreview: "顯示網址預覽"
|
||||||
showAvailableReactionsFirstInNote: "將可用的反應顯示在頂部"
|
showAvailableReactionsFirstInNote: "將可用的反應顯示在頂部"
|
||||||
showPageTabBarBottom: "在底部顯示頁面的標籤列"
|
|
||||||
emojiPaletteBanner: "可以將固定顯示在表情符號選擇器的預設項目註冊為調色盤,或者自訂選擇器的顯示方式。"
|
|
||||||
enableAnimatedImages: "啟用動畫圖片"
|
|
||||||
settingsPersistence_title: "設定的持久化"
|
|
||||||
settingsPersistence_description1: "啟用「設定的持久化」後,可以防止設定資訊遺失。"
|
|
||||||
settingsPersistence_description2: "依環境不同,可能無法啟用。"
|
|
||||||
_chat:
|
_chat:
|
||||||
showSenderName: "顯示發送者的名稱"
|
showSenderName: "顯示發送者的名稱"
|
||||||
sendOnEnter: "按下 Enter 發送訊息"
|
sendOnEnter: "按下 Enter 發送訊息"
|
||||||
|
|
@ -1562,8 +1463,6 @@ _preferencesProfile:
|
||||||
profileNameDescription: "設定一個名稱來識別此裝置。"
|
profileNameDescription: "設定一個名稱來識別此裝置。"
|
||||||
profileNameDescription2: "例如:「主要個人電腦」、「智慧型手機」等"
|
profileNameDescription2: "例如:「主要個人電腦」、「智慧型手機」等"
|
||||||
manageProfiles: "管理個人檔案"
|
manageProfiles: "管理個人檔案"
|
||||||
shareSameProfileBetweenDevicesIsNotRecommended: "不建議在多個裝置上共用同一個設定檔。"
|
|
||||||
useSyncBetweenDevicesOptionIfYouWantToSyncSetting: "如果您希望在多個裝置之間同步某些設定項目,請分別啟用「跨裝置同步」選項。"
|
|
||||||
_preferencesBackup:
|
_preferencesBackup:
|
||||||
autoBackup: "自動備份"
|
autoBackup: "自動備份"
|
||||||
restoreFromBackup: "從備份還原"
|
restoreFromBackup: "從備份還原"
|
||||||
|
|
@ -1573,7 +1472,6 @@ _preferencesBackup:
|
||||||
youNeedToNameYourProfileToEnableAutoBackup: "要啟用自動備份,必須設定檔案名稱。"
|
youNeedToNameYourProfileToEnableAutoBackup: "要啟用自動備份,必須設定檔案名稱。"
|
||||||
autoPreferencesBackupIsNotEnabledForThisDevice: "此裝置未啟用自動備份設定。"
|
autoPreferencesBackupIsNotEnabledForThisDevice: "此裝置未啟用自動備份設定。"
|
||||||
backupFound: "找到設定的備份"
|
backupFound: "找到設定的備份"
|
||||||
forceBackup: "強制備份設定"
|
|
||||||
_accountSettings:
|
_accountSettings:
|
||||||
requireSigninToViewContents: "須登入以顯示內容"
|
requireSigninToViewContents: "須登入以顯示內容"
|
||||||
requireSigninToViewContentsDescription1: "必須登入才會顯示您建立的貼文等內容。可望有效防止資訊被爬蟲蒐集。"
|
requireSigninToViewContentsDescription1: "必須登入才會顯示您建立的貼文等內容。可望有效防止資訊被爬蟲蒐集。"
|
||||||
|
|
@ -1730,10 +1628,6 @@ _serverSettings:
|
||||||
fanoutTimelineDbFallback: "資料庫的回退"
|
fanoutTimelineDbFallback: "資料庫的回退"
|
||||||
fanoutTimelineDbFallbackDescription: "若啟用,在時間軸沒有快取的情況下將執行回退處理以額外查詢資料庫。若停用,可以透過不執行回退處理來進一步減少伺服器的負荷,但會限制可取得的時間軸範圍。"
|
fanoutTimelineDbFallbackDescription: "若啟用,在時間軸沒有快取的情況下將執行回退處理以額外查詢資料庫。若停用,可以透過不執行回退處理來進一步減少伺服器的負荷,但會限制可取得的時間軸範圍。"
|
||||||
reactionsBufferingDescription: "啟用時,可以顯著提高建立反應時的效能並減少資料庫的負載。 但是,Redis 記憶體使用量會增加。"
|
reactionsBufferingDescription: "啟用時,可以顯著提高建立反應時的效能並減少資料庫的負載。 但是,Redis 記憶體使用量會增加。"
|
||||||
remoteNotesCleaning: "自動清除遠端發佈內容"
|
|
||||||
remoteNotesCleaning_description: "啟用後,系統會定期清理未被參照的舊遠端貼文,以抑制資料庫的膨脹。"
|
|
||||||
remoteNotesCleaningMaxProcessingDuration: "清理作業的最長持續時間"
|
|
||||||
remoteNotesCleaningExpiryDaysForEachNotes: "貼文最短保留天數"
|
|
||||||
inquiryUrl: "聯絡表單網址"
|
inquiryUrl: "聯絡表單網址"
|
||||||
inquiryUrlDescription: "指定伺服器運營者的聯絡表單網址,或包含運營者聯絡資訊網頁的網址。"
|
inquiryUrlDescription: "指定伺服器運營者的聯絡表單網址,或包含運營者聯絡資訊網頁的網址。"
|
||||||
openRegistration: "允許建立帳戶"
|
openRegistration: "允許建立帳戶"
|
||||||
|
|
@ -1752,11 +1646,6 @@ _serverSettings:
|
||||||
userGeneratedContentsVisibilityForVisitor: "使用者建立的內容對訪客的公開範圍"
|
userGeneratedContentsVisibilityForVisitor: "使用者建立的內容對訪客的公開範圍"
|
||||||
userGeneratedContentsVisibilityForVisitor_description: "這有助於防止一些問題的發生,例如未經適當審核的不適當遠端內容無意中透過您自己的伺服器發佈到網際網路上。"
|
userGeneratedContentsVisibilityForVisitor_description: "這有助於防止一些問題的發生,例如未經適當審核的不適當遠端內容無意中透過您自己的伺服器發佈到網際網路上。"
|
||||||
userGeneratedContentsVisibilityForVisitor_description2: "包括伺服器接收到的遠端內容在內,無條件地將伺服器內所有內容公開到網際網路上是具有風險的。特別是對於不了解分散式架構特性的瀏覽者來說,他們可能會誤以為這些遠端內容是由該伺服器所創建的,因此需要特別留意。"
|
userGeneratedContentsVisibilityForVisitor_description2: "包括伺服器接收到的遠端內容在內,無條件地將伺服器內所有內容公開到網際網路上是具有風險的。特別是對於不了解分散式架構特性的瀏覽者來說,他們可能會誤以為這些遠端內容是由該伺服器所創建的,因此需要特別留意。"
|
||||||
restartServerSetupWizardConfirm_title: "要重新執行伺服器的初始設定精靈嗎?"
|
|
||||||
restartServerSetupWizardConfirm_text: "當前的部分設定將會被重設。"
|
|
||||||
entrancePageStyle: "入口頁面的樣式"
|
|
||||||
showTimelineForVisitor: "顯示時間軸"
|
|
||||||
showActivitiesForVisitor: "顯示活動"
|
|
||||||
_userGeneratedContentsVisibilityForVisitor:
|
_userGeneratedContentsVisibilityForVisitor:
|
||||||
all: "全部公開\n"
|
all: "全部公開\n"
|
||||||
localOnly: "僅公開本地內容,遠端內容則不公開\n"
|
localOnly: "僅公開本地內容,遠端內容則不公開\n"
|
||||||
|
|
@ -2079,7 +1968,6 @@ _role:
|
||||||
canManageAvatarDecorations: "管理頭像裝飾"
|
canManageAvatarDecorations: "管理頭像裝飾"
|
||||||
driveCapacity: "雲端硬碟容量"
|
driveCapacity: "雲端硬碟容量"
|
||||||
maxFileSize: "可上傳的最大檔案大小"
|
maxFileSize: "可上傳的最大檔案大小"
|
||||||
maxFileSize_caption: "前端可能還有其他設定值,例如反向代理或 CDN。"
|
|
||||||
alwaysMarkNsfw: "總是將檔案標記為NSFW"
|
alwaysMarkNsfw: "總是將檔案標記為NSFW"
|
||||||
canUpdateBioMedia: "允許更新大頭貼和橫幅"
|
canUpdateBioMedia: "允許更新大頭貼和橫幅"
|
||||||
pinMax: "置頂貼文的最大數量"
|
pinMax: "置頂貼文的最大數量"
|
||||||
|
|
@ -2094,7 +1982,6 @@ _role:
|
||||||
descriptionOfRateLimitFactor: "值越小限制越少,值越大限制越多。"
|
descriptionOfRateLimitFactor: "值越小限制越少,值越大限制越多。"
|
||||||
canHideAds: "不顯示廣告"
|
canHideAds: "不顯示廣告"
|
||||||
canSearchNotes: "可否搜尋貼文"
|
canSearchNotes: "可否搜尋貼文"
|
||||||
canSearchUsers: "可使用使用者搜尋功能"
|
|
||||||
canUseTranslator: "使用翻譯功能"
|
canUseTranslator: "使用翻譯功能"
|
||||||
avatarDecorationLimit: "頭像可掛上的最大裝飾數量"
|
avatarDecorationLimit: "頭像可掛上的最大裝飾數量"
|
||||||
canImportAntennas: "允許匯入天線"
|
canImportAntennas: "允許匯入天線"
|
||||||
|
|
@ -2106,9 +1993,6 @@ _role:
|
||||||
uploadableFileTypes: "可上傳的檔案類型"
|
uploadableFileTypes: "可上傳的檔案類型"
|
||||||
uploadableFileTypes_caption: "請指定 MIME 類型。可以用換行區隔多個類型,也可以使用星號(*)作為萬用字元進行指定。(例如:image/*)\n"
|
uploadableFileTypes_caption: "請指定 MIME 類型。可以用換行區隔多個類型,也可以使用星號(*)作為萬用字元進行指定。(例如:image/*)\n"
|
||||||
uploadableFileTypes_caption2: "有些檔案可能無法判斷其類型。若要允許這類檔案,請在指定中加入 {x}。"
|
uploadableFileTypes_caption2: "有些檔案可能無法判斷其類型。若要允許這類檔案,請在指定中加入 {x}。"
|
||||||
noteDraftLimit: "伺服器端可建立的貼文草稿數量上限\n"
|
|
||||||
scheduledNoteLimit: "同時建立的排定發布數量"
|
|
||||||
watermarkAvailable: "浮水印功能是否可用"
|
|
||||||
_condition:
|
_condition:
|
||||||
roleAssignedTo: "手動指派角色完成"
|
roleAssignedTo: "手動指派角色完成"
|
||||||
isLocal: "本地使用者"
|
isLocal: "本地使用者"
|
||||||
|
|
@ -2268,7 +2152,6 @@ _theme:
|
||||||
install: "安裝佈景主題"
|
install: "安裝佈景主題"
|
||||||
manage: "管理佈景主題"
|
manage: "管理佈景主題"
|
||||||
code: "佈景主題代碼"
|
code: "佈景主題代碼"
|
||||||
copyThemeCode: "複製主題代碼"
|
|
||||||
description: "描述"
|
description: "描述"
|
||||||
installed: "{name}已安裝"
|
installed: "{name}已安裝"
|
||||||
installedThemes: "已經安裝的佈景主題"
|
installedThemes: "已經安裝的佈景主題"
|
||||||
|
|
@ -2328,7 +2211,7 @@ _theme:
|
||||||
buttonHoverBg: "按鈕背景 (漂浮)"
|
buttonHoverBg: "按鈕背景 (漂浮)"
|
||||||
inputBorder: "輸入框邊框"
|
inputBorder: "輸入框邊框"
|
||||||
badge: "徽章"
|
badge: "徽章"
|
||||||
messageBg: "聊天的背景"
|
messageBg: "私訊背景"
|
||||||
fgHighlighted: "突顯文字"
|
fgHighlighted: "突顯文字"
|
||||||
_sfx:
|
_sfx:
|
||||||
note: "貼文"
|
note: "貼文"
|
||||||
|
|
@ -2368,7 +2251,6 @@ _time:
|
||||||
minute: "分鐘"
|
minute: "分鐘"
|
||||||
hour: "小時"
|
hour: "小時"
|
||||||
day: "日"
|
day: "日"
|
||||||
month: "個月"
|
|
||||||
_2fa:
|
_2fa:
|
||||||
alreadyRegistered: "此裝置已被註冊過了"
|
alreadyRegistered: "此裝置已被註冊過了"
|
||||||
registerTOTP: "開始設定驗證應用程式"
|
registerTOTP: "開始設定驗證應用程式"
|
||||||
|
|
@ -2498,7 +2380,6 @@ _auth:
|
||||||
scopeUser: "以下列使用者身分操作"
|
scopeUser: "以下列使用者身分操作"
|
||||||
pleaseLogin: "必須登入以提供應用程式的存取權限。"
|
pleaseLogin: "必須登入以提供應用程式的存取權限。"
|
||||||
byClickingYouWillBeRedirectedToThisUrl: "如果授予存取權限,就會自動導向到以下的網址"
|
byClickingYouWillBeRedirectedToThisUrl: "如果授予存取權限,就會自動導向到以下的網址"
|
||||||
alreadyAuthorized: "此應用程式已被授予存取權限。"
|
|
||||||
_antennaSources:
|
_antennaSources:
|
||||||
all: "全部貼文"
|
all: "全部貼文"
|
||||||
homeTimeline: "來自已追隨使用者的貼文"
|
homeTimeline: "來自已追隨使用者的貼文"
|
||||||
|
|
@ -2545,44 +2426,6 @@ _widgets:
|
||||||
clicker: "點擊器"
|
clicker: "點擊器"
|
||||||
birthdayFollowings: "今天生日的使用者"
|
birthdayFollowings: "今天生日的使用者"
|
||||||
chat: "聊天"
|
chat: "聊天"
|
||||||
_widgetOptions:
|
|
||||||
showHeader: "檢視標頭 "
|
|
||||||
transparent: "使背景透明"
|
|
||||||
height: "高度"
|
|
||||||
_button:
|
|
||||||
colored: "彩色"
|
|
||||||
_clock:
|
|
||||||
size: "尺寸"
|
|
||||||
thickness: "指針粗細"
|
|
||||||
thicknessThin: "細"
|
|
||||||
thicknessMedium: "普通"
|
|
||||||
thicknessThick: "粗"
|
|
||||||
graduations: "刻度盤"
|
|
||||||
graduationDots: "圓點"
|
|
||||||
graduationArabic: "阿拉伯數字"
|
|
||||||
fadeGraduations: "刻度淡出"
|
|
||||||
sAnimation: "秒針的動畫效果"
|
|
||||||
sAnimationElastic: "真實的"
|
|
||||||
sAnimationEaseOut: "滑順"
|
|
||||||
twentyFour: "24 小時制"
|
|
||||||
labelTime: "時間"
|
|
||||||
labelTz: "時區"
|
|
||||||
labelTimeAndTz: "時間與時區"
|
|
||||||
timezone: "時區"
|
|
||||||
showMs: "顯示毫秒"
|
|
||||||
showLabel: "顯示標記"
|
|
||||||
_jobQueue:
|
|
||||||
sound: "播放音效"
|
|
||||||
_rss:
|
|
||||||
url: "RSS 訂閱網址"
|
|
||||||
refreshIntervalSec: "更新間隔(秒)"
|
|
||||||
maxEntries: "最大顯示數量"
|
|
||||||
_rssTicker:
|
|
||||||
shuffle: "顯示順序隨機排列"
|
|
||||||
duration: "RSS 跑馬燈的捲動速度(秒)"
|
|
||||||
reverse: "反方向滾動"
|
|
||||||
_birthdayFollowings:
|
|
||||||
period: "時長"
|
|
||||||
_cw:
|
_cw:
|
||||||
hide: "隱藏"
|
hide: "隱藏"
|
||||||
show: "顯示內容"
|
show: "顯示內容"
|
||||||
|
|
@ -2627,20 +2470,6 @@ _postForm:
|
||||||
replyPlaceholder: "回覆此貼文..."
|
replyPlaceholder: "回覆此貼文..."
|
||||||
quotePlaceholder: "引用此貼文..."
|
quotePlaceholder: "引用此貼文..."
|
||||||
channelPlaceholder: "發佈到頻道"
|
channelPlaceholder: "發佈到頻道"
|
||||||
showHowToUse: "顯示表單說明"
|
|
||||||
_howToUse:
|
|
||||||
content_title: "內文"
|
|
||||||
content_description: "請輸入要發布的內容。"
|
|
||||||
toolbar_title: "工具列"
|
|
||||||
toolbar_description: "可以附加檔案或票選活動、設定註解與標籤、插入表情符號或提及等。"
|
|
||||||
account_title: "帳號選單"
|
|
||||||
account_description: "可以切換要發布的帳號,並查看該帳號所儲存的草稿與預約發布列表。"
|
|
||||||
visibility_title: "可見性"
|
|
||||||
visibility_description: "可以設定貼文的公開範圍。"
|
|
||||||
menu_title: "選單"
|
|
||||||
menu_description: "可以進行其他操作,例如儲存為草稿、預約發佈貼文、或設定反應等。\n"
|
|
||||||
submit_title: "貼文按鈕"
|
|
||||||
submit_description: "發布貼文。也可以使用 Ctrl + Enter 或 Cmd + Enter 來發布。"
|
|
||||||
_placeholders:
|
_placeholders:
|
||||||
a: "今天過得如何?"
|
a: "今天過得如何?"
|
||||||
b: "有什麼新鮮事嗎?"
|
b: "有什麼新鮮事嗎?"
|
||||||
|
|
@ -2750,7 +2579,7 @@ _pages:
|
||||||
hideTitleWhenPinned: "被置頂於個人資料時隱藏頁面標題"
|
hideTitleWhenPinned: "被置頂於個人資料時隱藏頁面標題"
|
||||||
font: "字型"
|
font: "字型"
|
||||||
fontSerif: "襯線體"
|
fontSerif: "襯線體"
|
||||||
fontSansSerif: "無襯線體"
|
fontSansSerif: "黑體"
|
||||||
eyeCatchingImageSet: "設定封面影像"
|
eyeCatchingImageSet: "設定封面影像"
|
||||||
eyeCatchingImageRemove: "刪除封面影像"
|
eyeCatchingImageRemove: "刪除封面影像"
|
||||||
chooseBlock: "新增方塊"
|
chooseBlock: "新增方塊"
|
||||||
|
|
@ -2786,8 +2615,6 @@ _notification:
|
||||||
youReceivedFollowRequest: "您有新的追隨請求"
|
youReceivedFollowRequest: "您有新的追隨請求"
|
||||||
yourFollowRequestAccepted: "您的追隨請求已被核准"
|
yourFollowRequestAccepted: "您的追隨請求已被核准"
|
||||||
pollEnded: "問卷調查已產生結果"
|
pollEnded: "問卷調查已產生結果"
|
||||||
scheduledNotePosted: "已排定發布貼文"
|
|
||||||
scheduledNotePostFailed: "排定發布貼文失敗了"
|
|
||||||
newNote: "新的貼文"
|
newNote: "新的貼文"
|
||||||
unreadAntennaNote: "天線 {name}"
|
unreadAntennaNote: "天線 {name}"
|
||||||
roleAssigned: "已授予角色"
|
roleAssigned: "已授予角色"
|
||||||
|
|
@ -2817,8 +2644,6 @@ _notification:
|
||||||
quote: "引用"
|
quote: "引用"
|
||||||
reaction: "反應"
|
reaction: "反應"
|
||||||
pollEnded: "問卷調查結束"
|
pollEnded: "問卷調查結束"
|
||||||
scheduledNotePosted: "預約發佈成功"
|
|
||||||
scheduledNotePostFailed: "預約發佈失敗"
|
|
||||||
receiveFollowRequest: "已收到追隨請求"
|
receiveFollowRequest: "已收到追隨請求"
|
||||||
followRequestAccepted: "追隨請求已接受"
|
followRequestAccepted: "追隨請求已接受"
|
||||||
roleAssigned: "已授予角色"
|
roleAssigned: "已授予角色"
|
||||||
|
|
@ -2858,14 +2683,6 @@ _deck:
|
||||||
usedAsMinWidthWhenFlexible: "如果啟用「自動調整寬度」,此為最小寬度"
|
usedAsMinWidthWhenFlexible: "如果啟用「自動調整寬度」,此為最小寬度"
|
||||||
flexible: "自動調整寬度"
|
flexible: "自動調整寬度"
|
||||||
enableSyncBetweenDevicesForProfiles: "啟用裝置與裝置之間的設定檔資料同步化"
|
enableSyncBetweenDevicesForProfiles: "啟用裝置與裝置之間的設定檔資料同步化"
|
||||||
showHowToUse: "檢視使用者界面說明"
|
|
||||||
_howToUse:
|
|
||||||
addColumn_title: "新增欄位"
|
|
||||||
addColumn_description: "您可以選擇要新增的欄位類型。"
|
|
||||||
settings_title: "使用者界面設定"
|
|
||||||
settings_description: "您可以對多欄模式使用者界面做詳細設定。"
|
|
||||||
switchProfile_title: "切換設定檔"
|
|
||||||
switchProfile_description: "將使用者界面佈局儲存為設定檔,就可以隨時切換使用。"
|
|
||||||
_columns:
|
_columns:
|
||||||
main: "主列"
|
main: "主列"
|
||||||
widgets: "小工具"
|
widgets: "小工具"
|
||||||
|
|
@ -2926,8 +2743,6 @@ _abuseReport:
|
||||||
notifiedWebhook: "使用的 Webhook"
|
notifiedWebhook: "使用的 Webhook"
|
||||||
deleteConfirm: "確定要刪除通知對象嗎?"
|
deleteConfirm: "確定要刪除通知對象嗎?"
|
||||||
_moderationLogTypes:
|
_moderationLogTypes:
|
||||||
clearQueue: "清除佇列"
|
|
||||||
promoteQueue: "重新嘗試排程中的工作"
|
|
||||||
createRole: "新增角色"
|
createRole: "新增角色"
|
||||||
deleteRole: "刪除角色 "
|
deleteRole: "刪除角色 "
|
||||||
updateRole: "更新角色設定"
|
updateRole: "更新角色設定"
|
||||||
|
|
@ -2985,7 +2800,6 @@ _fileViewer:
|
||||||
url: "URL"
|
url: "URL"
|
||||||
uploadedAt: "加入日期"
|
uploadedAt: "加入日期"
|
||||||
attachedNotes: "含有附件的貼文"
|
attachedNotes: "含有附件的貼文"
|
||||||
usage: "使用情況"
|
|
||||||
thisPageCanBeSeenFromTheAuthor: "本頁面僅限上傳了這個檔案的使用者可以檢視。"
|
thisPageCanBeSeenFromTheAuthor: "本頁面僅限上傳了這個檔案的使用者可以檢視。"
|
||||||
_externalResourceInstaller:
|
_externalResourceInstaller:
|
||||||
title: "從外部網站安裝"
|
title: "從外部網站安裝"
|
||||||
|
|
@ -3238,7 +3052,6 @@ _bootErrors:
|
||||||
otherOption1: "刪除用戶端設定和快取"
|
otherOption1: "刪除用戶端設定和快取"
|
||||||
otherOption2: "啟動簡易用戶端"
|
otherOption2: "啟動簡易用戶端"
|
||||||
otherOption3: "啟動修復工具"
|
otherOption3: "啟動修復工具"
|
||||||
otherOption4: "以安全模式啟動 Misskey"
|
|
||||||
_search:
|
_search:
|
||||||
searchScopeAll: "全部"
|
searchScopeAll: "全部"
|
||||||
searchScopeLocal: "本地"
|
searchScopeLocal: "本地"
|
||||||
|
|
@ -3275,8 +3088,6 @@ _serverSetupWizard:
|
||||||
doYouConnectToFediverse_description1: "連接到由分散型伺服器構成的網絡(聯邦宇宙)後,您可以與其他伺服器進行內容的互相交流。\n"
|
doYouConnectToFediverse_description1: "連接到由分散型伺服器構成的網絡(聯邦宇宙)後,您可以與其他伺服器進行內容的互相交流。\n"
|
||||||
doYouConnectToFediverse_description2: "連接到聯邦宇宙被稱為「聯邦」。\n"
|
doYouConnectToFediverse_description2: "連接到聯邦宇宙被稱為「聯邦」。\n"
|
||||||
youCanConfigureMoreFederationSettingsLater: "您可以在稍後進行更高級的設定,例如指定可以聯繫的伺服器等。\n"
|
youCanConfigureMoreFederationSettingsLater: "您可以在稍後進行更高級的設定,例如指定可以聯繫的伺服器等。\n"
|
||||||
remoteContentsCleaning: "自動清理接收的內容"
|
|
||||||
remoteContentsCleaning_description: "進行聯邦後,會持續接收大量內容。啟用自動清理功能後,系統會自動從伺服器中刪除未被參照的過時內容,以節省儲存空間。"
|
|
||||||
adminInfo: "管理員資訊"
|
adminInfo: "管理員資訊"
|
||||||
adminInfo_description: "設定用於接收查詢的管理者資訊。\n"
|
adminInfo_description: "設定用於接收查詢的管理者資訊。\n"
|
||||||
adminInfo_mustBeFilled: "當設置為開放伺服器或啟用聯邦時,必須填寫此資訊。\n"
|
adminInfo_mustBeFilled: "當設置為開放伺服器或啟用聯邦時,必須填寫此資訊。\n"
|
||||||
|
|
@ -3292,13 +3103,12 @@ _serverSetupWizard:
|
||||||
text2: "為了能夠繼續開發,若您願意的話,請考慮進行捐款。\n"
|
text2: "為了能夠繼續開發,若您願意的話,請考慮進行捐款。\n"
|
||||||
text3: "也有提供支援者專屬的特典!\n"
|
text3: "也有提供支援者專屬的特典!\n"
|
||||||
_uploader:
|
_uploader:
|
||||||
editImage: "編輯圖片"
|
|
||||||
compressedToX: "壓縮為 {x}"
|
compressedToX: "壓縮為 {x}"
|
||||||
savedXPercent: "節省了 {x}%"
|
savedXPercent: "節省了 {x}%"
|
||||||
abortConfirm: "有些檔案尚未上傳,您要中止嗎?"
|
abortConfirm: "有些檔案尚未上傳,您要中止嗎?"
|
||||||
doneConfirm: "有些檔案尚未上傳,是否要完成上傳?"
|
doneConfirm: "有些檔案尚未上傳,是否要完成上傳?"
|
||||||
maxFileSizeIsX: "可上傳的最大檔案大小為 {x}。"
|
maxFileSizeIsX: "可上傳的最大檔案大小為 {x}。"
|
||||||
allowedTypes: "可上傳的檔案類型。"
|
allowedTypes: "可上傳的檔案類型"
|
||||||
tip: "檔案尚未上傳。您可以在此對話框中進行上傳前的確認、重新命名、壓縮、裁切等操作。準備完成後,請點選「上傳」按鈕開始上傳。\n"
|
tip: "檔案尚未上傳。您可以在此對話框中進行上傳前的確認、重新命名、壓縮、裁切等操作。準備完成後,請點選「上傳」按鈕開始上傳。\n"
|
||||||
_clientPerformanceIssueTip:
|
_clientPerformanceIssueTip:
|
||||||
title: "如果覺得電池消耗過快的話"
|
title: "如果覺得電池消耗過快的話"
|
||||||
|
|
@ -3322,20 +3132,17 @@ _watermarkEditor:
|
||||||
title: "編輯浮水印"
|
title: "編輯浮水印"
|
||||||
cover: "覆蓋整體"
|
cover: "覆蓋整體"
|
||||||
repeat: "佈局"
|
repeat: "佈局"
|
||||||
preserveBoundingRect: "調整使其在旋轉時不會突出"
|
|
||||||
opacity: "透明度"
|
opacity: "透明度"
|
||||||
scale: "大小"
|
scale: "大小"
|
||||||
text: "文字"
|
text: "文字"
|
||||||
qr: "二維條碼"
|
|
||||||
position: "位置"
|
position: "位置"
|
||||||
margin: "邊界"
|
|
||||||
type: "類型"
|
type: "類型"
|
||||||
image: "圖片"
|
image: "圖片"
|
||||||
advanced: "進階"
|
advanced: "進階"
|
||||||
angle: "角度"
|
|
||||||
stripe: "條紋"
|
stripe: "條紋"
|
||||||
stripeWidth: "線條寬度"
|
stripeWidth: "線條寬度"
|
||||||
stripeFrequency: "線條數量"
|
stripeFrequency: "線條數量"
|
||||||
|
angle: "角度"
|
||||||
polkadot: "波卡圓點"
|
polkadot: "波卡圓點"
|
||||||
checker: "棋盤格"
|
checker: "棋盤格"
|
||||||
polkadotMainDotOpacity: "主圓點的不透明度"
|
polkadotMainDotOpacity: "主圓點的不透明度"
|
||||||
|
|
@ -3343,21 +3150,16 @@ _watermarkEditor:
|
||||||
polkadotSubDotOpacity: "子圓點的不透明度"
|
polkadotSubDotOpacity: "子圓點的不透明度"
|
||||||
polkadotSubDotRadius: "子圓點的尺寸"
|
polkadotSubDotRadius: "子圓點的尺寸"
|
||||||
polkadotSubDotDivisions: "子圓點的數量"
|
polkadotSubDotDivisions: "子圓點的數量"
|
||||||
leaveBlankToAccountUrl: "若留空則使用帳戶的 URL"
|
|
||||||
failedToLoadImage: "圖片載入失敗"
|
|
||||||
_imageEffector:
|
_imageEffector:
|
||||||
title: "特效"
|
title: "特效"
|
||||||
addEffect: "新增特效"
|
addEffect: "新增特效"
|
||||||
discardChangesConfirm: "捨棄更改並退出嗎?"
|
discardChangesConfirm: "捨棄更改並退出嗎?"
|
||||||
failedToLoadImage: "圖片載入失敗"
|
|
||||||
_fxs:
|
_fxs:
|
||||||
chromaticAberration: "色差"
|
chromaticAberration: "色差"
|
||||||
glitch: "異常雜訊效果"
|
glitch: "異常雜訊效果"
|
||||||
mirror: "鏡像"
|
mirror: "鏡像"
|
||||||
invert: "反轉色彩"
|
invert: "反轉色彩"
|
||||||
grayscale: "黑白"
|
grayscale: "黑白"
|
||||||
blur: "模糊"
|
|
||||||
pixelate: "馬賽克"
|
|
||||||
colorAdjust: "色彩校正"
|
colorAdjust: "色彩校正"
|
||||||
colorClamp: "壓縮色彩"
|
colorClamp: "壓縮色彩"
|
||||||
colorClampAdvanced: "壓縮色彩(進階)"
|
colorClampAdvanced: "壓縮色彩(進階)"
|
||||||
|
|
@ -3369,74 +3171,3 @@ _imageEffector:
|
||||||
checker: "棋盤格"
|
checker: "棋盤格"
|
||||||
blockNoise: "阻擋雜訊"
|
blockNoise: "阻擋雜訊"
|
||||||
tearing: "撕裂"
|
tearing: "撕裂"
|
||||||
fill: "填充"
|
|
||||||
_fxProps:
|
|
||||||
angle: "角度"
|
|
||||||
scale: "大小"
|
|
||||||
size: "大小"
|
|
||||||
radius: "半徑"
|
|
||||||
samples: "取樣數"
|
|
||||||
offset: "位置"
|
|
||||||
color: "顏色"
|
|
||||||
opacity: "透明度"
|
|
||||||
normalize: "正規化"
|
|
||||||
amount: "數量"
|
|
||||||
lightness: "亮度"
|
|
||||||
contrast: "對比度"
|
|
||||||
hue: "色相"
|
|
||||||
brightness: "亮度"
|
|
||||||
saturation: "彩度"
|
|
||||||
max: "最大值"
|
|
||||||
min: "最小值"
|
|
||||||
direction: "方向"
|
|
||||||
phase: "相位"
|
|
||||||
frequency: "頻率"
|
|
||||||
strength: "強度"
|
|
||||||
glitchChannelShift: "偏移"
|
|
||||||
seed: "種子值"
|
|
||||||
redComponent: "紅色成分"
|
|
||||||
greenComponent: "綠色成分"
|
|
||||||
blueComponent: "青色成分"
|
|
||||||
threshold: "閾值"
|
|
||||||
centerX: "X中心座標"
|
|
||||||
centerY: "Y中心座標"
|
|
||||||
zoomLinesSmoothing: "平滑化"
|
|
||||||
zoomLinesSmoothingDescription: "平滑化與集中線寬度設定不能同時使用。"
|
|
||||||
zoomLinesThreshold: "集中線的寬度"
|
|
||||||
zoomLinesMaskSize: "中心直徑"
|
|
||||||
zoomLinesBlack: "變成黑色"
|
|
||||||
circle: "圓形"
|
|
||||||
drafts: "草稿\n"
|
|
||||||
_drafts:
|
|
||||||
select: "選擇草槁"
|
|
||||||
cannotCreateDraftAnymore: "已超出可建立的草稿數量上限。\n"
|
|
||||||
cannotCreateDraft: "無法以此內容建立草稿。\n"
|
|
||||||
delete: "刪除草稿"
|
|
||||||
deleteAreYouSure: "確定要刪除草稿嗎?\n"
|
|
||||||
noDrafts: "沒有草稿。\n"
|
|
||||||
replyTo: "回覆給 {user}\n"
|
|
||||||
quoteOf: "引用自 {user} 的貼文\n"
|
|
||||||
postTo: "發佈到 {channel}\n"
|
|
||||||
saveToDraft: "儲存為草稿"
|
|
||||||
restoreFromDraft: "從草稿復原\n"
|
|
||||||
restore: "還原"
|
|
||||||
listDrafts: "草稿清單"
|
|
||||||
schedule: "排定發布"
|
|
||||||
listScheduledNotes: "排定發布列表"
|
|
||||||
cancelSchedule: "解除排定"
|
|
||||||
qr: "二維條碼"
|
|
||||||
_qr:
|
|
||||||
showTabTitle: "檢視"
|
|
||||||
readTabTitle: "讀取"
|
|
||||||
shareTitle: "{name} {acct}"
|
|
||||||
shareText: "請在聯邦宇宙追隨我吧!"
|
|
||||||
chooseCamera: "選擇相機"
|
|
||||||
cannotToggleFlash: "無法切換閃光燈"
|
|
||||||
turnOnFlash: "開啟閃光燈"
|
|
||||||
turnOffFlash: "關閉閃光燈"
|
|
||||||
startQr: "啟動條碼掃描器"
|
|
||||||
stopQr: "停止條碼掃描器"
|
|
||||||
noQrCodeFound: "找不到 QR code"
|
|
||||||
scanFile: "掃描在裝置上的影像"
|
|
||||||
raw: "文字"
|
|
||||||
mfm: "MFM"
|
|
||||||
|
|
|
||||||
92
package.json
92
package.json
|
|
@ -1,37 +1,32 @@
|
||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "misskey",
|
||||||
"version": "2026.1.0-beta.0",
|
"version": "2025.6.4-alpha.0",
|
||||||
"codename": "nasubi",
|
"codename": "nasubi",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/misskey-dev/misskey.git"
|
"url": "https://github.com/misskey-dev/misskey.git"
|
||||||
},
|
},
|
||||||
"packageManager": "pnpm@10.28.2",
|
"packageManager": "pnpm@10.12.1",
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"packages/misskey-js",
|
|
||||||
"packages/i18n",
|
|
||||||
"packages/misskey-reversi",
|
|
||||||
"packages/misskey-bubble-game",
|
|
||||||
"packages/icons-subsetter",
|
|
||||||
"packages/frontend-shared",
|
"packages/frontend-shared",
|
||||||
"packages/frontend-builder",
|
|
||||||
"packages/sw",
|
|
||||||
"packages/backend",
|
|
||||||
"packages/frontend",
|
"packages/frontend",
|
||||||
"packages/frontend-embed"
|
"packages/frontend-embed",
|
||||||
|
"packages/icons-subsetter",
|
||||||
|
"packages/backend",
|
||||||
|
"packages/sw",
|
||||||
|
"packages/misskey-js",
|
||||||
|
"packages/misskey-reversi",
|
||||||
|
"packages/misskey-bubble-game"
|
||||||
],
|
],
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"compile-config": "cd packages/backend && pnpm compile-config",
|
"build-pre": "node ./scripts/build-pre.js",
|
||||||
"build-pre": "node scripts/build-pre.mjs",
|
|
||||||
"build-assets": "node ./scripts/build-assets.mjs",
|
"build-assets": "node ./scripts/build-assets.mjs",
|
||||||
"build": "pnpm build-pre && pnpm -r build && pnpm build-assets",
|
"build": "pnpm build-pre && pnpm -r build && pnpm build-assets",
|
||||||
"build-storybook": "pnpm --filter frontend build-storybook",
|
"build-storybook": "pnpm --filter frontend build-storybook",
|
||||||
"build-misskey-js-with-types": "pnpm build-pre && pnpm --filter backend... --filter=!misskey-js build && pnpm --filter backend generate-api-json --no-build && ncp packages/backend/built/api.json packages/misskey-js/generator/api.json && pnpm --filter misskey-js update-autogen-code && pnpm --filter misskey-js build && pnpm --filter misskey-js api",
|
"build-misskey-js-with-types": "pnpm build-pre && pnpm --filter backend... --filter=!misskey-js build && pnpm --filter backend generate-api-json --no-build && ncp packages/backend/built/api.json packages/misskey-js/generator/api.json && pnpm --filter misskey-js update-autogen-code && pnpm --filter misskey-js build && pnpm --filter misskey-js api",
|
||||||
"start": "cd packages/backend && pnpm compile-config && node ./built/boot/entry.js",
|
"start": "pnpm check:connect && cd packages/backend && node ./built/boot/entry.js",
|
||||||
"start:inspect": "cd packages/backend && pnpm compile-config && node --inspect ./built/boot/entry.js",
|
"start:test": "ncp ./.github/misskey/test.yml ./.config/test.yml && cd packages/backend && cross-env NODE_ENV=test node ./built/boot/entry.js",
|
||||||
"start:test": "ncp ./.github/misskey/test.yml ./.config/test.yml && cd packages/backend && cross-env NODE_ENV=test pnpm compile-config && cross-env NODE_ENV=test node ./built/boot/entry.js",
|
|
||||||
"cli": "cd packages/backend && pnpm cli",
|
|
||||||
"init": "pnpm migrate",
|
"init": "pnpm migrate",
|
||||||
"migrate": "cd packages/backend && pnpm migrate",
|
"migrate": "cd packages/backend && pnpm migrate",
|
||||||
"revert": "cd packages/backend && pnpm revert",
|
"revert": "cd packages/backend && pnpm revert",
|
||||||
|
|
@ -39,7 +34,7 @@
|
||||||
"migrateandstart": "pnpm migrate && pnpm start",
|
"migrateandstart": "pnpm migrate && pnpm start",
|
||||||
"watch": "pnpm dev",
|
"watch": "pnpm dev",
|
||||||
"dev": "node scripts/dev.mjs",
|
"dev": "node scripts/dev.mjs",
|
||||||
"lint": "pnpm --no-bail -r lint",
|
"lint": "pnpm -r lint",
|
||||||
"cy:open": "pnpm cypress open --config-file=cypress.config.ts",
|
"cy:open": "pnpm cypress open --config-file=cypress.config.ts",
|
||||||
"cy:run": "pnpm cypress run",
|
"cy:run": "pnpm cypress run",
|
||||||
"e2e": "pnpm start-server-and-test start:test http://localhost:61812 cy:run",
|
"e2e": "pnpm start-server-and-test start:test http://localhost:61812 cy:run",
|
||||||
|
|
@ -48,49 +43,46 @@
|
||||||
"jest-and-coverage": "cd packages/backend && pnpm jest-and-coverage",
|
"jest-and-coverage": "cd packages/backend && pnpm jest-and-coverage",
|
||||||
"test": "pnpm -r test",
|
"test": "pnpm -r test",
|
||||||
"test-and-coverage": "pnpm -r test-and-coverage",
|
"test-and-coverage": "pnpm -r test-and-coverage",
|
||||||
"clean": "node scripts/clean.mjs",
|
"clean": "node ./scripts/clean.js",
|
||||||
"clean-all": "node scripts/clean-all.mjs",
|
"clean-all": "node ./scripts/clean-all.js",
|
||||||
"cleanall": "pnpm clean-all"
|
"cleanall": "pnpm clean-all"
|
||||||
},
|
},
|
||||||
|
"resolutions": {
|
||||||
|
"chokidar": "4.0.3",
|
||||||
|
"lodash": "4.17.21"
|
||||||
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cssnano": "7.1.2",
|
"cssnano": "7.0.7",
|
||||||
"esbuild": "0.27.2",
|
"esbuild": "0.25.5",
|
||||||
"execa": "9.6.1",
|
"execa": "9.6.0",
|
||||||
"ignore-walk": "8.0.0",
|
"fast-glob": "3.3.3",
|
||||||
"js-yaml": "4.1.1",
|
"glob": "11.0.2",
|
||||||
"postcss": "8.5.6",
|
"ignore-walk": "7.0.0",
|
||||||
"tar": "7.5.7",
|
"js-yaml": "4.1.0",
|
||||||
"terser": "5.46.0"
|
"postcss": "8.5.4",
|
||||||
|
"tar": "7.4.3",
|
||||||
|
"terser": "5.42.0",
|
||||||
|
"typescript": "5.8.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/js": "9.39.2",
|
"@misskey-dev/eslint-plugin": "2.1.0",
|
||||||
"@misskey-dev/eslint-plugin": "2.2.0",
|
"@types/node": "22.15.31",
|
||||||
"@types/js-yaml": "4.0.9",
|
"@typescript-eslint/eslint-plugin": "8.34.0",
|
||||||
"@types/node": "24.10.9",
|
"@typescript-eslint/parser": "8.34.0",
|
||||||
"@typescript-eslint/eslint-plugin": "8.53.0",
|
"cross-env": "7.0.3",
|
||||||
"@typescript-eslint/parser": "8.53.0",
|
"cypress": "14.4.1",
|
||||||
"@typescript/native-preview": "7.0.0-dev.20260116.1",
|
"eslint": "9.28.0",
|
||||||
"cross-env": "10.1.0",
|
"globals": "16.2.0",
|
||||||
"cypress": "15.9.0",
|
|
||||||
"eslint": "9.39.2",
|
|
||||||
"globals": "16.5.0",
|
|
||||||
"ncp": "2.0.0",
|
"ncp": "2.0.0",
|
||||||
"pnpm": "10.28.2",
|
"pnpm": "10.12.1",
|
||||||
"typescript": "5.9.3",
|
"start-server-and-test": "2.0.12"
|
||||||
"start-server-and-test": "2.1.3"
|
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@tensorflow/tfjs-core": "4.22.0"
|
"@tensorflow/tfjs-core": "4.22.0"
|
||||||
},
|
},
|
||||||
"pnpm": {
|
"pnpm": {
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"@aiscript-dev/aiscript-languageserver": "-",
|
"@aiscript-dev/aiscript-languageserver": "-"
|
||||||
"chokidar": "5.0.0",
|
}
|
||||||
"lodash": "4.17.23"
|
|
||||||
},
|
|
||||||
"ignoredBuiltDependencies": [
|
|
||||||
"@sentry-internal/node-cpu-profiler",
|
|
||||||
"exifreader"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,17 +3,12 @@
|
||||||
"jsc": {
|
"jsc": {
|
||||||
"parser": {
|
"parser": {
|
||||||
"syntax": "typescript",
|
"syntax": "typescript",
|
||||||
"jsx": true,
|
|
||||||
"dynamicImport": true,
|
"dynamicImport": true,
|
||||||
"decorators": true
|
"decorators": true
|
||||||
},
|
},
|
||||||
"transform": {
|
"transform": {
|
||||||
"legacyDecorator": true,
|
"legacyDecorator": true,
|
||||||
"decoratorMetadata": true,
|
"decoratorMetadata": true
|
||||||
"react": {
|
|
||||||
"runtime": "automatic",
|
|
||||||
"importSource": "@kitajs/html"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"experimental": {
|
"experimental": {
|
||||||
"keepImportAssertions": true
|
"keepImportAssertions": true
|
||||||
|
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
(async () => {
|
|
||||||
const msg = document.getElementById('msg');
|
|
||||||
const successText = `\nSuccess Flush! <a href="/">Back to Misskey</a>\n成功しました。<a href="/">Misskeyを開き直してください。</a>`;
|
|
||||||
|
|
||||||
if (!document.cookie) {
|
|
||||||
message('Your site data is fully cleared by your browser.');
|
|
||||||
message(successText);
|
|
||||||
} else {
|
|
||||||
message('Your browser does not support Clear-Site-Data header. Start opportunistic flushing.');
|
|
||||||
try {
|
|
||||||
localStorage.clear();
|
|
||||||
message('localStorage cleared.');
|
|
||||||
|
|
||||||
const idbPromises = ['MisskeyClient', 'keyval-store'].map((name, i, arr) => new Promise((res, rej) => {
|
|
||||||
const delidb = indexedDB.deleteDatabase(name);
|
|
||||||
delidb.onsuccess = () => res(message(`indexedDB "${name}" cleared. (${i + 1}/${arr.length})`));
|
|
||||||
delidb.onerror = e => rej(e)
|
|
||||||
}));
|
|
||||||
|
|
||||||
await Promise.all(idbPromises);
|
|
||||||
|
|
||||||
if (navigator.serviceWorker.controller) {
|
|
||||||
navigator.serviceWorker.controller.postMessage('clear');
|
|
||||||
await navigator.serviceWorker.getRegistrations()
|
|
||||||
.then(registrations => {
|
|
||||||
return Promise.all(registrations.map(registration => registration.unregister()));
|
|
||||||
})
|
|
||||||
.catch(e => { throw new Error(e) });
|
|
||||||
}
|
|
||||||
|
|
||||||
message(successText);
|
|
||||||
} catch (e) {
|
|
||||||
message(`\n${e}\n\nFlush Failed. <a href="/flush">Please retry.</a>\n失敗しました。<a href="/flush">もう一度試してみてください。</a>`);
|
|
||||||
message(`\nIf you retry more than 3 times, try manually clearing the browser cache or contact to instance admin.\n3回以上試しても失敗する場合、ブラウザのキャッシュを手動で消去し、それでもだめならインスタンス管理者に連絡してみてください。\n`)
|
|
||||||
|
|
||||||
console.error(e);
|
|
||||||
setTimeout(() => {
|
|
||||||
location = '/';
|
|
||||||
}, 10000)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function message(text) {
|
|
||||||
msg.insertAdjacentHTML('beforeend', `<p>[${(new Date()).toString()}] ${text.replace(/\n/g,'<br>')}</p>`)
|
|
||||||
}
|
|
||||||
})();
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
html,
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
min-height: 100vh;
|
|
||||||
background: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#a {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
#banner {
|
|
||||||
background-size: cover;
|
|
||||||
background-position: center center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#title {
|
|
||||||
display: inline-block;
|
|
||||||
margin: 24px;
|
|
||||||
padding: 0.5em 0.8em;
|
|
||||||
color: #fff;
|
|
||||||
background: rgba(0, 0, 0, 0.5);
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 1.3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#content {
|
|
||||||
overflow: auto;
|
|
||||||
color: #353c3e;
|
|
||||||
}
|
|
||||||
|
|
||||||
#description {
|
|
||||||
margin: 24px;
|
|
||||||
}
|
|
||||||
|
|
@ -1,121 +0,0 @@
|
||||||
import fs from 'node:fs';
|
|
||||||
import { fileURLToPath } from 'node:url';
|
|
||||||
import { dirname, join } from 'node:path';
|
|
||||||
import { build } from 'esbuild';
|
|
||||||
import { swcPlugin } from 'esbuild-plugin-swc';
|
|
||||||
|
|
||||||
const _filename = fileURLToPath(import.meta.url);
|
|
||||||
const _dirname = dirname(_filename);
|
|
||||||
const _package = JSON.parse(fs.readFileSync(_dirname + '/package.json', 'utf-8'));
|
|
||||||
|
|
||||||
const resolveTsPathsPlugin = {
|
|
||||||
name: 'resolve-ts-paths',
|
|
||||||
setup(build) {
|
|
||||||
build.onResolve({ filter: /^\.{1,2}\/.*\.js$/ }, (args) => {
|
|
||||||
if (args.importer) {
|
|
||||||
const absPath = join(args.resolveDir, args.path);
|
|
||||||
const tsPath = absPath.slice(0, -3) + '.ts';
|
|
||||||
if (fs.existsSync(tsPath)) return { path: tsPath };
|
|
||||||
const tsxPath = absPath.slice(0, -3) + '.tsx';
|
|
||||||
if (fs.existsSync(tsxPath)) return { path: tsxPath };
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const externalIpaddrPlugin = {
|
|
||||||
name: 'external-ipaddr',
|
|
||||||
setup(build) {
|
|
||||||
build.onResolve({ filter: /^ipaddr\.js$/ }, (args) => {
|
|
||||||
return { path: args.path, external: true };
|
|
||||||
});
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
/** @type {import('esbuild').BuildOptions} */
|
|
||||||
const options = {
|
|
||||||
entryPoints: ['./src/boot/entry.ts'],
|
|
||||||
minify: true,
|
|
||||||
keepNames: true,
|
|
||||||
bundle: true,
|
|
||||||
outdir: './built/boot',
|
|
||||||
target: 'node22',
|
|
||||||
platform: 'node',
|
|
||||||
format: 'esm',
|
|
||||||
sourcemap: 'linked',
|
|
||||||
packages: 'external',
|
|
||||||
banner: {
|
|
||||||
js: 'import { createRequire as topLevelCreateRequire } from "module";' +
|
|
||||||
'import ___url___ from "url";' +
|
|
||||||
'const require = topLevelCreateRequire(import.meta.url);' +
|
|
||||||
'const __filename = ___url___.fileURLToPath(import.meta.url);' +
|
|
||||||
'const __dirname = ___url___.fileURLToPath(new URL(".", import.meta.url));',
|
|
||||||
},
|
|
||||||
plugins: [
|
|
||||||
externalIpaddrPlugin,
|
|
||||||
resolveTsPathsPlugin,
|
|
||||||
swcPlugin({
|
|
||||||
jsc: {
|
|
||||||
parser: {
|
|
||||||
syntax: 'typescript',
|
|
||||||
decorators: true,
|
|
||||||
dynamicImport: true,
|
|
||||||
},
|
|
||||||
transform: {
|
|
||||||
legacyDecorator: true,
|
|
||||||
decoratorMetadata: true,
|
|
||||||
},
|
|
||||||
experimental: {
|
|
||||||
keepImportAssertions: true,
|
|
||||||
},
|
|
||||||
baseUrl: join(_dirname, 'src'),
|
|
||||||
paths: {
|
|
||||||
'@/*': ['*'],
|
|
||||||
},
|
|
||||||
target: 'esnext',
|
|
||||||
keepClassNames: true,
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
externalIpaddrPlugin,
|
|
||||||
],
|
|
||||||
// external: [
|
|
||||||
// 'slacc-*',
|
|
||||||
// 'class-transformer',
|
|
||||||
// 'class-validator',
|
|
||||||
// '@sentry/*',
|
|
||||||
// '@nestjs/websockets/socket-module',
|
|
||||||
// '@nestjs/microservices/microservices-module',
|
|
||||||
// '@nestjs/microservices',
|
|
||||||
// '@napi-rs/canvas-win32-x64-msvc',
|
|
||||||
// 'mock-aws-s3',
|
|
||||||
// 'aws-sdk',
|
|
||||||
// 'nock',
|
|
||||||
// 'sharp',
|
|
||||||
// 'jsdom',
|
|
||||||
// 're2',
|
|
||||||
// '@napi-rs/canvas',
|
|
||||||
// ],
|
|
||||||
};
|
|
||||||
|
|
||||||
const args = process.argv.slice(2).map(arg => arg.toLowerCase());
|
|
||||||
|
|
||||||
if (!args.includes('--no-clean')) {
|
|
||||||
fs.rmSync('./built', { recursive: true, force: true });
|
|
||||||
}
|
|
||||||
|
|
||||||
await buildSrc();
|
|
||||||
|
|
||||||
async function buildSrc() {
|
|
||||||
console.log(`[${_package.name}] start building...`);
|
|
||||||
|
|
||||||
await build(options)
|
|
||||||
.then(() => {
|
|
||||||
console.log(`[${_package.name}] build succeeded.`);
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
process.stderr.write(err.stderr || err.message || err);
|
|
||||||
process.exit(1);
|
|
||||||
});
|
|
||||||
|
|
||||||
console.log(`[${_package.name}] finish building.`);
|
|
||||||
}
|
|
||||||
|
|
@ -25,6 +25,7 @@ export default [
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
|
'@typescript-eslint/no-unused-vars': 'off',
|
||||||
'import/order': ['warn', {
|
'import/order': ['warn', {
|
||||||
groups: [
|
groups: [
|
||||||
'builtin',
|
'builtin',
|
||||||
|
|
|
||||||
|
|
@ -205,7 +205,7 @@ module.exports = {
|
||||||
// Whether to use watchman for file crawling
|
// Whether to use watchman for file crawling
|
||||||
// watchman: true,
|
// watchman: true,
|
||||||
|
|
||||||
extensionsToTreatAsEsm: ['.ts', '.tsx'],
|
extensionsToTreatAsEsm: ['.ts'],
|
||||||
|
|
||||||
testTimeout: 60000,
|
testTimeout: 60000,
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ const base = require('./jest.config.cjs')
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
...base,
|
...base,
|
||||||
globalSetup: "<rootDir>/test/jest.setup.unit.cjs",
|
|
||||||
testMatch: [
|
testMatch: [
|
||||||
"<rootDir>/test/unit/**/*.ts",
|
"<rootDir>/test/unit/**/*.ts",
|
||||||
"<rootDir>/src/**/*.test.ts",
|
"<rootDir>/src/**/*.test.ts",
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ const __dirname = path.dirname(__filename);
|
||||||
|
|
||||||
const args = [];
|
const args = [];
|
||||||
args.push(...[
|
args.push(...[
|
||||||
...semver.satisfies(process.version, '^20.17.0 || ^22.0.0 || ^24.10.0') ? ['--no-experimental-require-module'] : [],
|
...semver.satisfies(process.version, '^20.17.0 || ^22.0.0') ? ['--no-experimental-require-module'] : [],
|
||||||
'--experimental-vm-modules',
|
'--experimental-vm-modules',
|
||||||
'--experimental-import-meta-resolve',
|
'--experimental-import-meta-resolve',
|
||||||
path.join(__dirname, 'node_modules/jest/bin/jest.js'),
|
path.join(__dirname, 'node_modules/jest/bin/jest.js'),
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "es6",
|
||||||
|
"module": "commonjs",
|
||||||
|
"allowSyntheticDefaultImports": true
|
||||||
|
},
|
||||||
|
"exclude": [
|
||||||
|
"node_modules",
|
||||||
|
"jspm_packages",
|
||||||
|
"tmp",
|
||||||
|
"temp"
|
||||||
|
]
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue