Compare commits

..

2 Commits

Author SHA1 Message Date
rinsuki
a5a74f4434 12.119.2 2022-12-04 00:31:01 +09:00
mei23
993110d114 Fix: forkbomb 2 2022-12-04 00:29:42 +09:00
2315 changed files with 93915 additions and 144242 deletions

View File

@@ -1,179 +0,0 @@
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Misskey configuration
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ┌─────┐
#───┘ URL └─────────────────────────────────────────────────────
# Final accessible URL seen by a user.
url: https://example.tld/
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
# URL SETTINGS AFTER THAT!
# ┌───────────────────────┐
#───┘ Port and TLS settings └───────────────────────────────────
#
# Misskey requires a reverse proxy to support HTTPS connections.
#
# +----- https://example.tld/ ------------+
# +------+ |+-------------+ +----------------+|
# | User | ---> || Proxy (443) | ---> | Misskey (3000) ||
# +------+ |+-------------+ +----------------+|
# +---------------------------------------+
#
# You need to set up a reverse proxy. (e.g. nginx)
# An encrypted connection with HTTPS is highly recommended
# because tokens may be transferred in GET requests.
# The port that your Misskey server should listen on.
port: 3000
# ┌──────────────────────────┐
#───┘ PostgreSQL configuration └────────────────────────────────
db:
host: db
port: 5432
# Database name
db: misskey
# Auth
user: example-misskey-user
pass: example-misskey-pass
# Whether disable Caching queries
#disableCache: true
# Extra Connection options
#extra:
# ssl: true
dbReplications: false
# You can configure any number of replicas here
#dbSlaves:
# -
# host:
# port:
# db:
# user:
# pass:
# -
# host:
# port:
# db:
# user:
# pass:
# ┌─────────────────────┐
#───┘ Redis configuration └─────────────────────────────────────
redis:
host: redis
port: 6379
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
#pass: example-pass
#prefix: example-prefix
#db: 1
#redisForPubsub:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
#redisForJobQueue:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# ┌───────────────────────────┐
#───┘ MeiliSearch configuration └─────────────────────────────
#meilisearch:
# host: meilisearch
# port: 7700
# apiKey: ''
# ssl: true
# index: ''
# ┌───────────────┐
#───┘ ID generation └───────────────────────────────────────────
# You can select the ID generation method.
# You don't usually need to change this setting, but you can
# change it according to your preferences.
# Available methods:
# aid ... Short, Millisecond accuracy
# meid ... Similar to ObjectID, Millisecond accuracy
# ulid ... Millisecond accuracy
# objectid ... This is left for backward compatibility
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
# ID SETTINGS AFTER THAT!
id: 'aid'
# ┌─────────────────────┐
#───┘ Other configuration └─────────────────────────────────────
# Whether disable HSTS
#disableHsts: true
# Number of worker processes
#clusterLimit: 1
# Job concurrency per worker
# deliverJobConcurrency: 128
# inboxJobConcurrency: 16
# Job rate limiter
# deliverJobPerSec: 128
# inboxJobPerSec: 16
# Job attempts
# deliverJobMaxAttempts: 12
# inboxJobMaxAttempts: 8
# IP address family used for outgoing request (ipv4, ipv6 or dual)
#outgoingAddressFamily: ipv4
# Proxy for HTTP/HTTPS
#proxy: http://127.0.0.1:3128
proxyBypassHosts:
- api.deepl.com
- api-free.deepl.com
- www.recaptcha.net
- hcaptcha.com
- challenges.cloudflare.com
# Proxy for SMTP/SMTPS
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
# Media Proxy
#mediaProxy: https://example.com/proxy
# Proxy remote files (default: false)
#proxyRemoteFiles: true
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
#allowedPrivateNetworks: [
# '127.0.0.1/32'
#]
# Upload or download file size limits (bytes)
#maxFileSize: 262144000

View File

@@ -51,23 +51,6 @@ db:
#extra: #extra:
# ssl: true # ssl: true
dbReplications: false
# You can configure any number of replicas here
#dbSlaves:
# -
# host:
# port:
# db:
# user:
# pass:
# -
# host:
# port:
# db:
# user:
# pass:
# ┌─────────────────────┐ # ┌─────────────────────┐
#───┘ Redis configuration └───────────────────────────────────── #───┘ Redis configuration └─────────────────────────────────────
@@ -79,31 +62,15 @@ redis:
#prefix: example-prefix #prefix: example-prefix
#db: 1 #db: 1
#redisForPubsub: # ┌─────────────────────────────┐
# host: localhost #───┘ Elasticsearch configuration └─────────────────────────────
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
#redisForJobQueue: #elasticsearch:
# host: localhost # host: localhost
# port: 6379 # port: 9200
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 # ssl: false
# #pass: example-pass # user:
# #prefix: example-prefix # pass:
# #db: 1
# ┌───────────────────────────┐
#───┘ MeiliSearch configuration └─────────────────────────────
#meilisearch:
# host: localhost
# port: 7700
# apiKey: ''
# ssl: true
# index: ''
# ┌───────────────┐ # ┌───────────────┐
#───┘ ID generation └─────────────────────────────────────────── #───┘ ID generation └───────────────────────────────────────────
@@ -133,33 +100,32 @@ id: 'aid'
#clusterLimit: 1 #clusterLimit: 1
# Job concurrency per worker # Job concurrency per worker
#deliverJobConcurrency: 128 # deliverJobConcurrency: 128
#inboxJobConcurrency: 16 # inboxJobConcurrency: 16
#relashionshipJobConcurrency: 16
# What's relashionshipJob?:
# Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations.
# Job rate limiter # Job rate limiter
#deliverJobPerSec: 128 # deliverJobPerSec: 128
#inboxJobPerSec: 16 # inboxJobPerSec: 16
#relashionshipJobPerSec: 64
# Job attempts # Job attempts
#deliverJobMaxAttempts: 12 # deliverJobMaxAttempts: 12
#inboxJobMaxAttempts: 8 # inboxJobMaxAttempts: 8
# IP address family used for outgoing request (ipv4, ipv6 or dual) # IP address family used for outgoing request (ipv4, ipv6 or dual)
#outgoingAddressFamily: ipv4 #outgoingAddressFamily: ipv4
# Syslog option
#syslog:
# host: localhost
# port: 514
# Proxy for HTTP/HTTPS # Proxy for HTTP/HTTPS
#proxy: http://127.0.0.1:3128 #proxy: http://127.0.0.1:3128
proxyBypassHosts: #proxyBypassHosts: [
- api.deepl.com # 'example.com',
- api-free.deepl.com # '192.0.2.8'
- www.recaptcha.net #]
- hcaptcha.com
- challenges.cloudflare.com
# Proxy for SMTP/SMTPS # Proxy for SMTP/SMTPS
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT #proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT
@@ -167,23 +133,13 @@ proxyBypassHosts:
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5 #proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
# Media Proxy # Media Proxy
# Reference Implementation: https://github.com/misskey-dev/media-proxy
# * Deliver a common cache between instances
# * Perform image compression (on a different server resource than the main process)
#mediaProxy: https://example.com/proxy #mediaProxy: https://example.com/proxy
# Proxy remote files (default: false) # Proxy remote files (default: false)
# Proxy remote files by this instance or mediaProxy to prevent remote files from running in remote domains.
#proxyRemoteFiles: true #proxyRemoteFiles: true
# Movie Thumbnail Generation URL # Sign to ActivityPub GET request (default: false)
# There is no reference implementation. #signToActivityPubGet: true
# For example, Misskey will point to the following URL:
# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4
#videoThumbnailGenerator: https://example.com
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
#allowedPrivateNetworks: [ #allowedPrivateNetworks: [
# '127.0.0.1/32' # '127.0.0.1/32'

View File

@@ -1 +0,0 @@
FROM mcr.microsoft.com/devcontainers/javascript-node:0-18

View File

@@ -1,27 +0,0 @@
{
"name": "Misskey",
"dockerComposeFile": "docker-compose.yml",
"service": "app",
"workspaceFolder": "/workspace",
"features": {
"ghcr.io/devcontainers-contrib/features/pnpm:2": {},
"ghcr.io/devcontainers/features/node:1": {
"version": "18.16.0"
}
},
"forwardPorts": [3000],
"postCreateCommand": "sudo chmod 755 .devcontainer/init.sh && .devcontainer/init.sh",
"customizations": {
"vscode": {
"extensions": [
"editorconfig.editorconfig",
"dbaeumer.vscode-eslint",
"Vue.volar",
"Vue.vscode-typescript-vue-plugin",
"Orta.vscode-jest",
"dbaeumer.vscode-eslint",
"mrmlnc.vscode-json5"
]
}
}
}

View File

@@ -1,179 +0,0 @@
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Misskey configuration
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ┌─────┐
#───┘ URL └─────────────────────────────────────────────────────
# Final accessible URL seen by a user.
url: http://127.0.0.1:3000/
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
# URL SETTINGS AFTER THAT!
# ┌───────────────────────┐
#───┘ Port and TLS settings └───────────────────────────────────
#
# Misskey requires a reverse proxy to support HTTPS connections.
#
# +----- https://example.tld/ ------------+
# +------+ |+-------------+ +----------------+|
# | User | ---> || Proxy (443) | ---> | Misskey (3000) ||
# +------+ |+-------------+ +----------------+|
# +---------------------------------------+
#
# You need to set up a reverse proxy. (e.g. nginx)
# An encrypted connection with HTTPS is highly recommended
# because tokens may be transferred in GET requests.
# The port that your Misskey server should listen on.
port: 3000
# ┌──────────────────────────┐
#───┘ PostgreSQL configuration └────────────────────────────────
db:
host: db
port: 5432
# Database name
db: misskey
# Auth
user: postgres
pass: postgres
# Whether disable Caching queries
#disableCache: true
# Extra Connection options
#extra:
# ssl: true
dbReplications: false
# You can configure any number of replicas here
#dbSlaves:
# -
# host:
# port:
# db:
# user:
# pass:
# -
# host:
# port:
# db:
# user:
# pass:
# ┌─────────────────────┐
#───┘ Redis configuration └─────────────────────────────────────
redis:
host: redis
port: 6379
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
#pass: example-pass
#prefix: example-prefix
#db: 1
#redisForPubsub:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
#redisForJobQueue:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# ┌───────────────────────────┐
#───┘ MeiliSearch configuration └─────────────────────────────
#meilisearch:
# host: meilisearch
# port: 7700
# apiKey: ''
# ssl: true
# index: ''
# ┌───────────────┐
#───┘ ID generation └───────────────────────────────────────────
# You can select the ID generation method.
# You don't usually need to change this setting, but you can
# change it according to your preferences.
# Available methods:
# aid ... Short, Millisecond accuracy
# meid ... Similar to ObjectID, Millisecond accuracy
# ulid ... Millisecond accuracy
# objectid ... This is left for backward compatibility
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
# ID SETTINGS AFTER THAT!
id: 'aid'
# ┌─────────────────────┐
#───┘ Other configuration └─────────────────────────────────────
# Whether disable HSTS
#disableHsts: true
# Number of worker processes
#clusterLimit: 1
# Job concurrency per worker
# deliverJobConcurrency: 128
# inboxJobConcurrency: 16
# Job rate limiter
# deliverJobPerSec: 128
# inboxJobPerSec: 16
# Job attempts
# deliverJobMaxAttempts: 12
# inboxJobMaxAttempts: 8
# IP address family used for outgoing request (ipv4, ipv6 or dual)
#outgoingAddressFamily: ipv4
# Proxy for HTTP/HTTPS
#proxy: http://127.0.0.1:3128
proxyBypassHosts:
- api.deepl.com
- api-free.deepl.com
- www.recaptcha.net
- hcaptcha.com
- challenges.cloudflare.com
# Proxy for SMTP/SMTPS
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
# Media Proxy
#mediaProxy: https://example.com/proxy
# Proxy remote files (default: false)
#proxyRemoteFiles: true
# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
allowedPrivateNetworks: [
'127.0.0.1/32'
]
# Upload or download file size limits (bytes)
#maxFileSize: 262144000

View File

@@ -1,53 +0,0 @@
version: '3.8'
services:
app:
build:
context: .
dockerfile: Dockerfile
volumes:
- ../:/workspace:cached
command: sleep infinity
networks:
- internal_network
- external_network
redis:
restart: unless-stopped
image: redis:7-alpine
networks:
- internal_network
volumes:
- redis-data:/data
healthcheck:
test: "redis-cli ping"
interval: 5s
retries: 20
db:
restart: unless-stopped
image: postgres:15-alpine
networks:
- internal_network
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: misskey
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
interval: 5s
retries: 20
volumes:
postgres-data:
redis-data:
networks:
internal_network:
internal: true
external_network:

View File

@@ -1,11 +0,0 @@
#!/bin/bash
set -xe
sudo chown -R node /workspace
git submodule update --init
pnpm config set store-dir /home/node/.local/share/pnpm/store
pnpm install --frozen-lockfile
cp .devcontainer/devcontainer.yml .config/default.yml
pnpm build
pnpm migrate

View File

@@ -8,24 +8,8 @@ build/
built/ built/
db/ db/
docker-compose.yml docker-compose.yml
elasticsearch/
node_modules/ node_modules/
packages/*/node_modules
redis/ redis/
files/ files/
misskey-assets/ misskey-assets/
fluent-emojis/
.pnp.*
# .yarn関連
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
.pnpm-store
.idea/
packages/*/.vscode/
packages/backend/test/docker-compose.yml

View File

@@ -1,3 +0,0 @@
DKL-DI-0005
DKL-DI-0006
DKL-LI-0003

View File

@@ -5,7 +5,6 @@ indent_style = tab
indent_size = 2 indent_size = 2
charset = utf-8 charset = utf-8
insert_final_newline = true insert_final_newline = true
end_of_line = lf
[*.{yml,yaml}] [*.yml]
indent_style = space indent_style = space

1
.gitattributes vendored
View File

@@ -5,4 +5,3 @@
*.glb -diff -text *.glb -diff -text
*.blend -diff -text *.blend -diff -text
*.afdesign -diff -text *.afdesign -diff -text
* text=auto eol=lf

View File

@@ -10,7 +10,6 @@ assignees: ''
<!-- <!--
Thanks for reporting! Thanks for reporting!
First, in order to avoid duplicate Issues, please search to see if the problem you found has already been reported. First, in order to avoid duplicate Issues, please search to see if the problem you found has already been reported.
Also, If you are NOT owner/admin of server, PLEASE DONT REPORT SERVER SPECIFIC ISSUES TO HERE! (e.g. feature XXX is not working in misskey.example) Please try with another misskey servers, and if your issue is only reproducible with specific server, contact your server's owner/admin first.
--> -->
## 💡 Summary ## 💡 Summary
@@ -37,10 +36,7 @@ Please include errors from the developer console and/or server log files if you
## 📌 Environment ## 📌 Environment
<!-- Tell us where on the platform it happens --> <!-- Tell us where on the platform it happens -->
<!-- DO NOT WRITE "latest". Please provide the specific version. -->
Misskey version: Misskey version:
PostgreSQL version:
Redis version:
Your OS: Your OS:
Your browser: Your browser:

View File

@@ -4,20 +4,14 @@ Thank you for your PR! Before creating a PR, please check the contribution guide
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
--> -->
## What # What
<!-- このPRで何をしたのか どう変わるのか? --> <!-- このPRで何をしたのか どう変わるのか? -->
<!-- What did you do with this PR? How will it change things? --> <!-- What did you do with this PR? How will it change things? -->
## Why # Why
<!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? --> <!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? -->
<!-- Why do you do it? What are your intentions? What is the problem? --> <!-- Why do you do it? What are your intentions? What is the problem? -->
## Additional info (optional) # Additional info (optional)
<!-- テスト観点など --> <!-- テスト観点など -->
<!-- Test perspective, etc --> <!-- Test perspective, etc -->
## Checklist
- [ ] Read the [contribution guide](https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md)
- [ ] Test working in a local environment
- [ ] (If needed) Update CHANGELOG.md
- [ ] (If possible) Add tests

View File

@@ -1,23 +0,0 @@
<!-- お読みください / README
PRありがとうございます PRを作成する前に、コントリビューションガイドをご確認ください:
Thank you for your PR! Before creating a PR, please check the contribution guide:
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
-->
## What
<!-- このPRで何をしたのか どう変わるのか? -->
<!-- What did you do with this PR? How will it change things? -->
## Why
<!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? -->
<!-- Why do you do it? What are your intentions? What is the problem? -->
## Additional info (optional)
<!-- テスト観点など -->
<!-- Test perspective, etc -->
## Checklist
- [ ] Read the [contribution guide](https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md)
- [ ] Test working in a local environment
- [ ] (If needed) Update CHANGELOG.md
- [ ] (If possible) Add tests

View File

@@ -1,20 +0,0 @@
## Summary
This is a release PR.
For more information on the release instructions, please see:
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md#release
## For reviewers
- CHANGELOGに抜け漏れは無いか
- バージョンの上げ方は適切か
- 他にこのリリースに含めなければならない変更は無いか
- 全体的な変更内容を俯瞰し問題は無いか
- レビューされていないコミットがある場合は、それが問題ないか
- 最終的な動作確認を行い問題は無いか
などを確認し、リリースする準備が整っていると思われる場合は approve してください。
## Checklist
- [ ] package.jsonのバージョンが正しく更新されている
- [ ] CHANGELOGが過不足無く更新されている
- [ ] CIが全て通っている

View File

@@ -5,11 +5,6 @@
version: 2 version: 2
updates: updates:
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 0
- package-ecosystem: npm - package-ecosystem: npm
directory: "/" directory: "/"
schedule: schedule:
@@ -21,12 +16,7 @@ updates:
interval: daily interval: daily
open-pull-requests-limit: 0 open-pull-requests-limit: 0
- package-ecosystem: npm - package-ecosystem: npm
directory: "/packages/frontend" directory: "/packages/client"
schedule:
interval: daily
open-pull-requests-limit: 0
- package-ecosystem: npm
directory: "/packages/sw"
schedule: schedule:
interval: daily interval: daily
open-pull-requests-limit: 0 open-pull-requests-limit: 0

25
.github/labeler.yml vendored
View File

@@ -1,21 +1,12 @@
'packages/backend': 'Server':
- packages/backend/**/* - packages/backend/**/*
'packages/backend:test': '🖥Client':
- packages/client/**/*
'🧪Test':
- cypress/**/*
- packages/backend/test/**/* - packages/backend/test/**/*
'packages/frontend': '‼️ wrong locales':
- packages/frontend/**/* - any: ['locales/*.yml', '!locales/ja-JP.yml']
'packages/frontend:test':
- cypress/**/*
'packages/sw':
- packages/sw/**/*
'packages/misskey-js':
- packages/misskey-js/**/*
'packages/misskey-js:test':
- packages/misskey-js/test/**/*
- packages/misskey-js/test-d/**/*

View File

@@ -4,12 +4,12 @@ url: 'http://misskey.local'
port: 61812 port: 61812
db: db:
host: 127.0.0.1 host: localhost
port: 54312 port: 54312
db: test-misskey db: test-misskey
user: postgres user: postgres
pass: '' pass: ''
redis: redis:
host: 127.0.0.1 host: localhost
port: 56312 port: 56312
id: aid id: aid

View File

@@ -1,24 +0,0 @@
<!-- お読みください / README
PRありがとうございます PRを作成する前に、コントリビューションガイドをご確認ください:
Thank you for your PR! Before creating a PR, please check the contribution guide:
https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md
-->
## What
<!-- このPRで何をしたのか どう変わるのか? -->
<!-- What did you do with this PR? How will it change things? -->
## Why
<!-- なぜそうするのか? どういう意図なのか? 何が困っているのか? -->
<!-- Why do you do it? What are your intentions? What is the problem? -->
## Additional info (optional)
<!-- テスト観点など -->
<!-- Test perspective, etc -->
## Checklist
- [ ] Read the [contribution guide](https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md)
- [ ] Test working in a local environment
- [ ] (If needed) Add story of storybook
- [ ] (If needed) Update CHANGELOG.md
- [ ] (If possible) Add tests

View File

@@ -1,9 +0,0 @@
groups:
- name: devs
reviewers: 2
internal_reviewers: 1
usernames:
- syuilo
- acid-chicken
- EbiseLutica
- tamaina

View File

@@ -1,36 +0,0 @@
name: API report (misskey.js)
on: [push, pull_request]
jobs:
report:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3.3.0
- run: corepack enable
- name: Setup Node.js
uses: actions/setup-node@v3.6.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
- name: Install dependencies
run: pnpm i --frozen-lockfile
- name: Build
run: pnpm --filter misskey-js build
- name: Check files
run: ls packages/misskey-js/built
- name: API report
run: pnpm --filter misskey-js api-prod
- name: Show report
if: always()
run: cat packages/misskey-js/temp/misskey-js.api.md

View File

@@ -1,18 +0,0 @@
name: Check copyright year
on:
push:
branches:
- master
- develop
jobs:
check_copyright_year:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.2.0
- run: |
if [ "$(grep Copyright COPYING | sed -e 's/.*2014-\([0-9]*\) .*/\1/g')" -ne "$(date +%Y)" ]; then
echo "Please change copyright year!"
exit 1
fi

View File

@@ -10,34 +10,24 @@ jobs:
push_to_registry: push_to_registry:
name: Push Docker image to Docker Hub name: Push Docker image to Docker Hub
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.repository == 'misskey-dev/misskey'
steps: steps:
- name: Check out the repo - name: Check out the repo
uses: actions/checkout@v3.3.0 uses: actions/checkout@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2.3.0
with:
platforms: linux/amd64,linux/arm64
- name: Docker meta - name: Docker meta
id: meta id: meta
uses: docker/metadata-action@v4 uses: docker/metadata-action@v3
with: with:
images: misskey/misskey images: misskey/misskey
- name: Log in to Docker Hub - name: Log in to Docker Hub
uses: docker/login-action@v2 uses: docker/login-action@v1
with: with:
username: ${{ secrets.DOCKER_USERNAME }} username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }} password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and Push to Docker Hub - name: Build and Push to Docker Hub
uses: docker/build-push-action@v4 uses: docker/build-push-action@v2
with: with:
builder: ${{ steps.buildx.outputs.name }}
context: . context: .
push: true push: true
platforms: ${{ steps.buildx.outputs.platforms }}
provenance: false
tags: misskey/misskey:develop tags: misskey/misskey:develop
labels: develop labels: develop
cache-from: type=gha
cache-to: type=gha,mode=max

View File

@@ -12,38 +12,21 @@ jobs:
steps: steps:
- name: Check out the repo - name: Check out the repo
uses: actions/checkout@v3.3.0 uses: actions/checkout@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2.3.0
with:
platforms: linux/amd64,linux/arm64
- name: Docker meta - name: Docker meta
id: meta id: meta
uses: docker/metadata-action@v4 uses: docker/metadata-action@v3
with: with:
images: misskey/misskey images: misskey/misskey
tags: |
type=edge
type=ref,event=pr
type=ref,event=branch
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
- name: Log in to Docker Hub - name: Log in to Docker Hub
uses: docker/login-action@v2 uses: docker/login-action@v1
with: with:
username: ${{ secrets.DOCKER_USERNAME }} username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }} password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and Push to Docker Hub - name: Build and Push to Docker Hub
uses: docker/build-push-action@v4 uses: docker/build-push-action@v2
with: with:
builder: ${{ steps.buildx.outputs.name }}
context: . context: .
push: true push: true
platforms: ${{ steps.buildx.outputs.platforms }}
provenance: false
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

View File

@@ -1,30 +0,0 @@
---
name: Dockle
on:
push:
branches:
- master
- develop
pull_request:
jobs:
dockle:
runs-on: ubuntu-latest
env:
DOCKER_CONTENT_TRUST: 1
steps:
- uses: actions/checkout@v3.2.0
- run: |
curl -L -o dockle.deb "https://github.com/goodwithtech/dockle/releases/download/v0.4.10/dockle_0.4.10_Linux-64bit.deb"
sudo dpkg -i dockle.deb
- run: |
cp .config/docker_example.env .config/docker.env
cp ./docker-compose.yml.example ./docker-compose.yml
- run: |
docker compose up -d web
docker tag "$(docker compose images web | awk 'OFS=":" {print $4}' | tail -n +2)" misskey-web:latest
- run: |
cmd="dockle --exit-code 1 misskey-web:latest ${image_name}"
echo "> ${cmd}"
eval "${cmd}"

View File

@@ -1,81 +1,39 @@
name: Lint name: Lint
on: on:
push: push:
branches: branches:
- master - master
- develop - develop
pull_request: pull_request:
jobs: jobs:
pnpm_install: backend:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3.3.0 - uses: actions/checkout@v2
with: with:
fetch-depth: 0 submodules: true
submodules: true - uses: actions/setup-node@v3
- uses: pnpm/action-setup@v2 with:
with: node-version: 18.x
version: 8 cache: 'yarn'
run_install: false cache-dependency-path: |
- uses: actions/setup-node@v3.6.0 packages/backend/yarn.lock
with: - run: yarn install
node-version-file: '.node-version' - run: yarn --cwd ./packages/backend lint
cache: 'pnpm'
- run: corepack enable client:
- run: pnpm i --frozen-lockfile runs-on: ubuntu-latest
steps:
lint: - uses: actions/checkout@v2
needs: [pnpm_install] with:
runs-on: ubuntu-latest submodules: true
continue-on-error: true - uses: actions/setup-node@v3
strategy: with:
matrix: node-version: 18.x
workspace: cache: 'yarn'
- backend cache-dependency-path: |
- frontend packages/client/yarn.lock
- sw - run: yarn install
- misskey-js - run: yarn --cwd ./packages/client lint
steps:
- uses: actions/checkout@v3.3.0
with:
fetch-depth: 0
submodules: true
- uses: pnpm/action-setup@v2
with:
version: 7
run_install: false
- uses: actions/setup-node@v3.6.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile
- run: pnpm --filter ${{ matrix.workspace }} run eslint
typecheck:
needs: [pnpm_install]
runs-on: ubuntu-latest
continue-on-error: true
strategy:
matrix:
workspace:
- backend
- misskey-js
steps:
- uses: actions/checkout@v3.3.0
with:
fetch-depth: 0
submodules: true
- uses: pnpm/action-setup@v2
with:
version: 7
run_install: false
- uses: actions/setup-node@v3.6.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile
- run: pnpm --filter ${{ matrix.workspace }} run typecheck

View File

@@ -1,5 +1,7 @@
# Run secret-dependent integration tests only after /deploy approval # Run secret-dependent integration tests only after /deploy approval
on: on:
pull_request:
types: [opened, reopened, synchronize]
repository_dispatch: repository_dispatch:
types: [deploy-command] types: [deploy-command]
@@ -10,10 +12,11 @@ jobs:
deploy-preview-environment: deploy-preview-environment:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: if:
github.event_name == 'repository_dispatch' &&
github.event.client_payload.slash_command.sha != '' && github.event.client_payload.slash_command.sha != '' &&
contains(github.event.client_payload.pull_request.head.sha, github.event.client_payload.slash_command.sha) contains(github.event.client_payload.pull_request.head.sha, github.event.client_payload.slash_command.sha)
steps: steps:
- uses: actions/github-script@v6.3.3 - uses: actions/github-script@v5
id: check-id id: check-id
env: env:
number: ${{ github.event.client_payload.pull_request.number }} number: ${{ github.event.client_payload.pull_request.number }}
@@ -37,7 +40,7 @@ jobs:
return check[0].id; return check[0].id;
- uses: actions/github-script@v6.3.3 - uses: actions/github-script@v5
env: env:
check_id: ${{ steps.check-id.outputs.result }} check_id: ${{ steps.check-id.outputs.result }}
details_url: ${{ github.server_url }}/${{ github.repository }}/runs/${{ github.run_id }} details_url: ${{ github.server_url }}/${{ github.repository }}/runs/${{ github.run_id }}
@@ -53,7 +56,7 @@ jobs:
# Check out merge commit # Check out merge commit
- name: Fork based /deploy checkout - name: Fork based /deploy checkout
uses: actions/checkout@v3.3.0 uses: actions/checkout@v2
with: with:
ref: 'refs/pull/${{ github.event.client_payload.pull_request.number }}/merge' ref: 'refs/pull/${{ github.event.client_payload.pull_request.number }}/merge'
@@ -72,7 +75,7 @@ jobs:
timeout: 15m timeout: 15m
# Update check run called "integration-fork" # Update check run called "integration-fork"
- uses: actions/github-script@v6.3.3 - uses: actions/github-script@v5
id: update-check-run id: update-check-run
if: ${{ always() }} if: ${{ always() }}
env: env:

View File

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

View File

@@ -1,13 +0,0 @@
name: "Reviewer lottery"
on:
pull_request_target:
types: [opened, ready_for_review, reopened]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: uesteibar/reviewer-lottery@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,108 +0,0 @@
name: Storybook
on:
push:
branches:
- master
- develop
pull_request_target:
jobs:
build:
runs-on: ubuntu-latest
env:
NODE_OPTIONS: "--max_old_space_size=7168"
steps:
- uses: actions/checkout@v3.3.0
if: github.event_name != 'pull_request_target'
with:
fetch-depth: 0
submodules: true
- uses: actions/checkout@v3.3.0
if: github.event_name == 'pull_request_target'
with:
fetch-depth: 0
submodules: true
ref: "refs/pull/${{ github.event.number }}/merge"
- name: Checkout actual HEAD
if: github.event_name == 'pull_request_target'
id: rev
run: |
echo "base=$(git rev-list --parents -n1 HEAD | cut -d" " -f2)" >> $GITHUB_OUTPUT
git checkout $(git rev-list --parents -n1 HEAD | cut -d" " -f3)
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 8
run_install: false
- name: Use Node.js 18.x
uses: actions/setup-node@v3.6.0
with:
node-version-file: '.node-version'
cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml
- name: Build misskey-js
run: pnpm --filter misskey-js build
- name: Build storybook
run: pnpm --filter frontend build-storybook
- name: Publish to Chromatic
if: github.event_name != 'pull_request_target' && github.ref == 'refs/heads/master'
run: pnpm --filter frontend chromatic --exit-once-uploaded -d storybook-static
env:
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
- name: Publish to Chromatic
if: github.event_name != 'pull_request_target' && github.ref != 'refs/heads/master'
id: chromatic_push
run: |
DIFF="${{ github.event.before }} HEAD"
if [ "$DIFF" = "0000000000000000000000000000000000000000 HEAD" ]; then
DIFF="HEAD"
fi
CHROMATIC_PARAMETER="$(node packages/frontend/.storybook/changes.js $(git diff-tree --no-commit-id --name-only -r $(echo "$DIFF") | xargs))"
if [ "$CHROMATIC_PARAMETER" = " --skip" ]; then
echo "skip=true" >> $GITHUB_OUTPUT
fi
if pnpm --filter frontend chromatic -d storybook-static $(echo "$CHROMATIC_PARAMETER"); then
echo "success=true" >> $GITHUB_OUTPUT
else
echo "success=false" >> $GITHUB_OUTPUT
fi
env:
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
- name: Publish to Chromatic
if: github.event_name == 'pull_request_target'
id: chromatic_pull_request
run: |
DIFF="${{ steps.rev.outputs.base }} HEAD"
if [ "$DIFF" = "0000000000000000000000000000000000000000 HEAD" ]; then
DIFF="HEAD"
fi
CHROMATIC_PARAMETER="$(node packages/frontend/.storybook/changes.js $(git diff-tree --no-commit-id --name-only -r $(echo "$DIFF") | xargs))"
if [ "$CHROMATIC_PARAMETER" = " --skip" ]; then
echo "skip=true" >> $GITHUB_OUTPUT
fi
pnpm --filter frontend chromatic --exit-once-uploaded -d storybook-static $(echo "$CHROMATIC_PARAMETER")
env:
CHROMATIC_PROJECT_TOKEN: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
- name: Notify that Chromatic detects changes
uses: actions/github-script@v6.4.0
if: github.event_name != 'pull_request_target' && steps.chromatic_push.outputs.success == 'false'
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
github.rest.repos.createCommitComment({
owner: context.repo.owner,
repo: context.repo.repo,
commit_sha: context.sha,
body: 'Chromatic detects changes. Please [review the changes on Chromatic](https://www.chromatic.com/builds?appId=6428f7d7b962f0b79f97d6e4).'
})
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: storybook
path: packages/frontend/storybook-static

View File

@@ -1,59 +0,0 @@
name: Test (backend)
on:
push:
branches:
- master
- develop
pull_request:
jobs:
jest:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
services:
postgres:
image: postgres:13
ports:
- 54312:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
redis:
image: redis:7
ports:
- 56312:6379
steps:
- uses: actions/checkout@v3.3.0
with:
submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 8
run_install: false
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml
- name: Copy Configure
run: cp .github/misskey/test.yml .config
- name: Build
run: pnpm build
- name: Test
run: pnpm jest-and-coverage
- name: Upload Coverage
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/backend/coverage/coverage-final.json

View File

@@ -1,52 +0,0 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Test (misskey.js)
on:
push:
branches: [ develop ]
pull_request:
branches: [ develop ]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- name: Checkout
uses: actions/checkout@v3.3.0
- run: corepack enable
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Install dependencies
run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml
- name: Build
run: pnpm --filter misskey-js build
- name: Test
run: pnpm --filter misskey-js test
env:
CI: true
- name: Upload Coverage
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/misskey-js/coverage/coverage-final.json

View File

@@ -1,42 +0,0 @@
name: Test (production install and build)
on:
push:
branches:
- master
- develop
pull_request:
env:
NODE_ENV: production
jobs:
production:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3.3.0
with:
submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 8
run_install: false
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- run: corepack enable
- run: pnpm i --frozen-lockfile
- name: Check pnpm-lock.yaml
run: git diff --exit-code pnpm-lock.yaml
- name: Copy Configure
run: cp .github/misskey/test.yml .config/default.yml
- name: Build
run: pnpm build

View File

@@ -1,4 +1,4 @@
name: Test (frontend) name: Test
on: on:
push: push:
@@ -8,42 +8,48 @@ on:
pull_request: pull_request:
jobs: jobs:
vitest: mocha:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
node-version: [18.x] node-version: [18.x]
services:
postgres:
image: postgres:13
ports:
- 54312:5432
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
redis:
image: redis:6
ports:
- 56312:6379
steps: steps:
- uses: actions/checkout@v3.3.0 - uses: actions/checkout@v2
with: with:
submodules: true submodules: true
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 8
run_install: false
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3.6.0 uses: actions/setup-node@v3
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'yarn'
- run: corepack enable cache-dependency-path: |
- run: pnpm i --frozen-lockfile packages/backend/yarn.lock
- name: Check pnpm-lock.yaml packages/client/yarn.lock
run: git diff --exit-code pnpm-lock.yaml - name: Install dependencies
run: yarn install
- name: Check yarn.lock
run: git diff --exit-code yarn.lock
- name: Copy Configure - name: Copy Configure
run: cp .github/misskey/test.yml .config run: cp .github/misskey/test.yml .config
- name: Build - name: Build
run: pnpm build run: yarn build
- name: Test - name: Test
run: pnpm --filter frontend test-and-coverage run: yarn mocha
- name: Upload Coverage
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./packages/frontend/coverage/coverage-final.json
e2e: e2e:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -63,12 +69,12 @@ jobs:
POSTGRES_DB: test-misskey POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust POSTGRES_HOST_AUTH_METHOD: trust
redis: redis:
image: redis:7 image: redis:6
ports: ports:
- 56312:6379 - 56312:6379
steps: steps:
- uses: actions/checkout@v3.3.0 - uses: actions/checkout@v2
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
@@ -77,36 +83,32 @@ jobs:
# if: ${{ matrix.browser == 'firefox' }} # if: ${{ matrix.browser == 'firefox' }}
#- uses: browser-actions/setup-firefox@latest #- uses: browser-actions/setup-firefox@latest
# if: ${{ matrix.browser == 'firefox' }} # if: ${{ matrix.browser == 'firefox' }}
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 7
run_install: false
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3.6.0 uses: actions/setup-node@v3
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: 'pnpm' cache: 'yarn'
- run: corepack enable cache-dependency-path: |
- run: pnpm i --frozen-lockfile packages/backend/yarn.lock
packages/client/yarn.lock
- name: Install dependencies
run: yarn install
- name: Check yarn.lock
run: git diff --exit-code yarn.lock
- name: Copy Configure - name: Copy Configure
run: cp .github/misskey/test.yml .config run: cp .github/misskey/test.yml .config
- name: Build - name: Build
run: pnpm build run: yarn build
# https://github.com/cypress-io/cypress/issues/4351#issuecomment-559489091 # https://github.com/cypress-io/cypress/issues/4351#issuecomment-559489091
- name: ALSA Env - name: ALSA Env
run: echo -e 'pcm.!default {\n type hw\n card 0\n}\n\nctl.!default {\n type hw\n card 0\n}' > ~/.asoundrc run: echo -e 'pcm.!default {\n type hw\n card 0\n}\n\nctl.!default {\n type hw\n card 0\n}' > ~/.asoundrc
# XXX: This tries reinstalling Cypress if the binary is not cached
# Remove this when the cache issue is fixed
- name: Cypress install
run: pnpm exec cypress install
- name: Cypress run - name: Cypress run
uses: cypress-io/github-action@v5 uses: cypress-io/github-action@v4
with: with:
install: false install: false
start: pnpm start:test start: npm run start:test
wait-on: 'http://localhost:61812' wait-on: 'http://localhost:61812'
headed: true headless: false
browser: ${{ matrix.browser }} browser: ${{ matrix.browser }}
- uses: actions/upload-artifact@v2 - uses: actions/upload-artifact@v2
if: failure() if: failure()

21
.gitignore vendored
View File

@@ -9,20 +9,6 @@
node_modules node_modules
report.*.json report.*.json
# Yarn
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
packages/frontend/.yarn/cache
packages/backend/.yarn/cache
packages/sw/.yarn/cache
# pnpm
.pnpm-store
# Cypress # Cypress
cypress/screenshots cypress/screenshots
cypress/videos cypress/videos
@@ -33,10 +19,7 @@ coverage
# config # config
/.config/* /.config/*
!/.config/example.yml !/.config/example.yml
!/.config/docker_example.yml
!/.config/docker_example.env !/.config/docker_example.env
docker-compose.yml
!/.devcontainer/docker-compose.yml
# misskey # misskey
/build /build
@@ -44,7 +27,7 @@ built
/data /data
/.cache-loader /.cache-loader
/db /db
/meili_data /elasticsearch
npm-debug.log npm-debug.log
*.pem *.pem
run.bat run.bat
@@ -55,8 +38,6 @@ api-docs.json
.DS_Store .DS_Store
/files /files
ormconfig.json ormconfig.json
temp
/packages/frontend/src/**/*.stories.ts
# blender backups # blender backups
*.blend1 *.blend1

3
.gitmodules vendored
View File

@@ -1,6 +1,3 @@
[submodule "misskey-assets"] [submodule "misskey-assets"]
path = misskey-assets path = misskey-assets
url = https://github.com/misskey-dev/assets.git url = https://github.com/misskey-dev/assets.git
[submodule "fluent-emojis"]
path = fluent-emojis
url = https://github.com/misskey-dev/emojis.git

View File

@@ -1 +1 @@
18.16.0 v16.15.0

2
.npmrc Normal file
View File

@@ -0,0 +1,2 @@
save-exact = true
package-lock = false

View File

@@ -1,11 +1,9 @@
{ {
"recommendations": [ "recommendations": [
"editorconfig.editorconfig", "editorconfig.editorconfig",
"eg2.vscode-npm-script",
"dbaeumer.vscode-eslint", "dbaeumer.vscode-eslint",
"Vue.volar", "Vue.volar",
"Vue.vscode-typescript-vue-plugin", "Vue.vscode-typescript-vue-plugin"
"Orta.vscode-jest",
"dbaeumer.vscode-eslint",
"mrmlnc.vscode-json5"
] ]
} }

11
.vscode/settings.json vendored
View File

@@ -1,11 +0,0 @@
{
"search.exclude": {
"**/node_modules": true
},
"typescript.tsdk": "node_modules/typescript/lib",
"files.associations": {
"*.test.ts": "typescript"
},
"jest.jestCommandLine": "pnpm run jest",
"jest.autoRun": "off"
}

1
.yarnrc Normal file
View File

@@ -0,0 +1 @@
network-timeout 600000

View File

@@ -1,856 +1,17 @@
<!-- <!--
## 13.x.x (unreleased) ## 12.x.x (unreleased)
### General ### Improvements
-
### Client ### Bugfixes
- -
### Server
-
You should also include the user name that made the change.
--> -->
## 13.13.0 ## 12.119.2 (2022/12/04)
### General
- カスタム絵文字ごとにそれをリアクションとして使えるロールを設定できるように
- カスタム絵文字ごとに連合するかどうか設定できるように
- カスタム絵文字ごとにセンシティブフラグを設定できるように
- センシティブなカスタム絵文字のリアクションを受け入れない設定が可能に
- タイムラインにフォロイーの行った他人へのリプライを含めるかどうかの設定をアカウントに保存するのをやめるように
- 今後はAPI呼び出し時およびストリーミング接続時に設定するようになります
- リストを公開できるようになりました
### Client
- リアクションの取り消し/変更時に確認ダイアログを出すように
- 開発者モードを追加
- AiScriptを0.13.3に更新
- Deck UIを使用している場合、`/`以外にアクセスした際にZen UIで表示するように
- メインカラムを設置していない場合の問題を解決
- Fix: URLプレビューで情報が取得できなかった際の挙動を修正
- Fix: Safari、Firefoxでの新規登録時、パスワードマネージャーにメールアドレスが登録されていた挙動を修正
- fix:ロールタイムラインが無効でも投稿が流れてしまう問題の修正
- fix:ロールタイムラインにて全ての投稿が流れてしまう問題の修正
## 13.12.2
## NOTE
Meilisearchの設定に`index`が必要になりました。値はMisskeyサーバーのホスト名にすることをお勧めします(アルファベット、ハイフン、アンダーバーのみ使用可能)。例: `misskey-io`
過去に作成された`notes`インデックスは、`<index名>---notes`にリネームが必要です。例: `misskey-io---notes`
### General
- 投稿したコンテンツのAIによる学習を軽減するオプションを追加
### Client
- ユーザーを指定してのノート検索が可能に
- アカウント初期設定ウィザードにプライバシー設定を追加
- リテンション率チャートに折れ線グラフを追加
- Fix: ブラーエフェクトを有効にしている状態で高負荷になる問題を修正
- Fix: Pageにおいて画像ブロックに画像を設定できない問題を修正
- Fix: カラーバーがリプライには表示されないのを修正
- Fix: チャンネル内の検索ボックスが挙動不審な問題を修正
- Fix: リテンションチャートのレンダリングを修正
- Fix: リアクションエフェクトのレンダリングの問題を修正
### Server
- センシティブワードの登録にAnd、正規表現が使用できるようになりました。
- Fix: ひとつのMeilisearchサーバーを複数のMisskeyサーバーで使えない問題を修正
## 13.12.1
### Client
- プロフィール画面におけるモデレーションノートの表示を調整
- Fix: 一部ダイアログが表示されない問題を修正
- Fix: MkUserInfoのフォローボタンが変な位置にある問題を修正
### Server
- Fix: リモートサーバーの情報が更新できない問題を修正
- Fix: 13.11を経験しない状態で13.12にアップデートした場合ユーザープロフィール関連の画像が消失する問題を修正
## 13.12.0
### NOTE
- Node.js 18.6.0以上が必要になりました
### General
- アカウントの引っ越し(フォロワー引き継ぎ)に対応
- Meilisearchを全文検索に使用できるようになりました
- 新規登録前に簡潔なルールをユーザーに表示できる、サーバールール機能を追加
- ユーザーへの自分用メモ機能
* ユーザーに対して、自分だけが見られるメモを追加できるようになりました。
(自分自身に対してもメモを追加できます。)
* ユーザーメニューから追加できます。
デスクトップ表示ではusernameの右側のボタンからも追加可能
- チャンネルに色を設定できるようになりました。各ノートに設定した色のインジケーターが表示されます。
- チャンネルをアーカイブできるようになりました。
* アーカイブすると、チャンネル一覧や検索結果に表示されなくなり、新たな書き込みもできなくなります。
- アンテナのエクスポート・インポートができるようになりました
- ロールタイムラインをロールごとに表示するかどうかの選択できるようになりました。
* デフォルトがオフになるので、ロールタイムラインを表示する場合はオンにしてください。
- ロールに強制的にNSFWを付与するポリシーを追加
* アップロード済みのファイルはNSFWにならない為注意してください。
- モデレーションノートがユーザーのプロフィールページからも閲覧および編集できるようになりました。
- カスタム絵文字のライセンスを複数でセットできるようになりました。
- 管理者が予約ユーザー名を設定できるようになりました。
- Fix: フォローリクエストの通知が残る問題を修正
### Client
- アカウント作成時に初期設定ウィザードを表示するように
- チャンネル内検索ができるように
- チャンネル検索ですべてのチャンネルの取得/表示ができるように
- 通知の表示をカスタマイズできるように
- ドライブのファイル一覧から直接ノートを作成できるように
- ートメニューからRenoteしたユーザーの一覧を見れるように
- コントロールパネルのカスタム絵文字ページおよびaboutのカスタム絵文字の検索インプットで、`:emojiname1::emojiname2:`のように検索して絵文字を検索できるように
* 絵文字ピッカーから入力可能になります
- データセーバーモードを追加
* 画像が全て隠れた状態で表示されるようになります
- 閲覧注意設定された画像は表示した状態でもそれが閲覧注意だと分かる表示をするように
- モデレーターはートに添付された画像上から直接NSFW設定できるように
- 1枚だけのメディアリストの画像のアスペクト比を画像に応じて縦長にするように
- プロフィール設定「追加情報」の項目の削除と並び替えができるように
- 新しい実績を追加
- AiScriptを0.13.2に更新
- Fix: AiScript APIのMk:dialogで何も返していなかったのをNULLを返すように修正
- Fix: 1:1ではない画像のリアクション通知バッジが左や上に寄ってしまっていたのを中央に来るように修正
- Fix: リアクションをホバーした時のユーザーリストで猫耳が切れてしまっていた問題を修正
- Fix: NSFWメディアの上に表示された「もっと見る」ボタンが押しづらい問題を修正
### Server
- channel/searchのqueryが空の場合に全てのチャンネルを返すように変更
- 環境変数MISSKEY_CONFIG_YMLで設定ファイルをdefault.ymlから変更可能に
- Fix: 他のサーバーの情報が取得できないことがある問題を修正
- Fix: エクスポートデータの拡張子がunknownになる問題を修正
- Fix: Content-Dispositionのパースでエラーが発生した場合にダウンロードが完了しない問題を修正
- Fix: API: i/update avatarIdとbannerIdにnullを渡した時、画像がリセットされない問題を修正
- Fix: .wav, .flacが再生できない問題を修正新しくアップロードされたファイルのみ修正が適用されます
- Fix: 凍結されたユーザーが一部APIのレスポンスに含まれる問題を修正
- Fix: メモリの使用量を`used - buffers - cached`ではなく`total - available`で求めるように(環境によって正常に計測できていなかったため)
## 13.11.3
### General
- 指定したロールを持つユーザーのノートのみが流れるロールタイムラインを追加
- Deckのカラムとしても追加可能
- カスタム絵文字関連の改善
* ートなどに含まれるemojispopulateEmojiの結果プロキシされたURLではなくオリジナルのURLを指すように
* MFMでx3/x4もしくはscale.x/yが2.5以上に指定されていた場合にはオリジナル品質の絵文字を使用するように
- カスタム絵文字でリアクションできないことがある問題を修正
### Client
- チャンネルのピン留めされたノートの順番が正しくない問題を修正
### Server
- フォローインポートなどでの大量のフォロー等操作をキューイングするように #10544 @nmkj-io
- Misskey Webでのサーバーサイドエラー画面を改善
- Misskey Webでのサーバーサイドエラーのログが残るように
- ノート作成時のアンテナ追加パフォーマンスを改善
- アンテナとロールTLのuntil/sinceプロパティが動くように
## 13.11.2
### Note
- 13.11.0または13.11.1から13.11.2以降にアップデートする場合、Redisのカスタム絵文字のキャッシュを削除する必要があります(https://github.com/misskey-dev/misskey/issues/10502#issuecomment-1502790755 参照)
### General
- チャンネルの検索用ページの追加
### Client
- 常に広告を見られるオプションを追加
- ユーザーページの画像一覧が表示されない問題を修正
- webhook, 連携アプリ一覧でコンテンツが重複して表示される問題を修正
- iPhoneで絵文字ピッカーの表示が崩れる問題を修正
- iPhoneでウィジェットドロワーの「ウィジェットを編集」が押しにくい問題を修正
- 投稿フォームのデザインを調整
- ギャラリーの人気の投稿が無限にページングされる問題を修正
### Server
- channels/search Endpoint APIの追加
- APIパラメータサイズ上限を32kbから1mbに緩和
- プッシュ通知送信時のパフォーマンスを改善
- ローカルのカスタム絵文字のキャッシュが効いていなかった問題を修正
- アンテナのノート、チャンネルのノート、通知が正常に作成できないことがある問題を修正
- ストリーミングのLTLチャンネルでサーバー側にエラーログが出るのを修正
### Service Worker
- 「通知が既読になったらプッシュ通知を削除する」を復活
* 「プッシュ通知が更新されました」の挙動を変えた(ホストとバージョンを表示するようにし、一定時間後の削除は行わないように)
- プッシュ通知が実績を解除 (achievementEarned) に対応
- プッシュ通知のアクションから既存のクライアントの投稿フォームを開くことになった際の挙動を修正
- たくさんのプッシュ通知を閉じた際、その通知の数だけnotifications/mark-all-as-readを叩くのをやめるように
## 13.11.1
### General
- チャンネルの投稿を過去までさかのぼれるように
### Client
- PWA時の絵文字ピッカーの位置をホームバーに重ならないように調整
- リスト管理の画面でリストが無限に読み込まれる問題を修正
- 自分のクリップが無限に読み込まれる問題を修正
- チャンネルのお気に入りが無限に読み込まれる問題を修正
- さがすのローカルユーザー(ピンどめ)が無限に生成される問題を修正
- チャンネルを新規作成できない問題を修正
- ユーザープレビューが表示されない問題を修正
### Server
- 通知読み込みでエラーが発生する場合がある問題を修正
- リアクションできないことがある問題を修正
- IDをaid以外に設定している場合の問題を修正
- 連合しているインスタンスについて予期せず配送が全て停止されることがある問題を修正
## 13.11.0
### NOTE
- このバージョンからRedis 7.xが必要です。
- アップデートを行うと全ての通知およびアンテナのノートはリセットされます。
### General
- チャンネルをお気に入りに登録できるように
- タイムラインのアンテナ選択などでは、フォローしているアンテナの代わりにお気に入りしたアンテナが表示されるようになっています。チャンネルをお気に入りに登録するには、当該チャンネルのページ→概要→⭐️のボタンを押します。
- チャンネルにノートをピン留めできるように
### Client
- 投稿フォームのデザインを改善
- 検索ページでURLを入力した際に照会したときと同等の挙動をするように
- ノートのリアクションを大きく表示するオプションを追加
- ギャラリー一覧にメディア表示と同じように NSFW 設定を反映するように(ホバーで表示)
- オブジェクトストレージの設定画面を分かりやすく
- 広告・お知らせが新規登録時に増殖しないように
- 「にゃああああああああああああああ!!!!!!!!!!!!」 (`isCat`) 有効時にアバターに表示される猫耳について挙動を変更
- 「UIにぼかし効果を使用」 (`useBlurEffect`) で次の挙動が有効になります
- 猫耳のアバター内部部分をぼかしでマスク表示してより猫耳っぽく見えるように
- 「UIのアニメーションを減らす」 (`reduceAnimation`) で猫耳を撫でられなくなります
- Add Minimizing ("folding") of windows
- 「データセーバー」モードを追加
- 非NSFWメディアが隠れている際にも「閲覧注意」が出てしまう問題を修正
### Server
- PostgreSQLのレプリケーション対応
- 設定ファイルの `dbReplications` および `dbSlaves` にて設定できます
- イベント用Redisを別サーバーに分離できるように
- ジョブキュー用Redisを別サーバーに分離できるように
- サーバーの全体的なパフォーマンスを向上
- ノート作成時のパフォーマンスを向上
- アンテナのタイムライン取得時のパフォーマンスを向上
- チャンネルのタイムライン取得時のパフォーマンスを向上
- 通知に関する全体的なパフォーマンスを向上
- webhookがcontent-type text/plain;charset=UTF-8 で飛んでくる問題を修正
## 13.10.3
### Changes
- オブジェクトストレージのリージョン指定が必須になりました
- リージョンの指定の無いサービスは us-east-1 を設定してください
- 値が空の場合は設定ファイルまたは環境変数の使用を試みます
- e.g. ~/aws/config, AWS_REGION
### General
- コンディショナルロールの条件に「投稿数が~以下」「投稿数が~以上」を追加
- リアクション非対応AP実装からのLikeアクティビティの解釈を👍から♥に
### Client
- クリップボタンをノートアクションに追加できるように
- センシティブワードの一覧にピン留めユーザーのIDが表示される問題を修正
### Server
- リモートユーザーのチャート生成を無効にするオプションを追加
- リモートサーバーのチャート生成を無効にするオプションを追加
- ドライブのチャートはローカルユーザーのみ生成するように
- 空のアンテナが作成できるのを修正
## 13.10.2
### Server
- 絵文字を編集すると保存できないことがある問題を修正
### Client
- ドライブファイルのメニューが正常に動作しない問題を修正
## 13.10.1
### Client
- Misskey PlayのPlayボタンを押した時にエラーが発生する問題を修正
## 13.10.0
### General
- ユーザーごとにRenoteをミュートできるように
- ノートごとに絵文字リアクションを受け取るか設定できるように
- クリップをお気に入りに登録できるように
- ノート検索の利用可否をロールで制御可能に(デフォルトでオフ)
- ロールの並び順を設定可能に
- カスタム絵文字にライセンス情報を付与できるように
- 指定した文字列を含む投稿の公開範囲をホームにできるように
- 使われてないアンテナは自動停止されるように
### Client
- 設定から自分のロールを確認できるように
- 広告一覧ページを追加
- ドライブクリーナーを追加
- DM作成時にメンションも含むように
- フォロー申請のボタンのデザインを改善
- 付箋ウィジェットの高さを設定可能に
- APオブジェクトを入力してフェッチする機能とユーザーやートの検索機能を分離
- ナビゲーションバーの項目に「プロフィール」を追加できるように
- ナビゲーションバーのカスタマイズをドラッグ&ドロップで行えるように
- ジョブキューの再試行をワンクリックでできるように
- AiScriptを0.13.1に更新
- oEmbedをサポートしているウェブサイトのプレビューができるように
- YouTubeをoEmbedでロードし、プレビューで共有ボタンを押すとOSの共有画面がでるように
- ([FirefoxでSpotifyのプレビューを開けるとフルサイズじゃなくプレビューサイズだけ再生できる問題](https://bugzilla.mozilla.org/show_bug.cgi?id=1792395)があります)
- (すでにブラウザーでキャッシュされたリンクに対しては以前のプレビュー行動が行われてます。その場合、ブラウザーのキャッシュをクリアしてまた試してください。)
- プロフィールで設定した情報が削除できない問題を修正
- ロールで広告を無効にするとadmin/adsでプレビューがでてこない問題を修正
- /api-consoleページにアクセスすると404が出る問題を修正
- Safariでプラグインが複数ある場合に正常に読み込まれない問題を修正
- Bookwyrmのユーザーのプロフィールページで「リモートで表示」をタップしても反応がない問題を修正
- 非ログイン時の「Misskeyについて」の表示を修正
- PC版にて「設定」「コントロールパネル」のリンクを2度以上続けてクリックした際に空白のページが表示される問題を修正
### Server
- OpenAPIエンドポイントを復旧
- WebP/AVIF/JPEGのweb公開用画像は、サーバーサイドではJPEGではなくWebPに変換するように
- アニメーション画像のサムネイルを生成するように
- アクティブユーザー数チャートの記録上限値を拡張
- Playのソースコード上限文字数を2倍に拡張
- 配送先サーバーが410 Goneで応答してきた場合は自動で配送停止をするように
- avatarBlurHash/bannerBlurHashの型をstringに限定
- タイムライン取得時のパフォーマンスを改善
- SMTP Login id length is too short
- API上で`visibility``followers`に設定してrenoteすると連合や削除で不具合が発生する問題を修正
- AWS S3からのファイル削除でNoSuchKeyエラーが出ると進めらない状態になる問題を修正
- `disableCache: true`を設定している場合に絵文字管理操作でエラーが出る問題を修正
- リテンション分析が上手く機能しないことがあるのを修正
- 空のアンテナが作成できないように修正
- 特定の条件で通報が見れない問題を修正
- 絵文字の名前に任意の文字が使用できる問題を修正
## 13.9.2 (2023/03/06)
### Improvements
- クリップ、チャンネルページに共有ボタンを追加
- チャンネルでタイムライン上部に投稿フォームを表示するかどうかのオプションを追加
- ブラウザでメディアプロキシ(/proxy)からファイルを保存した際に、なるべくオリジナルのファイル名を継承するように
- ドライブの「URLからアップロード」で、content-dispositionのfilenameがあればそれをファイル名に
- Identiconがローカルとリモートで同じになるように
- これまでのIdenticonは異なる画像になります
- サーバーのパフォーマンスを改善
### Bugfixes ### Bugfixes
- ロールの権限で「一般ユーザー」のロールがいきなり設定できない問題を修正 - Server: Backported versions mitigate isn't working @mei23
- ユーザーページのバッジ表示を適切に折り返すように @arrow2nd
- fix(client): みつけるのロール一覧でコンディショナルロールが含まれるのを修正
- macOSでDev Containerが動作しない問題を修正 @RyotaK
## 13.9.1 (2023/03/03)
### Bugfixes
- ノートに添付したファイルが表示されない場合があるのを修正
## 13.9.0 (2023/03/03)
### Improvements
- 時限ロール
- アンテナでCWも検索対象にするように
- ノートの操作部をホバー時のみ表示するオプションを追加
- サウンドを追加
- サーバーのパフォーマンスを改善
### Bugfixes
- 外部メディアプロキシ使用時にアバタークロップができない問題を修正
- fix(server): メールアドレス更新時にバリデーションが正しく行われていないのを修正
- fix(server): チャンネルでミュートが正しく機能していないのを修正
- プッシュ通知でカスタム絵文字リアクションを表示できなかった問題を修正
## 13.8.1 (2023/02/26)
### Bugfixes
- モバイルでドロワーメニューが表示されない問題を修正
## 13.8.0 (2023/02/26)
### Improvements
- チャンネル内ハイライト
- ホームタイムラインのパフォーマンスを改善
- renoteした際の表示を改善
- バックグラウンドで一定時間経過したらページネーションのアイテム更新をしない
- enhance(client): MkUrlPreviewの閉じるボタンを見やすく
- Add dialog to remove follower
- enhance(client): improve clip menu ux
- 検索画面の統合
- enhance(client): ノートメニューからユーザーメニューを開けるように
- photoswipe 表示時に戻る操作をしても前の画面に戻らないように
### Bugfixes
- Windows環境でswcを使うと正しくビルドできない問題の修正
- fix(client): Android ChromeでPWAとしてインストールできない問題を修正
- 未知のユーザーが deleteActor されたら処理をスキップする
- fix(server): notes/createで、fileIdsと見つかったファイルの数が異なる場合はエラーにする
- fix(server): notes/createのバリデーションが機能していないのを修正
- fix(server): エラーのスタックトレースは返さないように
## 13.7.5 (2023/02/24)
### Note
13.7.0以前から直接このバージョンにアップデートする場合は全ての通知が削除**されません。**
### Improvements
- 紛らわしいため公開範囲の「ローカルのみ」オプションの名称を「連合なし」に変更
- Frontend: スマホ・タブレットの場合、チャンネルの投稿フォームに自動でフォーカスしないように
### Bugfixes
- 全ての通知が削除されてしまうのを修正
## 13.7.3 (2023/02/23)
### Note
~~13.7.0以前から直接このバージョンにアップデートする場合は全ての通知が削除**されません。**~~
### Improvements
### Bugfixes
- Client: 「キャッシュを削除」した後、ローカルのカスタム絵文字が表示されなくなるされなくなる問題を修正
- Client: 通知設定画面で以前からグループの招待を有効化していた場合、通知の表示に失敗する問題の修正
- Client: 通知設定画面に古いトグルが残っていた問題を修正
## 13.7.2 (2023/02/23)
### Note
13.7.0以前からアップデートする場合は全ての通知が削除されます。
### Improvements
- enhance: make pwa icon maskable
- chore(client): tweak custom emoji size
### Bugfixes
- マイグレーションが失敗することがあるのを修正
## 13.7.1 (2023/02/23)
### Improvements
- pnpm buildではswcを使うように
### Bugfixes
- NODE_ENV=productionでビルドできないのを修正
## 13.7.0 (2023/02/22)
### Changes
- チャット機能が削除されました
### Improvements
- Server: URLプレビューsummalyはプロキシを通すように
- Client: 2FA設定のUIをまともにした
- セキュリティキーの名前を変更できるように
- enhance(client): add quiz preset for play
- 広告開始時期を設定できるように
- みつけるで公開ロール一覧とそのメンバーを閲覧できるように
- enhance(client): MFMのx3, x4が含まれていたらートをたたむように
- enhance(client): make possible to reload page of window
### Bugfixes
- ユーザー検索ダイアログでローカルユーザーを絞って検索できない問題を修正
- fix(client): MkHeader及びデッキのカラムでチャンネル一覧を選択したとき、最大5個までしか表示されない
- 管理画面の広告を10個以上見えるように
- Moderation note が保存できない
- ユーザーのハッシュタグ検索が機能していないのを修正
## 13.6.1 (2023/02/12)
### Improvements
- アニメーションを少なくする設定の時、MkPageHeaderのタブアニメーションを無効化
- Backend: activitypub情報がcorsでブロックされないようヘッダーを追加
- enhance: レートリミットを0%にできるように
- チャンネル内Renoteを行えるように
### Bugfixes
- Client: ユーザーページでアクティビティを見ることができない問題を修正
## 13.6.0 (2023/02/11)
### Improvements
- MkPageHeaderをごっそり変えた
* モバイルではヘッダーは上下に分割され、下段にタブが表示されるように
* iconOnlyのタブ項目がアクティブな場合にはタブのタイトルを表示するように
* メインタイムラインではタイトルを表示しない
* メインタイムラインかつモバイルで表示される左上のアバターを選択するとアカウントメニューが開くように
- ユーザーページのノート一覧をタブとして分離
- コンディショナルロールもバッジとして表示可能に
- enhance(client): ロールをより簡単に付与できるように
- enhance(client): 一度見たートのRenoteは省略して表示するように
- enhance(client): 迷惑になる可能性のある投稿を行う前に警告を表示
- リアクションの数が多い場合の表示を改善
- 一部のMFM構文をopt-outに
### Bugfixes
- Client: ユーザーページでタブがほとんど見れないことがないように
## 13.5.6 (2023/02/10)
### Improvements
- 非ログイン時にMiAuthを踏んだ際にMiAuthであることを表示する
- /auth/のUIをアップデート
- 利用規約同意UIの調整
- クロップ時の質問を分かりやすく
### Bugfixes
- fix: prevent clipping audio plyr's tooltip
## 13.5.4 (2023/02/09)
### Improvements
- Server: UIのHTMLートなどの特別なページを除くのキャッシュ時間を15秒から30秒に
- i/notificationsのレートリミットを緩和
### Bugfixes
- fix(client): validate url to improve security
- fix(client): dateの初期値が正常に入らない時がある
## 13.5.3 (2023/02/09)
### Improvements
- Client: デッキにチャンネルカラムを追加
## 13.5.2 (2023/02/08)
### Changes
- Revert: perf(client): do not render custom emojis in user names
### Bugfixes
- Client: register_note_view_interruptor not working
- Client: ログイントークンの再生成が出来ない
## 13.5.0 (2023/02/08)
### Changes
- perf(client): do not render custom emojis in user names
### Improvements
- Client: disableShowingAnimatedImagesのデフォルト値をprefers-reduced-motionにする
- enhance(client): tweak medialist style
### Bugfixes
- fix docker health check
- Client: MkEmojiPickerでもChromeで検索ダイアログで変換確定するとそのまま検索されてしまうのを修正
- fix(mfm): default degree not used in rotate
- fix(server): validate urls from ap to improve security
## 13.4.0 (2023/02/05)
### Improvements
- ロールにアイコンを設定してユーザー名の横に表示できるように
- feat: timeline page for non-login users
- 実績の単なるラッキーの獲得確立を調整
- Add Thai language support
### Bugfixes
- fix(server): 自分のノートをお気に入りに登録しても実績解除される問題を修正
- fix(server): clean up file in FileServer
- fix(server): Deny UNIX domain socket
- fix(server): validate filename and emoji name to improve security
- fix(client): validate input response in aiscript
- fix(client): add webhook delete button
- fix(client): tweak notification style
- fix(client): インラインコードを折り返して表示する
## 13.3.3 (2023/02/04)
### Bugfixes
- Server: improve security
## 13.3.2 (2023/02/04)
### Improvements
- 外部メディアプロキシへの対応を強化しました
外部メディアプロキシのFastify実装を作りました
https://github.com/misskey-dev/media-proxy
- Server: improve performance
### Bugfixes
- Client: validate urls to improve security
## 13.3.1 (2023/02/04)
### Bugfixes
- Client: カスタム絵文字にアニメーション画像を再生しない設定が適用されていない問題を修正
- Client: オートコンプリートでUnicode絵文字がカスタム絵文字として表示されてしまうのを修正
- Client: Fix Vue-plyr CORS issue
- Client: validate urls to improve security
## 13.3.0 (2023/02/03)
### Changes
- twitter/github/discord連携機能が削除されました
- ハッシュタグごとのチャートが削除されました
- syslogのサポートが削除されました
### Improvements
- ロールで広告の非表示が有効になっている場合は最初から広告を非表示にするように
## 13.2.6 (2023/02/01)
### Changes
- docker-compose.ymlをdocker-compose.yml.exampleにしました。docker-compose.ymlとしてコピーしてから使用してください。
### Improvements
- 絵文字ピッカーのパフォーマンスを改善
- AiScriptを0.12.4に更新
### Bugfixes
- Server: リレーと通信できない問題を修正
- Client: classicモード使用時にwindowサイズによってdefaultに変更された後に、windowサイズが元に戻ったらclassicに戻すように修正 #9669
- Client: Chromeで検索ダイアログで変換確定するとそのまま検索されてしまう問題を修正
## 13.2.4 (2023/01/27)
### Improvements
- リモートカスタム絵文字表示時のパフォーマンスを改善
- Default to `animation: false` when prefers-reduced-motion is set
- リアクション履歴が公開なら、ログインしていなくても表示できるように
- tweak blur setting
- tweak custom emoji cache
### Bugfixes
- fix aggregation of retention
- ダッシュボードでオンラインユーザー数が表示されない問題を修正
- フォロー申請・フォローのボタンが、通知から消えている問題を修正
## 13.2.3 (2023/01/26)
### Improvements
- カスタム絵文字の更新をリアルタイムで反映するように
### Bugfixes
- turnstile-failed: missing-input-secret
## 13.2.2 (2023/01/25)
### Improvements
- サーバーのパフォーマンスを改善
### Bugfixes
- サインイン時に誤ったレートリミットがかかることがある問題を修正
- MFMのposition、rotate、scaleで小数が使えない問題を修正
## 13.2.1 (2023/01/24)
### Improvements
- デザインの調整
- サーバーのパフォーマンスを改善
## 13.2.0 (2023/01/23)
### Improvements
- onlyServer / onlyQueue オプションを復活
- 他人の実績閲覧時は獲得条件を表示しないように
- アニメーション減らすオプション有効時はリアクションのアニメーションを無効に
- カスタム絵文字一覧のパフォーマンスを改善
### Bugfixes
- Aiscript: button is not defined
## 13.1.7 (2023/01/22)
### Improvements
- 新たな実績を追加
- MFMにscaleタグを追加
## 13.1.4 (2023/01/22)
### Improvements
- 新たな実績を追加
### Bugfixes
- Client: ローカリゼーション更新時にリロードが繰り返されることがあるのを修正
## 13.1.3 (2023/01/22)
### Bugfixes
- Client: リアクションのカスタム絵文字の表示の問題を修正
## 13.1.2 (2023/01/22)
### Bugfixes
- Client: リアクションのカスタム絵文字の表示の問題を修正
## 13.1.1 (2023/01/22)
### Improvements
- ローカルのカスタム絵文字を表示する際のパフォーマンスを改善
- Client: 瞬間的に大量の実績を解除した際の挙動を改善
### Bugfixes
- Client: アップデート時にローカリゼーションデータが更新されないことがあるのを修正
## 13.1.0 (2023/01/21)
### Improvements
- 実績機能
- Playのプリセットを追加
- Playのscriptの文字数制限を緩和
- AiScript GUIの強化
- リアクション一覧詳細ダイアログを表示できるように
- 存在しないカスタム絵文字をテキストで表示するように
- Alt text in image viewer
- ジョブキューのプロセスとWebサーバーのプロセスを分離
### Bugfixes
- playを削除する手段がなかったのを修正
- The … button on notes does nothing when not logged in
- twitterと連携するときに autwh is not a function になるのを修正
## 13.0.0 (2023/01/16)
### TL;DR
- New features (Role system, Misskey Play, New widgets, New charts, 🍪👈, etc)
- Rewriten backend
- Better performance (backend and frontend)
- Various usability improvements
- Various UI tweaks
### Notable features
- ロール機能
- 従来より柔軟にユーザーのポリシーを管理できます。例えば、「インスタンスのパトロンはアンテナを30個まで作れる」「基本的にLTLは見れないが、許可した人だけ見れる」「招待制インスタンスだけどユーザーなら誰でも他者を招待できる」のような運用はもちろん、「ローカルユーザーかつアカウント作成から1日未満のユーザーはパブリックな投稿を行えない」のように複数条件を組み合わせて、自動でロールを付与する設定も可能です。
- Misskey Play
- 従来の動的なPagesに代わる、新しいプラットフォームです。動的なコンテンツ(アプリケーション)に特化していて、Pagesに比べてはるかに柔軟なアプリケーションを作成可能です。
### Changes
#### For server admins
- Node.js 18.x or later is required
- PostgreSQL 15.x is required
- Misskey not using 15 specific features at 13.0.0, but may do so in the future.
- Docker環境でPostgreSQLのアップデートを行う際のガイドはこちら: https://github.com/misskey-dev/misskey/pull/9641#issue-1536336620
- Elasticsearchのサポートが削除されました
- 代わりに今後任意の検索プロバイダを設定できる仕組みを構想しています。その仕組みを使えば今まで通りElasticsearchも利用できます
- Yarnからpnpmに移行されました
corepackの有効化を推奨します: `sudo corepack enable`
- インスタンスブロックはサブドメインにも適用されるようになります
- ロールの導入に伴い、いくつかの機能がロールと統合されました
- モデレーターはロールに統合されました。今までのモデレーター情報は失われるため、予めモデレーター一覧を記録しておき、アップデート後にモデレーターロールを作りアサインし直してください。
- サイレンスはロールに統合されました。今までのユーザーは恩赦されるため、予めサイレンス一覧を記録しておくのをおすすめします。
- ユーザーごとのドライブ容量設定はロールに統合されました。
- インスタンスデフォルトのドライブ容量設定はロールに統合されました。アップデート後、ベースロールもしくはコンディショナルロールでドライブ容量を編集してください。
- LTL/GTLの解放状態はロールに統合されました。
- Dockerの実行をrootで行わないようにしました。Dockerかつオブジェクトストレージを使用していない場合は`chown -hR 991.991 ./files`を実行してください。
https://github.com/misskey-dev/misskey/pull/9560
#### For users
- ノートのウォッチ機能が削除されました
- アンケートに投票された際に通知が作成されなくなりました
- ノートの数式埋め込みが削除されました
- 新たに動的なPagesを作ることはできなくなりました
- 代わりにAiScriptを用いてより柔軟に動的なコンテンツを作成できるMisskey Play機能が実装されています。
- AiScriptが0.12.2にアップデートされました
- 0.12.xの変更点についてはこちら https://github.com/syuilo/aiscript/blob/master/CHANGELOG.md#0120
- 0.12.x未満のプラグインは読み込むことはできません
- iOS15以下のデバイスはサポートされなくなりました
- Firefox110以下はサポートされなくなりました
- 109でもContainerQueriesのフラグを有効にする事で問題なく使用できます
#### For app developers
- API: metaのレスポンスに`emojis`プロパティが含まれなくなりました
- カスタム絵文字一覧情報を取得するには、`emojis`エンドポイントにリクエストします
- API: カスタム絵文字エンティティに`url`プロパティが含まれなくなりました
- 絵文字画像を表示するには、`<instance host>/emoji/<emoji name>.webp`にリクエストすると画像が返ります。
- e.g. `https://p1.a9z.dev/emoji/misskey.webp`
- remote: `https://p1.a9z.dev/emoji/syuilo_birth_present@mk.f72u.net.webp`
- API: `user`および`note`エンティティに`emojis`プロパティが含まれなくなりました
- API: `user`エンティティに`avatarColor`および`bannerColor`プロパティが含まれなくなりました
- API: `instance`エンティティに`latestStatus``lastCommunicatedAt``latestRequestSentAt`プロパティが含まれなくなりました
- API: `instance`エンティティの`caughtAt``firstRetrievedAt`に名前が変わりました
### Improvements
- Role system @syuilo
- Misskey Play @syuilo
- Introduce retention-rate aggregation @syuilo
- Make possible to export favorited notes @syuilo
- Add per user pv chart @syuilo
- Push notification of Antenna note @tamaina
- AVIF support @tamaina
- Add Cloudflare Turnstile CAPTCHA support @CyberRex0
- レートリミットをユーザーごとに調整可能に @syuilo
- 非モデレーターでも、権限を持つロールをアサインされたユーザーはインスタンスの招待コードを発行できるように @syuilo
- 非モデレーターでも、権限を持つロールをアサインされたユーザーはカスタム絵文字の追加、編集、削除を行えるように @syuilo
- クリップおよびクリップ内のノートの作成可能数を設定可能に @syuilo
- ユーザーリストおよびユーザーリスト内のユーザーの作成可能数を設定可能に @syuilo
- ハードワードミュートの最大文字数を設定可能に @syuilo
- Webhookの作成可能数を設定可能に @syuilo
- ノートをピン留めできる数を設定可能に @syuilo
- Server: signToActivityPubGet is set to true by default @syuilo
- Server: improve syslog performance @syuilo
- Server: Use undici instead of node-fetch and got @tamaina
- Server: Judge instance block by endsWith @tamaina
- Server: improve note scoring for featured notes @CyberRex0
- Server: アンケート選択肢の文字数制限を緩和 @syuilo
- Server: プロフィールの文字数制限を緩和 @syuilo
- Server: add rate limits for some endpoints @syuilo
- Server: improve stats api performance @syuilo
- Server: improve nodeinfo performance @syuilo
- Server: delete outdated notifications regularly to improve db performance @syuilo
- Server: delete outdated hard-mutes regularly to improve db performance @syuilo
- Server: delete outdated notes of antenna regularly to improve db performance @syuilo
- Server: improve activitypub deliver performance @syuilo
- Client: use tabler-icons instead of fontawesome to better design @syuilo
- Client: Add new gabber kick sounds (thanks for noizenecio)
- Client: Add link to user RSS feed in profile menu @ssmucny
- Client: Compress non-animated PNG files @saschanaz
- Client: YouTube window player @sim1222
- Client: show readable error when rate limit exceeded @syuilo
- Client: enhance dashboard of control panel @syuilo
- Client: Vite is upgraded to v4 @syuilo, @tamaina
- Client: HMR is available while yarn dev @tamaina
- Client: Implement the button to subscribe push notification @tamaina
- Client: Implement the toggle to or not to close push notifications when notifications or messages are read @tamaina
- Client: show Unicode emoji tooltip with its name in MkReactionsViewer.reaction @saschanaz
- Client: OpenSearch support @SoniEx2 @chaoticryptidz
- Client: Support remote objects in search @SoniEx2
- Client: user activity page @syuilo
- Client: Make widgets of universal/classic sync between devices @tamaina
- Client: add user list widget @syuilo
- Client: Add AiScript App widget
- Client: add profile widget @syuilo
- Client: add instance info widget @syuilo
- Client: Improve RSS widget @tamaina
- Client: add heatmap of daily active users to about page @syuilo
- Client: introduce fluent emoji @syuilo
- Client: add new theme @syuilo
- Client: add new mfm function (position, fg, bg) @syuilo
- Client: show fireworks when visit user who today is birthday @syuilo
- Client: show bot warning on screen when logged in as bot account @syuilo
- Client: AiScriptからカスタム絵文字一覧を参照できるように @syuilo
- Client: improve overall performance of client @syuilo
- Client: ui tweaks @syuilo
- Client: clicker game @syuilo
### Bugfixes
- Server: Fix @tensorflow/tfjs-core's MODULE_NOT_FOUND error @ikuradon
- Server: 引用内の文章がnyaizeされてしまう問題を修正 @kabo2468
- Server: Bug fix for Pinned Users lookup on instance @squidicuzz
- Server: Fix peers API returning suspended instances @ineffyble
- Server: trim long text of note from ap @syuilo
- Server: Ap inboxの最大ペイロードサイズを64kbに制限 @syuilo
- Server: アンテナの作成数上限を追加 @syuilo
- Server: pages/likeのエラーIDが重複しているのを修正 @syuilo
- Server: pages/updateのパラメータによってはsummaryの値が更新されないのを修正 @syuilo
- Server: Escape SQL LIKE @mei23
- Server: 特定のPNG画像のアップロードに失敗する問題を修正 @usbharu
- Server: 非公開のクリップのURLでOGPレンダリングされる問題を修正 @syuilo
- Server: アンテナタイムライン(ストリーミング)が、フォローしていないユーザーの鍵投稿も拾ってしまう @syuilo
- Server: follow request list api pagination @sim1222
- Server: ドライブ容量超過時のエラーが適切にレスポンスされない問題を修正 @syuilo
- Client: パスワードマネージャーなどでユーザー名がオートコンプリートされない問題を修正 @massongit
- Client: 日付形式の文字列などがカスタム絵文字として表示されるのを修正 @syuilo
- Client: case insensitive emoji search @saschanaz
- Client: 画面の幅が狭いとウィジェットドロワーを閉じる手段がなくなるのを修正 @syuilo
- Client: InAppウィンドウが操作できなくなることがあるのを修正 @tamaina
- Client: use proxied image for instance icon @syuilo
- Client: Webhookの編集画面で、内容を保存することができない問題を修正 @m-hayabusa
- Client: Page編集でブロックの移動が行えない問題を修正 @syuilo
- Client: update emoji picker immediately on all input @saschanaz
- Client: チャートのツールチップが画面に残ることがあるのを修正 @syuilo
- Client: fix wrong link in tutorial @syuilo
### Special thanks
- All contributors
- All who have created instances for the beta test
- All who participated in the beta test
## 12.119.1 (2022/12/03) ## 12.119.1 (2022/12/03)
### Bugfixes ### Bugfixes
@@ -956,7 +117,7 @@ Meilisearchの設定に`index`が必要になりました。値はMisskeyサー
## 12.112.2 (2022/07/08) ## 12.112.2 (2022/07/08)
### Bugfixes ### Bugfixes
- Fix Docker doesn't work @mei23 - Fix Docker doesn't work @mei23
Still not working on arm64 environment. (See 12.112.0) Still not working on arm64 environment. (See 12.112.0)
## 12.112.1 (2022/07/07) ## 12.112.1 (2022/07/07)
@@ -998,7 +159,7 @@ same as 12.112.0
- Improve player detection in URL preview @mei23 - Improve player detection in URL preview @mei23
- Add Badge Image to Push Notification #8012 @tamaina - Add Badge Image to Push Notification #8012 @tamaina
- Server: Improve performance - Server: Improve performance
- Server: Supports IPv6 on Redis transport. @mei23 - Server: Supports IPv6 on Redis transport. @mei23
IPv4/IPv6 is used by default. You can tune this behavior via `redis.family`. IPv4/IPv6 is used by default. You can tune this behavior via `redis.family`.
- Server: Add possibility to log IP addresses of users @syuilo - Server: Add possibility to log IP addresses of users @syuilo
- Add additional drive capacity change support @CyberRex0 - Add additional drive capacity change support @CyberRex0
@@ -1211,7 +372,7 @@ same as 12.112.0
## 12.104.0 (2022/02/09) ## 12.104.0 (2022/02/09)
### Note ### Note
ビルドする前に`yarn clean`を実行してください。 ビルドする前に`npm run clean`を実行してください。
このリリースはマイグレーションの規模が大きいため、インスタンスによってはマイグレーションに時間がかかる可能性があります。 このリリースはマイグレーションの規模が大きいため、インスタンスによってはマイグレーションに時間がかかる可能性があります。
マイグレーションが終わらない場合は、チャートの情報はリセットされてしまいますが`__chart__`で始まるテーブルの**レコード**を全て削除(テーブル自体は消さないでください)してから再度試す方法もあります。 マイグレーションが終わらない場合は、チャートの情報はリセットされてしまいますが`__chart__`で始まるテーブルの**レコード**を全て削除(テーブル自体は消さないでください)してから再度試す方法もあります。

View File

@@ -15,7 +15,7 @@ Before creating an issue, please check the following:
- To avoid duplication, please search for similar issues before creating a new issue. - To avoid duplication, please search for similar issues before creating a new issue.
- Do not use Issues to ask questions or troubleshooting. - Do not use Issues to ask questions or troubleshooting.
- Issues should only be used to feature requests, suggestions, and bug tracking. - Issues should only be used to feature requests, suggestions, and bug tracking.
- Please ask questions or troubleshooting in ~~the [Misskey Forum](https://forum.misskey.io/)~~ [GitHub Discussions](https://github.com/misskey-dev/misskey/discussions) or [Discord](https://discord.gg/Wp8gVStHW3). - Please ask questions or troubleshooting in the [Misskey Forum](https://forum.misskey.io/) or [Discord](https://discord.gg/Wp8gVStHW3).
> **Warning** > **Warning**
> Do not close issues that are about to be resolved. It should remain open until a commit that actually resolves it is merged. > Do not close issues that are about to be resolved. It should remain open until a commit that actually resolves it is merged.
@@ -44,7 +44,7 @@ Thank you for your PR! Before creating a PR, please check the following:
- Check if there are any documents that need to be created or updated due to this change. - Check if there are any documents that need to be created or updated due to this change.
- If you have added a feature or fixed a bug, please add a test case if possible. - If you have added a feature or fixed a bug, please add a test case if possible.
- Please make sure that tests and Lint are passed in advance. - Please make sure that tests and Lint are passed in advance.
- You can run it with `pnpm test` and `pnpm lint`. [See more info](#testing) - You can run it with `npm run test` and `npm run lint`. [See more info](#testing)
- If this PR includes UI changes, please attach a screenshot in the text. - If this PR includes UI changes, please attach a screenshot in the text.
Thanks for your cooperation 🤗 Thanks for your cooperation 🤗
@@ -83,18 +83,11 @@ An actual domain will be assigned so you can test the federation.
- The title must be in the format `Release: x.y.z`. - The title must be in the format `Release: x.y.z`.
- `x.y.z` is the new version you are trying to release. - `x.y.z` is the new version you are trying to release.
3. Deploy and perform a simple QA check. Also verify that the tests passed. 3. Deploy and perform a simple QA check. Also verify that the tests passed.
4. Merge it. (Do not squash commit) 4. Merge it.
5. Create a [release of GitHub](https://github.com/misskey-dev/misskey/releases) 5. Create a [release of GitHub](https://github.com/misskey-dev/misskey/releases)
- The target branch must be `master` - The target branch must be `master`
- The tag name must be the version - The tag name must be the version
> **Note**
> Why this instruction is necessary:
> - To perform final QA checks
> - To distribute responsibility
> - To check direct commits to develop
> - To celebrate the release together 🎉
## Localization (l10n) ## Localization (l10n)
Misskey uses [Crowdin](https://crowdin.com/project/misskey) for localization management. Misskey uses [Crowdin](https://crowdin.com/project/misskey) for localization management.
You can improve our translations with your Crowdin account. You can improve our translations with your Crowdin account.
@@ -106,70 +99,37 @@ If your language is not listed in Crowdin, please open an issue.
![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg) ![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg)
## Development ## Development
During development, it is useful to use the During development, it is useful to use the `npm run dev` command.
This command monitors the server-side and client-side source files and automatically builds them if they are modified.
``` In addition, it will also automatically start the Misskey server process.
pnpm dev
```
command.
- Server-side source files and automatically builds them if they are modified. Automatically start the server process(es).
- Vite HMR (just the `vite` command) is available. The behavior may be different from production.
- Service Worker is watched by esbuild.
### Dev Container
Instead of running `pnpm` locally, you can use Dev Container to set up your development environment.
To use Dev Container, open the project directory on VSCode with Dev Containers installed.
**Note:** If you are using Windows, please clone the repository with WSL. Using Git for Windows will result in broken files due to the difference in how newlines are handled.
It will run the following command automatically inside the container.
``` bash
git submodule update --init
pnpm install --frozen-lockfile
cp .devcontainer/devcontainer.yml .config/default.yml
pnpm build
pnpm migrate
```
After finishing the migration, run the `pnpm dev` command to start the development server.
``` bash
pnpm dev
```
## Testing ## Testing
- Test codes are located in [`/packages/backend/test`](/packages/backend/test). - Test codes are located in [`/test`](/test).
### Run test ### Run test
Create a config file. Create a config file.
``` ```
cp .github/misskey/test.yml .config/ cp test/test.yml .config/
``` ```
Prepare DB/Redis for testing. Prepare DB/Redis for testing.
``` ```
docker compose -f packages/backend/test/docker-compose.yml up docker-compose -f test/docker-compose.yml up
``` ```
Alternatively, prepare an empty (data can be erased) DB and edit `.config/test.yml`. Alternatively, prepare an empty (data can be erased) DB and edit `.config/test.yml`.
Run all test. Run all test.
``` ```
pnpm test npm run test
``` ```
#### Run specify test #### Run specify test
``` ```
pnpm jest -- foo.ts npx cross-env TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT="./test/tsconfig.json" npx mocha test/foo.ts --require ts-node/register
``` ```
### e2e tests ### e2e tests
TODO TODO
## Environment Variable
- `MISSKEY_CONFIG_YML`: Specify the file path of config.yml instead of default.yml (e.g. `2nd.yml`).
- `MISSKEY_WEBFINGER_USE_HTTP`: If it's set true, WebFinger requests will be http instead of https, useful for testing federation between servers in localhost. NEVER USE IN PRODUCTION.
## Continuous integration ## Continuous integration
Misskey uses GitHub Actions for executing automated tests. Misskey uses GitHub Actions for executing automated tests.
Configuration files are located in [`/.github/workflows`](/.github/workflows). Configuration files are located in [`/.github/workflows`](/.github/workflows).
@@ -208,119 +168,10 @@ niraxは、Misskeyで使用しているオリジナルのフロントエンド
vue-routerとの最大の違いは、niraxは複数のルーターが存在することを許可している点です。 vue-routerとの最大の違いは、niraxは複数のルーターが存在することを許可している点です。
これにより、アプリ内ウィンドウでブラウザとは個別にルーティングすることなどが可能になります。 これにより、アプリ内ウィンドウでブラウザとは個別にルーティングすることなどが可能になります。
## Storybook
Misskey uses [Storybook](https://storybook.js.org/) for UI development.
### Setup & Run
#### Universal
##### Setup
```bash
pnpm --filter misskey-js build
pnpm --filter frontend tsc -p .storybook && (node packages/frontend/.storybook/preload-locale.js & node packages/frontend/.storybook/preload-theme.js)
```
##### Run
```bash
node packages/frontend/.storybook/generate.js && pnpm --filter frontend storybook dev
```
#### macOS & Linux
##### Setup
```bash
pnpm --filter misskey-js build
```
##### Run
```bash
pnpm --filter frontend storybook-dev
```
### Usage
When you create a new component (in this example, `MyComponent.vue`), the story file (`MyComponent.stories.ts`) will be automatically generated by the `.storybook/generate.js` script.
You can override the default story by creating a impl story file (`MyComponent.stories.impl.ts`).
```ts
/* eslint-disable @typescript-eslint/explicit-function-return-type */
import { StoryObj } from '@storybook/vue3';
import MyComponent from './MyComponent.vue';
export const Default = {
render(args) {
return {
components: {
MyComponent,
},
setup() {
return {
args,
};
},
computed: {
props() {
return {
...this.args,
};
},
},
template: '<MyComponent v-bind="props" />',
};
},
args: {
foo: 'bar',
},
parameters: {
layout: 'centered',
},
} satisfies StoryObj<typeof MkAvatar>;
```
If you want to opt-out from the automatic generation, create a `MyComponent.stories.impl.ts` file and add the following line to the file.
```ts
import MyComponent from './MyComponent.vue';
void MyComponent;
```
You can override the component meta by creating a meta story file (`MyComponent.stories.meta.ts`).
```ts
export const argTypes = {
scale: {
control: {
type: 'range',
min: 1,
max: 4,
},
};
```
Also, you can use msw to mock API requests in the storybook. Creating a `MyComponent.stories.msw.ts` file to define the mock handlers.
```ts
import { rest } from 'msw';
export const handlers = [
rest.post('/api/notes/timeline', (req, res, ctx) => {
return res(
ctx.json([]),
);
}),
];
```
Don't forget to re-run the `.storybook/generate.js` script after adding, editing, or removing the above files.
## Notes ## Notes
### How to resolve conflictions occurred at pnpm-lock.yaml? ### How to resolve conflictions occurred at yarn.lock?
Just execute `pnpm` to fix it. Just execute `yarn` to fix it.
### INSERTするときにはsaveではなくinsertを使用する ### INSERTするときにはsaveではなくinsertを使用する
#6441 #6441
@@ -399,41 +250,19 @@ SQLでは配列のインデックスは**1始まり**。
### null IN ### null IN
nullが含まれる可能性のあるカラムにINするときは、そのままだとおかしくなるのでORなどでnullのハンドリングをしよう。 nullが含まれる可能性のあるカラムにINするときは、そのままだとおかしくなるのでORなどでnullのハンドリングをしよう。
### enumの削除は気をつける ### `undefined`にご用心
enumの列挙の内容の削除は、その値をもつレコードを全て削除しないといけない MongoDBの時とは違い、findOneでレコードを取得する時に対象レコードが存在しない場合 **`undefined`** が返ってくるので注意。
MongoDBは`null`で返してきてたので、その感覚で`if (x === null)`とか書くとバグる。代わりに`if (x == null)`と書いてください
削除が重たかったり不可能だったりする場合は、削除しないでおく
### Migration作成方法 ### Migration作成方法
packages/backendで: packages/backendで:
```sh ```sh
pnpm dlx typeorm migration:generate -d ormconfig.js -o <migration name> npx typeorm migration:generate -d ormconfig.js -o <migration name>
``` ```
- 生成後、ファイルをmigration下に移してください - 生成後、ファイルをmigration下に移してください
- 作成されたスクリプトは不必要な変更を含むため除去してください - 作成されたスクリプトは不必要な変更を含むため除去してください
### JSON SchemaのobjectでanyOfを使うとき
JSON Schemaで、objectに対してanyOfを使う場合、anyOfの中でpropertiesを定義しないこと。
バリデーションが効かないため。SchemaTypeもそのように作られており、objectのanyOf内のpropertiesは捨てられます
https://github.com/misskey-dev/misskey/pull/10082
テキストhogeおよびfugaについて、片方を必須としつつ両方の指定もありうる場合:
```
export const paramDef = {
type: 'object',
properties: {
hoge: { type: 'string', minLength: 1 },
fuga: { type: 'string', minLength: 1 },
},
anyOf: [
{ required: ['hoge'] },
{ required: ['fuga'] },
],
} as const;
```
### コネクションには`markRaw`せよ ### コネクションには`markRaw`せよ
**Vueのコンポーネントのdataオプションとして**misskey.jsのコネクションを設定するとき、必ず`markRaw`でラップしてください。インスタンスが不必要にリアクティブ化されることで、misskey.js内の処理で不具合が発生するとともに、パフォーマンス上の問題にも繋がる。なお、Composition APIを使う場合はこの限りではない(リアクティブ化はマニュアルなため)。 **Vueのコンポーネントのdataオプションとして**misskey.jsのコネクションを設定するとき、必ず`markRaw`でラップしてください。インスタンスが不必要にリアクティブ化されることで、misskey.js内の処理で不具合が発生するとともに、パフォーマンス上の問題にも繋がる。なお、Composition APIを使う場合はこの限りではない(リアクティブ化はマニュアルなため)。

View File

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

View File

@@ -1,87 +1,32 @@
# syntax = docker/dockerfile:1.4 FROM node:16.15.1-bullseye AS builder
ARG NODE_VERSION=18.16.0-bullseye
# build assets & compile TypeScript
FROM --platform=$BUILDPLATFORM node:${NODE_VERSION} AS native-builder
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
rm -f /etc/apt/apt.conf.d/docker-clean \
; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache \
&& apt-get update \
&& apt-get install -yqq --no-install-recommends \
build-essential
RUN corepack enable
WORKDIR /misskey
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"]
COPY --link ["scripts", "./scripts"]
COPY --link ["packages/backend/package.json", "./packages/backend/"]
COPY --link ["packages/frontend/package.json", "./packages/frontend/"]
COPY --link ["packages/sw/package.json", "./packages/sw/"]
COPY --link ["packages/misskey-js/package.json", "./packages/misskey-js/"]
RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \
pnpm i --frozen-lockfile --aggregate-output
COPY --link . ./
ARG NODE_ENV=production ARG NODE_ENV=production
WORKDIR /misskey
COPY . ./
RUN apt-get update
RUN apt-get install -y build-essential
RUN git submodule update --init RUN git submodule update --init
RUN pnpm build RUN yarn install
RUN rm -rf .git/ RUN yarn build
RUN rm -rf .git
# build native dependencies for target platform FROM node:16.15.1-bullseye-slim AS runner
FROM --platform=$TARGETPLATFORM node:${NODE_VERSION} AS target-builder
RUN apt-get update \
&& apt-get install -yqq --no-install-recommends \
build-essential
RUN corepack enable
WORKDIR /misskey WORKDIR /misskey
COPY --link ["pnpm-lock.yaml", "pnpm-workspace.yaml", "package.json", "./"] RUN apt-get update
COPY --link ["scripts", "./scripts"] RUN apt-get install -y ffmpeg tini
COPY --link ["packages/backend/package.json", "./packages/backend/"]
RUN --mount=type=cache,target=/root/.local/share/pnpm/store,sharing=locked \ COPY --from=builder /misskey/node_modules ./node_modules
pnpm i --frozen-lockfile --aggregate-output COPY --from=builder /misskey/built ./built
COPY --from=builder /misskey/packages/backend/node_modules ./packages/backend/node_modules
FROM --platform=$TARGETPLATFORM node:${NODE_VERSION}-slim AS runner COPY --from=builder /misskey/packages/backend/built ./packages/backend/built
COPY --from=builder /misskey/packages/client/node_modules ./packages/client/node_modules
ARG UID="991" COPY . ./
ARG GID="991"
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ffmpeg tini curl \
&& corepack enable \
&& groupadd -g "${GID}" misskey \
&& useradd -l -u "${UID}" -g "${GID}" -m -d /misskey misskey \
&& find / -type d -path /proc -prune -o -type f -perm /u+s -ignore_readdir_race -exec chmod u-s {} \; \
&& find / -type d -path /proc -prune -o -type f -perm /g+s -ignore_readdir_race -exec chmod g-s {} \; \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists
USER misskey
WORKDIR /misskey
COPY --chown=misskey:misskey --from=target-builder /misskey/node_modules ./node_modules
COPY --chown=misskey:misskey --from=target-builder /misskey/packages/backend/node_modules ./packages/backend/node_modules
COPY --chown=misskey:misskey --from=native-builder /misskey/built ./built
COPY --chown=misskey:misskey --from=native-builder /misskey/packages/backend/built ./packages/backend/built
COPY --chown=misskey:misskey --from=native-builder /misskey/fluent-emojis /misskey/fluent-emojis
COPY --chown=misskey:misskey . ./
ENV NODE_ENV=production ENV NODE_ENV=production
HEALTHCHECK --interval=5s --retries=20 CMD ["/bin/bash", "/misskey/healthcheck.sh"]
ENTRYPOINT ["/usr/bin/tini", "--"] ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["pnpm", "run", "migrateandstart"] CMD ["npm", "run", "migrateandstart"]

View File

@@ -24,8 +24,6 @@
--- ---
[![codecov](https://codecov.io/gh/misskey-dev/misskey/branch/develop/graph/badge.svg?token=R6IQZ3QJOL)](https://codecov.io/gh/misskey-dev/misskey)
</div> </div>
<div> <div>
@@ -54,25 +52,6 @@ With Misskey's built in drive, you get cloud storage right in your social media,
Misskey Documentation can be found at [Misskey Hub](https://misskey-hub.net/), some of the links and graphics above also lead to specific portions of it. Misskey Documentation can be found at [Misskey Hub](https://misskey-hub.net/), some of the links and graphics above also lead to specific portions of it.
## Sponsors ## Sponsors
<div align="center"> <div align="center">
<a class="rss3" title="RSS3" href="https://rss3.io/" target="_blank"><img src="https://rss3.mypinata.cloud/ipfs/QmUG6H3Z7D5P511shn7sB4CPmpjH5uZWu4m5mWX7U3Gqbu" alt="RSS3" height="60"></a> <a class="rss3" title="RSS3" href="https://rss3.io/" target="_blank"><img src="https://rss3.mypinata.cloud/ipfs/QmUG6H3Z7D5P511shn7sB4CPmpjH5uZWu4m5mWX7U3Gqbu" alt="RSS3" height="60"></a>
</div> </div>
## Thanks
<a href="https://www.chromatic.com/"><img src="https://user-images.githubusercontent.com/321738/84662277-e3db4f80-af1b-11ea-88f5-91d67a5e59f6.png" height="30" alt="Chromatic" /></a>
Thanks to [Chromatic](https://www.chromatic.com/) for providing the visual testing platform that helps us review UI changes and catch visual regressions.
<a href="https://about.codecov.io/for/open-source/"><img src="https://about.codecov.io/wp-content/themes/codecov/assets/brand/sentry-cobranding/logos/codecov-by-sentry-logo.svg" height="30" alt="Codecov" /></a>
Thanks to [Codecov](https://about.codecov.io/for/open-source/) for providing the code coverage platform that helps us improve our test coverage.
<a href="https://crowdin.com/"><img src="https://user-images.githubusercontent.com/20679825/230709597-1299a011-171a-4294-a91e-355a9b37c672.svg" height="30" alt="Crowdin" /></a>
Thanks to [Crowdin](https://crowdin.com/) for providing the localization platform that helps us translate Misskey into many languages.
<a href="https://hub.docker.com/"><img src="https://user-images.githubusercontent.com/20679825/230148221-f8e73a32-a49b-47c3-9029-9a15c3824f92.png" height="30" alt="Docker" /></a>
Thanks to [Docker](https://hub.docker.com/) for providing the container platform that helps us run Misskey in production.

View File

@@ -5,18 +5,19 @@ Also, the later tasks are more indefinite and are subject to change as developme
## (1) Improve maintainability \<current phase\> ## (1) Improve maintainability \<current phase\>
This is the phase we are at now. We need to make a high-maintenance environment that can withstand future development. 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)
- Probably need to switch some libraries to others that make it difficult to reduce type errors
- e.g. koa to fastify https://github.com/misskey-dev/misskey/issues/7537
- Improve CI - Improve CI
- ~~Fix tests~~ → Done ✔️ - Fix tests
- mocha, jest, etc. do not support the combination of `TypeScript + ESM + Path alias`, and the tests currently do not work.
- 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
- Add more tests - Add more tests
- ~~May need to implement a mechanism that allows for DI~~ → Done ✔️ - May need to implement a mechanism that allows for DI
- https://github.com/misskey-dev/misskey/pull/9085 - https://github.com/misskey-dev/misskey/pull/9085
- ~~Measure coverage~~ → Done ✔️ - Measure coverage
- https://github.com/misskey-dev/misskey/pull/9081 - https://github.com/misskey-dev/misskey/pull/9081
- Improve documentation - Improve documentation
- Refactoring
- Extract the logic of each endpoint definition into a service and just call it
## (2) Improve functionality ## (2) Improve functionality
Once Phase 1 is complete and an environment conducive to the development of a stable system is in place, the implementation of new functions can begin gradually. Once Phase 1 is complete and an environment conducive to the development of a stable system is in place, the implementation of new functions can begin gradually.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -1,4 +1,3 @@
apiVersion: v2 apiVersion: v2
name: misskey name: misskey
version: 0.0.0 version: 0.0.0
description: This chart is created for the purpose of previewing Pull Requests. Do not use this for production use.

View File

@@ -72,59 +72,25 @@ db:
#extra: #extra:
# ssl: true # ssl: true
dbReplications: false
# You can configure any number of replicas here
#dbSlaves:
# -
# host:
# port:
# db:
# user:
# pass:
# -
# host:
# port:
# db:
# user:
# pass:
# ┌─────────────────────┐ # ┌─────────────────────┐
#───┘ Redis configuration └───────────────────────────────────── #───┘ Redis configuration └─────────────────────────────────────
redis: redis:
host: localhost host: localhost
port: 6379 port: 6379
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
#pass: example-pass #pass: example-pass
#prefix: example-prefix #prefix: example-prefix
#db: 1 #db: 1
#redisForPubsub: # ┌─────────────────────────────┐
# host: localhost #───┘ Elasticsearch configuration └─────────────────────────────
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
#redisForJobQueue: #elasticsearch:
# host: localhost # host: localhost
# port: 6379 # port: 9200
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6 # ssl: false
# #pass: example-pass # user:
# #prefix: example-prefix # pass:
# #db: 1
# ┌───────────────────────────┐
#───┘ MeiliSearch configuration └─────────────────────────────
#meilisearch:
# host: localhost
# port: 7700
# apiKey: ''
# ssl: true
# index: ''
# ┌───────────────┐ # ┌───────────────┐
#───┘ ID generation └─────────────────────────────────────────── #───┘ ID generation └───────────────────────────────────────────
@@ -167,6 +133,11 @@ id: "aid"
# IP address family used for outgoing request (ipv4, ipv6 or dual) # IP address family used for outgoing request (ipv4, ipv6 or dual)
#outgoingAddressFamily: ipv4 #outgoingAddressFamily: ipv4
# Syslog option
#syslog:
# host: localhost
# port: 514
# Proxy for HTTP/HTTPS # Proxy for HTTP/HTTPS
#proxy: http://127.0.0.1:3128 #proxy: http://127.0.0.1:3128
@@ -183,8 +154,8 @@ id: "aid"
# Media Proxy # Media Proxy
#mediaProxy: https://example.com/proxy #mediaProxy: https://example.com/proxy
# Sign to ActivityPub GET request (default: true) # Sign to ActivityPub GET request (default: false)
signToActivityPubGet: true #signToActivityPubGet: true
#allowedPrivateNetworks: [ #allowedPrivateNetworks: [
# '127.0.0.1/32' # '127.0.0.1/32'

View File

@@ -3,16 +3,16 @@ kind: Deployment
metadata: metadata:
name: {{ include "misskey.fullname" . }} name: {{ include "misskey.fullname" . }}
labels: labels:
{{- include "misskey.labels" . | nindent 4 }} {{- include "misskey.labels" . | nindent 4 }}
spec: spec:
selector: selector:
matchLabels: matchLabels:
{{- include "misskey.selectorLabels" . | nindent 6 }} {{- include "misskey.selectorLabels" . | nindent 6 }}
replicas: 1 replicas: 1
template: template:
metadata: metadata:
labels: labels:
{{- include "misskey.selectorLabels" . | nindent 8 }} {{- include "misskey.selectorLabels" . | nindent 8 }}
spec: spec:
containers: containers:
- name: misskey - name: misskey

View File

@@ -11,4 +11,4 @@ spec:
protocol: TCP protocol: TCP
name: http name: http
selector: selector:
{{- include "misskey.selectorLabels" . | nindent 4 }} {{- include "misskey.selectorLabels" . | nindent 4 }}

View File

@@ -1,4 +0,0 @@
coverage:
status:
project: false
patch: false

View File

@@ -10,14 +10,14 @@ describe('Before setup instance', () => {
}); });
it('successfully loads', () => { it('successfully loads', () => {
cy.visitHome(); cy.visit('/');
}); });
it('setup instance', () => { it('setup instance', () => {
cy.visitHome(); cy.visit('/');
cy.intercept('POST', '/api/admin/accounts/create').as('signup'); cy.intercept('POST', '/api/admin/accounts/create').as('signup');
cy.get('[data-cy-admin-username] input').type('admin'); cy.get('[data-cy-admin-username] input').type('admin');
cy.get('[data-cy-admin-password] input').type('admin1234'); cy.get('[data-cy-admin-password] input').type('admin1234');
cy.get('[data-cy-admin-ok]').click(); cy.get('[data-cy-admin-ok]').click();
@@ -43,49 +43,22 @@ describe('After setup instance', () => {
}); });
it('successfully loads', () => { it('successfully loads', () => {
cy.visitHome(); cy.visit('/');
}); });
it('signup', () => { it('signup', () => {
cy.visitHome(); cy.visit('/');
cy.intercept('POST', '/api/signup').as('signup'); cy.intercept('POST', '/api/signup').as('signup');
cy.get('[data-cy-signup]').click(); cy.get('[data-cy-signup]').click();
cy.get('[data-cy-signup-rules-continue]').should('be.disabled');
cy.get('[data-cy-signup-rules-notes-agree] [data-cy-switch-toggle]').click();
cy.get('[data-cy-signup-rules-continue]').should('not.be.disabled');
cy.get('[data-cy-signup-rules-continue]').click();
cy.get('[data-cy-signup-submit]').should('be.disabled');
cy.get('[data-cy-signup-username] input').type('alice'); cy.get('[data-cy-signup-username] input').type('alice');
cy.get('[data-cy-signup-submit]').should('be.disabled');
cy.get('[data-cy-signup-password] input').type('alice1234'); cy.get('[data-cy-signup-password] input').type('alice1234');
cy.get('[data-cy-signup-submit]').should('be.disabled');
cy.get('[data-cy-signup-password-retype] input').type('alice1234'); cy.get('[data-cy-signup-password-retype] input').type('alice1234');
cy.get('[data-cy-signup-submit]').should('not.be.disabled');
cy.get('[data-cy-signup-submit]').click(); cy.get('[data-cy-signup-submit]').click();
cy.wait('@signup'); cy.wait('@signup');
}); });
it('signup with duplicated username', () => {
cy.registerUser('alice', 'alice1234');
cy.visitHome();
// ユーザー名が重複している場合の挙動確認
cy.get('[data-cy-signup]').click();
cy.get('[data-cy-signup-rules-continue]').should('be.disabled');
cy.get('[data-cy-signup-rules-notes-agree] [data-cy-switch-toggle]').click();
cy.get('[data-cy-signup-rules-continue]').should('not.be.disabled');
cy.get('[data-cy-signup-rules-continue]').click();
cy.get('[data-cy-signup-username] input').type('alice');
cy.get('[data-cy-signup-password] input').type('alice1234');
cy.get('[data-cy-signup-password-retype] input').type('alice1234');
cy.get('[data-cy-signup-submit]').should('be.disabled');
});
}); });
describe('After user signup', () => { describe('After user signup', () => {
@@ -106,11 +79,11 @@ describe('After user signup', () => {
}); });
it('successfully loads', () => { it('successfully loads', () => {
cy.visitHome(); cy.visit('/');
}); });
it('signin', () => { it('signin', () => {
cy.visitHome(); cy.visit('/');
cy.intercept('POST', '/api/signin').as('signin'); cy.intercept('POST', '/api/signin').as('signin');
@@ -128,7 +101,7 @@ describe('After user signup', () => {
userId: this.alice.id, userId: this.alice.id,
}); });
cy.visitHome(); cy.visit('/');
cy.get('[data-cy-signin]').click(); cy.get('[data-cy-signin]').click();
cy.get('[data-cy-signin-username] input').type('alice'); cy.get('[data-cy-signin-username] input').type('alice');
@@ -139,7 +112,7 @@ describe('After user signup', () => {
}); });
}); });
describe('After user signed in', () => { describe('After user singed in', () => {
beforeEach(() => { beforeEach(() => {
cy.resetState(); cy.resetState();
@@ -159,77 +132,15 @@ describe('After user signed in', () => {
}); });
it('successfully loads', () => { it('successfully loads', () => {
cy.get('[data-cy-user-setup-continue]').should('be.visible'); cy.get('[data-cy-open-post-form]').should('be.visible');
}); });
it('account setup wizard', () => {
cy.get('[data-cy-user-setup-continue]').click();
cy.get('[data-cy-user-setup-user-name] input').type('ありす');
cy.get('[data-cy-user-setup-user-description] textarea').type('ほげ');
// TODO: アイコン設定テスト
cy.get('[data-cy-user-setup-continue]').click();
// プライバシー設定
cy.get('[data-cy-user-setup-continue]').click();
// フォローはスキップ
cy.get('[data-cy-user-setup-continue]').click();
// プッシュ通知設定はスキップ
cy.get('[data-cy-user-setup-continue]').click();
cy.get('[data-cy-user-setup-continue]').click();
});
});
describe('After user setup', () => {
beforeEach(() => {
cy.resetState();
// インスタンス初期セットアップ
cy.registerUser('admin', 'pass', true);
// ユーザー作成
cy.registerUser('alice', 'alice1234');
cy.login('alice', 'alice1234');
// アカウント初期設定ウィザード
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]').click();
cy.get('[data-cy-modal-dialog-ok]').click();
});
afterEach(() => {
// テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
// waitを入れることでそれを防止できる
cy.wait(1000);
});
it('note', () => { it('note', () => {
cy.get('[data-cy-open-post-form]').should('be.visible');
cy.get('[data-cy-open-post-form]').click(); cy.get('[data-cy-open-post-form]').click();
cy.get('[data-cy-post-form-text]').type('Hello, Misskey!'); cy.get('[data-cy-post-form-text]').type('Hello, Misskey!');
cy.get('[data-cy-open-post-form-submit]').click(); cy.get('[data-cy-open-post-form-submit]').click();
cy.contains('Hello, Misskey!'); cy.contains('Hello, Misskey!');
});
it('open note form with hotkey', () => {
// Wait until the page loads
cy.get('[data-cy-open-post-form]').should('be.visible');
// Use trigger() to give different `code` to test if hotkeys also work on non-QWERTY keyboards.
cy.document().trigger("keydown", { eventConstructor: 'KeyboardEvent', key: "n", code: "KeyL" });
// See if the form is opened
cy.get('[data-cy-post-form-text]').should('be.visible');
// Close it
cy.focused().trigger("keydown", { eventConstructor: 'KeyboardEvent', key: "Escape", code: "Escape" });
// See if the form is closed
cy.get('[data-cy-post-form-text]').should('not.be.visible');
}); });
}); });

View File

@@ -10,10 +10,6 @@ describe('After user signed in', () => {
cy.registerUser('alice', 'alice1234'); cy.registerUser('alice', 'alice1234');
cy.login('alice', 'alice1234'); cy.login('alice', 'alice1234');
// アカウント初期設定ウィザード
cy.get('[data-cy-user-setup] [data-cy-modal-window-close]').click();
cy.get('[data-cy-modal-dialog-ok]').click();
}); });
afterEach(() => { afterEach(() => {
@@ -23,27 +19,27 @@ describe('After user signed in', () => {
}); });
it('widget edit toggle is visible', () => { it('widget edit toggle is visible', () => {
cy.get('[data-cy-widget-edit]').should('be.visible'); cy.get('.mk-widget-edit').should('be.visible');
}); });
it('widget select should be visible in edit mode', () => { it('widget select should be visible in edit mode', () => {
cy.get('[data-cy-widget-edit]').click(); cy.get('.mk-widget-edit').click();
cy.get('[data-cy-widget-select]').should('be.visible'); cy.get('.mk-widget-select').should('be.visible');
}); });
it('first widget should be removed', () => { it('first widget should be removed', () => {
cy.get('[data-cy-widget-edit]').click(); cy.get('.mk-widget-edit').click();
cy.get('[data-cy-customize-container]:first-child [data-cy-customize-container-remove]._button').click(); cy.get('.customize-container:first-child .remove._button').click();
cy.get('[data-cy-customize-container]').should('have.length', 2); cy.get('.customize-container').should('have.length', 2);
}); });
function buildWidgetTest(widgetName) { function buildWidgetTest(widgetName) {
it(`${widgetName} widget should get added`, () => { it(`${widgetName} widget should get added`, () => {
cy.get('[data-cy-widget-edit]').click(); cy.get('.mk-widget-edit').click();
cy.get('[data-cy-widget-select] select').select(widgetName, { force: true }); cy.get('.mk-widget-select select').select(widgetName, { force: true });
cy.get('[data-cy-bg]._modalBg[data-cy-transparent]').click({ multiple: true, force: true }); cy.get('.bg._modalBg.transparent').click({ multiple: true, force: true });
cy.get('[data-cy-widget-add]').click({ force: true }); cy.get('.mk-widget-add').click({ force: true });
cy.get(`[data-cy-mkw-${widgetName}]`).should('exist'); cy.get(`.mkw-${widgetName}`).should('exist');
}); });
} }

View File

@@ -24,16 +24,11 @@
// -- This will overwrite an existing command -- // -- This will overwrite an existing command --
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) // Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
Cypress.Commands.add('visitHome', () => {
cy.visit('/');
cy.get('button', { timeout: 30000 }).should('be.visible');
})
Cypress.Commands.add('resetState', () => { Cypress.Commands.add('resetState', () => {
cy.window(win => { cy.window(win => {
win.indexedDB.deleteDatabase('keyval-store'); win.indexedDB.deleteDatabase('keyval-store');
}); });
cy.request('POST', '/api/reset-db', {}).as('reset'); cy.request('POST', '/api/reset-db').as('reset');
cy.get('@reset').its('status').should('equal', 204); cy.get('@reset').its('status').should('equal', 204);
cy.reload(true); cy.reload(true);
}); });
@@ -48,7 +43,7 @@ Cypress.Commands.add('registerUser', (username, password, isAdmin = false) => {
}); });
Cypress.Commands.add('login', (username, password) => { Cypress.Commands.add('login', (username, password) => {
cy.visitHome(); cy.visit('/');
cy.intercept('POST', '/api/signin').as('signin'); cy.intercept('POST', '/api/signin').as('signin');

View File

@@ -7,12 +7,7 @@ services:
links: links:
- db - db
- redis - redis
# - meilisearch # - es
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
ports: ports:
- "3000:3000" - "3000:3000"
networks: networks:
@@ -24,42 +19,32 @@ services:
redis: redis:
restart: always restart: always
image: redis:7-alpine image: redis:4.0-alpine
networks: networks:
- internal_network - internal_network
volumes: volumes:
- ./redis:/data - ./redis:/data
healthcheck:
test: "redis-cli ping"
interval: 5s
retries: 20
db: db:
restart: always restart: always
image: postgres:15-alpine image: postgres:12.2-alpine
networks: networks:
- internal_network - internal_network
env_file: env_file:
- .config/docker.env - .config/docker.env
volumes: volumes:
- ./db:/var/lib/postgresql/data - ./db:/var/lib/postgresql/data
healthcheck:
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
interval: 5s
retries: 20
# meilisearch: # es:
# restart: always # restart: always
# image: getmeili/meilisearch:v1.1.1 # image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.4.2
# environment: # environment:
# - MEILI_NO_ANALYTICS=true # - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
# - MEILI_ENV=production # - "TAKE_FILE_OWNERSHIP=111"
# env_file:
# - .config/meilisearch.env
# networks: # networks:
# - internal_network # - internal_network
# volumes: # volumes:
# - ./meili_data:/meili_data # - ./elasticsearch:/usr/share/elasticsearch/data
networks: networks:
internal_network: internal_network:

25
docs/DONATORS.md Normal file
View File

@@ -0,0 +1,25 @@
DONATORS
========
The list of people who have sent donation for Misskey.
(In random order, honorific titles are omitted.)
* らふぁ
* 俺様
* なぎうり
* スルメ https://surume.tk/
*
* 音船 https://otofune.me/
* aqz https://misskey.xyz/aqz
* kotodu "虚無創作中"
* Maya Minatsuki
* Knzk https://knzk.me/@Knzk
* ねじりわさび https://knzk.me/@y
* NCLS https://knzk.me/@imncls]
* こじま @skoji@sandbox.skoji.jp
:heart: Thanks for donating, guys!
---
If your name is missing, please contact us!

Submodule fluent-emojis deleted from cae981eb4c

View File

@@ -15,21 +15,21 @@ gulp.task('copy:backend:views', () =>
gulp.src('./packages/backend/src/server/web/views/**/*').pipe(gulp.dest('./packages/backend/built/server/web/views')) gulp.src('./packages/backend/src/server/web/views/**/*').pipe(gulp.dest('./packages/backend/built/server/web/views'))
); );
gulp.task('copy:frontend:fonts', () => gulp.task('copy:client:fonts', () =>
gulp.src('./packages/frontend/node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/_frontend_dist_/fonts/')) gulp.src('./packages/client/node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/_client_dist_/fonts/'))
); );
gulp.task('copy:frontend:tabler-icons', () => gulp.task('copy:client:fontawesome', () =>
gulp.src('./packages/frontend/node_modules/@tabler/icons-webfont/**/*').pipe(gulp.dest('./built/_frontend_dist_/tabler-icons/')) gulp.src('./packages/client/node_modules/@fortawesome/fontawesome-free/**/*').pipe(gulp.dest('./built/_client_dist_/fontawesome/'))
); );
gulp.task('copy:frontend:locales', cb => { gulp.task('copy:client:locales', cb => {
fs.mkdirSync('./built/_frontend_dist_/locales', { recursive: true }); fs.mkdirSync('./built/_client_dist_/locales', { recursive: true });
const v = { '_version_': meta.version }; const v = { '_version_': meta.version };
for (const [lang, locale] of Object.entries(locales)) { for (const [lang, locale] of Object.entries(locales)) {
fs.writeFileSync(`./built/_frontend_dist_/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8'); fs.writeFileSync(`./built/_client_dist_/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8');
} }
cb(); cb();
@@ -45,7 +45,7 @@ gulp.task('build:backend:script', () => {
}); });
gulp.task('build:backend:style', () => { gulp.task('build:backend:style', () => {
return gulp.src(['./packages/backend/src/server/web/style.css', './packages/backend/src/server/web/bios.css', './packages/backend/src/server/web/cli.css', './packages/backend/src/server/web/error.css']) return gulp.src(['./packages/backend/src/server/web/style.css', './packages/backend/src/server/web/bios.css', './packages/backend/src/server/web/cli.css'])
.pipe(cssnano({ .pipe(cssnano({
zindex: false zindex: false
})) }))
@@ -53,7 +53,7 @@ gulp.task('build:backend:style', () => {
}); });
gulp.task('build', gulp.parallel( gulp.task('build', gulp.parallel(
'copy:frontend:locales', 'copy:backend:views', 'build:backend:script', 'build:backend:style', 'copy:frontend:fonts', 'copy:frontend:tabler-icons' 'copy:client:locales', 'copy:backend:views', 'build:backend:script', 'build:backend:style', 'copy:client:fonts', 'copy:client:fontawesome'
)); ));
gulp.task('default', gulp.task('build')); gulp.task('default', gulp.task('build'));

View File

@@ -1,4 +0,0 @@
#!/bin/bash
PORT=$(grep '^port:' /misskey/.config/default.yml | awk 'NR==1{print $2; exit}')
curl -s -S -o /dev/null "http://localhost:${PORT}"

View File

@@ -12,14 +12,12 @@ fetchingAsApObject: "جارٍ جلبه مِن الفديفرس…"
ok: " حسناً" ok: " حسناً"
gotIt: "فهِمت" gotIt: "فهِمت"
cancel: " إلغاء" cancel: " إلغاء"
noThankYou: "ليس اﻵن"
enterUsername: "أدخِل إسم مسخدم" enterUsername: "أدخِل إسم مسخدم"
renotedBy: "أعاد نشرها {user}" renotedBy: "أعاد نشرها {user}"
noNotes: "لم يُعثر على أية ملاحظات" noNotes: "لم يُعثر على أية ملاحظات"
noNotifications: "ليس هناك أية اشعارات" noNotifications: "ليس هناك أية اشعارات"
instance: "مثيل الخادم" instance: "مثيل الخادم"
settings: "الاعدادات" settings: "الاعدادات"
notificationSettings: "إعدادات الإشعارات"
basicSettings: "الاعدادات الأساسية" basicSettings: "الاعدادات الأساسية"
otherSettings: "إعدادات أخرى" otherSettings: "إعدادات أخرى"
openInWindow: "افتح في نافذة جديدة" openInWindow: "افتح في نافذة جديدة"
@@ -109,7 +107,6 @@ clickToShow: "اضغط للعرض"
sensitive: "محتوى حساس" sensitive: "محتوى حساس"
add: "إضافة" add: "إضافة"
reaction: "التفاعلات" reaction: "التفاعلات"
reactions: "التفاعلات"
reactionSetting: "التفاعلات المراد عرضها في منتقي التفاعلات." reactionSetting: "التفاعلات المراد عرضها في منتقي التفاعلات."
reactionSettingDescription2: "اسحب لترتيب ، انقر للحذف ، استخدم \"+\" للإضافة." reactionSettingDescription2: "اسحب لترتيب ، انقر للحذف ، استخدم \"+\" للإضافة."
rememberNoteVisibility: "تذكر إعدادت مدى رؤية الملاحظات" rememberNoteVisibility: "تذكر إعدادت مدى رؤية الملاحظات"
@@ -128,7 +125,6 @@ unblockConfirm: "أمتأكد من إلغاء حجب هذا الحساب؟"
suspendConfirm: "أمتأكد من تعليق الحساب؟" suspendConfirm: "أمتأكد من تعليق الحساب؟"
unsuspendConfirm: "أمتأكد من إلغاء تعليق؟" unsuspendConfirm: "أمتأكد من إلغاء تعليق؟"
selectList: "اختر قائمة" selectList: "اختر قائمة"
selectChannel: "اختر قناة"
selectAntenna: "اختر هوائيًا" selectAntenna: "اختر هوائيًا"
selectWidget: "اختر ودجة" selectWidget: "اختر ودجة"
editWidgets: "عدّل الودجات" editWidgets: "عدّل الودجات"
@@ -167,6 +163,7 @@ annotation: "التعليقات"
federation: "الفديرالية" federation: "الفديرالية"
instances: "مثيل الخادم" instances: "مثيل الخادم"
registeredAt: "مسجل منذ" registeredAt: "مسجل منذ"
latestRequestSentAt: "آخر طلب أرسِل في"
latestRequestReceivedAt: "آخر طلب تُلقي في" latestRequestReceivedAt: "آخر طلب تُلقي في"
latestStatus: "الحالات الأخيرة" latestStatus: "الحالات الأخيرة"
storageUsage: "مساحة التخزين المستخدمة" storageUsage: "مساحة التخزين المستخدمة"
@@ -205,7 +202,6 @@ done: "تمّ"
processing: "المعالجة جارية" processing: "المعالجة جارية"
preview: "معاينة" preview: "معاينة"
default: "افتراضي" default: "افتراضي"
defaultValueIs: "الافتراضي: {value}"
noCustomEmojis: "ليس هناك إيموجي" noCustomEmojis: "ليس هناك إيموجي"
noJobs: "لا توجد مهام" noJobs: "لا توجد مهام"
federating: "الفديرالية جارية" federating: "الفديرالية جارية"
@@ -252,15 +248,12 @@ noMoreHistory: "لا يوجد المزيد من التاريخ"
startMessaging: "ابدأ محادثة" startMessaging: "ابدأ محادثة"
nUsersRead: "قرأه {n}" nUsersRead: "قرأه {n}"
agreeTo: "اوافق على {0}" agreeTo: "اوافق على {0}"
agree: "أقبل" tos: "شروط الخدمة"
basicNotesBeforeCreateAccount: "ملاحظات مهمة"
termsOfService: "شروط الخدمة"
start: "البداية" start: "البداية"
home: "الرئيسي" home: "الرئيسي"
remoteUserCaution: "هذه المعلومات قد لا تكون مكتملة بما أن المستخدم من مثيل بعيد." remoteUserCaution: "هذه المعلومات قد لا تكون مكتملة بما أن المستخدم من مثيل بعيد."
activity: "النشاط" activity: "النشاط"
images: "الصور" images: "الصور"
image: "الصور"
birthday: "تاريخ الميلاد" birthday: "تاريخ الميلاد"
yearsOld: "{age} سنة" yearsOld: "{age} سنة"
registeredDate: "انضم في" registeredDate: "انضم في"
@@ -350,8 +343,6 @@ recaptcha: "reCAPTCHA"
enableRecaptcha: "تمكين reCAPTCHA" enableRecaptcha: "تمكين reCAPTCHA"
recaptchaSiteKey: "مفتاح الموقع" recaptchaSiteKey: "مفتاح الموقع"
recaptchaSecretKey: "المفتاح السري" recaptchaSecretKey: "المفتاح السري"
turnstileSiteKey: "مفتاح الموقع"
turnstileSecretKey: "المفتاح السري"
avoidMultiCaptchaConfirm: "يمكن أن يتسبب استخدام عدة خدمات لكلمات التحقق في حدوث تداخل. هل ترغب في إلغاء تنشيط الخدمات الأخرى؟ يمكنك ترك هذه الخدمات نشطة بالضغط على \"ألغ\"." avoidMultiCaptchaConfirm: "يمكن أن يتسبب استخدام عدة خدمات لكلمات التحقق في حدوث تداخل. هل ترغب في إلغاء تنشيط الخدمات الأخرى؟ يمكنك ترك هذه الخدمات نشطة بالضغط على \"ألغ\"."
antennas: "الهوائيات" antennas: "الهوائيات"
manageAntennas: "إدارة الهوائيات" manageAntennas: "إدارة الهوائيات"
@@ -384,12 +375,12 @@ about: "عن"
aboutMisskey: "عن Misskey" aboutMisskey: "عن Misskey"
administrator: "المدير" administrator: "المدير"
token: "الرمز المميز" token: "الرمز المميز"
2fa: "الاستيثاق بعاملَيْن" twoStepAuthentication: "الإستيثاق بعاملَيْن"
totp: "تطبيق استيثاق"
moderator: "مشرِف" moderator: "مشرِف"
moderation: "الإشراف"
nUsersMentioned: "{n} مستخدمين أُشير إليهم" nUsersMentioned: "{n} مستخدمين أُشير إليهم"
securityKey: "مفتاح الأمان" securityKey: "مفتاح الأمان"
securityKeyName: "اسم المفتاح"
registerSecurityKey: "سجل مفتاح أمان"
lastUsed: "آخر استخدام" lastUsed: "آخر استخدام"
unregister: "إلغاء التسجيل" unregister: "إلغاء التسجيل"
passwordLessLogin: "لِج مِن دون كلمة سرية" passwordLessLogin: "لِج مِن دون كلمة سرية"
@@ -407,15 +398,24 @@ markAsReadAllTalkMessages: "علّم جميع الرسائل كمقروءة"
help: "المساعدة" help: "المساعدة"
inputMessageHere: "اكتب رسالتك هنا" inputMessageHere: "اكتب رسالتك هنا"
close: "اغلق" close: "اغلق"
group: "الفريق"
groups: "الفِرَق"
createGroup: "انشئ فريقًا"
ownedGroups: "فِرقي"
joinedGroups: "الفِرق المُنضم إليها"
invites: "دعوة" invites: "دعوة"
groupName: "اسم الفريق"
members: "الأعضاء" members: "الأعضاء"
transfer: "نقل" transfer: "نقل"
messagingWithUser: "تحدث مع مستخدم"
messagingWithGroup: "محادثة جماعية"
title: "العنوان" title: "العنوان"
text: "النص" text: "النص"
enable: "تشغيل" enable: "تشغيل"
next: "التالية" next: "التالية"
retype: "أعد الكتابة" retype: "أعد الكتابة"
noteOf: "ملاحظات {user}" noteOf: "ملاحظات {user}"
inviteToGroup: "دعوة إلى فريق"
quoteAttached: "اِقتُبسَ" quoteAttached: "اِقتُبسَ"
quoteQuestion: "أتريد تضمينها كاقتباس" quoteQuestion: "أتريد تضمينها كاقتباس"
noMessagesYet: "ليس هناك رسائل بعد" noMessagesYet: "ليس هناك رسائل بعد"
@@ -437,10 +437,15 @@ passwordMatched: "التطابق صحيح!"
passwordNotMatched: "غير متطابقتان" passwordNotMatched: "غير متطابقتان"
signinWith: "الولوج عبر {x}" signinWith: "الولوج عبر {x}"
signinFailed: "فشل الولوج، خطأ في اسم المستخدم أو كلمة المرور." signinFailed: "فشل الولوج، خطأ في اسم المستخدم أو كلمة المرور."
tapSecurityKey: "أنقر مفتاح الأمان"
or: "أو" or: "أو"
language: "اللغة" language: "اللغة"
uiLanguage: "لغة واجهة المستخدم" uiLanguage: "لغة واجهة المستخدم"
groupInvited: "دُعيت إلى فريقٍ"
aboutX: "عن {x}" aboutX: "عن {x}"
useOsNativeEmojis: "استخدم الإيموجي الخاصة بنظام التشغيل"
youHaveNoGroups: "لا تمتلك أية فِرَق"
joinOrCreateGroup: "احصل على دعوة لفريق أو أنشئ واحدًا."
noHistory: "السجل فارغ" noHistory: "السجل فارغ"
signinHistory: "تاريخ تسجيل الدخول" signinHistory: "تاريخ تسجيل الدخول"
doing: "انتظر لحظة" doing: "انتظر لحظة"
@@ -481,7 +486,6 @@ deleteAll: "حذف الكل"
showFixedPostForm: "أظهر نموذج الكتابة في أعلى الصفحة" showFixedPostForm: "أظهر نموذج الكتابة في أعلى الصفحة"
newNoteRecived: "هناك ملاحظات جديدة" newNoteRecived: "هناك ملاحظات جديدة"
sounds: "الرنات" sounds: "الرنات"
sound: "الرنات"
listen: "استمع" listen: "استمع"
none: "لا شيء" none: "لا شيء"
showInPage: "اعرض في الصفحة" showInPage: "اعرض في الصفحة"
@@ -513,7 +517,6 @@ userSuspended: "عُلق هذا المستخدم."
userSilenced: "كُتم هذا المستخدم." userSilenced: "كُتم هذا المستخدم."
yourAccountSuspendedTitle: "هذا الحساب معلق" yourAccountSuspendedTitle: "هذا الحساب معلق"
yourAccountSuspendedDescription: "عُلق الحساب بسبب انتهاك شروط خدمة المثيل و ما شابه. إذا أردت معرفة التفصيل تواصل مع مدير المثيل. رجاءً لا تنشئ حساب جديد." yourAccountSuspendedDescription: "عُلق الحساب بسبب انتهاك شروط خدمة المثيل و ما شابه. إذا أردت معرفة التفصيل تواصل مع مدير المثيل. رجاءً لا تنشئ حساب جديد."
accountDeleted: "حُذف الحساب"
menu: "القائمة" menu: "القائمة"
divider: "فاصل" divider: "فاصل"
addItem: "إضافة عنصر" addItem: "إضافة عنصر"
@@ -553,6 +556,7 @@ tokenRequested: "منح حق الوصول إلى الحساب"
pluginTokenRequestedDescription: "ستتمكن الإضافة من استخدام هذه الأذونات." pluginTokenRequestedDescription: "ستتمكن الإضافة من استخدام هذه الأذونات."
notificationType: "أنواع الإشعارات" notificationType: "أنواع الإشعارات"
edit: "التعديل" edit: "التعديل"
useStarForReactionFallback: "استخدم ★ كبديل إذا كان التفاعل مجهولًا"
emailServer: "خادم البريد الإلكتروني" emailServer: "خادم البريد الإلكتروني"
emailConfigInfo: "يستخدم لتأكيد عنوان بريدك الإلكتروني ولإعادة تعيين كلمة المرور إن نسيتها." emailConfigInfo: "يستخدم لتأكيد عنوان بريدك الإلكتروني ولإعادة تعيين كلمة المرور إن نسيتها."
email: "البريد الإلكتروني " email: "البريد الإلكتروني "
@@ -781,6 +785,8 @@ deleteAccountConfirm: "سيحذف حسابك نهائيًا، أتريد الم
incorrectPassword: "كلمة السر خاطئة." incorrectPassword: "كلمة السر خاطئة."
voteConfirm: "متيقِّن من تصويتك لـ {choice}؟" voteConfirm: "متيقِّن من تصويتك لـ {choice}؟"
hide: "إخفاء" hide: "إخفاء"
leaveGroup: "مغادرة الفريق"
leaveGroupConfirm: "متيقن من مغادرة \"{name}\"؟"
welcomeBackWithName: "مرحبًا بك مجددًا {name}" welcomeBackWithName: "مرحبًا بك مجددًا {name}"
clickToFinishEmailVerification: "انقر [{ok}] لاستيثاق بريدك الإلكتروني." clickToFinishEmailVerification: "انقر [{ok}] لاستيثاق بريدك الإلكتروني."
overridedDeviceKind: "نوع الجهاز" overridedDeviceKind: "نوع الجهاز"
@@ -792,7 +798,6 @@ size: "الحجم"
numberOfColumn: "عدد الأعمدة" numberOfColumn: "عدد الأعمدة"
searchByGoogle: "غوغل" searchByGoogle: "غوغل"
mutePeriod: "مدة الكتم" mutePeriod: "مدة الكتم"
period: "ينتهي استطلاع الرأي في"
indefinitely: "أبدًا" indefinitely: "أبدًا"
tenMinutes: "10 دقائق" tenMinutes: "10 دقائق"
oneHour: "ساعة" oneHour: "ساعة"
@@ -805,18 +810,6 @@ colored: "ملوّن"
label: "التسمية" label: "التسمية"
localOnly: "المحلي فقط" localOnly: "المحلي فقط"
account: "الحسابات" account: "الحسابات"
cannotLoad: "تعذر التحميل"
like: "أعجبني"
show: "المظهر"
color: "اللون"
horizontal: "جانبي"
youFollowing: "متابَع"
_role:
priority: "الأولوية"
_priority:
low: "منخفضة"
middle: "متوسط"
high: "عالية"
_emailUnavailable: _emailUnavailable:
used: "هذا البريد الإلكتروني مستخدم" used: "هذا البريد الإلكتروني مستخدم"
format: "صيغة البريد الإلكتروني غير صالحة" format: "صيغة البريد الإلكتروني غير صالحة"
@@ -840,7 +833,6 @@ _accountDelete:
_ad: _ad:
back: "رجوع" back: "رجوع"
reduceFrequencyOfThisAd: "قلل عرض هذا الإعلان" reduceFrequencyOfThisAd: "قلل عرض هذا الإعلان"
hide: "لا تظهره بتاتًا"
_forgotPassword: _forgotPassword:
enterEmail: "أدخل البريد الإلكتروني المرتبط بحسابك لكي يرسل إليك رابط لإعادة تعيين كلمة المرور." enterEmail: "أدخل البريد الإلكتروني المرتبط بحسابك لكي يرسل إليك رابط لإعادة تعيين كلمة المرور."
ifNoEmail: "إذا لم تربط حسابك ببريد إلكتروني سيتوجب عليك التواصل مع مدير الموقع." ifNoEmail: "إذا لم تربط حسابك ببريد إلكتروني سيتوجب عليك التواصل مع مدير الموقع."
@@ -878,6 +870,56 @@ _nsfw:
respect: "اخف الوسائط ذات المحتوى الحساس" respect: "اخف الوسائط ذات المحتوى الحساس"
ignore: "اعرض الوسائط ذات المحتوى الحساس" ignore: "اعرض الوسائط ذات المحتوى الحساس"
force: "اخف كل الوسائط" force: "اخف كل الوسائط"
_mfm:
cheatSheet: "مرجع ملخص عن MFM"
intro: "MFM هي لغة ترميزية مخصصة يمكن استخدامها في عدّة أماكن في ميسكي. يمكنك مراجعة كل تعابيرها مع كيفية استخدامها هنا."
mention: "أشر الى"
mentionDescription: "يمكنك الإشارة لمستخدم معيّن من خلال كتابة @ متبوعة باسم مستخدم."
hashtag: "الوسوم"
hashtagDescription: "يمكنك تعيين وسم من خلال كتابة # متبوعة بالنص المطلوب."
url: "الرابط"
urlDescription: "يمكن عرض الروابط"
link: "رابط"
bold: "عريض"
boldDescription: "جعل الحروف أثخن لإبرازها."
small: "صغير"
smallDescription: "يعرض المحتوى صغيرًا ورفيعًا."
center: "وسط"
centerDescription: "يمركز المحتوى في الوَسَط."
quote: "اقتبس"
quoteDescription: "يعرض المحتوى كاقتباس"
emoji: "إيموجي مخصص"
emojiDescription: "إحاطة اسم الإيموجي بنقطتي تفسير سيستبدله بصورة الإيموجي."
search: "البحث"
searchDescription: "يعرض نصًا في صندوق البحث"
flip: "اقلب"
flipDescription: "يقلب المحتوى عموديًا أو أفقيًا"
jelly: "تأثير (هلام)"
jellyDescription: "يمنح المحتوى حركة هلامية."
tada: "تأثير (تادا)"
tadaDescription: "يمنح للمحتوى تأثير تادا"
jump: "تأثير (قفز)"
jumpDescription: "يمنح للمحتوى حركة قفز."
bounce: "تأثير (ارتداد)"
bounceDescription: "يمنح للمحتوى حركة ارتدادية"
shake: "تأثير (اهتزاز)"
shakeDescription: "يمنح المحتوى حركة اهتزازية."
spin: "تأثير (دوران)"
spinDescription: "يمنح المحتوى حركة دورانية."
x2: "كبير"
x2Description: "يُكبر المحتوى"
x3: "كبير جداً"
x3Description: "يُضخم المحتوى"
x4: "هائل"
x4Description: "يُضخم المحتوى أكثر مما سبق."
blur: "طمس"
blurDescription: "يطمس المحتوى، لكن بالتمرير فوقه سيظهر بوضوح."
font: "الخط"
fontDescription: "الخط المستخدم لعرض المحتوى."
rainbow: "قوس قزح"
rainbowDescription: "اجعل المحتوى يظهر بألوان الطيف"
rotate: "تدوير"
rotateDescription: "يُدير المحتوى بزاوية معيّنة."
_instanceTicker: _instanceTicker:
none: "لا تظهره بتاتًا" none: "لا تظهره بتاتًا"
remote: "أظهر للمستخدمين البِعاد" remote: "أظهر للمستخدمين البِعاد"
@@ -981,19 +1023,42 @@ _ago:
weeksAgo: "منذ {n} أسابيع" weeksAgo: "منذ {n} أسابيع"
monthsAgo: "منذ {n} أشهر" monthsAgo: "منذ {n} أشهر"
yearsAgo: "منذ {n} سنوات" yearsAgo: "منذ {n} سنوات"
invalid: "لا يوجد شيء هنا"
_time: _time:
second: "ثا" second: "ثا"
minute: "د" minute: "د"
hour: "سا" hour: "سا"
day: "ي" day: "ي"
_tutorial:
title: "كيف تستخدم Misskey"
step1_1: "مرحبًا!"
step1_2: "تدعى هذه الصفحة 'الخيط الزمني' وهي تحوي ملاحظات الأشخاص الذي تتابعهم مرتبة حسب تاريخ نشرها."
step1_3: "خيطك الزمني فارغ حاليًا بما أنك لا تتابع أي شخص ولم تنشر أي ملاحظة."
step2_1: "لننهي إعداد ملفك الشخصي قبل كتابة ملاحظة أو متابعة أشخاص."
step2_2: "أعطاء معلومات عن شخصيتك يمنح من له نفس إهتماماتك فرصة متابعتك والتفاعل مع ملاحظاتك."
step3_1: "هل أنهيت إعداد حسابك؟"
step3_2: "إذا تاليًا لتنشر ملاحظة. أنقر على أيقونة القلم في أعلى الشاشة"
step3_3: "املأ النموذج وانقر الزرّ الموجود في أعلى اليمين للإرسال."
step3_4: "ليس لديك ما تقوله؟ إذا اكتب \"بدأتُ استخدم ميسكي\"."
step4_1: "هل نشرت ملاحظتك الأولى؟"
step4_2: "مرحى! يمكنك الآن رؤية ملاحظتك في الخيط الزمني."
step5_1: "والآن، لنجعل الخيط الزمني أكثر حيوية وذلك بمتابعة بعض المستخدمين."
step5_2: "تعرض صفحة {features} الملاحظات المتداولة في هذا المثيل ويتيح لك {Explore} العثور على المستخدمين الرائدين. اعثر على الأشخاص الذين يثيرون إهتمامك وتابعهم!"
step5_3: "لمتابعة مستخدمين ادخل ملفهم الشخصي بالنقر على صورتهم الشخصية ثم اضغط زر 'تابع'."
step5_4: "إذا كان لدى المستخدم رمز قفل بجوار اسمه ، وجب عليك انتظاره ليقبل طلب المتابعة يدويًا."
step6_1: "الآن ستتمكن من رؤية ملاحظات المستخدمين المتابَعين في الخيط الزمني."
step6_2: "يمكنك التفاعل بسرعة مع الملاحظات عن طريق إضافة \"تفاعل\"."
step6_3: "لإضافة تفاعل لملاحظة ، انقر فوق علامة \"+\" أسفل للملاحظة واختر الإيموجي المطلوب."
step7_1: "مبارك ! أنهيت الدورة التعليمية الأساسية لاستخدام ميسكي."
step7_2: "إذا أردت معرفة المزيد عن ميسكي زر {help}."
step7_3: "حظًا سعيدًا واستمتع بوقتك مع ميسكي! 🚀"
_2fa: _2fa:
alreadyRegistered: "سجلت سلفًا جهازًا للاستيثاق بعاملين." alreadyRegistered: "سجلت سلفًا جهازًا للاستيثاق بعاملين."
registerDevice: "سجّل جهازًا جديدًا"
registerKey: "تسجيل مفتاح أمان جديد"
step1: "أولًا ثبّت تطبيق استيثاق على جهازك (مثل {a} و{b})." step1: "أولًا ثبّت تطبيق استيثاق على جهازك (مثل {a} و{b})."
step2: "امسح رمز الاستجابة السريعة الموجد على الشاشة." step2: "امسح رمز الاستجابة السريعة الموجد على الشاشة."
step3: "أدخل الرمز الموجود في تطبيقك لإكمال التثبيت." step3: "أدخل الرمز الموجود في تطبيقك لإكمال التثبيت."
step4: "من هذه اللحظة أثناء ولوجك سيُطلب منك الرمز." step4: "من هذه اللحظة أثناء ولوجك سيُطلب منك الرمز."
renewTOTPCancel: "ليس اﻵن"
_permissions: _permissions:
"read:account": "اعرض معلومات حسابك" "read:account": "اعرض معلومات حسابك"
"write:account": "تعديل معلومات حسابك" "write:account": "تعديل معلومات حسابك"
@@ -1045,8 +1110,6 @@ _weekday:
friday: "الجمعة" friday: "الجمعة"
saturday: "السبت" saturday: "السبت"
_widgets: _widgets:
profile: "الملف التعريفي"
instanceInfo: "معلومات مثيل الخادم"
memo: "ملاحظة لاصقة" memo: "ملاحظة لاصقة"
notifications: "الإشعارات" notifications: "الإشعارات"
timeline: "الخيط الزمني" timeline: "الخيط الزمني"
@@ -1064,8 +1127,6 @@ _widgets:
onlineUsers: "المتّصلون" onlineUsers: "المتّصلون"
jobQueue: "قائمة الانتظار" jobQueue: "قائمة الانتظار"
serverMetric: "إحصائيات الخادم" serverMetric: "إحصائيات الخادم"
_userList:
chooseList: "اختر قائمة"
_cw: _cw:
hide: "إخفاء" hide: "إخفاء"
show: "عرض المزيد" show: "عرض المزيد"
@@ -1102,6 +1163,8 @@ _visibility:
followersDescription: "اجعلها مرئية لمتابِعيك فقط" followersDescription: "اجعلها مرئية لمتابِعيك فقط"
specified: "مباشرة" specified: "مباشرة"
specifiedDescription: "اجعلها مرئية لمستخدمين محددين" specifiedDescription: "اجعلها مرئية لمستخدمين محددين"
localOnly: "المحلي فقط"
localOnlyDescription: "ليس مرئيًا للمستخدمين البِعاد"
_postForm: _postForm:
replyPlaceholder: "رد على هذه الملاحظة…" replyPlaceholder: "رد على هذه الملاحظة…"
quotePlaceholder: "اقتبس هذه الملاحظة…" quotePlaceholder: "اقتبس هذه الملاحظة…"
@@ -1160,11 +1223,6 @@ _timelines:
local: "المحلي" local: "المحلي"
social: "الاجتماعي" social: "الاجتماعي"
global: "الشامل" global: "الشامل"
_play:
viewSource: "اظهر المصدر"
featured: "الأكثر شعبية"
title: "العنوان"
summary: "الوصف"
_pages: _pages:
newPage: "أنشئ صفحة جديدة" newPage: "أنشئ صفحة جديدة"
editPage: "عدّل الصفحة" editPage: "عدّل الصفحة"
@@ -1198,6 +1256,8 @@ _pages:
eyeCatchingImageRemove: "احذف صورة مصغّرة" eyeCatchingImageRemove: "احذف صورة مصغّرة"
chooseBlock: "إضافة كتلة" chooseBlock: "إضافة كتلة"
selectType: "اختر النوع" selectType: "اختر النوع"
enterVariableName: "أدخل اسم المتغيّر"
variableNameIsAlreadyUsed: "هذا الاسم محجوز"
contentBlocks: "المحتوى" contentBlocks: "المحتوى"
inputBlocks: "مُدخل" inputBlocks: "مُدخل"
specialBlocks: "خاص" specialBlocks: "خاص"
@@ -1207,11 +1267,225 @@ _pages:
section: "قسم" section: "قسم"
image: "الصور" image: "الصور"
button: "زرّ" button: "زرّ"
_if:
variable: "متغيّر"
post: "أنشئ ملاحظة"
_post:
text: "المحتوى"
textInput: "مُدخل نصي"
_textInput:
name: "اسم المتغير"
text: "العنوان"
default: "القيمة الافتراضية"
textareaInput: "مدخل نصي متعدد الأسطر"
_textareaInput:
name: "اسم المتغير"
text: "العنوان"
default: "القيمة الافتراضية"
numberInput: "مُدخل رقمي"
_numberInput:
name: "اسم المتغير"
text: "العنوان"
default: "القيمة الافتراضية"
_canvas:
width: "العُرض"
height: "الإرتفاع"
note: "ملاحظة مضمّنة" note: "ملاحظة مضمّنة"
_note: _note:
id: "معرّف الملاحظة" id: "معرّف الملاحظة"
idDescription: "كبديل يمكنك إدخال رابك الملاحظة هنا" idDescription: "كبديل يمكنك إدخال رابك الملاحظة هنا"
detailed: "عرض مفصّل" detailed: "عرض مفصّل"
switch: "بدّل"
_switch:
name: "اسم المتغير"
text: "العنوان"
default: "القيمة الافتراضية"
counter: "العداد"
_counter:
name: "اسم المتغير"
text: "العنوان"
inc: "زِد"
_button:
text: "العنوان"
colored: "ملوّن"
action: "الإجراء عند ضغط الزّر"
_action:
dialog: "أظهر مربع حوار"
_dialog:
content: "المحتوى"
resetRandom: "صفِّر البذرة"
pushEvent: "أرسل حدثًا"
_pushEvent:
event: "اسم الحدث"
message: "إظهار رسالة عند التفعيل"
variable: "أرسل المتغيّر"
no-variable: "لا شيء"
_callAiScript:
functionName: "اسم الدالة"
radioButton: "الخيار "
_radioButton:
name: "اسم المتغير"
title: "العنوان"
values: "قائمة الخيارات (كل خيار في سطر لوحده)"
default: "القيمة الافتراضية"
script:
categories:
logical: "عمليّة منطقيّة"
operation: "حساب"
comparison: "مقارنة"
random: "عشوائي"
value: "القيم"
fn: "دوال"
text: "إجراءات على النصوص"
convert: "تحويل"
list: "القوائم"
blocks:
text: "نص"
textList: "قائمة نصية"
_textList:
info: "اجعل كل مدخل في سطر لوحده"
strLen: "طول النص"
_strLen:
arg1: "نص"
strPick: "استخرج محرفًا"
_strPick:
arg1: "نص"
arg2: "موضع المحرف"
strReplace: "استبدال النّص"
_strReplace:
arg1: "نص"
arg2: "استُبدِل بـ"
arg3: "استُبدِل بـ"
strReverse: "اقلب النص"
_strReverse:
arg1: "نص"
_join:
arg1: "القوائم"
arg2: "فاصل"
add: "إضافة"
_add:
arg1: "أ"
arg2: "ب"
subtract: "اطرح"
_subtract:
arg1: "أ"
arg2: "ب"
multiply: "اضرب"
_multiply:
arg1: "أ"
arg2: "ب"
divide: "اقسم"
_divide:
arg1: "أ"
arg2: "ب"
mod: "الباقي"
_mod:
arg1: "أ"
arg2: "ب"
round: "تقريب عدد عشري"
_round:
arg1: "رقم"
eq: "أ و ب متساويان"
_eq:
arg1: "أ"
arg2: "ب"
notEq: "أ و ب مختلفان"
_notEq:
arg1: "أ"
arg2: "ب"
and: "أ و ب"
_and:
arg1: "أ"
arg2: "ب"
or: "أ أو ب"
_or:
arg1: "أ"
arg2: "ب"
lt: "أ أصغر من ب"
_lt:
arg1: "أ"
arg2: "ب"
gt: "أ أكبر من ب"
_gt:
arg1: "أ"
arg2: "ب"
ltEq: "أ أصغر من أو يساوي ب"
_ltEq:
arg1: "أ"
arg2: "ب"
gtEq: "أ أكبر من أو يساوي ب"
_gtEq:
arg1: "أ"
arg2: "ب"
if: "فرع"
random: "عشوائي"
rannum: "رقم عشوائي"
_rannum:
arg1: "أدنى قيمة"
arg2: "أقصى قيمة"
randomPick: "اختر عشوائيًا من القائمة"
_randomPick:
arg1: "القوائم"
dailyRandom: "عشوائي (يتغير مرة يوميًا لكل مستخدم)"
dailyRannum: "رقم عشوائي (يتغير مرة يوميًا لكل مستخدم)"
_dailyRannum:
arg1: "أدنى قيمة"
arg2: "أقصى قيمة"
dailyRandomPick: "اختيار عشوائي من قائمة (يتغير مرة يوميًا لكل مستخدم)"
_dailyRandomPick:
arg1: "القوائم"
seedRandom: "عشوائي (عبر بذرة)"
_seedRandom:
arg1: "البذرة"
seedRannum: "رقم عشوائي (عبر بذرة)"
_seedRannum:
arg1: "البذرة"
arg2: "أدنى قيمة"
arg3: "أقصى قيمة"
seedRandomPick: "اختيار عشوائي من القائمة (عبر بذرة)"
_seedRandomPick:
arg1: "البذرة"
arg2: "القوائم"
DRPWPM: "اختيار عشوائي من قائمة الاحتمالات (تتغير مرة يوميًا لكل مستخدم)"
_DRPWPM:
arg1: "قائمة نصية"
pick: "اختر من القائمة"
_pick:
arg1: "القوائم"
arg2: "الموضع"
listLen: "طول القائمة"
_listLen:
arg1: "القوائم"
number: "رقم"
stringToNumber: "حوّل نصًا إلى رقم"
_stringToNumber:
arg1: "نص"
numberToString: "حوّل رقمًا إلى نص"
_numberToString:
arg1: "رقم"
_splitStrByLine:
arg1: "نص"
ref: "متغيّر"
aiScriptVar: "متغيّر AiScript"
fn: "دالة"
_fn:
slots: "خانات"
arg1: "المُخرج"
for: "حلقة تكرار"
_for:
arg1: "عدد مرات التكرار"
arg2: "الإجراء"
typeError: "الخانة {slot} تقبل \"{expect}\" لكن القيمة المعطاة هي \"{actual}\"!"
thereIsEmptySlot: "الخانة {slot} فارغة!"
types:
string: "نص"
number: "رقم"
array: "القوائم"
stringArray: "قائمة نصية"
emptySlot: "خانة فارغة"
enviromentVariables: "متغيرات البيئة"
pageVariables: "متغيرات الصفحة"
argVariables: "خانة إدخال"
_relayStatus: _relayStatus:
requesting: "مُعلّق" requesting: "مُعلّق"
accepted: "مقبول" accepted: "مقبول"
@@ -1222,11 +1496,14 @@ _notification:
youGotReply: "ردّ عليك {name}" youGotReply: "ردّ عليك {name}"
youGotQuote: "اقتبس منك {name}" youGotQuote: "اقتبس منك {name}"
youRenoted: "إعادت نشر من {name}" youRenoted: "إعادت نشر من {name}"
youGotPoll: "شارك {name} في استطلاع الرأي"
youGotMessagingMessageFromUser: "لقد تلقيت رسالة مِن {name}"
youGotMessagingMessageFromGroup: "لقد أرسِلَت رسالة إلى الفريق {name}"
youWereFollowed: "يتابعك" youWereFollowed: "يتابعك"
youReceivedFollowRequest: "تلقيتَ طلب متابعة" youReceivedFollowRequest: "تلقيتَ طلب متابعة"
yourFollowRequestAccepted: "قُبل طلب المتابعة" yourFollowRequestAccepted: "قُبل طلب المتابعة"
youWereInvitedToGroup: "دُعيت إلى فريقٍ"
pollEnded: "ظهرت نتائج الاستطلاع" pollEnded: "ظهرت نتائج الاستطلاع"
unreadAntennaNote: "هوائي {name}"
_types: _types:
all: "الكل" all: "الكل"
follow: "متابِعون جدد" follow: "متابِعون جدد"
@@ -1235,8 +1512,10 @@ _notification:
renote: "أعد النشر" renote: "أعد النشر"
quote: "الاقتباسات" quote: "الاقتباسات"
reaction: "التفاعلات" reaction: "التفاعلات"
pollVote: "مصوِت شارك في الاستطلاع"
receiveFollowRequest: "طلبات المتابعة المتلقاة" receiveFollowRequest: "طلبات المتابعة المتلقاة"
followRequestAccepted: "طلبات المتابعة المقبولة" followRequestAccepted: "طلبات المتابعة المقبولة"
groupInvited: "دعوات الفريق"
app: "إشعارات التطبيقات المرتبطة" app: "إشعارات التطبيقات المرتبطة"
_actions: _actions:
followBack: "تابعك بالمثل" followBack: "تابعك بالمثل"
@@ -1258,9 +1537,5 @@ _deck:
tl: "الخيط الزمني" tl: "الخيط الزمني"
antenna: "الهوائيات" antenna: "الهوائيات"
list: "القوائم" list: "القوائم"
channel: "القنوات"
mentions: "الإشارات" mentions: "الإشارات"
direct: "مباشرة" direct: "مباشرة"
_webhookSettings:
name: "الإسم"
active: "مفعّل"

View File

@@ -107,7 +107,6 @@ clickToShow: "দেখার জন্য ক্লিক করুন"
sensitive: "সংবেদনশীল বিষয়বস্তু" sensitive: "সংবেদনশীল বিষয়বস্তু"
add: "যুক্ত করুন" add: "যুক্ত করুন"
reaction: "প্রতিক্রিয়া" reaction: "প্রতিক্রিয়া"
reactions: "প্রতিক্রিয়া"
reactionSetting: "রিঅ্যাকশন পিকারে যেসকল প্রতিক্রিয়া দেখানো হবে" reactionSetting: "রিঅ্যাকশন পিকারে যেসকল প্রতিক্রিয়া দেখানো হবে"
reactionSettingDescription2: "পুনরায় সাজাতে টেনে আনুন, মুছতে ক্লিক করুন, যোগ করতে + টিপুন।" reactionSettingDescription2: "পুনরায় সাজাতে টেনে আনুন, মুছতে ক্লিক করুন, যোগ করতে + টিপুন।"
rememberNoteVisibility: "নোটের দৃশ্যমান্যতার সেটিংস মনে রাখুন" rememberNoteVisibility: "নোটের দৃশ্যমান্যতার সেটিংস মনে রাখুন"
@@ -165,6 +164,7 @@ annotation: "মন্তব্য"
federation: "ফেডিভার্স" federation: "ফেডিভার্স"
instances: "ইন্সট্যান্স" instances: "ইন্সট্যান্স"
registeredAt: "যোগ দিয়েছেন" registeredAt: "যোগ দিয়েছেন"
latestRequestSentAt: "শেষ রিকুয়েস্ট পাঠানো হয়েছে"
latestRequestReceivedAt: "শেষ রিকুয়েস্ট গৃহীত হয়েছে" latestRequestReceivedAt: "শেষ রিকুয়েস্ট গৃহীত হয়েছে"
latestStatus: "সর্বশেষ অবস্থা" latestStatus: "সর্বশেষ অবস্থা"
storageUsage: "স্টোরেজের ব্যাবহার" storageUsage: "স্টোরেজের ব্যাবহার"
@@ -252,12 +252,12 @@ noMoreHistory: "আর কোন ইতিহাস নেই"
startMessaging: "চ্যাট শুরু করুন" startMessaging: "চ্যাট শুরু করুন"
nUsersRead: "{n} জন পড়েছেন" nUsersRead: "{n} জন পড়েছেন"
agreeTo: "{0} এর প্রতি আমি সম্মত" agreeTo: "{0} এর প্রতি আমি সম্মত"
tos: "পরিষেবার শর্তাদি"
start: "শুরু করুন" start: "শুরু করুন"
home: "মূল পাতা" home: "মূল পাতা"
remoteUserCaution: "এই ব্যাবহারকারী রিমোট ইন্সট্যান্সের, নিম্নক্ত তথ্য অসম্পূর্ণ হতে পারে।" remoteUserCaution: "এই ব্যাবহারকারী রিমোট ইন্সট্যান্সের, নিম্নক্ত তথ্য অসম্পূর্ণ হতে পারে।"
activity: "কার্যকলাপ" activity: "কার্যকলাপ"
images: "ছবি" images: "ছবি"
image: "ছবি"
birthday: "জন্মদিন" birthday: "জন্মদিন"
yearsOld: "{age} বছর" yearsOld: "{age} বছর"
registeredDate: "যোগদানের তারিখ" registeredDate: "যোগদানের তারিখ"
@@ -347,8 +347,6 @@ recaptcha: "reCAPTCHA"
enableRecaptcha: "reCAPTCHA চালু করুন" enableRecaptcha: "reCAPTCHA চালু করুন"
recaptchaSiteKey: "সাইট কী" recaptchaSiteKey: "সাইট কী"
recaptchaSecretKey: "সিক্রেট কী" recaptchaSecretKey: "সিক্রেট কী"
turnstileSiteKey: "সাইট কী"
turnstileSecretKey: "সিক্রেট কী"
avoidMultiCaptchaConfirm: "একাধিক Captcha ব্যবহার করলে তারা পরস্পরের কাজে বাধা দিতে পারে। আপনি কি অন্যান্য Captcha নিষ্ক্রিয় করতে চান? আপনি 'বাতিল' ক্লিক করার মাধ্যমে একাধিক Captcha চালু রাখতে পারেন।" avoidMultiCaptchaConfirm: "একাধিক Captcha ব্যবহার করলে তারা পরস্পরের কাজে বাধা দিতে পারে। আপনি কি অন্যান্য Captcha নিষ্ক্রিয় করতে চান? আপনি 'বাতিল' ক্লিক করার মাধ্যমে একাধিক Captcha চালু রাখতে পারেন।"
antennas: "অ্যান্টেনা" antennas: "অ্যান্টেনা"
manageAntennas: "অ্যান্টেনা ব্যবস্থাপনা" manageAntennas: "অ্যান্টেনা ব্যবস্থাপনা"
@@ -382,9 +380,12 @@ about: "আপনার সম্পর্কে"
aboutMisskey: "Misskey সম্পর্কে" aboutMisskey: "Misskey সম্পর্কে"
administrator: "প্রশাসক" administrator: "প্রশাসক"
token: "টোকেন" token: "টোকেন"
twoStepAuthentication: "২-ধাপ প্রমাণীকরণ"
moderator: "মডারেটর" moderator: "মডারেটর"
nUsersMentioned: "{n} জনকে উল্লেখ করা হয়েছে" nUsersMentioned: "{n} জনকে উল্লেখ করা হয়েছে"
securityKey: "সিকিউরিটি কী" securityKey: "সিকিউরিটি কী"
securityKeyName: "কী'র নাম"
registerSecurityKey: "সিকিউরিটি কী নিবন্ধন করুন"
lastUsed: "শেষ ব্যাবহার করা হয়েছে" lastUsed: "শেষ ব্যাবহার করা হয়েছে"
unregister: "নিবন্ধনমুক্ত হন" unregister: "নিবন্ধনমুক্ত হন"
passwordLessLogin: "পাসওয়ার্ড-বিহীন লগইন সেট আপ করুন" passwordLessLogin: "পাসওয়ার্ড-বিহীন লগইন সেট আপ করুন"
@@ -402,15 +403,24 @@ markAsReadAllTalkMessages: "সমস্ত মেসেজ পঠিত হি
help: "সহায়তা" help: "সহায়তা"
inputMessageHere: "এখানে মেসেজ লিখুন" inputMessageHere: "এখানে মেসেজ লিখুন"
close: "বন্ধ" close: "বন্ধ"
group: "গ্রুপ"
groups: "গ্রুপসমূহ"
createGroup: "গ্রুপ তৈরী করুন"
ownedGroups: "আপনার গ্রুপগুলি"
joinedGroups: "যেসব গ্রুপে আপনি আছেন"
invites: "আমন্ত্রণ" invites: "আমন্ত্রণ"
groupName: "গ্রুপের নাম"
members: "সদস্যবৃন্দ" members: "সদস্যবৃন্দ"
transfer: "হস্তান্তর" transfer: "হস্তান্তর"
messagingWithUser: "প্রাইভেট চ্যাট"
messagingWithGroup: "গ্রুপ চ্যাট"
title: "শিরোনাম" title: "শিরোনাম"
text: "পাঠ্য" text: "পাঠ্য"
enable: "সক্রিয়" enable: "সক্রিয়"
next: "পরবর্তী" next: "পরবর্তী"
retype: "পুনঃ প্রবেশ" retype: "পুনঃ প্রবেশ"
noteOf: "{user} এর নোট" noteOf: "{user} এর নোট"
inviteToGroup: "গ্রুপে আমন্ত্রণ জানান"
quoteAttached: "উদ্ধৃত" quoteAttached: "উদ্ধৃত"
quoteQuestion: "উদ্ধৃতি হিসাবে সংযুক্ত করবেন?" quoteQuestion: "উদ্ধৃতি হিসাবে সংযুক্ত করবেন?"
noMessagesYet: "কোন মেসেজ নেই" noMessagesYet: "কোন মেসেজ নেই"
@@ -432,13 +442,19 @@ passwordMatched: "মিলেছে"
passwordNotMatched: "মিলেনি" passwordNotMatched: "মিলেনি"
signinWith: "{x} এর সাহায্যে সাইন ইন করুন" signinWith: "{x} এর সাহায্যে সাইন ইন করুন"
signinFailed: "লগ ইন করা যায়নি। আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড চেক করুন." signinFailed: "লগ ইন করা যায়নি। আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড চেক করুন."
tapSecurityKey: "সিকিউরিটি কী স্পর্শ করুন"
or: "অথবা" or: "অথবা"
language: "ভাষা" language: "ভাষা"
uiLanguage: "UI এর ভাষা" uiLanguage: "UI এর ভাষা"
groupInvited: "আপনি একটি গ্রুপে আমন্ত্রিত হয়েছেন"
aboutX: "{x} সম্পর্কে" aboutX: "{x} সম্পর্কে"
useOsNativeEmojis: "অপারেটিং সিস্টেমের নেটিভ ইমোজি ব্যবহার করুন"
disableDrawer: "ড্রয়ার মেনু প্রদর্শন করবেন না" disableDrawer: "ড্রয়ার মেনু প্রদর্শন করবেন না"
youHaveNoGroups: "আপনার কোন গ্রুপ নেই "
joinOrCreateGroup: "একটি বিদ্যমান গ্রুপের আমন্ত্রণ পান বা একটি নতুন গ্রুপ তৈরি করুন৷"
noHistory: "কোনো ইতিহাস নেই" noHistory: "কোনো ইতিহাস নেই"
signinHistory: "প্রবেশ করার ইতিহাস" signinHistory: "প্রবেশ করার ইতিহাস"
disableAnimatedMfm: "অ্যানিমেটেড MFM অক্ষম করুন"
doing: "প্রক্রিয়া করছে..." doing: "প্রক্রিয়া করছে..."
category: "বিভাগ" category: "বিভাগ"
tags: "ট‍্যাগসমূহ" tags: "ট‍্যাগসমূহ"
@@ -485,7 +501,6 @@ deleteAll: "সব মুছুন"
showFixedPostForm: "টাইমলাইনের শীর্ষে পোস্ট করার ফর্মটি দেখান" showFixedPostForm: "টাইমলাইনের শীর্ষে পোস্ট করার ফর্মটি দেখান"
newNoteRecived: "নতুন নোট আছে" newNoteRecived: "নতুন নোট আছে"
sounds: "শব্দ" sounds: "শব্দ"
sound: "শব্দ"
listen: "শুনুন" listen: "শুনুন"
none: "কিছুই না" none: "কিছুই না"
showInPage: "পেজে দেখান" showInPage: "পেজে দেখান"
@@ -562,6 +577,7 @@ tokenRequested: "অ্যাকাউন্টে অ্যাক্সেস
pluginTokenRequestedDescription: "এই প্লাগইনটি এখানে দেওয়া অনুমুতিসমূহ ব্যাবহার করবে" pluginTokenRequestedDescription: "এই প্লাগইনটি এখানে দেওয়া অনুমুতিসমূহ ব্যাবহার করবে"
notificationType: "বিজ্ঞপ্তির ধরন" notificationType: "বিজ্ঞপ্তির ধরন"
edit: "সম্পাদনা" edit: "সম্পাদনা"
useStarForReactionFallback: "রিঅ্যাকশনের ইমোজি না জানলে ★ ব্যবহার করুন"
emailServer: "ইমেইল সার্ভার" emailServer: "ইমেইল সার্ভার"
enableEmail: "ইমেইল বিতরণ চালু করুন" enableEmail: "ইমেইল বিতরণ চালু করুন"
emailConfigInfo: "আপনার ইমেল ঠিকানা নিশ্চিত করতে এবং আপনার পাসওয়ার্ড পুনরায় সেট করতে ব্যবহৃত হয়" emailConfigInfo: "আপনার ইমেল ঠিকানা নিশ্চিত করতে এবং আপনার পাসওয়ার্ড পুনরায় সেট করতে ব্যবহৃত হয়"
@@ -803,6 +819,8 @@ deleteAccountConfirm: "আপনার অ্যাকাউন্ট মুছ
incorrectPassword: "আপনার দেওয়া পাসওয়ার্ডটি ভুল।" incorrectPassword: "আপনার দেওয়া পাসওয়ার্ডটি ভুল।"
voteConfirm: "\"{choice}\" এ ভোট দিতে চান?" voteConfirm: "\"{choice}\" এ ভোট দিতে চান?"
hide: "লুকান" hide: "লুকান"
leaveGroup: "গ্রুপ ছেড়ে চলে যান"
leaveGroupConfirm: "\"{name}\" গ্রুপ ছেড়ে চলে যেতে চান?"
useDrawerReactionPickerForMobile: "মোবাইলে রিঅ্যাকশন পিকারকে ড্রয়ারে প্রদর্শন করুন" useDrawerReactionPickerForMobile: "মোবাইলে রিঅ্যাকশন পিকারকে ড্রয়ারে প্রদর্শন করুন"
welcomeBackWithName: "আবার স্বাগতম, {name}" welcomeBackWithName: "আবার স্বাগতম, {name}"
clickToFinishEmailVerification: " [{ok}] ক্লিক করার মাধ্যমে আপনার ইমেল ঠিকানা নিশ্চিত করুন।" clickToFinishEmailVerification: " [{ok}] ক্লিক করার মাধ্যমে আপনার ইমেল ঠিকানা নিশ্চিত করুন।"
@@ -818,7 +836,6 @@ instanceDefaultLightTheme: "ইন্সট্যান্সের ডিফল
instanceDefaultDarkTheme: "ইন্সট্যান্সের ডিফল্ট ডার্ক থিম" instanceDefaultDarkTheme: "ইন্সট্যান্সের ডিফল্ট ডার্ক থিম"
instanceDefaultThemeDescription: "অবজেক্ট ফরম্যাটে থিম কোড লিখুন" instanceDefaultThemeDescription: "অবজেক্ট ফরম্যাটে থিম কোড লিখুন"
mutePeriod: "মিউটের সময়কাল" mutePeriod: "মিউটের সময়কাল"
period: "পোলের সময়সীমা"
indefinitely: "অনির্দিষ্ট" indefinitely: "অনির্দিষ্ট"
tenMinutes: "১০ মিনিট" tenMinutes: "১০ মিনিট"
oneHour: "১ ঘণ্টা" oneHour: "১ ঘণ্টা"
@@ -833,17 +850,6 @@ colored: "রঙ্গিন"
label: "লেবেল" label: "লেবেল"
localOnly: "শুধুমাত্র লোকাল" localOnly: "শুধুমাত্র লোকাল"
account: "অ্যাকাউন্টগুলি" account: "অ্যাকাউন্টগুলি"
like: "পছন্দ করা"
show: "প্রদর্শন"
color: "রং"
horizontal: "পাশে"
youFollowing: "অনুসরণ করা হচ্ছে"
_role:
priority: "অগ্রাধিকার"
_priority:
low: "নিম্ন"
middle: "মাঝারি"
high: "উচ্চ"
_emailUnavailable: _emailUnavailable:
used: "এই ইমেইল ঠিকানাটি ইতোমধ্যে ব্যবহৃত হয়েছে" used: "এই ইমেইল ঠিকানাটি ইতোমধ্যে ব্যবহৃত হয়েছে"
format: "এই ইমেল ঠিকানাটি সঠিকভাবে লিখা হয়নি" format: "এই ইমেল ঠিকানাটি সঠিকভাবে লিখা হয়নি"
@@ -868,7 +874,6 @@ _accountDelete:
_ad: _ad:
back: "পিছনে" back: "পিছনে"
reduceFrequencyOfThisAd: "এই বিজ্ঞাপনটি কম দেখান" reduceFrequencyOfThisAd: "এই বিজ্ঞাপনটি কম দেখান"
hide: "দেখাবেন না"
_forgotPassword: _forgotPassword:
enterEmail: "আপনি আপনার অ্যাকাউন্টের জন্য নিবন্ধিত ইমেল ঠিকানা লিখুন. সেই ঠিকানায় একটি পাসওয়ার্ড রিসেট লিঙ্ক পাঠানো হবে।" enterEmail: "আপনি আপনার অ্যাকাউন্টের জন্য নিবন্ধিত ইমেল ঠিকানা লিখুন. সেই ঠিকানায় একটি পাসওয়ার্ড রিসেট লিঙ্ক পাঠানো হবে।"
ifNoEmail: "আপনি যদি নিবন্ধনের সময় ই-মেইল ঠিকানা না দিয়ে থাকেন, তাহলে অনুগ্রহ করে প্রশাসকের সাথে যোগাযোগ করুন।" ifNoEmail: "আপনি যদি নিবন্ধনের সময় ই-মেইল ঠিকানা না দিয়ে থাকেন, তাহলে অনুগ্রহ করে প্রশাসকের সাথে যোগাযোগ করুন।"
@@ -906,6 +911,70 @@ _nsfw:
respect: "স্পর্শকাতর মিডিয়া লুকান" respect: "স্পর্শকাতর মিডিয়া লুকান"
ignore: "স্পর্শকাতর মিডিয়া লুকাবেন না" ignore: "স্পর্শকাতর মিডিয়া লুকাবেন না"
force: "সকল মিডিয়া লুকান" force: "সকল মিডিয়া লুকান"
_mfm:
cheatSheet: "MFM চিটশিট"
intro: "MFM একটি মার্কআপ ভাষা যা Misskey-এর মধ্যে বিভিন্ন জায়গায় ব্যবহার করা যেতে পারে। এখানে আপনি MFM-এর সিনট্যাক্সগুলির একটি তালিকা দেখতে পারবেন।"
dummy: "মিসকি ফেডিভার্সের বিশ্বকে প্রসারিত করে"
mention: "উল্লেখ"
mentionDescription: "@ চিহ্ন + ব্যবহারকারীর নাম একটি নির্দিষ্ট ব্যবহারকারীকে নির্দেশ করতে ব্যবহার করা যায়।"
hashtag: "হ্যাশট্যাগ"
hashtagDescription: "আপনি একটি # চিহ্ন + ট্যাগ সহ একটি হ্যাশট্যাগ নির্দেশ করতে পারেন।"
url: "URL"
urlDescription: "URL দেখানো সম্ভব।"
link: "লিংক"
linkDescription: "আপনি পাঠ্যের একটি নির্দিষ্ট অংশকে URL হিসাবে দেখাতে পারেন৷"
bold: "গাঢ়"
boldDescription: "অক্ষরগুলিকে মোটাকরে প্রদর্শন করা হবে।"
small: "ছোট"
smallDescription: "লেখা ছোট এবং পাতলা করে দেখানো হবে।"
center: "সেন্টার"
centerDescription: "লেখা মাঝ বরাবর দেখানো হবে"
inlineCode: "কোড (ইনলাইন)"
inlineCodeDescription: " প্রোগ্রামের কোডের জন্য ইনলাইন সিনট্যাক্স হাইলাইটিং করা হবে"
blockCode: "কোড (ব্লক)"
blockCodeDescription: "মাল্টি-লাইন প্রোগ্রামের কোডের জন্য সিনট্যাক্স হাইলাইট করে।"
inlineMath: "গাণিতিক সূত্র (ইনলাইন)"
inlineMathDescription: "গাণিতিক সূত্র প্রদর্শন করুন (KaTeX) ইনলাইন।"
blockMath: "গাণিতিক সূত্র (ব্লক)"
blockMathDescription: "একটি ব্লকে একাধিক লাইনের গাণিতিক সূত্র প্রদর্শন করুন (KaTeX)।"
quote: "উদ্ধৃতি"
quoteDescription: "বিষয়বস্তুকে একটি উদ্ধৃতি হিসাবে দেখানো হবে।"
emoji: "স্বনির্ধারিত ইমোজিগুলি"
emojiDescription: "আপনি একটি কাস্টম ইমোজির নাম কোলনে আবদ্ধ করে কাস্টম ইমোজিটি দেখাতে পারেন৷"
search: "খুঁজুন"
searchDescription: "পূর্ব-টাইপ করা পাঠ্য সহ একটি অনুসন্ধান বাক্স প্রদর্শন করে।"
flip: "উল্টান"
flipDescription: "বিষয়বস্তু উপরে/নীচে বা বাম/ডানে উল্টান।"
jelly: "অ্যানিমেশন (জেলি)"
jellyDescription: "জেলির মত অ্যানিমেশন দেখায়।"
tada: "অ্যানিমেশন (টাডা)"
tadaDescription: "\"টাডা!\" এর মত অ্যানিমেশন দেখায়।"
jump: "অ্যানিমেশন (লাফ)"
jumpDescription: "বিষয়বস্তুতে লাফ মারার মত অ্যানিমেশন দেখায়।"
bounce: "অ্যানিমেশন (তিড়িং বিড়িং)"
bounceDescription: "তিড়িং বিড়িং করার মত অ্যানিমেশন দেখায়।"
shake: "অ্যানিমেশন (ঝাঁকি)"
shakeDescription: "ঝাঁকির মত অ্যানিমেশন দেখায়।"
twitch: "অ্যানিমেশন (মোচড়ানো)"
twitchDescription: "মোচড়ানোর মত অ্যানিমেশন দেখায়।"
spin: "অ্যানিমেশন (ঘুরা)"
spinDescription: "ঘুরার মত অ্যানিমেশন দেখায়।"
x2: "বড়"
x2Description: "বিষয়বস্তু বড় করে দেখায়।"
x3: "অনেক বড়"
x3Description: "বিষয়বস্তু আরও বড় করে দেখায়।"
x4: "অস্বাভাবিক বড়"
x4Description: "বিষয়বস্তুকে আগের থেকেও আরও বড় করে দেখায়।"
blur: "ব্লার"
blurDescription: "বিষয়বস্তুকে ব্লার করতে পারেন। আপনি এর উপর মাউস কার্সার রাখলে, এটি পরিষ্কারভাবে দেখতে পাবেন।"
font: "ফন্ট"
fontDescription: "বিষয়বস্তুকে কোন ফন্টে দেখানো হবে তা নির্ধারণ করে।"
rainbow: "রেইনবো"
rainbowDescription: "বিষয়বস্তুকে রংধনুর রং গুলিতে প্রদর্শন করে।"
sparkle: "চিক চিক"
sparkleDescription: "বিষয়বস্তুকে একটি চিকচিকে কণা প্রভাব দেয়।"
rotate: "ঘুরান"
rotateDescription: "বিষয়বস্তুকে একটি নির্দিষ্ট কোনে ঘুরায়।"
_instanceTicker: _instanceTicker:
none: "দেখাবেন না" none: "দেখাবেন না"
remote: "রিমোট ব্যাবহারকারীদের জন্য দেখান" remote: "রিমোট ব্যাবহারকারীদের জন্য দেখান"
@@ -1035,14 +1104,38 @@ _ago:
weeksAgo: "{n} সপ্তাহ আগে" weeksAgo: "{n} সপ্তাহ আগে"
monthsAgo: "{n} মাস আগে" monthsAgo: "{n} মাস আগে"
yearsAgo: "{n} বছর আগে" yearsAgo: "{n} বছর আগে"
invalid: "এখানে কিছুই নাই"
_time: _time:
second: "সেকেন্ড" second: "সেকেন্ড"
minute: "মিনিট" minute: "মিনিট"
hour: "ঘণ্টা" hour: "ঘণ্টা"
day: "দিন" day: "দিন"
_tutorial:
title: "Misskey কিভাবে ব্যাবহার করবেন"
step1_1: "স্বাগতম!"
step1_2: "এই স্ক্রীনটিকে \"টাইমলাইন\" বলা হয় এবং কালানুক্রমিক ক্রমে আপনার এবং আপনি যাদের \"অনুসরণ করেন\" তাদের \"নোটগুলি\" দেখায়৷"
step1_3: "আপনি আপনার টাইমলাইনে কিছু দেখতে পাবেন না কারণ আপনি এখনও কোনো নোট পোস্ট করেননি এবং আপনি কাউকে অনুসরণ করছেন না৷"
step2_1: "নোট তৈরি করার আগে বা কাউকে অনুসরণ করার আগে প্রথমে আপনার প্রোফাইলটি সম্পূর্ণ করুন।"
step2_2: "আপনি কে তা জানা অনেক লোকের জন্য আপনার নোটগুলি দেখা এবং অনুসরণ করাকে সহজ করে তোলে৷"
step3_1: "আপনি কি সফলভাবে আপনার প্রোফাইল সেট আপ করেছেন?"
step3_2: "এখন, কিছু নোট পোস্ট করার চেষ্টা করুন। পোস্ট ফর্ম খুলতে পেন্সিল চিহ্নযুক্ত বাটনে ক্লিক করুন।"
step3_3: "বিষয়বস্তু লেখার পরে, আপনি ফর্মের উপরের ডানদিকের বাটনে ক্লিক করে পোস্ট করতে পারেন।"
step3_4: "পোস্ট করার মত কিছু মনে পরছে না? \"আমি মিসকি সেট আপ করছি\" বললে কেমন হয়?"
step4_1: "পোস্ট করেছেন?"
step4_2: "সাবাশ! এখন আপনার নোট টাইমলাইনে দেখা যাবে।"
step5_1: "এখন অন্যদেরকে অনুসরণ করে আপনার টাইমলাইনকে প্রাণবন্ত করে তুলুন।"
step5_2: "আপনি {featured}-এ জনপ্রিয় নোটগুলি দেখতে পারেন, যাতে আপনি যে ব্যক্তিকে পছন্দ করেন তাকে বেছে নিতে এবং অনুসরণ করতে পারেন, অথবা {explore}-এ জনপ্রিয় ব্যবহারকারীদের দেখতে পারেন৷"
step5_3: "একজন ব্যবহারকারীকে অনুসরণ করতে, ব্যবহারকারীর আইকনে ক্লিক করুন এবং ব্যবহারকারীর পৃষ্ঠাতে \"অনুসরণ করুন\" বাটনে ক্লিক করুন।"
step5_4: "যদি ব্যবহারকারীর নামের পাশে একটি লক আইকন থাকে তাহলে আপনার অনুসরণের অনুরোধ গ্রহণ করার জন্য তারা কিছু সময় নিতে পারে।"
step6_1: "সবকিছু ঠিক থাকলে আপনি টাইমলাইনে অন্য ব্যবহারকারীদের নোট দেখতে পাবেন।"
step6_2: "আপনি সহজেই আপনার প্রতিক্রিয়া জানাতে অন্য ব্যক্তির নোটে \"রিঅ্যাকশন\" যোগ করতে পারেন।"
step6_3: "একটি রিঅ্যাকশন যোগ করতে, নোটে \"+\" চিহ্নে ক্লিক করুন এবং আপনার পছন্দের রিঅ্যাকশন নির্বাচন করুন।"
step7_1: "অভিনন্দন! আপনি এখন Misskey-র প্রাথমিক টিউটোরিয়ালটি শেষ করেছেন।"
step7_2: "আপনি যদি Misskey সম্পর্কে আরও জানতে চান, তাহলে {help} এ দেখুন।"
step7_3: "এখন Misskey উপভোগ করুন 🚀"
_2fa: _2fa:
alreadyRegistered: "আপনি ইতিমধ্যে একটি 2-ফ্যাক্টর অথেনটিকেশন ডিভাইস নিবন্ধন করেছেন৷" alreadyRegistered: "আপনি ইতিমধ্যে একটি 2-ফ্যাক্টর অথেনটিকেশন ডিভাইস নিবন্ধন করেছেন৷"
registerDevice: "নতুন ডিভাইস নিবন্ধন করুন"
registerKey: "সিকিউরিটি কী নিবন্ধন করুন"
step1: "প্রথমে, আপনার ডিভাইসে {a} বা {b} এর মতো একটি অথেনটিকেশন অ্যাপ ইনস্টল করুন৷" step1: "প্রথমে, আপনার ডিভাইসে {a} বা {b} এর মতো একটি অথেনটিকেশন অ্যাপ ইনস্টল করুন৷"
step2: "এরপরে, অ্যাপের সাহায্যে প্রদর্শিত QR কোডটি স্ক্যান করুন।" step2: "এরপরে, অ্যাপের সাহায্যে প্রদর্শিত QR কোডটি স্ক্যান করুন।"
step2Url: "ডেস্কটপ অ্যাপে, নিম্নলিখিত URL লিখুন:" step2Url: "ডেস্কটপ অ্যাপে, নিম্নলিখিত URL লিখুন:"
@@ -1094,6 +1187,7 @@ _antennaSources:
homeTimeline: "আপনি অনুসরণ করছেন, এমন ব্যবহারকারীদের নোট" homeTimeline: "আপনি অনুসরণ করছেন, এমন ব্যবহারকারীদের নোট"
users: "এক বা একাধিক নির্দিষ্ট ব্যবহারকারীর নোট" users: "এক বা একাধিক নির্দিষ্ট ব্যবহারকারীর নোট"
userList: "নির্দিষ্ট তালিকায় নাম থাকা ব্যবহারকারীদের নোট" userList: "নির্দিষ্ট তালিকায় নাম থাকা ব্যবহারকারীদের নোট"
userGroup: "নির্দিষ্ট গ্রুপে থাকা ব্যবহারকারীদের নোট"
_weekday: _weekday:
sunday: "রবিবার" sunday: "রবিবার"
monday: "সোমবার" monday: "সোমবার"
@@ -1103,8 +1197,6 @@ _weekday:
friday: "শুক্রবার" friday: "শুক্রবার"
saturday: "শনিবার" saturday: "শনিবার"
_widgets: _widgets:
profile: "প্রোফাইল"
instanceInfo: "ইন্সট্যান্সের তথ্য"
memo: "স্টিকি নোট" memo: "স্টিকি নোট"
notifications: "বিজ্ঞপ্তি" notifications: "বিজ্ঞপ্তি"
timeline: "টাইমলাইন" timeline: "টাইমলাইন"
@@ -1124,8 +1216,6 @@ _widgets:
serverMetric: "সার্ভার মেট্রিক্স" serverMetric: "সার্ভার মেট্রিক্স"
aiscript: "AiScript কনসোল" aiscript: "AiScript কনসোল"
aichan: "আই চান" aichan: "আই চান"
_userList:
chooseList: "লিস্ট নির্বাচন করুন"
_cw: _cw:
hide: "লুকান" hide: "লুকান"
show: "আরও দেখুন" show: "আরও দেখুন"
@@ -1162,6 +1252,8 @@ _visibility:
followersDescription: "শুধুমাত্র আপনার অনুসরণকারীদের নিকট পোস্ট করুন" followersDescription: "শুধুমাত্র আপনার অনুসরণকারীদের নিকট পোস্ট করুন"
specified: "ডাইরেক্ট নোট" specified: "ডাইরেক্ট নোট"
specifiedDescription: "শুধুমাত্র নির্দিষ্ট ব্যাবহারকারীর নিকট পাঠান" specifiedDescription: "শুধুমাত্র নির্দিষ্ট ব্যাবহারকারীর নিকট পাঠান"
localOnly: "শুধুমাত্র লোকাল"
localOnlyDescription: "রিমোট ব্যাবহারকারীদের নিকট দৃশ্যমান নয়"
_postForm: _postForm:
replyPlaceholder: "নোটটির জবাব দিন..." replyPlaceholder: "নোটটির জবাব দিন..."
quotePlaceholder: "নোটটিকে উদ্ধৃত করুন..." quotePlaceholder: "নোটটিকে উদ্ধৃত করুন..."
@@ -1224,12 +1316,6 @@ _timelines:
local: "স্থানীয়" local: "স্থানীয়"
social: "সামাজিক" social: "সামাজিক"
global: "গ্লোবাল" global: "গ্লোবাল"
_play:
viewSource: "উৎস দেখুন"
featured: "জনপ্রিয়"
title: "শিরোনাম"
script: "স্ক্রিপ্ট"
summary: "বর্ণনা"
_pages: _pages:
newPage: "নতুন পৃষ্ঠা বানান" newPage: "নতুন পৃষ্ঠা বানান"
editPage: "পৃষ্ঠাটি সম্পাদনা করুন" editPage: "পৃষ্ঠাটি সম্পাদনা করুন"
@@ -1265,6 +1351,8 @@ _pages:
eyeCatchingImageRemove: "থাম্বনেইল সরান" eyeCatchingImageRemove: "থাম্বনেইল সরান"
chooseBlock: "ব্লক যোগ করুন" chooseBlock: "ব্লক যোগ করুন"
selectType: "ধরন নির্বাচন করুন" selectType: "ধরন নির্বাচন করুন"
enterVariableName: "চলকের নাম লিখুন"
variableNameIsAlreadyUsed: "চলকের নামটি ইতিপূর্বে ব্যাবহৃত হয়েছে"
contentBlocks: "বিষয়বস্তু" contentBlocks: "বিষয়বস্তু"
inputBlocks: "ইনপুট" inputBlocks: "ইনপুট"
specialBlocks: "বিশেষ" specialBlocks: "বিশেষ"
@@ -1274,11 +1362,249 @@ _pages:
section: "বিভাগ" section: "বিভাগ"
image: "ছবি" image: "ছবি"
button: "বাটন" button: "বাটন"
if: "যদি"
_if:
variable: "চলকগুলি"
post: "নোট লিখুন"
_post:
text: "বিষয়বস্তু"
attachCanvasImage: "ক্যানভাস ছবিসহ পোস্ট করুন"
canvasId: "ক্যানভাস ID"
textInput: "টেক্সট ইনপুট"
_textInput:
name: "চলকের নাম"
text: "শিরোনাম"
default: "ডিফল্ট মান"
textareaInput: "একাধিক লাইনের টেক্সট ইনপুট"
_textareaInput:
name: "চলকের নাম"
text: "শিরোনাম"
default: "ডিফল্ট মান"
numberInput: "সংখ্যা ইনপুট"
_numberInput:
name: "চলকের নাম"
text: "শিরোনাম"
default: "ডিফল্ট মান"
canvas: "ক্যানভাস"
_canvas:
id: "ক্যানভাস ID"
width: "প্রস্থ"
height: "উচ্চতা"
note: "এম্বেড নোট" note: "এম্বেড নোট"
_note: _note:
id: "নোট ID" id: "নোট ID"
idDescription: "আপনি এর বদলে নোটের URL পেস্ট করতে পারেন." idDescription: "আপনি এর বদলে নোটের URL পেস্ট করতে পারেন."
detailed: "বিস্তারিত দেখুন" detailed: "বিস্তারিত দেখুন"
switch: "সুইচ"
_switch:
name: "চলকের নাম"
text: "শিরোনাম"
default: "ডিফল্ট মান"
counter: "কাউন্টার"
_counter:
name: "চলকের নাম"
text: "শিরোনাম"
inc: "এভাবে মান বাড়ান"
_button:
text: "শিরোনাম"
colored: "রঙ্গিন"
action: "বাটনে ক্লিক করলে যা হবে"
_action:
dialog: "ডায়ালগ দেখান "
_dialog:
content: "বিষয়বস্তু"
resetRandom: "র‍্যানডম সিড রিসেট করুন"
pushEvent: "ইভেন্ট পাঠান"
_pushEvent:
event: "ইভেন্টের নাম"
message: "চালু হলে প্রদর্শনের জন্য বার্তা"
variable: "পাঠানো চলক"
no-variable: "কিছুই না"
callAiScript: "AiScript চালান"
_callAiScript:
functionName: "ফাংশনের নাম"
radioButton: "বহুনির্বাচনী"
_radioButton:
name: "চলকের নাম"
title: "শিরোনাম"
values: "বিকল্পগুলিকে আলাদা লাইনে লিখুন"
default: "ডিফল্ট মান"
script:
categories:
flow: "নিয়ন্ত্রণ"
logical: "লজিক্যাল অপারেশন"
operation: "হিসাব-নিকাশ"
comparison: "তুলনা"
random: "র‍্যান্ডম"
value: "মান"
fn: "ফাংশন"
text: "টেক্সট ম্যানিপুলেশন"
convert: "রুপান্তর"
list: "লিস্ট"
blocks:
text: "লেখা"
multiLineText: "লেখা (একাধিক লাইন)"
textList: "লেখার লিস্ট"
_textList:
info: "প্রতিটি এন্ট্রিকে আলাদা লাইনে লিখুন"
strLen: "লেখার দৈর্ঘ্য"
_strLen:
arg1: "লেখা"
strPick: "অক্ষর বের করে আনুন"
_strPick:
arg1: "লেখা"
arg2: "অক্ষরের অবস্থান"
strReplace: "লেখা প্রতিস্থাপন"
_strReplace:
arg1: "লেখা"
arg2: "যে লেখা প্রতিস্থাপন করা হবে"
arg3: "যা দ্বারা প্রতিস্থাপন করা হবে"
strReverse: "লেখা উল্টান"
_strReverse:
arg1: "লেখা"
join: "লেখা যুক্ত করুন"
_join:
arg1: "লিস্ট"
arg2: "বিভাজক"
add: "যোগ"
_add:
arg1: "A"
arg2: "B"
subtract: "বিয়োগ"
_subtract:
arg1: "A"
arg2: "B"
multiply: "গুন"
_multiply:
arg1: "A"
arg2: "B"
divide: "ভাগ"
_divide:
arg1: "A"
arg2: "B"
mod: "ভাগশেষ"
_mod:
arg1: "A"
arg2: "B"
round: "দশমিক রাউন্ড করুন"
_round:
arg1: "সংখ্যা"
eq: "A ও B সমান"
_eq:
arg1: "A"
arg2: "B"
notEq: "A ও B সমান না"
_notEq:
arg1: "A"
arg2: "B"
and: "A এবং B"
_and:
arg1: "A"
arg2: "B"
or: "A অথবা B"
_or:
arg1: "A"
arg2: "B"
lt: "< A , B হতে কম"
_lt:
arg1: "A"
arg2: "B"
gt: "> A , B হতে বেশী"
_gt:
arg1: "A"
arg2: "B"
ltEq: "<= A , B হতে কম বা সমান"
_ltEq:
arg1: "A"
arg2: "B"
gtEq: ">= A , B হতে বেশী বা সমান"
_gtEq:
arg1: "A"
arg2: "B"
if: "যদি"
_if:
arg1: "যদি"
arg2: "তাহলে"
arg3: "তাছাড়া"
not: "না"
_not:
arg1: "না"
random: "র‍্যান্ডম"
_random:
arg1: "সম্ভাব্যতা"
rannum: "র‍্যানডম সংখ্যা"
_rannum:
arg1: "ন্যূনতম মান"
arg2: "সর্বোচ্চ মান"
randomPick: "তালিকা থেকে দৈবচয়ন করুন"
_randomPick:
arg1: "লিস্ট"
dailyRandom: "র‍্যান্ডম সংখ্যা (প্রতিটি ব্যবহারকারীর জন্য প্রতিদিন পরিবর্তীত হয়)"
_dailyRandom:
arg1: "সম্ভাব্যতা"
dailyRannum: "র‍্যান্ডম সংখ্যা (প্রতিটি ব্যবহারকারীর জন্য প্রতিদিন পরিবর্তীত হয়)"
_dailyRannum:
arg1: "ন্যূনতম মান"
arg2: "সর্বোচ্চ মান"
dailyRandomPick: "তালিকা থেকে এলোমেলোভাবে নির্বাচন করুন (প্রতিটি ব্যবহারকারীর জন্য প্রতিদিন পরিবর্তীত হয়)"
_dailyRandomPick:
arg1: "লিস্ট"
seedRandom: "র‍্যানডম (সীড দ্বারা)"
_seedRandom:
arg1: "সীড"
arg2: "সম্ভাব্যতা"
seedRannum: "র‍্যানডম সংখ্যা (সীড দ্বারা)"
_seedRannum:
arg1: "সীড"
arg2: "ন্যূনতম মান"
arg3: "সর্বোচ্চ মান"
seedRandomPick: "তালিকা থেকে দৈবচয়ন করুন (সীড দ্বারা)"
_seedRandomPick:
arg1: "সীড"
arg2: "লিস্ট"
DRPWPM: "সম্ভাব্যতা সহ একটি তালিকা থেকে এলোমেলোভাবে নির্বাচন করুন (প্রতিটি ব্যবহারকারীর জন্য প্রতিদিন)"
_DRPWPM:
arg1: "লেখার লিস্ট"
pick: "তালিকা থেকে নির্বাচন করুন"
_pick:
arg1: "লিস্ট"
arg2: "অবস্থান"
listLen: "লিস্টের দৈর্ঘ্য পান"
_listLen:
arg1: "লিস্ট"
number: "সংখ্যা"
stringToNumber: "পাঠ্য থেকে সংখ্যা"
_stringToNumber:
arg1: "লেখা"
numberToString: "সংখ্যা থেকে পাঠ্য"
_numberToString:
arg1: "সংখ্যা"
splitStrByLine: "পাঠ্যকে লাইনে বিভক্ত করুন"
_splitStrByLine:
arg1: "লেখা"
ref: "চলক"
aiScriptVar: "AiScript চলক"
fn: "ফাংশন"
_fn:
slots: "স্লটগুলি"
slots-info: "প্রতিটি স্লটকে আলাদা লাইনে লিখুন"
arg1: "আউটপুট"
for: "for-লুপ"
_for:
arg1: "কতবার চলবে"
arg2: "অ্যাকশন"
typeError: "স্লট {slot}, {expect} ধরনের মান গ্রহণ করে, কিন্তু {actual} ধরনের মান দেওয়া হয়েছে!"
thereIsEmptySlot: "স্লট {slot} খালি!"
types:
string: "লেখা"
number: "সংখ্যা"
boolean: "ফ্ল্যাগ"
array: "লিস্ট"
stringArray: "লেখার লিস্ট"
emptySlot: "খালি স্লট"
enviromentVariables: "এনভাইরনমেন্ট ভ্যারিয়েবল"
pageVariables: "পেজের চলক"
argVariables: "ইনপুটের জায়গা"
_relayStatus: _relayStatus:
requesting: "অপেক্ষমান" requesting: "অপেক্ষমান"
accepted: "অনুমোদিত" accepted: "অনুমোদিত"
@@ -1289,9 +1615,13 @@ _notification:
youGotReply: "{name} আপনাকে জবাব দিয়েছে" youGotReply: "{name} আপনাকে জবাব দিয়েছে"
youGotQuote: "{name} আপনাকে উদ্ধৃত করেছে" youGotQuote: "{name} আপনাকে উদ্ধৃত করেছে"
youRenoted: "{name} এর Renote" youRenoted: "{name} এর Renote"
youGotPoll: "{name} আপনার পোলে ভোট দিয়েছে"
youGotMessagingMessageFromUser: "{name} আপনাকে মেসেজ করেছে"
youGotMessagingMessageFromGroup: "{name} গ্রুপে একটি নতুন মেসেজ আছে"
youWereFollowed: "আপনাকে অনুসরণ করছে" youWereFollowed: "আপনাকে অনুসরণ করছে"
youReceivedFollowRequest: "অনুসরণ করার জন্য অনুরোধ পাওয়া গেছে" youReceivedFollowRequest: "অনুসরণ করার জন্য অনুরোধ পাওয়া গেছে"
yourFollowRequestAccepted: "আপনার অনুসরণ করার অনুরোধ গৃহীত হয়েছে" yourFollowRequestAccepted: "আপনার অনুসরণ করার অনুরোধ গৃহীত হয়েছে"
youWereInvitedToGroup: "আপনি একটি গ্রুপে আমন্ত্রিত হয়েছেন"
pollEnded: "পোলের ফলাফল দেখা যাবে" pollEnded: "পোলের ফলাফল দেখা যাবে"
emptyPushNotificationMessage: "আপডেট করা পুশ বিজ্ঞপ্তি" emptyPushNotificationMessage: "আপডেট করা পুশ বিজ্ঞপ্তি"
_types: _types:
@@ -1302,9 +1632,11 @@ _notification:
renote: "রিনোট" renote: "রিনোট"
quote: "উদ্ধৃতি" quote: "উদ্ধৃতি"
reaction: "প্রতিক্রিয়া" reaction: "প্রতিক্রিয়া"
pollVote: "পোলে ভোট আছে"
pollEnded: "পোল শেষ" pollEnded: "পোল শেষ"
receiveFollowRequest: "প্রাপ্ত অনুসরণের অনুরোধসমূহ" receiveFollowRequest: "প্রাপ্ত অনুসরণের অনুরোধসমূহ"
followRequestAccepted: "গৃহীত অনুসরণের অনুরোধসমূহ" followRequestAccepted: "গৃহীত অনুসরণের অনুরোধসমূহ"
groupInvited: "গ্রুপের আমন্ত্রনসমূহ"
app: "লিঙ্ক করা অ্যাপ থেকে বিজ্ঞপ্তি" app: "লিঙ্ক করা অ্যাপ থেকে বিজ্ঞপ্তি"
_actions: _actions:
followBack: "ফলো ব্যাক করেছে" followBack: "ফলো ব্যাক করেছে"
@@ -1329,9 +1661,5 @@ _deck:
tl: "টাইমলাইন" tl: "টাইমলাইন"
antenna: "অ্যান্টেনা" antenna: "অ্যান্টেনা"
list: "লিস্ট" list: "লিস্ট"
channel: "চ্যানেলগুলি"
mentions: "উল্লেখসমূহ" mentions: "উল্লেখসমূহ"
direct: "ডাইরেক্ট নোটগুলি" direct: "ডাইরেক্ট নোটগুলি"
_webhookSettings:
name: "নাম"
active: "চালু"

View File

@@ -2,7 +2,6 @@
_lang_: "Català" _lang_: "Català"
headlineMisskey: "Una xarxa connectada per notes" headlineMisskey: "Una xarxa connectada per notes"
introMisskey: "Benvingut! Misskey és un servei de microblogging descentralitzat de codi obert.\nCrea \"notes\" per compartir els teus pensaments amb tots els que t'envolten. 📡\nAmb \"reaccions\", també pots expressar ràpidament els teus sentiments sobre les notes de tothom. 👍\nExplorem un món nou! 🚀" introMisskey: "Benvingut! Misskey és un servei de microblogging descentralitzat de codi obert.\nCrea \"notes\" per compartir els teus pensaments amb tots els que t'envolten. 📡\nAmb \"reaccions\", també pots expressar ràpidament els teus sentiments sobre les notes de tothom. 👍\nExplorem un món nou! 🚀"
poweredByMisskeyDescription: "{name} És un del serveis (anomenats instàncies de Misskey) que utilitzen la plataforma de codi obert <b>Misskey</b>."
monthAndDay: "{day}/{month}" monthAndDay: "{day}/{month}"
search: "Cercar" search: "Cercar"
notifications: "Notificacions" notifications: "Notificacions"
@@ -14,10 +13,10 @@ ok: "OK"
gotIt: "Ho he entès!" gotIt: "Ho he entès!"
cancel: "Cancel·lar" cancel: "Cancel·lar"
enterUsername: "Introdueix el teu nom d'usuari" enterUsername: "Introdueix el teu nom d'usuari"
renotedBy: "Impulsat per {usuari}" renotedBy: "Resignat per {usuari}"
noNotes: "Cap nota" noNotes: "Cap nota"
noNotifications: "Cap notificació" noNotifications: "Cap notificació"
instance: "Servidor" instance: "Instàncies"
settings: "Preferències" settings: "Preferències"
basicSettings: "Configuració bàsica" basicSettings: "Configuració bàsica"
otherSettings: "Configuració avançada" otherSettings: "Configuració avançada"
@@ -30,7 +29,7 @@ loggingIn: "Identificant-se"
logout: "Tancar la sessió" logout: "Tancar la sessió"
signup: "Registrar-se" signup: "Registrar-se"
uploading: "Pujant..." uploading: "Pujant..."
save: "Desa" save: "Desar"
users: "Usuaris" users: "Usuaris"
addUser: "Afegir un usuari" addUser: "Afegir un usuari"
favorite: "Afegir a preferits" favorite: "Afegir a preferits"
@@ -43,17 +42,16 @@ pin: "Fixar al perfil"
unpin: "Para de fixar del perfil" unpin: "Para de fixar del perfil"
copyContent: "Copiar el contingut" copyContent: "Copiar el contingut"
copyLink: "Copiar l'enllaç" copyLink: "Copiar l'enllaç"
delete: "Elimina" delete: "Eliminar"
deleteAndEdit: "Elimina i edita" deleteAndEdit: "Esborrar i editar"
deleteAndEditConfirm: "Segur que vols eliminar aquesta publicació i editar-la? Perdràs totes les reaccions, impulsos i respostes." deleteAndEditConfirm: "Estàs segur que vols suprimir aquesta nota i editar-la? Perdràs totes les reaccions, notes i respostes."
addToList: "Afegir a una llista" addToList: "Afegir a una llista"
sendMessage: "Enviar un missatge" sendMessage: "Enviar un missatge"
copyUsername: "Copiar nom d'usuari" copyUsername: "Copiar nom d'usuari"
searchUser: "Cercar un usuari" searchUser: "Cercar usuaris"
reply: "Respondre" reply: "Respondre"
loadMore: "Carregar més" loadMore: "Carregar més"
showMore: "Veure més" showMore: "Veure més"
showLess: "Mostra menys"
youGotNewFollower: "t'ha seguit" youGotNewFollower: "t'ha seguit"
receiveFollowRequest: "Sol·licitud de seguiment rebuda" receiveFollowRequest: "Sol·licitud de seguiment rebuda"
followRequestAccepted: "Sol·licitud de seguiment acceptada" followRequestAccepted: "Sol·licitud de seguiment acceptada"
@@ -62,7 +60,7 @@ mentions: "Mencions"
directNotes: "Notes directes" directNotes: "Notes directes"
importAndExport: "Importar / Exportar" importAndExport: "Importar / Exportar"
import: "Importar" import: "Importar"
export: "Exporta" export: "Exportar"
files: "Fitxers" files: "Fitxers"
download: "Baixar" download: "Baixar"
driveFileDeleteConfirm: "Estàs segur que vols suprimir el fitxer \"{name}\"? Les notes associades a aquest fitxer adjunt també se suprimiran." driveFileDeleteConfirm: "Estàs segur que vols suprimir el fitxer \"{name}\"? Les notes associades a aquest fitxer adjunt també se suprimiran."
@@ -95,12 +93,12 @@ followRequests: "Sol·licituds de seguiment"
unfollow: "Deixar de seguir" unfollow: "Deixar de seguir"
followRequestPending: "Sol·licituds de seguiment pendents" followRequestPending: "Sol·licituds de seguiment pendents"
enterEmoji: "Introduir un emoji" enterEmoji: "Introduir un emoji"
renote: "Impulsa" renote: "Renotar"
unrenote: "Anul·la l'impuls" unrenote: "Anul·lar renota"
renoted: "S'ha impulsat" renoted: "Renotat."
cantRenote: "No es pot impulsar aquesta publicació" cantRenote: "Aquesta publicació no pot ser renotada."
cantReRenote: "No es pot impulsar l'impuls." cantReRenote: "Impossible renotar una renota."
quote: "Cita" quote: "Citar"
pinnedNote: "Nota fixada" pinnedNote: "Nota fixada"
pinned: "Fixar al perfil" pinned: "Fixar al perfil"
you: "Tu" you: "Tu"
@@ -108,7 +106,6 @@ clickToShow: "Fes clic per mostrar"
sensitive: "NSFW" sensitive: "NSFW"
add: "Afegir" add: "Afegir"
reaction: "Reaccions" reaction: "Reaccions"
reactions: "Reaccions"
reactionSetting: "Reaccions a mostrar al selector de reaccions" reactionSetting: "Reaccions a mostrar al selector de reaccions"
reactionSettingDescription2: "Arrossega per reordenar, fes clic per suprimir, prem \"+\" per afegir." reactionSettingDescription2: "Arrossega per reordenar, fes clic per suprimir, prem \"+\" per afegir."
rememberNoteVisibility: "Recorda la configuració de visibilitat de les notes" rememberNoteVisibility: "Recorda la configuració de visibilitat de les notes"
@@ -122,259 +119,23 @@ block: "Bloqueja"
unblock: "Desbloqueja" unblock: "Desbloqueja"
suspend: "Suspèn" suspend: "Suspèn"
unsuspend: "Deixa de suspendre" unsuspend: "Deixa de suspendre"
blockConfirm: "Vols bloquejar?" instances: "Instàncies"
unblockConfirm: "Vols desbloquejar-lo?"
suspendConfirm: "Estàs segur que vols suspendre aquest compte?"
unsuspendConfirm: "Estàs segur que vols treure la suspensió d'aquest compte?"
selectList: "Tria una llista"
selectAntenna: "Tria una antena"
selectWidget: "Triar un giny"
editWidgets: "Editar ginys"
editWidgetsExit: "Fet"
customEmojis: "Emojis personalitzats"
emoji: "Emoji"
emojis: "Emoji"
emojiName: "Nom del emoji"
emojiUrl: "URL del emoji"
addEmoji: "Afegeix un emoji"
settingGuide: "Configuració recomanada"
cacheRemoteFiles: "Emmagatzemar fitxers remots"
cacheRemoteFilesDescription: "Quan aquesta opció està desactivada, els fitxers remots es carreguen directament des del servidor remot. Si desactiveu això, es reduirà l'ús d'emmagatzematge, però augmentarà el trànsit, ja que no es generaran miniatures."
flagAsBot: "Marca aquest compte com a bot"
flagAsBotDescription: "Marca aquest compte com a bot"
flagAsCat: "Marca aquest compte com a gat"
flagAsCatDescription: "Activeu aquesta opció per marcar aquest compte com a gat."
flagShowTimelineReplies: "Mostra les respostes a la línia de temps"
flagShowTimelineRepliesDescription: "Mostra les respostes a la línia de temps"
autoAcceptFollowed: "Aprova automàticament les sol·licituds de seguiment dels usuaris que segueixes"
addAccount: "Afegeix un compte"
loginFailed: "S'ha produït un error al accedir."
showOnRemote: "Navega més en el perfil original"
general: "General"
wallpaper: "Fons de Pantalla"
setWallpaper: "Defineix el fons de pantalla"
removeWallpaper: "Elimina el fons de pantalla"
searchWith: "Cerca: {q}"
youHaveNoLists: "No tens cap llista"
followConfirm: "Estàs segur que vols deixar de seguir {name}?"
proxyAccount: "Compte de proxy"
proxyAccountDescription: "Un compte proxy és un compte que actua com a seguidor remot per als usuaris en determinades condicions. Per exemple, quan un usuari afegeix un usuari remot a la llista, l'activitat de l'usuari remot no es lliurarà al servidor si cap usuari local segueix aquest usuari, de manera que el compte proxy el seguirà."
host: "Amfitrió"
selectUser: "Selecciona usuari/a"
recipient: "Destinatari"
annotation: "Comentaris"
federation: "Federació"
instances: "Servidors"
registeredAt: "Registrat a"
latestRequestReceivedAt: "Última petició rebuda"
latestStatus: "Últim estat"
storageUsage: "Emmagatzematge utilitzat"
charts: "Gràfics"
perHour: "Per hora"
perDay: "Per dia"
stopActivityDelivery: "Deixa d'enviar activitats"
blockThisInstance: "Deixa d'enviar activitats"
operations: "Accions"
software: "Programari"
version: "Versió"
metadata: "Metadades"
withNFiles: "{n} fitxer(s)"
monitor: "Monitor"
jobQueue: "Cua de tasques"
cpuAndMemory: "CPU i memòria"
network: "Xarxa"
disk: "Disc"
instanceInfo: "Informació del fitxer d'instal·lació"
statistics: "Estadístiques"
clearQueue: "Esborrar la cua"
clearQueueConfirmTitle: "Esteu segur que voleu esborrar la cua?"
clearQueueConfirmText: "Les notes no lliurades que quedin a la cua no es federaran. Normalment aquesta operació no és necessària."
clearCachedFiles: "Esborra la memòria cau"
clearCachedFilesConfirm: "Segur que voleu eliminar tots els fitxers de la memòria cau?"
blockedInstances: "Instàncies bloquejades"
muteAndBlock: "Silencia i bloca"
mutedUsers: "Usuaris silenciats"
blockedUsers: "Usuaris bloquejats"
noUsers: "No hi ha usuaris"
editProfile: "Edita el perfil"
noteDeleteConfirm: "Segur que voleu eliminar aquesta publicació?"
pinLimitExceeded: "No podeu fixar més publicacions"
intro: "La instal·lació de Misskey ha acabat! Crea un usuari d'administrador."
done: "Fet"
processing: "S'està processant..."
preview: "Vista prèvia"
default: "Per defecte"
defaultValueIs: "Per defecte: {value}"
noCustomEmojis: "Cap emoji personalitzat"
federating: "Federant"
blocked: "Bloquejat"
suspended: "Suspés"
publishing: "S'està publicant"
notResponding: "Sense resposta"
instanceFollowing: "Seguits del servidor"
instanceFollowers: "Seguidors del servidor"
instanceUsers: "Usuaris del servidor"
changePassword: "Canvia la contrasenya"
security: "Seguretat"
retypedNotMatch: "L'entrada no coincideix"
currentPassword: "Contrasenya actual"
newPassword: "Contrasenya nova"
newPasswordRetype: "Contrasenya nou (repeteix-la)"
attachFile: "Adjunta fitxers"
more: "Més"
featured: "Destacat"
usernameOrUserId: "Nom o ID d'usuari"
noSuchUser: "No s'ha trobat l'usuari"
lookup: "Cerca"
announcements: "Anuncis"
imageUrl: "URL de la imatge"
remove: "Eliminar" remove: "Eliminar"
removed: "Eliminat"
removeAreYouSure: "Segur que voleu retirar «{x}»?"
deleteAreYouSure: "Segur que voleu retirar «{x}»?"
resetAreYouSure: "Segur que voleu restablir-ho?"
saved: "S'ha desat"
messaging: "Xat"
upload: "Puja"
start: "Comença"
home: "Inici"
activity: "Activitat"
images: "Imatges"
image: "Imatges"
birthday: "Aniversari"
yearsOld: "{age} anys"
registeredDate: "Data de registre"
location: "Ubicació"
theme: "Tema"
themeForLightMode: "Tema del mode clar"
themeForDarkMode: "Tema del mode fosc"
light: "Clar"
dark: "Fosc"
lightThemes: "Temes clars"
darkThemes: "Temes foscos"
syncDeviceDarkMode: "Sincronitza el mode fosc amb la configuració del dispositiu"
renameFile: "Canvia el nom del fitxer"
folderName: "Nom de la carpeta"
createFolder: "Crea una carpeta"
renameFolder: "Canvia el nom de la carpeta"
deleteFolder: "Elimina la carpeta"
addFile: "Afegeix un fitxer"
emptyFolder: "La carpeta està buida"
unableToDelete: "No es pot eliminar"
copyUrl: "Copia l'URL"
rename: "Canvia el nom"
nsfw: "NSFW" nsfw: "NSFW"
reload: "Actualitza"
doNothing: "Ignora"
accept: "Accepta"
normal: "Nomal"
instanceName: "Nom del servidor"
instanceDescription: "Descripció del servidor"
maintainerName: "Nom de l'administrador"
maintainerEmail: "Correu electrònic de l'administrador"
tosUrl: "URL de les Condicions d'ús"
thisYear: "Enguany"
thisMonth: "Aquest mes"
today: "Avui"
dayX: "{day}"
monthX: "{month}"
yearX: "{year}"
pages: "Pàgines"
integration: "Integració"
connectService: "Connecta"
disconnectService: "Desconnecta"
enableLocalTimeline: "Activa la línia de temps local"
enableGlobalTimeline: "Activa la línia de temps global"
registration: "Registre"
invite: "Convida"
basicInfo: "Informació bàsica"
pinnedUsers: "Usuaris fixats"
pinnedNotes: "Nota fixada" pinnedNotes: "Nota fixada"
turnstile: "Turnstile"
enableTurnstile: "Activar Turnstile"
turnstileSiteKey: "Clau del lloc"
turnstileSecretKey: "Clau secreta"
antennas: "Antena"
manageAntennas: "Gestiona les antenes"
antennaSource: "Font de l'antena"
antennaKeywords: "Paraules clau a seguir"
antennaExcludeKeywords: "Paraules clau a excloure"
notifyAntenna: "Notifica'm les publicacions noves"
withFileAntenna: "Només les publicacions amb fitxers"
notesAndReplies: "Amb respostes"
silence: "Silencia"
silenceConfirm: "Segur que vols silenciar aquest usuari?"
unsilence: "Deixa de silenciar"
unsilenceConfirm: "Segur que vols deixar de silenciar aquest usuari?"
popularUsers: "Usuaris populars"
recentlyUpdatedUsers: "Usuaris actius fa poc"
recentlyRegisteredUsers: "Usuaris nous"
recentlyDiscoveredUsers: "Usuaris descoberts fa poc"
exploreUsersCount: "Hi ha {count} usuaris"
exploreFediverse: "Explora el fedivers"
popularTags: "Etiquetes populars"
userList: "Llistes" userList: "Llistes"
about: "Informació"
aboutMisskey: "Quant a Misskey"
administrator: "Administrador/a"
moderator: "Moderador/a"
moderation: "Moderació"
nUsersMentioned: "{n} usuaris mencionats"
securityKey: "Clau de seguretat"
unregister: "Cancel·la el registre"
passwordLessLogin: "Inici de sessió sense contrasenya"
resetPassword: "Restableix la contrasenya"
newPasswordIs: "La contrasenya nova és «{password}»"
reduceUiAnimation: "Redueix les animacions de la interfície"
share: "Comparteix"
notFound: "No s'ha trobat"
markAsReadAllUnreadNotes: "Marca-ho tot com a llegit"
help: "Ajuda"
invites: "Convida"
next: "Següent"
noteOf: "Publicació de: {user}"
invitations: "Convida"
tags: "Etiquetes"
docSource: "Font del document"
createAccount: "Crea un compte"
existingAccount: "Compte existent"
regenerate: "Regenera"
fontSize: "Mida del text"
noFollowRequests: "No tens sol·licituds de seguiment"
dashboard: "Panell de control"
local: "Local"
remote: "Remot"
total: "Total"
appearance: "Aparença"
clientSettings: "Configuració del client"
accountSettings: "Configuració del compte"
hideThisNote: "Amaga la publicació"
showFeaturedNotesInTimeline: "Mostra publicacions destacades en la línia de temps"
newNoteRecived: "Hi ha publicacions noves"
installedDate: "Data d'instal·lació"
state: "Estat"
sort: "Ordena"
ascendingOrder: "Ascendent"
descendingOrder: "Descendent"
deletedNote: "Publicacions eliminades"
invisibleNote: "Publicacions amagades"
smtpHost: "Amfitrió"
smtpUser: "Nom d'usuari" smtpUser: "Nom d'usuari"
smtpPass: "Contrasenya" smtpPass: "Contrasenya"
renotesCount: "Impulsos fets"
renotedCount: "Impulsos rebuts"
clearCache: "Esborra la memòria cau"
showingPastTimeline: "Estàs veient una línia de temps antiga"
info: "Informació"
user: "Usuaris" user: "Usuaris"
global: "Global"
searchByGoogle: "Cercar" searchByGoogle: "Cercar"
file: "Fitxers" file: "Fitxers"
_email: _email:
_follow: _follow:
title: "t'ha seguit" title: "t'ha seguit"
_instanceMute: _mfm:
instanceMuteDescription: "Silencia tots els impulsos dels servidors seleccionats, també els usuaris que responen a altres d'un servidor silenciat." mention: "Menció"
quote: "Citar"
search: "Cercar"
_theme: _theme:
keys: keys:
mention: "Menció" mention: "Menció"
@@ -382,83 +143,55 @@ _theme:
_sfx: _sfx:
note: "Notes" note: "Notes"
notification: "Notificacions" notification: "Notificacions"
chat: "Xat"
antenna: "Antenes"
_2fa: _2fa:
step2Url: "També pots inserir aquest enllaç i utilitzes una aplicació d'escriptori:" step2Url: "També pots inserir aquest enllaç i utilitzes una aplicació d'escriptori:"
_antennaSources:
all: "Totes les publicacions"
homeTimeline: "Publicacions dels usuaris seguits"
users: "Publicacions d'usuaris específics"
userList: "Publicacions d'una llista d'usuaris"
_widgets: _widgets:
profile: "Perfil"
instanceInfo: "Informació del fitxer d'instal·lació"
notifications: "Notificacions" notifications: "Notificacions"
timeline: "Línia de temps" timeline: "Línia de temps"
activity: "Activitat"
federation: "Federació"
jobQueue: "Cua de tasques"
_userList:
chooseList: "Tria una llista"
_cw: _cw:
show: "Carregar més" show: "Carregar més"
_visibility: _visibility:
home: "Inici"
followers: "Seguidors" followers: "Seguidors"
_profile: _profile:
username: "Nom d'usuari" username: "Nom d'usuari"
_exportOrImport: _exportOrImport:
allNotes: "Totes les publicacions"
followingList: "Seguint" followingList: "Seguint"
muteList: "Silencia" muteList: "Silencia"
blockingList: "Bloqueja" blockingList: "Bloqueja"
userLists: "Llistes" userLists: "Llistes"
_charts:
federation: "Federació"
_timelines:
home: "Inici"
local: "Local"
social: "Social"
global: "Global"
_pages: _pages:
contents: "Contingut" script:
blocks: categories:
image: "Imatges" list: "Llistes"
_note: blocks:
id: "ID de la publicació" _join:
detailed: "Mostra els detalls" arg1: "Llistes"
_randomPick:
arg1: "Llistes"
_dailyRandomPick:
arg1: "Llistes"
_seedRandomPick:
arg2: "Llistes"
_pick:
arg1: "Llistes"
_listLen:
arg1: "Llistes"
types:
array: "Llistes"
_notification: _notification:
youRenoted: "Impulsat per {name}"
youWereFollowed: "t'ha seguit" youWereFollowed: "t'ha seguit"
_types: _types:
all: "Tots"
follow: "Seguint" follow: "Seguint"
mention: "Menció" mention: "Menció"
renote: "Renotar" renote: "Renotar"
quote: "Citar" quote: "Citar"
reaction: "Reaccions" reaction: "Reaccions"
_actions: _actions:
followBack: "t'ha seguit també"
reply: "Respondre" reply: "Respondre"
renote: "Renotar" renote: "Renotar"
_deck: _deck:
columnAlign: "Alinea les columnes"
addColumn: "Afig una columna"
swapLeft: "Mou a lesquerra"
swapRight: "Mou a la dreta"
swapUp: "Mou cap amunt"
swapDown: "Mou cap avall"
popRight: "Col·loca a la dreta"
profile: "Perfil"
newProfile: "Perfil nou"
deleteProfile: "Elimina el perfil"
_columns: _columns:
main: "Principal"
widgets: "Ginys"
notifications: "Notificacions" notifications: "Notificacions"
tl: "Línia de temps" tl: "Línia de temps"
antenna: "Antena"
list: "Llistes" list: "Llistes"
mentions: "Mencions" mentions: "Mencions"
direct: "Publicacions directes"

View File

@@ -12,14 +12,12 @@ fetchingAsApObject: "Načítám data z Fediversu..."
ok: "Potvrdit" ok: "Potvrdit"
gotIt: "Rozumím!" gotIt: "Rozumím!"
cancel: "Zrušit" cancel: "Zrušit"
noThankYou: "Ne děkuji"
enterUsername: "Zadej uživatelské jméno" enterUsername: "Zadej uživatelské jméno"
renotedBy: "{user} přeposla/a" renotedBy: "{user} přeposla/a"
noNotes: "Žádné poznámky" noNotes: "Žádné poznámky"
noNotifications: "Žádná oznámení" noNotifications: "Žádná oznámení"
instance: "Instance" instance: "Instance"
settings: "Nastavení" settings: "Nastavení"
notificationSettings: "Nastavení oznámení"
basicSettings: "Obecná nastavení" basicSettings: "Obecná nastavení"
otherSettings: "Rozšířená nastavení" otherSettings: "Rozšířená nastavení"
openInWindow: "Otevřít v novém okně" openInWindow: "Otevřít v novém okně"
@@ -107,7 +105,6 @@ clickToShow: "Klikněte pro zobrazení"
sensitive: "NSFW" sensitive: "NSFW"
add: "Přidat" add: "Přidat"
reaction: "Reakce" reaction: "Reakce"
reactions: "Reakce"
reactionSettingDescription2: "Přetažením změníte pořadí, kliknutím smažete, zmáčkněte \"+\" k přidání" reactionSettingDescription2: "Přetažením změníte pořadí, kliknutím smažete, zmáčkněte \"+\" k přidání"
rememberNoteVisibility: "Zapamatovat nastavení zobrazení poznámky" rememberNoteVisibility: "Zapamatovat nastavení zobrazení poznámky"
attachCancel: "Odstranit přílohu" attachCancel: "Odstranit přílohu"
@@ -164,6 +161,7 @@ annotation: "Komentáře"
federation: "Federace" federation: "Federace"
instances: "Instance" instances: "Instance"
registeredAt: "Registrován" registeredAt: "Registrován"
latestRequestSentAt: "Poslední požadavek poslán"
latestRequestReceivedAt: "Poslední požadavek přijat" latestRequestReceivedAt: "Poslední požadavek přijat"
latestStatus: "Poslední status" latestStatus: "Poslední status"
storageUsage: "Využití úložiště" storageUsage: "Využití úložiště"
@@ -238,12 +236,12 @@ noMoreHistory: "To je vše"
startMessaging: "Zahájit chat" startMessaging: "Zahájit chat"
nUsersRead: "přečteno {n} uživateli" nUsersRead: "přečteno {n} uživateli"
agreeTo: "Souhlasím s {0}" agreeTo: "Souhlasím s {0}"
tos: "Podmínky užívání"
start: "Začít" start: "Začít"
home: "Domů" home: "Domů"
remoteUserCaution: "Tyto informace nemusí být aktuální jelikož uživatel je ze vzdálené instance." remoteUserCaution: "Tyto informace nemusí být aktuální jelikož uživatel je ze vzdálené instance."
activity: "Aktivita" activity: "Aktivita"
images: "Obrázky" images: "Obrázky"
image: "Obrázky"
birthday: "Datum narození" birthday: "Datum narození"
yearsOld: "{age} let" yearsOld: "{age} let"
registeredDate: "Datum registrace" registeredDate: "Datum registrace"
@@ -320,8 +318,6 @@ recaptcha: "reCAPTCHA"
enableRecaptcha: "Zapnout ReCAPTCHu" enableRecaptcha: "Zapnout ReCAPTCHu"
recaptchaSiteKey: "Klíč stránky" recaptchaSiteKey: "Klíč stránky"
recaptchaSecretKey: "Tajný Klíč (Secret Key)" recaptchaSecretKey: "Tajný Klíč (Secret Key)"
turnstileSiteKey: "Klíč stránky"
turnstileSecretKey: "Tajný Klíč (Secret Key)"
antennas: "Antény" antennas: "Antény"
manageAntennas: "Spravovat Antény" manageAntennas: "Spravovat Antény"
name: "Jméno" name: "Jméno"
@@ -339,9 +335,12 @@ about: "Informace"
aboutMisskey: "O Misskey" aboutMisskey: "O Misskey"
administrator: "Administrátor" administrator: "Administrátor"
token: "Token" token: "Token"
twoStepAuthentication: "Dvoufaktorová autentikace"
moderator: "Moderátor" moderator: "Moderátor"
nUsersMentioned: "{n} uživatelů zmínilo" nUsersMentioned: "{n} uživatelů zmínilo"
securityKey: "Bezpečnostní klíč" securityKey: "Bezpečnostní klíč"
securityKeyName: "Název klíče"
registerSecurityKey: "Registrovat bezpečnostní klíč"
lastUsed: "Naposledy použito" lastUsed: "Naposledy použito"
unregister: "Odstranit" unregister: "Odstranit"
resetPassword: "Resetovat heslo" resetPassword: "Resetovat heslo"
@@ -358,7 +357,13 @@ markAsReadAllTalkMessages: "Označit všechny zprávy za přečtené"
help: "Nápověda" help: "Nápověda"
inputMessageHere: "Sem zadejte zprávu" inputMessageHere: "Sem zadejte zprávu"
close: "Zavřít" close: "Zavřít"
group: "Skupina"
groups: "Skupiny"
createGroup: "Vytvořit skupinu"
ownedGroups: "Vlastněné skupiny"
joinedGroups: "Členství ve skupinách"
invites: "Pozvat" invites: "Pozvat"
groupName: "Název skupiny"
members: "Členové" members: "Členové"
transfer: "Převod" transfer: "Převod"
title: "Titulek" title: "Titulek"
@@ -367,6 +372,7 @@ enable: "Povolit"
next: "Další" next: "Další"
retype: "Zadejte znovu" retype: "Zadejte znovu"
noteOf: "{user} poznámky" noteOf: "{user} poznámky"
inviteToGroup: "Pozvat do skupiny"
quoteAttached: "Citace" quoteAttached: "Citace"
quoteQuestion: "Přiložit jako citaci?" quoteQuestion: "Přiložit jako citaci?"
noMessagesYet: "Zatím tu nejsou žádné zprávy" noMessagesYet: "Zatím tu nejsou žádné zprávy"
@@ -388,10 +394,15 @@ passwordMatched: "Hesla se schodují"
passwordNotMatched: "Hesla se neschodují" passwordNotMatched: "Hesla se neschodují"
signinWith: "Přihlásit se s {x}" signinWith: "Přihlásit se s {x}"
signinFailed: "Nelze se přihlásit. Zkontrolujte prosím své uživatelské jméno a heslo." signinFailed: "Nelze se přihlásit. Zkontrolujte prosím své uživatelské jméno a heslo."
tapSecurityKey: "Ťukněte na bezpečnostní klíč"
or: "Nebo" or: "Nebo"
language: "Jazyk" language: "Jazyk"
uiLanguage: "Jazyk uživatelského rozhraní" uiLanguage: "Jazyk uživatelského rozhraní"
groupInvited: "Pozvat do skupiny"
aboutX: "O {x}" aboutX: "O {x}"
useOsNativeEmojis: "Použití nativních emoji operačního systému"
youHaveNoGroups: "Nemáte žádné skupiny"
joinOrCreateGroup: "Můžete požádat o pozvání do stávající skupiny nebo vytvořit novou."
noHistory: "Žádná historie" noHistory: "Žádná historie"
signinHistory: "Historie přihlášení" signinHistory: "Historie přihlášení"
category: "Kategorie" category: "Kategorie"
@@ -599,14 +610,6 @@ speed: "Rychlost"
slow: "Pomalá" slow: "Pomalá"
fast: "Rychlá" fast: "Rychlá"
account: "Účty" account: "Účty"
show: "Zobrazit"
color: "Barva"
_role:
priority: "Priorita"
_priority:
low: "Nízká"
middle: "Střední"
high: "Vysoká"
_ad: _ad:
back: "Zpět" back: "Zpět"
_gallery: _gallery:
@@ -630,6 +633,19 @@ _registry:
_aboutMisskey: _aboutMisskey:
allContributors: "Všichni přispěvatelé" allContributors: "Všichni přispěvatelé"
source: "Zdrojový kód" source: "Zdrojový kód"
_mfm:
mention: "Zmínění"
hashtag: "Hashtag"
link: "Odkaz"
bold: "Tučně"
quote: "Citovat"
emoji: "Vlastní emoji"
search: "Vyhledávání"
flip: "Otočit"
tada: "Animace (tadá)"
blur: "Rozmazání"
font: "Font"
rainbow: "Duha"
_channel: _channel:
featured: "Trendy" featured: "Trendy"
_menuDisplay: _menuDisplay:
@@ -661,13 +677,13 @@ _sfx:
_ago: _ago:
future: "Budoucí" future: "Budoucí"
justNow: "Teď" justNow: "Teď"
invalid: "Nic nebylo nalezeno"
_time: _time:
second: "Sekund" second: "Sekund"
minute: "Minut" minute: "Minut"
hour: "Hodin" hour: "Hodin"
_2fa: _2fa:
renewTOTPCancel: "Ne děkuji" registerDevice: "Přidat zařízení"
registerKey: "Přidat bezpečnostní klíč"
_weekday: _weekday:
sunday: "Neděle" sunday: "Neděle"
monday: "Pondělí" monday: "Pondělí"
@@ -677,8 +693,6 @@ _weekday:
friday: "Pátek" friday: "Pátek"
saturday: "Sobota" saturday: "Sobota"
_widgets: _widgets:
profile: "Váš profil"
instanceInfo: "Informace o instanci"
notifications: "Oznámení" notifications: "Oznámení"
timeline: "Časová osa" timeline: "Časová osa"
calendar: "Kalendář" calendar: "Kalendář"
@@ -695,8 +709,6 @@ _widgets:
jobQueue: "Fronta úloh" jobQueue: "Fronta úloh"
aiscript: "AiScript conzole" aiscript: "AiScript conzole"
aichan: "Ai" aichan: "Ai"
_userList:
chooseList: "Vybrat seznam"
_cw: _cw:
hide: "Skrýt" hide: "Skrýt"
show: "Zobrazit více" show: "Zobrazit více"
@@ -734,9 +746,6 @@ _charts:
_timelines: _timelines:
home: "Domů" home: "Domů"
global: "Globální" global: "Globální"
_play:
script: "Skript"
summary: "Popis"
_pages: _pages:
newPage: "Vytvořit novou stránku" newPage: "Vytvořit novou stránku"
editPage: "Upravit stránku" editPage: "Upravit stránku"
@@ -759,8 +768,148 @@ _pages:
section: "Sekce" section: "Sekce"
image: "Obrázky" image: "Obrázky"
button: "Tlačítko" button: "Tlačítko"
if: "Pokud"
_if:
variable: "Proměnná"
_post:
text: "Obsah"
canvasId: "Canvas ID"
_textInput:
name: "Jméno proměnné"
text: "Titulek"
default: "Výchozí hodnota"
_textareaInput:
name: "Jméno proměnné"
text: "Titulek"
default: "Výchozí hodnota"
_numberInput:
name: "Jméno proměnné"
text: "Titulek"
default: "Výchozí hodnota"
canvas: "Canvas"
_canvas:
id: "Canvas ID"
width: "Šířka"
height: "Výška"
_switch:
name: "Jméno proměnné"
text: "Titulek"
default: "Výchozí hodnota"
_counter:
name: "Jméno proměnné"
text: "Titulek"
inc: "Krok"
_button:
text: "Titulek"
colored: "Barevné"
_action:
_dialog:
content: "Obsah"
_radioButton:
name: "Jméno proměnné"
default: "Výchozí hodnota"
script:
categories:
list: "Seznamy"
blocks:
text: "Text"
_strLen:
arg1: "Text"
_strPick:
arg1: "Text"
_strReplace:
arg1: "Text"
_strReverse:
arg1: "Text"
_join:
arg1: "Seznamy"
_subtract:
arg1: "A"
arg2: "B"
_multiply:
arg1: "A"
arg2: "B"
_divide:
arg1: "A"
arg2: "B"
_mod:
arg1: "A"
arg2: "B"
round: "Zaokrouhlení zlomku"
_round:
arg1: "Číselná hodnota"
eq: "A a B jsou stejné"
_eq:
arg1: "A"
arg2: "B"
notEq: "A a B jsou odlišné"
_notEq:
arg1: "A"
arg2: "B"
_and:
arg1: "A"
arg2: "B"
_or:
arg1: "A"
arg2: "B"
_lt:
arg1: "A"
arg2: "B"
_gt:
arg1: "A"
arg2: "B"
_ltEq:
arg1: "A"
arg2: "B"
_gtEq:
arg1: "A"
arg2: "B"
if: "Větev"
_if:
arg1: "Pokud"
arg2: "Potom"
arg3: "Nebo"
random: "Náhodně"
_random:
arg1: "Pravděpodobnost"
rannum: "Náhodné číslo"
_rannum:
arg1: "Minimální hodnota"
arg2: "Maximální hodnota"
_randomPick:
arg1: "Seznamy"
_dailyRandom:
arg1: "Pravděpodobnost"
_dailyRannum:
arg1: "Minimální hodnota"
arg2: "Maximální hodnota"
_dailyRandomPick:
arg1: "Seznamy"
_seedRandom:
arg2: "Pravděpodobnost"
_seedRannum:
arg2: "Minimální hodnota"
arg3: "Maximální hodnota"
_seedRandomPick:
arg2: "Seznamy"
_pick:
arg1: "Seznamy"
_listLen:
arg1: "Seznamy"
number: "Číselná hodnota"
_stringToNumber:
arg1: "Text"
_numberToString:
arg1: "Číselná hodnota"
_splitStrByLine:
arg1: "Text"
types:
string: "Text"
number: "Číselná hodnota"
array: "Seznamy"
_notification: _notification:
youWereFollowed: "Máte nového následovníka" youWereFollowed: "Máte nového následovníka"
youWereInvitedToGroup: "Pozvat do skupiny"
_types: _types:
all: "Vše" all: "Vše"
follow: "Sledovaní" follow: "Sledovaní"
@@ -778,8 +927,4 @@ _deck:
tl: "Časová osa" tl: "Časová osa"
antenna: "Antény" antenna: "Antény"
list: "Seznamy" list: "Seznamy"
channel: "Kanály"
mentions: "Zmínění" mentions: "Zmínění"
_webhookSettings:
name: "Jméno"
active: "Zapnuto"

File diff suppressed because it is too large Load Diff

View File

@@ -1,396 +0,0 @@
---
_lang_: "Ελληνικά"
monthAndDay: "{day}/{month}"
search: "Αναζήτηση"
notifications: "Ειδοποιήσεις"
username: "Όνομα μέλους"
password: "Κωδικός πρόσβασης"
forgotPassword: "Ξέχασα τον κωδικό πρόσβασης"
fetchingAsApObject: "Μαζεύοντας από το Fediverse..."
ok: "Εντάξει"
gotIt: "Τό'πιασα!"
cancel: "Ακύρωση"
enterUsername: "Εισάγετε το όνομα μέλους"
renotedBy: "Κοινοποιήθηκε από {user}"
noNotes: "Δεν υπάρχουν σημειώματα"
noNotifications: "Δεν υπάρχουν ειδοποιήσεις"
settings: "Ρυθμίσεις"
basicSettings: "Βασικές ρυθμίσεις"
otherSettings: "Άλλες ρυθμίσεις"
openInWindow: "Άνοιγμα σε παράθυρο"
profile: "Προφίλ"
timeline: "Χρονολόγιο"
noAccountDescription: "Αυτό το μέλος δεν έχει γράψει βιογραφικό ακόμη."
login: "Σύνδεση"
loggingIn: "Συνδέεστε"
logout: "Αποσύνδεση"
signup: "Δημιουργία λογαριασμού"
uploading: "Ανέβασμα..."
save: "Αποθήκευση"
users: "Μέλη"
addUser: "Προσθήκη μέλους"
favorite: "Προσθήκη στα αγαπημένα"
favorites: "Αγαπημένα"
unfavorite: "Αφαίρεση από αγαπημένα"
favorited: "Προστέθηκε στα αγαπημένα."
alreadyFavorited: "Έχει ήδη προστεθεί στα αγαπημένα."
cantFavorite: "Αδυναμία προσθήκης στα αγαπημένα."
pin: "Καρφίτσωμα στο προφίλ"
unpin: "Ξεκαρφίτσωμα από το προφίλ"
copyContent: "Αντιγραφή περιεχομένων"
copyLink: "Αντιγραφή συνδέσμου"
delete: "Διαγραφή"
deleteAndEdit: "Διαγραφή και επεξεργασία"
deleteAndEditConfirm: "Σίγουρα θέλετε να διαγράψετε αυτό το σημείωμα και να το επεξεργαστείτε; Θα χάσετε όλες τις αντιδράσεις, κοινοποιήσεις και απαντήσεις σε αυτό."
addToList: "Προσθήκη στη λίστα"
sendMessage: "Αποστολή μηνύματος"
copyUsername: "Αντιγραφή ονόματος μέλους"
searchUser: "Αναζήτηση μέλους"
reply: "Απάντηση"
loadMore: "Φόρτωσε περισσότερα"
showMore: "Δείξε περισσότερα"
showLess: "Κλείσιμο"
youGotNewFollower: "σε ακολούθησε"
receiveFollowRequest: "Λάβατε αίτημα ακολούθησης"
followRequestAccepted: "Το αίτημα ακολούθησης έγινε δεκτό"
mention: "Επισήμανση"
mentions: "Επισημάνσεις"
directNotes: "Απευθείας σημειώματα"
importAndExport: "Εισαγωγή / Εξαγωγή"
import: "Εισαγωγή"
export: "Εξαγωγή"
files: "Αρχεία"
download: "Λήψη"
driveFileDeleteConfirm: "Θέλετε σίγουρα να διαγράψετε το αρχείο \"{name}\"; Τα σημειώματα με αυτό το συνημμένο αρχείο επίσης θα διαγραφούν."
unfollowConfirm: "Θέλετε σίγουρα να σταματήσετε να ακολουθείτε το μέλος {name};"
exportRequested: "Ζητήσατε μία εξαγωγή. Αυτό μπορεί να πάρει κάποιον χρόνο. Επίσης θα προστεθεί στον Δίσκο σας μόλις ολοκληρωθεί."
importRequested: "Ζητήσατε μία εισαγωγή. Αυτό μπορεί να πάρει κάποιον χρόνο."
lists: "Λίστες"
noLists: "Δεν έχετε λίστες"
note: "Σημείωμα"
notes: "Σημειώματα"
following: "Ακολουθεί"
followers: "Ακολουθούν"
followsYou: "Σε ακολουθεί"
createList: "Δημιουργία λίστας"
manageLists: "Διαχείριση λιστών"
error: "Σφάλμα"
somethingHappened: "Προέκυψε ένα σφάλμα"
retry: "Προσπάθεια ξανά"
pageLoadError: "Ένα σφάλμα προέκυψε φορτώνοντας τη σελίδα."
pageLoadErrorDescription: "Αυτό κανονικά προκαλείται από σφάλματα δικτύου ή από την προσωρινή μνήμη του προγράμματος περιήγησης. Δοκιμάστε να σβήσετε την προσωρινή μνήμη (cache) και ξαναδοκιμάστε μετά από λίγο."
serverIsDead: "Αυτός ο server δεν αποκρίνεται. Παρακαλώ περιμέντε λίγο και δοκιμάστε ξανά."
youShouldUpgradeClient: "Για να δείτε αυτή τη σελίδα, παρακαλώ επαναφορτώστε για να ενημερωθεί το πρόγραμμα."
enterListName: "Πληκτρολογήστε ένα όνομα για τη λίστα"
privacy: "Ιδιωτικότητα"
makeFollowManuallyApprove: "Τα αιτήματα ακολούθησης χρειάζονται έγκριση"
defaultNoteVisibility: "Προεπιλεγμένη ορατότητα"
follow: "Ακολουθήστε"
followRequest: "Στείλτε αίτημα ακολούθησης"
followRequests: "Αιτήματα ακολούθησης"
unfollow: "Να μην ακολουθώ"
followRequestPending: "Το αίτημα ακολούθησης εκκρεμεί"
enterEmoji: "Εισάγετε ένα emoji"
renote: "Κοινοποίηση σημειώματος"
unrenote: "Ακύρωση κοινοποίησης"
renoted: "Κοινοποιήθηκε."
cantRenote: "Αυτή η δημοσίευση δεν μπορεί να κοινοποιηθεί."
cantReRenote: "Μία κοινοποίηση δεν μπορεί να κοινοποιηθεί."
quote: "Παράθεση"
pinnedNote: "Καρφιτσωμένο σημείωμα"
pinned: "Καρφίτσωμα στο προφίλ"
you: "Εσύ"
clickToShow: "Κάντε κλικ για εμφάνιση"
add: "Προσθέστε"
reaction: "Αντιδράσεις"
reactions: "Αντιδράσεις"
reactionSetting: "Αντιδράσεις για εμφάνιση στην επιλογή αντίδρασης"
reactionSettingDescription2: "Σύρετε για να αλλάξετε τη σειρά, κάντε κλικ για να διαγράψετε, πατήστε \"+\" για να προσθέσετε."
rememberNoteVisibility: "Θυμήσου τις ρυθμίσεις ορατότητας σημειώματος"
attachCancel: "Διαγραφή αρχείου"
enterFileName: "Πληκτρολογήστε όνομα αρχείου"
mute: "Σίγαση"
unmute: "Άρση σίγασης"
block: "Μπλοκάρισμα"
unblock: "Άρση μπλοκαρίσματος"
suspend: "Αποβολή"
unsuspend: "Άρση αποβολής"
blockConfirm: "Θέλετε σίγουρα να μπλοκάρετε αυτόν τον λογαριασμό;"
unblockConfirm: "Θέλετε σίγουρα να ξεμπλοκάρετε αυτόν τον λογαριασμό;"
suspendConfirm: "Θέλετε σίγουρα να αποβάλλετε αυτόν τον λογαριασμό;"
unsuspendConfirm: "Θέλετε σίγουρα να άρετε την αποβολή αυτού του λογαριασμού;"
selectList: "Επιλέξτε μία λίστα"
selectAntenna: "Επιλέξτε μία αντένα"
selectWidget: "Επιλέξτε ένα μαραφέτι"
editWidgets: "Επεξεργασία μαραφετίων"
editWidgetsExit: "Ολοκληρώθηκε"
customEmojis: "Επιπλέον emoji"
emojiName: "Όνομα emoji"
addEmoji: "Προσθήκη emoji"
settingGuide: "Συνιστώμενες ρυθμίσεις"
flagAsBot: "Αυτός ο λογαριασμός είναι bot"
flagAsCat: "Αυτός ο λογαριασμός είναι γάτα"
flagShowTimelineReplies: "Εμφάνιση απαντήσεων στο χρονολόγιο"
addAccount: "Προσθήκη λογαριασμού"
general: "Γενικές"
wallpaper: "Ταπετσαρία"
setWallpaper: "Ορισμός ταπετσαρίας"
removeWallpaper: "Διαγραφή ταπετσαρίας"
searchWith: "Αναζήτηση: {q}"
youHaveNoLists: "Δεν έχετε λίστες"
followConfirm: "Θέλετε σίγουρα να ακολουθήσετε τον λογαριασμό {name};"
host: "Φιλοξενεί"
selectUser: "Επιλέξτε ένα μέλος"
recipient: "Αποδέκτης-τρια"
annotation: "Σχόλια"
federation: "Ομοσπονδία"
storageUsage: "Χρήση χώρου"
version: "Έκδοση"
metadata: "Μεταδεδομένα"
network: "Δίκτυο"
disk: "Δίσκος"
instanceInfo: "Πληροφορίες του instance"
statistics: "Στατιστικά"
clearQueue: "Εκκαθάριση ουράς"
clearQueueConfirmTitle: "Θέλετε να διαγράψετε την ουρά;"
clearCachedFiles: "Εκκαθάριση προσωρινής μνήμης"
done: "Ολοκληρώθηκε"
attachFile: "Επισύναψη αρχείων"
more: "Περισσότερα!"
noSuchUser: "Το μέλος δεν βρέθηκε"
announcements: "Ανακοινώσεις"
imageUrl: "URL εικόνας"
remove: "Διαγραφή"
removed: "Η διαγραφή ολοκληρώθηκε επιτυχώς"
saved: "Αποθηκεύτηκε"
messaging: "Συνομιλία"
upload: "Ανεβάστε"
fromDrive: "Από τον Αποθηκευτικό Χώρο"
fromUrl: "Από URL"
uploadFromUrl: "Ανεβάστε από URL"
explore: "Εξερευνήστε"
messageRead: "Διαβάστηκε"
startMessaging: "Ξεκινήστε μία συνομιλία"
nUsersRead: "διαβάστηκε από {n}"
start: "Ας αρχίσουμε"
home: "Κεντρικό"
activity: "Δραστηριότητα"
images: "Εικόνες"
image: "Εικόνες"
birthday: "Γενέθλια"
registeredDate: "Έγινε μέλος στις"
location: "Τοποθεσία"
theme: "Θέματα"
light: "Ανοιχτόχρωμο"
dark: "Σκούρο"
drive: "Αποθηκευτικός Χώρος"
fileName: "Όνομα αρχείου"
selectFile: "Επιλέξτε ένα αρχείο"
selectFiles: "Επιλέξτε αρχεία"
selectFolder: "Επιλέξτε φάκελο"
selectFolders: "Επιλέξτε φακέλους"
renameFile: "Μετονομασία αρχείου"
addFile: "Προσθήκη αρχείου"
emptyDrive: "Ο Αποθηκευτικός Χώρος σας είναι άδειος"
copyUrl: "Αντιγραφή URL"
rename: "Αλλαγή ονόματος"
avatar: "Εικονίδιο"
banner: "Πανό"
reload: "Ανανέωση"
doNothing: "Αγνόηση"
watch: "Παρακολούθηση"
unwatch: "Τέλος παρακολούθησης"
accept: "Αποδοχή"
reject: "Απόρριψη"
normal: "Κανονικό"
instanceName: "Όνομα instance"
thisYear: "Έτος"
thisMonth: "Μήνας"
today: "Σήμερα"
dayX: "{day}"
pages: "Σελίδες"
connectService: "Σύνδεση"
disconnectService: "Αποσύνδεση"
registration: "Εγγραφή"
pinnedPages: "Καρφιτσωμένες Σελίδες"
pinnedNotes: "Καρφιτσωμένα σημειώματα"
antennas: "Αντένες"
manageAntennas: "Διαχείριση αντενών"
name: "Όνομα"
antennaSource: "Πηγή αντένας"
antennaKeywords: "Λέξεις-κλειδιά για παρακολούθηση"
antennaExcludeKeywords: "Λέξεις-κλειδιά για αποκλεισμό"
notifyAntenna: "Ειδοποίηση για νέα σημειώματα"
withFileAntenna: "Μόνο σημειώματα με αρχεία"
caseSensitive: "Διάκριση Πεζών-Κεφαλαίων"
popularTags: "Δημοφιλείς ετικέτες"
userList: "Λίστες"
about: "Πληροφορίες"
moderator: "Συντονιστής"
moderation: "Συντονισμός"
cacheClear: "Εκκαθάριση προσωρινής μνήμης"
markAsReadAllNotifications: "Όλες οι ειδοποιήσεις διαβάστηκαν"
members: "Μέλη"
transfer: "Μεταφορά"
title: "Τίτλος"
text: "Κείμενο"
enable: "Ενεργοποίηση"
next: "Επόμενο"
noteOf: "Σημείωμα από {user}"
quoteAttached: "Παράθεση"
signinRequired: "Παρακαλούμε δημιουργήστε λογαριασμό ή συνδεθείτε πριν συνεχίσετε"
category: "Κατηγορία"
tags: "Ετικέτες"
createAccount: "Δημιουργία λογαριασμού"
local: "Τοπικό"
remote: "Απομακρυσμένo"
total: "Σύνολο"
appearance: "Εμφάνιση"
accountSettings: "Ρυθμίσεις λογαριασμού"
sounds: "Ήχοι"
sound: "Ήχοι"
listen: "Ακρόαση"
showInPage: "Εμφάνιση στη σελίδα"
volume: "Ένταση"
masterVolume: "Κύρια ένταση"
details: "Λεπτομέρειες"
install: "Εγκατάσταση"
uninstall: "Κατάργηση εγκατάστασης"
manage: "Διαχείριση"
smtpHost: "Φιλοξενεί"
smtpUser: "Όνομα μέλους"
smtpPass: "Κωδικός πρόσβασης"
notificationSetting: "Ρυθμίσεις ειδοποιήσεων"
notificationSettingDesc: "Επιλέξτε τους τύπους ειδοποιήσεων που εμφανίζονται"
switchUi: "Αλλαγή UI"
clip: "Κλιπ"
driveFilesCount: "Αριθμός αρχείων Αποθηκευτικού Χώρου"
driveUsage: "Χρήση Αποθηκευτικού Χώρου"
noteFavoritesCount: "Αριθμός αγαπημένων σημειωμάτων"
clips: "Κλιπ"
clearCache: "Εκκαθάριση προσωρινής μνήμης"
emailNotification: "Ειδοποιήσεις μέσω mail"
inChannelSearch: "Αναζήτηση στο κανάλι"
info: "Πληροφορίες"
notRecommended: "Δεν προτείνεται"
switchAccount: "Αλλαγή λογαριασμού"
user: "Μέλη"
administration: "Διαχείριση"
switch: "Εναλλαγή"
gallery: "Γκαλερί"
global: "Παγκόσμιο"
searchResult: "Αποτελέσματα αναζήτησης"
learnMore: "Μάθετε περισσότερα"
controlPanel: "Πίνακας ελέγχου"
manageAccounts: "Διαχείριση Λογαριασμών"
searchByGoogle: "Αναζήτηση"
file: "Αρχεία"
recommended: "Προτεινόμενα"
cannotUploadBecauseNoFreeSpace: "Το ανέβασμα απέτυχε λόγω ανεπαρκούς Αποθηκευτικού Χώρου"
_email:
_follow:
title: "Έχετε ένα νέο ακόλουθο"
_channel:
featured: "Δημοφιλή"
_theme:
keys:
panel: "Πίνακας"
mention: "Επισήμανση"
renote: "Κοινοποίηση σημειώματος"
_sfx:
note: "Σημειώματα"
notification: "Ειδοποιήσεις"
chat: "Συνομιλία"
chatBg: "Συνομιλία (Παρασκήνιο)"
antenna: "Αντένες"
channel: "Ειδοποιήσεις καναλιών"
_ago:
future: "Μελλοντικό"
justNow: "Μόλις τώρα"
secondsAgo: "{n} δευτερόλεπτο(α) πριν"
minutesAgo: "{n} λεπτό(ά) πριν"
hoursAgo: "{n} ώρα(ες) πριν"
daysAgo: "{n} μέρα(ες) πριν"
weeksAgo: "{n} εβδομάδα(ες) πριν"
monthsAgo: "{n} μήνα(ες) πριν"
yearsAgo: "{n} έτος(η) πριν"
_permissions:
"write:drive": "Επεξεργαστείτε ή διαγράψτε τα αρχεία και τους φακέλους του Αποθηκευτικού Χώρου σας"
"read:favorites": "Δείτε τη λίστα των αγαπημένων σας"
"write:favorites": "Επεξεργαστείτε τη λίστα των αγαπημένων σας"
"read:messaging": "Δείτε τις συνομιλίες σας"
"write:messaging": "Γράψτε ή διαγράψτε μηνύματα συνομιλίας"
"read:notifications": "Δείτε τις ειδοποιήσεις σας"
"write:notifications": "Διαχειριστείτε τις ειδοποιήσεις σας"
"read:pages": "Δείτε τις Σελίδες σας"
"write:pages": "Επεξεργαστείτε ή διαγράψτε τις σελίδες σας"
_antennaSources:
all: "Όλα τα σημειώματα"
homeTimeline: "Σημειώματα από μέλη που ακολουθείτε"
users: "Σημειώματα από συγκεκριμένα μέλη"
userList: "Σημειώματα από καθορισμένη λίστα μελών"
_widgets:
profile: "Προφίλ"
instanceInfo: "Πληροφορίες του instance"
notifications: "Ειδοποιήσεις"
timeline: "Χρονολόγιο"
calendar: "Ημερολόγιο"
trends: "Δημοφιλή"
clock: "Ρολόι"
activity: "Δραστηριότητα"
photos: "Φωτογραφίες"
digitalClock: "Ψηφιακό ρολόι"
federation: "Ομοσπονδία"
postForm: "Φόρμα δημοσίευσης"
button: "Κουμπί"
onlineUsers: "Συνδεδεμένα μέλη"
_userList:
chooseList: "Επιλέξτε μία λίστα"
_cw:
show: "Δείτε περισσότερα"
_visibility:
home: "Κεντρικό"
homeDescription: "Δημοσίευση στο κεντρικό χρονολόγιο μόνο"
followers: "Ακολουθούν"
_profile:
name: "Όνομα"
username: "Όνομα μέλους"
_exportOrImport:
allNotes: "Όλα τα σημειώματα"
followingList: "Ακολουθεί"
muteList: "Μέλη σε σίγαση"
blockingList: "Μπλοκαρισμένα μέλη"
userLists: "Λίστες"
_charts:
federation: "Ομοσπονδία"
_timelines:
home: "Κεντρικό"
local: "Τοπικό"
social: "Κοινωνικό"
global: "Παγκόσμιο"
_pages:
viewPage: "Δείτε τις Σελίδες σας"
blocks:
image: "Εικόνες"
_notification:
youWereFollowed: "σε ακολούθησε"
_types:
follow: "Νέοι ακόλουθοι"
mention: "Επισήμανση"
renote: "Κοινοποίηση σημειώματος"
quote: "Παράθεση"
reaction: "Αντιδράσεις"
_actions:
reply: "Απάντηση"
renote: "Κοινοποίηση σημειώματος"
_deck:
widgetsIntroduction: "Παρακαλούμε επιλέξτε \"Επεξεργασία μαραφετίων\" στο μενού και προσθέστε μαραφέτι."
_columns:
widgets: "Μαραφέτια"
notifications: "Ειδοποιήσεις"
tl: "Χρονολόγιο"
antenna: "Αντένες"
list: "Λίστα"
mentions: "Επισημάνσεις"
_webhookSettings:
name: "Όνομα"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,6 @@
_lang_: "Français" _lang_: "Français"
headlineMisskey: "Réseau relié par des notes" headlineMisskey: "Réseau relié par des notes"
introMisskey: "Bienvenue ! Misskey est un service de microblogage décentralisé, libre et ouvert.\nÉcrivez des « notes » et partagez ce qui se passe à linstant présent, autour de vous avec les autres 📡\nLa fonction « réactions », vous permet également dajouter une réaction rapide aux notes des autres utilisateur·rice·s 👍\nExplorons un nouveau monde 🚀" introMisskey: "Bienvenue ! Misskey est un service de microblogage décentralisé, libre et ouvert.\nÉcrivez des « notes » et partagez ce qui se passe à linstant présent, autour de vous avec les autres 📡\nLa fonction « réactions », vous permet également dajouter une réaction rapide aux notes des autres utilisateur·rice·s 👍\nExplorons un nouveau monde 🚀"
poweredByMisskeyDescription: "{nom} 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"
notifications: "Notifications" notifications: "Notifications"
@@ -13,14 +12,12 @@ fetchingAsApObject: "Récupération depuis le fédiverse …"
ok: "OK" ok: "OK"
gotIt: "Jai compris !" gotIt: "Jai compris !"
cancel: "Annuler" cancel: "Annuler"
noThankYou: "Pas maintenant"
enterUsername: "Entrer un nom dutilisateur·rice" enterUsername: "Entrer un nom dutilisateur·rice"
renotedBy: "Renoté par {user}" renotedBy: "Renoté par {user}"
noNotes: "Aucune note" noNotes: "Aucune note"
noNotifications: "Aucune notification" noNotifications: "Aucune notification"
instance: "Instance" instance: "Instance"
settings: "Paramètres" settings: "Paramètres"
notificationSettings: "Paramètres des notifications "
basicSettings: "Paramètres généraux" basicSettings: "Paramètres généraux"
otherSettings: "Paramètres avancés" otherSettings: "Paramètres avancés"
openInWindow: "Ouvrir dans une nouvelle fenêtre" openInWindow: "Ouvrir dans une nouvelle fenêtre"
@@ -50,7 +47,6 @@ deleteAndEdit: "Supprimer et réécrire"
deleteAndEditConfirm: "Êtes-vous sûr·e de vouloir supprimer cette note et la reformuler ? Vous perdrez toutes les réactions, renotes et réponses y afférentes." deleteAndEditConfirm: "Êtes-vous sûr·e de vouloir supprimer cette note et la reformuler ? Vous perdrez toutes les réactions, renotes et réponses y afférentes."
addToList: "Ajouter à une liste" addToList: "Ajouter à une liste"
sendMessage: "Envoyer un message" sendMessage: "Envoyer un message"
copyRSS: "Copier le RSS"
copyUsername: "Copier le nom dutilisateur·rice" copyUsername: "Copier le nom dutilisateur·rice"
searchUser: "Chercher un·e utilisateur·rice" searchUser: "Chercher un·e utilisateur·rice"
reply: "Répondre" reply: "Répondre"
@@ -104,8 +100,6 @@ renoted: "Renoté !"
cantRenote: "Ce message ne peut pas être renoté." cantRenote: "Ce message ne peut pas être renoté."
cantReRenote: "Impossible de renoter une Renote." cantReRenote: "Impossible de renoter une Renote."
quote: "Citer" quote: "Citer"
inChannelRenote: "Renoter dans le canal"
inChannelQuote: "Citer dans le canal"
pinnedNote: "Note épinglée" pinnedNote: "Note épinglée"
pinned: "Épingler sur le profil" pinned: "Épingler sur le profil"
you: "Vous" you: "Vous"
@@ -113,7 +107,6 @@ clickToShow: "Cliquer pour afficher"
sensitive: "Contenu sensible" sensitive: "Contenu sensible"
add: "Ajouter" add: "Ajouter"
reaction: "Réactions" reaction: "Réactions"
reactions: "Réactions"
reactionSetting: "Réactions à afficher dans le sélecteur de réactions" reactionSetting: "Réactions à afficher dans le sélecteur de réactions"
reactionSettingDescription2: "Déplacer pour réorganiser, cliquer pour effacer, utiliser « + » pour ajouter." reactionSettingDescription2: "Déplacer pour réorganiser, cliquer pour effacer, utiliser « + » pour ajouter."
rememberNoteVisibility: "Activer l'option \" se souvenir de la visibilité des notes \" vous permet de réutiliser automatiquement la visibilité utilisée lors de la publication de votre note précédente." rememberNoteVisibility: "Activer l'option \" se souvenir de la visibilité des notes \" vous permet de réutiliser automatiquement la visibilité utilisée lors de la publication de votre note précédente."
@@ -132,7 +125,6 @@ unblockConfirm: "Êtes-vous sûr·e de vouloir débloquer ce compte ?"
suspendConfirm: "Êtes-vous sûr·e de vouloir suspendre ce compte ?" suspendConfirm: "Êtes-vous sûr·e de vouloir suspendre ce compte ?"
unsuspendConfirm: "Êtes-vous sûr·e de vouloir annuler la suspension de ce compte ?" unsuspendConfirm: "Êtes-vous sûr·e de vouloir annuler la suspension de ce compte ?"
selectList: "Sélectionner une liste" selectList: "Sélectionner une liste"
selectChannel: "Sélectionner un canal"
selectAntenna: "Sélectionner une antenne" selectAntenna: "Sélectionner une antenne"
selectWidget: "Sélectionner un widget" selectWidget: "Sélectionner un widget"
editWidgets: "Modifier les widgets" editWidgets: "Modifier les widgets"
@@ -151,7 +143,6 @@ flagAsBotDescription: "Si ce compte est géré de manière automatisée, choisis
flagAsCat: "Ce compte est un chat" flagAsCat: "Ce compte est un chat"
flagAsCatDescription: "Activer l'option \" Je suis un chat \" pour ce compte." flagAsCatDescription: "Activer l'option \" Je suis un chat \" pour ce compte."
flagShowTimelineReplies: "Afficher les réponses dans le fil" flagShowTimelineReplies: "Afficher les réponses dans le fil"
flagShowTimelineRepliesDescription: "Affiche les réponses des utilisateurs aux notes des autres utilisateurs dans la timeline si cette option est activée."
autoAcceptFollowed: "Accepter automatiquement les demandes dabonnement venant dutilisateur·rice·s que vous suivez" autoAcceptFollowed: "Accepter automatiquement les demandes dabonnement venant dutilisateur·rice·s que vous suivez"
addAccount: "Ajouter un compte" addAccount: "Ajouter un compte"
loginFailed: "Échec de la connexion" loginFailed: "Échec de la connexion"
@@ -172,6 +163,7 @@ annotation: "Commentaires"
federation: "Fédération" federation: "Fédération"
instances: "Instance" instances: "Instance"
registeredAt: "Premier contact le" registeredAt: "Premier contact le"
latestRequestSentAt: "Dernière requête envoyée"
latestRequestReceivedAt: "Dernière requête reçue" latestRequestReceivedAt: "Dernière requête reçue"
latestStatus: "Dernier statut" latestStatus: "Dernier statut"
storageUsage: "Stockage utilisé" storageUsage: "Stockage utilisé"
@@ -211,7 +203,6 @@ done: "Terminé"
processing: "Traitement en cours" processing: "Traitement en cours"
preview: "Aperçu" preview: "Aperçu"
default: "Par défaut" default: "Par défaut"
defaultValueIs: "Par défaut : {value}"
noCustomEmojis: "Il n'y a pas démoji" noCustomEmojis: "Il n'y a pas démoji"
noJobs: "Il ny a aucune tâche planifiée" noJobs: "Il ny a aucune tâche planifiée"
federating: "En cours de fédération" federating: "En cours de fédération"
@@ -247,7 +238,6 @@ saved: "Enregistré"
messaging: "Discuter" messaging: "Discuter"
upload: "Téléverser" upload: "Téléverser"
keepOriginalUploading: "Garder limage dorigine" keepOriginalUploading: "Garder limage dorigine"
keepOriginalUploadingDescription: "Conserve la version originale lors du téléchargement d'images. S'il est désactivé, le navigateur génère l'image pour la publication web lors du téléchargement."
fromDrive: "Depuis le Drive" fromDrive: "Depuis le Drive"
fromUrl: "Depuis une URL" fromUrl: "Depuis une URL"
uploadFromUrl: "Téléverser via une URL" uploadFromUrl: "Téléverser via une URL"
@@ -260,12 +250,12 @@ noMoreHistory: "Il ny a plus dhistorique"
startMessaging: "Commencer à discuter" startMessaging: "Commencer à discuter"
nUsersRead: "Lu par {n} personnes" nUsersRead: "Lu par {n} personnes"
agreeTo: "Jaccepte {0}" agreeTo: "Jaccepte {0}"
tos: "les conditions dutilisation"
start: "Commencer" start: "Commencer"
home: "Principal" home: "Principal"
remoteUserCaution: "Les informations de ce compte risqueraient dêtre incomplètes du fait que lutilisateur·rice provient dune instance distante." remoteUserCaution: "Les informations de ce compte risqueraient dêtre incomplètes du fait que lutilisateur·rice provient dune instance distante."
activity: "Activité" activity: "Activité"
images: "Images" images: "Images"
image: "Images"
birthday: "Date de naissance" birthday: "Date de naissance"
yearsOld: "{age} ans" yearsOld: "{age} ans"
registeredDate: "Inscrit le" registeredDate: "Inscrit le"
@@ -355,10 +345,6 @@ recaptcha: "reCAPTCHA"
enableRecaptcha: "Activer reCAPTCHA" enableRecaptcha: "Activer reCAPTCHA"
recaptchaSiteKey: "Clé du site" recaptchaSiteKey: "Clé du site"
recaptchaSecretKey: "Clé secrète" recaptchaSecretKey: "Clé secrète"
turnstile: "Tourniquet"
enableTurnstile: "Activer le tourniquet"
turnstileSiteKey: "Clé du site"
turnstileSecretKey: "Clé secrète"
avoidMultiCaptchaConfirm: "Lutilisation de plusieurs Captchas peut provoquer des interférences. Souhaitez-vous désactiver lautre Captcha ? Vous pouvez laisser plusieurs Captcha activés en appuyant sur Annuler." avoidMultiCaptchaConfirm: "Lutilisation de plusieurs Captchas peut provoquer des interférences. Souhaitez-vous désactiver lautre Captcha ? Vous pouvez laisser plusieurs Captcha activés en appuyant sur Annuler."
antennas: "Antennes" antennas: "Antennes"
manageAntennas: "Gestion des antennes" manageAntennas: "Gestion des antennes"
@@ -392,10 +378,12 @@ about: "Informations"
aboutMisskey: "À propos de Misskey" aboutMisskey: "À propos de Misskey"
administrator: "Administrateur" administrator: "Administrateur"
token: "Jeton" token: "Jeton"
twoStepAuthentication: "Authentification à deux facteurs"
moderator: "Modérateur·rice·s" moderator: "Modérateur·rice·s"
moderation: "Modérations"
nUsersMentioned: "{n} utilisateur·rice·s mentionné·e·s" nUsersMentioned: "{n} utilisateur·rice·s mentionné·e·s"
securityKey: "Clé de sécurité" securityKey: "Clé de sécurité"
securityKeyName: "Nom de la clé"
registerSecurityKey: "Enregistrer une clé de sécurité"
lastUsed: "Dernier utilisé" lastUsed: "Dernier utilisé"
unregister: "Se désinscrire" unregister: "Se désinscrire"
passwordLessLogin: "Se connecter sans mot de passe" passwordLessLogin: "Se connecter sans mot de passe"
@@ -413,15 +401,24 @@ markAsReadAllTalkMessages: "Marquer toutes les discussions comme lues"
help: "Aide" help: "Aide"
inputMessageHere: "Écrivez votre message ici" inputMessageHere: "Écrivez votre message ici"
close: "Fermer" close: "Fermer"
group: "Groupe"
groups: "Groupes"
createGroup: "Créer un groupe"
ownedGroups: "Mes groupes"
joinedGroups: "Groupes rejoints"
invites: "Invitations" invites: "Invitations"
groupName: "Nom du groupe"
members: "Membres" members: "Membres"
transfer: "Transférer" transfer: "Transférer"
messagingWithUser: "Discuter avec un·e autre utilisateur·rice"
messagingWithGroup: "Discuter avec un groupe"
title: "Titre" title: "Titre"
text: "Texte" text: "Texte"
enable: "Activer" enable: "Activer"
next: "Suivant" next: "Suivant"
retype: "Confirmation" retype: "Confirmation"
noteOf: "Notes de {user}" noteOf: "Notes de {user}"
inviteToGroup: "Inviter dans un groupe"
quoteAttached: "Avec citation" quoteAttached: "Avec citation"
quoteQuestion: "Souhaitez-vous ajouter une citation ?" quoteQuestion: "Souhaitez-vous ajouter une citation ?"
noMessagesYet: "Pas encore de discussion" noMessagesYet: "Pas encore de discussion"
@@ -443,16 +440,18 @@ passwordMatched: "Les mots de passe correspondent"
passwordNotMatched: "Les mots de passe ne correspondent pas" passwordNotMatched: "Les mots de passe ne correspondent pas"
signinWith: "Se connecter avec {x}" signinWith: "Se connecter avec {x}"
signinFailed: "Échec dauthentification. Veuillez vérifier que votre nom dutilisateur et mot de passe sont corrects." signinFailed: "Échec dauthentification. Veuillez vérifier que votre nom dutilisateur et mot de passe sont corrects."
tapSecurityKey: "Appuyez sur votre clé de sécurité"
or: "OU" or: "OU"
language: "Langue" language: "Langue"
uiLanguage: "Langue daffichage de linterface" uiLanguage: "Langue daffichage de linterface"
groupInvited: "Invité au groupe"
aboutX: "À propos de {x}" aboutX: "À propos de {x}"
emojiStyle: "Style des émojis" useOsNativeEmojis: "Utiliser les émojis natifs du système"
native: "Natif" youHaveNoGroups: "Vous navez aucun groupe"
disableDrawer: "Les menus ne s'affichent pas dans le tiroir" joinOrCreateGroup: "Vous pouvez être invité·e à rejoindre des groupes existants ou créer votre propre nouveau groupe."
noHistory: "Pas d'historique" noHistory: "Pas d'historique"
signinHistory: "Historique de connexion" signinHistory: "Historique de connexion"
enableAdvancedMfm: "Activer la MFM avancée" disableAnimatedMfm: "Désactiver MFM ayant des animations"
doing: "En cours..." doing: "En cours..."
category: "Catégorie" category: "Catégorie"
tags: "Étiquettes" tags: "Étiquettes"
@@ -499,7 +498,6 @@ deleteAll: "Supprimer tout"
showFixedPostForm: "Afficher le formulaire de publication en haut du fil d'actualité" showFixedPostForm: "Afficher le formulaire de publication en haut du fil d'actualité"
newNoteRecived: "Voir les nouvelles notes" newNoteRecived: "Voir les nouvelles notes"
sounds: "Sons" sounds: "Sons"
sound: "Sons"
listen: "Écouter" listen: "Écouter"
none: "Rien" none: "Rien"
showInPage: "Afficher dans la page" showInPage: "Afficher dans la page"
@@ -529,7 +527,7 @@ updateRemoteUser: "Mettre à jour les informations de lutilisateur·rice dist
deleteAllFiles: "Supprimer tous les fichiers" deleteAllFiles: "Supprimer tous les fichiers"
deleteAllFilesConfirm: "Êtes-vous sûr·e de vouloir supprimer tous les fichiers ?" deleteAllFilesConfirm: "Êtes-vous sûr·e de vouloir supprimer tous les fichiers ?"
removeAllFollowing: "Retenir tous les abonnements" removeAllFollowing: "Retenir tous les abonnements"
removeAllFollowingDescription: "Se désabonner de tous les comptes de {host}. Veuillez lancer cette action dans les cas où linstance nexiste plus, etc." removeAllFollowingDescription: "Se désabonner de tous les comptes de {host}. Veuillez lancer cette action uniquement si linstance nexiste plus."
userSuspended: "Cet·te utilisateur·rice a été suspendu·e." userSuspended: "Cet·te utilisateur·rice a été suspendu·e."
userSilenced: "Cette utilisateur·trice a été mis·e en sourdine." userSilenced: "Cette utilisateur·trice a été mis·e en sourdine."
yourAccountSuspendedTitle: "Ce compte est suspendu" yourAccountSuspendedTitle: "Ce compte est suspendu"
@@ -559,7 +557,6 @@ author: "Auteur·rice"
leaveConfirm: "Vous avez des modifications non-sauvegardées. Voulez-vous les ignorer ?" leaveConfirm: "Vous avez des modifications non-sauvegardées. Voulez-vous les ignorer ?"
manage: "Gestion" manage: "Gestion"
plugins: "Extensions" plugins: "Extensions"
preferencesBackups: "Sauvegarder les paramètres"
deck: "Deck" deck: "Deck"
undeck: "Quitter le deck" undeck: "Quitter le deck"
useBlurEffectForModal: "Utiliser un effet de flou pour les modals" useBlurEffectForModal: "Utiliser un effet de flou pour les modals"
@@ -577,6 +574,7 @@ tokenRequested: "Autoriser l'accès au compte"
pluginTokenRequestedDescription: "Ce plugin pourra utiliser les autorisations définies ici." pluginTokenRequestedDescription: "Ce plugin pourra utiliser les autorisations définies ici."
notificationType: "Type de notifications" notificationType: "Type de notifications"
edit: "Editer" edit: "Editer"
useStarForReactionFallback: "Utiliser ★ comme alternative si lémoji de réaction est inconnu"
emailServer: "Serveur mail" emailServer: "Serveur mail"
enableEmail: "Activer la distribution de courriel" enableEmail: "Activer la distribution de courriel"
emailConfigInfo: "Utilisé pour confirmer votre adresse de courriel et la réinitialisation de votre mot de passe en cas doubli." emailConfigInfo: "Utilisé pour confirmer votre adresse de courriel et la réinitialisation de votre mot de passe en cas doubli."
@@ -593,7 +591,6 @@ smtpSecureInfo: "Désactiver cette option lorsque STARTTLS est utilisé"
testEmail: "Tester la distribution de courriel" testEmail: "Tester la distribution de courriel"
wordMute: "Filtre de mots" wordMute: "Filtre de mots"
regexpError: "Erreur dexpression régulière" regexpError: "Erreur dexpression régulière"
regexpErrorDescription: "Une erreur s'est produite dans l'expression régulière sur la ligne {ligne} de votre mot muet {tab} :"
instanceMute: "Instance en sourdine" instanceMute: "Instance en sourdine"
userSaysSomething: "{name} a dit quelque chose" userSaysSomething: "{name} a dit quelque chose"
makeActive: "Activer" makeActive: "Activer"
@@ -626,7 +623,6 @@ reporter: "Signalé par"
reporteeOrigin: "Origine du signalement" reporteeOrigin: "Origine du signalement"
reporterOrigin: "Signalé par" reporterOrigin: "Signalé par"
forwardReport: "Transférer le signalement à linstance distante" forwardReport: "Transférer le signalement à linstance distante"
forwardReportIsAnonymous: "L'instance distante ne sera pas en mesure de voir vos informations et apparaîtra comme un compte anonyme du système."
send: "Envoyer" send: "Envoyer"
abuseMarkAsResolved: "Marquer le signalement comme résolu" abuseMarkAsResolved: "Marquer le signalement comme résolu"
openInNewTab: "Ouvrir dans un nouvel onglet" openInNewTab: "Ouvrir dans un nouvel onglet"
@@ -702,7 +698,6 @@ accentColor: "Accentuation"
textColor: "Texte" textColor: "Texte"
saveAs: "Enregistrer sous ..." saveAs: "Enregistrer sous ..."
advanced: "Avancé" advanced: "Avancé"
advancedSettings: "Paramètres avancés"
value: "Valeur" value: "Valeur"
createdAt: "Date de création" createdAt: "Date de création"
updatedAt: "Mis à jour le" updatedAt: "Mis à jour le"
@@ -819,6 +814,8 @@ deleteAccountConfirm: "Votre compte sera supprimé. Êtes vous certain ?"
incorrectPassword: "Le mot de passe est incorrect." incorrectPassword: "Le mot de passe est incorrect."
voteConfirm: "Confirmez-vous votre vote pour « {choice} » ?" voteConfirm: "Confirmez-vous votre vote pour « {choice} » ?"
hide: "Masquer" hide: "Masquer"
leaveGroup: "Quitter le groupe"
leaveGroupConfirm: "Êtes vous sûr de vouloir quitter \"{name}\" ?"
useDrawerReactionPickerForMobile: "Afficher le sélecteur de réactions en tant que panneau sur mobile" useDrawerReactionPickerForMobile: "Afficher le sélecteur de réactions en tant que panneau sur mobile"
welcomeBackWithName: "Heureux de vous revoir, {name}" welcomeBackWithName: "Heureux de vous revoir, {name}"
clickToFinishEmailVerification: "Veuillez cliquer sur [{ok}] afin de compléter la vérification par courriel." clickToFinishEmailVerification: "Veuillez cliquer sur [{ok}] afin de compléter la vérification par courriel."
@@ -834,174 +831,20 @@ instanceDefaultLightTheme: "Thème clair par défaut sur toute linstance"
instanceDefaultDarkTheme: "Thème sombre par défaut sur toute linstance" instanceDefaultDarkTheme: "Thème sombre par défaut sur toute linstance"
instanceDefaultThemeDescription: "Saisissez le code du thème en format objet." instanceDefaultThemeDescription: "Saisissez le code du thème en format objet."
mutePeriod: "Durée de mise en sourdine" mutePeriod: "Durée de mise en sourdine"
period: "Fin du sondage"
indefinitely: "Illimité" indefinitely: "Illimité"
tenMinutes: "10 minutes" tenMinutes: "10 minutes"
oneHour: "1 heure" oneHour: "1 heure"
oneDay: "1 jour" oneDay: "1 jour"
oneWeek: "1 semaine" oneWeek: "1 semaine"
oneMonth: "Un mois"
reflectMayTakeTime: "Cela peut prendre un certain temps avant que cela ne se termine."
failedToFetchAccountInformation: "Impossible de récupérer les informations du compte."
rateLimitExceeded: "Limite de taux dépassée" rateLimitExceeded: "Limite de taux dépassée"
cropImage: "Recadrer l'image" cropImage: "Recadrer l'image"
cropImageAsk: "Voulez-vous recadrer cette image ?" cropImageAsk: "Voulez-vous recadrer cette image ?"
cropYes: "Rogner"
cropNo: "Utiliser en l'état"
file: "Fichiers" file: "Fichiers"
recentNHours: "Dernières {n} heures"
recentNDays: "Derniers {n} jours"
noEmailServerWarning: "Serveur de courrier non configuré."
thereIsUnresolvedAbuseReportWarning: "Il ny a aucun rapport non résolu."
recommended: "Recommandé"
check: "Vérifier"
driveCapOverrideLabel: "Modifier la capacité de stockage du drive de cet·te utilisateur·rice"
driveCapOverrideCaption: "Si une valeur inférieure à 0 est spécifiée, elle est annulée."
requireAdminForView: "Vous devez être connecté avec un compte administrateur pour les visualiser."
isSystemAccount: "Ces comptes sont automatiquement créés et gérés par le système."
typeToConfirm: "Pour effectuer cette opération, tapez {x}"
deleteAccount: "Supprimer le compte"
document: "Documentation"
numberOfPageCache: "Nombre de pages en cache"
numberOfPageCacheDescription: "Plus de confort, mais aussi plus de poids et d'utilisation de la mémoire."
logoutConfirm: "Se déconnecter?"
lastActiveDate: "Dernière utilisation"
statusbar: "Barre détat"
pleaseSelect: "Choisir une option"
reverse: "Inverser" reverse: "Inverser"
colored: "Coloré" colored: "Coloré"
refreshInterval: "Intervalle de mise à jour"
label: "Étiquette" label: "Étiquette"
type: "Type"
speed: "Vitesse"
slow: "Lente"
fast: "Rapide"
sensitiveMediaDetection: "Détection des médias sensibles"
localOnly: "Local seulement" localOnly: "Local seulement"
remoteOnly: "Distant uniquement"
failedToUpload: "Échec du transfert"
cannotUploadBecauseInappropriate: "Impossible de télécharger le document car il a été déterminé qu'il pouvait contenir un contenu inapproprié."
cannotUploadBecauseNoFreeSpace: "Impossible de télécharger en raison d'un manque d'espace libre sur le disque.\n"
beta: "Bêta"
enableAutoSensitive: "Détermination automatique de NSFW"
enableAutoSensitiveDescription: "S'il est disponible, le drapeau NSFW est automatiquement défini sur le média en utilisant l'apprentissage automatique. Même si cette fonction est désactivée, elle peut être réglée automatiquement dans certains cas."
activeEmailValidationDescription: "Valide l'adresse électronique d'un utilisateur de manière plus agressive en déterminant s'il s'agit d'une adresse électronique jetable et si l'on peut effectivement communiquer avec elle. Si cette option n'est pas cochée, l'adresse électronique n'est vérifiée que sous forme de chaîne de caractères."
navbar: "Barre de navigation"
shuffle: "Lecture aléatoire"
account: "Comptes" account: "Comptes"
move: "Déplacer"
pushNotification: "Notifications push"
subscribePushNotification: "Autoriser les notifications push"
unsubscribePushNotification: "Désactiver les notifications push"
pushNotificationAlreadySubscribed: "Les notifications push sont déjà activées"
pushNotificationNotSupported: "Votre navigateur ou votre instance ne prend pas en charge les notifications push"
sendPushNotificationReadMessage: "Supprimer les notifications push une fois que les notifications ou messages pertinents ont été lus."
windowRestore: "Restaurer"
caption: "Libellé"
loggedInAsBot: "Connecté actuellement en tant que bot"
tools: "Outils"
cannotLoad: "Chargement impossible"
like: "J'aime"
numberOfLikes: "Favoris"
show: "Affichage"
neverShow: "Ne plus afficher"
remindMeLater: "Peut-être plus tard"
roles: "Rôles"
role: "Rôles"
normalUser: "Simple utilisateur·rice"
assign: "Attribuer"
color: "Couleur"
manageCustomEmojis: "Gestion des émojis personnalisés"
preset: "Préréglage"
selectFromPresets: "Sélectionner à partir des préréglages"
thisPostMayBeAnnoyingCancel: "Annuler"
license: "Licence"
video: "Vidéo"
videos: "Vidéos"
dataSaver: "Économiseur de données"
accountMigration: "Migration de compte"
accountMoved: "Cet·te utilisateur·rice a migré son compte vers :"
notificationDisplay: "Style des notifications"
leftTop: "En haut à gauche"
rightTop: "En haut à droite"
leftBottom: "En bas à gauche"
rightBottom: "En bas à droite"
vertical: "Vertical"
horizontal: "Latéral"
serverRules: "Règles du serveur"
youFollowing: "Abonné·e"
_achievements:
_types:
_notes1:
description: "Publiez votre première note"
flavor: "Passez un bon moment avec Misskey !"
_notes100000:
title: "ALL YOUR NOTE ARE BELONG TO US"
_login3:
title: "Débutant "
description: "Se connecter pour un total de 3 jours"
_login7:
title: "Débutant Ⅱ"
description: "Se connecter pour un total de 7 jours"
_login15:
title: "Débutant Ⅲ"
description: "Se connecter pour un total de 15 jours"
_login30:
description: "Se connecter pour un total de 30 jours"
_login60:
description: "Se connecter pour un total de 60 jours"
_login100:
description: "Se connecter pour un total de 100 jours"
_login200:
description: "Se connecter pour un total de 200 jours"
_login300:
description: "Se connecter pour un total de 300 jours"
_login400:
description: "Se connecter pour un total de 400 jours"
_login500:
description: "Se connecter pour un total de 500 jours"
_login600:
description: "Se connecter pour un total de 600 jours"
_login700:
description: "Se connecter pour un total de 700 jours"
_login800:
description: "Se connecter pour un total de 800 jours"
_login900:
description: "Se connecter pour un total de 900 jours"
_login1000:
flavor: "Merci d'utiliser Misskey !"
_markedAsCat:
title: "Je suis un chat"
flavor: "Je n'ai pas encore de nom"
_following50:
title: "Beaucoup d'amis"
_followers10:
title: "Abonnez-moi !"
_iLoveMisskey:
title: "Jadore Misskey"
_viewInstanceChart:
title: "Analyste"
_loggedInOnBirthday:
title: "Joyeux Anniversaire !"
_loggedInOnNewYearsDay:
title: "Bonne année !"
_role:
assignTarget: "Attribuer"
priority: "Priorité"
_priority:
low: "Basse"
middle: "Moyen"
high: "Haute"
_options:
canManageCustomEmojis: "Gestion des émojis personnalisés"
_sensitiveMediaDetection:
description: "L'apprentissage automatique peut être utilisé pour détecter automatiquement les médias sensibles à modérer. La sollicitation des serveurs augmente légèrement."
sensitivity: "Sensibilité de la détection"
sensitivityDescription: "Une sensibilité plus faible réduit les faux positifs. Une sensibilité plus élevée réduit les omissions (faux négatifs)."
setSensitiveFlagAutomatically: "Définir le drapeau NSFW."
setSensitiveFlagAutomaticallyDescription: "Même si ce paramètre est désactivé, le résultat de la décision est conservé en interne."
analyzeVideos: "Activer lanalyse de vidéos"
analyzeVideosDescription: "Veillez à ce que les vidéos soient analysées en plus des images fixes. La sollicitation des serveurs augmentera légèrement."
_emailUnavailable: _emailUnavailable:
used: "Non disponible" used: "Non disponible"
format: "Le format de cette adresse de courriel est invalide" format: "Le format de cette adresse de courriel est invalide"
@@ -1026,7 +869,6 @@ _accountDelete:
_ad: _ad:
back: "Retour" back: "Retour"
reduceFrequencyOfThisAd: "Voir cette publicité moins souvent" reduceFrequencyOfThisAd: "Voir cette publicité moins souvent"
hide: "Cacher "
_forgotPassword: _forgotPassword:
enterEmail: "Entrez ici l'adresse e-mail que vous avez enregistrée pour votre compte. Un lien vous permettant de réinitialiser votre mot de passe sera envoyé à cette adresse." enterEmail: "Entrez ici l'adresse e-mail que vous avez enregistrée pour votre compte. Un lien vous permettant de réinitialiser votre mot de passe sera envoyé à cette adresse."
ifNoEmail: "Si vous n'avez pas enregistré d'adresse e-mail, merci de contacter l'administrateur·rice de votre instance." ifNoEmail: "Si vous n'avez pas enregistré d'adresse e-mail, merci de contacter l'administrateur·rice de votre instance."
@@ -1045,24 +887,6 @@ _plugin:
install: "Installation de plugin" install: "Installation de plugin"
installWarn: "Ninstallez que des extensions provenant de sources de confiance." installWarn: "Ninstallez que des extensions provenant de sources de confiance."
manage: "Gestion des plugins" manage: "Gestion des plugins"
_preferencesBackups:
list: "Sauvegardes créées"
saveNew: "Nouvelle sauvegarde"
loadFile: "Importer à partir dun fichier"
apply: "Appliquer à cet appareil"
save: "Sauvegarder les changements"
inputName: "Entrez le nom de la sauvegarde"
cannotSave: "Impossible de sauvegarder"
nameAlreadyExists: "Le nom de sauvegarde \"{name}\" existe déjà. Veuillez spécifier un autre nom."
applyConfirm: "Voulez-vous appliquer la sauvegarde '{name}' au dispositif actuel ? La configuration actuelle de l'appareil sera perdue."
saveConfirm: "Voulez-vous écraser {name} ?"
deleteConfirm: "Voulez-vous supprimer {name} ?"
renameConfirm: "Voulez-vous remplacer \"{old}\" par \"{new}\" ?"
noBackups: "Aucune sauvegarde n'est disponible. L'option \"Nouvelle sauvegarde\" vous permet de sauvegarder la configuration actuelle du client sur le serveur."
createdAt: "Créé : {date} {time}"
updatedAt: "Mis à jour : {date} {time}"
cannotLoad: "Échec du chargement"
invalidFile: "Format de fichier non valide"
_registry: _registry:
scope: "Portée" scope: "Portée"
key: "Clé " key: "Clé "
@@ -1082,6 +906,69 @@ _nsfw:
respect: "Cacher les médias marqués comme contenu sensible" respect: "Cacher les médias marqués comme contenu sensible"
ignore: "Afficher les médias sensibles" ignore: "Afficher les médias sensibles"
force: "Cacher tous les médias" force: "Cacher tous les médias"
_mfm:
cheatSheet: "Antisèche MFM"
intro: "MFM est un langage Markdown spécifique utilisable ici et là dans Misskey. Vous pouvez vérifier ici les structures utilisables avec MFM."
dummy: "La Fédiverse s'agrandit avec Misskey"
mention: "Mentionner"
mentionDescription: "Vous pouvez afficher un utilisateur spécifique en indiquant une arobase suivie d'un nom d'utilisateur"
hashtag: "Hashtags"
hashtagDescription: "Vous pouvez afficher un mot-dièse en utilisant un croisillon et du texte"
url: "URL"
urlDescription: "L'adresse web peut être affichée."
link: "Lien"
linkDescription: "Une partie précise d'une phrase peut être liée à l'adresse web."
bold: "Gras"
boldDescription: "Il est possible de mettre le texte en exergue en le mettant en gras."
small: "Diminuer l'emphase"
smallDescription: "Le contenu peut être affiché en petit et fin."
center: "Centrer"
centerDescription: "Le contenu peut être centré"
inlineCode: "Code (inline)"
inlineCodeDescription: "Coloration syntaxique des lignes de code."
blockCode: "Bloc de code"
blockCodeDescription: "Coloration syntaxique des lignes de code pour les blocs multi-lignes."
inlineMath: "Formule mathématique (inline)"
inlineMathDescription: "Afficher les formules mathématiques (KaTeX)."
blockMath: "Formule mathématique (bloc)"
blockMathDescription: "Afficher les formules mathématiques (KaTeX) multi-lignes dans un bloc."
quote: "Citer"
quoteDescription: "Affiche le contenu sous forme de citation."
emoji: "Émojis personnalisés"
emojiDescription: "Entourez le nom de l'émoji personnalisé de deux points pour l'afficher."
search: "Rechercher"
searchDescription: "Affiche une boîte de recherche avec du texte pré-saisi."
flip: "Inverser"
flipDescription: "Rotation verticale ou horizontale du contenu"
jelly: "Animation (Gelée)"
jellyDescription: "Donne une animation d'étirement."
tada: "Animation (Tada)"
tadaDescription: "Donne une animation qui donne une impression de \"Tada !\""
jump: "Animation (Saut)"
jumpDescription: "Donne une animation qui saute."
bounce: "Animation (Rebond)"
bounceDescription: "Donne une animation de rebondissement."
shake: "Animation (Secousse)"
shakeDescription: "Donne une animation tremblante."
twitch: "Animation (Tremblement)"
twitchDescription: "Donne une animation de tremblement intense."
spin: "Animation (Rotation)"
spinDescription: "Donne une animation de rotation."
x2: "Grand"
x2Description: "Afficher le contenu en grand."
x3: "Très grand"
x3Description: "Afficher le contenu en très grand."
x4: "Plus grand"
x4Description: "Afficher le contenu en plus grand."
blur: "Flou"
blurDescription: "Le contenu peut être flouté ; il sera visible en le survolant avec le curseur."
font: "Police de caractères"
fontDescription: "Il est possible de choisir la police."
rainbow: "Arc-en-ciel"
rainbowDescription: "Permet d'afficher le contenu en couleurs arc-en-ciel."
sparkle: "Paillettes"
sparkleDescription: "Ajoute un effet scintillant au contenu."
rotate: "Pivoter"
_instanceTicker: _instanceTicker:
none: "Cacher " none: "Cacher "
remote: "Montrer pour les utilisateur·ice·s distant·e·s" remote: "Montrer pour les utilisateur·ice·s distant·e·s"
@@ -1115,7 +1002,6 @@ _wordMute:
hard: "Strict" hard: "Strict"
mutedNotes: "Notes filtrées" mutedNotes: "Notes filtrées"
_instanceMute: _instanceMute:
instanceMuteDescription: "Met en sourdine toutes les notes et renotes de l'instance configurée, y compris les réponses aux utilisateurs de l'instance muette."
instanceMuteDescription2: "Séparer avec de nouvelles lignes" instanceMuteDescription2: "Séparer avec de nouvelles lignes"
title: "Masque les notes venant des instances listées." title: "Masque les notes venant des instances listées."
heading: "Instances à mettre en sourdine" heading: "Instances à mettre en sourdine"
@@ -1211,22 +1097,44 @@ _ago:
weeksAgo: "Il y a {n} semaines" weeksAgo: "Il y a {n} semaines"
monthsAgo: "Il y a {n} mois" monthsAgo: "Il y a {n} mois"
yearsAgo: "Il y a {n} ans" yearsAgo: "Il y a {n} ans"
invalid: "Il n'y a rien à voir ici"
_time: _time:
second: "s" second: "s"
minute: "min" minute: "min"
hour: "h" hour: "h"
day: "j" day: "j"
_tutorial:
title: "Comment utiliser Misskey"
step1_1: "Bienvenue,"
step1_2: "Cette page est appelée « un fil ». Elle affiche les « notes » des personnes auxquelles vous êtes abonné dans un ordre chronologique."
step1_3: "Votre fil est actuellement vide vu que vous ne suivez aucun compte et que vous navez publié aucune note, pour linstant."
step2_1: "Procédons dabord à la préparation de votre profil avant décrire une note et/ou de vous abonner à un compte."
step2_2: "En fournissant quelques informations sur vous, il sera plus facile pour les autres de sabonner à votre compte."
step3_1: "Vous avez fini de créer votre profil ?"
step3_2: "Létape suivante consiste à créer une note. Vous pouvez commencer en cliquant sur licône crayon sur lécran."
step3_3: "Remplissez le cadran et cliquez sur le bouton en haut à droite pour envoyer."
step3_4: "Vous navez rien à dire ? Essayez décrire « Jai commencé à utiliser Misskey »."
step4_1: "Avez-vous publié votre première note ?"
step4_2: "Youpi ! Celle-ci est maintenant affichée sur votre fil dactualité."
step5_1: "Maintenant, essayons de nous abonner à dautres personnes afin de rendre votre fil plus vivant."
step5_2: "La page {featured} affiche les notes en tendance sur la présente instance et {explore} vous permet de trouver des utilisateur·rice·s en tendance. Essayez de vous abonner aux gens que vous aimez !"
step5_3: "Pour pouvoir suivre dautres utilisateur·rice, cliquez sur leur avatar afin dafficher la page du profil utilisateur ensuite appuyez sur le bouton « Sabonner »."
step5_4: "Si lautre utilisateur possède une icône sous forme dun cadenas à côté de son nom, il devra accepter votre demande dabonnement manuellement."
step6_1: "Maintenant, vous êtes en mesure de voir safficher les notes des autres utilisateur·rice·s sur votre propre fil."
step6_2: "Vous avez également la possibilité dintéragir rapidement avec les notes des autres utilisateur·rice·s en ajoutant des « réactions »."
step6_3: "Pour ajouter une réaction à une note, cliquez sur le signe « + » de celle-ci et sélectionnez lémoji souhaité."
step7_1: "Félicitations ! Vous avez atteint la fin du tutoriel de base pour lutilisation de Misskey."
step7_2: "Si vous désirez en savoir plus sur Misskey, jetez un œil sur la section {help}."
step7_3: "Bon courage et amusez-vous bien sur Misskey ! 🚀"
_2fa: _2fa:
alreadyRegistered: "Configuration déjà achevée." alreadyRegistered: "Configuration déjà achevée."
registerDevice: "Ajouter un nouvel appareil"
registerKey: "Enregistrer une clef"
step1: "Tout d'abord, installez une application d'authentification, telle que {a} ou {b}, sur votre appareil." step1: "Tout d'abord, installez une application d'authentification, telle que {a} ou {b}, sur votre appareil."
step2: "Ensuite, scannez le code QR affiché sur lécran." step2: "Ensuite, scannez le code QR affiché sur lécran."
step2Url: "Vous pouvez également saisir cette URL si vous utilisez un programme de bureau :" step2Url: "Vous pouvez également saisir cette URL si vous utilisez un programme de bureau :"
step3: "Entrez le jeton affiché sur votre application pour compléter la configuration." step3: "Entrez le jeton affiché sur votre application pour compléter la configuration."
step4: "À partir de maintenant, ce même jeton vous sera demandé à chacune de vos connexions." step4: "À partir de maintenant, ce même jeton vous sera demandé à chacune de vos connexions."
securityKeyInfo: "Vous pouvez configurer l'authentification WebAuthN pour sécuriser davantage le processus de connexion grâce à une clé de sécurité matérielle qui prend en charge FIDO2, ou bien en configurant l'authentification par empreinte digitale ou par code PIN sur votre appareil." securityKeyInfo: "Vous pouvez configurer l'authentification WebAuthN pour sécuriser davantage le processus de connexion grâce à une clé de sécurité matérielle qui prend en charge FIDO2, ou bien en configurant l'authentification par empreinte digitale ou par code PIN sur votre appareil."
removeKeyConfirm: "Voulez-vous supprimer {name} ?"
renewTOTPCancel: "Pas maintenant"
_permissions: _permissions:
"read:account": "Afficher les informations du compte" "read:account": "Afficher les informations du compte"
"write:account": "Mettre à jour les informations de votre compte" "write:account": "Mettre à jour les informations de votre compte"
@@ -1272,6 +1180,7 @@ _antennaSources:
homeTimeline: "Notes venant des utilisateur·rice·s auxquel·les je suis abonné" homeTimeline: "Notes venant des utilisateur·rice·s auxquel·les je suis abonné"
users: "Notes venant de la part dutilisateur·rice·s précis" users: "Notes venant de la part dutilisateur·rice·s précis"
userList: "Notes venant dune liste spécifique" userList: "Notes venant dune liste spécifique"
userGroup: "Notes venant dutilisateur·rice·s du groupe spécifié"
_weekday: _weekday:
sunday: "Dimanche" sunday: "Dimanche"
monday: "Lundi" monday: "Lundi"
@@ -1281,8 +1190,6 @@ _weekday:
friday: "Vendredi" friday: "Vendredi"
saturday: "Samedi" saturday: "Samedi"
_widgets: _widgets:
profile: "Profil"
instanceInfo: "Informations sur linstance"
memo: "Note collante" memo: "Note collante"
notifications: "Notifications" notifications: "Notifications"
timeline: "Fil" timeline: "Fil"
@@ -1290,11 +1197,9 @@ _widgets:
trends: "Tendances" trends: "Tendances"
clock: "Horloge" clock: "Horloge"
rss: "Lecteur de flux RSS" rss: "Lecteur de flux RSS"
rssTicker: "Filtre RSS"
activity: "Activité" activity: "Activité"
photos: "Photos" photos: "Photos"
digitalClock: "Horloge numérique" digitalClock: "Horloge numérique"
unixClock: "Horloge UNIX"
federation: "Fédération" federation: "Fédération"
postForm: "Formulaire de publication" postForm: "Formulaire de publication"
slideshow: "Diaporama" slideshow: "Diaporama"
@@ -1304,9 +1209,6 @@ _widgets:
serverMetric: "Statistiques du serveur" serverMetric: "Statistiques du serveur"
aiscript: "Console AiScript" aiscript: "Console AiScript"
aichan: "Ai" aichan: "Ai"
userList: "Liste utilisateur"
_userList:
chooseList: "Sélectionner une liste"
_cw: _cw:
hide: "Masquer" hide: "Masquer"
show: "Afficher plus …" show: "Afficher plus …"
@@ -1343,6 +1245,8 @@ _visibility:
followersDescription: "Publier à vos abonné·e·s uniquement" followersDescription: "Publier à vos abonné·e·s uniquement"
specified: "Direct" specified: "Direct"
specifiedDescription: "Publier uniquement aux utilisateur·rice·s mentionné·e·s" specifiedDescription: "Publier uniquement aux utilisateur·rice·s mentionné·e·s"
localOnly: "Local seulement"
localOnlyDescription: "Caché pour les utilisateurs distant"
_postForm: _postForm:
replyPlaceholder: "Répondre à cette note ..." replyPlaceholder: "Répondre à cette note ..."
quotePlaceholder: "Citez cette note ..." quotePlaceholder: "Citez cette note ..."
@@ -1405,12 +1309,6 @@ _timelines:
local: "Local" local: "Local"
social: "Social" social: "Social"
global: "Global" global: "Global"
_play:
viewSource: "Afficher la source"
featured: "Populaire"
title: "Titre"
script: "Script"
summary: "Description"
_pages: _pages:
newPage: "Créer une page" newPage: "Créer une page"
editPage: "Modifier une page" editPage: "Modifier une page"
@@ -1446,6 +1344,8 @@ _pages:
eyeCatchingImageRemove: "Supprimer l'image attractive" eyeCatchingImageRemove: "Supprimer l'image attractive"
chooseBlock: "Ajouter un bloc" chooseBlock: "Ajouter un bloc"
selectType: "Choisir un type" selectType: "Choisir un type"
enterVariableName: "Veuillez entrer un nom pour votre variable"
variableNameIsAlreadyUsed: "Ce nom de variable est déjà utilisé"
contentBlocks: "Contenu" contentBlocks: "Contenu"
inputBlocks: "Blocs d'entrée" inputBlocks: "Blocs d'entrée"
specialBlocks: "Spécial" specialBlocks: "Spécial"
@@ -1455,11 +1355,249 @@ _pages:
section: "Section" section: "Section"
image: "Images" image: "Images"
button: "Bouton" button: "Bouton"
if: "Si"
_if:
variable: "Variables"
post: "Formulaire de publication"
_post:
text: "Contenu"
attachCanvasImage: "Publier avec Toile comme image"
canvasId: "Toile ID"
textInput: "Entrée textuelle"
_textInput:
name: "Nom de la variable"
text: "Titre"
default: "Valeur par défaut"
textareaInput: "Entrée textuelle multi-ligne"
_textareaInput:
name: "Nom de la variable"
text: "Titre"
default: "Valeur par défaut"
numberInput: "Entrée numérique"
_numberInput:
name: "Nom de la variable"
text: "Titre"
default: "Valeur par défaut"
canvas: "Toile"
_canvas:
id: "Toile ID"
width: "Largeur"
height: "Hauteur"
note: "Note intégrée" note: "Note intégrée"
_note: _note:
id: "Identifiant de la note" id: "Identifiant de la note"
idDescription: "Pour configurer la note, vous pouvez aussi coller ici l'URL correspondante." idDescription: "Pour configurer la note, vous pouvez aussi coller ici l'URL correspondante."
detailed: "Afficher les détails" detailed: "Afficher les détails"
switch: "Interrupteur"
_switch:
name: "Nom de la variable"
text: "Titre"
default: "Valeur par défaut"
counter: "Compteur"
_counter:
name: "Nom de la variable"
text: "Titre"
inc: "Augmenter de"
_button:
text: "Titre"
colored: "Coloré"
action: "Opération à effectuer lorsque le bouton est pressé"
_action:
dialog: "Afficher une fenêtre de dialogue"
_dialog:
content: "Contenu"
resetRandom: "Réinitialiser un nombre aléatoire"
pushEvent: "Envoyer un évènement"
_pushEvent:
event: "Nom de lévènement"
message: "Message à afficher lorsquil est activé"
variable: "Variable à envoyer"
no-variable: "Rien"
callAiScript: "Appeler AiScript"
_callAiScript:
functionName: "Nom de la fonction"
radioButton: "Choix"
_radioButton:
name: "Nom de la variable"
title: "Titre"
values: "Liste des choix (un par ligne)"
default: "Valeur par défaut"
script:
categories:
flow: "Contrôle"
logical: "Opération logique"
operation: "Calculer"
comparison: "Comparer"
random: "Aléatoire"
value: "Valeur"
fn: "Fonction"
text: "Manipulation de texte"
convert: "Convertir"
list: "Listes"
blocks:
text: "Texte"
multiLineText: "Texte (multi-ligne)"
textList: "Liste de texte"
_textList:
info: "Veuillez séparer chaque entrée avec un saut de ligne"
strLen: "Longueur du texte"
_strLen:
arg1: "Texte"
strPick: "Extraire un caractère"
_strPick:
arg1: "Texte"
arg2: "Position du joueur"
strReplace: "Remplacement de texte"
_strReplace:
arg1: "Texte"
arg2: "Avant le remplacement"
arg3: "Après le remplacement"
strReverse: "Inverser le texte"
_strReverse:
arg1: "Texte"
join: "Concaténer du texte"
_join:
arg1: "Listes"
arg2: "Séparateur"
add: "Ajouter"
_add:
arg1: "A"
arg2: "B"
subtract: "Soustraire"
_subtract:
arg1: "A"
arg2: "B"
multiply: "Multiplier par"
_multiply:
arg1: "A"
arg2: "B"
divide: "Diviser par"
_divide:
arg1: "A"
arg2: "B"
mod: "Reste"
_mod:
arg1: "A"
arg2: "B"
round: "Arrondir les décimales"
_round:
arg1: "Numérique"
eq: "A et B sont égaux"
_eq:
arg1: "A"
arg2: "B"
notEq: "A et B sont différents"
_notEq:
arg1: "A"
arg2: "B"
and: "A et B"
_and:
arg1: "A"
arg2: "B"
or: "A ou B"
_or:
arg1: "A"
arg2: "B"
lt: "A est inférieur à B"
_lt:
arg1: "A"
arg2: "B"
gt: "A est supérieur à B"
_gt:
arg1: "A"
arg2: "B"
ltEq: "A est inférieur ou égal à B"
_ltEq:
arg1: "A"
arg2: "B"
gtEq: "A est supérieur ou égal à B"
_gtEq:
arg1: "A"
arg2: "B"
if: "Branche"
_if:
arg1: "Si"
arg2: "Si"
arg3: "Sinon"
not: "Nier"
_not:
arg1: "Nier"
random: "Aléatoire"
_random:
arg1: "Probabilité"
rannum: "Nombre aléatoire"
_rannum:
arg1: "Minimum"
arg2: "Maximum"
randomPick: "Sélectionner au hasard dans la liste"
_randomPick:
arg1: "Listes"
dailyRandom: "Aléatoire (Quotidien pour chaque utilisateur)"
_dailyRandom:
arg1: "Probabilité"
dailyRannum: "Numéros aléatoires (Quotidien pour chaque utilisateur)"
_dailyRannum:
arg1: "Minimum"
arg2: "Maximum"
dailyRandomPick: "Sélectionné au hasard dans la liste (Quotidien pour chaque utilisateur)"
_dailyRandomPick:
arg1: "Listes"
seedRandom: "Aléatoire (graine)"
_seedRandom:
arg1: "Graine"
arg2: "Probabilité"
seedRannum: "Nombre aléatoire (Graine)"
_seedRannum:
arg1: "Graine"
arg2: "Minimum"
arg3: "Maximum"
seedRandomPick: "Sélectionné au hasard dans la liste (graine)"
_seedRandomPick:
arg1: "Graine"
arg2: "Listes"
DRPWPM: "Sélectionné au hasard dans une liste de probabilités (Quotidien pour chaque utilisateur)"
_DRPWPM:
arg1: "Liste de texte"
pick: "Sélectionner dans la liste"
_pick:
arg1: "Listes"
arg2: "Position"
listLen: "Longueur de la liste"
_listLen:
arg1: "Listes"
number: "Numérique"
stringToNumber: "Convertir du texte en numérique"
_stringToNumber:
arg1: "Texte"
numberToString: "Convertir du numérique en texte"
_numberToString:
arg1: "Numérique"
splitStrByLine: "Séparer le texte par des sauts de lignes"
_splitStrByLine:
arg1: "Texte"
ref: "Variables"
aiScriptVar: "Variable d'AiScript"
fn: "Fonction"
_fn:
slots: "Slots"
slots-info: "Veuillez insérer un seul slot par ligne"
arg1: "Sortie"
for: "Répéter"
_for:
arg1: "Compter"
arg2: "Action"
typeError: "Le slot {slot} accepte \"{expect}\" mais a \"{actual}\" !"
thereIsEmptySlot: "Slot {slot} est vide !"
types:
string: "Texte"
number: "Numérique"
boolean: "Marqueur"
array: "Listes"
stringArray: "Liste de texte"
emptySlot: "Slot vide"
enviromentVariables: "Variables d'environnement"
pageVariables: "Élément de page"
argVariables: "Entrée slot"
_relayStatus: _relayStatus:
requesting: "En attente" requesting: "En attente"
accepted: "Accepté" accepted: "Accepté"
@@ -1470,11 +1608,14 @@ _notification:
youGotReply: "Réponse de {name}" youGotReply: "Réponse de {name}"
youGotQuote: "Cité·e par {name}" youGotQuote: "Cité·e par {name}"
youRenoted: "{name} vous a Renoté" youRenoted: "{name} vous a Renoté"
youGotPoll: "{name} a participé à votre sondage"
youGotMessagingMessageFromUser: "{name} vous envoyé un message"
youGotMessagingMessageFromGroup: "Un message a été envoyé au groupe {name}"
youWereFollowed: "Vous suit" youWereFollowed: "Vous suit"
youReceivedFollowRequest: "Vous avez reçu une demande dabonnement" youReceivedFollowRequest: "Vous avez reçu une demande dabonnement"
yourFollowRequestAccepted: "Votre demande dabonnement a été accepté" yourFollowRequestAccepted: "Votre demande dabonnement a été accepté"
youWereInvitedToGroup: "Invité·e au groupe"
pollEnded: "Les résultats du sondage sont disponibles" pollEnded: "Les résultats du sondage sont disponibles"
unreadAntennaNote: "Antenne {name}"
emptyPushNotificationMessage: "Les notifications push ont été mises à jour" emptyPushNotificationMessage: "Les notifications push ont été mises à jour"
_types: _types:
all: "Toutes" all: "Toutes"
@@ -1484,9 +1625,10 @@ _notification:
renote: "Renotes" renote: "Renotes"
quote: "Citations" quote: "Citations"
reaction: "Réactions" reaction: "Réactions"
pollEnded: "Sondages se cloturant" pollVote: "Votes dans des sondages"
receiveFollowRequest: "Demande d'abonnement reçue" receiveFollowRequest: "Demande d'abonnement reçue"
followRequestAccepted: "Demande d'abonnement acceptée" followRequestAccepted: "Demande d'abonnement acceptée"
groupInvited: "Invitation à un groupe"
app: "Notifications provenant des apps" app: "Notifications provenant des apps"
_actions: _actions:
followBack: "Suivre" followBack: "Suivre"
@@ -1496,7 +1638,6 @@ _deck:
alwaysShowMainColumn: "Toujours afficher la colonne principale" alwaysShowMainColumn: "Toujours afficher la colonne principale"
columnAlign: "Aligner les colonnes" columnAlign: "Aligner les colonnes"
addColumn: "Ajouter une colonne" addColumn: "Ajouter une colonne"
configureColumn: "Configuration de la colonne"
swapLeft: "Déplacer à gauche" swapLeft: "Déplacer à gauche"
swapRight: "Déplacer à droite" swapRight: "Déplacer à droite"
swapUp: "Déplacer vers le haut" swapUp: "Déplacer vers le haut"
@@ -1504,10 +1645,6 @@ _deck:
stackLeft: "Empiler à gauche" stackLeft: "Empiler à gauche"
popRight: "Extraire à droite" popRight: "Extraire à droite"
profile: "Profil" profile: "Profil"
newProfile: "Nouveau profil"
deleteProfile: "Supprimer le profil"
introduction: "Créez linterface parfaite qui vous sied en arrangeant librement les colonnes !"
introduction2: "Cliquez sur le + à droite de l'écran pour ajouter de nouvelles colonnes quand vous le souhaitez."
_columns: _columns:
main: "Principale" main: "Principale"
widgets: "Widgets" widgets: "Widgets"
@@ -1515,9 +1652,5 @@ _deck:
tl: "Fil" tl: "Fil"
antenna: "Antennes" antenna: "Antennes"
list: "Listes" list: "Listes"
channel: "Canaux"
mentions: "Mentions" mentions: "Mentions"
direct: "Direct" direct: "Direct"
_webhookSettings:
name: "Nom"
active: "Activé"

File diff suppressed because it is too large Load Diff

View File

@@ -34,7 +34,6 @@ const languages = [
'pt-PT', 'pt-PT',
'ru-RU', 'ru-RU',
'sk-SK', 'sk-SK',
'th-TH',
'ug-CN', 'ug-CN',
'uk-UA', 'uk-UA',
'vi-VN', 'vi-VN',

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -39,8 +39,10 @@ remove: "Kkes"
connectService: "Qqen" connectService: "Qqen"
userList: "Tibdarin" userList: "Tibdarin"
securityKey: "Tasarutt n tɣellist" securityKey: "Tasarutt n tɣellist"
securityKeyName: "Isem n tsarutt"
signinRequired: "Ttxil jerred" signinRequired: "Ttxil jerred"
signinWith: "Tuqqna s {x}" signinWith: "Tuqqna s {x}"
tapSecurityKey: "Sekcem tasarutt-ik·im n tɣellist"
uiLanguage: "Tutlayt n wegrudem" uiLanguage: "Tutlayt n wegrudem"
accountSettings: "Iɣewwaṛen n umiḍan" accountSettings: "Iɣewwaṛen n umiḍan"
plugins: "Izegrar" plugins: "Izegrar"
@@ -59,6 +61,10 @@ account: "Imiḍan"
_email: _email:
_follow: _follow:
title: "Yeṭṭafaṛ-ik·em-id" title: "Yeṭṭafaṛ-ik·em-id"
_mfm:
mention: "Bder"
search: "Nadi"
font: "Tasefsit"
_theme: _theme:
keys: keys:
mention: "Bder" mention: "Bder"
@@ -67,10 +73,7 @@ _sfx:
_permissions: _permissions:
"write:account": "Ẓreg talɣut n umiḍan-ik·im" "write:account": "Ẓreg talɣut n umiḍan-ik·im"
_widgets: _widgets:
profile: "Amaɣnu"
notifications: "Ilɣuyen" notifications: "Ilɣuyen"
_userList:
chooseList: "Fren tabdart"
_cw: _cw:
show: "Wali ugar" show: "Wali ugar"
_visibility: _visibility:
@@ -92,6 +95,24 @@ _pages:
contentBlocks: "Agbur" contentBlocks: "Agbur"
inputBlocks: "Anekcum" inputBlocks: "Anekcum"
specialBlocks: "Uzzig" specialBlocks: "Uzzig"
script:
categories:
list: "Tibdarin"
blocks:
_join:
arg1: "Tibdarin"
_randomPick:
arg1: "Tibdarin"
_dailyRandomPick:
arg1: "Tibdarin"
_seedRandomPick:
arg2: "Tibdarin"
_pick:
arg1: "Tibdarin"
_listLen:
arg1: "Tibdarin"
types:
array: "Tibdarin"
_notification: _notification:
youWereFollowed: "Yeṭṭafaṛ-ik·em-id" youWereFollowed: "Yeṭṭafaṛ-ik·em-id"
_types: _types:

View File

@@ -64,10 +64,11 @@ file: "ಕಡತಗಳು"
_email: _email:
_follow: _follow:
title: "ಹಿಂಬಾಲಿಸಿದರು" title: "ಹಿಂಬಾಲಿಸಿದರು"
_mfm:
search: "ಹುಡುಕು"
_sfx: _sfx:
notification: "ಅಧಿಸೂಚನೆಗಳು" notification: "ಅಧಿಸೂಚನೆಗಳು"
_widgets: _widgets:
profile: "ಪ್ರೊಫೈಲು"
notifications: "ಅಧಿಸೂಚನೆಗಳು" notifications: "ಅಧಿಸೂಚನೆಗಳು"
timeline: "ಸಮಯಸಾಲು" timeline: "ಸಮಯಸಾಲು"
_cw: _cw:

File diff suppressed because it is too large Load Diff

View File

@@ -1,390 +0,0 @@
---
_lang_: "ພາສາລາວ"
headlineMisskey: "ເຊື່ອມຕໍ່ເຄືອຂ່າຍໂດຍຫມາຍເຫດ"
introMisskey: "ຍິນດີຕ້ອນຮັບ! Misskey ເປັນແຫຼ່ງເປີດ, ການບໍລິການ microblogging ກະຈາຍ\nສ້າງ \"ບັນທຶກ\" ເພື່ອແບ່ງປັນຄວາມຄິດຂອງທ່ານກັບທຸກໆຄົນທີ່ຢູ່ອ້ອມຮອບທ່ານ 📡\nດ້ວຍ \"ປະຕິກິລິຍາ\", ທ່ານຍັງສາມາດສະແດງຄວາມຮູ້ສຶກຂອງທ່ານຢ່າງໄວວາກ່ຽວກັບບັນທຶກຂອງທຸກໆຄົນ 👍\nມາສຳຫຼວດໂລກໃໝ່! 🚀"
poweredByMisskeyDescription: "{name} ແມ່ນສ່ວນໜຶ່ງຂອງການບໍລິການທີ່ຂັບເຄື່ອນໂດຍແພລດຟອມ open source. <b>Misskey</b> (ເອີ້ນວ່າ \"Misskey instance\")"
monthAndDay: "{ເດືອນ}/{ມື້}"
search: "ຄົ້ນຫາ"
notifications: "ການແຈ້ງເຕືອນ"
username: "ຊື່ຜູ້ໃຊ້"
password: "ລະຫັດຜ່ານ"
forgotPassword: "ລືມລະຫັດຜ່ານ"
fetchingAsApObject: "ກຳລັງດຶງຂໍ້ມູນຈາກ fediverse..."
ok: "ຕົກ​ລົງ"
gotIt: "ເຂົ້າໃຈແລ້ວ!"
cancel: "ຍົກເລີກ"
noThankYou: "ບໍ່​ແມ່ນ​ຕອນ​ນີ້"
enterUsername: "ປ້ອນຊື່ຜູ້ໃຊ້"
renotedBy: "Renoted ໂດຍ {ຜູ້ໃຊ້}"
noNotes: "ບໍ່ມີຫມາຍເຫດ"
noNotifications: "ບໍ່ມີການແຈ້ງເຕືອນ"
instance: "ອີນສະແຕນ"
settings: "ກຳນົດຄ່າ"
basicSettings: "ການຕັ້ງຄ່າພື້ນຖານ"
otherSettings: "ການຕັ້ງຄ່າອື່ນໆ"
openInWindow: "ເປີດຢູ່ໃນປ່ອງຢ້ຽມ"
profile: "ໂພຼຟາຍ"
timeline: "​ເສັ້ນກຳ​ນົດ​ເວ​ລາ​"
noAccountDescription: "ຜູ້ໃຊ້ນີ້ຍັງບໍ່ໄດ້ຂຽນໃນຊີວະປະຫວັດຂອງເຂົາເຈົ້າເທື່ອ"
login: "ເຂົ້າ​ສູ່​ລະ​ບົບ"
loggingIn: "ກຳລັງເຂົ້າສູ່ລະບົບ..."
logout: "ອອກ​ຈາກ​ລະ​ບົບ"
signup: "ລົງ​ທະ​ບຽນ"
uploading: "ການອັບໂຫຼດ..."
save: "ບັນທຶກ"
users: "ຜູ້ໃຊ້ຕ່າງໆ"
addUser: "ເພີ່ມຜູ້ໃຊ້"
favorite: "ເພີ່ມໃສ່ລາຍການທີ່ມັກ"
favorites: "ລາຍການທີ່ມັກ"
unfavorite: "ລຶບອອກຈາກລາຍການທີ່ມັກ"
favorited: "ເພີ່ມໃສ່ລາຍການທີ່ມັກແລ້ວ"
alreadyFavorited: "ເພີ່ມເຂົ້າໃນລາຍການທີ່ມັກແລ້ວ."
cantFavorite: "ບໍ່ສາມາດເພີ່ມໃສ່ລາຍການທີ່ມັກໄດ້."
pin: "ປັກໝຸດໄປຫາໂປຣໄຟລ໌"
unpin: "ຖອດປັກໝຸດອອກຈາກໂປຣໄຟລ໌"
copyContent: "ຄັດລອກເນື້ອຫາ"
copyLink: "ສຳເນົາລິ້ງ"
delete: "ລຶບ"
deleteAndEdit: "ລົບ​ແລະ​ແກ້​ໄຂ​"
deleteAndEditConfirm: "ເຈົ້າ​ແນ່​ໃຈ​ບໍ່? ທີ່ທ່ານຕ້ອງການທີ່ຈະລຶບບັນທຶກນີ້ແລະແກ້ໄຂມັນ ທ່ານອາດຈະສູນເສຍການໂຕ້ຕອບ, ບັນທຶກ, ແລະການຕອບກັບທັງໝົດ"
addToList: "ເພີ່ມໃສ່ລາຍຊື່"
sendMessage: "ສົ່ງຂໍ້ຄວາມ"
copyRSS: "ສຳເນົາ RSS"
copyUsername: "ສຳເນົາຊື່ຜູ້ໃຊ້"
searchUser: "ຄົ້ນຫາຜູ້ໃຊ້"
reply: "ຕອບ​ໄປ​ທີ"
loadMore: "ໂຫຼດເພີ່ມເຕີມ"
showMore: "ໂຫຼດເພີ່ມເຕີມ"
showLess: "ປິດ"
youGotNewFollower: "ໄດ້ຕິດຕາມທ່ານ"
receiveFollowRequest: "ປະຕິບັດຕາມຄໍາຮ້ອງຂໍທີ່ໄດ້ຮັບ"
followRequestAccepted: "ຜູ້ຕິດຕາມໄດ້ຍອມຮັບຄໍາຮ້ອງຂໍຂອງທ່ານ"
mention: "ໄດ້ກ່າວມາ"
mentions: "ກ່າວເຖິງ"
directNotes: "ໂດຍກົງຫມາຍເຫດ"
importAndExport: "ນໍາເຂົ້າ / ສົ່ງອອກ"
import: "ນຳເຂົ້າ"
export: "ນຳອອກ"
files: "ໄຟລ໌"
download: "ດາວໂຫລດ"
driveFileDeleteConfirm: "ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການລຶບໄຟລ໌ \"{name}\"? ບັນທຶກທີ່ມີໄຟລ໌ແນບນີ້ຈະຖືກລຶບຖິ້ມ"
unfollowConfirm: "ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການເຊົາຕິດຕາມ {name}?"
exportRequested: "ໃນເວລາທີ່ທ່ານໄດ້ຮ້ອງຂໍການສົ່ງອອກ ມັນອາດຈະໃຊ້ເວລາບາງເວລາ ແລະມັນຈະຖືກເພີ່ມໃສ່ drive ຂອງທ່ານເມື່ອມັນສຳເລັດແລ້ວ"
importRequested: "ໃນເວລາທີ່ທ່ານໄດ້ຮ້ອງຂໍການນໍາເຂົ້າ ມັນອາດຈະໃຊ້ເວລາບາງເວລາ"
lists: "ລາຍການ"
noLists: "ທ່ານ​ບໍ່​ມີ​ລາຍ​ການ​ໃດໆ​"
note: "ບັນທຶກ"
notes: "ບັນທຶກ"
following: "ກຳລັງຕິດຕາມ"
followers: "ຜູ້ຕິດຕາມ"
followsYou: "ຕິດ​ຕາມ​ເຈົ້າ"
createList: "ສ້າງລາຍຊື່"
manageLists: "ການບໍລິຫານບັນຊີລາຍການ"
error: "ຂໍ້ຜິດພາດ"
somethingHappened: "​ອຸຍ, ມີ​ບາງ​ຢ່າງ​ຜິ​ດ​ພາດ"
retry: "ລອງໃຫມ່"
pageLoadError: "ເກີດຄວາມຜິດພາດໃນການໂຫລດໜ້ານີ້"
pageLoadErrorDescription: "ປົກກະຕິແລ້ວມັນເກີດຈາກຄວາມຜິດພາດເຄືອຂ່າຍ ຫຼື cache ຂອງຕົວທ່ອງເວັບ ລອງລຶບລ້າງແຄດແລ້ວລອງໃໝ່ພາຍຫຼັງສອງສາມນາທີ"
serverIsDead: "ເຊີບເວີນີ້ບໍ່ຕອບສະໜອງ ກະລຸນາລໍຖ້າຈັກໜ່ອຍແລ້ວລອງໃໝ່ອີກຄັ້ງ"
youShouldUpgradeClient: "ເພື່ອເບິ່ງໜ້ານີ້, ກະລຸນາໂຫຼດຂໍ້ມູນຄືນໃໝ່ເພື່ອອັບເດດລູກຄ້າຂອງທ່ານ"
enterListName: "ໃສ່ຊື່ສຳລັບລາຍຊື່"
privacy: "ຄວາມເປັນສ່ວນຕົວ"
makeFollowManuallyApprove: "ປະຕິບັດຕາມການຮ້ອງຂໍຮຽກຮ້ອງໃຫ້ມີການອະນຸມັດ"
defaultNoteVisibility: "ເປັນຄ່າເລີ່ມຕົ້ນ"
follow: "ກຳລັງຕິດຕາມ"
followRequest: "ສົ່ງ​ການ​ຮ້ອງ​ຂໍ​ປະ​ຕິ​ບ​ຕາມ​"
followRequests: "ປະຕິບັດຕາມຄໍາຮ້ອງຂໍ"
unfollow: "ເຊົາຕິດຕາມ"
followRequestPending: "ປະຕິບັດຕາມຄໍາຮ້ອງຂໍທີ່ລໍຖ້າຢູ່"
enterEmoji: "ປ້ອນອີໂມຈິ"
renote: "Renote"
unrenote: "ເລີກ Renote"
renoted: "ເກັບບັນທຶກໄວ້"
quote: "ລວມຂໍ້ຄວາມອ້າງອີງ"
pinnedNote: "ບັນທຶກທີ່ປັກໝຸດໄວ້"
pinned: "ປັກໝຸດໄປຫາໂປຣໄຟລ໌"
you: "ເຈົ້າ"
clickToShow: "ກົດເພື່ອສະແດງໃຫ້ເຫັນ"
sensitive: "NSFW"
add: "ເພີ່ມ"
reaction: "ປະຕິກິລິຍາ"
reactions: "ປະຕິກິລິຍາ"
mute: "ປີດສຽງ"
unmute: "ເປີດສຽງ"
block: "ບ໋ອກ"
unblock: "ຍົກເລີກກາຮົບລັອກ"
suspend: "ລະງັບ"
unsuspend: "ເຊົາ​ລະ​ງັບ"
selectList: "ເລືອກບັນຊີລາຍການ"
selectWidget: "ເລືອກວິກເຈັດ"
editWidgets: "ແກ້ໄຂ Widget"
editWidgetsExit: "ສຳເລັດແລ້ວ"
customEmojis: "ອີໂມຈິແບບກຳນົດເອງ"
emoji: "ອີໂມຈິ"
emojis: "ອີໂມຈິ"
emojiName: "ຊື່ Emoji"
emojiUrl: "URL ອີໂມຈິ"
addEmoji: "ຕື່ມອີໂມຈິ"
flagAsBot: "ໝາຍບັນຊີນີ້ເປັນບັອດ"
flagAsCat: "ໝາຍບັນຊີນີ້ເປັນແມວ"
flagAsCatDescription: "ເປີດໃຊ້ຕົວເລືອກນີ້ເພື່ອໝາຍບັນຊີນີ້ເປັນແມວ"
flagShowTimelineReplies: "ສະແດງການຕອບກັບໃນທາມລາຍ"
flagShowTimelineRepliesDescription: "ສະແດງການຕອບກັບຂອງຜູ້ໃຊ້ຕໍ່ກັບບັນທຶກຂອງຜູ້ໃຊ້ອື່ນໃນທາມລາຍຖ້າເປີດໃຊ້ງານ"
autoAcceptFollowed: "ອະນຸມັດອັດຕະໂນມັດຕາມຄຳຮ້ອງຂໍຈາກຜູ້ໃຊ້ທີ່ທ່ານກຳລັງຕິດຕາມຢູ່"
addAccount: "ເພີ່ມບັນຊີ"
loginFailed: "ການເຂົ້າສູ່ລະບົບບໍ່ສຳເລັດ"
general: "ທົ່ວໄປ"
wallpaper: "ພາບພື້ນຫລັງ"
setWallpaper: "ຕັ້ງເປັນພາບພື້ນຫຼັງ"
searchWith: "ຊອກຫາ: {q}"
proxyAccount: "ບັນຊີພຣັອກຊີ"
host: "ໂຮດສ"
selectUser: "ເລືອກຜູ້ໃຊ້"
recipient: "ເຖິງ"
annotation: "ຄຳເຫັນ"
federation: "ສະຫະພັນ"
instances: "ອີນສະແຕນ"
registeredAt: "ລົງທະບຽນຢູ່"
storageUsage: "ບ່ອນ​ຈັດ​ເກັບ​ຂໍ້​ມູນທີ່ໃຊ້"
charts: "ອັນດັບເພງ"
perHour: "ຕໍ່ຊົ່ວໂມງ"
perDay: "ຕໍ່​ມື້"
stopActivityDelivery: "ຢຸດເຊົາການສົ່ງກິດຈະກໍາ"
blockThisInstance: "ຂັດຂວາງຕົວຢ່າງນີ້"
operations: "ການດຳເນີນງານ"
software: "ຊອບແວ"
version: "ສະບັບ"
metadata: "Metadata"
monitor: "ຈໍພາບ"
cpuAndMemory: "CPU ແລະ ຫນ່ວຍຄວາມຈໍາ"
network: "ເຄືອຂ່າຍ"
disk: "ດິສກ໌"
instanceInfo: "ອີນສະແຕນ"
statistics: "ສະຖິຕິ"
clearQueue: "ລ້າງຄິວ"
clearCachedFiles: "ລຶບລ້າງແຄສ"
noUsers: "ບໍ່ພົບຜູ້ໃຊ້"
editProfile: "ແກ້ໄຂໂປຣໄຟລ໌"
done: "ສຳເລັດ"
processing: "ກຳລັງປະມວນຜົນ"
preview: "ສະແດງເປັນຕົວຢ່າງ"
default: "ຄ່າເລີ່ມຕົ້ນ"
defaultValueIs: "ຄ່າເລີ່ມຕົ້ນ: {value}"
noCustomEmojis: "ບໍ່ມີອີໂມຈິ"
noJobs: "ບໍ່ມີຊິ້ນວຽກ"
federating: "ສະຫະພັນ"
blocked: "ບລັອກແລ້ວ "
suspended: "ໂຈະ"
all: "ທັງໝົດ"
subscribing: "ສະໝັກສະມາຊິກແລັວ"
publishing: "ການ​ພິມ​ເຜີຍ​ແຜ່"
notResponding: "ບໍ່ຕອບສະໜອງ"
instanceFollowing: "ກຳລັງຕິດຕາມສຸດຕົວຢ່າງ"
instanceFollowers: "ຜູ້ຕິດຕາມຕົວຢ່າງ"
instanceUsers: "ຜູ້​ຊົມ​ໃຊ້​ຂອງ​ຕົວ​ຢ່າງ​ນີ້​"
changePassword: "ປ່ຽນ​ລະ​ຫັດ​ຜ່ານ"
security: "ຄວາມປອດໄພ"
retypedNotMatch: "ວັດສະດຸປ້ອນບໍ່ກົງກັນ"
currentPassword: "ລະຫັດຜ່ານປະຈຸບັນ"
newPassword: "ລະຫັດຜ່ານໃໝ່"
newPasswordRetype: "ໃສ່ລະຫັດຜ່ານໃໝ່ອີກເທື່ອໜຶ່ງ"
attachFile: "ແນບໄຟລ໌"
more: "ເພີ່ມເຕີມ!"
featured: "ໄຮໄລທ໌"
usernameOrUserId: "ຊື່ຜູ້ໃຊ້ ຫຼື id ຜູ້ໃຊ້"
noSuchUser: "ບໍ່ພົບຜູ້ໃຊ້"
lookup: "ຄົ້ນ​ຫາ"
announcements: "ປະກາດ"
imageUrl: "URL ຮູບພາບ"
remove: "ລຶບ"
removed: "ລຶບແລ້ວ"
resetAreYouSure: "ຣີ​ເຊັດບໍ?"
saved: "ບັນທຶກແລ້ວ"
messaging: "ແຊ໋ດ"
upload: "ອັບໂຫຼດ"
keepOriginalUploading: "ຮັກສາຮູບພາບຕົ້ນສະບັບ"
fromDrive: "ຈາກ Drive"
fromUrl: "ຈາກ URL"
uploadFromUrl: "ອັບໂຫຼດຈາກ URL"
uploadFromUrlDescription: "URL ຂອງໄຟລ໌ທີ່ທ່ານຕ້ອງການອັບໂຫລດ"
uploadFromUrlRequested: "ຮ້ອງຂໍການອັບໂຫລດ"
messageRead: "ອ່ານແລ້ວ"
startMessaging: "ເລີ່ມການສົນທະນາໃໝ່"
nUsersRead: "ອ່ານໂດຍ {n}"
start: "ເລີ່ມຕົ້ນນຳໃຊ້ເລີຍ"
home: "ໜ້າຫຼັກ"
activity: "ກິດຈະກຳ"
images: "ຮູບພາບ"
image: "ຮູບພາບ"
birthday: "ວັນເກີດ"
yearsOld: "{age} ປີ"
registeredDate: "ວັນທີ່ເປັນສະມາຊິກ"
location: "ທີ່ຕັ້ງ"
theme: "ແທ໋ມ"
themeForLightMode: "ຮູບແບບສີສັນເພື່ອໃຊ້ໃນໂໝດແສງ"
themeForDarkMode: "ຮູບແບບສີສັນທີ່ຈະໃຊ້ຢູ່ໃນໂໝດມືດ"
light: "ສະຫວ່າງ"
dark: "ມືດ"
lightThemes: "ຊຸດຮູບແບບສະຫວ່າງ"
darkThemes: "ຮູບແບບສີສັນມືດ"
syncDeviceDarkMode: "ຊິງຄ໌ໂໝດມືດກັບການຕັ້ງຄ່າທົ່ວອຸປະກອນ"
drive: "ຂັບ"
fileName: "ຊື່ໄຟລ໌"
selectFile: "ເລືອກໄຟລ໌"
selectFiles: "ເລືອກໄຟລ໌"
selectFolder: "ເລືອກໂຟລເດີ"
selectFolders: "ເລືອກໂຟລເດີ"
renameFile: "ປ່ຽນຊື່ໄຟລ໌"
folderName: "ຊື່ໂຟນເດີ"
createFolder: "​ສ້າງ​ໂຟ​ລ​ເດີ"
renameFolder: "ປ່ຽນຊື່ໂຟນເດີນີ້"
deleteFolder: "ລົບໂຟ​ລ​ເດີ​"
addFile: "ເພີ່ມໄຟລ໌"
emptyDrive: "Drive ຂອງທ່ານຫວ່າງເປົ່າ"
emptyFolder: "ໂຟນເດີນີ້ເປົ່າຫວ່າງ"
unableToDelete: "ບໍ່​ສາ​ມາດລົບໄດ້"
inputNewFileName: "ໃສ່ຊື່ໄຟລ໌ໃໝ່"
inputNewDescription: "ໃສ່ຄຳບັນຍາຍໃໝ່"
inputNewFolderName: "ໃສ່ຊື່ໂຟນເດີໃໝ່"
circularReferenceFolder: "ໂຟນເດີປາຍທາງແມ່ນໂຟນເດີຍ່ອຍຂອງໂຟນເດີທີ່ທ່ານຕ້ອງການຍ້າຍ"
rename: "ປ່ຽນຊື່"
nsfw: "NSFW"
watch: "ເບິ່ງ"
unwatch: "ຢຸດເບິ່ງ"
accept: "ອະນຸຍາດ"
reject: "ປະຕິເສດ"
normal: "ປົກກະຕິ"
instanceName: "ຊື່ເຊີເວີ້"
instanceDescription: "ຄໍາອະທິບາຍຕົວຢ່າງ"
maintainerName: "ຜູ້ດູແລ"
maintainerEmail: "ອີເມວ admin"
tosUrl: "ເງື່ອນໄຂການໃຫ້ບໍລິການ URL"
thisYear: "ປີນີ້"
thisMonth: "ເດືອນນີ້"
today: "ມື້ນີ້"
dayX: "ວັນ {day}"
monthX: "ເດືອນ {month}"
yearX: "ປີ {year}"
pages: "ໜ້າ"
integration: "ຄວາມສຳພັນຂອງ"
connectService: "ເຊື່ອມຕໍ່"
disconnectService: "ຕັດການເຊື່ອມຕໍ່"
enableLocalTimeline: "ເປີດໃຊ້ທາມລາຍທ້ອງຖິ່ນ"
enableGlobalTimeline: "ເປີດໃຊ້ທາມລາຍທົ່ວໂລກ"
disablingTimelinesInfo: "ຜູ້ເບິ່ງແຍງລະບົບ ແລະຜູ້ຄວບຄຸມຈະມີການເຂົ້າເຖິງທຸກກຳນົດເວລາ, ເຖິງແມ່ນວ່າຈະບໍ່ໄດ້ເປີດໃຊ້ງານກໍຕາມ"
registration: "ລົງທະບຽນ"
enableRegistration: "ເປີດໃຊ້ການລົງທະບຽນຜູ້ໃຊ້ໃໝ່"
invite: "ເຊີນ"
driveCapacityPerLocalAccount: "ຄວາມອາດສາມາດຂັບຕໍ່ຜູ້ໃຊ້ທ້ອງຖິ່ນ"
driveCapacityPerRemoteAccount: "ໄດຣຟ໌ຄວາມອາດສາມາດຕໍ່ຜູ້ໃຊ້ທາງໄກ"
pinnedNotes: "ບັນທຶກທີ່ປັກໝຸດໄວ້"
turnstileSiteKey: "ກະແຈໄຊທ໌"
turnstileSecretKey: "ກະແຈລັບ"
name: "ຊື່"
userList: "ລາຍການ"
about: "ກ່ຽວກັບ"
aboutMisskey: "ກ່ຽວກັບ Misskey"
administrator: "ຜູ້ບໍລິຫານ"
share: "ແບ່ງປັນ"
notFound: "ບໍ່ພົບ"
cacheClear: "ລຶບລ້າງແຄສ"
invites: "ເຊີນ"
title: "ຫົວຂໍ້"
text: "ຂໍ້ຄວາມ"
enable: "ເປີດໃຊ້"
next: "ຕໍ່ໄປ"
invitations: "ເຊີນ"
language: "ພາສາ"
native: "ພາ​ສາ​ແມ່"
category: "ຫມວດຫມູ່"
tags: "ແທ໋ກ"
createAccount: "ສ້າງບັນຊີ"
existingAccount: "ທີ່ມີຢູ່"
dashboard: "ໜ້າປັດ"
local: "ທ້ອງຖິ່ນ"
objectStorageRegion: "ພາກ​ພື້ນ"
sounds: "ສຽງ"
sound: "ສຽງ"
none: "ບໍ່ມີ"
volume: "ລະດັບສຽງ"
details: "ລາຍລະອຽດ"
install: "ຕິດຕັ້ງ"
uninstall: "ຖອນການຕິດຕັ້ງ"
state: "ສະຖານະ"
sort: "ຈັດຮຽງໂດຍ"
ascendingOrder: "ນ້ອຍໄປຫາໃຫຍ່"
descendingOrder: "ໃຫຍ່ຫານ້ອຍ"
output: "ຜົນຜະລິດ"
script: "ບົດ​ຄວາມ"
smtpHost: "ໂຮດສ"
smtpUser: "ຊື່ຜູ້ໃຊ້"
smtpPass: "ລະຫັດຜ່ານ"
clearCache: "ລຶບລ້າງແຄສ"
info: "ກ່ຽວກັບ"
user: "ຜູ້ໃຊ້ຕ່າງໆ"
searchByGoogle: "ຄົ້ນຫາ"
file: "ໄຟລ໌"
_email:
_follow:
title: "ໄດ້ຕິດຕາມທ່ານ"
_theme:
keys:
mention: "ໄດ້ກ່າວມາ"
renote: "Renote"
_sfx:
note: "ບັນທຶກ"
notification: "ການແຈ້ງເຕືອນ"
chat: "ແຊ໋ດ"
_2fa:
renewTOTPCancel: "ບໍ່​ແມ່ນ​ຕອນ​ນີ້"
_widgets:
profile: "ໂພຼຟາຍ"
instanceInfo: "ອີນສະແຕນ"
notifications: "ການແຈ້ງເຕືອນ"
timeline: "​ເສັ້ນກຳ​ນົດ​ເວ​ລາ​"
activity: "ກິດຈະກຳ"
federation: "ສະຫະພັນ"
_userList:
chooseList: "ເລືອກບັນຊີລາຍການ"
_cw:
show: "ໂຫຼດເພີ່ມເຕີມ"
_visibility:
home: "ໜ້າຫຼັກ"
followers: "ຜູ້ຕິດຕາມ"
_profile:
name: "ຊື່"
username: "ຊື່ຜູ້ໃຊ້"
_exportOrImport:
followingList: "ກຳລັງຕິດຕາມ"
muteList: "ປີດສຽງ"
blockingList: "ບ໋ອກ"
userLists: "ລາຍການ"
_charts:
federation: "ສະຫະພັນ"
_timelines:
home: "ໜ້າຫຼັກ"
_play:
script: "ບົດ​ຄວາມ"
_pages:
blocks:
image: "ຮູບພາບ"
_notification:
youWereFollowed: "ໄດ້ຕິດຕາມທ່ານ"
_types:
follow: "ກຳລັງຕິດຕາມ"
mention: "ໄດ້ກ່າວມາ"
renote: "Renote"
quote: "ລວມຂໍ້ຄວາມອ້າງອີງ"
reaction: "ປະຕິກິລິຍາ"
_actions:
reply: "ຕອບ​ໄປ​ທີ"
renote: "Renote"
_deck:
_columns:
notifications: "ການແຈ້ງເຕືອນ"
tl: "​ເສັ້ນກຳ​ນົດ​ເວ​ລາ​"
list: "ລາຍການ"
channel: "ຊ່ອງ"
mentions: "ກ່າວເຖິງ"
_webhookSettings:
name: "ຊື່"

View File

@@ -2,7 +2,6 @@
_lang_: "Nederlands" _lang_: "Nederlands"
headlineMisskey: "Netwerk verbonden door notities" headlineMisskey: "Netwerk verbonden door notities"
introMisskey: "Welkom! Misskey is een open source, gedecentraliseerde microblogdienst.\nMaak \"notities\" om je gedachten te delen met iedereen om je heen. 📡\nMet \"reacties\" kun je ook snel je mening geven over berichten van anderen. 👍\nLaten we een nieuwe wereld verkennen! 🚀" introMisskey: "Welkom! Misskey is een open source, gedecentraliseerde microblogdienst.\nMaak \"notities\" om je gedachten te delen met iedereen om je heen. 📡\nMet \"reacties\" kun je ook snel je mening geven over berichten van anderen. 👍\nLaten we een nieuwe wereld verkennen! 🚀"
poweredByMisskeyDescription: "{name} is één van de services die door het open source platform <b>Misskey</b> wordt geleverd (het wordt ook wel een \"Misskey server genmoemd\")."
monthAndDay: "{day} {month}" monthAndDay: "{day} {month}"
search: "Zoeken" search: "Zoeken"
notifications: "Meldingen" notifications: "Meldingen"
@@ -13,7 +12,6 @@ fetchingAsApObject: "Ophalen vanuit de Fediverse"
ok: "Ok" ok: "Ok"
gotIt: "Begrepen" gotIt: "Begrepen"
cancel: "Annuleren" cancel: "Annuleren"
noThankYou: "Nee, bedankt"
enterUsername: "Voer een gebruikersnaam in" enterUsername: "Voer een gebruikersnaam in"
renotedBy: "Hergedeeld door {user}" renotedBy: "Hergedeeld door {user}"
noNotes: "Geen notities" noNotes: "Geen notities"
@@ -54,7 +52,6 @@ searchUser: "Zoeken een gebruiker"
reply: "Antwoord" reply: "Antwoord"
loadMore: "Laad meer" loadMore: "Laad meer"
showMore: "Toon meer" showMore: "Toon meer"
showLess: "Sluiten"
youGotNewFollower: "volgde jou" youGotNewFollower: "volgde jou"
receiveFollowRequest: "Volgverzoek ontvangen" receiveFollowRequest: "Volgverzoek ontvangen"
followRequestAccepted: "Volgverzoek geaccepteerd" followRequestAccepted: "Volgverzoek geaccepteerd"
@@ -109,8 +106,6 @@ clickToShow: "Klik om te bekijken"
sensitive: "NSFW" sensitive: "NSFW"
add: "Toevoegen" add: "Toevoegen"
reaction: "Reacties" reaction: "Reacties"
reactions: "Reacties"
reactionSetting: "Reacties die in de reactie-selector worden getoond"
reactionSettingDescription2: "Sleep om opnieuw te ordenen, Klik om te verwijderen, Druk op \"+\" om toe te voegen" reactionSettingDescription2: "Sleep om opnieuw te ordenen, Klik om te verwijderen, Druk op \"+\" om toe te voegen"
rememberNoteVisibility: "Vergeet niet de notitie zichtbaarheidsinstellingen" rememberNoteVisibility: "Vergeet niet de notitie zichtbaarheidsinstellingen"
attachCancel: "Verwijder bijlage" attachCancel: "Verwijder bijlage"
@@ -127,19 +122,6 @@ blockConfirm: "Weet je zeker dat je dit account wil blokkeren?"
unblockConfirm: "Ben je zeker dat je deze account wil blokkeren?" unblockConfirm: "Ben je zeker dat je deze account wil blokkeren?"
suspendConfirm: "Ben je zeker dat je deze account wil suspenderen?" suspendConfirm: "Ben je zeker dat je deze account wil suspenderen?"
unsuspendConfirm: "Ben je zeker dat je deze account wil opnieuw aanstellen?" unsuspendConfirm: "Ben je zeker dat je deze account wil opnieuw aanstellen?"
selectList: "Kies een lijst."
selectAntenna: "Kies een antenne"
selectWidget: "Kies een widget"
editWidgets: "Bewerk widgets"
editWidgetsExit: "Klaar"
customEmojis: "Maatwerk emoji"
emoji: "Emoji"
emojis: "Emoji"
emojiName: "Naam emoji"
emojiUrl: "URL emoji"
addEmoji: "Toevoegen emoji"
settingGuide: "Aanbevolen instellingen"
cacheRemoteFiles: "Externe bestanden cachen"
flagAsBot: "Markeer dit account als een robot." flagAsBot: "Markeer dit account als een robot."
flagAsBotDescription: "Als dit account van een programma wordt beheerd, zet deze vlag aan. Het aanzetten helpt andere ontwikkelaars om bijvoorbeeld onbedoelde feedback loops te doorbreken of om Misskey meer geschikt te maken." flagAsBotDescription: "Als dit account van een programma wordt beheerd, zet deze vlag aan. Het aanzetten helpt andere ontwikkelaars om bijvoorbeeld onbedoelde feedback loops te doorbreken of om Misskey meer geschikt te maken."
flagAsCat: "Markeer dit account als een kat." flagAsCat: "Markeer dit account als een kat."
@@ -166,6 +148,7 @@ annotation: "Reacties"
federation: "Federatie" federation: "Federatie"
instances: "Server" instances: "Server"
registeredAt: "Geregistreerd op" registeredAt: "Geregistreerd op"
latestRequestSentAt: "Laatste aanvraag verstuurd"
latestRequestReceivedAt: "Laatste aanvraag ontvangen" latestRequestReceivedAt: "Laatste aanvraag ontvangen"
latestStatus: "Laatste status" latestStatus: "Laatste status"
storageUsage: "Gebruikte opslagruimte" storageUsage: "Gebruikte opslagruimte"
@@ -205,7 +188,6 @@ done: "Klaar"
processing: "Bezig met verwerken" processing: "Bezig met verwerken"
preview: "Voorbeeld" preview: "Voorbeeld"
default: "Standaard" default: "Standaard"
defaultValueIs: "Standaard: {value}"
noCustomEmojis: "Er zijn geen emojis" noCustomEmojis: "Er zijn geen emojis"
noJobs: "Er zijn geen taken" noJobs: "Er zijn geen taken"
federating: "Federeren" federating: "Federeren"
@@ -254,12 +236,12 @@ noMoreHistory: "Er is geen verdere geschiedenis"
startMessaging: "Start een gesprek" startMessaging: "Start een gesprek"
nUsersRead: "gelezen door {n}" nUsersRead: "gelezen door {n}"
agreeTo: "Ik stem in met {0}" agreeTo: "Ik stem in met {0}"
tos: "Gebruiksvoorwaarden"
start: "Aan de slag" start: "Aan de slag"
home: "Startpagina" home: "Startpagina"
remoteUserCaution: "Aangezien deze gebruiker van een externe server afkomstig is, kan de weergegeven informatie onvolledig zijn." remoteUserCaution: "Aangezien deze gebruiker van een externe server afkomstig is, kan de weergegeven informatie onvolledig zijn."
activity: "Activiteit" activity: "Activiteit"
images: "Afbeeldingen" images: "Afbeeldingen"
image: "Afbeeldingen"
birthday: "Geboortedatum" birthday: "Geboortedatum"
yearsOld: "{age} jaar" yearsOld: "{age} jaar"
registeredDate: "Inschrijvingsdatum" registeredDate: "Inschrijvingsdatum"
@@ -288,10 +270,6 @@ emptyDrive: "Jouw Drive is leeg."
emptyFolder: "Deze map is leeg" emptyFolder: "Deze map is leeg"
unableToDelete: "Kan niet worden verwijderd" unableToDelete: "Kan niet worden verwijderd"
inputNewFileName: "Voer een nieuwe naam in" inputNewFileName: "Voer een nieuwe naam in"
inputNewDescription: "Voer hier het onderschrift in"
inputNewFolderName: "Naam invoeren voor nieuwe map"
circularReferenceFolder: "De bestemmingsmap is een submap van de map die je wilt verplaatsen."
hasChildFilesOrFolders: "Omdat deze map niet leeg is, kan die niet worden verwijderd."
copyUrl: "URL kopiëren" copyUrl: "URL kopiëren"
rename: "Hernoemen" rename: "Hernoemen"
avatar: "Avatar" avatar: "Avatar"
@@ -299,87 +277,14 @@ banner: "Banner"
nsfw: "NSFW" nsfw: "NSFW"
whenServerDisconnected: "Wanneer de verbinding met de server wordt onderbroken" whenServerDisconnected: "Wanneer de verbinding met de server wordt onderbroken"
disconnectedFromServer: "Verbinding met de server onderbroken." disconnectedFromServer: "Verbinding met de server onderbroken."
reload: "Verversen"
doNothing: "Negeren"
reloadConfirm: "Weet je zeker dat je je tijdlijn wil verversen?"
watch: "Volgen"
unwatch: "Niet meer volgen"
accept: "Accepteren"
reject: "Weigeren"
normal: "Normaal"
instanceName: "Naam van de server"
instanceDescription: "Beschrijving van de server"
maintainerName: "Onderhouder"
maintainerEmail: "E-mailadres beheerder"
tosUrl: "URL gebruiksvoorwaarden"
thisYear: "Jaar"
thisMonth: "Maand"
today: "Vandaag"
dayX: "{day}"
monthX: "{month}"
yearX: "{year}"
pages: "Pagina's"
integration: "Integraties"
connectService: "Verbinden"
disconnectService: "Verbinding verbreken"
enableLocalTimeline: "Inschakelen lokale tijdlijn"
enableGlobalTimeline: "Inschakelen globale tijdlijn "
disablingTimelinesInfo: "Beheerders en moderators hebben altijd toegang tot alle tijdlijnen, ook als ze niet actief zijn."
registration: "Registreren"
enableRegistration: "Inschakelen registratie nieuwe gebruikers "
invite: "Uitnodigen"
driveCapacityPerLocalAccount: "Opslagruimte per lokale gebruiker"
driveCapacityPerRemoteAccount: "Opslagruimte per externe gebruiker"
inMb: "in megabytes" inMb: "in megabytes"
iconUrl: "Pictogram URL"
bannerUrl: "Banner URL"
backgroundImageUrl: "URL afbeelding"
basicInfo: "Basisinformatie"
pinnedUsers: "Vastgeprikte gebruikers"
pinnedPages: "Vastgeprikte pagina's"
pinnedNotes: "Vastgemaakte notitie" pinnedNotes: "Vastgemaakte notitie"
hcaptcha: "hCaptcha"
enableHcaptcha: "Inschakelen hCaptcha"
hcaptchaSiteKey: "Site sleutel"
hcaptchaSecretKey: "Geheime sleutel"
recaptcha: "reCAPTCHA"
enableRecaptcha: "Inschakelen reCAPTCHA"
recaptchaSiteKey: "Site sleutel"
recaptchaSecretKey: "Geheime sleutel"
turnstile: "Tourniquet"
enableTurnstile: "Inschakelen tourniquet"
turnstileSiteKey: "Site sleutel"
turnstileSecretKey: "Geheime sleutel"
antennas: "Antennes"
manageAntennas: "Antennes beheren"
name: "Naam"
antennaSource: "Bron antenne"
antennaKeywords: "Sleutelwoorden"
antennaExcludeKeywords: "Blokkeerwoorden"
withReplies: "Antwoorden toevoegen"
connectedTo: "De volgende accounts zijn verbonden"
notesAndReplies: "Berichten en reacties"
withFiles: "Bestanden toevoegen"
silence: "Dempen"
silenceConfirm: "Weet je zeker dat je deze gebruiker wil dempen?"
unsilence: "Dempen uitschakelen"
unsilenceConfirm: "Weet je zeker dat je deze gebruiker niet meer wil dempen?"
popularUsers: "Populaire gebruikers"
recentlyUpdatedUsers: "Recent actieve gebruikers"
recentlyRegisteredUsers: "Recent geregistreerde gebruikers"
recentlyDiscoveredUsers: "Nieuw ontdekte gebruikers "
exploreUsersCount: "Er zijn {count} gebruikers"
exploreFediverse: "Ontdek de Fediverse"
popularTags: "Populaire tags"
userList: "Lijsten" userList: "Lijsten"
about: "Over"
aboutMisskey: "Over Misskey" aboutMisskey: "Over Misskey"
administrator: "Beheerder" administrator: "Beheerder"
token: "Token" token: "Token"
moderator: "Moderator" securityKeyName: "Sleutelnaam"
moderation: "Moderatie" registerSecurityKey: "Zekerheids-Sleutel registreren"
nUsersMentioned: "Vermeld door {n} gebruikers"
securityKey: "Beveiligingssleutel"
lastUsed: "Laatst gebruikt" lastUsed: "Laatst gebruikt"
unregister: "Uitschrijven" unregister: "Uitschrijven"
passwordLessLogin: "Inloggen zonder wachtwoord" passwordLessLogin: "Inloggen zonder wachtwoord"
@@ -388,22 +293,11 @@ newPasswordIs: "Het nieuwe wachtwoord is „{password}”."
reduceUiAnimation: "Verminder beweging in de UI" reduceUiAnimation: "Verminder beweging in de UI"
share: "Delen" share: "Delen"
notFound: "Niet gevonden" notFound: "Niet gevonden"
uploadFolder: "Standaardmap voor uploaden"
cacheClear: "Cache verwijderen" cacheClear: "Cache verwijderen"
markAsReadAllNotifications: "Markeer alle meldingen als gelezen"
markAsReadAllUnreadNotes: "Markeer alle berichten als gelezen"
markAsReadAllTalkMessages: "Markeer alle berichten als gelezen"
help: "Help"
inputMessageHere: "Voer hier je bericht in"
close: "Sluiten"
invites: "Uitnodigen"
invitations: "Uitnodigen"
sound: "Geluid"
smtpHost: "Server" smtpHost: "Server"
smtpUser: "Gebruikersnaam" smtpUser: "Gebruikersnaam"
smtpPass: "Wachtwoord" smtpPass: "Wachtwoord"
clearCache: "Cache opschonen" clearCache: "Cache opschonen"
info: "Over"
user: "Gebruikers" user: "Gebruikers"
muteThread: "Discussies dempen " muteThread: "Discussies dempen "
unmuteThread: "Dempen van discussie ongedaan maken" unmuteThread: "Dempen van discussie ongedaan maken"
@@ -412,16 +306,13 @@ searchByGoogle: "Zoeken"
cropImage: "Afbeelding bijsnijden" cropImage: "Afbeelding bijsnijden"
cropImageAsk: "Bijsnijdengevraagd" cropImageAsk: "Bijsnijdengevraagd"
file: "Bestanden" file: "Bestanden"
pushNotification: "Pushberichten"
subscribePushNotification: "Push meldingen inschakelen"
unsubscribePushNotification: "Pushberichten uitschakelen"
pushNotificationAlreadySubscribed: "Pushberichtrn al ingeschakeld"
windowMaximize: "Maximaliseren"
windowRestore: "Herstellen"
loggedInAsBot: "Momenteel als bot ingelogd"
_email: _email:
_follow: _follow:
title: "volgde jou" title: "volgde jou"
_mfm:
mention: "Vermelding"
quote: "Quote"
search: "Zoeken"
_theme: _theme:
keys: keys:
mention: "Vermelding" mention: "Vermelding"
@@ -430,25 +321,18 @@ _sfx:
note: "Notities" note: "Notities"
notification: "Meldingen" notification: "Meldingen"
chat: "Chat" chat: "Chat"
_2fa:
renewTOTPCancel: "Nee, bedankt"
_widgets: _widgets:
profile: "Profiel"
instanceInfo: "Serverinformatie"
notifications: "Meldingen" notifications: "Meldingen"
timeline: "Tijdlijn" timeline: "Tijdlijn"
activity: "Activiteit" activity: "Activiteit"
federation: "Federatie" federation: "Federatie"
jobQueue: "Job Queue" jobQueue: "Job Queue"
_userList:
chooseList: "Kies een lijst."
_cw: _cw:
show: "Laad meer" show: "Laad meer"
_visibility: _visibility:
home: "Startpagina" home: "Startpagina"
followers: "Volgers" followers: "Volgers"
_profile: _profile:
name: "Naam"
username: "Gebruikersnaam" username: "Gebruikersnaam"
_exportOrImport: _exportOrImport:
followingList: "Volgend" followingList: "Volgend"
@@ -464,9 +348,26 @@ _timelines:
_pages: _pages:
blocks: blocks:
image: "Afbeeldingen" image: "Afbeeldingen"
script:
categories:
list: "Lijsten"
blocks:
_join:
arg1: "Lijsten"
_randomPick:
arg1: "Lijsten"
_dailyRandomPick:
arg1: "Lijsten"
_seedRandomPick:
arg2: "Lijsten"
_pick:
arg1: "Lijsten"
_listLen:
arg1: "Lijsten"
types:
array: "Lijsten"
_notification: _notification:
youWereFollowed: "volgde jou" youWereFollowed: "volgde jou"
unreadAntennaNote: "Antenne {name}"
_types: _types:
follow: "Volgend" follow: "Volgend"
mention: "Vermelding" mention: "Vermelding"
@@ -480,8 +381,5 @@ _deck:
_columns: _columns:
notifications: "Meldingen" notifications: "Meldingen"
tl: "Tijdlijn" tl: "Tijdlijn"
antenna: "Antennes"
list: "Lijsten" list: "Lijsten"
mentions: "Vermeldingen" mentions: "Vermeldingen"
_webhookSettings:
name: "Naam"

View File

@@ -1,484 +1,2 @@
--- ---
_lang_: "Norsk Bokmål" _lang_: "Norsk Bokmål"
search: "Søk"
notifications: "Varsler"
username: "Brukernavn"
password: "Passord"
forgotPassword: "Glemt passord"
ok: "OK"
gotIt: "Skjønner"
cancel: "Avbryt"
noThankYou: "Avbryt"
noNotifications: "Ingen varsler"
instance: "Server"
settings: "Innstillinger"
notificationSettings: "Varslingsinnstillinger"
otherSettings: "Andre innstillinger"
profile: "Profil"
timeline: "Tidslinje"
login: "Logg inn"
loggingIn: "Logget inn"
logout: "Logg ut"
signup: "Bli med"
uploading: "Laster opp"
save: "Lagre"
users: "Brukere"
addUser: "Legg til bruker"
favorite: "Favoritt"
favorites: "Favoritter"
unfavorite: "Fjern favoritt"
pin: "Fest"
unpin: "Opphev festing"
copyContent: "Kopier innhold"
copyLink: "Kopier lenke"
delete: "Slett"
deleteAndEdit: "Slett og rediger"
addToList: "Legg til i liste"
sendMessage: "Send melding"
copyRSS: "Kopier RSS"
copyUsername: "Kopier brukernavn"
searchUser: "Søk brukere"
reply: "Svar"
loadMore: "Vis mer"
showMore: "Vis mer"
showLess: "Lukk"
files: "Filer"
download: "Nedlastinger"
lists: "Lister"
noLists: "Ingen lister"
following: "Følg"
followers: "Følgere"
followsYou: "Følger deg"
createList: "Opprett liste"
error: "Feil"
retry: "Prøv igjen"
pageLoadError: "Kunne ikke hente side."
privacy: "Personvern"
follow: "Følg"
followRequest: "Følgeforespørsel"
followRequests: "Følgeforespørsel"
unfollow: "Avfølg"
followRequestPending: "Venter på godkjenning"
quote: "Sitat"
pinned: "Fest"
you: "Du"
clickToShow: "Klikk for å vise"
add: "Legg til"
reaction: "Reaksjon"
reactions: "Reaksjoner"
mute: "Skjul"
unmute: "Vis"
block: "Blokker"
unblock: "Opphev blokkering"
blockConfirm: "Blokker?"
selectList: "Velg liste"
selectChannel: "Velg kanal"
emoji: "Emoji"
emojis: "Emojier"
addEmoji: "Legg til emoji"
addAccount: "Legg til konto"
selectUser: "Velg bruker"
instances: "Server"
registeredAt: "Registrerte seg"
perHour: "Per time"
perDay: "Per dag"
blockThisInstance: "Blokker denne serveren"
version: "Versjon"
statistics: "Statistikk"
clearQueue: "Tøm kø"
clearQueueConfirmTitle: "Vil du tømme kø?"
blockedInstances: "Blokkerte severe"
muteAndBlock: "Skjul og blokker"
mutedUsers: "Skjulte brukere"
blockedUsers: "Blokkerte brukere"
editProfile: "Rediger profil"
pinLimitExceeded: "Du kan ikke feste flere."
noCustomEmojis: "Ingen emoji"
blocked: "Blokkert"
all: "Alle"
changePassword: "Endre passord"
security: "Sikkerhet"
newPassword: "Nytt passord"
newPasswordRetype: "Nytt passord (gjenta)"
more: "Mer!"
remove: "Slett"
removed: "Slettet"
saved: "Lagret"
upload: "Laste opp"
explore: "Utforsk"
messageRead: "Lest"
agree: "Jeg godtar"
home: "Hjem"
images: "Bilder"
image: "Bilder"
birthday: "Bursdag"
yearsOld: "{age} år gammel"
light: "Lys"
dark: "Mørk"
fileName: "Filnavn"
selectFile: "Velg fil"
selectFiles: "Velg fil"
selectFolder: "Velg mappe"
selectFolders: "Velg mappe"
renameFile: "Endre filnavn"
folderName: "Mappenavn"
createFolder: "Opprett mappe"
renameFolder: "Endre mappenavn"
deleteFolder: "Slett mappe"
addFile: "Legg til fil"
emptyFolder: "Denne mappen er tom"
copyUrl: "Kopier URL"
rename: "Endre navn"
doNothing: "Gjør ingenting"
accept: "Tillatt"
reject: "Avslå"
instanceName: "Servernavn"
thisYear: "I år"
today: "I dag"
pages: "Sider"
pinnedUsers: "Festete brukrere"
pinnedPages: "Festete sider"
hcaptcha: "hCaptcha"
recaptcha: "reCAPTCHA"
name: "Navn"
popularUsers: "Populære brukere"
exploreUsersCount: "Det finnes {count} brukere"
userList: "Lister"
about: "Infomasjon"
aboutMisskey: "Om Misskey"
share: "Del"
help: "Hjelp"
close: "Lukk"
members: "Medlemmer"
text: "Tekst"
next: "Neste"
retype: "Gjenta"
available: "Tilgjengelig"
unavailable: "Utilgjengelig"
tooShort: "For kort"
tooLong: "For langt"
or: "eller"
language: "Språk"
aboutX: "Om {x}"
category: "Kategorier"
createAccount: "Opprett konto"
objectStorageRegion: "Region"
objectStorageUseSSL: "Bruk SSL"
objectStorageUseProxy: "Bruk Proxy"
deleteAll: "Slett alt"
listen: "Lytt"
none: "Ingen"
chooseEmoji: "Velg emoji"
recentUsed: "Sist brukte"
install: "Installer"
nothing: "Ingenting"
deleteAllFiles: "Slett alle filer"
deleteAllFilesConfirm: "Vil du slette alle filer?"
accountDeleted: "Kontoen blir slettet"
accountDeletedDescription: "Denne kontoen blir slettet"
menu: "Meny"
poll: "Avstemning"
description: "Beskrivelse"
author: "Forfatter"
height: "Høyde"
large: "Stor"
small: "Liten"
notificationType: "Varseltype"
edit: "Rediger"
email: "E-post"
smtpUser: "Brukernavn"
smtpPass: "Passord"
userSaysSomething: "{name} sa noe"
copy: "Kopier"
channel: "Kanaler"
create: "Opprett"
notificationSetting: "Varslingsinnstillinger"
other: "Andre"
behavior: "Oppførsel"
sample: "Eksempel"
abuseReports: "Rappoter"
reportAbuse: "Rappoter"
send: "Send"
openInNewTab: "Åpne i ny fane"
waitingFor: "Venter på {x}"
system: "System"
followingCount: "Følger"
followersCount: "Følgere"
yes: "Ja"
no: "Nei"
left: "Venstre"
saveAs: "Lagre som"
value: "Verdi"
deleteConfirm: "Vil du slette?"
invalidValue: "Verdien er ugyldig."
emailNotification: "E-postvarsler"
inChannelSearch: "Søk i kanal"
clear: "Tøm"
markAllAsRead: "Merk alt som lest"
addDescription: "Legg til beskrivelse"
info: "Infomasjon"
unknown: "Ukjent"
selectAccount: "Velg konto"
user: "Brukere"
accounts: "Kontoer"
switch: "Bytt"
gallery: "Galleri"
ads: "Annonser"
high: "Høy"
low: "Lav"
sent: "Send"
learnMore: "Les mer"
translate: "Oversett"
unread: "Ulest"
manageAccounts: "Administrer konto"
classic: "Klassisk"
muteThread: "Skjul denne tråden"
unmuteThread: "Vis denne tråden"
tablet: "Nettbrett"
auto: "Automatisk"
size: "Størrelse"
searchByGoogle: "Søk"
tenMinutes: "10 minutter"
oneHour: "1 time"
oneDay: "1 dag"
oneWeek: "1 uke"
oneMonth: "1 måned"
file: "Filer"
recommended: "Anbefalt"
check: "Sjekk"
deleteAccount: "Slett konto"
document: "Dokumenter"
logoutConfirm: "Vil du logge ut?"
pleaseSelect: "Vennligst velg"
type: "Type"
beta: "Beta"
account: "Kontoer"
move: "Flytt"
pushNotification: "Push-varsler"
tools: "Verktøy"
like: "Liker!"
unlike: "Liker ikke"
numberOfLikes: "Likerklikk"
show: "Vis"
neverShow: "Ikke vis igjen"
remindMeLater: "Kanskje senere"
didYouLikeMisskey: "Likte du Misskey?"
roles: "Roller"
role: "Rolle"
color: "Farge"
youCannotCreateAnymore: "Du kan ikke opprette flere."
cannotPerformTemporary: "Midlertidig utilgjengelig"
thisPostMayBeAnnoyingCancel: "Avbryt"
exploreOtherServers: "Utforsk andre severe"
letsLookAtTimeline: "La oss se på tidslinje"
cannotBeChangedLater: "Du kan ikke endre senere."
likeOnly: "Bare liker"
retryAllQueuesConfirmTitle: "Vil du prøve igjen akkurat nå?"
video: "Video"
videos: "Videoer"
continue: "Fortsett"
youFollowing: "Følger"
options: "Alternativ"
_initialAccountSetting:
theseSettingsCanEditLater: "Du kan endre disse innstillingene senere."
_achievements:
_types:
_notes100000:
flavor: "Du har jammen mye å si."
_noteFavorited1:
title: "Stjernekikker"
_myNoteFavorited1:
title: "Jeg vil gjerne få en stjerne"
_following50:
title: "Mange venner"
_following100:
title: "100 venner"
_following300:
title: "For mange venner"
_followers10:
title: "Følg meg!"
_followers100:
title: "Populær"
_postedAtLateNight:
flavor: "Det er på tide å gå til sengs."
_driveFolderCircularReference:
title: "Rundskrivreferanse"
_reactWithoutRead:
title: "Leste du det virkelig?"
_clickedClickHere:
title: "Klikk her"
description: "Du har klikket her"
_justPlainLucky:
title: "Rett og slett heldig"
_setNameToSyuilo:
description: "Du har satt navnet ditt til \"syuilo\""
_loggedInOnBirthday:
title: "Gratulerer med dagen"
_loggedInOnNewYearsDay:
title: "Godt nytt år"
_brainDiver:
title: "Brain Diver"
flavor: "Misskey-Misskey La-Tu-Ma"
_role:
options: "Alternativ"
_priority:
low: "Lav"
high: "Høy"
_emailUnavailable:
used: "Allerede brukt"
_accountDelete:
accountDelete: "Slett konto"
_ad:
hide: "Ikke vis"
_gallery:
like: "Liker!"
unlike: "Liker ikke"
_preferencesBackups:
saveNew: "Lagre som ny"
cannotSave: "Kunne ikke lagre"
_registry:
key: "Nøkkel"
keys: "Nøkler"
_aboutMisskey:
about: "Misskey er programvare med åpen kildekode som har blitt utviklet av syuilo siden 2014."
translation: "Oversett Misskey"
_instanceTicker:
none: "Ikke vis"
always: "Alltid vis"
_channel:
create: "Opprett kanal"
edit: "Rediger kanal"
featured: "Populært"
following: "Følger"
nameAndDescription: "Navn og beskrivelse"
_wordMute:
soft: "Myk"
hard: "Hard"
_theme:
description: "Beskrivelse"
color: "Farge"
key: "Nøkkel"
keys:
link: "Lenke"
_sfx:
notification: "Varsler"
_ago:
future: "Fremitid"
justNow: "Akkurat nå"
secondsAgo: "{n} sekunder siden"
minutesAgo: "{n} minutter siden"
hoursAgo: "{n} timer siden"
daysAgo: "{n} dager siden"
weeksAgo: "{n} uker siden"
monthsAgo: "{n} måneder siden"
yearsAgo: "{n} år siden"
invalid: "Ingenting"
_time:
second: "Sekunder"
minute: "Minutter"
hour: "Timer"
day: "Dager"
_timelineTutorial:
title: "Hvordan bruke Misskey"
_2fa:
renewTOTPCancel: "Avbryt"
_weekday:
sunday: "Søndag"
monday: "Mandag"
tuesday: "Tirsdag"
wednesday: "Onsdag"
thursday: "Torsdag"
friday: "Fredag"
saturday: "Lørdag"
_widgets:
profile: "Profil"
notifications: "Varsler"
timeline: "Tidslinje"
calendar: "Kalender"
trends: "Populært"
clock: "Klokke"
photos: "Bilder"
button: "Knapp"
aiscriptApp: "AiScript App"
userList: "Brukerliste"
_userList:
chooseList: "Velg liste"
_cw:
show: "Vis mer"
_poll:
noOnlyOneChoice: "Trenger minst to valger."
choiceN: "Valg {n}"
noMore: "Du kan ikke legge til flere."
deadlineTime: "Timer"
votesCount: "{n} stemmer"
vote: "Stem"
showResult: "Vis resultatet"
voted: "Stemt"
closed: "Avsluttet"
_visibility:
home: "Hjem"
followers: "Følgere"
_postForm:
_placeholders:
a: "Hva skjer?"
_profile:
name: "Navn"
username: "Brukernavn"
metadataContent: "Innhold"
_exportOrImport:
followingList: "Følg"
muteList: "Skjul"
blockingList: "Blokker"
userLists: "Lister"
_charts:
filesIncDec: "Forskjell på antall filer"
_instanceCharts:
users: "Forskjell på antall brukere"
ff: "Forskjell på antall Følg/Følgere"
files: "Forskjell på antall filer"
_timelines:
home: "Hjem"
_play:
new: "Opprett Play"
edit: "Rediger Play"
featured: "Populært"
summary: "Beskrivelse"
_pages:
like: "Liker"
unlike: "Liker ikke"
my: "Mine sider"
featured: "Populært"
contents: "Innhold"
url: "Side URL"
fontSerif: "Serif"
fontSansSerif: "Sans Serif"
selectType: "Velg type"
blocks:
text: "Tekst"
section: "Seksjon"
image: "Bilde"
button: "Knapp"
_notification:
_types:
follow: "Følg"
reply: "Svar"
quote: "Sitat"
reaction: "Reaksjon"
_actions:
reply: "Svar"
_deck:
swapLeft: "Flytt til venstre"
swapRight: "Flytt til høyre"
swapUp: "Flytt opp"
swapDown: "Flytt ned"
profile: "Profil"
newProfile: "Ny profil"
deleteProfile: "Slett profil"
_columns:
notifications: "Varsler"
tl: "Tidslinje"
list: "Lister"
channel: "Kanaler"
direct: "Direkte"
_webhookSettings:
name: "Navn"

View File

@@ -2,7 +2,6 @@
_lang_: "Polski" _lang_: "Polski"
headlineMisskey: "Sieć połączona wpisami" headlineMisskey: "Sieć połączona wpisami"
introMisskey: "Misskey jest serwisem mikroblogowym typu open source.\nMisskey to opensource'owy serwis mikroblogowy, w którym możesz tworzyć \"notatki\", aby dzielić się tym, co się dzieje i opowiadać wszystkim o sobie.\nMożesz również użyć funkcji \"Reakcje\", aby szybko dodać własne reakcje do notatek innych użytkowników👍.\nOdkrywaj nowy świat🚀!" introMisskey: "Misskey jest serwisem mikroblogowym typu open source.\nMisskey to opensource'owy serwis mikroblogowy, w którym możesz tworzyć \"notatki\", aby dzielić się tym, co się dzieje i opowiadać wszystkim o sobie.\nMożesz również użyć funkcji \"Reakcje\", aby szybko dodać własne reakcje do notatek innych użytkowników👍.\nOdkrywaj nowy świat🚀!"
poweredByMisskeyDescription: "{name} jest jedną z usług działającą na otwartoźródłowej platformie <b>Misskey</b> (określana jako \"instancja Misskey\")."
monthAndDay: "{month}-{day}" monthAndDay: "{month}-{day}"
search: "Szukaj" search: "Szukaj"
notifications: "Powiadomienia" notifications: "Powiadomienia"
@@ -13,7 +12,6 @@ fetchingAsApObject: "Pobieranie z Fediwersum…"
ok: "OK" ok: "OK"
gotIt: "Rozumiem!" gotIt: "Rozumiem!"
cancel: "Anuluj" cancel: "Anuluj"
noThankYou: "Nie teraz"
enterUsername: "Wprowadź nazwę użytkownika" enterUsername: "Wprowadź nazwę użytkownika"
renotedBy: "Udostępniono przez {user}" renotedBy: "Udostępniono przez {user}"
noNotes: "Brak wpisów" noNotes: "Brak wpisów"
@@ -49,7 +47,6 @@ deleteAndEdit: "Usuń i edytuj"
deleteAndEditConfirm: "Czy na pewno chcesz usunąć ten wpis i zedytować go? Utracisz wszystkie reakcje, udostępnienia i odpowiedzi do tego wpisu." deleteAndEditConfirm: "Czy na pewno chcesz usunąć ten wpis i zedytować go? Utracisz wszystkie reakcje, udostępnienia i odpowiedzi do tego wpisu."
addToList: "Dodaj do listy" addToList: "Dodaj do listy"
sendMessage: "Wyślij wiadomość" sendMessage: "Wyślij wiadomość"
copyRSS: "Kopiuj RSS"
copyUsername: "Kopiuj nazwę użytkownika" copyUsername: "Kopiuj nazwę użytkownika"
searchUser: "Wyszukiwanie użytkowników" searchUser: "Wyszukiwanie użytkowników"
reply: "Odpowiedz" reply: "Odpowiedz"
@@ -110,7 +107,6 @@ clickToShow: "Kliknij, aby wyświetlić"
sensitive: "NSFW" sensitive: "NSFW"
add: "Dodaj" add: "Dodaj"
reaction: "Reakcja" reaction: "Reakcja"
reactions: "Reakcja"
reactionSetting: "Reakcje do pokazania w wyborniku reakcji" reactionSetting: "Reakcje do pokazania w wyborniku reakcji"
reactionSettingDescription2: "Przeciągnij aby zmienić kolejność, naciśnij aby usunąć, naciśnij „+” aby dodać" reactionSettingDescription2: "Przeciągnij aby zmienić kolejność, naciśnij aby usunąć, naciśnij „+” aby dodać"
rememberNoteVisibility: "Zapamiętuj ustawienia widoczności wpisu" rememberNoteVisibility: "Zapamiętuj ustawienia widoczności wpisu"
@@ -129,7 +125,6 @@ unblockConfirm: "Czy na pewno chcesz odblokować to konto?"
suspendConfirm: "Czy na pewno chcesz zawiesić to konto?" suspendConfirm: "Czy na pewno chcesz zawiesić to konto?"
unsuspendConfirm: "Czy na pewno chcesz cofnąć zawieszenie tego konta?" unsuspendConfirm: "Czy na pewno chcesz cofnąć zawieszenie tego konta?"
selectList: "Wybierz listę" selectList: "Wybierz listę"
selectChannel: "Wybierz kanał"
selectAntenna: "Wybierz Antennę" selectAntenna: "Wybierz Antennę"
selectWidget: "Wybierz widżet" selectWidget: "Wybierz widżet"
editWidgets: "Edytuj widżety" editWidgets: "Edytuj widżety"
@@ -150,7 +145,6 @@ flagAsCatDescription: "Przełącz tę opcję, aby konto było oznaczone jako kot
flagShowTimelineReplies: "Pokazuj odpowiedzi na osi czasu" flagShowTimelineReplies: "Pokazuj odpowiedzi na osi czasu"
autoAcceptFollowed: "Automatycznie przyjmuj prośby o możliwość obserwacji od użytkowników, których obserwujesz" autoAcceptFollowed: "Automatycznie przyjmuj prośby o możliwość obserwacji od użytkowników, których obserwujesz"
addAccount: "Dodaj konto" addAccount: "Dodaj konto"
reloadAccountsList: "Odśwież listę kont"
loginFailed: "Nie udało się zalogować" loginFailed: "Nie udało się zalogować"
showOnRemote: "Zobacz na zdalnej instancji" showOnRemote: "Zobacz na zdalnej instancji"
general: "Ogólne" general: "Ogólne"
@@ -161,7 +155,6 @@ searchWith: "Szukaj: {q}"
youHaveNoLists: "Nie masz żadnej listy" youHaveNoLists: "Nie masz żadnej listy"
followConfirm: "Czy na pewno chcesz zaobserwować {name}?" followConfirm: "Czy na pewno chcesz zaobserwować {name}?"
proxyAccount: "Konto proxy" proxyAccount: "Konto proxy"
proxyAccountDescription: "Opis konta pełnomocniczego"
host: "Host" host: "Host"
selectUser: "Wybierz użytkownika" selectUser: "Wybierz użytkownika"
recipient: "Odbiorca" recipient: "Odbiorca"
@@ -169,6 +162,7 @@ annotation: "Komentarze"
federation: "Federacja" federation: "Federacja"
instances: "Instancja" instances: "Instancja"
registeredAt: "Zarejestrowano" registeredAt: "Zarejestrowano"
latestRequestSentAt: "Ostatnie żądanie wysłano o"
latestRequestReceivedAt: "Ostatnie żądanie otrzymano o" latestRequestReceivedAt: "Ostatnie żądanie otrzymano o"
latestStatus: "Najnowszy status" latestStatus: "Najnowszy status"
storageUsage: "Użycie pamięci" storageUsage: "Użycie pamięci"
@@ -256,13 +250,12 @@ noMoreHistory: "Nie ma dalszej historii"
startMessaging: "Rozpocznij czat" startMessaging: "Rozpocznij czat"
nUsersRead: "przeczytano przez {n}" nUsersRead: "przeczytano przez {n}"
agreeTo: "Wyrażam zgodę na {0}" agreeTo: "Wyrażam zgodę na {0}"
agreeBelow: "Zaakceptuj poniżej" tos: "Regulamin"
start: "Rozpocznij" start: "Rozpocznij"
home: "Strona główna" home: "Strona główna"
remoteUserCaution: "Te informacje mogą nie być aktualne, ponieważ użytkownik pochodzi ze zdalnej instancji." remoteUserCaution: "Te informacje mogą nie być aktualne, ponieważ użytkownik pochodzi ze zdalnej instancji."
activity: "Aktywność" activity: "Aktywność"
images: "Zdjęcia" images: "Zdjęcia"
image: "Zdjęcia"
birthday: "Data urodzenia" birthday: "Data urodzenia"
yearsOld: "{age} lat" yearsOld: "{age} lat"
registeredDate: "Zarejestrowano" registeredDate: "Zarejestrowano"
@@ -352,10 +345,6 @@ recaptcha: "reCAPTCHA"
enableRecaptcha: "Włącz reCAPTCHA" enableRecaptcha: "Włącz reCAPTCHA"
recaptchaSiteKey: "Klucz strony" recaptchaSiteKey: "Klucz strony"
recaptchaSecretKey: "Tajny klucz" recaptchaSecretKey: "Tajny klucz"
turnstile: "Turnstile"
enableTurnstile: "Włącz Turnstile"
turnstileSiteKey: "Klucz strony"
turnstileSecretKey: "Tajny klucz"
avoidMultiCaptchaConfirm: "Używanie wielu Captchy może spowodować zakłócenia. Czy chcesz wyłączyć inną Captchę? Możesz zostawić wiele jednocześnie, klikając Anuluj." avoidMultiCaptchaConfirm: "Używanie wielu Captchy może spowodować zakłócenia. Czy chcesz wyłączyć inną Captchę? Możesz zostawić wiele jednocześnie, klikając Anuluj."
antennas: "Anteny" antennas: "Anteny"
manageAntennas: "Zarządzaj Antenami" manageAntennas: "Zarządzaj Antenami"
@@ -389,19 +378,16 @@ about: "Informacje"
aboutMisskey: "O Misskey" aboutMisskey: "O Misskey"
administrator: "Admin" administrator: "Admin"
token: "Token" token: "Token"
2fa: "Klucz 2FA " twoStepAuthentication: "Uwierzytelnianie dwuskładnikowe"
totp: "Klucz aplikacji uwierzytelniającej (totp)"
totpDescription: "Opis klucza czasowego"
moderator: "Moderator" moderator: "Moderator"
moderation: "Moderacja" moderation: "Moderacja"
nUsersMentioned: "{n} wspomnianych użytkowników" nUsersMentioned: "{n} wspomnianych użytkowników"
securityKeyAndPasskey: "Klucz bezpieczeństwa i klucze Passkey"
securityKey: "Klucz bezpieczeństwa" securityKey: "Klucz bezpieczeństwa"
securityKeyName: "Nazwa klucza"
registerSecurityKey: "Zarejestruj klucz bezpieczeństwa"
lastUsed: "Ostatnio używane" lastUsed: "Ostatnio używane"
lastUsedAt: "Ostatnio używane w"
unregister: "Cofnij rejestrację" unregister: "Cofnij rejestrację"
passwordLessLogin: "Skonfiguruj logowanie bez użycia hasła" passwordLessLogin: "Skonfiguruj logowanie bez użycia hasła"
passwordLessLoginDescription: "Opis logowania bez użycia hasła"
resetPassword: "Zresetuj hasło" resetPassword: "Zresetuj hasło"
newPasswordIs: "Nowe hasło to „{password}”" newPasswordIs: "Nowe hasło to „{password}”"
reduceUiAnimation: "Ogranicz animacje w UI" reduceUiAnimation: "Ogranicz animacje w UI"
@@ -416,15 +402,24 @@ markAsReadAllTalkMessages: "Oznacz wszystkie wiadomości jako przeczytane"
help: "Pomoc" help: "Pomoc"
inputMessageHere: "Wprowadź wiadomość tutaj" inputMessageHere: "Wprowadź wiadomość tutaj"
close: "Zamknij" close: "Zamknij"
group: "Grupy"
groups: "Grupy"
createGroup: "Utwórz grupę"
ownedGroups: "Posiadane grupy"
joinedGroups: "Członkostwa w grupach"
invites: "Zaproś" invites: "Zaproś"
groupName: "Nazwa grupy"
members: "Członkowie" members: "Członkowie"
transfer: "Transfer" transfer: "Transfer"
messagingWithUser: "Rozmowy z innym użytkownikiem"
messagingWithGroup: "Rozmowy wewnątrz grupy"
title: "Tytuł" title: "Tytuł"
text: "Tekst" text: "Tekst"
enable: "Włącz" enable: "Włącz"
next: "Dalej" next: "Dalej"
retype: "Wprowadź ponownie" retype: "Wprowadź ponownie"
noteOf: "Wpisy {user}" noteOf: "Wpisy {user}"
inviteToGroup: "Zaproś do grupy"
quoteAttached: "Zacytowano" quoteAttached: "Zacytowano"
quoteQuestion: "Czy na pewno chcesz umieścić cytat?" quoteQuestion: "Czy na pewno chcesz umieścić cytat?"
noMessagesYet: "Nie napisano jeszcze wiadomości" noMessagesYet: "Nie napisano jeszcze wiadomości"
@@ -446,15 +441,19 @@ passwordMatched: "Pasuje"
passwordNotMatched: "Hasła nie pasują do siebie" passwordNotMatched: "Hasła nie pasują do siebie"
signinWith: "Zaloguj się z {x}" signinWith: "Zaloguj się z {x}"
signinFailed: "Nie udało się zalogować. Wprowadzona nazwa użytkownika lub hasło są nieprawidłowe." signinFailed: "Nie udało się zalogować. Wprowadzona nazwa użytkownika lub hasło są nieprawidłowe."
tapSecurityKey: "Wybierz swój klucz bezpieczeństwa"
or: "Lub" or: "Lub"
language: "Język" language: "Język"
uiLanguage: "Język wyświetlania UI" uiLanguage: "Język wyświetlania UI"
groupInvited: "Zaproszony(-a) do grupy"
aboutX: "O {x}" aboutX: "O {x}"
emojiStyle: "Styl emoji" useOsNativeEmojis: "Używaj natywnych Emoji systemu"
native: "Natywny"
disableDrawer: "Nie używaj menu w stylu szuflady" disableDrawer: "Nie używaj menu w stylu szuflady"
youHaveNoGroups: "Nie masz żadnych grup"
joinOrCreateGroup: "Uzyskaj zaproszenie do dołączenia do grupy lub utwórz własną grupę."
noHistory: "Brak historii" noHistory: "Brak historii"
signinHistory: "Historia logowania" signinHistory: "Historia logowania"
disableAnimatedMfm: "Wyłącz MFM z animacją"
doing: "Przetwarzanie..." doing: "Przetwarzanie..."
category: "Kategoria" category: "Kategoria"
tags: "Tagi" tags: "Tagi"
@@ -499,7 +498,6 @@ deleteAll: "Usuń wszystkie"
showFixedPostForm: "Wyświetlaj formularz tworzenia wpisu w górnej części osi czasu" showFixedPostForm: "Wyświetlaj formularz tworzenia wpisu w górnej części osi czasu"
newNoteRecived: "Masz nowy wpis" newNoteRecived: "Masz nowy wpis"
sounds: "Dźwięk" sounds: "Dźwięk"
sound: "Dźwięki"
listen: "Słuchaj" listen: "Słuchaj"
none: "Brak" none: "Brak"
showInPage: "Pokaż na stronie" showInPage: "Pokaż na stronie"
@@ -528,16 +526,11 @@ disablePagesScript: "Wyłącz AiScript na Stronach"
updateRemoteUser: "Aktualizuj zdalne dane o użytkowniku" updateRemoteUser: "Aktualizuj zdalne dane o użytkowniku"
deleteAllFiles: "Usuń wszystkie pliki" deleteAllFiles: "Usuń wszystkie pliki"
deleteAllFilesConfirm: "Czy na pewno chcesz usunąć wszystkie pliki?" deleteAllFilesConfirm: "Czy na pewno chcesz usunąć wszystkie pliki?"
removeAllFollowing: "Przestań obserwować"
removeAllFollowingDescription: "Przestań obserwować wszystkie konta z {host}. Wykonaj to, jeżeli instancja już nie istnieje." removeAllFollowingDescription: "Przestań obserwować wszystkie konta z {host}. Wykonaj to, jeżeli instancja już nie istnieje."
userSuspended: "To konto zostało zawieszone." userSuspended: "To konto zostało zawieszone."
userSilenced: "Ten użytkownik został wyciszony." userSilenced: "Ten użytkownik został wyciszony."
yourAccountSuspendedTitle: "To konto jest zawieszone" yourAccountSuspendedTitle: "To konto jest zawieszone"
yourAccountSuspendedDescription: "To konto zostało zawieszone z powodu złamania regulaminu serwera lub innych podobnych. Skontaktuj się z administratorem, jeśli chciałbyś poznać bardziej szczegółowy powód. Proszę nie zakładać nowego konta." yourAccountSuspendedDescription: "To konto zostało zawieszone z powodu złamania regulaminu serwera lub innych podobnych. Skontaktuj się z administratorem, jeśli chciałbyś poznać bardziej szczegółowy powód. Proszę nie zakładać nowego konta."
tokenRevoked: "Token odrzucony"
tokenRevokedDescription: "Opis odrzuconego tokena"
accountDeleted: "Konto usunięte"
accountDeletedDescription: "Opis konta usuniętego"
menu: "Menu" menu: "Menu"
divider: "Rozdzielacz" divider: "Rozdzielacz"
addItem: "Dodaj element" addItem: "Dodaj element"
@@ -563,9 +556,7 @@ author: "Autor"
leaveConfirm: "Są niezapisane zmiany. Czy chcesz je odrzucić?" leaveConfirm: "Są niezapisane zmiany. Czy chcesz je odrzucić?"
manage: "Zarządzanie" manage: "Zarządzanie"
plugins: "Wtyczki" plugins: "Wtyczki"
preferencesBackups: "Kopia zapasowa ustawień"
deck: "Tablica" deck: "Tablica"
undeck: "oddkouj"
useBlurEffectForModal: "Używaj efektu rozmycia w modalach" useBlurEffectForModal: "Używaj efektu rozmycia w modalach"
useFullReactionPicker: "Używaj pełnowymiarowego wybornika reakcji" useFullReactionPicker: "Używaj pełnowymiarowego wybornika reakcji"
width: "Szerokość" width: "Szerokość"
@@ -581,6 +572,7 @@ tokenRequested: "Przydziel dostęp do konta"
pluginTokenRequestedDescription: "Ta wtyczka będzie mogła korzystać z ustawionych tu uprawnień." pluginTokenRequestedDescription: "Ta wtyczka będzie mogła korzystać z ustawionych tu uprawnień."
notificationType: "Rodzaj powiadomień" notificationType: "Rodzaj powiadomień"
edit: "Edytuj" edit: "Edytuj"
useStarForReactionFallback: "Użyj ★ jako zapasowego emoji, gdy emoji reakcji jest nieznane"
emailServer: "Serwer poczty e-mail" emailServer: "Serwer poczty e-mail"
enableEmail: "Włącz dostarczanie wiadomości e-mail" enableEmail: "Włącz dostarczanie wiadomości e-mail"
emailConfigInfo: "Wykorzystywany do potwierdzenia adresu e-mail w trakcie rejestracji, lub gdy zapomnisz hasła" emailConfigInfo: "Wykorzystywany do potwierdzenia adresu e-mail w trakcie rejestracji, lub gdy zapomnisz hasła"
@@ -816,6 +808,8 @@ deleteAccountConfirm: "Spowoduje to nieodwracalne usunięcie Twojego konta. Kont
incorrectPassword: "Nieprawidłowe hasło." incorrectPassword: "Nieprawidłowe hasło."
voteConfirm: "Potwierdzić swój głos na \"{choice}\"?" voteConfirm: "Potwierdzić swój głos na \"{choice}\"?"
hide: "Ukryj" hide: "Ukryj"
leaveGroup: "Opuść grupę"
leaveGroupConfirm: "Czy na pewno chcesz opuścić \"{name}\"?"
useDrawerReactionPickerForMobile: "Wyświetlaj wybornik reakcji jako szufladę na urządzeniach mobilnych" useDrawerReactionPickerForMobile: "Wyświetlaj wybornik reakcji jako szufladę na urządzeniach mobilnych"
welcomeBackWithName: "Witaj z powrotem, {name}" welcomeBackWithName: "Witaj z powrotem, {name}"
clickToFinishEmailVerification: "Kliknij [{ok}], aby zakończyć weryfikację e-mail." clickToFinishEmailVerification: "Kliknij [{ok}], aby zakończyć weryfikację e-mail."
@@ -826,20 +820,8 @@ auto: "Automatycznie"
size: "Rozmiar" size: "Rozmiar"
numberOfColumn: "Liczba kolumn" numberOfColumn: "Liczba kolumn"
searchByGoogle: "Szukaj" searchByGoogle: "Szukaj"
period: "Ankieta kończy się"
indefinitely: "Nigdy" indefinitely: "Nigdy"
tenMinutes: "10 minut"
oneHour: "1 godzina"
oneDay: "1 dzień"
oneWeek: "1 tydzień"
oneMonth: "jeden miesiąc"
failedToFetchAccountInformation: "Nie udało się uzyskać informacji o koncie"
file: "Pliki" file: "Pliki"
recommended: "Zalecane"
check: "Zweryfikuj"
deleteAccount: "Usuń konto"
document: "Dokumentacja"
numberOfPageCache: "Ilość stron w cache"
logoutConfirm: "Czy na pewno chcesz się wylogować?" logoutConfirm: "Czy na pewno chcesz się wylogować?"
lastActiveDate: "Ostatnio użyte w" lastActiveDate: "Ostatnio użyte w"
statusbar: "Pasek stanu" statusbar: "Pasek stanu"
@@ -859,24 +841,6 @@ enableAutoSensitiveDescription: "Umożliwia automatyczne wykrywanie i oznaczanie
navbar: "Pasek nawigacyjny" navbar: "Pasek nawigacyjny"
account: "Konta" account: "Konta"
move: "Przenieś" move: "Przenieś"
pushNotification: "Powiadomienia"
subscribePushNotification: "Włącz powiadomienia"
unsubscribePushNotification: "Wyłącz powiadomienia push"
pushNotificationAlreadySubscribed: "Powiadomienia push są włączone"
pushNotificationNotSupported: "Przeglądarka lub instancja nie obsługuje powiadomień push"
sendPushNotificationReadMessage: "Usuń powiadomienia push po przeczytaniu powiadomień i wiadomości."
sendPushNotificationReadMessageCaption: "Chwilowo pojawi się powiadomienie \"{emptyPushNotificationMessage}\". Może wzrosnąć zużycie baterii urządzenia."
loggedInAsBot: "Jesteś obecnie zalogowany/a jako bot"
like: "Polub"
show: "Wyświetlanie"
color: "Kolor"
youFollowing: "Śledzeni"
_role:
priority: "Priorytet"
_priority:
low: "Niski"
middle: "Średnie"
high: "Wysoki"
_sensitiveMediaDetection: _sensitiveMediaDetection:
description: "Zmniejsza wysiłek związany z moderacją serwera dzięki automatycznemu rozpoznawaniu zawartości NSFW za pomocą uczenia maszynowego. To nieznacznie zwiększy obciążenie serwera." description: "Zmniejsza wysiłek związany z moderacją serwera dzięki automatycznemu rozpoznawaniu zawartości NSFW za pomocą uczenia maszynowego. To nieznacznie zwiększy obciążenie serwera."
setSensitiveFlagAutomatically: "Oznacz jako NSFW" setSensitiveFlagAutomatically: "Oznacz jako NSFW"
@@ -904,7 +868,6 @@ _accountDelete:
_ad: _ad:
back: "Wróć" back: "Wróć"
reduceFrequencyOfThisAd: "Pokazuj tę reklamę rzadziej" reduceFrequencyOfThisAd: "Pokazuj tę reklamę rzadziej"
hide: "Nigdy nie pokazuj"
_forgotPassword: _forgotPassword:
enterEmail: "Wpisz adres e-mail użyty do rejestracji. Zostanie do niego wysłany link, za pomocą którego możesz zresetować hasło." enterEmail: "Wpisz adres e-mail użyty do rejestracji. Zostanie do niego wysłany link, za pomocą którego możesz zresetować hasło."
ifNoEmail: "Jeżeli nie podano adresu e-mail podczas rejestracji, skontaktuj się z administratorem zamiast tego." ifNoEmail: "Jeżeli nie podano adresu e-mail podczas rejestracji, skontaktuj się z administratorem zamiast tego."
@@ -959,6 +922,68 @@ _nsfw:
respect: "Ukrywaj media NSFW" respect: "Ukrywaj media NSFW"
ignore: "Nie ukrywaj mediów NSFW" ignore: "Nie ukrywaj mediów NSFW"
force: "Ukrywaj wszystkie media" force: "Ukrywaj wszystkie media"
_mfm:
cheatSheet: "Ściąga MFM"
intro: "MFM to język składniowy wyjątkowy dla Misskey, który może być użyty w wielu miejscach. Tu znajdziesz listę wszystkich możliwych elementów składni MFM."
dummy: "Misskey rozszerza świat Fediwersum"
mention: "Wspomnij"
mentionDescription: "Używając znaku @ i nazwy użytkownika, możesz określić danego użytkownika."
hashtag: "Hashtag"
hashtagDescription: "Używając kratki i tekstu, możesz określić hashtag."
url: "Adres URL"
urlDescription: "Adresy URL mogą być wyświetlane"
link: "Odnośnik"
linkDescription: "Określone części tekstu mogą być wyświetlane jako adres URL."
bold: "Pogrubienie"
boldDescription: "Wyróżnia litery pogrubiając je."
small: "Małe"
smallDescription: "Wyświetla treść jako małą i cienką."
center: "Wyśrodkowanie"
centerDescription: "Wyśrodkowuje zawartość."
inlineCode: "Kod (w wierszu)"
blockCode: "Kod (blok)"
blockCodeDescription: "Wyświetla kod z podświetlaną składnią składający się z wielu linii."
blockMath: "Matematyka (Blok)"
quote: "Cytuj"
quoteDescription: "Wyświetla treść jako cytat."
emoji: "Niestandardowe emoji"
emojiDescription: "Otaczając nazwę niestandardowego emoji dwukropkami, możesz użyć niestandardowego emoji."
search: "Szukaj"
searchDescription: "Wyświetla pole wyszukiwania z wcześniej wpisanym tekstem."
flip: "Odwróć"
flipDescription: "Przerzuca treść poziomo lub pionowo."
jelly: "Animacja (Galaretka)"
jellyDescription: "Nadaje treści galaretowatą animację."
tada: "Animation (Tada)"
tadaDescription: "Nadaje treści animację podobną do \"Tada!\"."
jump: "Animacja (Skok)"
jumpDescription: "Nadaje treści animację skakania."
bounce: "Animacja (Odbijanie)"
bounceDescription: "Nadaje treści animację odbijania się."
shake: "Animacja (Wstrząsanie)"
shakeDescription: "Nadaje treści animację wstrząsania."
twitch: "Animacja (Drganie)"
twitchDescription: "Nadaje treści mocno drgającą animację."
spin: "Animacja (Obrót)"
spinDescription: "Nadaje treści animację obracania."
x2: "Duże"
x2Description: "Czyni treść większą."
x3: "Bardzo duże"
x3Description: "Czyni treść jeszcze większą."
x4: "Ogromne"
x4Description: "Czyni treść jeszcze większą niż jeszcze większa."
blur: "Rozmycie"
blurDescription: "Rozmywa treść. Zostanie wyraźnie wyświetlona po najechaniu."
font: "Czcionka"
fontDescription: "Wybiera czcionkę do wyświetlania treści."
rainbow: "Tęcza"
rainbowDescription: "Sprawia, że zawartość pojawia się w kolorach tęczy."
sparkle: "Blask"
sparkleDescription: "Nadaje zawartości efekt lśniącego brokatu."
rotate: "Obróć"
rotateDescription: "Obraca zawartość o określony kąt."
plain: "Zwyczajny"
plainDescription: "Wyłącza efekty wszystkich MFM zawartych w tym efekcie MFM."
_instanceTicker: _instanceTicker:
none: "Nigdy nie pokazuj" none: "Nigdy nie pokazuj"
remote: "Pokaż dla zdalnych użytkowników" remote: "Pokaż dla zdalnych użytkowników"
@@ -1081,20 +1106,42 @@ _ago:
weeksAgo: "{n} tyg. temu" weeksAgo: "{n} tyg. temu"
monthsAgo: "{n} mies. temu" monthsAgo: "{n} mies. temu"
yearsAgo: "{n} lat temu" yearsAgo: "{n} lat temu"
invalid: "Nie ma tu niczego"
_time: _time:
second: "sekunda" second: "sekunda"
minute: "minuta" minute: "minuta"
hour: "godz." hour: "godz."
day: "dzień" day: "dzień"
_tutorial:
title: "Jak korzystać z Misskey"
step1_1: "Witaj!"
step1_2: "Ta strona nazywa się „oś czasu”. Pokazuje chronologicznie uporządkowane wpisy osób, które „śledzisz”."
step1_3: "Twoja oś czasu jest jeszcze pusta, ponieważ nie opublikowałeś(-aś) jeszcze żadnych wpisów i nie obserwujesz jeszcze nikogo."
step2_1: "Ukończmy konfigurację profilu zanim utworzymy wpis lub zaczniemy kogoś obserwować."
step2_2: "Podanie pewnych informacji o tym, kim jesteś, ułatwi innym określenie, czy chcą widzieć Twoje wpisy lub Cię obserwować."
step3_1: "Zakończyłeś(-aś) konfigurację profilu?"
step3_2: "Następnie spróbujmy opublikować wpis. Możesz to zrobić, naciskając przycisk z ikoną ołówka na ekranie."
step3_3: "Wypełnij pole i kliknij przycisk w prawym górnym rogu by wysłać post."
step3_4: "Nie masz nic do powiedzenia? Spróbuj \"ustawiam swój misskey\"!"
step4_1: "Zakończyłeś publikowanie pierwszego wpisu?"
step4_2: "Hurra! Teraz Twój pierwszy wpis powinien być wyświetlany na Twojej osi czasu."
step5_1: "Teraz spróbujmy ożywić Twoją oś czasu, przez zaobserwowanie innych ludzi."
step5_2: "{featured} pokaże Ci popularne wpisy na tej instancji. {explore} pozwoli Ci znaleźć popularnych użytkowników. Spróbuj znaleźć tam osoby, które chcesz obserwować!"
step5_3: "Aby obserwować innych użytkowników, kliknij ich ikonę i naciśnij przycisk \"Obserwuj\" na ich profilu."
step5_4: "Jeśli inny użytkownik ma ikonę kłódki obok swojej nazwy, może minąć trochę czasu, zanim ten użytkownik ręcznie zatwierdzi Twoją prośbę o obserwowanie."
step6_1: "Powinieneś teraz widzieć wpisy innych użytkowników na swojej osi czasu."
step6_2: "Możesz także umieścić „reakcje” na wpisach innych osób, aby szybko na nie odpowiedzieć."
step6_3: "Aby dodać \"reakcję\", naciśnij znak \"+\" na wpisie innego użytkownika i wybierz emotikonę, którą chcesz zareagować."
step7_1: "Gratulacje! Ukończyłeś podstawowy samouczek Misskey."
step7_2: "Jeśli chcesz dowiedzieć się więcej o Misskey, wypróbuj sekcję {help}."
step7_3: "A teraz powodzenia i baw się dobrze z Misskey! 🚀"
_2fa: _2fa:
alreadyRegistered: "Zarejestrowałeś już urządzenie do uwierzytelniania dwuskładnikowego." alreadyRegistered: "Zarejestrowałeś już urządzenie do uwierzytelniania dwuskładnikowego."
registerDevice: "Zarejestruj nowe urządzenie"
registerKey: "Zarejestruj klucz bezpieczeństwa"
step1: "Najpierw, zainstaluj aplikację uwierzytelniającą (taką jak {a} lub {b}) na swoim urządzeniu." step1: "Najpierw, zainstaluj aplikację uwierzytelniającą (taką jak {a} lub {b}) na swoim urządzeniu."
step2: "Następnie, zeskanuje kod QR z ekranu." step2: "Następnie, zeskanuje kod QR z ekranu."
step3: "Wprowadź token podany w aplikacji, aby ukończyć konfigurację." step3: "Wprowadź token podany w aplikacji, aby ukończyć konfigurację."
step4: "Od teraz, przy każdej próbie logowania otrzymasz prośbę o token logowania." step4: "Od teraz, przy każdej próbie logowania otrzymasz prośbę o token logowania."
removeKeyConfirm: "Usunąć kopię zapasową {name}?"
renewTOTPCancel: "Nie teraz"
_permissions: _permissions:
"read:account": "Wyświetl informacje o swoim koncie" "read:account": "Wyświetl informacje o swoim koncie"
"write:account": "Edytuj swoje informacje o koncie" "write:account": "Edytuj swoje informacje o koncie"
@@ -1136,8 +1183,6 @@ _weekday:
friday: "Piątek" friday: "Piątek"
saturday: "Sobota" saturday: "Sobota"
_widgets: _widgets:
profile: "Profil"
instanceInfo: "Informacje o instancji"
memo: "Przypięte notatki" memo: "Przypięte notatki"
notifications: "Powiadomienia" notifications: "Powiadomienia"
timeline: "Oś czasu" timeline: "Oś czasu"
@@ -1159,8 +1204,6 @@ _widgets:
serverMetric: "Metryka serwera" serverMetric: "Metryka serwera"
aiscript: "Konsola AiScript" aiscript: "Konsola AiScript"
aichan: "Ai" aichan: "Ai"
_userList:
chooseList: "Wybierz listę"
_cw: _cw:
hide: "Ukryj" hide: "Ukryj"
show: "Załaduj więcej" show: "Załaduj więcej"
@@ -1240,12 +1283,6 @@ _timelines:
local: "Lokalne" local: "Lokalne"
social: "Społeczność" social: "Społeczność"
global: "Globalna" global: "Globalna"
_play:
viewSource: "Zobacz źródło"
featured: "Wyróżnione"
title: "Tytuł"
script: "Skrypt"
summary: "Opis"
_pages: _pages:
newPage: "Utwórz stronę" newPage: "Utwórz stronę"
editPage: "Edytuj tę stronę" editPage: "Edytuj tę stronę"
@@ -1281,6 +1318,8 @@ _pages:
eyeCatchingImageRemove: "Usuń przyciągające wzrok zdjęcie" eyeCatchingImageRemove: "Usuń przyciągające wzrok zdjęcie"
chooseBlock: "Dodaj blok" chooseBlock: "Dodaj blok"
selectType: "Wybierz typ" selectType: "Wybierz typ"
enterVariableName: "Wprowadź nazwę dla swojej zmiennej"
variableNameIsAlreadyUsed: "Ta nazwa jest już używana przez inną zmienną"
contentBlocks: "Zawartość" contentBlocks: "Zawartość"
inputBlocks: "Wejście" inputBlocks: "Wejście"
specialBlocks: "Specjalne" specialBlocks: "Specjalne"
@@ -1290,11 +1329,230 @@ _pages:
section: "Sekcja" section: "Sekcja"
image: "Zdjęcia" image: "Zdjęcia"
button: "Przycisk" button: "Przycisk"
if: "Jeżeli"
_if:
variable: "Zmienna"
post: "Utwórz wpis"
_post:
text: "Treść"
textInput: "Pole tekstowe"
_textInput:
name: "Nazwa zmiennej"
text: "Tytuł"
default: "Domyślna wartość"
textareaInput: "Pole tekstowe na wiele wierszy"
_textareaInput:
name: "Nazwa zmiennej"
text: "Tytuł"
default: "Domyślna wartość"
numberInput: "Pole na liczbę"
_numberInput:
name: "Nazwa zmiennej"
text: "Tytuł"
default: "Domyślna wartość"
_canvas:
width: "Szerokość"
height: "Wysokość"
note: "Osadzony wpis" note: "Osadzony wpis"
_note: _note:
id: "ID wpisu" id: "ID wpisu"
idDescription: "Możesz też wkleić adres URL wpisu, aby go ustawić." idDescription: "Możesz też wkleić adres URL wpisu, aby go ustawić."
detailed: "Szczegółowy widok" detailed: "Szczegółowy widok"
switch: "Przełącznik"
_switch:
name: "Nazwa zmiennej"
text: "Tytuł"
default: "Domyślna wartość"
counter: "Licznik"
_counter:
name: "Nazwa zmiennej"
text: "Tytuł"
inc: "Zwiększ o"
_button:
text: "Tytuł"
colored: "Kolorowe"
action: "Działanie wykonywane przy naciśnięciu przycisku"
_action:
dialog: "Pokazuj okno dialogowe"
_dialog:
content: "Treść"
resetRandom: "Resetuj losowe ziarno"
pushEvent: "Wyślij zdarzenie"
_pushEvent:
event: "Nazwa zdarzenia"
message: "Wiadomość do wyświetlenia po aktywowaniu"
variable: "Zmienna do wysłania"
no-variable: "Brak"
callAiScript: "Wywołaj AiScript"
_callAiScript:
functionName: "Nazwa funkcji"
radioButton: "Wybór"
_radioButton:
name: "Nazwa zmiennej"
title: "Tytuł"
values: "Lista wyborów (oddzielonych znakiem nowego wiersza)"
default: "Domyślna wartość"
script:
categories:
flow: "Kontrola przepływu"
logical: "Operacje logiczne"
operation: "Obliczanie"
comparison: "Porównanie"
random: "Losowe"
value: "Wartość"
fn: "Funkcje"
text: "Działania na tekście"
convert: "Transformacja"
list: "Listy"
blocks:
text: "Tekst"
multiLineText: "Tekst (w wielu wierszach)"
_textList:
info: "Oddziel każdy wpis znakiem nowego wiersza"
strLen: "Długość tekstu"
_strLen:
arg1: "Tekst"
_strPick:
arg1: "Tekst"
arg2: "Położenie znaku"
strReplace: "Zamiana tekstu"
_strReplace:
arg1: "Tekst"
arg2: "Tekst do zamiany"
arg3: "Zamieniono z"
_strReverse:
arg1: "Tekst"
_join:
arg1: "Listy"
arg2: "Odstęp"
add: "Dodaj"
_add:
arg1: "A"
arg2: "B"
subtract: "Odejmij"
_subtract:
arg1: "A"
arg2: "B"
multiply: "Pomnóż"
_multiply:
arg1: "A"
arg2: "B"
divide: "Podziel"
_divide:
arg1: "A"
arg2: "B"
mod: "Reszta"
_mod:
arg1: "A"
arg2: "B"
_round:
arg1: "Liczba"
eq: "A i B są sobie równe"
_eq:
arg1: "A"
arg2: "B"
notEq: "A i B różnią się"
_notEq:
arg1: "A"
arg2: "B"
and: "A I B"
_and:
arg1: "A"
arg2: "B"
or: "A LUB B"
_or:
arg1: "A"
arg2: "B"
lt: "< A jest mniejsze niż B"
_lt:
arg1: "A"
arg2: "B"
gt: "> A jest większe od B"
_gt:
arg1: "A"
arg2: "B"
ltEq: "<= A jest mniejsze lub równe B"
_ltEq:
arg1: "A"
arg2: "B"
gtEq: ">= A jest większe lub równe B"
_gtEq:
arg1: "A"
arg2: "B"
if: "Warunek"
_if:
arg1: "Jeżeli"
arg2: "Jeżeli prawda"
not: "NIE"
_not:
arg1: "NIE"
random: "Losowe"
_random:
arg1: "Prawdopodobieństwo"
rannum: "Losowa liczba"
_rannum:
arg1: "Minimalna wartość"
arg2: "Maksymalna wartość"
randomPick: "Wybierz losowo z listy"
_randomPick:
arg1: "Listy"
dailyRandom: "Losowo (zostaje na dzień)"
_dailyRandom:
arg1: "Prawdopodobieństwo"
dailyRannum: "Losowa liczba (zostaje na dzień)"
_dailyRannum:
arg1: "Minimalna wartość"
arg2: "Maksymalna wartość"
dailyRandomPick: "Wybierz losowo z listy (zostaje na dzień)"
_dailyRandomPick:
arg1: "Listy"
seedRandom: "Losowo (z ziarnem)"
_seedRandom:
arg1: "Ziarno"
arg2: "Prawdopodobieństwo"
seedRannum: "Losowa liczba (z ziarnem)"
_seedRannum:
arg1: "Ziarno"
arg2: "Minimalna wartość"
arg3: "Maksymalna wartość"
seedRandomPick: "Wybierz losowo z listy (z ziarnem)"
_seedRandomPick:
arg1: "Ziarno"
arg2: "Listy"
DRPWPM: "Wybierz losowo z ważonej listy (zostaje na dzień)"
pick: "Wybierz z listy"
_pick:
arg1: "Listy"
arg2: "Położenie"
listLen: "Uzyskaj długość listy"
_listLen:
arg1: "Listy"
number: "Liczba"
stringToNumber: "Tekst na liczbę"
_stringToNumber:
arg1: "Tekst"
numberToString: "Liczba na tekst"
_numberToString:
arg1: "Liczba"
splitStrByLine: "Rozdziel tekst znakami nowej linii"
_splitStrByLine:
arg1: "Tekst"
ref: "Zmienne"
aiScriptVar: "Zmienna AiScript"
fn: "Funkcje"
_fn:
arg1: "Wyjście"
for: "Powtórzenie"
_for:
arg1: "Liczba powtórzeń"
arg2: "Działanie"
types:
string: "Tekst"
number: "Liczba"
boolean: "Flaguj"
array: "Listy"
enviromentVariables: "Zmienna środowiskowa"
pageVariables: "Element strony"
_relayStatus: _relayStatus:
requesting: "Oczekujące" requesting: "Oczekujące"
accepted: "Zaakceptowano" accepted: "Zaakceptowano"
@@ -1305,11 +1563,14 @@ _notification:
youGotReply: "{name} odpowiedział(a) Tobie" youGotReply: "{name} odpowiedział(a) Tobie"
youGotQuote: "{name} zacytował(a) Ciebie" youGotQuote: "{name} zacytował(a) Ciebie"
youRenoted: "{name} udostępnił(a) Twój wpis" youRenoted: "{name} udostępnił(a) Twój wpis"
youGotPoll: "{name} zagłosował(a) w Twojej ankiecie"
youGotMessagingMessageFromUser: "{name} wysłał(a) Ci wiadomość"
youGotMessagingMessageFromGroup: "Została wysłana wiadomość do grupy {name}"
youWereFollowed: "Zaobserwował(a) Cię" youWereFollowed: "Zaobserwował(a) Cię"
youReceivedFollowRequest: "Otrzymałeś(-aś) prośbę o możliwość obserwacji" youReceivedFollowRequest: "Otrzymałeś(-aś) prośbę o możliwość obserwacji"
yourFollowRequestAccepted: "Twoja prośba o możliwość obserwacji została przyjęta" yourFollowRequestAccepted: "Twoja prośba o możliwość obserwacji została przyjęta"
youWereInvitedToGroup: "Zaproszony(-a) do grupy"
pollEnded: "Wyniki ankiety stały się dostępne" pollEnded: "Wyniki ankiety stały się dostępne"
unreadAntennaNote: "Antena {name}"
emptyPushNotificationMessage: "Powiadomienia push zostały zaktualizowane" emptyPushNotificationMessage: "Powiadomienia push zostały zaktualizowane"
_types: _types:
all: "Wszystkie" all: "Wszystkie"
@@ -1319,8 +1580,10 @@ _notification:
renote: "Udostępnij" renote: "Udostępnij"
quote: "Cytuj" quote: "Cytuj"
reaction: "Reakcja" reaction: "Reakcja"
pollVote: "Głosy w ankietach"
receiveFollowRequest: "Otrzymano prośbę o możliwość obserwacji" receiveFollowRequest: "Otrzymano prośbę o możliwość obserwacji"
followRequestAccepted: "Przyjęto prośbę o możliwość obserwacji" followRequestAccepted: "Przyjęto prośbę o możliwość obserwacji"
groupInvited: "Zaproszono do grup"
app: "Powiadomienia z aplikacji" app: "Powiadomienia z aplikacji"
_actions: _actions:
followBack: "zaobserwował cię z powrotem" followBack: "zaobserwował cię z powrotem"
@@ -1348,9 +1611,5 @@ _deck:
tl: "Oś czasu" tl: "Oś czasu"
antenna: "Anteny" antenna: "Anteny"
list: "Listy" list: "Listy"
channel: "Kanały"
mentions: "Wspomnienia" mentions: "Wspomnienia"
direct: "Bezpośredni" direct: "Bezpośredni"
_webhookSettings:
name: "Nazwa"
active: "Właczono"

View File

@@ -7,7 +7,7 @@ search: "Buscar"
notifications: "Notificações" notifications: "Notificações"
username: "Nome de usuário" username: "Nome de usuário"
password: "Senha" password: "Senha"
forgotPassword: "Esqueci-me da senha" forgotPassword: "Esqueci a senha"
fetchingAsApObject: "Buscando no Fediverso" fetchingAsApObject: "Buscando no Fediverso"
ok: "OK" ok: "OK"
gotIt: "Entendi" gotIt: "Entendi"
@@ -107,7 +107,6 @@ clickToShow: "Clique para ver"
sensitive: "Conteúdo sensível" sensitive: "Conteúdo sensível"
add: "Adicionar" add: "Adicionar"
reaction: "Reações" reaction: "Reações"
reactions: "Reações"
reactionSetting: "Quais reações a mostrar no selecionador de reações" reactionSetting: "Quais reações a mostrar no selecionador de reações"
reactionSettingDescription2: "Arraste para reordenar, clique para excluir, pressione + para adicionar." reactionSettingDescription2: "Arraste para reordenar, clique para excluir, pressione + para adicionar."
rememberNoteVisibility: "Lembrar das configurações de visibilidade de notas" rememberNoteVisibility: "Lembrar das configurações de visibilidade de notas"
@@ -165,6 +164,7 @@ annotation: "Anotação"
federation: "União" federation: "União"
instances: "Instância" instances: "Instância"
registeredAt: "Registrado em" registeredAt: "Registrado em"
latestRequestSentAt: "Enviar a solicitação mais recente"
latestRequestReceivedAt: "Recebeu a última solicitação" latestRequestReceivedAt: "Recebeu a última solicitação"
latestStatus: "Status mais recente" latestStatus: "Status mais recente"
storageUsage: "Uso de armazenamento" storageUsage: "Uso de armazenamento"
@@ -252,12 +252,12 @@ noMoreHistory: "Sem mais história"
startMessaging: "Iniciar conversação" startMessaging: "Iniciar conversação"
nUsersRead: "{n} Pessoas leem" nUsersRead: "{n} Pessoas leem"
agreeTo: "Eu concordo com {0}" agreeTo: "Eu concordo com {0}"
tos: "Termos de serviço"
start: "começar" start: "começar"
home: "casa" home: "casa"
remoteUserCaution: "As informações estão incompletas porque é um utilizador remoto." remoteUserCaution: "As informações estão incompletas porque é um utilizador remoto."
activity: "atividade" activity: "atividade"
images: "imagem" images: "imagem"
image: "imagem"
birthday: "aniversário" birthday: "aniversário"
yearsOld: "{age} anos" yearsOld: "{age} anos"
registeredDate: "Data de registro" registeredDate: "Data de registro"
@@ -347,8 +347,6 @@ recaptcha: "reCAPTCHA"
enableRecaptcha: "Habilitar reCAPTCHA" enableRecaptcha: "Habilitar reCAPTCHA"
recaptchaSiteKey: "Chave do sítio web" recaptchaSiteKey: "Chave do sítio web"
recaptchaSecretKey: "Chave secreta" recaptchaSecretKey: "Chave secreta"
turnstileSiteKey: "Chave do sítio web"
turnstileSecretKey: "Chave secreta"
avoidMultiCaptchaConfirm: "O uso de vários captchas pode causar interferência. Deseja desativar outros captchas? Você também pode cancelar e deixar vários captchas ativados." avoidMultiCaptchaConfirm: "O uso de vários captchas pode causar interferência. Deseja desativar outros captchas? Você também pode cancelar e deixar vários captchas ativados."
antennas: "Antenas" antennas: "Antenas"
manageAntennas: "Gestão de antena" manageAntennas: "Gestão de antena"
@@ -382,9 +380,12 @@ about: "Informações"
aboutMisskey: "Sobre Misskey" aboutMisskey: "Sobre Misskey"
administrator: "Administrador" administrator: "Administrador"
token: "Símbolo" token: "Símbolo"
twoStepAuthentication: "Verificação em duas etapas"
moderator: "Moderador" moderator: "Moderador"
nUsersMentioned: "Postado por {n} pessoas" nUsersMentioned: "Postado por {n} pessoas"
securityKey: "Chave de segurança" securityKey: "Chave de segurança"
securityKeyName: "Nome chave"
registerSecurityKey: "Registre a chave de segurança"
lastUsed: "Último uso" lastUsed: "Último uso"
unregister: "Cancelar registro" unregister: "Cancelar registro"
passwordLessLogin: "Entrar sem senha" passwordLessLogin: "Entrar sem senha"
@@ -402,6 +403,10 @@ markAsReadAllTalkMessages: "Marcar todas as conversas como lidas"
help: "Ajuda" help: "Ajuda"
inputMessageHere: "Escrever mensagem aqui" inputMessageHere: "Escrever mensagem aqui"
close: "Fechar" close: "Fechar"
group: "Grupos"
groups: "Grupos"
createGroup: "Criar grupo"
ownedGroups: "Grupo próprio"
invites: "Convidar" invites: "Convidar"
invitations: "Convidar" invitations: "Convidar"
tags: "Etiquetas" tags: "Etiquetas"
@@ -448,7 +453,6 @@ deleteAll: "Apagar Tudo"
showFixedPostForm: "Exibir o formulário de postagem na parte superior da linha do tempo" showFixedPostForm: "Exibir o formulário de postagem na parte superior da linha do tempo"
newNoteRecived: "Nova nota recebida" newNoteRecived: "Nova nota recebida"
sounds: "Sons" sounds: "Sons"
sound: "Sons"
listen: "Ouvir" listen: "Ouvir"
none: "Nenhum" none: "Nenhum"
showInPage: "Ver na página" showInPage: "Ver na página"
@@ -468,6 +472,11 @@ file: "Ficheiros"
_email: _email:
_follow: _follow:
title: "Você tem um novo seguidor" title: "Você tem um novo seguidor"
_mfm:
mention: "Menção"
quote: "Citar"
emoji: "Emoji personalizado"
search: "Buscar"
_theme: _theme:
keys: keys:
mention: "Menção" mention: "Menção"
@@ -477,15 +486,11 @@ _sfx:
notification: "Notificações" notification: "Notificações"
chat: "Chat" chat: "Chat"
_widgets: _widgets:
profile: "Perfil"
instanceInfo: "Informações da instância"
notifications: "Notificações" notifications: "Notificações"
timeline: "Timeline" timeline: "Timeline"
activity: "atividade" activity: "atividade"
federation: "União" federation: "União"
jobQueue: "Fila de trabalhos" jobQueue: "Fila de trabalhos"
_userList:
chooseList: "Escolhe uma lista"
_cw: _cw:
show: "Carregar mais" show: "Carregar mais"
_visibility: _visibility:
@@ -506,6 +511,171 @@ _timelines:
_pages: _pages:
blocks: blocks:
image: "imagem" image: "imagem"
_button:
_action:
_pushEvent:
event: "Nome do evento"
message: "Mostrar mensagem quando ativado"
variable: "Variável a mandar"
no-variable: "Nenhum"
callAiScript: "Invocar AiScript"
_callAiScript:
functionName: "Nome da função"
radioButton: "Escolha"
_radioButton:
values: "Lista de escolhas separadas por quebras de texto"
script:
categories:
logical: "Operação lógica"
operation: "Cálculos"
comparison: "Comparação"
list: "Listas"
blocks:
_strReplace:
arg2: "Texto que irá ser substituído"
arg3: "Substituir com"
strReverse: "Virar texto"
join: "Sequência de texto"
_join:
arg1: "Listas"
arg2: "Separador"
add: "Somar"
_add:
arg1: "A"
arg2: "B"
subtract: "Subtrair"
_subtract:
arg1: "A"
arg2: "B"
multiply: "Multiplicar"
_multiply:
arg1: "A"
arg2: "B"
divide: "Dividir"
_divide:
arg1: "A"
arg2: "B"
mod: "O resto de"
_mod:
arg1: "A"
arg2: "B"
round: "Arredondar decimal"
_round:
arg1: "Numérico"
eq: "A e B são iguais"
_eq:
arg1: "A"
arg2: "B"
notEq: "A e B são diferentes"
_notEq:
arg1: "A"
arg2: "B"
and: "A e B"
_and:
arg1: "A"
arg2: "B"
or: "A OU B"
_or:
arg1: "A"
arg2: "B"
lt: "< A é menor do que B"
_lt:
arg1: "A"
arg2: "B"
gt: "> A é maior do que B"
_gt:
arg1: "A"
arg2: "B"
ltEq: "<= A é maior ou igual a B"
_ltEq:
arg1: "A"
arg2: "B"
gtEq: ">= A é maior ou igual a B"
_gtEq:
arg1: "A"
arg2: "B"
if: "Galho"
_if:
arg1: "Se"
arg2: "Então"
arg3: "Se não"
not: "NÃO"
_not:
arg1: "NÃO"
random: "Aleatório"
_random:
arg1: "Probabilidade"
rannum: "Numeral aleatório"
_rannum:
arg1: "Valor mínimo"
arg2: "Valor máximo"
randomPick: "Escolher aleatoriamente de uma lista"
_randomPick:
arg1: "Listas"
dailyRandom: "Aleatório (Muda uma vez por dia para cada usuário)"
_dailyRandom:
arg1: "Probabilidade"
dailyRannum: "Numeral aleatório (Muda uma vez por dia para cada usuário)"
_dailyRannum:
arg1: "Valor mínimo"
arg2: "Valor máximo"
dailyRandomPick: "Escolher aleatoriamente de uma lista (Muda uma vez por dia para cada usuário)"
_dailyRandomPick:
arg1: "Listas"
seedRandom: "Aleatório (com semente)"
_seedRandom:
arg1: "Semente"
arg2: "Probabilidade"
seedRannum: "Número aleatório (com semente)"
_seedRannum:
arg1: "Semente"
arg2: "Valor mínimo"
arg3: "Valor máximo"
seedRandomPick: "Escolher aleatoriamente de uma lista (com uma semente)"
_seedRandomPick:
arg1: "Semente"
arg2: "Listas"
DRPWPM: "Escolher aleatoriamente de uma lista ponderada (Muda uma vez por dia para cada usuário)"
_DRPWPM:
arg1: "Lista de texto"
pick: "Escolhe a partir da lista"
_pick:
arg1: "Listas"
arg2: "Posição"
listLen: "Pegar comprimento da lista"
_listLen:
arg1: "Listas"
number: "Numérico"
stringToNumber: "Texto para numérico"
_stringToNumber:
arg1: "Texto"
numberToString: "Numérico para texto"
_numberToString:
arg1: "Numérico"
splitStrByLine: "Dividir texto por quebras"
_splitStrByLine:
arg1: "Texto"
ref: "Variável"
aiScriptVar: "Variável AiScript"
fn: "Função"
_fn:
slots: "Espaços"
slots-info: "Separar cada espaço com uma quebra de texto"
arg1: "Resultado"
for: "Repetição 'for'"
_for:
arg1: "Número de repetições"
arg2: "Ação"
typeError: "Espaço {slot} aceita valores de tipo \"{expect}\", mas o valor dado é do tipo \"{actual}\"!"
thereIsEmptySlot: "O espaço {slot} está vazio!"
types:
string: "Texto"
number: "Numérico"
array: "Listas"
stringArray: "Lista de texto"
emptySlot: "Espaço vazio"
enviromentVariables: "Variáveis de ambiente"
pageVariables: "Variáveis de página"
_relayStatus: _relayStatus:
requesting: "Pendente" requesting: "Pendente"
accepted: "Aprovado" accepted: "Aprovado"
@@ -515,9 +685,13 @@ _notification:
youGotMention: "{name} te mencionou" youGotMention: "{name} te mencionou"
youGotReply: "{name} te respondeu" youGotReply: "{name} te respondeu"
youGotQuote: "{name} te citou" youGotQuote: "{name} te citou"
youGotPoll: "{name} votou em sua enquete"
youGotMessagingMessageFromUser: "{name} te mandou uma mensagem de bate-papo"
youGotMessagingMessageFromGroup: "Uma mensagem foi mandada para o grupo {name}"
youWereFollowed: "Você tem um novo seguidor" youWereFollowed: "Você tem um novo seguidor"
youReceivedFollowRequest: "Você recebeu um pedido de seguimento" youReceivedFollowRequest: "Você recebeu um pedido de seguimento"
yourFollowRequestAccepted: "Seu pedido de seguimento foi aceito" yourFollowRequestAccepted: "Seu pedido de seguimento foi aceito"
youWereInvitedToGroup: "{userName} te convidou para um grupo"
pollEnded: "Os resultados da enquete agora estão disponíveis" pollEnded: "Os resultados da enquete agora estão disponíveis"
emptyPushNotificationMessage: "As notificações de alerta foram atualizadas" emptyPushNotificationMessage: "As notificações de alerta foram atualizadas"
_types: _types:
@@ -528,9 +702,11 @@ _notification:
renote: "Repostar" renote: "Repostar"
quote: "Citar" quote: "Citar"
reaction: "Reações" reaction: "Reações"
pollVote: "Votações em enquetes"
pollEnded: "Enquetes terminando" pollEnded: "Enquetes terminando"
receiveFollowRequest: "Recebeu pedidos de seguimento" receiveFollowRequest: "Recebeu pedidos de seguimento"
followRequestAccepted: "Aceitou pedidos de seguimento" followRequestAccepted: "Aceitou pedidos de seguimento"
groupInvited: "Convites de grupo"
app: "Notificações de aplicativos conectados" app: "Notificações de aplicativos conectados"
_actions: _actions:
followBack: "te seguiu de volta" followBack: "te seguiu de volta"
@@ -555,5 +731,3 @@ _deck:
list: "Listas" list: "Listas"
mentions: "Menções" mentions: "Menções"
direct: "Notas diretas" direct: "Notas diretas"
_webhookSettings:
name: "Nome"

View File

@@ -107,7 +107,6 @@ clickToShow: "Click pentru a afișa"
sensitive: "NSFW" sensitive: "NSFW"
add: "Adaugă" add: "Adaugă"
reaction: "Reacție" reaction: "Reacție"
reactions: "Reacție"
reactionSetting: "Reacții care să apară in selectorul de reacții" reactionSetting: "Reacții care să apară in selectorul de reacții"
reactionSettingDescription2: "Trage pentru a rearanja, apasă pe \"+\" pentru a adăuga." reactionSettingDescription2: "Trage pentru a rearanja, apasă pe \"+\" pentru a adăuga."
rememberNoteVisibility: "Amintește setarea de vizibilitate a notelor" rememberNoteVisibility: "Amintește setarea de vizibilitate a notelor"
@@ -165,6 +164,7 @@ annotation: "Adnotări"
federation: "Federație" federation: "Federație"
instances: "Instanțe" instances: "Instanțe"
registeredAt: "Înregistrat în" registeredAt: "Înregistrat în"
latestRequestSentAt: "Ultima cerere trimisă"
latestRequestReceivedAt: "Ultima cerere primită" latestRequestReceivedAt: "Ultima cerere primită"
latestStatus: "Ultimul status" latestStatus: "Ultimul status"
storageUsage: "Utilizare stocare" storageUsage: "Utilizare stocare"
@@ -252,12 +252,12 @@ noMoreHistory: "Nu există mai mult istoric"
startMessaging: "Începe un chat nou" startMessaging: "Începe un chat nou"
nUsersRead: "citit de {n}" nUsersRead: "citit de {n}"
agreeTo: "Sunt de acord cu {0}" agreeTo: "Sunt de acord cu {0}"
tos: "Termenii de utilizare"
start: "Să începem" start: "Să începem"
home: "Acasă" home: "Acasă"
remoteUserCaution: "Deoarece acest utilizator este dintr-o instanță externă, informația afișată poate fi incompletă." remoteUserCaution: "Deoarece acest utilizator este dintr-o instanță externă, informația afișată poate fi incompletă."
activity: "Activitate" activity: "Activitate"
images: "Imagini" images: "Imagini"
image: "Imagini"
birthday: "Zi de naștere" birthday: "Zi de naștere"
yearsOld: "{age} ani" yearsOld: "{age} ani"
registeredDate: "Data înregistrării" registeredDate: "Data înregistrării"
@@ -347,8 +347,6 @@ recaptcha: "reCAPTCHA"
enableRecaptcha: "Activează reCAPTCHA" enableRecaptcha: "Activează reCAPTCHA"
recaptchaSiteKey: "Site key" recaptchaSiteKey: "Site key"
recaptchaSecretKey: "Secret key" recaptchaSecretKey: "Secret key"
turnstileSiteKey: "Site key"
turnstileSecretKey: "Secret key"
avoidMultiCaptchaConfirm: "Folosirea mai multor sisteme Captcha poate cauza interferență între acestea. Ai dori să dezactivezi alte sisteme Captcha acum active? Dacă preferi să rămână activate, apasă Anulare." avoidMultiCaptchaConfirm: "Folosirea mai multor sisteme Captcha poate cauza interferență între acestea. Ai dori să dezactivezi alte sisteme Captcha acum active? Dacă preferi să rămână activate, apasă Anulare."
antennas: "Antene" antennas: "Antene"
manageAntennas: "Gestionează Antenele" manageAntennas: "Gestionează Antenele"
@@ -382,9 +380,12 @@ about: "Despre"
aboutMisskey: "Despre Misskey" aboutMisskey: "Despre Misskey"
administrator: "Administrator" administrator: "Administrator"
token: "Token" token: "Token"
twoStepAuthentication: "Autentificare în doi pași"
moderator: "Moderator" moderator: "Moderator"
nUsersMentioned: "Menționat de {n} utilizatori" nUsersMentioned: "Menționat de {n} utilizatori"
securityKey: "Cheie de securitate" securityKey: "Cheie de securitate"
securityKeyName: "Numele cheii"
registerSecurityKey: "Înregistrează o cheie de securitate"
lastUsed: "Ultima utilizată" lastUsed: "Ultima utilizată"
unregister: "Dezînregistrează" unregister: "Dezînregistrează"
passwordLessLogin: "Autentificare fără parolă" passwordLessLogin: "Autentificare fără parolă"
@@ -402,15 +403,24 @@ markAsReadAllTalkMessages: "Marchează toate mesajele drept citit"
help: "Ajutor" help: "Ajutor"
inputMessageHere: "Introdu un mesaj aici" inputMessageHere: "Introdu un mesaj aici"
close: "Închide" close: "Închide"
group: "Grup"
groups: "Grupuri"
createGroup: "Crează un grup"
ownedGroups: "Grupuri deținute"
joinedGroups: "Grupuri alăturate"
invites: "Invită" invites: "Invită"
groupName: "Numele grupului"
members: "Membri" members: "Membri"
transfer: "Transferă" transfer: "Transferă"
messagingWithUser: "Chat privat"
messagingWithGroup: "Chat de grup"
title: "Titlu" title: "Titlu"
text: "Text" text: "Text"
enable: "Activează" enable: "Activează"
next: "Următorul" next: "Următorul"
retype: "Introdu din nou" retype: "Introdu din nou"
noteOf: "Notă de {user}" noteOf: "Notă de {user}"
inviteToGroup: "Invită în grup"
quoteAttached: "Citat" quoteAttached: "Citat"
quoteQuestion: "Vrei să adaugi ca citat?" quoteQuestion: "Vrei să adaugi ca citat?"
noMessagesYet: "Niciun mesaj încă" noMessagesYet: "Niciun mesaj încă"
@@ -432,13 +442,19 @@ passwordMatched: "Se potrivește!"
passwordNotMatched: "Nu se potrivește" passwordNotMatched: "Nu se potrivește"
signinWith: "Autentifică-te cu {x}" signinWith: "Autentifică-te cu {x}"
signinFailed: "Nu se poate autentifica. Numele de utilizator sau parola introduse sunt incorecte." signinFailed: "Nu se poate autentifica. Numele de utilizator sau parola introduse sunt incorecte."
tapSecurityKey: "Apasă pe cheia ta de securitate."
or: "Sau" or: "Sau"
language: "Limbă" language: "Limbă"
uiLanguage: "Limba interfeței" uiLanguage: "Limba interfeței"
groupInvited: "Ai fost invitat într-un grup"
aboutX: "Despre {x}" aboutX: "Despre {x}"
useOsNativeEmojis: "Folosește emojiuri native OS-ului"
disableDrawer: "Nu folosi meniuri în stil sertar" disableDrawer: "Nu folosi meniuri în stil sertar"
youHaveNoGroups: "Nu ai niciun grup"
joinOrCreateGroup: "Primește o invitație într-un grup sau creează unul nou."
noHistory: "Nu există istoric" noHistory: "Nu există istoric"
signinHistory: "Istoric autentificări" signinHistory: "Istoric autentificări"
disableAnimatedMfm: "Dezactivează MFM cu animații"
doing: "Se procesează..." doing: "Se procesează..."
category: "Categorie" category: "Categorie"
tags: "Etichete" tags: "Etichete"
@@ -485,7 +501,6 @@ deleteAll: "Șterge tot"
showFixedPostForm: "Arată caseta de postare în vârful cronologie" showFixedPostForm: "Arată caseta de postare în vârful cronologie"
newNoteRecived: "Sunt note noi" newNoteRecived: "Sunt note noi"
sounds: "Sunete" sounds: "Sunete"
sound: "Sunete"
listen: "Ascultă" listen: "Ascultă"
none: "Nimic" none: "Nimic"
showInPage: "Arată în pagină" showInPage: "Arată în pagină"
@@ -561,6 +576,7 @@ tokenRequested: "Acordă acces la cont"
pluginTokenRequestedDescription: "Acest plugin va putea să folosească permisiunile setate aici." pluginTokenRequestedDescription: "Acest plugin va putea să folosească permisiunile setate aici."
notificationType: "Tipul notificării" notificationType: "Tipul notificării"
edit: "Editează" edit: "Editează"
useStarForReactionFallback: "Folosește ★ ca fallback dacă emoji-ul este necunoscut"
emailServer: "Server email" emailServer: "Server email"
enableEmail: "Activează distribuția de emailuri" enableEmail: "Activează distribuția de emailuri"
emailConfigInfo: "Folosit pentru a confirma emailul tău în timpul logări dacă îți uiți parola" emailConfigInfo: "Folosit pentru a confirma emailul tău în timpul logări dacă îți uiți parola"
@@ -630,13 +646,14 @@ middle: "Mediu"
sent: "Trimite" sent: "Trimite"
searchByGoogle: "Caută" searchByGoogle: "Caută"
file: "Fișiere" file: "Fișiere"
show: "Arată"
_role:
_priority:
middle: "Mediu"
_email: _email:
_follow: _follow:
title: "te-a urmărit" title: "te-a urmărit"
_mfm:
mention: "Mențiune"
quote: "Citează"
emoji: "Emoji personalizat"
search: "Caută"
_theme: _theme:
description: "Descriere" description: "Descriere"
keys: keys:
@@ -647,18 +664,12 @@ _sfx:
note: "Note" note: "Note"
notification: "Notificări" notification: "Notificări"
chat: "Chat" chat: "Chat"
_ago:
invalid: "Nu e nimic de văzut aici"
_widgets: _widgets:
profile: "Profil"
instanceInfo: "Informații despre instanță"
notifications: "Notificări" notifications: "Notificări"
timeline: "Cronologie" timeline: "Cronologie"
activity: "Activitate" activity: "Activitate"
federation: "Federație" federation: "Federație"
jobQueue: "coada de job-uri" jobQueue: "coada de job-uri"
_userList:
chooseList: "Selectează o listă"
_cw: _cw:
show: "Incarcă mai mult" show: "Incarcă mai mult"
_visibility: _visibility:
@@ -676,14 +687,30 @@ _charts:
federation: "Federație" federation: "Federație"
_timelines: _timelines:
home: "Acasă" home: "Acasă"
_play:
script: "Script"
summary: "Descriere"
_pages: _pages:
blocks: blocks:
image: "Imagini" image: "Imagini"
script:
categories:
list: "Liste"
blocks:
_join:
arg1: "Liste"
_randomPick:
arg1: "Liste"
_dailyRandomPick:
arg1: "Liste"
_seedRandomPick:
arg2: "Liste"
_pick:
arg1: "Liste"
_listLen:
arg1: "Liste"
types:
array: "Liste"
_notification: _notification:
youWereFollowed: "te-a urmărit" youWereFollowed: "te-a urmărit"
youWereInvitedToGroup: "Ai fost invitat într-un grup"
_types: _types:
follow: "Urmărești" follow: "Urmărești"
mention: "Mențiune" mention: "Mențiune"
@@ -699,7 +726,4 @@ _deck:
tl: "Cronologie" tl: "Cronologie"
antenna: "Antene" antenna: "Antene"
list: "Liste" list: "Liste"
channel: "Canale"
mentions: "Mențiuni" mentions: "Mențiuni"
_webhookSettings:
name: "Nume"

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,6 @@
_lang_: "Slovenčina" _lang_: "Slovenčina"
headlineMisskey: "Sieť prepojená poznámkami" headlineMisskey: "Sieť prepojená poznámkami"
introMisskey: "Vitajte! Misskey je otvorená a decentralizovaná mikroblogovacia služba.\n\"Poznámkami\" môžete zdieľať svoje myšlienky so všetkými okolo. 📡\nPomocou \"reakcií\" môžete rýchlo vyjadri svoje pocity o každého poznámkach. 👍\nPoďte objavovať svet! 🚀" introMisskey: "Vitajte! Misskey je otvorená a decentralizovaná mikroblogovacia služba.\n\"Poznámkami\" môžete zdieľať svoje myšlienky so všetkými okolo. 📡\nPomocou \"reakcií\" môžete rýchlo vyjadri svoje pocity o každého poznámkach. 👍\nPoďte objavovať svet! 🚀"
poweredByMisskeyDescription: "{name} je jedným zo serverov využívajúcich open source platformu <b>Misskey</b> (nazývaných Misskey inštancia)."
monthAndDay: "{day}. {month}." monthAndDay: "{day}. {month}."
search: "Hľadať" search: "Hľadať"
notifications: "Oznámenia" notifications: "Oznámenia"
@@ -13,7 +12,6 @@ fetchingAsApObject: "Načítam údaje z Fediverzu"
ok: "OK" ok: "OK"
gotIt: "Rozumiem!" gotIt: "Rozumiem!"
cancel: "Zrušiť" cancel: "Zrušiť"
noThankYou: "Nie, ďakujem"
enterUsername: "Zadajte meno používateľa" enterUsername: "Zadajte meno používateľa"
renotedBy: "{user} preposlal/a" renotedBy: "{user} preposlal/a"
noNotes: "Žiadne poznámky" noNotes: "Žiadne poznámky"
@@ -49,7 +47,6 @@ deleteAndEdit: "Odstrániť a upraviť"
deleteAndEditConfirm: "Naozaj chcete odstrániť túto poznámku a upraviť ju? Stratíte tým všetky reakcie a odpovede na ňu." deleteAndEditConfirm: "Naozaj chcete odstrániť túto poznámku a upraviť ju? Stratíte tým všetky reakcie a odpovede na ňu."
addToList: "Pridať do zoznamu" addToList: "Pridať do zoznamu"
sendMessage: "Odoslať správu" sendMessage: "Odoslať správu"
copyRSS: "Kopírovať RSS"
copyUsername: "Kopírovať meno používateľa" copyUsername: "Kopírovať meno používateľa"
searchUser: "Hľadať používateľov" searchUser: "Hľadať používateľov"
reply: "Odpovedať" reply: "Odpovedať"
@@ -103,8 +100,6 @@ renoted: "Preposlané."
cantRenote: "Tento príspevok sa nedá preposlať." cantRenote: "Tento príspevok sa nedá preposlať."
cantReRenote: "Odpoveď nemôže byť odstránená." cantReRenote: "Odpoveď nemôže byť odstránená."
quote: "Citovať" quote: "Citovať"
inChannelRenote: "Preposlania v kanáli"
inChannelQuote: "Citácie v kanáli"
pinnedNote: "Pripnuté poznámky" pinnedNote: "Pripnuté poznámky"
pinned: "Pripnúť" pinned: "Pripnúť"
you: "Vy" you: "Vy"
@@ -112,7 +107,6 @@ clickToShow: "Kliknutím zobrazíte"
sensitive: "NSFW" sensitive: "NSFW"
add: "Pridať" add: "Pridať"
reaction: "Reakcie" reaction: "Reakcie"
reactions: "Reakcie"
reactionSetting: "Reakcie zobrazené vo výbere reakcií" reactionSetting: "Reakcie zobrazené vo výbere reakcií"
reactionSettingDescription2: "Ťahaním preusporiadate, kliknutím odstránite, Stlačením \"+\" pridáte" reactionSettingDescription2: "Ťahaním preusporiadate, kliknutím odstránite, Stlačením \"+\" pridáte"
rememberNoteVisibility: "Zapamätať nastavenia viditeľnosti poznámky" rememberNoteVisibility: "Zapamätať nastavenia viditeľnosti poznámky"
@@ -131,7 +125,6 @@ unblockConfirm: "Naozaj chcete odblokovať tento účet?"
suspendConfirm: "Naozaj chcete zmraziť tento účet?" suspendConfirm: "Naozaj chcete zmraziť tento účet?"
unsuspendConfirm: "Naozaj chcete odmraziť tento účet?" unsuspendConfirm: "Naozaj chcete odmraziť tento účet?"
selectList: "Vyberte zoznam" selectList: "Vyberte zoznam"
selectChannel: "Zvoľte kanál"
selectAntenna: "Vyberte anténu" selectAntenna: "Vyberte anténu"
selectWidget: "Vyberte widget" selectWidget: "Vyberte widget"
editWidgets: "Upraviť widget" editWidgets: "Upraviť widget"
@@ -171,6 +164,7 @@ annotation: "Komentáre"
federation: "Federácia" federation: "Federácia"
instances: "Inštancia" instances: "Inštancia"
registeredAt: "Registrácia" registeredAt: "Registrácia"
latestRequestSentAt: "Posledná odoslaná požiadavka"
latestRequestReceivedAt: "Posledná prijatá požiadavka" latestRequestReceivedAt: "Posledná prijatá požiadavka"
latestStatus: "Posledný status" latestStatus: "Posledný status"
storageUsage: "Využité úložisko" storageUsage: "Využité úložisko"
@@ -259,14 +253,12 @@ noMoreHistory: "To je všetko"
startMessaging: "Začať chat" startMessaging: "Začať chat"
nUsersRead: "prečítané {n} používateľmi" nUsersRead: "prečítané {n} používateľmi"
agreeTo: "Súhlasím s {0}" agreeTo: "Súhlasím s {0}"
agreeBelow: "Súhlasím s nasledovným" tos: "Podmienky používania"
basicNotesBeforeCreateAccount: "Základné bezpečnostné opatrenia"
start: "Začať" start: "Začať"
home: "Domov" home: "Domov"
remoteUserCaution: "Tieto informácie nemusia byť aktuálne, keďže používateľ je na vzdialenom serveri." remoteUserCaution: "Tieto informácie nemusia byť aktuálne, keďže používateľ je na vzdialenom serveri."
activity: "Aktivita" activity: "Aktivita"
images: "Obrázky" images: "Obrázky"
image: "Obrázky"
birthday: "Dátum narodenia" birthday: "Dátum narodenia"
yearsOld: "{age} rokov" yearsOld: "{age} rokov"
registeredDate: "Dátum registrácie" registeredDate: "Dátum registrácie"
@@ -356,10 +348,6 @@ recaptcha: "reCAPTCHA"
enableRecaptcha: "Zapnúť ReCAPTCHA" enableRecaptcha: "Zapnúť ReCAPTCHA"
recaptchaSiteKey: "Site key" recaptchaSiteKey: "Site key"
recaptchaSecretKey: "Secret key" recaptchaSecretKey: "Secret key"
turnstile: "Turnstile"
enableTurnstile: "Povoliť turnstile"
turnstileSiteKey: "Site key"
turnstileSecretKey: "Secret key"
avoidMultiCaptchaConfirm: "Použitie viacerých Captcha systémov môže sposobiť problémy. Chcete radšej vypnúť ostatné Captcha systémy? Môžete ich povoliť viaceré stlačení Zrušiť." avoidMultiCaptchaConfirm: "Použitie viacerých Captcha systémov môže sposobiť problémy. Chcete radšej vypnúť ostatné Captcha systémy? Môžete ich povoliť viaceré stlačení Zrušiť."
antennas: "Antény" antennas: "Antény"
manageAntennas: "Spravovať antény" manageAntennas: "Spravovať antény"
@@ -393,19 +381,16 @@ about: "Informácie"
aboutMisskey: "O Misskey" aboutMisskey: "O Misskey"
administrator: "Administrátor" administrator: "Administrátor"
token: "Token" token: "Token"
2fa: "Dvojfaktorové overenie (2FA)" twoStepAuthentication: "Dvojfaktorová autentifikácia"
totp: "Overovacia aplikácia"
totpDescription: "Zadajte jednorazové heslo z overovacej aplikácie"
moderator: "Moderátor" moderator: "Moderátor"
moderation: "Moderovanie" moderation: "Moderovanie"
nUsersMentioned: "{n} používateľov spomenulo" nUsersMentioned: "{n} používateľov spomenulo"
securityKeyAndPasskey: "Bezpečnostný kľúč/heslo"
securityKey: "Bezpečnostný kľúč" securityKey: "Bezpečnostný kľúč"
securityKeyName: "Názov kľúča"
registerSecurityKey: "Registrovať bezpečnostný kľúč"
lastUsed: "Naposledy použité" lastUsed: "Naposledy použité"
lastUsedAt: "Naposledy použité: {t}"
unregister: "Odregistrovať" unregister: "Odregistrovať"
passwordLessLogin: "Nastaviť bezheslové prihlásenie" passwordLessLogin: "Nastaviť bezheslové prihlásenie"
passwordLessLoginDescription: "Prihlásenie bez hesla, len bezpečnostným kľúčom alebo prístupovým kľúčom"
resetPassword: "Resetovať heslo" resetPassword: "Resetovať heslo"
newPasswordIs: "Nové heslo je \"{password}\"" newPasswordIs: "Nové heslo je \"{password}\""
reduceUiAnimation: "Menej UI animácií" reduceUiAnimation: "Menej UI animácií"
@@ -420,15 +405,24 @@ markAsReadAllTalkMessages: "Označiť všetky správy ako prečítané"
help: "Pomoc" help: "Pomoc"
inputMessageHere: "Sem napíšte správu" inputMessageHere: "Sem napíšte správu"
close: "Zavrieť" close: "Zavrieť"
group: "Skupina"
groups: "Skupiny"
createGroup: "Vytvoriť skupinu"
ownedGroups: "Vlastnené skupiny"
joinedGroups: "Členstvo v skupinách"
invites: "Pozvať" invites: "Pozvať"
groupName: "Názov skupiny"
members: "Členovia" members: "Členovia"
transfer: "Presun" transfer: "Presun"
messagingWithUser: "Súkromný chat"
messagingWithGroup: "Skupinový chat"
title: "Nadpis" title: "Nadpis"
text: "Text" text: "Text"
enable: "Povoliť" enable: "Povoliť"
next: "Ďalší" next: "Ďalší"
retype: "Zadajte znovu" retype: "Zadajte znovu"
noteOf: "Poznámky používateľa {user}" noteOf: "Poznámky používateľa {user}"
inviteToGroup: "Pozvať do skupiny"
quoteAttached: "Citované" quoteAttached: "Citované"
quoteQuestion: "Pripojiť ako citát?" quoteQuestion: "Pripojiť ako citát?"
noMessagesYet: "Zatiaľ žiadne správy" noMessagesYet: "Zatiaľ žiadne správy"
@@ -450,18 +444,19 @@ passwordMatched: "Heslá sú rovnaké"
passwordNotMatched: "Heslá nie sú rovnaké" passwordNotMatched: "Heslá nie sú rovnaké"
signinWith: "Prihlásiť sa použitím {x}" signinWith: "Prihlásiť sa použitím {x}"
signinFailed: "Nedá sa prihlásiť. Skontrolujte prosím meno používateľa a heslo." signinFailed: "Nedá sa prihlásiť. Skontrolujte prosím meno používateľa a heslo."
tapSecurityKey: "Ťuknite na bezpečnostný kľúč"
or: "Alebo" or: "Alebo"
language: "Jazyk" language: "Jazyk"
uiLanguage: "Jazyk používateľského prostredia" uiLanguage: "Jazyk používateľského prostredia"
groupInvited: "Pozvať do skupiny"
aboutX: "O {x}" aboutX: "O {x}"
emojiStyle: "Štýl emoji" useOsNativeEmojis: "Používať natívne emoji z OS"
native: "Natívne"
disableDrawer: "Nepoužívať šuflíkové menu" disableDrawer: "Nepoužívať šuflíkové menu"
showNoteActionsOnlyHover: "Ovládacie prvky poznámky sa zobrazujú len po nabehnutí myši" youHaveNoGroups: "Nemáte žiadne skupiny"
joinOrCreateGroup: "Požiadajte o pozvanie do existujúcej skupiny alebo vytvorte novú."
noHistory: "Žiadna história" noHistory: "Žiadna história"
signinHistory: "História prihlásení" signinHistory: "História prihlásení"
enableAdvancedMfm: "Povolenie pokročilého MFM" disableAnimatedMfm: "Vypnúť MFM s animáciou"
enableAnimatedMfm: "Povoliť animované MFM"
doing: "Pracujem..." doing: "Pracujem..."
category: "Kategórie" category: "Kategórie"
tags: "Značky" tags: "Značky"
@@ -508,7 +503,6 @@ deleteAll: "Odstrániť všetko"
showFixedPostForm: "Zobraziť formulár na nové príspevky nad časovou osou" showFixedPostForm: "Zobraziť formulár na nové príspevky nad časovou osou"
newNoteRecived: "Sú nové poznámky" newNoteRecived: "Sú nové poznámky"
sounds: "Zvuky" sounds: "Zvuky"
sound: "Zvuky"
listen: "Počúvať" listen: "Počúvať"
none: "Žiadne" none: "Žiadne"
showInPage: "Zobraziť v stránke" showInPage: "Zobraziť v stránke"
@@ -570,7 +564,6 @@ manage: "Administrácia"
plugins: "Pluginy" plugins: "Pluginy"
preferencesBackups: "Zálohy nastavení" preferencesBackups: "Zálohy nastavení"
deck: "Deck" deck: "Deck"
undeck: "Oddokovať"
useBlurEffectForModal: "Použiť efekt rozmazania na okná" useBlurEffectForModal: "Použiť efekt rozmazania na okná"
useFullReactionPicker: "Použiť plnú veľkosť výberu reakcií" useFullReactionPicker: "Použiť plnú veľkosť výberu reakcií"
width: "Šírka" width: "Šírka"
@@ -586,6 +579,7 @@ tokenRequested: "Povoliť prístup k účtu"
pluginTokenRequestedDescription: "Tento plugin bude môcť používať oprávnenia nastavené tu." pluginTokenRequestedDescription: "Tento plugin bude môcť používať oprávnenia nastavené tu."
notificationType: "Typ oznámenia" notificationType: "Typ oznámenia"
edit: "Upraviť" edit: "Upraviť"
useStarForReactionFallback: "Použiť ★ keď emoji reakcie nie je známe"
emailServer: "Email server" emailServer: "Email server"
enableEmail: "Zapnúť email" enableEmail: "Zapnúť email"
emailConfigInfo: "Používa sa na overenie emaily pri registrácii alebo pri zabudnutí hesla" emailConfigInfo: "Používa sa na overenie emaily pri registrácii alebo pri zabudnutí hesla"
@@ -713,7 +707,6 @@ accentColor: "Akcent"
textColor: "Text" textColor: "Text"
saveAs: "Uložiť ako..." saveAs: "Uložiť ako..."
advanced: "Rozšírené" advanced: "Rozšírené"
advancedSettings: "Rozšírené nastavenia"
value: "Hodnoty" value: "Hodnoty"
createdAt: "Vytvorené" createdAt: "Vytvorené"
updatedAt: "Upravené" updatedAt: "Upravené"
@@ -779,7 +772,6 @@ popularPosts: "Populárne príspevky"
shareWithNote: "Zdieľať s poznámkou" shareWithNote: "Zdieľať s poznámkou"
ads: "Reklamy" ads: "Reklamy"
expiration: "Ukončiť hlasovanie" expiration: "Ukončiť hlasovanie"
startingperiod: "Začiatok"
memo: "Memo" memo: "Memo"
priority: "Priorita" priority: "Priorita"
high: "Vysoká" high: "Vysoká"
@@ -831,6 +823,8 @@ deleteAccountConfirm: "Toto nezvrátiteľne vymaže váš účet. Pokračovať?"
incorrectPassword: "Nesprávne heslo." incorrectPassword: "Nesprávne heslo."
voteConfirm: "Potvrdzujete svoj hlas za \"{choice}\"?" voteConfirm: "Potvrdzujete svoj hlas za \"{choice}\"?"
hide: "Skryť" hide: "Skryť"
leaveGroup: "Opustiť skupiny"
leaveGroupConfirm: "Naozaj chcete opustiť \"{name}\"?"
useDrawerReactionPickerForMobile: "Zobraziť výber reakcií ako šuflík na mobile" useDrawerReactionPickerForMobile: "Zobraziť výber reakcií ako šuflík na mobile"
welcomeBackWithName: "Vitajte späť, {name}" welcomeBackWithName: "Vitajte späť, {name}"
clickToFinishEmailVerification: "Kliknutím na [{ok}] dokončíte overeniu emailu." clickToFinishEmailVerification: "Kliknutím na [{ok}] dokončíte overeniu emailu."
@@ -846,13 +840,11 @@ instanceDefaultLightTheme: "Predvolená svetlá téma"
instanceDefaultDarkTheme: "Predvolená tmavá téma" instanceDefaultDarkTheme: "Predvolená tmavá téma"
instanceDefaultThemeDescription: "Vložte kód témy v objektovom formáte" instanceDefaultThemeDescription: "Vložte kód témy v objektovom formáte"
mutePeriod: "Trvanie stíšenia" mutePeriod: "Trvanie stíšenia"
period: "Ukončiť hlasovanie"
indefinitely: "Navždy" indefinitely: "Navždy"
tenMinutes: "10 minút" tenMinutes: "10 minút"
oneHour: "1 hodina" oneHour: "1 hodina"
oneDay: "1 deň" oneDay: "1 deň"
oneWeek: "1 týždeň" oneWeek: "1 týždeň"
oneMonth: "1 mesiac"
reflectMayTakeTime: "Zmeny môžu chvíľu trvať kým sa prejavia." reflectMayTakeTime: "Zmeny môžu chvíľu trvať kým sa prejavia."
failedToFetchAccountInformation: "Nepodarilo sa načítať informácie o účte." failedToFetchAccountInformation: "Nepodarilo sa načítať informácie o účte."
rateLimitExceeded: "Prekročený limit rýchlosti" rateLimitExceeded: "Prekročený limit rýchlosti"
@@ -866,7 +858,6 @@ thereIsUnresolvedAbuseReportWarning: "Existuje nevyriešené nahlásenie zneuži
recommended: "Odporúčané" recommended: "Odporúčané"
driveCapOverrideLabel: "Zmena limitu úložiska pre tohoto používateľa" driveCapOverrideLabel: "Zmena limitu úložiska pre tohoto používateľa"
driveCapOverrideCaption: "Ak je zadaná hodnota menšia alebo rovná 0, zruší sa." driveCapOverrideCaption: "Ak je zadaná hodnota menšia alebo rovná 0, zruší sa."
requireAdminForView: "Na zobrazenie sa musíte prihlásiť pod administrátorským účtom."
isSystemAccount: "Tieto účty automaticky vytvoril a spravuje systém." isSystemAccount: "Tieto účty automaticky vytvoril a spravuje systém."
typeToConfirm: "Ak chcete vykonať túto operáciu, napíšte {x}" typeToConfirm: "Ak chcete vykonať túto operáciu, napíšte {x}"
deleteAccount: "Vymazať účet" deleteAccount: "Vymazať účet"
@@ -895,36 +886,8 @@ enableAutoSensitive: "Automatická detekcia NSFW"
enableAutoSensitiveDescription: "Ak je zapnuté, príznak NSFW sa na médiách automaticky nastaví pomocou strojového učenia. Aj keď je táto funkcia vypnutá, v niektorých prípadoch sa môže nastaviť automaticky." enableAutoSensitiveDescription: "Ak je zapnuté, príznak NSFW sa na médiách automaticky nastaví pomocou strojového učenia. Aj keď je táto funkcia vypnutá, v niektorých prípadoch sa môže nastaviť automaticky."
activeEmailValidationDescription: "Dôkladnejšie overí e-mailovú adresu používateľa tým, že zistí, či ide o vyradenú e-mailovú adresu a či sa s ňou dá skutočne komunikovať. Ak nie je začiarknuté, e-mailová adresa sa kontroluje len ako text." activeEmailValidationDescription: "Dôkladnejšie overí e-mailovú adresu používateľa tým, že zistí, či ide o vyradenú e-mailovú adresu a či sa s ňou dá skutočne komunikovať. Ak nie je začiarknuté, e-mailová adresa sa kontroluje len ako text."
navbar: "Navigačný panel" navbar: "Navigačný panel"
shuffle: "Zamiešať"
account: "Účty" account: "Účty"
move: "Pohyb" move: "Pohyb"
pushNotification: "Push notifikácie"
subscribePushNotification: "Push notifikácie zapnuté"
unsubscribePushNotification: "Vypnúť push notifikácie"
pushNotificationAlreadySubscribed: "Push notifikácie sú zapnuté"
pushNotificationNotSupported: "Prehliadač alebo server nepodporujú push notifikácie"
sendPushNotificationReadMessage: "Odstrániť push notifikácie po ich prečítaní"
sendPushNotificationReadMessageCaption: "Na chvíľu sa zobrazí oznámenie \"{emptyPushNotificationMessage}\". Môže to zvýšiť spotrebu batérie zariadenia."
windowMaximize: "Maximalizovať"
windowRestore: "Obnoviť"
caption: "Nadpis"
tools: "Nástroje"
cannotLoad: "Nedá sa načítať."
like: "Páči sa mi"
show: "Zobraziť"
neverShow: "Nabudúce nezobrazovať"
remindMeLater: "Pripomenúť neskôr"
didYouLikeMisskey: "Páči sa vám Misskey?"
pleaseDonate: "Misskey je bezplatný softvér, ktorý používa {host}. Prosím, prispejte, aby sme ho mohli ďalej rozvíjať!"
color: "Farba"
horizontal: "Strana"
youFollowing: "Sledované"
_role:
priority: "Priorita"
_priority:
low: "Málo"
middle: "Stredné"
high: "Vysoká"
_sensitiveMediaDetection: _sensitiveMediaDetection:
description: "Strojové učenie sa použije na automatickú detekciu citlivých médií na účely ich moderovania. Mierne sa zvýši zaťaženie servera." description: "Strojové učenie sa použije na automatickú detekciu citlivých médií na účely ich moderovania. Mierne sa zvýši zaťaženie servera."
sensitivity: "Citlivosť detekcie" sensitivity: "Citlivosť detekcie"
@@ -957,7 +920,6 @@ _accountDelete:
_ad: _ad:
back: "Späť" back: "Späť"
reduceFrequencyOfThisAd: "Túto reklamu zobrazovať menej" reduceFrequencyOfThisAd: "Túto reklamu zobrazovať menej"
hide: "Nikdy nezobrazovať"
_forgotPassword: _forgotPassword:
enterEmail: "Zadajte emailovú adresu, ktorú ste použili pri registrácii. Pošleme vám na ňu odkaz, cez ktorý si môžete obnoviť heslo." enterEmail: "Zadajte emailovú adresu, ktorú ste použili pri registrácii. Pošleme vám na ňu odkaz, cez ktorý si môžete obnoviť heslo."
ifNoEmail: "Ak ste pri registrácii nepoužili email, prosím kontaktujte administrátora." ifNoEmail: "Ak ste pri registrácii nepoužili email, prosím kontaktujte administrátora."
@@ -1013,6 +975,72 @@ _nsfw:
respect: "Skryť NSFW médiá" respect: "Skryť NSFW médiá"
ignore: "Neskrývať NSFW médiá" ignore: "Neskrývať NSFW médiá"
force: "Skryť všetky médiá" force: "Skryť všetky médiá"
_mfm:
cheatSheet: "MFM Cheatsheet"
intro: "MFM je Misskey exkluzívny značkovací jazyk, ktorý sa dá používať na viacerých miestach. Tu môžete vidieť zoznam všetkej dostupnej MFM syntaxe."
dummy: "Misskey rozširuje svet Fediverza"
mention: "Zmienka"
mentionDescription: "Používateľa spomeniete použítím zavináča a mena používateľa"
hashtag: "Hashtag"
hashtagDescription: "Môžete zadať hashtag použitím mriežky a textu"
url: "URL"
urlDescription: "URL sa dajú zobraziť."
link: "Odkaz"
linkDescription: "Jednotlivé časti texty sa dajú zobraziť ako URL."
bold: "Tučné"
boldDescription: "Zvýrazní písmená tým, že budú tučnejšie."
small: "Malé"
smallDescription: "Zobrazí obsah malý a tenký."
center: "Vystrediť prvky"
centerDescription: "Zobrazí obsah v strede"
inlineCode: "Kód (inline)"
inlineCodeDescription: "Zobrazí kód so zvýraznením syntaxe."
blockCode: "Kód (blok)"
blockCodeDescription: "Zobrazí viacriadkový kód so zvýraznením syntaxe v bloku."
inlineMath: "Vzorec (inline)"
inlineMathDescription: "Zobrazí matematický vzorec (KaTeX) v riadku."
blockMath: "Vzorec (blok)"
blockMathDescription: "Zobrazí viacriadkový matematický vzorec (KaTeX) v bloku"
quote: "Citovať"
quoteDescription: "Zobrazí obsah ako citát."
emoji: "Vlastné emoji"
emojiDescription: "Pridaním dvojbodiek pred a za názov vlastnej emoji, sa dá zobraziť vlastná emoji."
search: "Hľadať"
searchDescription: "Zobrazí vyhľadávacie pole so zadaným textom."
flip: "Preklopiť"
flipDescription: "Preklopí obsah horizontálne alebo vertikálne"
jelly: "Animácia (želé)"
jellyDescription: "Obsah sa bude hýbať ako želé."
tada: "Animácia (tadá)"
tadaDescription: "Obsah sa bude hýbať ako Tada!"
jump: "Animácia (skok)"
jumpDescription: "Obsah skočí."
bounce: "Animácia (odraz)"
bounceDescription: "Obsah sa bude odrážať."
shake: "Animácia (trasenie)"
shakeDescription: "Obsah sa bude triasť."
twitch: "Animácia (myknutie)"
twitchDescription: "Obsahu dá animáciu silného trasenia."
spin: "Animácia (rotácia)"
spinDescription: "Obsahu pridá otáčajúcu animáciu."
x2: "Veľký"
x2Description: "Zobrazí obsah väčší."
x3: "Veľmi veľký"
x3Description: "Zobrazí obsah ešte väčší."
x4: "Neuveriteľne veľký"
x4Description: "Zobrazí obsah ešte viac veľký než veľmi veľký."
blur: "Rozmazanie"
blurDescription: "Týmto efektom môže byť obsah rozmazaný. Zaostrí sa keď ned neho príde kurzor."
font: "Písmo"
fontDescription: "Nastaví písmo, ktorým sa zobrazí text."
rainbow: "Dúha"
rainbowDescription: "Zobrazí obsah vo farbách dúhy."
sparkle: "Trblietky"
sparkleDescription: "Obsahu dodá trblietajúci efekt."
rotate: "Otáčať"
rotateDescription: "Otočí obsah o určitý uhol."
plain: "Obyčajné"
plainDescription: "Bez akejkoľvej syntaxe"
_instanceTicker: _instanceTicker:
none: "Nikdy nezobrazovať" none: "Nikdy nezobrazovať"
remote: "Zobraziť pre vzdialených používateľov" remote: "Zobraziť pre vzdialených používateľov"
@@ -1142,22 +1170,44 @@ _ago:
weeksAgo: "pred {n} týždňami" weeksAgo: "pred {n} týždňami"
monthsAgo: "pred {n} mesiacmi" monthsAgo: "pred {n} mesiacmi"
yearsAgo: "pred {n} rokmi" yearsAgo: "pred {n} rokmi"
invalid: "Nič tu nie je"
_time: _time:
second: "s" second: "s"
minute: "min" minute: "min"
hour: "hod" hour: "hod"
day: "dní" day: "dní"
_tutorial:
title: "Ako používať Misskey"
step1_1: "Vitajte!"
step1_2: "Táto stránka sa volá \"časová os\". Zobrazuje chronologicky zoradené \"poznámky\" od ľudí, ktorých sledujete."
step1_3: "Vaša časová os je teraz prázdna pretože ste nepridali žiadne poznámky ani nikoho zatiaľ nesledujete."
step2_1: "Podˇme dokončiť nastavenia vášho profilu pred napísaním poznámky alebo sledovaním niekoho."
step2_2: "Poskytnutím informácií o vás uľahčíte ostatným, či chcú vidieť alebo sledovať vaše poznámky."
step3_1: "Dokončili ste nastavovanie svojho profilu?"
step3_2: "Poďme vyskúšať napísať poznámku. Môžete to spraviť stlačením ikony ceruzky na vrchu obrazovky."
step3_3: "Vyplňte polia a stlačte tlačítko vpravo hore."
step3_4: "Nemáte čo povedať? Skúste \"len si nastavujem môj msky\"!"
step4_1: "Napísali ste svoju prvú poznámku?"
step4_2: "Hurá! Teraz by vaša prvá poznámka mala byť na vašej časovej osi."
step5_1: "Teraz skúsme oživiť časovú os sledovaním nejakých ľudí."
step5_2: "{featured} zobrazí populárne poznámku na tomto serveri. {explore} môžete objavovať populárnych používateľov. Skúste tam nájsť ľudí, ktorých by ste radi sledovali!"
step5_3: "Ak chcete sledovať ďalších používateľov, kliknite na ich ikonu a stlačte tlačidlo \"Sledovať\" na ich profile."
step5_4: "Ak má niektorý používateľ ikonu zámku vedľa svojho mena, znamená to, že môže trvať určitý čas, kým daný používateľ schváli vašu žiadosť o sledovanie."
step6_1: "Teraz by ste mali vidieť poznámky ďalších používateľov na svojej časovej osi."
step6_2: "Môžete dať \"reakcie\" na poznámky ďalších ľudí ako rýchlu odpoveď."
step6_3: "Reakciu pridáte kliknutím na \"+\" niekoho poznámke a vybratím emoji, ktorou chcete reagovať."
step7_1: "Gralujeme! Dokončili ste základného sprievodcu Misskey."
step7_2: "Ak sa chcete naučiť viac o Misskey, skúste sekciu {help}."
step7_3: "A teraz, veľa šťastia, bavte sa s Misskey! 🚀"
_2fa: _2fa:
alreadyRegistered: "Už ste zaregistrovali 2-faktorové autentifikačné zariadenie." alreadyRegistered: "Už ste zaregistrovali 2-faktorové autentifikačné zariadenie."
registerDevice: "Registrovať nové zariadenie"
registerKey: "Registrovať bezpečnostný kľúč"
step1: "Najprv si nainštalujte autentifikačnú aplikáciu (napríklad {a} alebo {b}) na svoje zariadenie." step1: "Najprv si nainštalujte autentifikačnú aplikáciu (napríklad {a} alebo {b}) na svoje zariadenie."
step2: "Potom, naskenujte QR kód zobrazený na obrazovke." step2: "Potom, naskenujte QR kód zobrazený na obrazovke."
step2Url: "Do aplikácie zadajte nasledujúcu URL adresu:" step2Url: "Do aplikácie zadajte nasledujúcu URL adresu:"
step3: "Nastavenie dokončíte zadaním tokenu z vašej aplikácie." step3: "Nastavenie dokončíte zadaním tokenu z vašej aplikácie."
step4: "Od teraz, všetky ďalšie prihlásenia budú vyžadovať prihlasovací token." step4: "Od teraz, všetky ďalšie prihlásenia budú vyžadovať prihlasovací token."
securityKeyInfo: "Okrem odtlačku prsta alebo PIN autentifikácie si môžete nastaviť autentifikáciu cez hardvérový bezpečnostný kľúč podporujúci FIDO2 a tak ešte viac zabezpečiť svoj účet." securityKeyInfo: "Okrem odtlačku prsta alebo PIN autentifikácie si môžete nastaviť autentifikáciu cez hardvérový bezpečnostný kľúč podporujúci FIDO2 a tak ešte viac zabezpečiť svoj účet."
removeKeyConfirm: "Naozaj chcete odstrániť \"{name}\"?"
renewTOTPCancel: "Nie, ďakujem"
_permissions: _permissions:
"read:account": "Vidieť informácie o vašom účte" "read:account": "Vidieť informácie o vašom účte"
"write:account": "Upraviť informácie o vašom účte" "write:account": "Upraviť informácie o vašom účte"
@@ -1203,6 +1253,7 @@ _antennaSources:
homeTimeline: "Poznámky od sledovaného používateľa" homeTimeline: "Poznámky od sledovaného používateľa"
users: "Poznámky od konkrétneho používateľa" users: "Poznámky od konkrétneho používateľa"
userList: "Poznámky od používateľov v zozname" userList: "Poznámky od používateľov v zozname"
userGroup: "Poznámky od používateľov z konkrétnej skupiny."
_weekday: _weekday:
sunday: "Nedeľa" sunday: "Nedeľa"
monday: "Pondelok" monday: "Pondelok"
@@ -1212,8 +1263,6 @@ _weekday:
friday: "Piatok" friday: "Piatok"
saturday: "Sobota" saturday: "Sobota"
_widgets: _widgets:
profile: "Profil"
instanceInfo: "Informácie o serveri"
memo: "Prilepené poznámky" memo: "Prilepené poznámky"
notifications: "Oznámenia" notifications: "Oznámenia"
timeline: "Časová os" timeline: "Časová os"
@@ -1236,8 +1285,6 @@ _widgets:
serverMetric: "Metriky servera" serverMetric: "Metriky servera"
aiscript: "Konzola AiScript" aiscript: "Konzola AiScript"
aichan: "Ai" aichan: "Ai"
_userList:
chooseList: "Vyberte zoznam"
_cw: _cw:
hide: "Skryť" hide: "Skryť"
show: "Zobraziť viac" show: "Zobraziť viac"
@@ -1274,6 +1321,8 @@ _visibility:
followersDescription: "Viditeľné iba tým, ktorí vás sledujú" followersDescription: "Viditeľné iba tým, ktorí vás sledujú"
specified: "Priame" specified: "Priame"
specifiedDescription: "Viditeľné iba pre konkrétnych používateľov" specifiedDescription: "Viditeľné iba pre konkrétnych používateľov"
localOnly: "Iba lokálne"
localOnlyDescription: "Vzdialený používatelia nebudú vidieť"
_postForm: _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..."
@@ -1336,12 +1385,6 @@ _timelines:
local: "Lokálne" local: "Lokálne"
social: "Sociálne" social: "Sociálne"
global: "Globálne" global: "Globálne"
_play:
viewSource: "Ukázať zdroj"
featured: "Význačné"
title: "Nadpis"
script: "Skript"
summary: "Popis"
_pages: _pages:
newPage: "Vytvoriť novú stránku" newPage: "Vytvoriť novú stránku"
editPage: "Upraviť túto stránku" editPage: "Upraviť túto stránku"
@@ -1377,6 +1420,8 @@ _pages:
eyeCatchingImageRemove: "Odstrániť miniatúru" eyeCatchingImageRemove: "Odstrániť miniatúru"
chooseBlock: "Pridať blok" chooseBlock: "Pridať blok"
selectType: "Vyberte typ" selectType: "Vyberte typ"
enterVariableName: "Zadajte meno premennej"
variableNameIsAlreadyUsed: "Meno premennej s už používa"
contentBlocks: "Obsah" contentBlocks: "Obsah"
inputBlocks: "Vstup" inputBlocks: "Vstup"
specialBlocks: "Špeciálne" specialBlocks: "Špeciálne"
@@ -1386,11 +1431,249 @@ _pages:
section: "Sekcia" section: "Sekcia"
image: "Obrázky" image: "Obrázky"
button: "Tlačidlo" button: "Tlačidlo"
if: "Ak"
_if:
variable: "Premenné"
post: "Napísať poznámku"
_post:
text: "Obsah"
attachCanvasImage: "Príspevok s obrázkom na plátne"
canvasId: "ID plátna"
textInput: "Textový vstup"
_textInput:
name: "Meno premennej"
text: "Nadpis"
default: "Predvolená hodnota"
textareaInput: "Viacriadkový textový vstup"
_textareaInput:
name: "Meno premennej"
text: "Nadpis"
default: "Predvolená hodnota"
numberInput: "Číselný vstup"
_numberInput:
name: "Meno premennej"
text: "Nadpis"
default: "Predvolená hodnota"
canvas: "Plátno"
_canvas:
id: "ID plátna"
width: "Šírka"
height: "Výška"
note: "Vložená poznámka" note: "Vložená poznámka"
_note: _note:
id: "ID poznámky" id: "ID poznámky"
idDescription: "Alebo môžete vložiť URL poznámky sem" idDescription: "Alebo môžete vložiť URL poznámky sem"
detailed: "Podrobný pohľad" detailed: "Podrobný pohľad"
switch: "Prepnúť"
_switch:
name: "Meno premennej"
text: "Nadpis"
default: "Predvolená hodnota"
counter: "Počítadlo"
_counter:
name: "Meno premennej"
text: "Nadpis"
inc: "Pripočítať"
_button:
text: "Nadpis"
colored: "Farebné"
action: "Operácia po stlačení tlačidla"
_action:
dialog: "Zobraziť dialóg"
_dialog:
content: "Obsah"
resetRandom: "Resetovať zdroj náhodnosti"
pushEvent: "Poslať udalosť"
_pushEvent:
event: "Názov udalosti"
message: "Zobrazená správa po aktivácii"
variable: "Odoslaná premenná"
no-variable: "Žiadne"
callAiScript: "Spustiť AiScript"
_callAiScript:
functionName: "Názov funkcie"
radioButton: "Možnosť"
_radioButton:
name: "Meno premennej"
title: "Nadpis"
values: "Zoznam možností oddelené novými riadkami"
default: "Predvolená hodnota"
script:
categories:
flow: "Riadenie behu"
logical: "Logická operácia"
operation: "Výpočet"
comparison: "Porovnanie"
random: "Náhodné"
value: "Hodnoty"
fn: "Funkcie"
text: "Textové operácie"
convert: "Transformácie"
list: "Zoznamy"
blocks:
text: "Text"
multiLineText: "Text (viacriadkový)"
textList: "Zoznam textov"
_textList:
info: "Oddeľte každú položku novým riadkom"
strLen: "Dĺžka textu"
_strLen:
arg1: "Text"
strPick: "Vybrať znak"
_strPick:
arg1: "Text"
arg2: "Pozícia znaku"
strReplace: "Náhradný text"
_strReplace:
arg1: "Text"
arg2: "Nahradený text"
arg3: "Nahradiť s"
strReverse: "Otočiť text"
_strReverse:
arg1: "Text"
join: "Spojiť texty"
_join:
arg1: "Zoznamy"
arg2: "Oddeľovač"
add: "Pridať"
_add:
arg1: "A"
arg2: "B"
subtract: "Odčítať"
_subtract:
arg1: "A"
arg2: "B"
multiply: "Násobiť"
_multiply:
arg1: "A"
arg2: "B"
divide: "Deliť"
_divide:
arg1: "A"
arg2: "B"
mod: "Zvyšok po delení"
_mod:
arg1: "A"
arg2: "B"
round: "Zaokrúhliť"
_round:
arg1: "Číslo"
eq: "A a B sa rovnajú"
_eq:
arg1: "A"
arg2: "B"
notEq: "A a B sa nerovnajú"
_notEq:
arg1: "A"
arg2: "B"
and: "A a zároveň B"
_and:
arg1: "A"
arg2: "B"
or: "A alebo B"
_or:
arg1: "A"
arg2: "B"
lt: "< A je menšie ako B"
_lt:
arg1: "A"
arg2: "B"
gt: "> A je väčšie ako B"
_gt:
arg1: "A"
arg2: "B"
ltEq: "<= A je menšie alebo rovné B"
_ltEq:
arg1: "A"
arg2: "B"
gtEq: ">= A je väčšie alebo rovné B"
_gtEq:
arg1: "A"
arg2: "B"
if: "Vetva"
_if:
arg1: "Ak"
arg2: "Potom"
arg3: "Inak"
not: "Opak"
_not:
arg1: "Opak"
random: "Náhodné"
_random:
arg1: "Pravdepodobnosť"
rannum: "Náhodné číslo"
_rannum:
arg1: "Minimálna hodnota"
arg2: "Maximálna hodnota"
randomPick: "Náhodný výber zo zoznamu"
_randomPick:
arg1: "Zoznam"
dailyRandom: "Náhodne (zmení sa raz denne pre každého používateľa)"
_dailyRandom:
arg1: "Pravdepodobnosť"
dailyRannum: "Náhodné číslo (Mení sa denne pre každého používateľa)"
_dailyRannum:
arg1: "Minimálna hodnota"
arg2: "Maximálna hodnota"
dailyRandomPick: "Náhodný výber zo zoznamu (Mení sa denne pre každého používateľa)"
_dailyRandomPick:
arg1: "Zoznam"
seedRandom: "Náhodne (so seedom)"
_seedRandom:
arg1: "Seed"
arg2: "Pravdepodobnosť"
seedRannum: "Náhodné číslo (so seedom)"
_seedRannum:
arg1: "Seed"
arg2: "Minimálna hodnota"
arg3: "Maximálna hodnota"
seedRandomPick: "Náhodný výber zo zoznamu (so seedom)"
_seedRandomPick:
arg1: "Seed"
arg2: "Zoznam"
DRPWPM: "Náhodný výber z váženého zoznamu (Mení sa denne pre každého používateľa)"
_DRPWPM:
arg1: "Zoznam textov"
pick: "Vybrať zo zoznamu"
_pick:
arg1: "Zoznam"
arg2: "Pozícia"
listLen: "Získať dĺžku zoznamu"
_listLen:
arg1: "Zoznam"
number: "Číslo"
stringToNumber: "Text na číslo"
_stringToNumber:
arg1: "Text"
numberToString: "Číslo na text"
_numberToString:
arg1: "Číslo"
splitStrByLine: "Rozdelí text po riadkoch"
_splitStrByLine:
arg1: "Text"
ref: "Premenné"
aiScriptVar: "AiScript premenná"
fn: "Funkcie"
_fn:
slots: "Sloty"
slots-info: "Oddeľte každý slot novým riadkom"
arg1: "Výstup"
for: "For cyklus"
_for:
arg1: "Počet opakovaní"
arg2: "Akcia"
typeError: "Slot {slot} akceptuje hodnoty typu \"{expect}\", ale dodaná hodnota je typu \"{actual}\"!"
thereIsEmptySlot: "Slot {slot} je prázdny!"
types:
string: "Text"
number: "Číslo"
boolean: "Boolean"
array: "Zoznamy"
stringArray: "Zoznam textov"
emptySlot: "Prázdny slot"
enviromentVariables: "Premenné prostredia"
pageVariables: "Premenné stránky"
argVariables: "Vstupné sloty"
_relayStatus: _relayStatus:
requesting: "Čaká sa" requesting: "Čaká sa"
accepted: "Akceptované" accepted: "Akceptované"
@@ -1401,11 +1684,14 @@ _notification:
youGotReply: "{name} vám odpovedal/a" youGotReply: "{name} vám odpovedal/a"
youGotQuote: "{name} vás citoval/a" youGotQuote: "{name} vás citoval/a"
youRenoted: "{name} preposlal/a vašu poznámku" youRenoted: "{name} preposlal/a vašu poznámku"
youGotPoll: "{name} hlasoval/a"
youGotMessagingMessageFromUser: "{name} vám poslal/a správu"
youGotMessagingMessageFromGroup: "Prišla správa do skupiny {name}"
youWereFollowed: "Máte nového sledujúceho" youWereFollowed: "Máte nového sledujúceho"
youReceivedFollowRequest: "Dostali ste žiadosť o sledovanie" youReceivedFollowRequest: "Dostali ste žiadosť o sledovanie"
yourFollowRequestAccepted: "Vaša žiadosť o sledovanie bola prijatá" yourFollowRequestAccepted: "Vaša žiadosť o sledovanie bola prijatá"
youWereInvitedToGroup: "Pozvať do skupiny"
pollEnded: "Výsledky hlasovania sú k dispozícii." pollEnded: "Výsledky hlasovania sú k dispozícii."
unreadAntennaNote: "Anténa {name}"
emptyPushNotificationMessage: "Push notifikácie aktualizované" emptyPushNotificationMessage: "Push notifikácie aktualizované"
_types: _types:
all: "Všetky" all: "Všetky"
@@ -1415,9 +1701,11 @@ _notification:
renote: "Preposlať" renote: "Preposlať"
quote: "Citovať" quote: "Citovať"
reaction: "Reakcie" reaction: "Reakcie"
pollVote: "Hlasy v hlasovaniach"
pollEnded: "Hlasovanie skončilo" pollEnded: "Hlasovanie skončilo"
receiveFollowRequest: "Doručené žiadosti o sledovanie" receiveFollowRequest: "Doručené žiadosti o sledovanie"
followRequestAccepted: "Schválené žiadosti o sledovanie" followRequestAccepted: "Schválené žiadosti o sledovanie"
groupInvited: "Pozvánky do skupín"
app: "Oznámenia z prepojených aplikácií" app: "Oznámenia z prepojených aplikácií"
_actions: _actions:
followBack: "Sledovať späť\n" followBack: "Sledovať späť\n"
@@ -1447,9 +1735,5 @@ _deck:
tl: "Časová os" tl: "Časová os"
antenna: "Antény" antenna: "Antény"
list: "Zoznam" list: "Zoznam"
channel: "Kanály"
mentions: "Zmienky" mentions: "Zmienky"
direct: "Priame poznámky" direct: "Priame poznámky"
_webhookSettings:
name: "Názov"
active: "Zapnuté"

View File

@@ -1,8 +1,7 @@
--- ---
_lang_: "Svenska" _lang_: "Svenska"
headlineMisskey: "Ett nätverk kopplat av noter" headlineMisskey: "Ett nätverk kopplat av noter"
introMisskey: "Välkommen! Misskey är en öppen och decentraliserad mikrobloggningstjänst.\nSkapa en \"not\" och dela dina tankar med alla runtomkring dig. 📡\nMed \"reaktioner\" kan du snabbt uttrycka dina känslor kring andras noter. 👍\nLåt oss utforska en ny värld! 🚀" introMisskey: "Välkommen! Misskey är en öppen och decentraliserad mikrobloggningstjänst.\nSkapa en \"not\" och dela dina tankar med alla runtomkring dig. 📡\nMed \"reaktioner\" kan du snabbt uttrycka dina känslor kring andras noter.👍\nLåt oss utforska en nya värld!🚀"
poweredByMisskeyDescription: "{name} är en tjänst driven av den öppna källkodsplatformen <b>Misskey</b> (benämns \"Misskey instans\")."
monthAndDay: "{day}/{month}" monthAndDay: "{day}/{month}"
search: "Sök" search: "Sök"
notifications: "Notifikationer" notifications: "Notifikationer"
@@ -13,11 +12,10 @@ fetchingAsApObject: "Hämtar från Fediversum..."
ok: "OK" ok: "OK"
gotIt: "Uppfattat!" gotIt: "Uppfattat!"
cancel: "Avbryt" cancel: "Avbryt"
noThankYou: "Nej tack"
enterUsername: "Ange användarnamn" enterUsername: "Ange användarnamn"
renotedBy: "Omnoterad av {user}" renotedBy: "Omnoterad av {user}"
noNotes: "Inga noteringar" noNotes: "Inga noteringar"
noNotifications: "Inga notifikationer" noNotifications: "Inga aviseringar"
instance: "Instanser" instance: "Instanser"
settings: "Inställningar" settings: "Inställningar"
basicSettings: "Basinställningar" basicSettings: "Basinställningar"
@@ -30,13 +28,13 @@ login: "Logga in"
loggingIn: "Loggar in" loggingIn: "Loggar in"
logout: "Logga ut" logout: "Logga ut"
signup: "Registrera" signup: "Registrera"
uploading: "Laddar upp..." uploading: "Uppladdning sker..."
save: "Spara" save: "Spara"
users: "Användare" users: "Användare"
addUser: "Lägg till användare" addUser: "Lägg till användare"
favorite: "Lägg till i favoriter" favorite: "Lägg till i favoriter"
favorites: "Favoriter" favorites: "Favoriter"
unfavorite: "Ta bort från favoriter" unfavorite: "Avfavorisera"
favorited: "Tillagd i favoriter." favorited: "Tillagd i favoriter."
alreadyFavorited: "Redan tillagd i favoriter." alreadyFavorited: "Redan tillagd i favoriter."
cantFavorite: "Gick inte att lägga till i favoriter." cantFavorite: "Gick inte att lägga till i favoriter."
@@ -49,13 +47,11 @@ deleteAndEdit: "Radera och ändra"
deleteAndEditConfirm: "Är du säker att du vill radera denna not och ändra den? Du kommer förlora alla reaktioner, omnoteringar och svar till den." deleteAndEditConfirm: "Är du säker att du vill radera denna not och ändra den? Du kommer förlora alla reaktioner, omnoteringar och svar till den."
addToList: "Lägg till i lista" addToList: "Lägg till i lista"
sendMessage: "Skicka ett meddelande" sendMessage: "Skicka ett meddelande"
copyRSS: "Kopiera RSS"
copyUsername: "Kopiera användarnamn" copyUsername: "Kopiera användarnamn"
searchUser: "Sök användare" searchUser: "Sök användare"
reply: "Svara" reply: "Svara"
loadMore: "Ladda mer" loadMore: "Ladda mer"
showMore: "Visa mer" showMore: "Visa mer"
showLess: "Stäng"
youGotNewFollower: "följde dig" youGotNewFollower: "följde dig"
receiveFollowRequest: "Följarförfrågan mottagen" receiveFollowRequest: "Följarförfrågan mottagen"
followRequestAccepted: "Följarförfrågan accepterad" followRequestAccepted: "Följarförfrågan accepterad"
@@ -110,7 +106,6 @@ clickToShow: "Klicka för att visa"
sensitive: "Känsligt innehåll" sensitive: "Känsligt innehåll"
add: "Lägg till" add: "Lägg till"
reaction: "Reaktioner" reaction: "Reaktioner"
reactions: "Reaktioner"
reactionSetting: "Reaktioner som ska visas i reaktionsväljaren" reactionSetting: "Reaktioner som ska visas i reaktionsväljaren"
reactionSettingDescription2: "Dra för att omordna, klicka för att radera, tryck \"+\" för att lägga till." reactionSettingDescription2: "Dra för att omordna, klicka för att radera, tryck \"+\" för att lägga till."
rememberNoteVisibility: "Komihåg notvisningsinställningar" rememberNoteVisibility: "Komihåg notvisningsinställningar"
@@ -147,7 +142,7 @@ flagAsBotDescription: "Aktivera det här alternativet om kontot är kontrollerat
flagAsCat: "Markera konto som katt" flagAsCat: "Markera konto som katt"
flagAsCatDescription: "Aktivera denna inställning för att markera kontot som en katt." flagAsCatDescription: "Aktivera denna inställning för att markera kontot som en katt."
flagShowTimelineReplies: "Visa svar i tidslinje" flagShowTimelineReplies: "Visa svar i tidslinje"
flagShowTimelineRepliesDescription: "Visar användarsvar till andra användares noter i tidslinjen om aktiverad." flagShowTimelineRepliesDescription: "Visar användarsvar till andra användares noter i tidslinjen om påslagen."
autoAcceptFollowed: "Godkänn följarförfrågningar från användare du följer automatiskt" autoAcceptFollowed: "Godkänn följarförfrågningar från användare du följer automatiskt"
addAccount: "Lägg till konto" addAccount: "Lägg till konto"
loginFailed: "Inloggningen misslyckades" loginFailed: "Inloggningen misslyckades"
@@ -168,6 +163,7 @@ annotation: "Kommentarer"
federation: "Federation" federation: "Federation"
instances: "Instanser" instances: "Instanser"
registeredAt: "Registrerad på" registeredAt: "Registrerad på"
latestRequestSentAt: "Senaste förfrågan skickad"
latestRequestReceivedAt: "Senaste begäran mottagen" latestRequestReceivedAt: "Senaste begäran mottagen"
latestStatus: "Senaste status" latestStatus: "Senaste status"
storageUsage: "Använt lagringsutrymme" storageUsage: "Använt lagringsutrymme"
@@ -243,156 +239,24 @@ saved: "Sparad"
messaging: "Chatt" messaging: "Chatt"
upload: "Ladda upp" upload: "Ladda upp"
keepOriginalUploading: "Behåll originalbild" keepOriginalUploading: "Behåll originalbild"
keepOriginalUploadingDescription: "Sparar den originellt uppladdade bilden i sitt i befintliga skick. Om avstängd, kommer en webbversion bli genererad vid uppladdning."
fromDrive: "Från Drive"
fromUrl: "Från en länk"
uploadFromUrl: "Ladda upp från länk"
uploadFromUrlDescription: "Länken av filen du vill ladda upp"
uploadFromUrlRequested: "Uppladdning begärd"
uploadFromUrlMayTakeTime: "Det kan ta tid tills att uppladdningen blir klar."
explore: "Utforska"
messageRead: "Läs"
noMoreHistory: "Det finns ingen mer historik"
startMessaging: "Starta en chatt"
nUsersRead: "läst av {n}"
agreeTo: "Jag accepterar {0}"
home: "Hem"
remoteUserCaution: "Då denna användaren kommer från en fjärrinstans, kan informationen visad vara ofullständig."
activity: "Aktivitet"
images: "Bilder"
image: "Bilder"
birthday: "Födelsedag"
yearsOld: "{age} år gammal"
registeredDate: "Gick med"
location: "Plats"
theme: "Teman"
themeForLightMode: "Tema att använda i Ljust Läge"
themeForDarkMode: "Tema att använda i Mörkt Läge"
light: "Ljust"
dark: "Mörk"
lightThemes: "Ljusa teman"
darkThemes: "Mörka teman"
syncDeviceDarkMode: "Synka Mörkt Läge med din enhets inställningar"
drive: "Drive"
fileName: "Filnamn"
selectFile: "Välj en fil"
selectFiles: "Välj filer"
selectFolder: "Välj en mapp"
selectFolders: "Välj mappar"
renameFile: "Byt namn på filen"
folderName: "Mappnamn"
createFolder: "Skapa en mapp"
renameFolder: "Byt namn på mappen"
deleteFolder: "Ta bort mappen"
addFile: "Lägg till fil"
emptyDrive: "Din Drive är tom"
emptyFolder: "Denna mappen är tom"
unableToDelete: "Kunde inte ta bort"
inputNewFileName: "Ange nytt filnamn"
inputNewDescription: "Ange ny bildtext"
inputNewFolderName: "Ange nytt mappnamn"
circularReferenceFolder: "Destinationsmappen är en undermapp av mappen du vill flytta."
hasChildFilesOrFolders: "Då denna mappen inte är tom, kan den inte tas bort."
copyUrl: "Kopiera URL"
rename: "Byt namn"
avatar: "Profilbild"
banner: "Banner"
nsfw: "Känsligt innehåll" nsfw: "Känsligt innehåll"
reload: "Ladda om"
doNothing: "Ignorera"
reloadConfirm: "Vill du ladda om tidslinjen?"
accept: "Tillåt"
reject: "Neka"
normal: "Normal"
instanceName: "Instansnamn"
instanceDescription: "Instansbeskrivning"
maintainerEmail: "Administratörens epost"
tosUrl: "URL till användarvillkår"
thisYear: "Detta året"
thisMonth: "Denna månaden"
today: "Idag"
dayX: "{day}"
monthX: "{month}"
yearX: "{year}"
pages: "Sidor"
integration: "Integrationer"
connectService: "Anslut"
disconnectService: "Koppla från"
enableLocalTimeline: "Aktivera lokal tidslinje"
enableGlobalTimeline: "Aktivera global tidslinje"
enableRegistration: "Aktivera registrering av nya användare"
inMb: "I megabyte"
iconUrl: "URL till profilbilden"
bannerUrl: "URL till banner-bilden"
pinnedNotes: "Fästad not" pinnedNotes: "Fästad not"
enableHcaptcha: "Aktivera hCaptcha"
enableRecaptcha: "Aktivera reCAPTCHA"
enableTurnstile: "Aktivera Turnstile"
antennas: "Antenner"
manageAntennas: "Hantera Antenner"
antennaSource: "Antennkälla"
antennaKeywords: "Nyckelord att lyssna efter"
antennaExcludeKeywords: "Nyckelord att exkludera"
antennaKeywordsDescription: "Separera med mellanslag för en AND kondition, eller med nya linjer för en OR kondition"
notifyAntenna: "Notifiera om nya noter"
withFileAntenna: "Endast noter med filer"
enableServiceworker: "Aktivera pushnotiser i denna webbläsaren"
antennaUsersDescription: "Ange ett användarnamn per linje"
recentlyUpdatedUsers: "Nyligen aktiva användare"
recentlyRegisteredUsers: "Nyligen registrerade användare"
userList: "Listor" userList: "Listor"
aboutMisskey: "Om Misskey"
administrator: "Administratör"
passwordLessLogin: "Lösenordsfri inloggning"
passwordLessLoginDescription: "Tillåter lösenordsfri inloggning med endast en säkerhetsnyckel eller en passkey."
resetPassword: "Återställ Lösenord"
newPasswordIs: "Det nya lösenordet är \"{password}\""
share: "Dela"
enable: "Aktivera"
weakPassword: "Svagt Lösenord"
normalPassword: "Medel Lösenord"
strongPassword: "Starkt Lösenord"
signinFailed: "Kan inte logga in. Det angivna användarnamnet eller lösenordet är felaktigt."
serviceworkerInfo: "Måste vara aktiverad för pushnotiser."
enableInfiniteScroll: "Ladda mer automatiskt"
enablePlayer: "Öppna videospelare"
enableAll: "Aktivera alla"
enableEmail: "Aktivera epost-utskick"
smtpHost: "Värd" smtpHost: "Värd"
smtpUser: "Användarnamn" smtpUser: "Användarnamn"
smtpPass: "Lösenord" smtpPass: "Lösenord"
emptyToDisableSmtpAuth: "Lämna användarnamn och lösenord tomt för att avaktivera SMTP verifiering"
clearCache: "Rensa cache" clearCache: "Rensa cache"
onlineUsersCount: "{n} användare är online"
enabled: "Aktiverad"
user: "Användare" user: "Användare"
global: "Global"
squareAvatars: "Visa fyrkantiga profilbilder"
incorrectPassword: "Fel lösenord."
searchByGoogle: "Sök" searchByGoogle: "Sök"
file: "Filer" file: "Filer"
enableAutoSensitive: "Automatisk NSFW markering"
enableAutoSensitiveDescription: "Tillåter automatiskt detektering och marketing av NSFW media genom Maskininlärning när möjligt. Även om denna inställningen är avaktiverad, kan det vara aktiverat på hela instansen."
pushNotification: "Pushnotiser"
subscribePushNotification: "Aktivera pushnotiser"
unsubscribePushNotification: "Avaktivera pushnotiser"
pushNotificationAlreadySubscribed: "Pushnotiser är redan aktiverade"
pushNotificationNotSupported: "Din webbläsare eller instans har inte stöd för pushnotiser"
windowMaximize: "Maximera"
windowMinimize: "Minimera"
windowRestore: "Återställ"
resetPasswordConfirm: "Återställ verkligen ditt lösenord?"
_achievements:
_types:
_open3windows:
title: "Flera Fönster"
description: "Ha minst 3 fönster öppna samtidigt"
_email: _email:
_follow: _follow:
title: "följde dig" title: "följde dig"
_channel: _mfm:
setBanner: "Välj banner" mention: "Nämn"
removeBanner: "Ta bort banner" quote: "Citat"
emoji: "Anpassa emoji"
search: "Sök"
_theme: _theme:
keys: keys:
mention: "Nämn" mention: "Nämn"
@@ -401,51 +265,45 @@ _sfx:
note: "Noter" note: "Noter"
notification: "Notifikationer" notification: "Notifikationer"
chat: "Chatt" chat: "Chatt"
antenna: "Antenner"
_2fa:
passwordToTOTP: "Skriv in ditt lösenord"
renewTOTPCancel: "Nej tack"
_antennaSources:
all: "Alla noter"
homeTimeline: "Noter från följda användare"
users: "Noter från specifika användare"
userList: "Noter från en specificerad lista av användare"
_widgets: _widgets:
profile: "Profil"
instanceInfo: "Instansinformation"
notifications: "Notifikationer" notifications: "Notifikationer"
timeline: "Tidslinje" timeline: "Tidslinje"
activity: "Aktivitet"
federation: "Federation" federation: "Federation"
jobQueue: "Jobbkö" jobQueue: "Jobbkö"
_userList:
chooseList: "Välj lista"
_cw: _cw:
show: "Ladda mer" show: "Ladda mer"
_visibility: _visibility:
home: "Hem"
followers: "Följare" followers: "Följare"
_profile: _profile:
username: "Användarnamn" username: "Användarnamn"
changeAvatar: "Ändra profilbild"
changeBanner: "Ändra banner"
_exportOrImport: _exportOrImport:
allNotes: "Alla noter"
followingList: "Följer" followingList: "Följer"
muteList: "Tysta" muteList: "Tysta"
blockingList: "Blockera" blockingList: "Blockera"
userLists: "Listor" userLists: "Listor"
_charts: _charts:
federation: "Federation" federation: "Federation"
_timelines:
home: "Hem"
global: "Global"
_pages: _pages:
blocks: script:
image: "Bilder" categories:
list: "Listor"
blocks:
_join:
arg1: "Listor"
_randomPick:
arg1: "Listor"
_dailyRandomPick:
arg1: "Listor"
_seedRandomPick:
arg2: "Listor"
_pick:
arg1: "Listor"
_listLen:
arg1: "Listor"
types:
array: "Listor"
_notification: _notification:
youWereFollowed: "följde dig" youWereFollowed: "följde dig"
unreadAntennaNote: "Antenn {name}"
_types: _types:
follow: "Följer" follow: "Följer"
mention: "Nämn" mention: "Nämn"
@@ -459,8 +317,5 @@ _deck:
_columns: _columns:
notifications: "Notifikationer" notifications: "Notifikationer"
tl: "Tidslinje" tl: "Tidslinje"
antenna: "Antenner"
list: "Listor" list: "Listor"
mentions: "Omnämningar" mentions: "Omnämningar"
_webhookSettings:
active: "Aktiverad"

File diff suppressed because it is too large Load Diff

View File

@@ -48,10 +48,11 @@ smtpUser: "Kullanıcı Adı"
smtpPass: "Şifre" smtpPass: "Şifre"
user: "Kullanıcı" user: "Kullanıcı"
searchByGoogle: "Arama" searchByGoogle: "Arama"
_mfm:
search: "Arama"
_sfx: _sfx:
notification: "Bildirim" notification: "Bildirim"
_widgets: _widgets:
profile: "Profil"
notifications: "Bildirim" notifications: "Bildirim"
timeline: "Zaman çizelgesi" timeline: "Zaman çizelgesi"
_profile: _profile:

View File

@@ -2,3 +2,5 @@
_lang_: "ياپونچە" _lang_: "ياپونچە"
search: "ئىزدەش" search: "ئىزدەش"
searchByGoogle: "ئىزدەش" searchByGoogle: "ئىزدەش"
_mfm:
search: "ئىزدەش"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,69 +1,50 @@
{ {
"name": "misskey", "name": "misskey",
"version": "13.13.0-beta.3", "version": "12.119.2",
"codename": "nasubi", "codename": "indigo",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/misskey-dev/misskey.git" "url": "https://github.com/misskey-dev/misskey.git"
}, },
"packageManager": "pnpm@8.5.1",
"workspaces": [
"packages/frontend",
"packages/backend",
"packages/sw"
],
"private": true, "private": true,
"scripts": { "scripts": {
"build-pre": "node ./scripts/build-pre.js", "postinstall": "node ./scripts/install-packages.js",
"build": "pnpm build-pre && pnpm -r build && pnpm gulp", "build": "node ./scripts/build.js",
"build-storybook": "pnpm --filter frontend build-storybook", "start": "cd packages/backend && node --experimental-json-modules ./built/index.js",
"start": "pnpm check:connect && cd packages/backend && node ./built/boot/index.js", "start:test": "cd packages/backend && cross-env NODE_ENV=test node --experimental-json-modules ./built/index.js",
"start:test": "cd packages/backend && cross-env NODE_ENV=test node ./built/boot/index.js", "init": "npm run migrate",
"init": "pnpm migrate", "migrate": "cd packages/backend && npx typeorm migration:run -d ormconfig.js",
"migrate": "cd packages/backend && pnpm migrate", "migrateandstart": "npm run migrate && npm run start",
"check:connect": "cd packages/backend && pnpm check:connect", "gulp": "gulp build",
"migrateandstart": "pnpm migrate && pnpm start", "watch": "npm run dev",
"gulp": "pnpm exec gulp build",
"watch": "pnpm dev",
"dev": "node ./scripts/dev.js", "dev": "node ./scripts/dev.js",
"lint": "pnpm -r lint", "lint": "node ./scripts/lint.js",
"cy:open": "pnpm cypress open --browser --e2e --config-file=cypress.config.ts", "cy:open": "cypress open --browser --e2e --config-file=cypress.config.ts",
"cy:run": "pnpm cypress run", "cy:run": "cypress run",
"e2e": "pnpm start-server-and-test start:test http://localhost:61812 cy:run", "e2e": "start-server-and-test start:test http://localhost:61812 cy:run",
"jest": "cd packages/backend && pnpm jest", "mocha": "cd packages/backend && cross-env NODE_ENV=test TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT=\"./test/tsconfig.json\" npx mocha",
"jest-and-coverage": "cd packages/backend && pnpm jest-and-coverage", "test": "npm run mocha",
"test": "pnpm -r test", "format": "gulp format",
"test-and-coverage": "pnpm -r test-and-coverage",
"format": "pnpm exec gulp format",
"clean": "node ./scripts/clean.js", "clean": "node ./scripts/clean.js",
"clean-all": "node ./scripts/clean-all.js", "clean-all": "node ./scripts/clean-all.js",
"cleanall": "pnpm clean-all" "cleanall": "npm run clean-all"
},
"resolutions": {
"chokidar": "3.5.3",
"lodash": "4.17.21"
}, },
"dependencies": { "dependencies": {
"execa": "5.1.1", "execa": "5.1.1",
"gulp": "4.0.2", "gulp": "4.0.2",
"gulp-cssnano": "2.1.3", "gulp-cssnano": "2.1.3",
"gulp-rename": "2.0.0", "gulp-rename": "2.0.0",
"gulp-replace": "1.1.4", "gulp-replace": "1.1.3",
"gulp-terser": "2.1.0", "gulp-terser": "2.1.0",
"js-yaml": "4.1.0", "js-yaml": "4.1.0"
"typescript": "5.0.4"
}, },
"devDependencies": { "devDependencies": {
"@types/gulp": "4.0.10", "@types/gulp": "4.0.9",
"@types/gulp-rename": "2.0.1", "@types/gulp-rename": "2.0.1",
"@typescript-eslint/eslint-plugin": "5.59.5", "@typescript-eslint/parser": "5.36.2",
"@typescript-eslint/parser": "5.59.5",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"cypress": "12.12.0", "cypress": "10.7.0",
"eslint": "8.40.0", "start-server-and-test": "1.14.0",
"start-server-and-test": "2.0.0" "typescript": "4.8.3"
},
"optionalDependencies": {
"@tensorflow/tfjs-core": "4.4.0"
} }
} }

View File

@@ -1,7 +1,7 @@
module.exports = { module.exports = {
parserOptions: { parserOptions: {
tsconfigRootDir: __dirname, tsconfigRootDir: __dirname,
project: ['./tsconfig.json', './test/tsconfig.json'], project: ['./tsconfig.json'],
}, },
extends: [ extends: [
'../shared/.eslintrc.js', '../shared/.eslintrc.js',

View File

@@ -1,3 +0,0 @@
{
"tsConfig": "./tsconfig.json"
}

View File

@@ -0,0 +1,10 @@
{
"extension": ["ts","js","cjs","mjs"],
"node-option": [
"experimental-specifier-resolution=node",
"loader=./test/loader.js"
],
"slow": 1000,
"timeout": 30000,
"exit": true
}

2
packages/backend/.npmrc Normal file
View File

@@ -0,0 +1,2 @@
save-exact = true
package-lock = false

View File

@@ -1,23 +0,0 @@
{
"$schema": "https://json.schemastore.org/swcrc",
"jsc": {
"parser": {
"syntax": "typescript",
"dynamicImport": true,
"decorators": true
},
"transform": {
"legacyDecorator": true,
"decoratorMetadata": true
},
"experimental": {
"keepImportAssertions": true
},
"baseUrl": "src",
"paths": {
"@/*": ["*"]
},
"target": "es2021"
},
"minify": false
}

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