```
-作成されたスクリプトは不必要な変更を含むため除去してください。
+- 生成後、ファイルをmigration下に移してください
+- 作成されたスクリプトは不必要な変更を含むため除去してください
+
+### コネクションには`markRaw`せよ
+**Vueのコンポーネントのdataオプションとして**misskey.jsのコネクションを設定するとき、必ず`markRaw`でラップしてください。インスタンスが不必要にリアクティブ化されることで、misskey.js内の処理で不具合が発生するとともに、パフォーマンス上の問題にも繋がる。なお、Composition APIを使う場合はこの限りではない(リアクティブ化はマニュアルなため)。
+
+### JSONのimportに気を付けよう
+TypeScriptでjsonをimportすると、tscでコンパイルするときにそのjsonファイルも一緒にdistディレクトリに吐き出されてしまう。この挙動により、意図せずファイルの書き換えが発生することがあるので、jsonをimportするときは書き換えられても良いものかどうか確認すること。書き換えされて欲しくない場合は、importで読み込むのではなく、`fs.readFileSync`などの関数を使って読み込むようにすればよい。
+
+### コンポーネントのスタイル定義でmarginを持たせない
+コンポーネント自身がmarginを設定するのは問題の元となることはよく知られている
+marginはそのコンポーネントを使う側が設定する
## その他
### HTMLのクラス名で follow という単語は使わない
diff --git a/COPYING b/COPYING
index 5abc3e989..afa179459 100644
--- a/COPYING
+++ b/COPYING
@@ -1,15 +1,11 @@
Unless otherwise stated this repository is
-Copyright © 2014-2020 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.
Misskey includes several third-party Open-Source softwares.
-Unicode emoji regular expressions by Twitter, Inc.
-License: MIT
-https://github.com/twitter/twemoji-parser/blob/master/LICENSE.md
-
Emoji keywords for Unicode 11 and below by Mu-An Chiou
License: MIT
https://github.com/muan/emojilib/blob/master/LICENSE
@@ -17,3 +13,7 @@ https://github.com/muan/emojilib/blob/master/LICENSE
RsaSignature2017 implementation by Transmute Industries Inc
License: MIT
https://github.com/transmute-industries/RsaSignature2017/blob/master/LICENSE
+
+Machine learning model for sensitive images by Infinite Red, Inc.
+License: MIT
+https://github.com/infinitered/nsfwjs/blob/master/LICENSE
diff --git a/Dockerfile b/Dockerfile
index ee60e97fc..81dc72637 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,41 +1,32 @@
-FROM node:14.15.1-alpine AS base
+FROM node:16.15.1-bullseye AS builder
-ENV NODE_ENV=production
+ARG NODE_ENV=production
WORKDIR /misskey
-FROM base AS builder
-
-RUN apk add --no-cache \
- autoconf \
- automake \
- file \
- git \
- g++ \
- gcc \
- libc-dev \
- libtool \
- make \
- nasm \
- pkgconfig \
- python \
- zlib-dev
-
-COPY package.json yarn.lock ./
-RUN yarn install
COPY . ./
+
+RUN apt-get update
+RUN apt-get install -y build-essential
+RUN git submodule update --init
+RUN yarn install
RUN yarn build
+RUN rm -rf .git
-FROM base AS runner
+FROM node:16.15.1-bullseye-slim AS runner
-RUN apk add --no-cache \
- ffmpeg \
- tini
-RUN npm i -g web-push
-ENTRYPOINT ["/sbin/tini", "--"]
+WORKDIR /misskey
+
+RUN apt-get update
+RUN apt-get install -y ffmpeg tini
COPY --from=builder /misskey/node_modules ./node_modules
COPY --from=builder /misskey/built ./built
+COPY --from=builder /misskey/packages/backend/node_modules ./packages/backend/node_modules
+COPY --from=builder /misskey/packages/backend/built ./packages/backend/built
+COPY --from=builder /misskey/packages/client/node_modules ./packages/client/node_modules
COPY . ./
+ENV NODE_ENV=production
+ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["npm", "run", "migrateandstart"]
diff --git a/README.md b/README.md
index 6c7d481cf..c27327064 100644
--- a/README.md
+++ b/README.md
@@ -1,226 +1,57 @@
-
-
-[](https://join.misskey.page/)
-================================================================
-
-[](https://circleci.com/gh/syuilo/misskey)
-[](https://david-dm.org/syuilo/misskey)
-[](http://makeapullrequest.com)
-[](https://github.com/humanetech-community/awesome-humane-tech)
-
-**A forever evolving, interplanetary microblogging platform.**
-
-
-Misskey is a decentralized microblogging platform born on Earth.
-Since it exists within the Fediverse (a universe where various social media platforms are organized),
-it is mutually linked with other social media platforms.
-Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet? Find an instance!
-
-
-
-
-
-
-:sparkles: Features
-----------------------------------------------------------------
-
-
-
-Posting
-
-Post your ideas, discussion topics, fun moments, or anything else you want to share! Misskey supports text, emoji, pictures, videos, and polls!
-
-
+
+
+
+
+
+**🌎 **[Misskey](https://misskey-hub.net/)** is an open source, decentralized social media platform that's free forever! 🚀**
+
---
-
+
+
-
Reactions
-
-Reactions are the simplest way to respond to others' posts. Simply pick a reaction emote from the list! Reactions on Misskey are much more expressive than other social media services which only allow “liking”.
-
+
+
+
+
+
+
+
+
+
+
+
---
-
+
-Interface
-
-Customize the UI to your own tastes! No UI will work for everyone, so Misskey is completely customizable. Make Misskey *yours* by editing the style, adjusting timeline layouts, and placing widgets.
-
+
----
+
-
+## ✨ Features
+- **ActivityPub support**\
+Not on Misskey? No problem! Not only can Misskey instances talk to each other, but you can make friends with people on other networks like Mastodon and Pixelfed!
+- **Reactions**\
+You can add emoji reactions to any post! No longer are you bound by a like button, show everyone exactly how you feel with the tap of a button.
+- **Drive**\
+With Misskey's built in drive, you get cloud storage right in your social media, where you can upload any files, make folders, and find media from posts you've made!
+- **Rich Web UI**\
+ Misskey has a rich and easy to use Web UI!
+ It is highly customizable, from changing the layout and adding widgets to making custom themes.
+ Furthermore, plugins can be created using AiScript, an original programming language.
+- And much more...
-
Misskey Drive
-
-Organize and store your files! Want to post a picture you have already uploaded? Wish you could organize your files into folders? Misskey Drive is a solution!
-
+
----
+
-...and more! Experience Misskey with your own eyes at [misskey.io](https://misskey.io/) or join one of the [other instances](https://joinmisskey.github.io/) that are available.
+## Documentation
-To recive updates of this repo, follow [@repo@misskey.io](https://misskey.io/@repo) on fediverse.
+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.
-Screen shots
-----------------------------------------------------------------
-### Profile page
-
-
-### Explore users
-
-
-:new: What's new
-----------------------------------------------------------------
-Please see the [Release notes](./CHANGELOG.md).
-
-:package: Create your own instance
-----------------------------------------------------------------
-Please see the [Setup and Installation Guide](./docs/setup.en.md).
-
-:wrench: Contribution
-----------------------------------------------------------------
-Please see the [Contribution Guide](./CONTRIBUTING.md).
-
-### Collaborators
-
-
-:heart: Backers
-----------------------------------------------------------------
-
-
-
-
-
-
-
-**Last updated:** Sun, 26 Jul 2020 07:00:10 UTC
-
-
-[backer-url]: #backers
-[backer-badge]: https://opencollective.com/misskey/backers/badge.svg
-[backers-image]: https://opencollective.com/misskey/backers.svg
-[sponsor-url]: #sponsors
-[sponsor-badge]: https://opencollective.com/misskey/sponsors/badge.svg
-[sponsors-image]: https://opencollective.com/misskey/sponsors.svg
-[support-url]: https://opencollective.com/misskey#support
-
-[syuilo-link]: https://syuilo.com
-[syuilo-icon]: https://avatars2.githubusercontent.com/u/4439005?v=3&s=70
+## Sponsors
+
+
+
diff --git a/ROADMAP.md b/ROADMAP.md
new file mode 100644
index 000000000..b2c5c8757
--- /dev/null
+++ b/ROADMAP.md
@@ -0,0 +1,42 @@
+# Roadmap
+The order of individual tasks is a guide only and is subject to change depending on the situation.
+Also, the later tasks are more indefinite and are subject to change as development progresses.
+
+## (1) Improve maintainability \
+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)
+ - 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
+ - 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
+ - Add more tests
+ - May need to implement a mechanism that allows for DI
+ - https://github.com/misskey-dev/misskey/pull/9085
+ - Measure coverage
+ - https://github.com/misskey-dev/misskey/pull/9081
+- Improve documentation
+- Refactoring
+ - Extract the logic of each endpoint definition into a service and just call it
+
+## (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.
+
+- Improve features for moderation
+- OAuth2 support https://github.com/misskey-dev/misskey/issues/8262
+- GraphQL support?
+
+## (3) Improve scalability
+Once the development of the feature has settled down, this may be an opportunity to make larger modifications.
+
+- Rewriting in Rust?
+
+## (4) Change the world
+It is time to promote Misskey and change the world.
+
+- Become more major than services such as Twitter and become critical infrastructure for the world
+- MiOS will be developed and integrated into various systems - What is MiOS?
+- Letting Ai-chan interfere with the real world
+- Make Misskey a member of GAFA; Misskey's office must be a reinforced concrete brutalist building with a courtyard.
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 000000000..2c026a5f3
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,9 @@
+# Reporting Security Issues
+
+If you discover a security issue in Misskey, please report it by sending an
+email to [syuilotan@yahoo.co.jp](mailto:syuilotan@yahoo.co.jp).
+
+This will allow us to assess the risk, and make a fix available before we add a
+bug report to the GitHub repository.
+
+Thanks for helping make Misskey safe for everyone.
diff --git a/assets/apple-touch-icon.png b/assets/apple-touch-icon.png
deleted file mode 100644
index 735a015fd..000000000
Binary files a/assets/apple-touch-icon.png and /dev/null differ
diff --git a/assets/banner.afdesign b/assets/banner.afdesign
new file mode 100644
index 000000000..08b5c1b4a
Binary files /dev/null and b/assets/banner.afdesign differ
diff --git a/assets/icons/192.png b/assets/icons/192.png
deleted file mode 100644
index ac09ff502..000000000
Binary files a/assets/icons/192.png and /dev/null differ
diff --git a/assets/icons/512.png b/assets/icons/512.png
deleted file mode 100644
index 29c9f32e5..000000000
Binary files a/assets/icons/512.png and /dev/null differ
diff --git a/assets/title_float.svg b/assets/title_float.svg
new file mode 100644
index 000000000..43205ac1c
--- /dev/null
+++ b/assets/title_float.svg
@@ -0,0 +1,67 @@
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chart/Chart.yaml b/chart/Chart.yaml
new file mode 100644
index 000000000..8f31cf7fb
--- /dev/null
+++ b/chart/Chart.yaml
@@ -0,0 +1,3 @@
+apiVersion: v2
+name: misskey
+version: 0.0.0
diff --git a/chart/files/default.yml b/chart/files/default.yml
new file mode 100644
index 000000000..a9ef22f42
--- /dev/null
+++ b/chart/files/default.yml
@@ -0,0 +1,165 @@
+#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+# 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 supports two deployment options for public.
+#
+
+# Option 1: With Reverse Proxy
+#
+# +----- https://example.tld/ ------------+
+# +------+ |+-------------+ +----------------+|
+# | User | ---> || Proxy (443) | ---> | Misskey (3000) ||
+# +------+ |+-------------+ +----------------+|
+# +---------------------------------------+
+#
+# You need to setup reverse proxy. (eg. nginx)
+# You do not define 'https' section.
+
+# Option 2: Standalone
+#
+# +- https://example.tld/ -+
+# +------+ | +---------------+ |
+# | User | ---> | | Misskey (443) | |
+# +------+ | +---------------+ |
+# +------------------------+
+#
+# You need to run Misskey as root.
+# You need to set Certificate in 'https' section.
+
+# To use option 1, uncomment below line.
+port: 3000 # A port that your Misskey server should listen.
+
+# To use option 2, uncomment below lines.
+#port: 443
+
+#https:
+# # path for certification
+# key: /etc/letsencrypt/live/example.tld/privkey.pem
+# cert: /etc/letsencrypt/live/example.tld/fullchain.pem
+
+# ┌──────────────────────────┐
+#───┘ PostgreSQL configuration └────────────────────────────────
+
+db:
+ host: localhost
+ 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
+
+# ┌─────────────────────┐
+#───┘ Redis configuration └─────────────────────────────────────
+
+redis:
+ host: localhost
+ port: 6379
+ #pass: example-pass
+ #prefix: example-prefix
+ #db: 1
+
+# ┌─────────────────────────────┐
+#───┘ Elasticsearch configuration └─────────────────────────────
+
+#elasticsearch:
+# host: localhost
+# port: 9200
+# ssl: false
+# user:
+# pass:
+
+# ┌───────────────┐
+#───┘ 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
+
+# Syslog option
+#syslog:
+# host: localhost
+# port: 514
+
+# Proxy for HTTP/HTTPS
+#proxy: http://127.0.0.1:3128
+
+#proxyBypassHosts: [
+# 'example.com',
+# '192.0.2.8'
+#]
+
+# 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
+
+# Sign to ActivityPub GET request (default: false)
+#signToActivityPubGet: true
+
+#allowedPrivateNetworks: [
+# '127.0.0.1/32'
+#]
+
+# Upload or download file size limits (bytes)
+#maxFileSize: 262144000
diff --git a/chart/templates/ConfigMap.yml b/chart/templates/ConfigMap.yml
new file mode 100644
index 000000000..37c25e086
--- /dev/null
+++ b/chart/templates/ConfigMap.yml
@@ -0,0 +1,8 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "misskey.fullname" . }}-configuration
+data:
+ default.yml: |-
+ {{ .Files.Get "files/default.yml"|nindent 4 }}
+ url: {{ .Values.url }}
diff --git a/chart/templates/Deployment.yml b/chart/templates/Deployment.yml
new file mode 100644
index 000000000..d16aece91
--- /dev/null
+++ b/chart/templates/Deployment.yml
@@ -0,0 +1,47 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "misskey.fullname" . }}
+ labels:
+ {{- include "misskey.labels" . | nindent 4 }}
+spec:
+ selector:
+ matchLabels:
+ {{- include "misskey.selectorLabels" . | nindent 6 }}
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ {{- include "misskey.selectorLabels" . | nindent 8 }}
+ spec:
+ containers:
+ - name: misskey
+ image: {{ .Values.image }}
+ env:
+ - name: NODE_ENV
+ value: {{ .Values.environment }}
+ volumeMounts:
+ - name: {{ include "misskey.fullname" . }}-configuration
+ mountPath: /misskey/.config
+ readOnly: true
+ ports:
+ - containerPort: 3000
+ - name: postgres
+ image: postgres:14-alpine
+ env:
+ - name: POSTGRES_USER
+ value: "example-misskey-user"
+ - name: POSTGRES_PASSWORD
+ value: "example-misskey-pass"
+ - name: POSTGRES_DB
+ value: "misskey"
+ ports:
+ - containerPort: 5432
+ - name: redis
+ image: redis:alpine
+ ports:
+ - containerPort: 6379
+ volumes:
+ - name: {{ include "misskey.fullname" . }}-configuration
+ configMap:
+ name: {{ include "misskey.fullname" . }}-configuration
diff --git a/chart/templates/Service.yml b/chart/templates/Service.yml
new file mode 100644
index 000000000..320958129
--- /dev/null
+++ b/chart/templates/Service.yml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "misskey.fullname" . }}
+ annotations:
+ dev.okteto.com/auto-ingress: "true"
+spec:
+ type: ClusterIP
+ ports:
+ - port: 3000
+ protocol: TCP
+ name: http
+ selector:
+ {{- include "misskey.selectorLabels" . | nindent 4 }}
diff --git a/chart/templates/_helpers.tpl b/chart/templates/_helpers.tpl
new file mode 100644
index 000000000..a5a2499f3
--- /dev/null
+++ b/chart/templates/_helpers.tpl
@@ -0,0 +1,62 @@
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "misskey.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "misskey.fullname" -}}
+{{- if .Values.fullnameOverride }}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- $name := default .Chart.Name .Values.nameOverride }}
+{{- if contains $name .Release.Name }}
+{{- .Release.Name | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
+{{- end }}
+{{- end }}
+{{- end }}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "misskey.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+{{/*
+Common labels
+*/}}
+{{- define "misskey.labels" -}}
+helm.sh/chart: {{ include "misskey.chart" . }}
+{{ include "misskey.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end }}
+
+{{/*
+Selector labels
+*/}}
+{{- define "misskey.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "misskey.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end }}
+
+{{/*
+Create the name of the service account to use
+*/}}
+{{- define "misskey.serviceAccountName" -}}
+{{- if .Values.serviceAccount.create }}
+{{- default (include "misskey.fullname" .) .Values.serviceAccount.name }}
+{{- else }}
+{{- default "default" .Values.serviceAccount.name }}
+{{- end }}
+{{- end }}
diff --git a/chart/values.yml b/chart/values.yml
new file mode 100644
index 000000000..a7031538a
--- /dev/null
+++ b/chart/values.yml
@@ -0,0 +1,3 @@
+url: https://example.tld/
+image: okteto.dev/misskey
+environment: production
diff --git a/crowdin.yml b/crowdin.yml
index 160b9184d..774ddc7a6 100644
--- a/crowdin.yml
+++ b/crowdin.yml
@@ -2,6 +2,3 @@ files:
- source: /locales/ja-JP.yml
translation: /locales/%locale%.yml
update_option: update_as_unapproved
- - source: /src/docs/ja-JP/*.md
- translation: /src/docs/%locale%/%original_file_name%
- update_option: update_as_unapproved
diff --git a/cypress.config.ts b/cypress.config.ts
new file mode 100644
index 000000000..e390c41a5
--- /dev/null
+++ b/cypress.config.ts
@@ -0,0 +1,12 @@
+import { defineConfig } from 'cypress'
+
+export default defineConfig({
+ e2e: {
+ // We've imported your old cypress plugins here.
+ // You may want to clean this up later by importing these.
+ setupNodeEvents(on, config) {
+ return require('./cypress/plugins/index.js')(on, config)
+ },
+ baseUrl: 'http://localhost:61812',
+ },
+})
diff --git a/cypress/e2e/basic.cy.js b/cypress/e2e/basic.cy.js
new file mode 100644
index 000000000..eb5195c4b
--- /dev/null
+++ b/cypress/e2e/basic.cy.js
@@ -0,0 +1,149 @@
+describe('Before setup instance', () => {
+ beforeEach(() => {
+ cy.resetState();
+ });
+
+ afterEach(() => {
+ // テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
+ // waitを入れることでそれを防止できる
+ cy.wait(1000);
+ });
+
+ it('successfully loads', () => {
+ cy.visit('/');
+ });
+
+ it('setup instance', () => {
+ cy.visit('/');
+
+ cy.intercept('POST', '/api/admin/accounts/create').as('signup');
+
+ cy.get('[data-cy-admin-username] input').type('admin');
+ cy.get('[data-cy-admin-password] input').type('admin1234');
+ cy.get('[data-cy-admin-ok]').click();
+
+ // なぜか動かない
+ //cy.wait('@signup').should('have.property', 'response.statusCode');
+ cy.wait('@signup');
+ });
+});
+
+describe('After setup instance', () => {
+ beforeEach(() => {
+ cy.resetState();
+
+ // インスタンス初期セットアップ
+ cy.registerUser('admin', 'pass', true);
+ });
+
+ afterEach(() => {
+ // テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
+ // waitを入れることでそれを防止できる
+ cy.wait(1000);
+ });
+
+ it('successfully loads', () => {
+ cy.visit('/');
+ });
+
+ it('signup', () => {
+ cy.visit('/');
+
+ cy.intercept('POST', '/api/signup').as('signup');
+
+ cy.get('[data-cy-signup]').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]').click();
+
+ cy.wait('@signup');
+ });
+});
+
+describe('After user signup', () => {
+ beforeEach(() => {
+ cy.resetState();
+
+ // インスタンス初期セットアップ
+ cy.registerUser('admin', 'pass', true);
+
+ // ユーザー作成
+ cy.registerUser('alice', 'alice1234');
+ });
+
+ afterEach(() => {
+ // テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
+ // waitを入れることでそれを防止できる
+ cy.wait(1000);
+ });
+
+ it('successfully loads', () => {
+ cy.visit('/');
+ });
+
+ it('signin', () => {
+ cy.visit('/');
+
+ cy.intercept('POST', '/api/signin').as('signin');
+
+ cy.get('[data-cy-signin]').click();
+ cy.get('[data-cy-signin-username] input').type('alice');
+ // Enterキーでサインインできるかの確認も兼ねる
+ cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
+
+ cy.wait('@signin');
+ });
+
+ it('suspend', function() {
+ cy.request('POST', '/api/admin/suspend-user', {
+ i: this.admin.token,
+ userId: this.alice.id,
+ });
+
+ cy.visit('/');
+
+ cy.get('[data-cy-signin]').click();
+ cy.get('[data-cy-signin-username] input').type('alice');
+ cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
+
+ // TODO: cypressにブラウザの言語指定できる機能が実装され次第英語のみテストするようにする
+ cy.contains(/アカウントが凍結されています|This account has been suspended due to/gi);
+ });
+});
+
+describe('After user singed in', () => {
+ beforeEach(() => {
+ cy.resetState();
+
+ // インスタンス初期セットアップ
+ cy.registerUser('admin', 'pass', true);
+
+ // ユーザー作成
+ cy.registerUser('alice', 'alice1234');
+
+ cy.login('alice', 'alice1234');
+ });
+
+ afterEach(() => {
+ // テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
+ // waitを入れることでそれを防止できる
+ cy.wait(1000);
+ });
+
+ it('successfully loads', () => {
+ cy.get('[data-cy-open-post-form]').should('be.visible');
+ });
+
+ it('note', () => {
+ cy.get('[data-cy-open-post-form]').click();
+ cy.get('[data-cy-post-form-text]').type('Hello, Misskey!');
+ cy.get('[data-cy-open-post-form-submit]').click();
+
+ cy.contains('Hello, Misskey!');
+ });
+});
+
+// TODO: 投稿フォームの公開範囲指定のテスト
+// TODO: 投稿フォームのファイル添付のテスト
+// TODO: 投稿フォームのハッシュタグ保持フィールドのテスト
diff --git a/cypress/e2e/widgets.cy.js b/cypress/e2e/widgets.cy.js
new file mode 100644
index 000000000..56ad95ee9
--- /dev/null
+++ b/cypress/e2e/widgets.cy.js
@@ -0,0 +1,65 @@
+describe('After user signed in', () => {
+ beforeEach(() => {
+ cy.resetState();
+ cy.viewport('macbook-16');
+
+ // インスタンス初期セットアップ
+ cy.registerUser('admin', 'pass', true);
+
+ // ユーザー作成
+ cy.registerUser('alice', 'alice1234');
+
+ cy.login('alice', 'alice1234');
+ });
+
+ afterEach(() => {
+ // テスト終了直前にページ遷移するようなテストケース(例えばアカウント作成)だと、たぶんCypressのバグでブラウザの内容が次のテストケースに引き継がれてしまう(例えばアカウントが作成し終わった段階からテストが始まる)。
+ // waitを入れることでそれを防止できる
+ cy.wait(1000);
+ });
+
+ it('widget edit toggle is visible', () => {
+ cy.get('.mk-widget-edit').should('be.visible');
+ });
+
+ it('widget select should be visible in edit mode', () => {
+ cy.get('.mk-widget-edit').click();
+ cy.get('.mk-widget-select').should('be.visible');
+ });
+
+ it('first widget should be removed', () => {
+ cy.get('.mk-widget-edit').click();
+ cy.get('.customize-container:first-child .remove._button').click();
+ cy.get('.customize-container').should('have.length', 2);
+ });
+
+ function buildWidgetTest(widgetName) {
+ it(`${widgetName} widget should get added`, () => {
+ cy.get('.mk-widget-edit').click();
+ cy.get('.mk-widget-select select').select(widgetName, { force: true });
+ cy.get('.bg._modalBg.transparent').click({ multiple: true, force: true });
+ cy.get('.mk-widget-add').click({ force: true });
+ cy.get(`.mkw-${widgetName}`).should('exist');
+ });
+ }
+
+ buildWidgetTest('memo');
+ buildWidgetTest('notifications');
+ buildWidgetTest('timeline');
+ buildWidgetTest('calendar');
+ buildWidgetTest('rss');
+ buildWidgetTest('trends');
+ buildWidgetTest('clock');
+ buildWidgetTest('activity');
+ buildWidgetTest('photos');
+ buildWidgetTest('digitalClock');
+ buildWidgetTest('federation');
+ buildWidgetTest('postForm');
+ buildWidgetTest('slideshow');
+ buildWidgetTest('serverMetric');
+ buildWidgetTest('onlineUsers');
+ buildWidgetTest('jobQueue');
+ buildWidgetTest('button');
+ buildWidgetTest('aiscript');
+ buildWidgetTest('aichan');
+});
diff --git a/cypress/fixtures/example.json b/cypress/fixtures/example.json
new file mode 100644
index 000000000..02e425437
--- /dev/null
+++ b/cypress/fixtures/example.json
@@ -0,0 +1,5 @@
+{
+ "name": "Using fixtures to represent data",
+ "email": "hello@cypress.io",
+ "body": "Fixtures are a great way to mock data for responses to routes"
+}
diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js
new file mode 100644
index 000000000..59b2bab6e
--- /dev/null
+++ b/cypress/plugins/index.js
@@ -0,0 +1,22 @@
+///
+// ***********************************************************
+// This example plugins/index.js can be used to load plugins
+//
+// You can change the location of this file or turn off loading
+// the plugins file with the 'pluginsFile' configuration option.
+//
+// You can read more here:
+// https://on.cypress.io/plugins-guide
+// ***********************************************************
+
+// This function is called when a project is opened or re-opened (e.g. due to
+// the project's config changing)
+
+/**
+ * @type {Cypress.PluginConfig}
+ */
+// eslint-disable-next-line no-unused-vars
+module.exports = (on, config) => {
+ // `on` is used to hook into various events Cypress emits
+ // `config` is the resolved Cypress config
+}
diff --git a/cypress/support/commands.js b/cypress/support/commands.js
new file mode 100644
index 000000000..95bfcf685
--- /dev/null
+++ b/cypress/support/commands.js
@@ -0,0 +1,55 @@
+// ***********************************************
+// This example commands.js shows you how to
+// create various custom commands and overwrite
+// existing commands.
+//
+// For more comprehensive examples of custom
+// commands please read more here:
+// https://on.cypress.io/custom-commands
+// ***********************************************
+//
+//
+// -- This is a parent command --
+// Cypress.Commands.add('login', (email, password) => { ... })
+//
+//
+// -- This is a child command --
+// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
+//
+//
+// -- This is a dual command --
+// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
+//
+//
+// -- This will overwrite an existing command --
+// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
+
+Cypress.Commands.add('resetState', () => {
+ cy.window(win => {
+ win.indexedDB.deleteDatabase('keyval-store');
+ });
+ cy.request('POST', '/api/reset-db').as('reset');
+ cy.get('@reset').its('status').should('equal', 204);
+ cy.reload(true);
+});
+
+Cypress.Commands.add('registerUser', (username, password, isAdmin = false) => {
+ const route = isAdmin ? '/api/admin/accounts/create' : '/api/signup';
+
+ cy.request('POST', route, {
+ username: username,
+ password: password,
+ }).its('body').as(username);
+});
+
+Cypress.Commands.add('login', (username, password) => {
+ cy.visit('/');
+
+ cy.intercept('POST', '/api/signin').as('signin');
+
+ cy.get('[data-cy-signin]').click();
+ cy.get('[data-cy-signin-username] input').type(username);
+ cy.get('[data-cy-signin-password] input').type(`${password}{enter}`);
+
+ cy.wait('@signin').as('signedIn');
+});
diff --git a/cypress/support/e2e.js b/cypress/support/e2e.js
new file mode 100644
index 000000000..9185be344
--- /dev/null
+++ b/cypress/support/e2e.js
@@ -0,0 +1,32 @@
+// ***********************************************************
+// This example support/index.js is processed and
+// loaded automatically before your test files.
+//
+// This is a great place to put global configuration and
+// behavior that modifies Cypress.
+//
+// You can change the location of this file or turn off
+// automatically serving support files with the
+// 'supportFile' configuration option.
+//
+// You can read more here:
+// https://on.cypress.io/configuration
+// ***********************************************************
+
+// Import commands.js using ES2015 syntax:
+import './commands'
+
+// Alternatively you can use CommonJS syntax:
+// require('./commands')
+
+Cypress.on('uncaught:exception', (err, runnable) => {
+ if ([
+ // Chrome
+ 'ResizeObserver loop limit exceeded',
+
+ // Firefox
+ 'ResizeObserver loop completed with undelivered notifications',
+ ].some(msg => err.message.includes(msg))) {
+ return false;
+ }
+});
diff --git a/docker-compose.yml b/docker-compose.yml
index df648d291..0bf17a555 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -9,12 +9,13 @@ services:
- redis
# - es
ports:
- - "127.0.0.1:3000:3000"
+ - "3000:3000"
networks:
- internal_network
- external_network
volumes:
- ./files:/misskey/files
+ - ./.config:/misskey/.config:ro
redis:
restart: always
@@ -39,6 +40,7 @@ services:
# image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.4.2
# environment:
# - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
+# - "TAKE_FILE_OWNERSHIP=111"
# networks:
# - internal_network
# volumes:
diff --git a/docs/README.md b/docs/README.md
deleted file mode 100644
index 87b100772..000000000
--- a/docs/README.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# Docs
-These docs are for contributors of Misskey or admins of instance of Misskey.
-Docs for users are located in `src/docs`.
-
-これらのドキュメントはMisskeyの開発者またはMisskeyインスタンス運営者向けです。
-利用者向けのドキュメントは`src/docs`にあります。
-
-这些文档是为 Misskey 的贡献者,或是 Misskey 实例的管理者准备的。
-为用户准备的文档放置在 `src/docs` 文件夹中。
-
-## 日本語版
-
-- [Misskey構築の手引き](./setup.ja.md)
-- [運営ガイド](./manage.ja.md)
-- [Dockerを使ったMisskey構築方法](./docker.ja.md)
-
-## English Version
-
-- [Misskey Setup and Installation Guide](./setup.en.md)
-- [Management guide](./manage.en.md)
-- [Docker Guide](./docker.en.md)
-
-## Française Version
-
-- [Guide d'installation et de configuration de Misskey](./setup.fr.md)
-- [Guide d'administration](./manage.fr.md)
-- [Guide Docker](./docker.fr.md)
-
-## 简体中文版
-
-- [Misskey 设置和安装指南](./setup.zh.md)
-- [运营指南](./manage.zh.md)
-- [Docker 部署指南](./docker.zh.md)
diff --git a/docs/docker.en.md b/docs/docker.en.md
deleted file mode 100644
index 965c89a51..000000000
--- a/docs/docker.en.md
+++ /dev/null
@@ -1,96 +0,0 @@
-Docker Guide
-================================================================
-
-This guide describes how to install and setup Misskey with Docker.
-
-- [Japanese version also available - 日本語版もあります](./docker.ja.md)
-- [Simplified Chinese version also available - 简体中文版同样可用](./docker.zh.md)
-
-----------------------------------------------------------------
-
-*1.* Download Misskey
-----------------------------------------------------------------
-1. Clone Misskey repository's master branch.
-
- `git clone -b master git://github.com/syuilo/misskey.git`
-
-2. Move to misskey directory.
-
- `cd misskey`
-
-3. Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest) tag.
-
- `git checkout master`
-
-*2.* Configure Misskey
-----------------------------------------------------------------
-
-Create configuration files with following:
-
-```bash
-cd .config
-cp example.yml default.yml
-cp docker_example.env docker.env
-```
-
-### `default.yml`
-
-Edit this file the same as non-Docker environment.
-However hostname of Postgresql, Redis and Elasticsearch are not `localhost`, they are set in `docker-compose.yml`.
-The following is default hostname:
-
-| Service | Hostname |
-|---------------|----------|
-| Postgresql | `db` |
-| Redis | `redis` |
-| Elasticsearch | `es` |
-
-### `docker.env`
-
-Configure Postgresql in this file.
-The minimum required settings are:
-
-| name | Description |
-|---------------------|---------------|
-| `POSTGRES_PASSWORD` | Password |
-| `POSTGRES_USER` | Username |
-| `POSTGRES_DB` | Database name |
-
-*3.* Configure Docker
-----------------------------------------------------------------
-Edit `docker-compose.yml`.
-
-*4.* Build Misskey
-----------------------------------------------------------------
-Build misskey with the following:
-
-`docker-compose build`
-
-*5.* Init DB
-----------------------------------------------------------------
-``` shell
-docker-compose run --rm web yarn run init
-```
-
-*6.* That is it.
-----------------------------------------------------------------
-Well done! Now you have an environment to run Misskey.
-
-### Launch normally
-Just `docker-compose up -d`. GLHF!
-
-### How to update your Misskey server to the latest version
-1. `git stash`
-2. `git checkout master`
-3. `git pull`
-4. `git stash pop`
-5. `docker-compose build`
-6. Check [ChangeLog](../CHANGELOG.md) for migration information
-7. `docker-compose stop && docker-compose up -d`
-
-### How to execute [cli commands](manage.en.md):
-`docker-compose run --rm web node built/tools/mark-admin @example`
-
-----------------------------------------------------------------
-
-If you have any questions or trouble, feel free to contact us!
diff --git a/docs/docker.fr.md b/docs/docker.fr.md
deleted file mode 100644
index 52d42ff2e..000000000
--- a/docs/docker.fr.md
+++ /dev/null
@@ -1,90 +0,0 @@
-Guide Docker
-================================================================
-
-Ce guide explique comment installer et configurer Misskey avec Docker.
-
-- [Version japonaise également disponible - Japanese version also available - 日本語版もあります](./docker.ja.md)
-- [Version anglaise également disponible - English version also available - 英語版もあります](./docker.en.md)
-- [Version Chinois simplifié également disponible - Simplified Chinese version also available - 简体中文版同样可用](./docker.zh.md)
-
-----------------------------------------------------------------
-
-*1.* Télécharger Misskey
-----------------------------------------------------------------
-1. Clone le dépôt de Misskey sur la branche master.
-
- `git clone -b master git://github.com/syuilo/misskey.git`
-
-2. Naviguez dans le dossier du dépôt.
-
- `cd misskey`
-
-3. Checkout sur le tag de la [dernière version](https://github.com/syuilo/misskey/releases/latest).
-
- `git checkout master`
-
-*2.* Configuration de Misskey
-----------------------------------------------------------------
-1. `cp .config/example.yml .config/default.yml` Copiez le fichier `.config/example.yml` et renommez-le `default.yml`.
-2. `cp .config/mongo_initdb_example.js .config/mongo_initdb.js` Copie le fichier `.config/mongo_initdb_example.js` et le renomme en `mongo_initdb.js`.
-3. Editez `default.yml` et `mongo_initdb.js`.
-
-*3.* Configurer Docker
-----------------------------------------------------------------
-Editez `docker-compose.yml`.
-
-*4.* Contruire Misskey
-----------------------------------------------------------------
-Contruire l'image Docker avec:
-
-`docker-compose build`
-
-*5.* C'est tout !
-----------------------------------------------------------------
-Parfait, Vous avez un environnement prêt pour démarrer Misskey.
-
-### Lancer normalement
-Utilisez la commande `docker-compose up -d`. GLHF!
-
-### How to update your Misskey server to the latest version
-1. `git stash`
-2. `git checkout master`
-3. `git pull`
-4. `git stash pop`
-5. `docker-compose build`
-6. Consultez le [ChangeLog](../CHANGELOG.md) pour avoir les éventuelles informations de migration
-7. `docker-compose stop && docker-compose up -d`
-
-### Comment exécuter des [commandes](manage.fr.md)
-`docker-compose run --rm web node built/tools/mark-admin @example`
-
-### Configuration d'ElasticSearch (pour la fonction de recherche)
-*1.* Préparation de l'environnement
-----------------------------------------------------------------
-1. Permet de créer le dossier d'accueil de la base ElasticSearch aves les bons droits
-
- `mkdir elasticsearch && chown 1000:1000 elasticsearch`
-
-2. Augmente la valeur max du paramètre map_count du système (valeur minimum pour pouvoir lancer ES)
-
- `sysctl -w vm.max_map_count=262144`
-
-*2.* Après lancement du docker-compose, initialisation de la base ElasticSearch
-----------------------------------------------------------------
-1. Connexion dans le conteneur web
-
- `docker-compose -it web /bin/sh`
-
-2. Ajout du paquet curl
-
- `apk add curl`
-
-3. Création de la base ES
-
- `curl -X PUT "es:9200/misskey" -H 'Content-Type: application/json' -d'{ "settings" : { "index" : { } }}'`
-
-4. `exit`
-
-----------------------------------------------------------------
-
-Si vous avez des questions ou des problèmes, n'hésitez pas à nous contacter !
diff --git a/docs/docker.ja.md b/docs/docker.ja.md
deleted file mode 100644
index befcc9116..000000000
--- a/docs/docker.ja.md
+++ /dev/null
@@ -1,97 +0,0 @@
-Dockerを使ったMisskey構築方法
-================================================================
-
-このガイドはDockerを使ったMisskeyセットアップ方法について解説します。
-
-- [英語版もあります - English version also available](./docker.en.md)
-- [简体中文版同样可用 - Simplified Chinese version also available](./docker.zh.md)
-
-----------------------------------------------------------------
-
-*1.* Misskeyのダウンロード
-----------------------------------------------------------------
-1. masterブランチからMisskeyレポジトリをクローン
-
- `git clone -b master git://github.com/syuilo/misskey.git`
-
-2. misskeyディレクトリに移動
-
- `cd misskey`
-
-3. [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
-
- `git checkout master`
-
-*2.* 設定ファイルの作成と編集
-----------------------------------------------------------------
-
-下記コマンドで設定ファイルを作成してください。
-
-```bash
-cd .config
-cp example.yml default.yml
-cp docker_example.env docker.env
-```
-
-### `default.yml`の編集
-
-非Docker環境と同じ様に編集してください。
-ただし、Postgresql、RedisとElasticsearchのホストは`localhost`ではなく、`docker-compose.yml`で設定されたサービス名になっています。
-標準設定では次の通りです。
-
-| サービス | ホスト名 |
-|---------------|---------|
-| Postgresql |`db` |
-| Redis |`redis` |
-| Elasticsearch |`es` |
-
-### `docker.env`の編集
-
-このファイルはPostgresqlの設定を記述します。
-最低限記述する必要がある設定は次の通りです。
-
-| 設定 | 内容 |
-|---------------------|--------------|
-| `POSTGRES_PASSWORD` | パスワード |
-| `POSTGRES_USER` | ユーザー名 |
-| `POSTGRES_DB` | データベース名 |
-
-*3.* Dockerの設定
-----------------------------------------------------------------
-`docker-compose.yml`を編集してください。
-
-*4.* Misskeyのビルド
-----------------------------------------------------------------
-次のコマンドでMisskeyをビルドしてください:
-
-`docker-compose build`
-
-*5.* データベースを初期化
-----------------------------------------------------------------
-``` shell
-docker-compose run --rm web yarn run init
-```
-
-*6.* 以上です!
-----------------------------------------------------------------
-お疲れ様でした。これでMisskeyを動かす準備は整いました。
-
-### 通常起動
-`docker-compose up -d`するだけです。GLHF!
-
-### Misskeyを最新バージョンにアップデートする方法:
-1. `git stash`
-2. `git checkout master`
-3. `git pull`
-4. `git stash pop`
-5. `docker-compose build`
-6. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する
-7. `docker-compose stop && docker-compose up -d`
-
-### cliコマンドを実行する方法:
-
-`docker-compose run --rm web node built/tools/mark-admin @example`
-
-----------------------------------------------------------------
-
-なにかお困りのことがありましたらお気軽にご連絡ください。
diff --git a/docs/docker.zh.md b/docs/docker.zh.md
deleted file mode 100644
index a9d050e95..000000000
--- a/docs/docker.zh.md
+++ /dev/null
@@ -1,96 +0,0 @@
-Docker 部署指南
-================================================================
-
-这份指南描述了如何使用Docker安装并设置 Misskey 。
-
-- [日本語版もあります - Japanese version also available](./docker.ja.md)
-- [英語版もあります - English version also available](./docker.en.md)
-
-----------------------------------------------------------------
-
-*1.* 下载 Misskey
-----------------------------------------------------------------
-1. 克隆 Misskey 项目的 master 分支。
-
- `git clone -b master git://github.com/syuilo/misskey.git`
-
-2. 进入 misskey 文件夹。
-
- `cd misskey`
-
-3. 检查 [最新发布版](https://github.com/syuilo/misskey/releases/latest) 标签。
-
- `git checkout master`
-
-*2.* 配置 Misskey
-----------------------------------------------------------------
-
-可以按照如下方式创建配置文件:
-
-``` bash
-cd .config
-cp example.yml default.yml
-cp docker_example.env docker.env
-```
-
-### `default.yml`
-
-这个文件的编辑工作基本与非 Docker 环境的版本相同。
-但请注意, Postgresql、 Redis 和 Elasticsearch 的 **主机名(hostname)** 配置不应该是 `localhost` ,它们被设置在 `docker-compose.yml` 文件中。
-以下是默认的主机名:
-
-| 服务 | 主机名 |
-|---------------|----------|
-| Postgresql | `db` |
-| Redis | `redis` |
-| Elasticsearch | `es` |
-
-### `docker.env`
-
-在这个文件中配置 Postgresql 。
-至少需要如下这些配置:
-
-| 名称 | 描述 |
-|---------------------|---------------|
-| `POSTGRES_PASSWORD` | 数据库密码 |
-| `POSTGRES_USER` | 数据库用户名 |
-| `POSTGRES_DB` | 数据库名 |
-
-*3.* 配置 Docker
-----------------------------------------------------------------
-编辑 `docker-compose.yml` 文件。
-
-*4.* 构建 Misskey
-----------------------------------------------------------------
-使用如下的方式构建Misskey:
-
-`docker-compose build`
-
-*5.* 初始化数据库
-----------------------------------------------------------------
-``` bash
-docker-compose run --rm web yarn run init
-```
-
-*6.* 完成了!
-----------------------------------------------------------------
-干得不错!现在您拥有了一个可以运行Misskey的环境啦。
-
-### 正常启动
-只需要 `docker-compose up -d` 即可。玩得愉快!
-
-### 如何将您的 Misskey 服务器升级至最新版本
-1. `git stash`
-2. `git checkout master`
-3. `git pull`
-4. `git stash pop`
-5. `docker-compose build`
-6. 检查 [更新日志](../CHANGELOG.md) 以获取升级迁移信息。
-7. `docker-compose stop && docker-compose up -d`
-
-### 如何执行 [控制台指令](manage.zh.md):
-`docker-compose run --rm web node built/tools/mark-admin @example`
-
-----------------------------------------------------------------
-
-如果您有任何疑问或是困惑,欢迎与我们联系!
diff --git a/docs/examples/misskey.nginx b/docs/examples/misskey.nginx
deleted file mode 100644
index b558fb023..000000000
--- a/docs/examples/misskey.nginx
+++ /dev/null
@@ -1,71 +0,0 @@
-# Sample nginx configuration for Misskey
-#
-# 1. Replace example.tld to your domain
-# 2. Copy to /etc/nginx/sites-available/ and then symlink from /etc/nginx/sites-enabled/
-# or copy to /etc/nginx/conf.d/
-
-# For WebSocket
-map $http_upgrade $connection_upgrade {
- default upgrade;
- '' close;
-}
-
-proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache1:16m max_size=1g inactive=720m use_temp_path=off;
-
-server {
- listen 80;
- listen [::]:80;
- server_name example.tld;
-
- # For SSL domain validation
- root /var/www/html;
- location /.well-known/acme-challenge/ { allow all; }
- location /.well-known/pki-validation/ { allow all; }
- location / { return 301 https://$server_name$request_uri; }
-}
-
-server {
- listen 443 ssl http2;
- listen [::]:443 ssl http2;
- server_name example.tld;
- ssl_session_cache shared:ssl_session_cache:10m;
-
- # To use Let's Encrypt certificate
- ssl_certificate /etc/letsencrypt/live/example.tld/fullchain.pem;
- ssl_certificate_key /etc/letsencrypt/live/example.tld/privkey.pem;
-
- # To use Debian/Ubuntu's self-signed certificate (For testing or before issuing a certificate)
- #ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
- #ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
-
- # SSL protocol settings
- ssl_protocols TLSv1.2;
- ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES128-SHA;
- ssl_prefer_server_ciphers on;
-
- # Change to your upload limit
- client_max_body_size 80m;
-
- # Proxy to Node
- location / {
- proxy_pass http://127.0.0.1:3000;
- proxy_set_header Host $host;
- proxy_http_version 1.1;
- proxy_redirect off;
-
- # If it's behind another reverse proxy or CDN, remove the following.
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Proto https;
-
- # For WebSocket
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection $connection_upgrade;
-
- # Cache settings
- proxy_cache cache1;
- proxy_cache_lock on;
- proxy_cache_use_stale updating;
- add_header X-Cache $upstream_cache_status;
- }
-}
diff --git a/docs/manage.en.md b/docs/manage.en.md
deleted file mode 100644
index d310e9531..000000000
--- a/docs/manage.en.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Management guide
-
-## Check the status of the job queue
-coming soon
-
-## Mark as 'admin' user
-``` shell
-node built/tools/mark-admin (Username)
-```
-
-e.g.
-``` shell
-node built/tools/mark-admin @syuilo
-```
diff --git a/docs/manage.fr.md b/docs/manage.fr.md
deleted file mode 100644
index 0b2b7ffc1..000000000
--- a/docs/manage.fr.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Guide d'administration
-
-## Vérifier le status de la file d'attente des taches
-coming soon
-
-## Marquer un utilisateur en tant que 'admin'
-``` shell
-node built/tools/mark-admin (nom d'utilisateur)
-```
-
-Exemple :
-``` shell
-node built/tools/mark-admin @syuilo
-```
diff --git a/docs/manage.ja.md b/docs/manage.ja.md
deleted file mode 100644
index 55596add1..000000000
--- a/docs/manage.ja.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# 運営ガイド
-
-## ジョブキューの状態を調べる
-coming soon
-
-## 管理者ユーザーを設定する
-``` shell
-node built/tools/mark-admin (ユーザー名)
-```
-
-例:
-``` shell
-node built/tools/mark-admin @syuilo
-```
diff --git a/docs/manage.zh.md b/docs/manage.zh.md
deleted file mode 100644
index 520d15020..000000000
--- a/docs/manage.zh.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# 运营指南
-
-## 检查任务队列的状态
-即将到来……
-
-## 设置用户为管理员
-``` shell
-node built/tools/mark-admin (用户名)
-```
-
-样例
-``` shell
-node built/tools/mark-admin @syuilo
-```
diff --git a/docs/setup.en.md b/docs/setup.en.md
deleted file mode 100644
index a68e36994..000000000
--- a/docs/setup.en.md
+++ /dev/null
@@ -1,146 +0,0 @@
-Misskey Setup and Installation Guide
-================================================================
-
-We thank you for your interest in setting up your Misskey server!
-This guide describes how to install and setup Misskey.
-
-- [Japanese version also available - 日本語版もあります](./setup.ja.md)
-- [Simplified Chinese version also available - 简体中文版同样可用](./setup.zh.md)
-
-----------------------------------------------------------------
-
-*1.* Create Misskey user
-----------------------------------------------------------------
-Running misskey as root is not a good idea so we create a user for that.
-In debian for exemple :
-
-```
-adduser --disabled-password --disabled-login misskey
-```
-
-*2.* Install dependencies
-----------------------------------------------------------------
-Please install and setup these softwares:
-
-#### Dependencies :package:
-* **[Node.js](https://nodejs.org/en/)** (12.x, 14.x)
-* **[PostgreSQL](https://www.postgresql.org/)** (>= 10)
-* **[Redis](https://redis.io/)**
-
-##### Optional
-* [Yarn](https://yarnpkg.com/) *Optional but recommended for security reason. If you won't install it, use `npx yarn` instead of `yarn`.*
-* [Elasticsearch](https://www.elastic.co/) - required to enable the search feature
-* [FFmpeg](https://www.ffmpeg.org/)
-
-*3.* Install Misskey
-----------------------------------------------------------------
-1. Connect to misskey user.
-
- `su - misskey`
-
-2. Clone the misskey repo from master branch.
-
- `git clone -b master git://github.com/syuilo/misskey.git`
-
-3. Navigate to misskey directory
-
- `cd misskey`
-
-4. Checkout to the [latest release](https://github.com/syuilo/misskey/releases/latest)
-
- `git checkout master`
-
-5. Install misskey dependencies.
-
- `yarn`
-
-*4.* Configure Misskey
-----------------------------------------------------------------
-1. Copy the `.config/example.yml` and rename it to `default.yml`.
-
- `cp .config/example.yml .config/default.yml`
-
-2. Edit `default.yml`
-
-*5.* Build Misskey
-----------------------------------------------------------------
-
-Build misskey with the following:
-
-`NODE_ENV=production yarn build`
-
-If you're on Debian, you will need to install the `build-essential`, `python` package.
-
-If you're still encountering errors about some modules, use node-gyp:
-
-1. `npx node-gyp configure`
-2. `npx node-gyp build`
-3. `NODE_ENV=production yarn build`
-
-*6.* Init DB
-----------------------------------------------------------------
-``` shell
-yarn run init
-```
-
-*7.* That is it.
-----------------------------------------------------------------
-Well done! Now, you have an environment that run to Misskey.
-
-### Launch normally
-Just `NODE_ENV=production npm start`. GLHF!
-
-### Launch with systemd
-
-1. Create a systemd service here
-
- `/etc/systemd/system/misskey.service`
-
-2. Edit it, and paste this and save:
-
- ```
- [Unit]
- Description=Misskey daemon
-
- [Service]
- Type=simple
- User=misskey
- ExecStart=/usr/bin/npm start
- WorkingDirectory=/home/misskey/misskey
- Environment="NODE_ENV=production"
- TimeoutSec=60
- StandardOutput=syslog
- StandardError=syslog
- SyslogIdentifier=misskey
- Restart=always
-
- [Install]
- WantedBy=multi-user.target
- ```
-
-3. Reload systemd and enable the misskey service.
-
- `systemctl daemon-reload ; systemctl enable misskey`
-
-4. Start the misskey service.
-
- `systemctl start misskey`
-
-You can check if the service is running with `systemctl status misskey`.
-
-### How to update your Misskey server to the latest version
-1. `git checkout master`
-2. `git pull`
-3. `yarn install`
-4. `NODE_ENV=production yarn build`
-5. `yarn migrate`
-6. Restart your Misskey process to apply changes
-7. Enjoy
-
-If you encounter any problems with updating, please try the following:
-1. `yarn clean` or `yarn cleanall`
-2. Retry update (Don't forget `yarn install`
-
-----------------------------------------------------------------
-
-If you have any questions or troubles, feel free to contact us!
diff --git a/docs/setup.fr.md b/docs/setup.fr.md
deleted file mode 100644
index b16447c4f..000000000
--- a/docs/setup.fr.md
+++ /dev/null
@@ -1,135 +0,0 @@
-Guide d'installation et de configuration de Misskey
-================================================================
-
-Nous vous remerçions de l'intrêt que vous manifestez pour l'installation de votre propre instance Misskey !
-Ce guide décrit les étapes à suivre afin d'installer et de configurer une instance Misskey.
-
-- [La version en japonnais est également disponible sur - 日本語版もあります](./setup.ja.md)
-- [Version anglaise également disponible - English version also available - 英語版もあります](./setup.en.md)
-- [Version Chinois simplifié également disponible - Simplified Chinese version also available - 简体中文版同样可用](./setup.zh.md)
-
-----------------------------------------------------------------
-
-*1.* Création de l'utilisateur Misskey
-----------------------------------------------------------------
-Executer misskey en tant que super-utilisateur étant une mauvaise idée, nous allons créer un utilisateur dédié.
-Sous Debian, par exemple :
-
-```
-adduser --disabled-password --disabled-login misskey
-```
-
-*2.* Installation des dépendances
-----------------------------------------------------------------
-Installez les paquets suivants :
-
-#### Dépendences :package:
-* **[Node.js](https://nodejs.org/en/)** (12.x, 14.x)
-* **[PostgreSQL](https://www.postgresql.org/)** (>= 10)
-* **[Redis](https://redis.io/)**
-
-##### Optionnels
-* [Yarn](https://yarnpkg.com/) - *recommander pour des raisons de sécurité. Si vous ne l'installez pas, utilisez `npx yarn` au lieu de` yarn`.*
-* [Elasticsearch](https://www.elastic.co/) - *requis pour pouvoir activer la fonctionnalité de recherche.*
-* [FFmpeg](https://www.ffmpeg.org/)
-
-*3.* Installation de Misskey
-----------------------------------------------------------------
-1. Basculez vers l'utilisateur misskey.
-
- `su - misskey`
-
-2. Clonez la branche master du dépôt misskey.
-
- `git clone -b master git://github.com/syuilo/misskey.git`
-
-3. Accédez au dossier misskey.
-
- `cd misskey`
-
-4. Checkout sur le tag de la [version la plus récente](https://github.com/syuilo/misskey/releases/latest)
-
- `git checkout master`
-
-5. Installez les dépendances de misskey.
-
- `yarn install`
-
-*4.* Création du fichier de configuration
-----------------------------------------------------------------
-1. Copiez le fichier `.config/example.yml` et renommez-le`default.yml`.
-
- `cp .config/example.yml .config/default.yml`
-
-2. Editez le fichier `default.yml`
-
-*5.* Construction de Misskey
-----------------------------------------------------------------
-
-Construisez Misskey comme ceci :
-
-`NODE_ENV=production yarn build`
-
-Si vous êtes sous Debian, vous serez amené à installer les paquets `build-essential` et `python`.
-
-Si vous rencontrez des erreurs concernant certains modules, utilisez node-gyp:
-
-1. `npx node-gyp configure`
-2. `npx node-gyp build`
-3. `NODE_ENV=production yarn build`
-
-*6.* C'est tout.
-----------------------------------------------------------------
-Excellent ! Maintenant, vous avez un environnement prêt pour lancer Misskey
-
-### Lancement conventionnel
-Lancez tout simplement `NODE_ENV=production yarn start`. Bonne chance et amusez-vous bien !
-
-### Démarrage avec systemd
-
-1. Créez un service systemd sur
-
- `/etc/systemd/system/misskey.service`
-
-2. Editez-le puis copiez et coller ceci dans le fichier :
-
- ```
- [Unit]
- Description=Misskey daemon
-
- [Service]
- Type=simple
- User=misskey
- ExecStart=/usr/bin/npm start
- WorkingDirectory=/home/misskey/misskey
- Environment="NODE_ENV=production"
- TimeoutSec=60
- StandardOutput=syslog
- StandardError=syslog
- SyslogIdentifier=misskey
- Restart=always
-
- [Install]
- WantedBy=multi-user.target
- ```
-
-3. Redémarre systemd et active le service misskey.
-
- `systemctl daemon-reload ; systemctl enable misskey`
-
-4. Démarre le service misskey.
-
- `systemctl start misskey`
-
-Vous pouvez vérifier si le service a démarré en utilisant la commande `systemctl status misskey`.
-
-### Méthode de mise à jour vers la plus récente version de Misskey
-1. `git checkout master`
-2. `git pull`
-3. `yarn install`
-4. `NODE_ENV=production yarn build`
-5. `yarn migrate`
-
-----------------------------------------------------------------
-
-Si vous rencontrez des difficultés ou avez d'autres questions, n'hésitez pas à nous contacter !
diff --git a/docs/setup.ja.md b/docs/setup.ja.md
deleted file mode 100644
index 7f4ab6999..000000000
--- a/docs/setup.ja.md
+++ /dev/null
@@ -1,144 +0,0 @@
-Misskey構築の手引き
-================================================================
-
-Misskeyサーバーの構築にご関心をお寄せいただきありがとうございます!
-このガイドではMisskeyのインストール・セットアップ方法について解説します。
-
-- [英語版もあります - English version also available](./setup.en.md)
-- [简体中文版同样可用 - Simplified Chinese version also available](./setup.zh.md)
-
-----------------------------------------------------------------
-
-*1.* Misskeyユーザーの作成
-----------------------------------------------------------------
-Misskeyはrootユーザーで実行しない方がよいため、代わりにユーザーを作成します。
-Debianの例:
-
-```
-adduser --disabled-password --disabled-login misskey
-```
-
-*2.* 依存関係をインストールする
-----------------------------------------------------------------
-これらのソフトウェアをインストール・設定してください:
-
-#### 依存関係 :package:
-* **[Node.js](https://nodejs.org/en/)** (12.x, 14.x)
-* **[PostgreSQL](https://www.postgresql.org/)** (10以上)
-* **[Redis](https://redis.io/)**
-
-##### オプション
-* [Yarn](https://yarnpkg.com/)
- * セキュリティの観点から推奨されます。 yarn をインストールしない方針の場合は、文章中の `yarn` を適宜 `npx yarn` と読み替えてください。
-* [Elasticsearch](https://www.elastic.co/)
- * 検索機能を有効にするためにはインストールが必要です。
-* [FFmpeg](https://www.ffmpeg.org/)
-
-*3.* Misskeyのインストール
-----------------------------------------------------------------
-1. misskeyユーザーを使用
-
- `su - misskey`
-
-2. masterブランチからMisskeyレポジトリをクローン
-
- `git clone -b master git://github.com/syuilo/misskey.git`
-
-3. misskeyディレクトリに移動
-
- `cd misskey`
-
-4. [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
-
- `git checkout master`
-
-5. Misskeyの依存パッケージをインストール
-
- `yarn install`
-
-*4.* 設定ファイルを作成する
-----------------------------------------------------------------
-1. `.config/example.yml`をコピーし名前を`default.yml`にする。
-
- `cp .config/example.yml .config/default.yml`
-
-2. `default.yml` を編集する。
-
-*5.* Misskeyのビルド
-----------------------------------------------------------------
-
-次のコマンドでMisskeyをビルドしてください:
-
-`NODE_ENV=production yarn build`
-
-Debianをお使いであれば、`build-essential`パッケージをインストールする必要があります。
-
-何らかのモジュールでエラーが発生する場合はnode-gypを使ってください:
-1. `npx node-gyp configure`
-2. `npx node-gyp build`
-3. `NODE_ENV=production yarn build`
-
-*6.* データベースを初期化
-----------------------------------------------------------------
-``` shell
-yarn run init
-```
-
-*7.* 以上です!
-----------------------------------------------------------------
-お疲れ様でした。これでMisskeyを動かす準備は整いました。
-
-### 通常起動
-`NODE_ENV=production yarn start`するだけです。GLHF!
-
-### systemdを用いた起動
-1. systemdサービスのファイルを作成
-
- `/etc/systemd/system/misskey.service`
-
-2. エディタで開き、以下のコードを貼り付けて保存:
-
- ```
- [Unit]
- Description=Misskey daemon
-
- [Service]
- Type=simple
- User=misskey
- ExecStart=/usr/bin/npm start
- WorkingDirectory=/home/misskey/misskey
- Environment="NODE_ENV=production"
- TimeoutSec=60
- StandardOutput=syslog
- StandardError=syslog
- SyslogIdentifier=misskey
- Restart=always
-
- [Install]
- WantedBy=multi-user.target
- ```
-
- CentOSで1024以下のポートを使用してMisskeyを使用する場合は`ExecStart=/usr/bin/sudo /usr/bin/npm start`に変更する必要があります。
-
-3. systemdを再読み込みしmisskeyサービスを有効化
-
- `systemctl daemon-reload; systemctl enable misskey`
-
-4. misskeyサービスの起動
-
- `systemctl start misskey`
-
-`systemctl status misskey`と入力すると、サービスの状態を調べることができます。
-
-### Misskeyを最新バージョンにアップデートする方法:
-1. `git checkout master`
-2. `git pull`
-3. `yarn install`
-4. `NODE_ENV=production yarn build`
-5. `yarn migrate`
-
-なにか問題が発生した場合は、`yarn clean`または`yarn cleanall`すると直る場合があります。
-
-----------------------------------------------------------------
-
-なにかお困りのことがありましたらお気軽にご連絡ください。
diff --git a/docs/setup.zh.md b/docs/setup.zh.md
deleted file mode 100644
index 196e8a541..000000000
--- a/docs/setup.zh.md
+++ /dev/null
@@ -1,146 +0,0 @@
-Misskey 设置和安装指南
-================================================================
-
-非常感谢您对构建 Misskey 服务器的关注!
-这份指南描述了 Misskey 的安装与设置流程。
-
-- [日本語版もあります - Japanese version also available](./setup.ja.md)
-- [英語版もあります - English version also available](./setup.en.md)
-
-----------------------------------------------------------------
-
-*1.* 创建 Misskey 用户
-----------------------------------------------------------------
-直接使用 root 用户来运行 misskey 也许并不是一个好主意,因此我们有必要创建一个专用的用户。
-以 Debian 为例:
-
-``` bash
-adduser --disabled-password --disabled-login misskey
-```
-
-*2.* 安装依赖
-----------------------------------------------------------------
-请安装并设置如下这些软件:
-
-#### Dependencies :package:
-* **[Node.js](https://nodejs.org/en/)** (12.x, 14.x)
-* **[PostgreSQL](https://www.postgresql.org/)** (>= 10)
-* **[Redis](https://redis.io/)**
-
-##### Optional
-* [Yarn](https://yarnpkg.com/) *可选,但出于安全因素考虑还是推荐安装。如果您没有安装, 您需要使用 `npx yarn` 来代替 `yarn`.*
-* [Elasticsearch](https://www.elastic.co/) - 为了启用搜索功能,这个搜索引擎是有必要的。
-* [FFmpeg](https://www.ffmpeg.org/)
-
-*3.* 安装 Misskey
-----------------------------------------------------------------
-1. 连接至 misskey 用户.
-
- `su - misskey`
-
-2. 克隆 Misskey 项目的 master 分支。
-
- `git clone -b master git://github.com/syuilo/misskey.git`
-
-3. 进入 misskey 文件夹。
-
- `cd misskey`
-
-4. 检查 [最新发布版](https://github.com/syuilo/misskey/releases/latest) 标签。
-
- `git checkout master`
-
-5. 安装 Misskey 的依赖。
-
- `yarn`
-
-*4.* 配置 Misskey
-----------------------------------------------------------------
-1. 复制 `.config/example.yml` 并重命名为 `default.yml`。
-
- `cp .config/example.yml .config/default.yml`
-
-2. 编辑 `default.yml`
-
-*5.* 构建 Misskey
-----------------------------------------------------------------
-
-使用如下的指令构建 Misskey :
-
-`NODE_ENV=production yarn build`
-
-如果您使用的是 Debian , 您需要安装 `build-essential`, `python` 环境包。
-
-如果您仍然遇到有关某些模块的错误,您可以使用 node-gyp:
-
-1. `npx node-gyp configure`
-2. `npx node-gyp build`
-3. `NODE_ENV=production yarn build`
-
-*6.* 初始化数据库
-----------------------------------------------------------------
-``` bash
-yarn run init
-```
-
-*7.* 完成了!
-----------------------------------------------------------------
-干得不错!现在您拥有了一个可以运行Misskey的环境啦。
-
-### 正常启动
-只需要 `NODE_ENV=production npm start` 即可。玩得愉快!
-
-### 使用 systemd 来启动
-
-1. 在此处创建一个 systemd 服务:
-
- `/etc/systemd/system/misskey.service`
-
-2. 编辑它,粘贴如下内容并保存:
-
- ```
- [Unit]
- Description=Misskey daemon
-
- [Service]
- Type=simple
- User=misskey
- ExecStart=/usr/bin/npm start
- WorkingDirectory=/home/misskey/misskey
- Environment="NODE_ENV=production"
- TimeoutSec=60
- StandardOutput=syslog
- StandardError=syslog
- SyslogIdentifier=misskey
- Restart=always
-
- [Install]
- WantedBy=multi-user.target
- ```
-
-3. 重启 systemd 并设置 misskey 服务自动启动:
-
- `systemctl daemon-reload ; systemctl enable misskey`
-
-4. 启动 misskey 服务:
-
- `systemctl start misskey`
-
-您可以使用 `systemctl status misskey` 来检查服务是否正在运行。
-
-### 如何将您的 Misskey 服务器升级至最新版本
-1. `git checkout master`
-2. `git pull`
-3. `yarn install`
-4. `NODE_ENV=production yarn build`
-5. `yarn migrate`
-6. 重启您的 Misskey 进程来应用改变。
-7. 尽情享受吧!
-
-如果您在更新时遇到任何问题,请尝试以下操作:
-1. `yarn clean` 或是 `yarn cleanall`
-2. 重试升级 (请不要忘记 `yarn install` )
-
-----------------------------------------------------------------
-
-如果您有任何疑问或是困惑,欢迎与我们联系!
diff --git a/gulpfile.js b/gulpfile.js
new file mode 100644
index 000000000..90f8ebaab
--- /dev/null
+++ b/gulpfile.js
@@ -0,0 +1,65 @@
+/**
+ * Gulp tasks
+ */
+
+const fs = require('fs');
+const gulp = require('gulp');
+const replace = require('gulp-replace');
+const terser = require('gulp-terser');
+const cssnano = require('gulp-cssnano');
+
+const locales = require('./locales');
+const meta = require('./package.json');
+
+gulp.task('copy:backend:views', () =>
+ gulp.src('./packages/backend/src/server/web/views/**/*').pipe(gulp.dest('./packages/backend/built/server/web/views'))
+);
+
+gulp.task('copy:client:fonts', () =>
+ gulp.src('./packages/client/node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/_client_dist_/fonts/'))
+);
+
+gulp.task('copy:client:fontawesome', () =>
+ gulp.src('./packages/client/node_modules/@fortawesome/fontawesome-free/**/*').pipe(gulp.dest('./built/_client_dist_/fontawesome/'))
+);
+
+gulp.task('copy:client:locales', cb => {
+ fs.mkdirSync('./built/_client_dist_/locales', { recursive: true });
+
+ const v = { '_version_': meta.version };
+
+ for (const [lang, locale] of Object.entries(locales)) {
+ fs.writeFileSync(`./built/_client_dist_/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8');
+ }
+
+ cb();
+});
+
+gulp.task('build:backend:script', () => {
+ return gulp.src(['./packages/backend/src/server/web/boot.js', './packages/backend/src/server/web/bios.js', './packages/backend/src/server/web/cli.js'])
+ .pipe(replace('LANGS', JSON.stringify(Object.keys(locales))))
+ .pipe(terser({
+ toplevel: true
+ }))
+ .pipe(gulp.dest('./packages/backend/built/server/web/'));
+});
+
+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'])
+ .pipe(cssnano({
+ zindex: false
+ }))
+ .pipe(gulp.dest('./packages/backend/built/server/web/'));
+});
+
+gulp.task('build', gulp.parallel(
+ '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('watch', () => {
+ gulp.watch([
+ './packages/*/src/**/*',
+ ], { ignoreInitial: false }, gulp.task('build'));
+});
diff --git a/gulpfile.ts b/gulpfile.ts
deleted file mode 100644
index bdc20089c..000000000
--- a/gulpfile.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
- * Gulp tasks
- */
-
-import * as fs from 'fs';
-import * as gulp from 'gulp';
-import * as ts from 'gulp-typescript';
-import * as rimraf from 'rimraf';
-import * as rename from 'gulp-rename';
-import * as replace from 'gulp-replace';
-const terser = require('gulp-terser');
-const cssnano = require('gulp-cssnano');
-
-const locales: { [x: string]: any } = require('./locales');
-const meta = require('./package.json');
-
-gulp.task('build:ts', () => {
- const tsProject = ts.createProject('./tsconfig.json');
-
- return tsProject
- .src()
- .pipe(tsProject())
- .on('error', () => {})
- .pipe(gulp.dest('./built/'));
-});
-
-gulp.task('build:copy:views', () =>
- gulp.src('./src/server/web/views/**/*').pipe(gulp.dest('./built/server/web/views'))
-);
-
-gulp.task('build:copy:fonts', () =>
- gulp.src('./node_modules/three/examples/fonts/**/*').pipe(gulp.dest('./built/client/assets/fonts/'))
-);
-
-gulp.task('build:copy:locales', cb => {
- fs.mkdirSync('./built/client/assets/locales', { recursive: true });
-
- const v = { '_version_': meta.version };
-
- for (const [lang, locale] of Object.entries(locales)) {
- fs.writeFileSync(`./built/client/assets/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8');
- }
-
- cb();
-});
-
-gulp.task('build:client:script', () => {
- return gulp.src(['./src/server/web/boot.js'])
- .pipe(replace('VERSION', JSON.stringify(meta.version)))
- .pipe(replace('LANGS', JSON.stringify(Object.keys(locales))))
- .pipe(terser({
- toplevel: true
- }))
- .pipe(gulp.dest('./built/server/web/'));
-});
-
-gulp.task('build:client:style', () => {
- return gulp.src(['./src/server/web/style.css'])
- .pipe(cssnano())
- .pipe(gulp.dest('./built/server/web/'));
-});
-
-gulp.task('build:copy', gulp.parallel('build:copy:locales', 'build:copy:views', 'build:client:script', 'build:client:style', 'build:copy:fonts', () =>
- gulp.src([
- './src/emojilist.json',
- './src/server/web/views/**/*',
- './src/**/assets/**/*',
- '!./src/client/assets/**/*'
- ]).pipe(gulp.dest('./built/'))
-));
-
-gulp.task('clean', cb =>
- rimraf('./built', cb)
-);
-
-gulp.task('cleanall', gulp.parallel('clean', cb =>
- rimraf('./node_modules', cb)
-));
-
-gulp.task('copy:client', () =>
- gulp.src([
- './assets/**/*',
- './src/client/assets/**/*',
- ])
- .pipe(rename(path => {
- path.dirname = path.dirname!.replace('assets', '.');
- }))
- .pipe(gulp.dest('./built/client/assets/'))
-);
-
-gulp.task('copy:docs', () =>
- gulp.src([
- './src/docs/**/*',
- ])
- .pipe(gulp.dest('./built/client/assets/docs/'))
-);
-
-gulp.task('build:client', gulp.parallel(
- 'copy:client',
- 'copy:docs'
-));
-
-gulp.task('build', gulp.parallel(
- 'build:ts',
- 'build:copy',
- 'build:client',
-));
-
-gulp.task('default', gulp.task('build'));
diff --git a/index.js b/index.js
deleted file mode 100644
index 9b91b0a03..000000000
--- a/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-const fs = require('fs');
-
-if (fs.existsSync('./built')) {
- require('./built').default();
-} else {
- console.log('Built code is not found. Probably an error occurred during a build or you just forgot to build.');
-}
diff --git a/locales/README.md b/locales/README.md
index 775a39a3c..a31df4f4c 100644
--- a/locales/README.md
+++ b/locales/README.md
@@ -1,6 +1,6 @@
# **DO NOT edit locale files** except `ja-JP.yml`.
-When you add text to the ja-JP file (of syuilo/misskey), it will automatically be applied to other language files.
+When you add text to the ja-JP file (of misskey-dev/misskey), it will automatically be applied to other language files.
Translations added in ja-JP file should contain the original Japanese strings.
Please see [Contribution guide](../CONTRIBUTING.md) for more information.
diff --git a/locales/ar-SA.yml b/locales/ar-SA.yml
index 75fcc1d9a..7fa8c23ad 100644
--- a/locales/ar-SA.yml
+++ b/locales/ar-SA.yml
@@ -1,17 +1,20 @@
---
_lang_: "العربية"
+headlineMisskey: "شبكة مرتبطة بالملاحظات"
introMisskey: "اهلا بك! ميسكي هو منصة تدوين مصغر لا مركزية ومفتوحة المصدر.\nيمكنك مشاركة \"ملاحظات\" عن ما يجري حولك، وإخبار الجميع عن نفسك 📡\nتسمح لك \"الانفعالات\" بتعبير عن شعورك حول ملاحظات الآخرين 👍\nاكتشف عالمًا جديدًا 🚀"
monthAndDay: "{day}/{month}"
search: "البحث"
notifications: "الإشعارات"
username: "اسم المستخدم"
password: "الكلمة السرية"
+forgotPassword: "نسيتَ كلمة السر"
fetchingAsApObject: "جارٍ جلبه مِن الفديفرس…"
ok: " حسناً"
gotIt: "فهِمت"
cancel: " إلغاء"
enterUsername: "أدخِل إسم مسخدم"
-noNotes: "لم يتم العثور على أية ملاحظات"
+renotedBy: "أعاد نشرها {user}"
+noNotes: "لم يُعثر على أية ملاحظات"
noNotifications: "ليس هناك أية اشعارات"
instance: "مثيل الخادم"
settings: "الاعدادات"
@@ -25,15 +28,18 @@ login: "لِج"
loggingIn: "جارٍ تسجيل الدخول"
logout: "الخروج"
signup: "أنشئ حسابًا"
-uploading: "عملية الإرسال جارية"
+uploading: "يرفع..."
save: "حفظ"
users: "المستخدمون"
addUser: "اضافة مستخدم"
-favorite: "إضافة إلى المفضلة"
+favorite: "أضفها للمفضلة"
favorites: "المفضلات"
unfavorite: "إزالة من المفضلة"
+favorited: "أُضيف إلى المفضلة."
+alreadyFavorited: "تمت إضافته بالفعل إلى المفضلة."
+cantFavorite: "تعذرت الإضافة إلى المفضلة."
pin: "دبّسها على الصفحة الشخصية"
-unpin: "ألغ تثبيتها من ملفك الشخصي"
+unpin: "ألغ تدبيسها من ملفك الشخصي"
copyContent: "انسخ المحتوى"
copyLink: "انسخ الرابط"
delete: "حذف"
@@ -46,6 +52,7 @@ searchUser: "ابحث عن مستخدمين"
reply: "رد"
loadMore: "عرض المزيد"
showMore: "عرض المزيد"
+showLess: "اغلق"
youGotNewFollower: "يتابعك"
receiveFollowRequest: "تلقيت طلب متابعة"
followRequestAccepted: "قُبل طلب المتابعة"
@@ -59,12 +66,14 @@ files: "الملفات"
download: "تنزيل"
driveFileDeleteConfirm: "أمتأكد من حذف ملف {name}؟ كل الملاحظات المُرفق بها هذا الملف ستحذف."
unfollowConfirm: "أمتأكد من إلغاء متابعة {name}؟"
+exportRequested: "قد تستغرق عملية التصدير بعض الوقت. بمجرد الانتهاء سيضاف الملف الناتج إلى قرص التخزين."
+importRequested: "يستغرق الاستيراد بعض الوقت"
lists: "القوائم"
noLists: "ليس لديك أية قائمة"
note: "ملاحظة"
notes: "الملاحظات"
following: "المتابَعون"
-followers: "المتابِعين"
+followers: "المتابِعون"
followsYou: "يتابعك"
createList: "إنشاء قائمة"
manageLists: "إدارة القوائم"
@@ -72,9 +81,12 @@ error: "خطأ"
somethingHappened: "حدث خطأ"
retry: "حاول مجددًا"
pageLoadError: "فشل تحميل الصفحة"
+pageLoadErrorDescription: "عادة ما يكون السبب خطأ في الشبكة أو التخزين المؤقت للمتصفح. امسح التخزين المؤقت ثم أعد المحاولة لاحقًا."
+serverIsDead: "الخادم لا يستجيب، حاول بعد قليل"
+youShouldUpgradeClient: "حدّث الصفحة لعرضها."
enterListName: "اسم القائمة"
privacy: "الخصوصية"
-makeFollowManuallyApprove: "القبول يدويا طلبات الإشتراك"
+makeFollowManuallyApprove: "قبول طلبات الإشتراك يدويا"
defaultNoteVisibility: "مدى الرؤية الافتراضي"
follow: "تابِع"
followRequest: "طلب اشتراك"
@@ -82,16 +94,25 @@ followRequests: "طلبات الإشتراك"
unfollow: "إلغاء الاشتراك"
followRequestPending: "طلبات الإشتراك المعلّقة"
enterEmoji: "أدخل إيموجي"
+renote: "أعد النشر"
unrenote: "إلغاء مشاركة الملاحظة"
+renoted: "أُعيد نشره"
+cantRenote: "لا يمكن إعادة نشر الملاحظة"
+cantReRenote: "لا يمكنك إعادة نشر ملاحظة معاد نشرها"
quote: "اقتبس"
pinnedNote: "ملاحظة مدبسة"
+pinned: "دبّسها على الصفحة الشخصية"
you: "أنت"
clickToShow: "اضغط للعرض"
sensitive: "محتوى حساس"
add: "إضافة"
-reaction: "تفاعل"
+reaction: "التفاعلات"
+reactionSetting: "التفاعلات المراد عرضها في منتقي التفاعلات."
+reactionSettingDescription2: "اسحب لترتيب ، انقر للحذف ، استخدم \"+\" للإضافة."
rememberNoteVisibility: "تذكر إعدادت مدى رؤية الملاحظات"
attachCancel: "أزل المرفق"
+markAsSensitive: "علّمه كمحتوى حساس"
+unmarkAsSensitive: "ألغ تعيينه كمحتوى حساس"
enterFileName: "ادخل اسم الملف"
mute: "اكتم"
unmute: "إلغاء الكتم"
@@ -101,31 +122,50 @@ suspend: "علِق"
unsuspend: "ألغ التعليق"
blockConfirm: "أمتأكد من حجب هذا الحساب؟"
unblockConfirm: "أمتأكد من إلغاء حجب هذا الحساب؟"
+suspendConfirm: "أمتأكد من تعليق الحساب؟"
+unsuspendConfirm: "أمتأكد من إلغاء تعليق؟"
selectList: "اختر قائمة"
+selectAntenna: "اختر هوائيًا"
+selectWidget: "اختر ودجة"
+editWidgets: "عدّل الودجات"
editWidgetsExit: "تم"
customEmojis: "إيموجي مخصص"
+emoji: "إيموجي"
+emojis: "إيموجي"
+emojiName: "اسم الإيموجي"
+emojiUrl: "رابط الإيموجي"
addEmoji: "إضافة إيموجي"
+settingGuide: "الإعدادات المستحسنة"
cacheRemoteFiles: "خزن مؤقتا الملفات البعيدة"
+flagAsBot: "علّمه كحساب آلي"
+flagAsBotDescription: "فعّل هذا الخيار إذا كان هذا الحساب يُدار عبر برمجية. إذا فُعل فسيكون بمثابة علامة للمطورين الآخرين لتجنب سلاسل لا متناهية من التفاعل بين حسابات الآلية وضبط أنظمة ميسكي للتعامل مع هذا الحساب كآلي."
+flagAsCat: "علّم هذا الحساب كحساب قط"
+flagAsCatDescription: "فعّل هذا الخيار لوضع علامة على الحساب لتوضيح أنه حساب قط."
+flagShowTimelineReplies: "أظهر التعليقات في الخيط الزمني"
+flagShowTimelineRepliesDescription: "يظهر الردود في الخيط الزمني"
autoAcceptFollowed: "اقبل طلبات المتابعة تلقائيا من الحسابات المتابَعة"
-addAcount: "إضافة حساب"
+addAccount: "أضف حساباً"
loginFailed: "فشل الولوج"
showOnRemote: "رؤيته على مثيل الخادم البُعدي"
general: "الرئيسية"
-wallpaper: "خلفية الشاشة"
-setWallpaper: "استخدم خلفية الشاشة"
-removeWallpaper: "إزالة خلفية الشاشة"
+wallpaper: "الخلفية"
+setWallpaper: "عيّن خلفية"
+removeWallpaper: "أزل الخلفية"
searchWith: "البحث: {q}"
youHaveNoLists: "لا تمتلك أية قائمة"
followConfirm: "أتريد متابعة {name}؟"
proxyAccount: "حساب وكيل البروكسي"
+proxyAccountDescription: "يتصرف حساب الوكيل كمتابع بعيد لمستخدمين تحت ظروف معينة. على سبيل المثال ، عندما يضيف مستخدم مستخدمًا بعيدًا إلى قائمة فإن ملاحظاته لن تُرسل إلى المثيل ما لم يُتابعه مستخدم محلي. وبالتالي فإن حساب الوكيل سوف يتابع هذا المستخدم لكي تُرسل ملاحظاته."
host: "المضيف"
selectUser: "حدّد مستخدمًا"
recipient: "المرسَل إليه·ها"
annotation: "التعليقات"
federation: "الفديرالية"
instances: "مثيل الخادم"
+registeredAt: "مسجل منذ"
latestRequestSentAt: "آخر طلب أرسِل في"
latestRequestReceivedAt: "آخر طلب تُلقي في"
+latestStatus: "الحالات الأخيرة"
storageUsage: "مساحة التخزين المستخدمة"
charts: "المنحنيات البيانية"
perHour: "في الساعة"
@@ -133,7 +173,7 @@ perDay: "في اليوم"
stopActivityDelivery: "وقف إرسال النشاط"
blockThisInstance: "احجب مثيل الخادم هذا"
operations: "الإجراءات"
-software: "البرنامج"
+software: "البرمجية"
version: "الإصدار"
metadata: "البيانات الوصفية"
withNFiles: "{n} ملف (ملفات)"
@@ -145,9 +185,14 @@ disk: "قرص التخزين"
instanceInfo: "معلومات مثيل الخادم"
statistics: "الإحصائيات"
clearQueue: "تفريغ قائمة الإنتظار"
-muteAndBlock: "تم كتمها / تم حجبها"
-mutedUsers: "الحسابات التي تم كتمها"
-blockedUsers: "الحسابات التي تم حظرها"
+clearQueueConfirmTitle: "أتريد مسح الطابور؟"
+clearCachedFiles: "امسح التخزين المؤقت"
+clearCachedFilesConfirm: "أتريد حذف التخزين المؤقت للملفات البعيدة؟"
+blockedInstances: "المثلاء المحجوبون"
+blockedInstancesDescription: "قائمة بالمثلاء التي تريد حظرها بحيث كل نطاق في سطر لوحده. بعد إدراجهم لن يتمكنوا من التفاعل مع هذا المثيل."
+muteAndBlock: "المكتومون والمحجوبون"
+mutedUsers: "الحسابات المكتومة"
+blockedUsers: "الحسابات المحجوبة"
noUsers: "ليس هناك مستخدمون"
editProfile: "تعديل الملف التعريفي"
noteDeleteConfirm: "هل تريد حذف هذه الملاحظة؟"
@@ -157,51 +202,62 @@ done: "تمّ"
processing: "المعالجة جارية"
preview: "معاينة"
default: "افتراضي"
-noCustomEmojis: "ليس هناك إيموجيات"
+noCustomEmojis: "ليس هناك إيموجي"
+noJobs: "لا توجد مهام"
federating: "الفديرالية جارية"
blocked: "محجوب"
suspended: "مُعلّق"
all: "الكل"
notResponding: "لا يستجيب"
+instanceFollowing: "المثلاء المتابَعون"
+instanceFollowers: "المثلاء المتابِعون"
+instanceUsers: "مستخدمو المثيل"
changePassword: "تغيير الكلمة السرية"
security: "الأمان"
+retypedNotMatch: "المدخلات لا تتطابق"
+currentPassword: "كلمة المرور الحالية"
+newPassword: "كلمة المرور الجديدة"
+newPasswordRetype: "كرّر كلمة المرور الجديدة:"
+attachFile: "أرفق ملفات"
more: "المزيد!"
featured: "المتداولة"
usernameOrUserId: "اسم المستخدم أو معرّفه"
noSuchUser: "لم يُعثَر على المستخدم"
lookup: "البحث"
announcements: "الإعلانات"
-imageUrl: "عنوان URL للصورة"
+imageUrl: "رابط الصورة"
remove: "حذف"
-removed: "تم حذفه بنجاح"
+removed: "حُذف بنجاح"
removeAreYouSure: "متأكد من أنك تريد حذف {x}؟"
deleteAreYouSure: "متأكد من أنك تريد حذف {x}؟"
resetAreYouSure: "هل تريد إعادة التعيين؟"
-saved: "تم حفظه"
-messaging: "الدردشة"
-upload: "تحميل"
+saved: "حُفظ"
+messaging: "المحادثة"
+upload: "ارفع"
+keepOriginalUploading: "ابق الصورة الأصلية"
+keepOriginalUploadingDescription: "يحفظ الصور المرفوعة على حالتها الأصلية، وان عطّل ستولد نسخة مخصصة من الصورة."
fromDrive: "من المخزن"
-fromUrl: "من عنوان URL"
-uploadFromUrl: "التحميل عبر URL"
-uploadFromUrlDescription: "رابط الملف المراد تحميله "
+fromUrl: "عبر رابط"
+uploadFromUrl: "ارفع عبر رابط"
+uploadFromUrlDescription: "رابط الملف المراد رفعه"
uploadFromUrlRequested: "الرفع مطلوب"
uploadFromUrlMayTakeTime: "سيستغرق بعض الوقت لاتمام الرفع "
explore: "استكشاف"
-games: "ألعاب Misskey"
messageRead: "مقروءة"
noMoreHistory: "لا يوجد المزيد من التاريخ"
-startMessaging: "ابدأ الدردشة"
-nUsersRead: "تمت القراءة من {n}"
+startMessaging: "ابدأ محادثة"
+nUsersRead: "قرأه {n}"
agreeTo: "اوافق على {0}"
tos: "شروط الخدمة"
start: "البداية"
home: "الرئيسي"
+remoteUserCaution: "هذه المعلومات قد لا تكون مكتملة بما أن المستخدم من مثيل بعيد."
activity: "النشاط"
images: "الصور"
birthday: "تاريخ الميلاد"
yearsOld: "{age} سنة"
-registeredDate: "انظم في"
-location: "المكان"
+registeredDate: "انضم في"
+location: "الموقع الجغرافي"
theme: "المظهر"
themeForLightMode: "الحلة في الوضع الفاتح"
themeForDarkMode: "الحلة في الوضع الداكن"
@@ -226,9 +282,11 @@ emptyDrive: "قرص التخزين فارغ"
emptyFolder: "هذا المجلد فارغ"
unableToDelete: "لا يمكن حذفه"
inputNewFileName: "ادخل الإسم الجديد للملف"
+inputNewDescription: "أدخل تعليقًا توضيحيًا"
inputNewFolderName: "ادخل الإسم الجديد للمجلد"
+circularReferenceFolder: "المجلد المستهدف ينتمي للمجلد الذي تريد حذفه"
hasChildFilesOrFolders: "الان الملف غير فارغ. لا يمكن حذفه"
-copyUrl: "انسخ عنوان URL"
+copyUrl: "انسخ الرابط"
rename: "إعادة التسمية"
avatar: "الصورة الرمزية"
banner: "الصورة الرأسية"
@@ -247,7 +305,7 @@ instanceName: "اسم مثيل الخادم"
instanceDescription: "وصف مثيل الخادم"
maintainerName: "المدير"
maintainerEmail: "عنوان بريد المدير الإلكتروني"
-tosUrl: "عنوان URL لشروط الخدمة"
+tosUrl: "رابط صفحة شروط الخدمة"
thisYear: "هذا العام"
thisMonth: "هذا الشهر"
today: "اليوم"
@@ -255,34 +313,61 @@ dayX: "{day}"
monthX: "{month}"
yearX: "{year}"
pages: "الصفحات"
-integration: "دمج"
-connectSerice: "أوصل"
-disconnectSerice: "قطع الاتصال"
+integration: "التكامل"
+connectService: "اتصل"
+disconnectService: "اقطع الاتصال"
enableLocalTimeline: "تفعيل الخيط المحلي"
enableGlobalTimeline: "تفعيل الخيط الزمني الشامل"
-disablingTimelinesInfo: "سيتمكن المسؤولون ومن تعديل دائمًا و من الوصول إلى جميع المخططات الزمنية ، حتى إذا لم يتم تمكينها."
+disablingTimelinesInfo: "سيتمكن المديرون والمشرفون من الوصول إلى كل الخيوط الزمنية حتى وإن لم تفعّل."
registration: "إنشاء حساب"
enableRegistration: "تفعيل إنشاء الحسابات الجديدة"
invite: "دعوة"
+driveCapacityPerLocalAccount: "حصة التخزين لكل مستخدم محلي"
+driveCapacityPerRemoteAccount: "حصة التخزين لكل مستخدم بعيد"
+inMb: "بالميغابايت"
+iconUrl: "رابط الأيقونة"
+bannerUrl: "رابط صورة اللافتة"
+backgroundImageUrl: "رابط صورة الخلفية"
basicInfo: "المعلومات الأساسية "
+pinnedUsers: "المستخدمون المدبسون"
+pinnedUsersDescription: "قائمة المستخدمين المدبسين في لسان \"استكشف\" ، اجعل كل اسم مستخدم في سطر لوحده."
+pinnedPages: "الصفحات المدبسة"
+pinnedPagesDescription: "أدخل مسار الصفحات التي تريد تدبيسها في أعلى هذا الموقع، اجعل كل مسار في سطر لوحده."
+pinnedClipId: "معرّف المشبك المدبس"
pinnedNotes: "ملاحظة مدبسة"
+hcaptcha: "hCaptcha"
+enableHcaptcha: "فعّل hCaptcha"
hcaptchaSiteKey: "مفتاح الموقع"
hcaptchaSecretKey: "المفتاح السري"
recaptcha: "reCAPTCHA"
enableRecaptcha: "تمكين reCAPTCHA"
recaptchaSiteKey: "مفتاح الموقع"
recaptchaSecretKey: "المفتاح السري"
+avoidMultiCaptchaConfirm: "يمكن أن يتسبب استخدام عدة خدمات لكلمات التحقق في حدوث تداخل. هل ترغب في إلغاء تنشيط الخدمات الأخرى؟ يمكنك ترك هذه الخدمات نشطة بالضغط على \"ألغ\"."
antennas: "الهوائيات"
manageAntennas: "إدارة الهوائيات"
name: "الإسم"
antennaSource: "مصدر الهوائي"
antennaKeywords: "الكلمات المفتاحية للإستقبال"
+antennaExcludeKeywords: "الكلمات المفتاحية المستثناة"
+antennaKeywordsDescription: "افصل بينهم بمسافة لاستخدام معامل \"و\" أو بسطر لاستخدام معامل \"أو\""
+notifyAntenna: "نبهني بصول ملاحظات جديدة"
+withFileAntenna: "ملاحظات تحوي ملفات فقط"
+antennaUsersDescription: "اكتب اسم مستخدم لكل سطر"
+caseSensitive: "حساسية حالة الأحرف"
withReplies: "بالردود"
+connectedTo: "الحسابات التالية متصلة"
notesAndReplies: "الملاحظات والردود"
-withFiles: "بالمرفقات"
+withFiles: "ذات مرفقات"
silence: "اكتم"
+silenceConfirm: "أمتأكد من كتم هذا المستخدم؟"
unsilence: "إلغاء الكتم"
-popularUsers: "المستخدمون الشائعون"
+unsilenceConfirm: "أمتأكد من إلغاء كتم هذا المستخدم؟"
+popularUsers: "المستخدمون الرائدون"
+recentlyUpdatedUsers: "أصحاب النشاطات الأخيرة"
+recentlyRegisteredUsers: "المستخدمون المنضمون حديثًا"
+recentlyDiscoveredUsers: "المستخدمون المكتشفون حديثًا"
+exploreUsersCount: "يوجد {count} مستخدم(ا)"
exploreFediverse: "استكشف الفديفرس"
popularTags: "الوسوم الرائجة"
userList: "القوائم"
@@ -292,30 +377,38 @@ administrator: "المدير"
token: "الرمز المميز"
twoStepAuthentication: "الإستيثاق بعاملَيْن"
moderator: "مشرِف"
-nUsersMentioned: "{n} مستخدمين تمت الإشارة إليهم"
+nUsersMentioned: "{n} مستخدمين أُشير إليهم"
securityKey: "مفتاح الأمان"
securityKeyName: "اسم المفتاح"
+registerSecurityKey: "سجل مفتاح أمان"
lastUsed: "آخر استخدام"
unregister: "إلغاء التسجيل"
passwordLessLogin: "لِج مِن دون كلمة سرية"
resetPassword: "أعد تعيين كلمتك السرية"
newPasswordIs: "كلمتك السرية الجديدة هي {password}"
+reduceUiAnimation: "قلص تأثيرات الواجهة"
share: "شارِك"
notFound: "غير موجود"
+notFoundDescription: "تعذر العثور على صفحة يقود إليها هذا الرابط."
+uploadFolder: "المجلد الافتراضي للرفع"
cacheClear: "مسح ذاكرة التخزين المؤقت"
markAsReadAllNotifications: "وضع جميع الإشعارات كأنها مقروءة"
+markAsReadAllUnreadNotes: "علّم جميع الملاحظات كمقروءة"
+markAsReadAllTalkMessages: "علّم جميع الرسائل كمقروءة"
help: "المساعدة"
inputMessageHere: "اكتب رسالتك هنا"
close: "اغلق"
group: "الفريق"
groups: "الفِرَق"
createGroup: "انشئ فريقًا"
+ownedGroups: "فِرقي"
+joinedGroups: "الفِرق المُنضم إليها"
invites: "دعوة"
groupName: "اسم الفريق"
members: "الأعضاء"
transfer: "نقل"
-messagingWithUser: "الدردشة مع مستخدم آخر"
-messagingWithGroup: "دردشة جماعية"
+messagingWithUser: "تحدث مع مستخدم"
+messagingWithGroup: "محادثة جماعية"
title: "العنوان"
text: "النص"
enable: "تشغيل"
@@ -323,13 +416,18 @@ next: "التالية"
retype: "أعد الكتابة"
noteOf: "ملاحظات {user}"
inviteToGroup: "دعوة إلى فريق"
+quoteAttached: "اِقتُبسَ"
+quoteQuestion: "أتريد تضمينها كاقتباس"
noMessagesYet: "ليس هناك رسائل بعد"
newMessageExists: "لقد تلقيت رسالة جديدة"
+onlyOneFileCanBeAttached: "يمكنك إرفاق ملف واحد بالرسالة"
+signinRequired: "رجاءً لِج"
invitations: "دعوة"
invitationCode: "رمز الدعوة"
checking: "التحقق جارٍ"
available: "متوفر"
unavailable: "غير متوفر"
+usernameInvalidFormat: "يمكنك استخدام A-z، a-z، 0-9، _"
tooShort: "قصير جدًا"
tooLong: "طويل جدًا"
weakPassword: "الكلمة السرية ضعيفة"
@@ -338,11 +436,16 @@ strongPassword: "الكلمة السرية قوية"
passwordMatched: "التطابق صحيح!"
passwordNotMatched: "غير متطابقتان"
signinWith: "الولوج عبر {x}"
+signinFailed: "فشل الولوج، خطأ في اسم المستخدم أو كلمة المرور."
+tapSecurityKey: "أنقر مفتاح الأمان"
or: "أو"
+language: "اللغة"
uiLanguage: "لغة واجهة المستخدم"
+groupInvited: "دُعيت إلى فريقٍ"
aboutX: "عن {x}"
-useOsNativeEmojis: "استخدم الإيموجيات الخاصة بنظام التشغيل"
+useOsNativeEmojis: "استخدم الإيموجي الخاصة بنظام التشغيل"
youHaveNoGroups: "لا تمتلك أية فِرَق"
+joinOrCreateGroup: "احصل على دعوة لفريق أو أنشئ واحدًا."
noHistory: "السجل فارغ"
signinHistory: "تاريخ تسجيل الدخول"
doing: "انتظر لحظة"
@@ -350,9 +453,10 @@ category: "الفئات"
tags: "الوسوم"
docSource: "مصدر هذا المستند"
createAccount: "أنشئ حسابًا"
-existingAcount: "الحسابات الموجودة"
+existingAccount: "الحسابات الموجودة"
regenerate: "أعِد التوليد"
fontSize: "حجم الخط"
+noFollowRequests: "ليس لديك طلبات متابعة معلقة"
openImageInNewTab: "إفتح الصورة بصفحة جديدة"
dashboard: "لوحة التحكم"
local: "المحلي"
@@ -361,99 +465,555 @@ total: "المجموع"
weekOverWeekChanges: "أسبوعيا"
dayOverDayChanges: "يوميا"
appearance: "المظهر"
+clientSettings: "إعدادات العميل"
accountSettings: "إعدادات الحساب"
promotion: "ترقية"
promote: "روِّج"
numberOfDays: "عدد الأيام"
hideThisNote: "إخفاء هذه الملاحظة"
+showFeaturedNotesInTimeline: "أظهر الملاحظات الشائعة في الخيط الزمني"
+objectStorageBaseUrl: "الرابط الأساسي"
+objectStoragePrefix: "البادئة"
+objectStoragePrefixDesc: "ستُحفظ الملفات في مجلدات تحوي اسماءها هذه البادئة."
+objectStorageEndpoint: "نقطة النهاية"
+objectStorageRegion: "المنطقة"
+objectStorageUseSSL: "استخدم SSL"
+objectStorageUseSSLDesc: "عطل هذا الخيار إذا لم ترد استخدام API عبر HTTPS"
+objectStorageUseProxy: "اتصل عبر وكيل"
+objectStorageUseProxyDesc: "عطل هذا الخيار إذا لم ترد استخدام API عبر وكيل"
+serverLogs: "سجلات الخادم"
deleteAll: "حذف الكل"
+showFixedPostForm: "أظهر نموذج الكتابة في أعلى الصفحة"
+newNoteRecived: "هناك ملاحظات جديدة"
sounds: "الرنات"
listen: "استمع"
none: "لا شيء"
+showInPage: "اعرض في الصفحة"
+popout: "منبثقة"
volume: "مستوى الصوت"
+masterVolume: "حجم الصوت الرئيس"
details: "التفاصيل"
chooseEmoji: "اختر إيموجي"
+unableToProcess: "يتعذر إكمال العملية"
recentUsed: "المستخدمة مؤخرا"
-install: "التثبيت"
+install: "ثبّت"
uninstall: "إلغاء التثبيت"
installedApps: "التطبيقات المُخوّلة"
+nothing: "لا يوجد شيء هنا"
+installedDate: "تاريخ التثبيت"
lastUsedDate: "آخر استخدام"
state: "الحالة"
sort: "ترتيب حسب"
+ascendingOrder: "تصاعدي"
+descendingOrder: "تنازلي"
output: "الخارجة"
+disablePagesScript: "عطّل AiScript في الصفحات"
updateRemoteUser: "تحديث المعلومات عن المستخدم البعيد"
deleteAllFiles: "حذف كافة الملفات"
-userSuspended: "تم تعليق هذا المستخدم."
-userSilenced: "تم إسكات هذا المستخدم."
-sidebar: "الشريط الجانبي"
+deleteAllFilesConfirm: "أتريد حذف كل الملفات؟"
+removeAllFollowing: "ألغ متابعة كل المتابَعين"
+removeAllFollowingDescription: "تنفيذه سيلغي متابعة المستخدمين المتواجدين على {host}. يمكنك استخدامه إذا فُقد الخادم."
+userSuspended: "عُلق هذا المستخدم."
+userSilenced: "كُتم هذا المستخدم."
+yourAccountSuspendedTitle: "هذا الحساب معلق"
+yourAccountSuspendedDescription: "عُلق الحساب بسبب انتهاك شروط خدمة المثيل و ما شابه. إذا أردت معرفة التفصيل تواصل مع مدير المثيل. رجاءً لا تنشئ حساب جديد."
+menu: "القائمة"
+divider: "فاصل"
addItem: "إضافة عنصر"
-rooms: "الغرفة"
relays: "المُرَحلات"
addRelay: "إضافة مُرحّل"
-addedRelays: "المرحلات التي تم إضافتها"
+inboxUrl: "رابط صندوق الوارد"
+addedRelays: "المرحلات المضافة"
+serviceworkerInfo: "يجب أن يفعل لإرسال الإشعارات."
deletedNote: "ملاحظة محذوفة"
invisibleNote: "ملاحظة مخفية"
+enableInfiniteScroll: "فعّل التمرير المتواصل"
+visibility: "الظهور"
poll: "استطلاع رأي"
useCw: "إخفاء المحتوى"
+enablePlayer: "افتح مشغل الفيديو"
+disablePlayer: "أغلق مشغل الفيديو"
+expandTweet: "وسّع التغريدة"
themeEditor: "مصمم القوالب"
+description: "الوصف"
+describeFile: "أضف تعليقًا توضيحيًا"
+enterFileDescription: "أدخل تعليقًا توضيحيًا"
+author: "الكاتب"
+leaveConfirm: "لديك تغييرات غير محفوظة. أتريد المتابعة دون حفظها؟"
manage: "إدارة "
plugins: "الإضافات"
-pluginInstallWarn: "يرجى تنصيب إضافات ذات مصدر موثوق منه فقط."
+useFullReactionPicker: "استخدم الحجم الكامل لمنتقي التفاعلات"
width: "العرض"
height: "الإرتفاع"
large: "كبير"
medium: "متوسط"
small: "صغير"
+generateAccessToken: "ولّد رمز الوصول"
permission: "أذونات"
enableAll: "تشغيل الكل"
disableAll: "تعطيل الكل"
tokenRequested: "منح حق الوصول إلى الحساب"
+pluginTokenRequestedDescription: "ستتمكن الإضافة من استخدام هذه الأذونات."
notificationType: "أنواع الإشعارات"
edit: "التعديل"
+useStarForReactionFallback: "استخدم ★ كبديل إذا كان التفاعل مجهولًا"
+emailServer: "خادم البريد الإلكتروني"
+emailConfigInfo: "يستخدم لتأكيد عنوان بريدك الإلكتروني ولإعادة تعيين كلمة المرور إن نسيتها."
email: "البريد الإلكتروني "
emailAddress: "عنوان البريد الالكتروني"
+smtpConfig: "إعدادات خادم SMTP"
smtpHost: "المضيف"
smtpPort: "المنفذ"
smtpUser: "اسم المستخدم"
smtpPass: "الكلمة السرية"
+emptyToDisableSmtpAuth: "اترك اسم المستخدم وكلمة المرور فارغين لتعطيل التحقق من SMTP"
+smtpSecureInfo: "عطل هذا الخيار عند استخدام STARTTLS"
+wordMute: "حظر الكلمات"
+regexpError: "خطأ في التعبير النمطي"
+instanceMute: "المثلاء المكتومون"
+userSaysSomething: "كتب {name} شيءً"
makeActive: "تفعيل"
display: "المظهر"
copy: "نسخ"
metrics: "المقاييس"
-public: "للعامة"
+overview: "ملخص عام"
+logs: "السِجلّات"
+delayed: "متأخر"
+database: "قاعدة البيانات"
+channel: "القنوات"
+create: "أنشئ"
+notificationSetting: "إعدادات التنبيهات"
+notificationSettingDesc: "اختر نوع التنبيهات المراد عرضها"
+useGlobalSetting: "استخدم الإعدادات العامة"
+useGlobalSettingDesc: "اذا فعّل ستطبق إعدادات إشعارات حسابك. إذا عطّل يمكن إجراء تكوينات مخصصة."
+other: "منوعات"
+regenerateLoginToken: "أعد توليد الرمز"
+regenerateLoginTokenDescription: "ينشئ رمز استيثاق جديد في العادة هذا ليس ضروريًا ؛ عند إنشاء رمز جديد ستُخرج جميع الأجهزة."
+setMultipleBySeparatingWithSpace: "يمكنك ادخال أكثر من مدخل واحد وذلك بفصلها بمسافات."
+fileIdOrUrl: "معرف الملف أو رابط"
+behavior: "السلوك"
+sample: "مثال"
+abuseReports: "البلاغات"
+reportAbuse: "أبلغ"
+reportAbuseOf: "أبلغ عن {name}"
+fillAbuseReportDescription: "أكتب بالتفصيل سبب البلاغ، إذا كنت تبلغ عن ملاحظة أرفق رابط لها."
+abuseReported: "أُرسل البلاغ، شكرًا لك"
+reporter: "المُبلّغ"
+reporteeOrigin: "أصل البلاغ"
+reporterOrigin: "أصل المُبلّغ"
+forwardReport: "وجّه البلاغ إلى المثيل البعيد"
+forwardReportIsAnonymous: "في المثيل البعيد سيظهر المبلّغ كحساب مجهول."
+send: "أرسل"
+abuseMarkAsResolved: "علّم البلاغ كمحلول"
+openInNewTab: "افتح في لسان جديد"
+defaultNavigationBehaviour: "سلوك الملاحة الافتراضي"
+editTheseSettingsMayBreakAccount: "تعديل هذه الإعدادات قد يسبب عطبًا لحسابك"
+instanceTicker: "معلومات المثيل الأصلي للملاحظات"
+waitingFor: "في انتظار {x}"
+random: "عشوائي"
+system: "النظام"
+switchUi: "بدّل واجهة المستخدم"
+desktop: "سطح المكتب"
+clip: "مِشبك"
+createNew: "أنشِئ جديد"
+optional: "اختياري"
+createNewClip: "أنشئ مِشبكَا جديدًا"
+public: "علني"
+i18nInfo: "يترجم متطوعون ميسكي إلى عدة لغات، يمكنك المساعدة عبر {link}"
+manageAccessTokens: "إدارة رموز الوصول"
+accountInfo: "معلومات الحساب"
+notesCount: "عدد الملاحظات"
+repliesCount: "عدد الردود المرسلة"
+renotesCount: "عدد الملاحظات المعاد نشرها (المرسلة)"
+repliedCount: "عدد الردود المتلقاة"
+renotedCount: "عدد الملاحظات المعاد نشرها (المتلقاة)"
+followingCount: "عدد الحسابات المتابَعة"
+followersCount: "عدد المتابِعين"
+sentReactionsCount: "عدد الانفعالات المرسلة"
+receivedReactionsCount: "عدد الانفعالات المتلقاة"
+pollVotesCount: "عدد الاستطلاعات المرسلة"
+pollVotedCount: "عدد الاستطلاعات المتلقاة"
+yes: "نعم"
+no: "لا"
+driveFilesCount: "عدد الملفات في قرص التخزين"
+driveUsage: "المستغل من قرص التخزين"
+noCrawle: "ارفض فهرسة زاحف الويب"
+noCrawleDescription: "يطلب من محركات البحث ألّا يُفهرسوا ملفك الشخصي وملاحظات وصفحاتك وما شابه."
+alwaysMarkSensitive: "علّم افتراضيًا جميع ملاحظاتي كذات محتوى حساس"
+loadRawImages: "حمّل الصور الأصلية بدلًا من المصغرات"
+disableShowingAnimatedImages: "لا تشغّل الصور المتحركة"
+verificationEmailSent: "أُرسل بريد التحقق. أنقر على الرابط المضمن لإكمال التحقق."
+notSet: "لم يعيّن"
+emailVerified: "تُحقّق من بريدك الإلكتروني"
+noteFavoritesCount: "عدد الملاحظات المفضلة"
+pageLikesCount: "عدد الصفحات التي أعجبت بها"
+pageLikedCount: "عدد صفحاتك المُعجب بها"
+contact: "التواصل"
+useSystemFont: "استخدم الخط الافتراضية للنظام"
+clips: "مشابك"
+experimentalFeatures: "ميّزات اختبارية"
+developer: "المطور"
+makeExplorable: "أظهر الحساب في صفحة \"استكشاف\""
+makeExplorableDescription: "بتعطيل هذا الخيار لن يظهر حسابك في صفحة \"استكشاف\""
+showGapBetweenNotesInTimeline: "أظهر فجوات بين المشاركات في الخيط الزمني"
+wide: "عريض"
+narrow: "رفيع"
+reloadToApplySetting: "سيُطبق هذا الإعداد بعد إعادة تحميل الصفحة، أتريد إعادة تحميلها الآن؟"
+needReloadToApply: "سيطبق هذا بعد إعادة التحميل."
+showTitlebar: "اعرض شريط العنوان"
+clearCache: "امسح التخزين المؤقت"
+onlineUsersCount: "{n} مستخدم متصل"
+nUsers: "{n} مستخدم"
+nNotes: "{n} ملاحظة"
+sendErrorReports: "أرسل تقارير الأخطاء"
+sendErrorReportsDescription: "إذا فعّلته ستساعد في تحسين ميسكي وذلك عبر مشاركة معلومات تفصيلية عن الخطأ.\nومما تحتويه التقارير: نسخة نظام التشغيل ونوع المتصفح وسجل نشاطك إلخ."
+myTheme: "سماتي"
+backgroundColor: "لون الخلفية"
+accentColor: "طابع لوني"
+textColor: "لون النص"
+saveAs: "احفظ كـ..."
+advanced: "متقدم"
+value: "القيمة"
+createdAt: "أُنشئ في"
+updatedAt: "حُدّث في"
+saveConfirm: "أتريد خفظ التغييرات؟"
+deleteConfirm: "أمتأكد من الحذف؟"
+invalidValue: "قيمة غير صالحة."
+registry: "السجل"
+closeAccount: "اختر حسبًا"
currentVersion: "الإصدار الحالي"
latestVersion: "آخر نسخة مستقرة"
+youAreRunningUpToDateClient: "أنت تستخدم أحدث نسخة من العميل."
+newVersionOfClientAvailable: "تتوفر نسخة أحدث للعميل"
+usageAmount: "الإستخدام"
+capacity: "السعة"
+inUse: "مستخدم"
+editCode: "حرر الشفرة"
+apply: "تطبيق"
+receiveAnnouncementFromInstance: "استلم إشعارات من هذا المثيل"
+emailNotification: "إشعارات البريد الكتروني"
+inChannelSearch: "ابحث عن قناة"
+useReactionPickerForContextMenu: "افتح منتقي التفاعلات عند النقر بالزر الأيمن"
+typingUsers: "{users} يكتب(ون)..."
+jumpToSpecifiedDate: "انتقل إلى تاريخ محدد"
+showingPastTimeline: "أنت تستعرض حاليًا خيطًا زمنيًا قديمًا"
+clear: "عودة"
+markAllAsRead: "علّم الكل كمقروء"
+goBack: "رجوع"
+unlikeConfirm: "أتريد إلغاء إعجابك؟"
+fullView: "ملء الشاشة"
+quitFullView: "اخرج من وضع ملء للشاشة"
+addDescription: "أضف وصفًا"
+userPagePinTip: "لعرض ملاحظة هنا اختر \"دبسها على الصفحة الشخصية\" من قائمة تلك الملاحظة."
+notSpecifiedMentionWarning: "في الملاحظة ذكر لمستخدمين لن يستلموها."
+info: "عن"
+userInfo: "معلومات المستخدم"
+unknown: "مجهول"
+onlineStatus: "الحالة"
+hideOnlineStatus: "اخف الحالة"
+hideOnlineStatusDescription: "قد يؤدي جعل اخفاء حالتك إلى تعطيل أداء بعض الميزات ، مثل البحث."
+online: "متصل"
+active: "نشط"
+offline: "غير متصل"
+notRecommended: "غير مستحسن"
+botProtection: "الحماية من الحسابات الآلية"
+instanceBlocking: "المثيلات المحجوبة"
+selectAccount: "اختر حسابًا"
+switchAccount: "تغيير الحساب"
+enabled: "مفعّل"
+disabled: "معطّل"
+quickAction: "الإجراءات السّريعة"
+user: "المستخدمون"
+administration: "إدارة "
+accounts: "الحسابات"
+switch: "بدّل"
+noMaintainerInformationWarning: "لم تُضبط معلومات المدير"
+noBotProtectionWarning: "لم تضبط الحماية من الحسابات الآلية"
+configure: "اضبط"
+postToGallery: "انشر في المعرض"
+gallery: "المعرض"
+recentPosts: "المشاركات الحديثة"
+popularPosts: "المشاركات المتداولة"
+shareWithNote: "شاركه في ملاحظة"
+ads: "الإعلانات"
+expiration: "ينتهي استطلاع الرأي في"
+memo: "تذكير"
+priority: "الأولوية"
+high: "عالية"
+middle: "متوسط"
+low: "منخفضة"
+emailNotConfiguredWarning: "لم تعيّن بريدًا إلكترونيًا"
+ratio: "النسبة"
+previewNoteText: "اعرض معاينة"
+customCss: "CSS مخصصة"
+customCssWarn: "استخدم هذه الإعداد فقط إن كان لك علم بماهيّته. إدخال قيمة غير مناسبة سيسسب ضررًا للعميل."
+global: "الشامل"
+squareAvatars: "اعرض شكل الصور الرمزية كمربعات"
+sent: "أرسل"
+received: "اُستلم"
+searchResult: "نتائج البحث"
+hashtags: "الوسوم"
+troubleshooting: "استكشاف الأخطاء وإصلاحها"
+useBlurEffect: "استخدم تأثير الطمس في الواجهة"
+learnMore: "راجع المزيد"
+misskeyUpdated: "حُدث ميسكي!"
+whatIsNew: "اعرض التغييرات"
+translate: "ترجم"
+translatedFrom: "تُرجم من {x}"
+accountDeletionInProgress: "حذف الحساب جارٍ"
+usernameInfo: "الاسم الذي يميزك عن بافي مستخدمي هذا الخادم، يمكنك استخدام الحروف اللاتينية (a~z, A~Z) والأرقام (0~9) والشرطة السفلية (_). لا يمكنك تغييره بعد تسجيله."
+keepCw: "أبقِ على تحذيرات المحتوى"
+lastCommunication: "آخر تواصل"
+resolved: "عولج"
+unresolved: "لم يعالج"
+breakFollow: "إلغاء الاشتراك"
+itsOn: "مفعّل"
+itsOff: "معطّل"
+emailRequiredForSignup: "عنوان البريد الإلكتروني إلزامي للتسجيل"
+unread: "غير مقروءة"
+filter: "رشّح"
+controlPanel: "لوحة التحكم"
+manageAccounts: "إدارة الحسابات"
+makeReactionsPublic: "اجعل سجل التفاعلات علنيًا"
+makeReactionsPublicDescription: "هذا سيجعل قائمة تفاعلاتك مرئية للعلن."
+classic: "تقليدي"
+muteThread: "اكتم النقاش"
+unmuteThread: "ارفع الكتم عن النقاش"
+ffVisibility: "مرئية المتابِعين/المتابَعين"
+ffVisibilityDescription: "يسمح لك بتحديد من يمكنهم رؤية متابِعيك ومتابَعيك."
+deleteAccountConfirm: "سيحذف حسابك نهائيًا، أتريد المتابعة؟"
+incorrectPassword: "كلمة السر خاطئة."
+voteConfirm: "متيقِّن من تصويتك لـ {choice}؟"
+hide: "إخفاء"
+leaveGroup: "مغادرة الفريق"
+leaveGroupConfirm: "متيقن من مغادرة \"{name}\"؟"
+welcomeBackWithName: "مرحبًا بك مجددًا {name}"
+clickToFinishEmailVerification: "انقر [{ok}] لاستيثاق بريدك الإلكتروني."
+overridedDeviceKind: "نوع الجهاز"
+smartphone: "هاتف ذكي"
+tablet: "جهاز لوحي"
+auto: "تلقائي"
+themeColor: "لون السمة"
+size: "الحجم"
+numberOfColumn: "عدد الأعمدة"
+searchByGoogle: "غوغل"
+mutePeriod: "مدة الكتم"
+indefinitely: "أبدًا"
+tenMinutes: "10 دقائق"
+oneHour: "ساعة"
+oneDay: "يوم"
+oneWeek: "أسبوع"
+failedToFetchAccountInformation: "تعذر جلب معلومات الحساب"
+file: "الملفات"
+reverse: "اقلب"
+colored: "ملوّن"
+label: "التسمية"
+localOnly: "المحلي فقط"
+account: "الحسابات"
+_emailUnavailable:
+ used: "هذا البريد الإلكتروني مستخدم"
+ format: "صيغة البريد الإلكتروني غير صالحة"
+ mx: "خادم البريد الإلكتروني غير صالح"
+ smtp: "خادم البريد الإلكتروتي لا يستجيب"
+_ffVisibility:
+ public: "علني"
+ followers: "مرئية لمتابِعيك فقط"
+ private: "خاص"
+_signup:
+ almostThere: "كدت تنتهي"
+ emailAddressInfo: "رجاءً أدخل بريدك الإلكتروني."
+ emailSent: "أرسلت رسالة تأكيد إلى بريدك الإلكتروني ({email})، أنقر على الرابط الموجود فيها لإكمال التسجيل."
+_accountDelete:
+ accountDelete: "احذف الحساب"
+ mayTakeTime: "نظرًا لأن حذف الحساب يحتاج موارد كثيرة فقد يستغرق وقتًا طويلاً ليكتمل وذلك بناءً على كمية المحتوى الموجود في الحساب وعدد الملفات المرفوعة."
+ sendEmail: "عند إنتهاء الحذف سترسل رسالة إلى البريد الإلكتروني المرتبط بهذا الحساب."
+ requestAccountDelete: "أرسل طلبًا لحذف الحساب"
+ started: "بدأت عملية الحذف."
+ inProgress: "عملية الحذف جارية"
+_ad:
+ back: "رجوع"
+ reduceFrequencyOfThisAd: "قلل عرض هذا الإعلان"
+_forgotPassword:
+ enterEmail: "أدخل البريد الإلكتروني المرتبط بحسابك لكي يرسل إليك رابط لإعادة تعيين كلمة المرور."
+ ifNoEmail: "إذا لم تربط حسابك ببريد إلكتروني سيتوجب عليك التواصل مع مدير الموقع."
+ contactAdmin: "هذا المثيل لا يدعم استخدام البريد الإلكتروني، إن أردت إعادة تعيين كلمة المرور تواصل مع المدير."
+_gallery:
+ my: "معرضي"
+ liked: "المشاركات المُعجب بها"
+ like: "أعجبني"
+ unlike: "أزل الإعجاب"
+_email:
+ _follow:
+ title: "يتابعك"
+ _receiveFollowRequest:
+ title: "استلمت طلب متابعة"
+_plugin:
+ install: "ثبّت إضافات"
+ installWarn: "رجاءً لا تثبت إضافات غير موثوقة."
+ manage: "إدارة الإضافات"
+_registry:
+ scope: "الحيّز"
+ key: "مفتاح"
+ keys: "المفاتيح"
+ domain: "النّطاق"
+ createKey: "أنشئ مفتاحًا"
+_aboutMisskey:
+ about: "ميسكي هو برمجية مفتوحة المصدر يطورها syuilo منذ 2014."
+ contributors: "المساهمون الرئيسيون"
+ allContributors: "كل المساهمين"
+ source: "الشفرة المصدرية"
+ translation: "ترجم ميسكي"
+ donate: "تبرع لميسكي"
+ morePatrons: "نحن نقدر الدعم الذي قدمه العديد من الأشخاص الذين لم نذكرهم. شكرًا لكم 🥰"
+ patrons: "الداعمون"
+_nsfw:
+ respect: "اخف الوسائط ذات المحتوى الحساس"
+ ignore: "اعرض الوسائط ذات المحتوى الحساس"
+ force: "اخف كل الوسائط"
_mfm:
+ cheatSheet: "مرجع ملخص عن MFM"
+ intro: "MFM هي لغة ترميزية مخصصة يمكن استخدامها في عدّة أماكن في ميسكي. يمكنك مراجعة كل تعابيرها مع كيفية استخدامها هنا."
mention: "أشر الى"
+ mentionDescription: "يمكنك الإشارة لمستخدم معيّن من خلال كتابة @ متبوعة باسم مستخدم."
+ hashtag: "الوسوم"
+ hashtagDescription: "يمكنك تعيين وسم من خلال كتابة # متبوعة بالنص المطلوب."
+ url: "الرابط"
+ urlDescription: "يمكن عرض الروابط"
+ link: "رابط"
+ bold: "عريض"
+ boldDescription: "جعل الحروف أثخن لإبرازها."
+ small: "صغير"
+ smallDescription: "يعرض المحتوى صغيرًا ورفيعًا."
+ center: "وسط"
+ centerDescription: "يمركز المحتوى في الوَسَط."
quote: "اقتبس"
+ quoteDescription: "يعرض المحتوى كاقتباس"
emoji: "إيموجي مخصص"
+ emojiDescription: "إحاطة اسم الإيموجي بنقطتي تفسير سيستبدله بصورة الإيموجي."
search: "البحث"
-_reversi:
- total: "المجموع"
+ 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:
+ none: "لا تظهره بتاتًا"
+ remote: "أظهر للمستخدمين البِعاد"
+ always: "أظهره دائمًا"
+_serverDisconnectedBehavior:
+ reload: "إعادة تحميل تلقائية"
+ dialog: "أظهر مربع حوار التحذيرات"
_channel:
+ create: "أنشئ قناة"
+ edit: "عدّل قناة"
+ setBanner: "عيّن اللافتة"
+ removeBanner: "أزل اللافتة"
featured: "المتداوَلة"
-_sidebar:
- full: "كامل"
- icon: "الصورة الرمزية"
+ owned: "قنواتي"
+ following: "متابَع"
+ usersCount: "{n} منتسب"
+ notesCount: "{n} ملاحظة"
+_menuDisplay:
+ sideFull: "جانبي"
+ top: "الأعلى"
hide: "إخفاء"
+_wordMute:
+ muteWords: "الكلمات المحظورة"
+ muteWordsDescription: "افصل بينهم بمسافة لاستخدام معامل \"و\" أو بسطر لاستخدام معامل \"أو\"."
+ muteWordsDescription2: "احصر الكلمات المفتاحية بين بين شرطتين مائلتين لاستخدامها كتعابير نمطية"
+ softDescription: "اخف الملاحظات التي تستوف الشروط من الخيط الزمني."
+ hardDescription: "اخف الملاحظات التي تستوف الشروط من الخيط الزمني.بالإضافة إلى أن هذه الملاحظات ستبقى مخفية حتى وإن تغيرت الشروط."
+ soft: "لينة"
+ hard: "قاسية"
+ mutedNotes: "الملاحظات المكتومة"
+_instanceMute:
+ instanceMuteDescription: "هذه سيحجب كل ملاحظات الخوادم المحجوبة ومشاركاتها والردود على تلك الملاحظات حتى وإن كانت من خادم غير محجوب."
+ instanceMuteDescription2: "مدخلة لكل سطر"
+ title: "يخفي ملاحظات الخوادم المسرودة."
+ heading: "قائمة الخوادم المحجوبة"
_theme:
explore: "استكشف قوالب المظهر"
install: "تنصيب قالب"
manage: "إدارة القوالب"
code: "شيفرة القالب"
+ description: "الوصف"
installed: "تم تنصيب {name}"
+ installedThemes: "السمات المثبتة"
+ builtinThemes: "السمات المدمجة"
+ alreadyInstalled: "هذه السمة مثبتة سلفًا"
+ invalid: "تنسيق السمة غير صالح"
make: "إنشاء قالب"
+ addConstant: "أضف ثابتًا"
+ constant: "ثابت"
+ defaultValue: "القيمة الافتراضية"
+ color: "اللون"
+ key: "مفتاح"
+ func: "دوال"
+ funcKind: "نوع الدالة"
+ argument: "معامل"
alpha: "الشفافية"
+ inputConstantName: "أدخل اسمًا للثابت"
+ deleteConstantConfirm: "أمتأكد من حذف الثابت {const}؟"
keys:
+ accent: "طابع لوني"
+ bg: "الخلفية"
+ fg: "النص"
+ indicator: "المؤشر"
+ panel: "اللوحة"
+ shadow: "الظل"
+ navBg: "خلفية الشريط الجانبي"
+ navFg: "نص الشريط الجانبي"
+ navHoverFg: "نص الشريط الجانبي (عند التمرير فوقه)"
+ link: "رابط"
+ hashtag: "وسم"
mention: "أشر الى"
- messageBg: "خلفية الدردشة"
+ renote: "أعد النشر"
+ divider: "فاصل"
+ scrollbarHandle: "مقبض شريط التمرير"
+ scrollbarHandleHover: "مقبض شريط التمرير (عند التمرير فوقه)"
+ infoWarnBg: "خلفية التحذير"
+ infoWarnFg: "نص التحذير"
+ toastBg: "خلفية الإشعارات"
+ toastFg: "نص الإشعارات"
+ buttonBg: "خلفية الأزرار"
+ buttonHoverBg: "خلفية الأزرار (عند التمرير فوقها)"
+ inputBorder: "حواف حقل الإدخال"
+ listItemHoverBg: "خلفية عناصر القائمة (عند التمرير فوقها)"
+ driveFolderBg: "خلفية مجلد قرص التخزين"
+ messageBg: "خلفية المحادثة"
_sfx:
note: "الملاحظات"
noteMy: "ملاحظتي"
notification: "الإشعارات"
- chat: "الدردشة"
+ chat: "المحادثة"
+ chatBg: "المحادثة (الخلفية)"
+ antenna: "الهوائيات"
+ channel: "إشعارات القنات"
_ago:
- unknown: "مجهول"
future: "المستقبَل"
justNow: "اللحظة"
secondsAgo: "منذ {n} ثوانٍ"
@@ -471,11 +1031,76 @@ _time:
_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:
+ alreadyRegistered: "سجلت سلفًا جهازًا للاستيثاق بعاملين."
+ registerDevice: "سجّل جهازًا جديدًا"
registerKey: "تسجيل مفتاح أمان جديد"
+ step1: "أولًا ثبّت تطبيق استيثاق على جهازك (مثل {a} و{b})."
+ step2: "امسح رمز الاستجابة السريعة الموجد على الشاشة."
+ step3: "أدخل الرمز الموجود في تطبيقك لإكمال التثبيت."
+ step4: "من هذه اللحظة أثناء ولوجك سيُطلب منك الرمز."
_permissions:
+ "read:account": "اعرض معلومات حسابك"
"write:account": "تعديل معلومات حسابك"
+ "read:blocks": "اعرض قائمة المستخدمين المحجوبين"
+ "write:blocks": "عدّل قائمة المستخدمين المحجوبين"
+ "read:drive": "تصفح قرص التخزين"
+ "write:drive": "احذف أو عدّل محتويات قرص التخزين"
+ "read:favorites": "اعرض المفضلة"
+ "write:favorites": "عدّل المفضلة"
+ "read:following": "اعرض معلومات متابَعيك"
+ "write:following": "تابع أو ألغ متابعة حسابات"
+ "read:messaging": "اعرض المحادثات"
+ "write:messaging": "اكتب أو احذف رسائل محادثة"
+ "read:mutes": "اعرض قائمة المستخدمين المكتومين"
+ "write:mutes": "عدّل قائمة المستخدمين المكتومين"
+ "write:notes": "أنشئ أو احذف ملاحظات"
"read:notifications": "اظهر الإشعارات"
+ "write:notifications": "إدارة الإشعارات"
+ "read:reactions": "اعرض تفاعلاتك"
+ "write:reactions": "عدّل تفاعلاتك"
+ "write:votes": "صوّت"
+ "read:pages": "اعرض صفحاتك"
+ "write:pages": "عدّل أو احذف صفحاتك"
+ "read:page-likes": "يعرض ما أعجبك من ملاحظات في صفحات"
+ "read:user-groups": "اعرض فِرق المستخدمين"
+ "write:user-groups": "عدّل أو احذف فِرق المستخدمين"
+ "read:channels": "طالع قنواتك"
+ "write:channels": "عدّل القنوات"
+ "read:gallery": "اعرض المعرض"
+ "write:gallery": "عدّل المعرض"
+ "read:gallery-likes": "يعرض ما أعجبك من مشاركات المعرض"
+_auth:
+ shareAccess: "أتريد التفويض لـ \"{name}\" بالوصول لحسابك؟"
+ shareAccessAsk: "هل تخول لهذا التطبيق الوصول لحسابك؟"
+ permissionAsk: "يطلب التطبيق الأذون التالية"
+ pleaseGoBack: "رجاءً عد للتطبيق"
+ callback: "العودة للتطبيق"
+ denied: "رُفض الوصول"
+_antennaSources:
+ all: "كل الملاحظات"
+ homeTimeline: "ملاحظات المستخدمين المتابَعين"
+ users: "ملاحظات مستخدمين محددين"
_weekday:
sunday: "الأحد"
monday: "الإثنين"
@@ -494,8 +1119,14 @@ _widgets:
rss: "تدفق RSS"
activity: "النشاط"
photos: "الصور"
+ digitalClock: "ساعة رقمية"
federation: "الفديرالية"
+ postForm: "أنشئ ملاحظة"
+ slideshow: "عرض الشرائح"
+ button: "زر"
+ onlineUsers: "المتّصلون"
jobQueue: "قائمة الانتظار"
+ serverMetric: "إحصائيات الخادم"
_cw:
hide: "إخفاء"
show: "عرض المزيد"
@@ -524,76 +1155,384 @@ _poll:
remainingMinutes: "{m} دقائق و {s} ثوانٍ متبقية"
remainingSeconds: "{s} ثوانٍ متبقية"
_visibility:
- public: "للعامة"
+ public: "علني"
+ publicDescription: "ستكون ملاحظتك مرئية لكل المستخدمين"
home: "الرئيسي"
- followers: "المتابِعين"
+ homeDescription: "انشر في الخيط الزمني الرئيسي فقط"
+ followers: "المتابِعون"
+ followersDescription: "اجعلها مرئية لمتابِعيك فقط"
specified: "مباشرة"
+ specifiedDescription: "اجعلها مرئية لمستخدمين محددين"
localOnly: "المحلي فقط"
+ localOnlyDescription: "ليس مرئيًا للمستخدمين البِعاد"
_postForm:
replyPlaceholder: "رد على هذه الملاحظة…"
quotePlaceholder: "اقتبس هذه الملاحظة…"
+ channelPlaceholder: "انشر في قناة..."
+ _placeholders:
+ a: "ما الذي تنوي فعله؟"
+ b: "ماذا يحدث حولك ؟"
+ c: "ما الذي تفكر فيه؟"
+ d: "ما الذي تريد قوله؟"
+ e: "أكتب..."
+ f: "بانتظارك لتكتب..."
_profile:
name: "الإسم"
username: "اسم المستخدم"
- youCanIncludeHashtags: "يمكنك أيضًا إضافة وسوم إلى نبذتك التعريفية."
+ description: "السيرة"
+ youCanIncludeHashtags: "يمكنك أيضًا إضافة وسوم إلى سيرتك التعريفية."
+ metadata: "معلومات إضافية"
+ metadataEdit: "عدّل المعلومات الإضافية"
+ metadataDescription: "يُمكنك عرض 4 حقول معلومات في ملفك الشخصي"
+ metadataLabel: "التسمية"
+ metadataContent: "المحتوى"
+ changeAvatar: "غيّر الصورة الرمزية"
+ changeBanner: "غيّر اللافتة"
_exportOrImport:
allNotes: "كل الملاحظات"
followingList: "المتابَعون"
- muteList: "اكتم"
- blockingList: "احجب"
+ muteList: "المستخدمون المكتومون"
+ blockingList: "المستخدمون المحجوبون"
userLists: "القوائم"
+ excludeMutingUsers: "استثن الحسابات المكتومة"
+ excludeInactiveUsers: "استثن المستخدمين الخاملين"
_charts:
+ federation: "الفديرالية"
+ apRequest: "الطلبات"
+ usersIncDec: "تباين عدد المستخدمين"
usersTotal: "مجموع عدد المستخدمين والمستخدمات"
activeUsers: "المستخدمون النشطون"
+ notesIncDec: "تباين عدد الملاحظات"
+ localNotesIncDec: "تباين عدد الملاحظات المحلية"
+ remoteNotesIncDec: "تباين عدد الملاحظات البعيدة"
+ notesTotal: "إجمالي الملاحظات"
+ filesIncDec: "تباين عدد الملفات"
+ filesTotal: "العدد الإجمالي للملفات"
+_instanceCharts:
+ requests: "الطلبات"
+ users: "تباين عدد المستخدمين"
+ usersTotal: "تباين عدد المستخدمين"
+ notes: "تباين عدد الملاحظات"
+ notesTotal: "تباين عدد الملاحظات"
+ ff: "تباين عدد حسابات المتابَعة/المتابِعة"
+ ffTotal: "تباين عدد حسابات المتابَعة/المتابِعة"
+ files: "تباين عدد الملفات"
+ filesTotal: "تباين عدد الملفات"
_timelines:
home: "الرئيسي"
local: "المحلي"
social: "الاجتماعي"
global: "الشامل"
-_rooms:
- _roomType:
- default: "افتراضي"
- _furnitures:
- monitor: "شاشة التحكم"
- banknote: "أوراق نقدية"
_pages:
+ newPage: "أنشئ صفحة جديدة"
+ editPage: "عدّل الصفحة"
+ readPage: "نُشّط عرض المصدر"
+ created: "نجح إنشاء الصفحة"
+ updated: "نجح تعديل الصفحة"
+ deleted: "نجح حذف الصفحة"
+ pageSetting: "إعدادات الصفحة"
+ nameAlreadyExists: "رابط الصفحة موجود مسبقًا"
+ invalidNameTitle: "رابط الصفحة ليس صالحًا"
+ invalidNameText: "تأكد أن عنوان الصفحة ليس فارغًا"
+ editThisPage: "عدّل هذه الصفحة"
+ viewSource: "اظهر المصدر"
+ viewPage: "اعرض صفحاتك"
+ like: "أعجبني"
+ unlike: "أزل الإعجاب"
+ my: "صفحاتي"
+ liked: "الصفحات المُعجب بها"
+ featured: "الأكثر شعبية"
+ contents: "المحتوى"
+ variables: "متغيّرات"
+ title: "العنوان"
+ url: "رابط الصفحة"
+ summary: "ملخص الصفحة"
+ alignCenter: "توسيط العناصر"
+ hideTitleWhenPinned: "اخف عنوان الصفحة عند تدبيسها في ملف الشخصي"
+ font: "الخط"
+ fontSerif: "Serif"
+ fontSansSerif: "Sans Serif"
+ eyeCatchingImageSet: "عيّن صورة مصغّرة"
+ eyeCatchingImageRemove: "احذف صورة مصغّرة"
+ chooseBlock: "إضافة كتلة"
+ selectType: "اختر النوع"
+ enterVariableName: "أدخل اسم المتغيّر"
+ variableNameIsAlreadyUsed: "هذا الاسم محجوز"
+ contentBlocks: "المحتوى"
+ inputBlocks: "مُدخل"
+ specialBlocks: "خاص"
blocks:
+ text: "نص"
+ textarea: "حقل نصي"
+ section: "قسم"
image: "الصور"
+ 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:
+ id: "معرّف الملاحظة"
+ idDescription: "كبديل يمكنك إدخال رابك الملاحظة هنا"
+ 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:
+ requesting: "مُعلّق"
+ accepted: "مقبول"
+ rejected: "مرفوض"
_notification:
+ fileUploaded: "نجح رفع الملف"
+ youGotMention: "{name} أشار إليك"
+ youGotReply: "ردّ عليك {name}"
+ youGotQuote: "اقتبس منك {name}"
+ youRenoted: "إعادت نشر من {name}"
youGotPoll: "شارك {name} في استطلاع الرأي"
youGotMessagingMessageFromUser: "لقد تلقيت رسالة مِن {name}"
youGotMessagingMessageFromGroup: "لقد أرسِلَت رسالة إلى الفريق {name}"
youWereFollowed: "يتابعك"
+ youReceivedFollowRequest: "تلقيتَ طلب متابعة"
+ yourFollowRequestAccepted: "قُبل طلب المتابعة"
+ youWereInvitedToGroup: "دُعيت إلى فريقٍ"
+ pollEnded: "ظهرت نتائج الاستطلاع"
_types:
- follow: "المتابَعون"
- mention: "أشر الى"
- quote: "اقتبس"
- reaction: "تفاعل"
+ all: "الكل"
+ follow: "متابِعون جدد"
+ mention: "الإشارات"
+ reply: "الردود"
+ renote: "أعد النشر"
+ quote: "الاقتباسات"
+ reaction: "التفاعلات"
+ pollVote: "مصوِت شارك في الاستطلاع"
+ receiveFollowRequest: "طلبات المتابعة المتلقاة"
+ followRequestAccepted: "طلبات المتابعة المقبولة"
+ groupInvited: "دعوات الفريق"
+ app: "إشعارات التطبيقات المرتبطة"
+ _actions:
+ followBack: "تابعك بالمثل"
+ reply: "رد"
+ renote: "أعد النشر"
_deck:
+ alwaysShowMainColumn: "أظهر العمود الرئيسي دائمًا"
+ columnAlign: "حاذِ الأعمدة"
+ addColumn: "أضف عمودًا"
+ swapLeft: "حرّك لليسار"
+ swapRight: "حرّك لليمين"
+ swapUp: "حرّك لأعلى"
+ swapDown: "حرّك لأسفل"
+ profile: "الملف الشخصي"
_columns:
+ main: "الرئيسي"
+ widgets: "الودجات"
notifications: "الإشعارات"
tl: "الخيط الزمني"
antenna: "الهوائيات"
diff --git a/locales/bn-BD.yml b/locales/bn-BD.yml
new file mode 100644
index 000000000..a19fc0832
--- /dev/null
+++ b/locales/bn-BD.yml
@@ -0,0 +1,1665 @@
+---
+_lang_: "বাংলা"
+headlineMisskey: "নোট ব্যাবহার করে সংযুক্ত নেটওয়ার্ক"
+introMisskey: "স্বাগতম! মিসকি একটি ওপেন সোর্স, ডিসেন্ট্রালাইজড মাইক্রোব্লগিং পরিষেবা। \n\"নোট\" তৈরির মাধ্যমে যা ঘটছে তা সবার সাথে শেয়ার করুন 📡\n\"রিঅ্যাকশন\" গুলির মাধ্যমে যেকোনো নোট সম্পর্কে আপনার অনুভূতি ব্যাক্ত করতে পারেন 👍\nএকটি নতুন দুনিয়া ঘুরে দেখুন 🚀\n"
+monthAndDay: "{day}/{month}"
+search: "খুঁজুন"
+notifications: "বিজ্ঞপ্তি"
+username: "ব্যবহারকারীর নাম"
+password: "পাসওয়ার্ড"
+forgotPassword: "পাসওয়ার্ড ভুলে গেছেন"
+fetchingAsApObject: "ফেডিভার্স থেকে খবর আনা হচ্ছে..."
+ok: "ঠিক"
+gotIt: "বুঝেছি"
+cancel: "বাতিল"
+enterUsername: "ইউজারনেম লিখুন"
+renotedBy: "{user} রিনোট করেছেন"
+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: "একটি বার্তা পাঠান"
+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: "এটি সাধারনত নেটওয়ার্কের সমস্যার বা ব্রাউজার ক্যাশের কারণে ঘটে থাকে। ব্রাউজার এর ক্যাশ পরিষ্কার করুন এবং একটু পর আবার চেষ্টা করুন। "
+serverIsDead: "এই সার্ভার বর্তমানে সাড়া দিচ্ছে না। একটু পরে আবার চেষ্টা করুন।"
+youShouldUpgradeClient: "এই পেজ দেখার জন্য আপনার ব্রাউজার রিফ্রেশ করে ক্লায়েন্ট আপডেট করুন। "
+enterListName: "লিস্টের নাম লিখুন"
+privacy: "গোপনীয়তা"
+makeFollowManuallyApprove: "অনুসরণ করার অনুরোধগুলি গৃহীত হওয়ার জন্য আপনার অনুমতি লাগবে"
+defaultNoteVisibility: "ডিফল্ট দৃশ্যমান্যতা"
+follow: "অনুসরণ"
+followRequest: "অনুসরণ করার অনুরোধ"
+followRequests: "অনুসরণ করার অনুরোধসমূহ"
+unfollow: "অনুসরণ বাতিল"
+followRequestPending: "অনুসরণ করার অনুরোধ বিচারাধীন"
+enterEmoji: "ইমোজি প্রবেশ করান"
+renote: "রিনোট"
+unrenote: "রিনোট সরান "
+renoted: "রিনোট করা হয়েছে"
+cantRenote: "এই নোটটি রিনোট করা যাবে না।"
+cantReRenote: "রিনোটকে রিনোট করা যাবে না।"
+quote: "উদ্ধৃতি"
+pinnedNote: "পিন করা নোট"
+pinned: "পিন করা"
+you: "আপনি"
+clickToShow: "দেখার জন্য ক্লিক করুন"
+sensitive: "সংবেদনশীল বিষয়বস্তু"
+add: "যুক্ত করুন"
+reaction: "প্রতিক্রিয়া"
+reactionSetting: "রিঅ্যাকশন পিকারে যেসকল প্রতিক্রিয়া দেখানো হবে"
+reactionSettingDescription2: "পুনরায় সাজাতে টেনে আনুন, মুছতে ক্লিক করুন, যোগ করতে + টিপুন।"
+rememberNoteVisibility: "নোটের দৃশ্যমান্যতার সেটিংস মনে রাখুন"
+attachCancel: "অ্যাটাচমেন্ট সরান "
+markAsSensitive: "সংবেদনশীল হিসাবে চিহ্নিত করুন"
+unmarkAsSensitive: "সংবেদনশীল চিহ্ন সরান"
+enterFileName: "ফাইলের নাম লিখুন"
+mute: "মিউট"
+unmute: "আনমিউট"
+block: "ব্লক"
+unblock: "ব্লক সরান"
+suspend: "স্থগিত করা"
+unsuspend: "অস্থগিত করা"
+blockConfirm: "ব্লক করতে চান?"
+unblockConfirm: "ব্লক সরাতে চান?"
+suspendConfirm: "স্থগিত করতে চান?"
+unsuspendConfirm: "অস্থগিত করতে চান?"
+selectList: "লিস্ট নির্বাচন করুন"
+selectAntenna: "অ্যান্টেনা নির্বাচন করুন"
+selectWidget: "উইজেট নির্বাচন করুন"
+editWidgets: "উইজেট সম্পাদনা করুন"
+editWidgetsExit: "সম্পাদনা শেষ করুন"
+customEmojis: "স্বনির্ধারিত ইমোজিগুলি"
+emoji: "ইমোজি"
+emojis: "ইমোজিগুলি"
+emojiName: "ইমোজির নাম"
+emojiUrl: "ইমোজির URL"
+addEmoji: "ইমোজি যুক্ত করুন"
+settingGuide: "সুপারিশকৃত সেটিংস"
+cacheRemoteFiles: "রিমোট ফাইলসমুহ ক্যাশ করুন"
+cacheRemoteFilesDescription: "যখন এই অপশনটি বন্ধ থাকে তখন রিমোট ফাইল সমূহ সরাসরি রিমোট ইন্সট্যান্স থেকে লোড করা হয়। এই অপশনটি বন্ধ করলে স্টোরেজ এর ব্যাবহার কমবে তবে থাম্বনেইল তৈরি না করার কারণে নেটওয়ার্ক ব্যান্ডউইথ বেশী লাগবে। "
+flagAsBot: "বট হিসাবে চিহ্নিত করুন"
+flagAsBotDescription: "এই অ্যাকাউন্টটি যদি একটি প্রোগ্রাম দ্বারা পরিচালিত হয়, তাহলে এই অপশনটি চালু করুন। ইন্টারঅ্যাকশান চেইনিং রোধ করতে, মিস্কির সিস্টেম পরিচালনাকে বট-বান্ধব করতে এবং অন্যান্য ডেভেলপারদের সাহায্য করতে আপনার বট এ এই অপশনটি চালু করুন৷"
+flagAsCat: "বিড়াল হিসাবে চিহ্নিত করুন"
+flagAsCatDescription: "অ্যাকাউন্টটিকে বিড়াল হিসাবে চিহ্নিত করার জন্য অপশনটি চালু করুন।"
+flagShowTimelineReplies: "টাইমলাইনে নোটগুলির রিপ্লাই দেখান"
+flagShowTimelineRepliesDescription: "চালু করলে, টাইমলাইন ব্যবহারকারীর নোট ছাড়াও ব্যবহারকারীর অন্যান্য নোটের জবাবগুলো দেখায়।"
+autoAcceptFollowed: "আপনি যেসব অ্যাকাউন্ট অনুসরণ করেন, স্বয়ংক্রিয়ভাবে তাদের অনুসরণের অনুরধ স্বীকার করুন"
+addAccount: "অ্যাকাউন্ট যোগ করুন"
+loginFailed: "প্রবেশ করা যায়নি"
+showOnRemote: "রিমোট সার্ভারে দেখুন"
+general: "সাধারণ"
+wallpaper: "ওয়ালপেপার"
+setWallpaper: "ওয়ালপেপার সেট করুন"
+removeWallpaper: "ওয়ালপেপার সরান"
+searchWith: "খুঁজুন: {q}"
+youHaveNoLists: "আপনার কোন লিস্ট নেই"
+followConfirm: "{name} কে ফলোও করার ব্যাপারে নিশ্চিত?"
+proxyAccount: "প্রক্সি অ্যাকাউন্ট"
+proxyAccountDescription: "একটি প্রক্সি অ্যাকাউন্ট এমন একটি অ্যাকাউন্ট যা নির্দিষ্ট শর্তে ব্যবহারকারীদের জন্য রিমোট অনুসরণকারী হিসাবে কাজ করে। উদাহরণস্বরূপ, যখন একজন ব্যবহারকারী একটি রিমোট ব্যবহারকারীকে তালিকাভুক্ত করে, তখন ক্রিয়াকলাপের দৃষ্টান্তে বিতরণ করা হবে না যদি না কেউ তালিকাভুক্ত ব্যবহারকারীকে অনুসরণ করে, তাই প্রক্সি অ্যাকাউন্ট দ্বারা তাকে অনুসরণ করা হবে।"
+host: "হোস্ট"
+selectUser: "ব্যবহারকারী নির্বাচন করুন"
+recipient: "প্রতি"
+annotation: "মন্তব্য"
+federation: "ফেডিভার্স"
+instances: "ইন্সট্যান্স"
+registeredAt: "যোগ দিয়েছেন"
+latestRequestSentAt: "শেষ রিকুয়েস্ট পাঠানো হয়েছে"
+latestRequestReceivedAt: "শেষ রিকুয়েস্ট গৃহীত হয়েছে"
+latestStatus: "সর্বশেষ অবস্থা"
+storageUsage: "স্টোরেজের ব্যাবহার"
+charts: "চার্ট"
+perHour: "ঘন্টা প্রতি"
+perDay: "দৈনিক"
+stopActivityDelivery: "অ্যাক্টিভিটি পাঠানো বন্ধ করুন"
+blockThisInstance: "ইন্সট্যান্স ব্লক করুন"
+operations: "ক্রিয়াকলাপ"
+software: "সফটওয়্যার"
+version: "সংস্করণ"
+metadata: "মেটাডাটা"
+withNFiles: "{n} টি ফাইল"
+monitor: "মনিটর"
+jobQueue: "জব কিউ"
+cpuAndMemory: "সিপিউ এবং মেমরি"
+network: "নেটওয়ার্ক"
+disk: "ডিস্ক"
+instanceInfo: "ইন্সট্যান্সের তথ্য"
+statistics: "পরিসংখ্যান"
+clearQueue: "কিউ পরিষ্কার করুন"
+clearQueueConfirmTitle: "আপনি কি কিউ পরিষ্কার করার ব্যাপারে নিশ্চিত?"
+clearQueueConfirmText: "বিতরণ না করা নোট আর বিতরণ করা হবে না। সাধারণত আপনার এটি করার দরকার নেই।"
+clearCachedFiles: "ক্যাশ পরিষ্কার করুন"
+clearCachedFilesConfirm: "আপনি কি ক্যাশ পরিষ্কার করার ব্যাপারে নিশ্চিত?"
+blockedInstances: "ব্লককৃত ইন্সট্যান্সসমুহ"
+blockedInstancesDescription: "আপনি যে ইন্সট্যান্সগুলি ব্লক করতে চান তার হোস্টনেমগুলি প্রত্যেকটি আলাদা লাইনে লিখুন। ব্লককৃত ইন্সট্যান্সগুলি এই ইন্সট্যান্সের সাথে যোগাযোগ করতে পারবেনা৷"
+muteAndBlock: "মিউট এবং ব্লকগুলি"
+mutedUsers: "নিঃশব্দকৃত ব্যবহারকারী"
+blockedUsers: "যাদের ব্লক করা হয়েছে"
+noUsers: "কোন ব্যাবহারকারী নেই"
+editProfile: "প্রোফাইল সম্পাদনা করুন"
+noteDeleteConfirm: "আপনি কি নোট ডিলিট করার ব্যাপারে নিশ্চিত?"
+pinLimitExceeded: "আপনি আর কোন নোট পিন করতে পারবেন না"
+intro: "Misskey এর ইন্সটলেশন সম্পন্ন হয়েছে!দয়া করে অ্যাডমিন ইউজার তৈরি করুন।"
+done: "সম্পন্ন"
+processing: "প্রক্রিয়াধীন..."
+preview: "পূর্বরূপ দেখুন"
+default: "পূর্বনির্ধারিত"
+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: "সরানো হয়েছে"
+removeAreYouSure: "আপনি কি \"{x}\" সরানোর ব্যাপারে নিশ্চিত?"
+deleteAreYouSure: "আপনি কি \"{x}\" সরানোর ব্যাপারে নিশ্চিত?"
+resetAreYouSure: "রিসেট করার ব্যাপারে নিশ্চিত?"
+saved: "সংরক্ষিত হয়েছে"
+messaging: "চ্যাট"
+upload: "আপলোড"
+keepOriginalUploading: "আসল ছবি রাখুন"
+keepOriginalUploadingDescription: "ছবিটি আপলোড করার সময় আসল সংস্করণটি রাখুন। অপশনটি বন্ধ থাকলে, আপলোডের সময় ওয়েব প্রকাশনার জন্য ছবি ব্রাউজারে তৈরি করা হবে।"
+fromDrive: "ড্রাইভ হতে"
+fromUrl: "URL হতে"
+uploadFromUrl: "URL হতে আপলোড"
+uploadFromUrlDescription: "যে ফাইলটি আপলোড করতে চান, সেটির URL"
+uploadFromUrlRequested: "আপলোড অনুরোধ করা হয়েছে"
+uploadFromUrlMayTakeTime: "URL হতে আপলোড হতে কিছু সময় লাগতে পারে।"
+explore: "ঘুরে দেখুন"
+messageRead: "পড়া"
+noMoreHistory: "আর কোন ইতিহাস নেই"
+startMessaging: "চ্যাট শুরু করুন"
+nUsersRead: "{n} জন পড়েছেন"
+agreeTo: "{0} এর প্রতি আমি সম্মত"
+tos: "পরিষেবার শর্তাদি"
+start: "শুরু করুন"
+home: "মূল পাতা"
+remoteUserCaution: "এই ব্যাবহারকারী রিমোট ইন্সট্যান্সের, নিম্নক্ত তথ্য অসম্পূর্ণ হতে পারে।"
+activity: "কার্যকলাপ"
+images: "ছবি"
+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: "আপনার ড্রাইভ খালি"
+emptyFolder: "এই ফোল্ডার খালি"
+unableToDelete: "মুছে ফেলা যায়নি"
+inputNewFileName: "ফাইলের নতুন নাম লিখুন"
+inputNewDescription: "নতুন ক্যাপশন লিখুন"
+inputNewFolderName: "ফোল্ডারের নতুন নাম লিখুন"
+circularReferenceFolder: "গন্তব্য ফোল্ডারটি আপনি যে ফোল্ডারটি সরাতে চান তার একটি সাবফোল্ডার।"
+hasChildFilesOrFolders: "এই ফোল্ডারটি খালি না হওয়ায় ডিলিট করা যায়নি।"
+copyUrl: "URL কপি করুন"
+rename: "পুনঃনামকরণ"
+avatar: "প্রোফাইল ছবি"
+banner: "ব্যানার"
+nsfw: "সংবেদনশীল বিষয়বস্তু"
+whenServerDisconnected: "সার্ভারের সাথে সংযোগ বিচ্ছিন্ন হয়ে গেলে"
+disconnectedFromServer: "সার্ভার থেকে সংযোগ বিচ্ছিন্ন হয়েছে"
+reload: "আবার লোড করুন"
+doNothing: "কিছু করবেন না"
+reloadConfirm: "আপনি কি রিলোড করতে চান?"
+watch: "বিজ্ঞপ্তি পান"
+unwatch: "বিজ্ঞপ্তি পাওয়া বন্ধ করুন "
+accept: "অনুমোদন"
+reject: "প্রত্যাখ্যান"
+normal: "স্বাভাবিক"
+instanceName: "ইন্সট্যান্সের নাম"
+instanceDescription: "ইন্সট্যান্সের বর্ণনা"
+maintainerName: "মেইনটেইনার"
+maintainerEmail: "মেইনটেইনারের ইমেইল"
+tosUrl: "ব্যবহারের শর্তাবলীর URL"
+thisYear: "বছর"
+thisMonth: "মাস"
+today: "আজ"
+dayX: "{day}"
+monthX: "{month}"
+yearX: "{year}"
+pages: "পৃষ্ঠা"
+integration: "ইন্টিগ্রেশন"
+connectService: "সংযুক্ত করুন"
+disconnectService: "সংযোগ বিচ্ছিন্ন করুন"
+enableLocalTimeline: "স্থানীয় টাইমলাইন চালু করুন"
+enableGlobalTimeline: "গ্লোবাল টাইমলাইন চালু করুন"
+disablingTimelinesInfo: "আপনি এই টাইমলাইনগুলি বন্ধ করলেও প্রশাসক এবং মডারেটররা এই টাইমলাইনগুলি ব্যাবহার করতে পারবে"
+registration: "নিবন্ধন"
+enableRegistration: "নতুন ব্যাবহারকারী নিবন্ধন চালু করুন"
+invite: "আমন্ত্রণ"
+driveCapacityPerLocalAccount: "প্রত্যেক স্থানীয় ব্যাবহারকারীর জন্য ড্রাইভের জায়গা"
+driveCapacityPerRemoteAccount: "প্রত্যেক রিমোট ব্যাবহারকারীর জন্য ড্রাইভের জায়গা"
+inMb: "মেগাবাইটে লিখুন"
+iconUrl: "আইকনের URL (ফ্যাভিকন, ইত্যাদি)"
+bannerUrl: "ব্যানার ছবির URL"
+backgroundImageUrl: "পটভূমির চিত্রের URL"
+basicInfo: "আপনার ব্যক্তিগত তথ্য"
+pinnedUsers: "পিন করা ব্যাবহারকারীগণ"
+pinnedUsersDescription: "আপনি যেসব ব্যবহারকারীদের \"ঘুরে দেখুন\" পৃষ্ঠায় পিন করতে চান তাদের বর্ণনা করুন, প্রত্যেকের বর্ণনা আলাদা লাইনে লিখুন"
+pinnedPages: "পিন করা পৃষ্ঠাসুমহ"
+pinnedPagesDescription: "আপনি যেসকল পৃষ্ঠাসমূহকে \"ঘুরে দেখুন\" পৃষ্ঠায় পিন করতে চান তাদের বর্ণনা করুন, প্রত্যেকের বর্ণনা আলাদা লাইনে লিখুন"
+pinnedClipId: "পিনকৃত ক্লিপের ID"
+pinnedNotes: "পিন করা নোট"
+hcaptcha: "hCaptcha"
+enableHcaptcha: "hCaptcha চালু করুন"
+hcaptchaSiteKey: "সাইট কী"
+hcaptchaSecretKey: "সিক্রেট কী"
+recaptcha: "reCAPTCHA"
+enableRecaptcha: "reCAPTCHA চালু করুন"
+recaptchaSiteKey: "সাইট কী"
+recaptchaSecretKey: "সিক্রেট কী"
+avoidMultiCaptchaConfirm: "একাধিক Captcha ব্যবহার করলে তারা পরস্পরের কাজে বাধা দিতে পারে। আপনি কি অন্যান্য Captcha নিষ্ক্রিয় করতে চান? আপনি 'বাতিল' ক্লিক করার মাধ্যমে একাধিক Captcha চালু রাখতে পারেন।"
+antennas: "অ্যান্টেনা"
+manageAntennas: "অ্যান্টেনা ব্যবস্থাপনা"
+name: "নাম"
+antennaSource: "অ্যান্টেনার উৎস"
+antennaKeywords: "যেসব কীওয়ার্ড দেখা হবে"
+antennaExcludeKeywords: "যেসব কীওয়ার্ড দেখা হবে না"
+antennaKeywordsDescription: "স্পেস দিয়ে আলাদা করলে AND শর্ত তৈরি হবে এবং আলাদা লাইনে লিখলে OR শর্ত তৈরি হবে।"
+notifyAntenna: "নতুন নোট সম্পর্কে অবহিত করুন"
+withFileAntenna: "শুধুমাত্র ফাইলযুক্ত নোট"
+enableServiceworker: "ServiceWorker চালু করুন"
+antennaUsersDescription: "প্রত্যেক লাইনে একজন ব্যবহারকারীর নাম লিখুন"
+caseSensitive: "ছোট হাতের এবং বড় হাতের অক্ষর নির্দিষ্ট করুন"
+withReplies: "জবাবসমুহ যুক্ত করুন"
+connectedTo: "আপনি নিম্নলিখিত অ্যাকাউন্টের সাথে সংযুক্ত"
+notesAndReplies: "নোটসমূহ এবং জবাবগুলি"
+withFiles: "ফাইলগুলি যুক্ত করুন"
+silence: "নীরব"
+silenceConfirm: "আপনি কি এই ব্যাবহারকারীকের নীরব করতে চান?"
+unsilence: "সরব"
+unsilenceConfirm: "আপনি কি এই ব্যাবহারকারীকের সরব করতে চান?"
+popularUsers: "জনপ্রিয় ব্যবহারকারীগন"
+recentlyUpdatedUsers: "সম্প্রতি পোস্ট করা ব্যবহারকারীগন"
+recentlyRegisteredUsers: "নতুন যোগ দেওয়া ব্যবহারকারীগন"
+recentlyDiscoveredUsers: "নতুন খুঁজে পাওয়া ব্যবহারকারীগন"
+exploreUsersCount: "{count} জন ব্যাবহারকারী"
+exploreFediverse: "Fediverse ঘুরে দেখুন"
+popularTags: "জনপ্রিয় ট্যাগগুলি"
+userList: "লিস্ট"
+about: "আপনার সম্পর্কে"
+aboutMisskey: "Misskey সম্পর্কে"
+administrator: "প্রশাসক"
+token: "টোকেন"
+twoStepAuthentication: "২-ধাপ প্রমাণীকরণ"
+moderator: "মডারেটর"
+nUsersMentioned: "{n} জনকে উল্লেখ করা হয়েছে"
+securityKey: "সিকিউরিটি কী"
+securityKeyName: "কী'র নাম"
+registerSecurityKey: "সিকিউরিটি কী নিবন্ধন করুন"
+lastUsed: "শেষ ব্যাবহার করা হয়েছে"
+unregister: "নিবন্ধনমুক্ত হন"
+passwordLessLogin: "পাসওয়ার্ড-বিহীন লগইন সেট আপ করুন"
+resetPassword: "পাসওয়ার্ড রিসেট করুন"
+newPasswordIs: "নতুন পাসওয়ার্ড হচ্ছে \"{password}\""
+reduceUiAnimation: "UI অ্যানিমেশন কমান"
+share: "শেয়ার"
+notFound: "পাওয়া যায়নি"
+notFoundDescription: "এই URL-এর সাথে সম্পর্কিত কোনো পৃষ্ঠা নেই।"
+uploadFolder: "আপলোডের জন্য ডিফল্ট ফোল্ডার"
+cacheClear: "ক্যাশ পরিষ্কার করুন"
+markAsReadAllNotifications: "সমস্ত বিজ্ঞপ্তিগুলি পঠিত হিসাবে চিহ্নিত করুন"
+markAsReadAllUnreadNotes: "সমস্ত নোটগুলি পঠিত হিসাবে চিহ্নিত করুন"
+markAsReadAllTalkMessages: "সমস্ত মেসেজ পঠিত হিসাবে চিহ্নিত করুন"
+help: "সহায়তা"
+inputMessageHere: "এখানে মেসেজ লিখুন"
+close: "বন্ধ"
+group: "গ্রুপ"
+groups: "গ্রুপসমূহ"
+createGroup: "গ্রুপ তৈরী করুন"
+ownedGroups: "আপনার গ্রুপগুলি"
+joinedGroups: "যেসব গ্রুপে আপনি আছেন"
+invites: "আমন্ত্রণ"
+groupName: "গ্রুপের নাম"
+members: "সদস্যবৃন্দ"
+transfer: "হস্তান্তর"
+messagingWithUser: "প্রাইভেট চ্যাট"
+messagingWithGroup: "গ্রুপ চ্যাট"
+title: "শিরোনাম"
+text: "পাঠ্য"
+enable: "সক্রিয়"
+next: "পরবর্তী"
+retype: "পুনঃ প্রবেশ"
+noteOf: "{user} এর নোট"
+inviteToGroup: "গ্রুপে আমন্ত্রণ জানান"
+quoteAttached: "উদ্ধৃত"
+quoteQuestion: "উদ্ধৃতি হিসাবে সংযুক্ত করবেন?"
+noMessagesYet: "কোন মেসেজ নেই"
+newMessageExists: "নতুন মেসেজ পেয়েছেন"
+onlyOneFileCanBeAttached: "আপনি মেসেজের সাথে সর্বোচ্চ একটি ফাইল যুক্ত করতে পারবেন"
+signinRequired: "দয়া করে লগ ইন করুন"
+invitations: "আমন্ত্রণ"
+invitationCode: "ইনভাইট কোড"
+checking: "পরীক্ষা করা হচ্ছে..."
+available: "উপলব্ধ"
+unavailable: "অনুপলব্ধ"
+usernameInvalidFormat: "আপনি কেবলমাত্র a-z, A-Z, 0-9, _ ব্যবহার করতে পারেন"
+tooShort: "খুব ছোট"
+tooLong: "খুব বড়"
+weakPassword: "দুর্বল পাসওয়ার্ড"
+normalPassword: "সাধারণ পাসওয়ার্ড"
+strongPassword: "শক্তিশালী পাসওয়ার্ড"
+passwordMatched: "মিলেছে"
+passwordNotMatched: "মিলেনি"
+signinWith: "{x} এর সাহায্যে সাইন ইন করুন"
+signinFailed: "লগ ইন করা যায়নি। আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড চেক করুন."
+tapSecurityKey: "সিকিউরিটি কী স্পর্শ করুন"
+or: "অথবা"
+language: "ভাষা"
+uiLanguage: "UI এর ভাষা"
+groupInvited: "আপনি একটি গ্রুপে আমন্ত্রিত হয়েছেন"
+aboutX: "{x} সম্পর্কে"
+useOsNativeEmojis: "অপারেটিং সিস্টেমের নেটিভ ইমোজি ব্যবহার করুন"
+disableDrawer: "ড্রয়ার মেনু প্রদর্শন করবেন না"
+youHaveNoGroups: "আপনার কোন গ্রুপ নেই "
+joinOrCreateGroup: "একটি বিদ্যমান গ্রুপের আমন্ত্রণ পান বা একটি নতুন গ্রুপ তৈরি করুন৷"
+noHistory: "কোনো ইতিহাস নেই"
+signinHistory: "প্রবেশ করার ইতিহাস"
+disableAnimatedMfm: "অ্যানিমেটেড MFM অক্ষম করুন"
+doing: "প্রক্রিয়া করছে..."
+category: "বিভাগ"
+tags: "ট্যাগসমূহ"
+docSource: "ডকুমেন্টের উৎস"
+createAccount: "অ্যাকাউন্ট তৈরি করুন"
+existingAccount: "বিদ্যমান অ্যাকাউন্ট"
+regenerate: "আবারও তৈরি করুন"
+fontSize: "ফন্টের আকার"
+noFollowRequests: "আপনার কোন ফলোও রিকুয়েস্ট নেই"
+openImageInNewTab: "ছবি নতুন ট্যাবে খুলুন"
+dashboard: "ড্যাশবোর্ড"
+local: "স্থানীয়"
+remote: "রিমোট"
+total: "মোট"
+weekOverWeekChanges: "গত সপ্তাহে"
+dayOverDayChanges: "গতকাল"
+appearance: "অবয়ব"
+clientSettings: "ক্লায়েন্ট সেটিংস"
+accountSettings: "অ্যাকাউন্ট সেটিংস"
+promotion: "প্রমোশন"
+promote: "প্রচার করুন"
+numberOfDays: "দিনের সংখ্যা"
+hideThisNote: "নোটটি লুকান"
+showFeaturedNotesInTimeline: "টাইমলাইনে সুপারিশকৃত নোটগুলি দেখান"
+objectStorage: "অবজেক্ট স্টোরেজ"
+useObjectStorage: "অবজেক্ট স্টোরেজ ব্যাবহার করুন"
+objectStorageBaseUrl: "Base URL"
+objectStorageBaseUrlDesc: "রেফারেন্স হিসাবে ব্যবহৃত URL। আপনি একটি CDN বা প্রক্সি ব্যবহার করলে URL, S3: 'https://.s3.amazonaws.com', GCS: 'https://storage.googleapis.com/'।"
+objectStorageBucket: "Bucket"
+objectStorageBucketDesc: "ব্যবহার করা পরিষেবার bucket এর নাম লিখুন। "
+objectStoragePrefix: "Prefix"
+objectStoragePrefixDesc: "ফাইলসমূহ এই prefix যুক্ত ফোল্ডারের অধীনে সংরক্ষণ করা হবে।"
+objectStorageEndpoint: "এন্ডপয়েন্ট"
+objectStorageEndpointDesc: "S3 এর জন্য ফাঁকা রাখুন, অন্যথায় প্রতিটি পরিষেবার এন্ডপয়েন্ট নির্দিষ্ট করুন। ''বা': ' হিসেবে লিখুন।"
+objectStorageRegion: "Region"
+objectStorageRegionDesc: "'xx-east-1'-এর মতো একটি region নির্দিষ্ট করুন। যদি আপনার পরিষেবাতে region এর ধারণা না থাকে, তাহলে এটি খালি বা 'us-east-1' হওয়া উচিত।"
+objectStorageUseSSL: "SSL ব্যাবহার করুন"
+objectStorageUseSSLDesc: "API কানেকশনগুলির জন্য যদি https ব্যাবহার না করেন, তাহলে এই অপশনটি বন্ধ করুন"
+objectStorageUseProxy: "Proxy ব্যাবহার করুন"
+objectStorageUseProxyDesc: "আপনি API সংযোগের জন্য proxy ব্যবহার না করলে, এটি বন্ধ করুন।"
+objectStorageSetPublicRead: "আপলোডের উপর ''public-read' সেট করুন"
+serverLogs: "সার্ভার লগ"
+deleteAll: "সব মুছুন"
+showFixedPostForm: "টাইমলাইনের শীর্ষে পোস্ট করার ফর্মটি দেখান"
+newNoteRecived: "নতুন নোট আছে"
+sounds: "শব্দ"
+listen: "শুনুন"
+none: "কিছুই না"
+showInPage: "পেজে দেখান"
+popout: "পপ-আউট"
+volume: "আওয়াজের মাত্রা"
+masterVolume: "মাস্টার আওয়াজের মাত্রা"
+details: "আরও জানুন"
+chooseEmoji: "ইমোজি নির্বাচন করুন"
+unableToProcess: "কাজটি সম্পন্ন করা যায়নি"
+recentUsed: "সম্প্রতি ব্যবহৃত"
+install: "ইন্সটল"
+uninstall: "আনইন্সটল"
+installedApps: "ইন্সটল করা অ্যাপসমূহ"
+nothing: "এখানে কিছুই নাই"
+installedDate: "ইন্সটল করার তারিখ"
+lastUsedDate: "সর্বশেষ ব্যাবহৃত"
+state: "অবস্থা"
+sort: "সাজান"
+ascendingOrder: "ঊর্ধ্বক্রমে"
+descendingOrder: "নিম্নক্রমে"
+scratchpad: "স্ক্র্যাচপ্যাড"
+scratchpadDescription: "স্ক্র্যাচপ্যাড AiScript-এর জন্য একটি পরীক্ষামূলক পরিবেশ প্রদান করে। আপনি মিস্কির সাথে ইন্টারঅ্যাক্ট করে এমন কোড লিখতে, চালাতে এবং তার ফলাফল দেখতে পারেন।"
+output: "আউটপুট"
+script: "স্ক্রিপ্ট"
+disablePagesScript: "পেজগুলোতে AiScript অক্ষম করুন"
+updateRemoteUser: "রিমোট ব্যবহারকারীর তথ্য আপডেট করুন"
+deleteAllFiles: "সকল ফাইল ডিলিট করুন"
+deleteAllFilesConfirm: "সকল ফাইল ডিলিট করতে চান?"
+removeAllFollowing: "সকল অনুসরণ বাতিল করুন"
+removeAllFollowingDescription: "{host} এর সকল ব্যাবহারকারীকে আর ফলোও করবেন না । যদি ইন্সত্যান্সটির কোন সমস্যা (যেমনঃ ইন্সত্যান্সটি আর নেই) হয়ে থাকে তবে এটি ব্যাবহার করুন । "
+userSuspended: "এই ব্যাবহারকারির অ্যাকাউন্ট স্থগিত করা হয়েছে"
+userSilenced: "এই ব্যাবহারকারিকে মিউট করা হয়েছে"
+yourAccountSuspendedTitle: "এই অ্যাকাউন্টটি স্থগিত করা হয়েছে"
+yourAccountSuspendedDescription: "সার্ভারের ব্যবহারের শর্তাবলী লঙ্ঘনের মতো কারণে এই অ্যাকাউন্টটি স্থগিত করা হয়েছে৷ বিস্তারিত জানার জন্য প্রশাসকের সাথে যোগাযোগ করুন । একটি নতুন অ্যাকাউন্ট তৈরি করবেন না দয়া করে ।"
+menu: "মেনু"
+divider: "খন্ডক"
+addItem: "আইটেম যোগ করুন"
+relays: "রিলেগুলি"
+addRelay: "রিলে যোগ করুন"
+inboxUrl: "inbox এর URL"
+addedRelays: "যোগকৃত রিলেগুলি"
+serviceworkerInfo: "পুশ বিজ্ঞপ্তির জন্য চালু করা লাগবে।"
+deletedNote: "ডিলিট করা নোট"
+invisibleNote: "অদৃশ্য নোট"
+enableInfiniteScroll: "ইনফিনিট স্ক্রল চালু করুন"
+visibility: "দৃশ্যমানতা"
+poll: "জরিপ"
+useCw: "কন্টেন্ট লুকান"
+enablePlayer: "ভিডিও প্লেয়ার খুলুন"
+disablePlayer: "ভিডিও প্লেয়ার বন্ধ করুন"
+expandTweet: "টুইট বিস্তারিত করুন"
+themeEditor: "থিম সম্পাদক"
+description: "বর্ণনা"
+describeFile: "ক্যাপশন যোগ করুন"
+enterFileDescription: "ক্যাপশন যোগ করুন"
+author: "লেখক"
+leaveConfirm: "কিছু পরিবর্তন সেভ করা হয়নি। আপনি কি চলে যেতে চান?"
+manage: "পরিচালনা"
+plugins: "প্লাগইনসমূহ"
+deck: "ডেক"
+undeck: "ডেকমুক্ত করুন"
+useBlurEffectForModal: "মোডালের জন্য ব্লার ইফেক্ট ব্যবহার করুন"
+useFullReactionPicker: "সম্পূর্ণ বৈশিষ্ট্যযুক্ত রিঅ্যাকশন পিকার ব্যবহার করুন"
+width: "প্রস্থ"
+height: "উচ্চতা"
+large: "বড়"
+medium: "মাঝারি"
+small: "ছোট"
+generateAccessToken: "অ্যাক্সেস টোকেন তৈরি করুন"
+permission: "অনুমতি"
+enableAll: "সবগুলি সক্রিয় করুন"
+disableAll: "সবগুলি নিষ্ক্রিয় করুন"
+tokenRequested: "অ্যাকাউন্টে অ্যাক্সেস প্রদান করবেন"
+pluginTokenRequestedDescription: "এই প্লাগইনটি এখানে দেওয়া অনুমুতিসমূহ ব্যাবহার করবে"
+notificationType: "বিজ্ঞপ্তির ধরন"
+edit: "সম্পাদনা"
+useStarForReactionFallback: "রিঅ্যাকশনের ইমোজি না জানলে ★ ব্যবহার করুন"
+emailServer: "ইমেইল সার্ভার"
+enableEmail: "ইমেইল বিতরণ চালু করুন"
+emailConfigInfo: "আপনার ইমেল ঠিকানা নিশ্চিত করতে এবং আপনার পাসওয়ার্ড পুনরায় সেট করতে ব্যবহৃত হয়"
+email: "ইমেইল"
+emailAddress: "ইমেইল ঠিকানা"
+smtpConfig: "SMTP সার্ভার কনফিগারেশন"
+smtpHost: "হোস্ট"
+smtpPort: "পোর্ট"
+smtpUser: "ব্যবহারকারীর নাম"
+smtpPass: "পাসওয়ার্ড"
+emptyToDisableSmtpAuth: "আপনি ব্যবহারকারীর নাম এবং পাসওয়ার্ড ফাঁকা রেখে SMTP প্রমাণীকরণ নিষ্ক্রিয় করতে পারেন।"
+smtpSecure: "SMTP সংযোগের জন্য SSL/TLS ব্যবহার করুন"
+smtpSecureInfo: "STARTTLS ব্যবহার করার সময় এটি বন্ধ করুন।"
+testEmail: "ইমেল বিতরণ পরীক্ষা করুন"
+wordMute: "বিশেষ কোন শব্দকে মিউট করুন"
+regexpError: "রেগুলার এক্সপ্রেশন ত্রুটি"
+regexpErrorDescription: "{tab} ওয়ার্ড মিউটের {line} লাইনে রেগুলার এক্সপ্রেশনে একটি ত্রুটি ছিল:"
+instanceMute: "মিউট করা ইন্সত্যান্সগুলি"
+userSaysSomething: "{name} কিছু বলেছে"
+makeActive: "সক্রিয় করা"
+display: "প্রদর্শন"
+copy: "অনুলিপি"
+metrics: "মেট্রিক্স"
+overview: "সারাংশ"
+logs: "লগ"
+delayed: "দেরি করুন"
+database: "ডেটাবেজ"
+channel: "চ্যানেলগুলি"
+create: "তৈরি করুন"
+notificationSetting: "বিজ্ঞপ্তির সেটিংস"
+notificationSettingDesc: "কি ধরনের বিজ্ঞপ্তি পাবেন তা নির্ধারণ করুন"
+useGlobalSetting: "গ্লোবাল সেটিংস ব্যাবহার করুন"
+useGlobalSettingDesc: "চালু করলে, আপনার অ্যাকাউন্টের বিজ্ঞপ্তি সেটিংস ব্যবহার করা হবে। বন্ধ করলে, এটি পৃথকভাবে সেট করা যেতে পারে।"
+other: "অন্যান্য"
+regenerateLoginToken: "লগইন টোকেন আবার বানান"
+regenerateLoginTokenDescription: "লগ ইন করার জন্য ব্যবহৃত অভ্যন্তরীণ টোকেন পুনরায় তৈরি করে। সাধারণত আপনার এটি করার দরকার নেই। এটি করলে, আপনি সমস্ত ডিভাইসে লগ আউট হয়ে যাবেন৷"
+setMultipleBySeparatingWithSpace: "আপনি একটি স্পেস দিয়ে আলাদা করে একাধিক এন্ট্রি দিতে পারেন।"
+fileIdOrUrl: "ফাইল ID অথবা URL"
+behavior: "আচরণ"
+sample: "উদাহরণ"
+abuseReports: "অভিযোগ"
+reportAbuse: "অভিযোগ"
+reportAbuseOf: "{name} এ অভিযোগ করুন"
+fillAbuseReportDescription: "রিপোর্টের কারণ বর্ণনা করুন. একটি বিশেষ নোট এর জন্য রিপোর্টটি হয়ে থাকে তবে তার URL টি অন্তর্ভুক্ত করুন। "
+abuseReported: "আপনার অভিযোগটি দাখিল করা হয়েছে। আপনাকে ধন্যবাদ।"
+reporter: "অভিযোগকারী"
+reporteeOrigin: "অভিযোগটির উৎস"
+reporterOrigin: "অভিযোগকারীর উৎস"
+forwardReport: "রিমোট ইন্সত্যান্সে অভিযোগটি পাঠান"
+forwardReportIsAnonymous: "আপনার তথ্য রিমোট ইন্সত্যান্সে পাঠানো হবে না এবং একটি বেনামী সিস্টেম অ্যাকাউন্ট হিসাবে প্রদর্শিত হবে।"
+send: "পাঠান"
+abuseMarkAsResolved: "অভিযোগটিকে সমাধাকৃত হিসাবে চিহ্নিত করুন"
+openInNewTab: "নতুন ট্যাবে খুলুন"
+openInSideView: "সাইড ভিউতে খুলুন"
+defaultNavigationBehaviour: "ডিফল্ট নেভিগেশন"
+editTheseSettingsMayBreakAccount: "এসব সেটিংস সম্পাদনা করলে আপনার অ্যাকাউন্টের ক্ষতি হতে পারে। "
+instanceTicker: "ইন্সত্যান্সে নোটের তথ্য"
+waitingFor: "{x} এর জন্য অপেক্ষা করা হচ্ছে"
+random: "র্যান্ডম"
+system: "সিস্টেম"
+switchUi: "UI পরিবর্তন করুন"
+desktop: "ডেস্কটপ"
+clip: "ক্লিপ"
+createNew: "নতুন"
+optional: "প্রয়োজনীয় নয়"
+createNewClip: "নতুন ক্লিপ তৈরি করুন"
+public: "সর্বজনীন"
+i18nInfo: "Misskey স্বেচ্ছাসেবকদের দ্বারা বিভিন্ন ভাষায় অনুবাদ করা হচ্ছে। আপনি {link} এ গিয়ে অনুবাদে সহযোগিতা করতে পারেন।"
+manageAccessTokens: "অ্যাক্সেস টোকেন পরিচালনা করুন"
+accountInfo: "অ্যাকাউন্টের তথ্য"
+notesCount: "নোটের সংখ্যা"
+repliesCount: "জবাবের সংখ্যা"
+renotesCount: "রিনোটের সংখ্যা"
+repliedCount: "জবাব গ্রহন করা হয়েছে"
+renotedCount: "রিনোট পেয়েছেন"
+followingCount: "যাদেরকে অনুসরণ করেন, তাদের সংখ্যা"
+followersCount: "অনুসরণকারীদের সংখ্যা"
+sentReactionsCount: "রিঅ্যাকশন পাঠানো হয়েছে"
+receivedReactionsCount: "রিঅ্যাকশন পেয়েছেন"
+pollVotesCount: "পোল ভোট দিয়েছেন"
+pollVotedCount: "পোল ভোট পেয়েছেন"
+yes: "হ্যাঁ"
+no: "না"
+driveFilesCount: "ড্রাইভে ফাইল এর সংখ্যা"
+driveUsage: "ড্রাইভ এর ব্যাবহার"
+noCrawle: "ক্রলার ইন্ডেক্সিং বন্ধ করুন"
+noCrawleDescription: "সার্চ ইঞ্জিনগুলিকে আপনার প্রোফাইল, নোট, পেজ ইত্যাদি ইনডেক্স করতে নিষেধ করুন। "
+lockedAccountInfo: "এমনকি আপনি আপনার অনুসরণকারীদের বেছে বেছে অনুমোদন করলেও, যে কেউ আপনার নোটগুলি দেখতে পাবে, যতক্ষণ না আপনি আপনার নোটগুলিকে \"অনুসারীদের জন্য\" হিসাবে সেট না করেন৷"
+alwaysMarkSensitive: "সর্বদা স্পর্শকাতর হিসাবে চিহ্নিত করুন"
+loadRawImages: "সংযুক্ত ছবির থাম্বনেইলটি দেখানর পরিবর্তে আসল ছবি দেখান"
+disableShowingAnimatedImages: "অ্যানিমেটেড চিত্র দেখানো বন্ধ করুন"
+verificationEmailSent: "নিশ্চিতকরণ ইমেল পাঠানো হয়েছে। সেটআপ সম্পূর্ণ করতে ইমেল এর লিঙ্ক অনুসরণ করুন।"
+notSet: "সেট করা হয়নি"
+emailVerified: "ইমেইল নিশ্চিত করা হয়েছে"
+noteFavoritesCount: "পছন্দ করা নোটের সংখ্যা"
+pageLikesCount: "পেজ লাইক করেছেন"
+pageLikedCount: "পেজ লাইক পেয়েছেন"
+contact: "পরিচিতি সমূহ"
+useSystemFont: "সিস্টেম ফন্ট ব্যাবহার করুন"
+clips: "ক্লিপগুলি "
+experimentalFeatures: "পরীক্ষামূলক বৈশিষ্ট্যগুলি"
+developer: "ডেভেলপার"
+makeExplorable: "অ্যাকাউন্ট \"ঘুরে দেখুন\" পৃষ্ঠায় দেখান"
+makeExplorableDescription: "আপনি এটি বন্ধ করলে, আপনার অ্যাকাউন্ট \"ঘুরে দেখুন\" পৃষ্ঠায় প্রদর্শিত হবে না।"
+showGapBetweenNotesInTimeline: "টাইমলাইন এবং নোটের মাঝে ফাকা জায়গা রাখুন"
+duplicate: "প্রতিরূপ"
+left: "বাম"
+center: "মাঝখান"
+wide: "চওড়া"
+narrow: "সংকীর্ণ"
+reloadToApplySetting: "পৃষ্ঠাটি রিলোড করার পর সেটিংসটি প্রয়োগ করা হবে। আপনি কি এখন রিলোড করতে চান?"
+needReloadToApply: "পৃষ্ঠাটি রিলোড করার পর সেটিংসটি প্রয়োগ করা হবে।"
+showTitlebar: "টাইটেল বার দেখান"
+clearCache: "ক্যাশ পরিষ্কার করুন"
+onlineUsersCount: "{n} জন ব্যাবহারকারী অনলাইন"
+nUsers: "{n} জন ব্যাবহারকারী"
+nNotes: "{n} টি নোট"
+sendErrorReports: "ক্রুটি প্রতিবেদন পাঠান"
+sendErrorReportsDescription: "চালু থাকলে, বিস্তারিত ত্রুটির তথ্য Misskey-এর সাথে শেয়ার করা হয়। যা সফ্টওয়্যারটির গুণমান উন্নত করতে সাহায্য করে। ত্রুটির তথ্যের মধ্যে রয়েছে OS সংস্করণ, ব্রাউজারের ধরন, কর্মের ইতিহাস ইত্যাদি।"
+myTheme: "আমার থিম"
+backgroundColor: "পটভূমির রং"
+accentColor: "এক্সেন্টের রং"
+textColor: "লেখার রং"
+saveAs: "এইরূপে সংরক্ষণ করুন"
+advanced: "উন্নত"
+value: "মান"
+createdAt: "তৈরি হয়েছে"
+updatedAt: "শেষ হালনাগাদ হয়েছে"
+saveConfirm: "পরিবর্তনগুলি সংরক্ষণ করতে চান?"
+deleteConfirm: "আসলেই মুছে ফেলতে চান?"
+invalidValue: "অগ্রহণযোগ্য মান"
+registry: "রেজিস্ট্রি"
+closeAccount: "অ্যাকাউন্ট বন্ধ করুন"
+currentVersion: "বর্তমান সংস্করণ"
+latestVersion: "সর্বশেষ সংস্করণ"
+youAreRunningUpToDateClient: "আপনি সবচেয়ে নতুন ক্লায়েন্ট ব্যাবহার করছেন"
+newVersionOfClientAvailable: "আপনার ক্লায়েন্টের একটি নতুন ভার্সন চলে এসেছে"
+usageAmount: "ব্যাবহার"
+capacity: "ধারণক্ষমতা"
+inUse: "ব্যবহৃত"
+editCode: "কোড সম্পাদনা করুন"
+apply: "প্রয়োগ করুন"
+receiveAnnouncementFromInstance: "এই ইন্সট্যান্স থেকে বিজ্ঞপ্তি পান"
+emailNotification: "ইমেইল বিজ্ঞপ্তি"
+publish: "প্রকাশ"
+inChannelSearch: "চ্যানেলে খুঁজুন"
+useReactionPickerForContextMenu: "রাইট ক্লিকের মাধ্যমে রিঅ্যাকশন পিকার খুলুন"
+typingUsers: "{users} লেখছে"
+jumpToSpecifiedDate: "একটি নির্দিষ্ট তারিখে যান"
+showingPastTimeline: "অতীতের টাইমলাইন দেখানো হচ্ছে"
+clear: "পরিষ্কার"
+markAllAsRead: "সব পঠিত হিসেবে চিহ্নিত করুন"
+goBack: "পিছনে"
+unlikeConfirm: "আসলেই লাইক সরিয়ে নিবেন?"
+fullView: "ফুল ভিউ"
+quitFullView: "ফুল ভিউ বন্ধ করুন"
+addDescription: "বর্ণনা যোগ করুন"
+userPagePinTip: "আপনি প্রতিটি নোটের জন্য মেনু থেকে \"প্রোফাইলে পিন করুন\" নির্বাচন করে আপনার নোটগুলি এখানে প্রদর্শন করতে পারেন।"
+notSpecifiedMentionWarning: "প্রাপক ছাড়াও এই নোটে অন্য ব্যাবহারকারীদের উল্লেখ্য করা হয়েছে"
+info: "আপনার সম্পর্কে"
+userInfo: "ব্যবহারকারীর তথ্য"
+unknown: "অজানা"
+onlineStatus: "অনলাইন স্ট্যাটাস"
+hideOnlineStatus: "অনলাইন স্ট্যাটাস লুকান"
+hideOnlineStatusDescription: "অনলাইন স্ট্যাটাস লুকিয়ে রাখলে সার্চের মতো কিছু ফাংশনের সুবিধা কমে যায়।"
+online: "অনলাইন"
+active: "অ্যাকটিভ"
+offline: "অফলাইন"
+notRecommended: "সুপারিশ করা হয় না"
+botProtection: "বট প্রোটেকশন"
+instanceBlocking: "ব্লক করা ইন্সট্যান্সগুলি"
+selectAccount: "অ্যাকাউন্ট নির্বাচন"
+switchAccount: "অ্যাকাউন্ট পাল্টান"
+enabled: "চালু"
+disabled: "বন্ধ"
+quickAction: "কুইক অ্যাকশন"
+user: "ব্যবহারকারীগণ"
+administration: "পরিচালনা"
+accounts: "অ্যাকাউন্টগুলি"
+switch: "পাল্টান"
+noMaintainerInformationWarning: "প্রশাসকের তথ্য সেট করা হয়নি।"
+noBotProtectionWarning: "বট প্রোটেকশন সেট করা হয়নি।"
+configure: "কনফিগার করুন"
+postToGallery: "গ্যালারী পোস্ট তৈরি করুন"
+gallery: "গ্যালারী"
+recentPosts: "নতুন পোস্ট"
+popularPosts: "জনপ্রিয় পোস্ট"
+shareWithNote: "নোটের মাধ্যমে শেয়ার করুন"
+ads: "বিজ্ঞাপন"
+expiration: "নির্দিষ্ট সময়সীমা"
+memo: "মেমো"
+priority: "অগ্রাধিকার"
+high: "উচ্চ"
+middle: "মাঝারি"
+low: "নিম্ন"
+emailNotConfiguredWarning: "ইমেইল অ্যাড্রেস সেট করা হয়নি।"
+ratio: "অনুপাত"
+previewNoteText: "প্রিভিউ দেখান"
+customCss: "কাস্টম CSS"
+customCssWarn: "এই ব্যাপারে অভিজ্ঞতা না থাকলে এই সেটিংটি ব্যাবহার করবেন না। অনুপযুক্ত সেটিংস ক্লায়েন্টকে স্বাভাবিকভাবে ব্যবহার করতে বাধা দিতে পারে।"
+global: "গ্লোবাল"
+squareAvatars: "চারকোনা প্রোফাইল পিকচার দেখান "
+sent: "পাঠান"
+received: "প্রাপ্ত"
+searchResult: "অনুসন্ধানের ফলাফল"
+hashtags: "হ্যাশট্যাগ"
+troubleshooting: "ট্রাবলশুটিং"
+useBlurEffect: "UI তে ব্লার ইফেক্ট ব্যাবহার করুন"
+learnMore: "আরও জানুন"
+misskeyUpdated: "Misskey আপডেট করা হয়েছে!"
+whatIsNew: "পরিবর্তনগুলি দেখান"
+translate: "অনুবাদ"
+translatedFrom: "{x} হতে অনুবাদ করা"
+accountDeletionInProgress: "অ্যাকাউন্ট মুছে ফেলা হচ্ছে"
+usernameInfo: "একটি নাম যা সার্ভারে আপনার অ্যাকাউন্টটিকে অনন্যভাবে সনাক্ত করে। আপনি বর্ণমালা (a ~ z, A ~ Z), সংখ্যা (0 ~ 9), এবং আন্ডারস্কোর (_) ব্যবহার করতে পারেন। ব্যবহারকারীর নাম পরে পরিবর্তন করা যাবে না।"
+aiChanMode: "Ai মোড"
+keepCw: "CW রাখুন"
+pubSub: "Pub/Sub অ্যাকাউন্টগুলো"
+lastCommunication: "শেষ যোগাযোগ"
+resolved: "সমাধান হয়েছে"
+unresolved: "সমাধান হয়নি"
+breakFollow: "অনুসরণ করা বন্ধ"
+itsOn: "চালু"
+itsOff: "বন্ধ"
+emailRequiredForSignup: "অ্যাকাউন্ট তৈরির জন্য ইমেইল এর দরকার পড়বে"
+unread: "অপঠিত"
+filter: "ফিল্টার"
+controlPanel: "নিয়ন্ত্রন কেন্দ্র"
+manageAccounts: "অ্যাকাউন্টগুলি পরিচালনা করুন"
+makeReactionsPublic: "রিঅ্যাকশনের ইতিহাস উন্মুক্ত করুন"
+makeReactionsPublicDescription: "আপনার পূর্ববর্তী রিঅ্যাকশনগুলির তালিকা যে কারও কাছে দৃশ্যমান হবে।"
+classic: "ক্লাসিক"
+muteThread: "থ্রেড মিউট করুন"
+unmuteThread: "থ্রেড আনমিউট করুন"
+ffVisibility: "অনুসরণ/অনুসরণকারীদের দৃশ্যমান্যতা"
+ffVisibilityDescription: "আপনি কাকে অনুসরণ করেন এবং কে আপনাকে অনুসরণ করে, সেটা কারা দেখতে পাবে তা নির্ধারণ করে।"
+continueThread: "আরো থ্রেড দেখুন"
+deleteAccountConfirm: "আপনার অ্যাকাউন্ট মুছে ফেলা হবে। ঠিক আছে?"
+incorrectPassword: "আপনার দেওয়া পাসওয়ার্ডটি ভুল।"
+voteConfirm: "\"{choice}\" এ ভোট দিতে চান?"
+hide: "লুকান"
+leaveGroup: "গ্রুপ ছেড়ে চলে যান"
+leaveGroupConfirm: "\"{name}\" গ্রুপ ছেড়ে চলে যেতে চান?"
+useDrawerReactionPickerForMobile: "মোবাইলে রিঅ্যাকশন পিকারকে ড্রয়ারে প্রদর্শন করুন"
+welcomeBackWithName: "আবার স্বাগতম, {name}"
+clickToFinishEmailVerification: " [{ok}] ক্লিক করার মাধ্যমে আপনার ইমেল ঠিকানা নিশ্চিত করুন।"
+overridedDeviceKind: "ডিভাইসের ধরন"
+smartphone: "স্মার্টফোন"
+tablet: "ট্যাবলেট"
+auto: "স্বয়ংক্রিয়"
+themeColor: "থিমের রং"
+size: "আকার"
+numberOfColumn: "কলামের সংখ্যা"
+searchByGoogle: "গুগল"
+instanceDefaultLightTheme: "ইন্সট্যান্সের ডিফল্ট লাইট থিম"
+instanceDefaultDarkTheme: "ইন্সট্যান্সের ডিফল্ট ডার্ক থিম"
+instanceDefaultThemeDescription: "অবজেক্ট ফরম্যাটে থিম কোড লিখুন"
+mutePeriod: "মিউটের সময়কাল"
+indefinitely: "অনির্দিষ্ট"
+tenMinutes: "১০ মিনিট"
+oneHour: "১ ঘণ্টা"
+oneDay: "একদিন"
+oneWeek: "এক সপ্তাহ"
+reflectMayTakeTime: "এটির কাজ দেখা যেতে কিছুটা সময় লাগতে পারে।"
+failedToFetchAccountInformation: "অ্যাকাউন্টের তথ্য উদ্ধার করা যায়নি"
+rateLimitExceeded: "রেট লিমিট ছাড়িয়ে গেছে "
+file: "ফাইলগুলি"
+reverse: "উল্টান"
+colored: "রঙ্গিন"
+label: "লেবেল"
+localOnly: "শুধুমাত্র লোকাল"
+account: "অ্যাকাউন্টগুলি"
+_emailUnavailable:
+ used: "এই ইমেইল ঠিকানাটি ইতোমধ্যে ব্যবহৃত হয়েছে"
+ format: "এই ইমেল ঠিকানাটি সঠিকভাবে লিখা হয়নি"
+ disposable: "অস্থায়ী ইমেইল ঠিকানা ব্যাবহার করা যাবে না"
+ mx: "ইমেইল সার্ভারটি ঠিক নাই"
+ smtp: "ইমেইল সার্ভারটি সাড়া দিচ্ছে না"
+_ffVisibility:
+ public: "প্রকাশ"
+ followers: "শুধুমাত্র অনুসরণকারীদের কাছে দৃশ্যমান"
+ private: "ব্যাক্তিগত"
+_signup:
+ almostThere: "প্রায় শেষ"
+ emailAddressInfo: "আপনি যে ইমেল ঠিকানাটি ব্যবহার করবেন সেটি লিখুন। আপনার ইমেইল ঠিকানা প্রকাশ করা হবে না।"
+ emailSent: "আপনার দেওয়া ইমেল ঠিকানায় ({email}) একটি নিশ্চিতকরণ ইমেল পাঠানো হয়েছে। অ্যাকাউন্ট তৈরি সম্পূর্ণ করতে ইমেলের লিঙ্কটি অ্যাক্সেস করুন।"
+_accountDelete:
+ accountDelete: "অ্যাকাউন্ট মুছে ফেলুন"
+ mayTakeTime: "একটি অ্যাকাউন্ট মুছে ফেলা একটি দীর্ঘ প্রক্রিয়া এবং আপনি যদি প্রচুর পরিমাণে সামগ্রী তৈরি করে থাকেন বা ফাইল আপলোড করেন তবে এটি সম্পূর্ণ হতে দীর্ঘ সময় নিতে পারে।"
+ sendEmail: "অ্যাকাউন্ট মুছে ফেলা সম্পূর্ণ হলে, নিবন্ধিত ইমেল ঠিকানায় একটি বিজ্ঞপ্তি পাঠানো হবে।"
+ requestAccountDelete: "অ্যাকাউন্ট মুছে ফেলার অনুরোধ করুন"
+ started: "মুছে ফেলার প্রক্রিয়া শুরু হয়েছে।"
+ inProgress: "মুছে ফেলার কাজ চলছে"
+_ad:
+ back: "পিছনে"
+ reduceFrequencyOfThisAd: "এই বিজ্ঞাপনটি কম দেখান"
+_forgotPassword:
+ enterEmail: "আপনি আপনার অ্যাকাউন্টের জন্য নিবন্ধিত ইমেল ঠিকানা লিখুন. সেই ঠিকানায় একটি পাসওয়ার্ড রিসেট লিঙ্ক পাঠানো হবে।"
+ ifNoEmail: "আপনি যদি নিবন্ধনের সময় ই-মেইল ঠিকানা না দিয়ে থাকেন, তাহলে অনুগ্রহ করে প্রশাসকের সাথে যোগাযোগ করুন।"
+ contactAdmin: "এই ইন্সট্যান্সটি ইমেইল ব্যাবহার করে না, তাই আপনার পাসওয়ার্ড পুনরায় সেট করতে প্রশাসকের সাথে যোগাযোগ করুন৷"
+_gallery:
+ my: "আমার গ্যালারী"
+ liked: "পছন্দ করা পোস্ট"
+ like: "পছন্দ করা"
+ unlike: "পছন্দ সরান"
+_email:
+ _follow:
+ title: "আপনাকে অনুসরণ করছে"
+ _receiveFollowRequest:
+ title: "অনুসরণ করার অনুরোধ পেয়েছেন"
+_plugin:
+ install: "প্লাগইন ইন্সটল করুন"
+ installWarn: "অবিশ্বস্ত প্লাগইন ইনস্টল করবেন না।"
+ manage: "প্লাগইন ম্যানেজ করুন"
+_registry:
+ scope: "স্কোপ"
+ key: "কী"
+ keys: "কী - সমূহ"
+ domain: "ডোমেন"
+ createKey: "কী বানান"
+_aboutMisskey:
+ about: "Misskey, একটি ওপেন সোর্স সফ্টওয়্যার যা 2014 সাল থেকে syuilo তৈরি করছেন।"
+ contributors: "প্রধান কন্ট্রিবিউটারগণ"
+ allContributors: "সকল কন্ট্রিবিউটারগণ"
+ source: "সোর্স কোড"
+ translation: "Misskey অনুবাদ করুন"
+ donate: "Misskey তে দান করুন"
+ morePatrons: "আরও অনেকে আমাদের সাহায্য করছেন। তাদের সবাইকে ধন্যবাদ 🥰"
+ patrons: "সমর্থনকারী"
+_nsfw:
+ respect: "স্পর্শকাতর মিডিয়া লুকান"
+ ignore: "স্পর্শকাতর মিডিয়া লুকাবেন না"
+ 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:
+ none: "দেখাবেন না"
+ remote: "রিমোট ব্যাবহারকারীদের জন্য দেখান"
+ always: "সর্বদা দেখান"
+_serverDisconnectedBehavior:
+ reload: "স্বয়ংক্রিয়ভাবে রিলোড"
+ dialog: "সতর্কতা ডায়ালগ দেখান"
+ quiet: "অগচরী সতর্কতা দেখান"
+_channel:
+ create: "চ্যানেল বানান"
+ edit: "চ্যানেল সম্পাদনা করুন"
+ setBanner: "ব্যানার সেট করুন"
+ removeBanner: "ব্যানার সরান"
+ featured: "বর্তমানে জনপ্রিয়"
+ owned: "নিজের"
+ following: "অনুসরণ করা হচ্ছে"
+ usersCount: "{n} জন অংশগ্রহণকারী"
+ notesCount: "{n} টি নোট"
+_menuDisplay:
+ sideFull: "পাশে"
+ sideIcon: "পাশে (আইকন)"
+ top: "শীর্ষে"
+ hide: "লুকান"
+_wordMute:
+ muteWords: "নিঃশব্দ করা শব্দগুলি"
+ muteWordsDescription: "স্পেস দিয়ে আলাদা করলে AND শর্ত তৈরি হবে এবং আলাদা লাইনে লিখলে OR শর্ত তৈরি হবে।"
+ muteWordsDescription2: "রেগুলার এক্সপ্রেশন ব্যবহার করতে স্ল্যাশ দিয়ে কীওয়ার্ডকে ঘিরে রাখুন।"
+ softDescription: "টাইমলাইন থেকে নির্দিষ্ট শর্তানুযায়ী নোট লুকিয়ে রাখে।"
+ hardDescription: "নির্দিষ্ট শর্তানুযায়ী নোটগুলিকে টাইমলাইন থেকে বাদ দেয়। আপনি শর্ত পরিবর্তন করলেও যে নোটগুলি যোগ করা হয়নি সেগুলি বাদ দেওয়া হবে।"
+ soft: "নমনীয়"
+ hard: "কঠোর"
+ mutedNotes: "মিউট করা নোটগুলি"
+_instanceMute:
+ instanceMuteDescription: "কনফিগার করা ইন্সট্যান্সের সব নোট এবং রিনোট মিউট করুন, মিউট করা ইন্সট্যান্সের ব্যবহারকারীদের উত্তর সহ।"
+ instanceMuteDescription2: "প্রতিটিকে আলাদা লাইনে লিখুন"
+ title: "কনফিগার করা ইন্সট্যান্সের নোটগুলিকে লুকিয়ে রাখে।"
+ heading: "মিউট করা ইন্সত্যান্সের তালিকা"
+_theme:
+ explore: "থিমগুলি ঘুরে দেখুন"
+ install: "থিম ইনস্টল করুন"
+ manage: "থিম ব্যাবস্থাপনা"
+ code: "থিম কোড"
+ description: "বর্ণনা"
+ installed: "{name} ইন্সটল করা হয়েছে"
+ installedThemes: "ইন্সটল করা থিমসমূহ"
+ builtinThemes: "বিল্ট-ইন থিমসমূহ"
+ alreadyInstalled: "এই থিমটি ইতিমধ্যে ইন্সটল করা হয়েছে"
+ invalid: "থিমটির ফরম্যাট সঠিক নয়"
+ make: "থিম বানান"
+ base: "বেস"
+ addConstant: "ধ্রুবক যোগ করুন"
+ constant: "ধ্রুবক"
+ defaultValue: "ডিফল্ট মান"
+ color: "রং"
+ refProp: "প্রোপার্টি রেফারেন্স করুন"
+ refConst: "ধ্রুবক রেফারেন্স করুন"
+ key: "কী"
+ func: "ফাংশন"
+ funcKind: "ফাংশনের ধরন"
+ argument: "আর্গুমেন্ট"
+ basedProp: "রেফারেন্স করা প্রোপার্টি"
+ alpha: "অস্বচ্ছতা"
+ darken: "অন্ধকার করুন"
+ lighten: "উজ্জ্বল করুন"
+ inputConstantName: "ধ্রুবকটির নাম লিখুন"
+ importInfo: "আপনি এখানে থিম কোড পেস্ট করতে পারেন এবং সেটিকে এডিটরে ইম্পোর্ট করতে পারেন"
+ deleteConstantConfirm: "আপনি কি ধ্রুবক {const} মুছে ফেলতে চান?"
+ keys:
+ accent: "অ্যাকসেন্ট"
+ bg: "পটভূমি"
+ fg: "লেখা"
+ focus: "ফোকাস"
+ indicator: "ইনডিকেটর"
+ panel: "প্যানেল"
+ shadow: "ছায়া"
+ header: "হেডার"
+ navBg: "সাইডবারের পটভূমি"
+ navFg: "সাইডবারের পাঠ্য"
+ navHoverFg: "সাইডবারের পাঠ্য (হভার)"
+ navActive: "সাইডবারের পাঠ্য (অ্যাকটিভ)"
+ navIndicator: "সাইডবারের ইনডিকেটর"
+ link: "লিংক"
+ hashtag: "হ্যাশট্যাগ"
+ mention: "উল্লেখ"
+ mentionMe: "আপনাকে উল্লেখ্য করা"
+ renote: "রিনোট"
+ modalBg: "মোডালের পটভূমি"
+ divider: "খন্ডক"
+ scrollbarHandle: "স্ক্রলবার হ্যান্ডেল"
+ scrollbarHandleHover: "স্ক্রলবার হ্যান্ডেল (হভার)"
+ dateLabelFg: "তারিখ লেবেলের পাঠ্য"
+ infoBg: "তথ্যের পটভূমি"
+ infoFg: "তথ্যের পাঠ্য"
+ infoWarnBg: "ওয়ার্নিং এর পটভূমি"
+ infoWarnFg: "ওয়ার্নিং এর পাঠ্য"
+ cwBg: "CW বাটনের পটভূমি"
+ cwFg: "CW বাটনের পাঠ্য"
+ cwHoverBg: "CW বাটনের পটভূমি (হভার)"
+ toastBg: "বিজ্ঞপ্তির পটভূমি"
+ toastFg: "বিজ্ঞপ্তির পাঠ্য"
+ buttonBg: "বাটনের পটভূমি"
+ buttonHoverBg: "বাটনের পটভূমি (হভার)"
+ inputBorder: "ইনপুট ফিল্ডের বর্ডার"
+ listItemHoverBg: "লিস্ট আইটেমের পটভূমি (হোভার)"
+ driveFolderBg: "ড্রাইভ ফোল্ডারের পটভূমি"
+ wallpaperOverlay: "ওয়ালপেপার ওভারলে"
+ badge: "ব্যাজ"
+ messageBg: "চ্যাটের পটভূমি"
+ accentDarken: "অ্যাকসেন্ট (গাঢ়)"
+ accentLighten: "অ্যাকসেন্ট (হাল্কা)"
+ fgHighlighted: "হাইলাইট করা পাঠ্য"
+_sfx:
+ note: "নোটগুলি"
+ noteMy: "নোট (আপনার)"
+ notification: "বিজ্ঞপ্তি"
+ chat: "চ্যাট"
+ chatBg: "চ্যাট (ব্যাকগ্রাউন্ড)"
+ antenna: "অ্যান্টেনাগুলি"
+ channel: "চ্যানেলের বিজ্ঞপ্তি"
+_ago:
+ future: "ভবিষ্যৎ"
+ justNow: "এইমাত্র"
+ secondsAgo: "{n} সেকেন্ড আগে"
+ minutesAgo: "{n} মিনিট আগে"
+ hoursAgo: "{n} ঘণ্টা আগে"
+ daysAgo: "{n} দিন আগে"
+ weeksAgo: "{n} সপ্তাহ আগে"
+ monthsAgo: "{n} মাস আগে"
+ yearsAgo: "{n} বছর আগে"
+_time:
+ second: "সেকেন্ড"
+ minute: "মিনিট"
+ hour: "ঘণ্টা"
+ 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:
+ alreadyRegistered: "আপনি ইতিমধ্যে একটি 2-ফ্যাক্টর অথেনটিকেশন ডিভাইস নিবন্ধন করেছেন৷"
+ registerDevice: "নতুন ডিভাইস নিবন্ধন করুন"
+ registerKey: "সিকিউরিটি কী নিবন্ধন করুন"
+ step1: "প্রথমে, আপনার ডিভাইসে {a} বা {b} এর মতো একটি অথেনটিকেশন অ্যাপ ইনস্টল করুন৷"
+ step2: "এরপরে, অ্যাপের সাহায্যে প্রদর্শিত QR কোডটি স্ক্যান করুন।"
+ step2Url: "ডেস্কটপ অ্যাপে, নিম্নলিখিত URL লিখুন:"
+ step3: "অ্যাপে প্রদর্শিত টোকেনটি লিখুন এবং আপনার কাজ শেষ।"
+ step4: "আপনাকে এখন থেকে লগ ইন করার সময়, এইভাবে টোকেন লিখতে হবে।"
+ securityKeyInfo: "আপনি একটি হার্ডওয়্যার সিকিউরিটি কী ব্যবহার করে লগ ইন করতে পারেন যা FIDO2 বা ডিভাইসের ফিঙ্গারপ্রিন্ট সেন্সর বা পিন সমর্থন করে৷"
+_permissions:
+ "read:account": "অ্যাকাউন্টের তথ্য দেখুন"
+ "write:account": "অ্যাকাউন্টের তথ্য সম্পাদন করুন"
+ "read:blocks": "ব্লক করা ব্যাবহারকারীদের তালিকা দেখুন"
+ "write:blocks": "ব্লক করা ব্যাবহারকারীদের তালিকা সম্পাদনা করুন"
+ "read:drive": "ড্রাইভের ফাইল এবং ফোল্ডারসমূহ পড়া"
+ "write:drive": "ড্রাইভের ফাইল এবং ফোল্ডারসমূহ সম্পাদনা করা"
+ "read:favorites": "পছন্দের তালিকা পড়া"
+ "write:favorites": "পছন্দের তালিকা সম্পাদনা করা"
+ "read:following": "অনুসরণ তথ্য দেখুন"
+ "write:following": "অনুসরণ তথ্য সম্পাদনা করা"
+ "read:messaging": "চ্যাটগুলি দেখুন"
+ "write:messaging": "চ্যাটগুলি সম্পাদনা করুন"
+ "read:mutes": "মিউটের লিস্ট দেখুন"
+ "write:mutes": "মিউটের লিস্ট সম্পাদনা করুন"
+ "write:notes": "নোট লিখা"
+ "read:notifications": "বিজ্ঞপ্তিগুলি দেখুন"
+ "write:notifications": "বিজ্ঞপ্তি নিয়ে কাজ করে"
+ "read:reactions": "রিঅ্যাকশনগুলি দেখুন"
+ "write:reactions": "রিঅ্যাকশনগুলি সম্পাদনা করুন"
+ "write:votes": "ভোট দিন"
+ "read:pages": "আপনার পেজগুলি দেখুন"
+ "write:pages": "পেজগুলি সম্পাদনা বা ডিলিট করুন"
+ "read:page-likes": "পৃষ্ঠায় দেয়া পছন্দগুলি দেখুন"
+ "write:page-likes": "পৃষ্ঠায় দেয়া পছন্দগুলি সম্পাদনা করুন"
+ "read:user-groups": "ব্যাবহারকারী গ্রুপগুলি দেখুন"
+ "write:user-groups": "ব্যাবহারকারী গ্রুপগুলি সম্পাদনা করুন"
+ "read:channels": "চ্যানেলগুলি দেখুন"
+ "write:channels": "চ্যানেলগুলি সম্পাদনা করুন"
+ "read:gallery": "গ্যালারী দেখুন"
+ "write:gallery": "গ্যালারী সম্পাদনা করুন"
+ "read:gallery-likes": "গ্যালারীর পছন্দগুলি দেখুন"
+ "write:gallery-likes": "গ্যালারীর পছন্দগুলি সম্পাদনা করুন"
+_auth:
+ shareAccess: "\"{name}\" কে অ্যাকাউন্টের অ্যাক্সেস দিবেন?"
+ shareAccessAsk: "অ্যাপ্লিকেশনটিকে অ্যাকাউন্টের অ্যাক্সেস দিবেন?"
+ permissionAsk: "এই অ্যাপ্লিকেশনটি নিম্নলিখিত অনুমতি চাই"
+ pleaseGoBack: "দয়া করে অ্যাপ্লিকেশনে ফিরে যান"
+ callback: "অ্যাপ্লিকেশনে ফিরে যাচ্ছি"
+ denied: "প্রবেশ নিষেধ"
+_antennaSources:
+ all: "সকল নোট"
+ homeTimeline: "আপনি অনুসরণ করছেন, এমন ব্যবহারকারীদের নোট"
+ users: "এক বা একাধিক নির্দিষ্ট ব্যবহারকারীর নোট"
+ userList: "নির্দিষ্ট তালিকায় নাম থাকা ব্যবহারকারীদের নোট"
+ userGroup: "নির্দিষ্ট গ্রুপে থাকা ব্যবহারকারীদের নোট"
+_weekday:
+ sunday: "রবিবার"
+ monday: "সোমবার"
+ tuesday: "মঙ্গলবার"
+ wednesday: "বুধবার"
+ thursday: "বৃহস্পতিবার"
+ friday: "শুক্রবার"
+ saturday: "শনিবার"
+_widgets:
+ memo: "স্টিকি নোট"
+ notifications: "বিজ্ঞপ্তি"
+ timeline: "টাইমলাইন"
+ calendar: "ক্যালেন্ডার"
+ trends: "বর্তমানে জনপ্রিয়"
+ clock: "ঘড়ি"
+ rss: "RSS রিডার"
+ activity: "কার্যকলাপ"
+ photos: "ফটোগুলি"
+ digitalClock: "ডিজিটাল ঘড়ি"
+ federation: "ফেডিভার্স"
+ postForm: "নোট লিখুন"
+ slideshow: "স্লাইডশো"
+ button: "বাটন"
+ onlineUsers: "অনলাইনে থাকা ব্যবহারকারীগণ"
+ jobQueue: "জব কিউ"
+ serverMetric: "সার্ভার মেট্রিক্স"
+ aiscript: "AiScript কনসোল"
+ aichan: "আই চান"
+_cw:
+ hide: "লুকান"
+ show: "আরও দেখুন"
+ chars: "{count} টি অক্ষর"
+ files: "{count} টি ফাইল"
+_poll:
+ noOnlyOneChoice: "সর্বনিম্ন 2 টি অপশন বেছে নিতে হবে"
+ choiceN: "বিকল্পগুলি {n}"
+ noMore: "আপনি আর কোন বিকল্প যোগ করতে পারবেন না"
+ canMultipleVote: "একাধিক বিকল্প বাছাই করা যাবে"
+ expiration: "পোলের সময়সীমা"
+ infinite: "অনির্দিষ্ট"
+ at: "শেষ হবে"
+ after: "শেষ হবে"
+ deadlineDate: "শেষ হওয়ার তারিখ"
+ deadlineTime: "ঘণ্টা"
+ duration: "ব্যাপ্তিকাল"
+ votesCount: "{n} টি ভোট"
+ totalVotes: "সর্বমোট {n} টি ভোট"
+ vote: "ভোট দিন"
+ showResult: "রেজাল্ট দেখান"
+ voted: "ভোট দিয়েছেন"
+ closed: "শেষ হয়ে গেছে"
+ remainingDays: "আর {d} দিন {h} ঘণ্টা বাকি আছে"
+ remainingHours: "আর {h} ঘণ্টা {m} মিনিট বাকি আছে"
+ remainingMinutes: "আর বাকি আছে {m} মিনিট {s} সেকেন্ড"
+ remainingSeconds: "আর বাকি আছে {s} সেকেন্ড"
+_visibility:
+ public: "সর্বজনীন"
+ publicDescription: "সবাই আপনার নোটগুলি দেখতে পাবে"
+ home: "মূল পাতা"
+ homeDescription: "শুধুমাত্র হোম টাইমলাইনে আপনার নোটগুলি পোস্ট করুন"
+ followers: "অনুসরণকারী"
+ followersDescription: "শুধুমাত্র আপনার অনুসরণকারীদের নিকট পোস্ট করুন"
+ specified: "ডাইরেক্ট নোট"
+ specifiedDescription: "শুধুমাত্র নির্দিষ্ট ব্যাবহারকারীর নিকট পাঠান"
+ localOnly: "শুধুমাত্র লোকাল"
+ localOnlyDescription: "রিমোট ব্যাবহারকারীদের নিকট দৃশ্যমান নয়"
+_postForm:
+ replyPlaceholder: "নোটটির জবাব দিন..."
+ quotePlaceholder: "নোটটিকে উদ্ধৃত করুন..."
+ channelPlaceholder: "চ্যানেলে পোস্ট করুন..."
+ _placeholders:
+ a: "আপনি এখন কি করছেন?"
+ b: "আপনার আশে পাশে কি হচ্ছে?"
+ c: "আপনি কি ভাবছেন?"
+ d: "আপনি কি বলতে চান?"
+ e: "লেখা শুরু করুন..."
+ f: "আপনার লেখার জন্য অপেক্ষা করছি..."
+_profile:
+ name: "নাম"
+ username: "ব্যবহারকারীর নাম"
+ description: "আপনার সম্পর্কে"
+ youCanIncludeHashtags: "হ্যাশট্যাগ অন্তর্ভুক্ত করা যেতে পারে।"
+ metadata: "অতিরিক্ত তথ্য"
+ metadataEdit: "অতিরিক্ত তথ্য সম্পাদনা করুন"
+ metadataDescription: "আপনি আপনার প্রোফাইলে একটি টেবিল হিসাবে চারটি অতিরিক্ত তথ্য দেখাতে পারেন।"
+ metadataLabel: "লেবেল"
+ metadataContent: "বিষয়বস্তু"
+ changeAvatar: "অ্যাভাটার পরিবর্তন করুন"
+ changeBanner: "ব্যানার পরিবর্তন করুন"
+_exportOrImport:
+ allNotes: "সকল নোট"
+ followingList: "অনুসরণ করা হচ্ছে"
+ muteList: "মিউট"
+ blockingList: "ব্লক"
+ userLists: "লিস্ট"
+ excludeMutingUsers: "মিউটকৃত ব্যবহারকারীদের বাদ দিন"
+ excludeInactiveUsers: "অব্যাবহৃত অ্যাকাউন্ট বাদ দিন"
+_charts:
+ federation: "ফেডিভার্স"
+ apRequest: "অনুরোধসমূহ"
+ usersIncDec: "ব্যবহারকারীদের সংখ্যার পরিবর্তন"
+ usersTotal: "ব্যবহারকারীদের সংখ্যা"
+ activeUsers: "সক্রিয় ব্যাবহারকারী"
+ notesIncDec: "নোটের সংখ্যার পরিবর্তন"
+ localNotesIncDec: "লোকাল নোটের সংখ্যার পরিবর্তন"
+ remoteNotesIncDec: "রিমোট নোটের সংখ্যার পরিবর্তন"
+ notesTotal: "নোটের সংখ্যা"
+ filesIncDec: "ফাইলের সংখ্যার পরিবর্তন"
+ filesTotal: "ফাইলের সংখ্যা"
+ storageUsageIncDec: "স্টোরেজের ব্যাবহারের পরিবর্তন"
+ storageUsageTotal: "মোট স্টোরেজের ব্যাবহার"
+_instanceCharts:
+ requests: "অনুরোধসমূহ"
+ users: "ব্যবহারকারীদের সংখ্যার পরিবর্তন"
+ usersTotal: "ক্রমবর্ধমান ব্যবহারকারীদের সংখ্যা"
+ notes: "নোটের সংখ্যার পরিবর্তন"
+ notesTotal: "ক্রমবর্ধমান নোটের সংখ্যা"
+ ff: "অনুসরণকারী / অনুসরণ করা ব্যাবহারকারীদের সংখ্যার পরিবর্তন"
+ ffTotal: "অনুসরণকারী / অনুসরণ করা ব্যাবহারকারীদের ক্রমবর্ধমান সংখ্যা"
+ cacheSize: "ক্যাশ সাইজের পরিবর্তন"
+ cacheSizeTotal: "ক্রমবর্ধমান ক্যাশ সাইজ"
+ files: "ফাইলের সংখ্যার পরিবর্তন"
+ filesTotal: "ক্রমবর্ধমান ফাইলের সংখ্যা"
+_timelines:
+ home: "মূল পাতা"
+ local: "স্থানীয়"
+ social: "সামাজিক"
+ global: "গ্লোবাল"
+_pages:
+ newPage: "নতুন পৃষ্ঠা বানান"
+ editPage: "পৃষ্ঠাটি সম্পাদনা করুন"
+ readPage: "উৎস দেখছেন"
+ created: "পৃষ্ঠা তৈরি করা হয়েছে"
+ updated: "পৃষ্ঠা সম্পাদনা করা হয়েছে"
+ deleted: "পৃষ্ঠা মুছে ফেলা হয়েছে"
+ pageSetting: "পৃষ্ঠার সেটিংস"
+ nameAlreadyExists: "পৃষ্ঠার URLটি ইতিমধ্যেই ব্যাবহার করা হয়েছে"
+ invalidNameTitle: "পৃষ্ঠার URL অবৈধ"
+ invalidNameText: "নিশ্চিত করুন যে এটি ফাঁকা নয়"
+ editThisPage: "পৃষ্ঠাটি সম্পাদনা করুন"
+ viewSource: "উৎস দেখুন"
+ viewPage: "আপনার পেজগুলি দেখুন"
+ like: "পছন্দ"
+ unlike: "পছন্দ সরান"
+ my: "আমার পৃষ্ঠাগুলি"
+ liked: "পছন্দ করা পৃষ্ঠাগুলি"
+ featured: "জনপ্রিয়"
+ inspector: "ইনিস্পেক্টর"
+ contents: "বিষয়বস্তু"
+ content: "পৃষ্ঠার ব্লক"
+ variables: "চলকগুলি"
+ title: "শিরোনাম"
+ url: "পৃষ্ঠার URL"
+ summary: "পৃষ্ঠার বর্ণনা"
+ alignCenter: "সেন্টার"
+ hideTitleWhenPinned: "পিন করা হলে টাইটেল লুকান"
+ font: "ফন্ট"
+ fontSerif: "সেরিফ"
+ fontSansSerif: "স্যান্স সেরিফ"
+ eyeCatchingImageSet: "থাম্বনেইল সেট করুন"
+ eyeCatchingImageRemove: "থাম্বনেইল সরান"
+ chooseBlock: "ব্লক যোগ করুন"
+ selectType: "ধরন নির্বাচন করুন"
+ enterVariableName: "চলকের নাম লিখুন"
+ variableNameIsAlreadyUsed: "চলকের নামটি ইতিপূর্বে ব্যাবহৃত হয়েছে"
+ contentBlocks: "বিষয়বস্তু"
+ inputBlocks: "ইনপুট"
+ specialBlocks: "বিশেষ"
+ blocks:
+ text: "লেখা"
+ textarea: "টেক্সট এরিয়া"
+ section: "বিভাগ"
+ image: "ছবি"
+ 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:
+ id: "নোট ID"
+ idDescription: "আপনি এর বদলে নোটের URL পেস্ট করতে পারেন."
+ 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:
+ requesting: "অপেক্ষমান"
+ accepted: "অনুমোদিত"
+ rejected: "প্রত্যাখিত"
+_notification:
+ fileUploaded: "ফাইল সফলভাবে আপলোড করা হয়েছে"
+ youGotMention: "{name} আপনাকে উল্লেখ্য করেছে"
+ youGotReply: "{name} আপনাকে জবাব দিয়েছে"
+ youGotQuote: "{name} আপনাকে উদ্ধৃত করেছে"
+ youRenoted: "{name} এর Renote"
+ youGotPoll: "{name} আপনার পোলে ভোট দিয়েছে"
+ youGotMessagingMessageFromUser: "{name} আপনাকে মেসেজ করেছে"
+ youGotMessagingMessageFromGroup: "{name} গ্রুপে একটি নতুন মেসেজ আছে"
+ youWereFollowed: "আপনাকে অনুসরণ করছে"
+ youReceivedFollowRequest: "অনুসরণ করার জন্য অনুরোধ পাওয়া গেছে"
+ yourFollowRequestAccepted: "আপনার অনুসরণ করার অনুরোধ গৃহীত হয়েছে"
+ youWereInvitedToGroup: "আপনি একটি গ্রুপে আমন্ত্রিত হয়েছেন"
+ pollEnded: "পোলের ফলাফল দেখা যাবে"
+ emptyPushNotificationMessage: "আপডেট করা পুশ বিজ্ঞপ্তি"
+ _types:
+ all: "সকল"
+ follow: "অনুসরণ করা হচ্ছে"
+ mention: "উল্লেখ"
+ reply: "উত্তর দিন"
+ renote: "রিনোট"
+ quote: "উদ্ধৃতি"
+ reaction: "প্রতিক্রিয়া"
+ pollVote: "পোলে ভোট আছে"
+ pollEnded: "পোল শেষ"
+ receiveFollowRequest: "প্রাপ্ত অনুসরণের অনুরোধসমূহ"
+ followRequestAccepted: "গৃহীত অনুসরণের অনুরোধসমূহ"
+ groupInvited: "গ্রুপের আমন্ত্রনসমূহ"
+ app: "লিঙ্ক করা অ্যাপ থেকে বিজ্ঞপ্তি"
+ _actions:
+ followBack: "ফলো ব্যাক করেছে"
+ reply: "জবাব"
+ renote: "রিনোট"
+_deck:
+ alwaysShowMainColumn: "সর্বদা মেইন কলাম দেখান"
+ columnAlign: "কলাম সাজান"
+ addColumn: "কলাম যুক্ত করুন"
+ configureColumn: "কলাম সেটিংস"
+ swapLeft: "বামে সরান"
+ swapRight: "ডানে সরান"
+ swapUp: "উপরে উঠান"
+ swapDown: "নিচে নামান"
+ stackLeft: "বাম কলামে সাজান"
+ popRight: "ডানদিকে রাখুন"
+ profile: "প্রোফাইল"
+ _columns:
+ main: "প্রধান"
+ widgets: "উইজেটগুলি"
+ notifications: "বিজ্ঞপ্তি"
+ tl: "টাইমলাইন"
+ antenna: "অ্যান্টেনা"
+ list: "লিস্ট"
+ mentions: "উল্লেখসমূহ"
+ direct: "ডাইরেক্ট নোটগুলি"
diff --git a/locales/ca-ES.yml b/locales/ca-ES.yml
new file mode 100644
index 000000000..1c859b68f
--- /dev/null
+++ b/locales/ca-ES.yml
@@ -0,0 +1,197 @@
+---
+_lang_: "Català"
+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! 🚀"
+monthAndDay: "{day}/{month}"
+search: "Cercar"
+notifications: "Notificacions"
+username: "Nom d'usuari"
+password: "Contrasenya"
+forgotPassword: "Contrasenya oblidada"
+fetchingAsApObject: "Cercant en el Fediverse..."
+ok: "OK"
+gotIt: "Ho he entès!"
+cancel: "Cancel·lar"
+enterUsername: "Introdueix el teu nom d'usuari"
+renotedBy: "Resignat per {usuari}"
+noNotes: "Cap nota"
+noNotifications: "Cap notificació"
+instance: "Instàncies"
+settings: "Preferències"
+basicSettings: "Configuració bàsica"
+otherSettings: "Configuració avançada"
+openInWindow: "Obrir en una nova finestra"
+profile: "Perfil"
+timeline: "Línia de temps"
+noAccountDescription: "Aquest usuari encara no ha escrit la seva biografia."
+login: "Iniciar sessió"
+loggingIn: "Identificant-se"
+logout: "Tancar la sessió"
+signup: "Registrar-se"
+uploading: "Pujant..."
+save: "Desar"
+users: "Usuaris"
+addUser: "Afegir un usuari"
+favorite: "Afegir a preferits"
+favorites: "Favorits"
+unfavorite: "Eliminar dels preferits"
+favorited: "Afegit als preferits."
+alreadyFavorited: "Ja s'ha afegit als preferits."
+cantFavorite: "No s'ha pogut afegir als preferits."
+pin: "Fixar al perfil"
+unpin: "Para de fixar del perfil"
+copyContent: "Copiar el contingut"
+copyLink: "Copiar l'enllaç"
+delete: "Eliminar"
+deleteAndEdit: "Esborrar i editar"
+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"
+sendMessage: "Enviar un missatge"
+copyUsername: "Copiar nom d'usuari"
+searchUser: "Cercar usuaris"
+reply: "Respondre"
+loadMore: "Carregar més"
+showMore: "Veure més"
+youGotNewFollower: "t'ha seguit"
+receiveFollowRequest: "Sol·licitud de seguiment rebuda"
+followRequestAccepted: "Sol·licitud de seguiment acceptada"
+mention: "Menció"
+mentions: "Mencions"
+directNotes: "Notes directes"
+importAndExport: "Importar / Exportar"
+import: "Importar"
+export: "Exportar"
+files: "Fitxers"
+download: "Baixar"
+driveFileDeleteConfirm: "Estàs segur que vols suprimir el fitxer \"{name}\"? Les notes associades a aquest fitxer adjunt també se suprimiran."
+unfollowConfirm: "Estàs segur que vols deixar de seguir {name}?"
+exportRequested: "Has sol·licitat una exportació. Això pot trigar una estona. S'afegirà a la teva unitat un cop completat."
+importRequested: "Has sol·licitat una importació. Això pot trigar una estona."
+lists: "Llistes"
+noLists: "No tens cap llista"
+note: "Nota"
+notes: "Notes"
+following: "Seguint"
+followers: "Seguidors"
+followsYou: "Et segueix"
+createList: "Crear llista"
+manageLists: "Gestionar les llistes"
+error: "Error"
+somethingHappened: "S'ha produït un error"
+retry: "Torna-ho a intentar"
+pageLoadError: "S'ha produït un error en carregar la pàgina"
+pageLoadErrorDescription: "Això normalment es deu a errors de xarxa o a la memòria cau del navegador. Prova d'esborrar la memòria cau i torna-ho a provar després d'esperar una estona."
+serverIsDead: "Aquest servidor no respon. Espera una estona i torna-ho a provar."
+youShouldUpgradeClient: "Per veure aquesta pàgina, actualitzeu-la per actualitzar el vostre client."
+enterListName: "Introdueix un nom per a la llista"
+privacy: "Privadesa"
+makeFollowManuallyApprove: "Les sol·licituds de seguiment requereixen aprovació"
+defaultNoteVisibility: "Visibilitat per defecte"
+follow: "Seguint"
+followRequest: "Enviar la sol·licitud de seguiment"
+followRequests: "Sol·licituds de seguiment"
+unfollow: "Deixar de seguir"
+followRequestPending: "Sol·licituds de seguiment pendents"
+enterEmoji: "Introduir un emoji"
+renote: "Renotar"
+unrenote: "Anul·lar renota"
+renoted: "Renotat."
+cantRenote: "Aquesta publicació no pot ser renotada."
+cantReRenote: "Impossible renotar una renota."
+quote: "Citar"
+pinnedNote: "Nota fixada"
+pinned: "Fixar al perfil"
+you: "Tu"
+clickToShow: "Fes clic per mostrar"
+sensitive: "NSFW"
+add: "Afegir"
+reaction: "Reaccions"
+reactionSetting: "Reaccions a mostrar al selector de reaccions"
+reactionSettingDescription2: "Arrossega per reordenar, fes clic per suprimir, prem \"+\" per afegir."
+rememberNoteVisibility: "Recorda la configuració de visibilitat de les notes"
+attachCancel: "Eliminar el fitxer adjunt"
+markAsSensitive: "Marcar com a NSFW"
+unmarkAsSensitive: "Deixar de marcar com a sensible"
+enterFileName: "Defineix nom del fitxer"
+mute: "Silencia"
+unmute: "Deixa de silenciar"
+block: "Bloqueja"
+unblock: "Desbloqueja"
+suspend: "Suspèn"
+unsuspend: "Deixa de suspendre"
+instances: "Instàncies"
+remove: "Eliminar"
+nsfw: "NSFW"
+pinnedNotes: "Nota fixada"
+userList: "Llistes"
+smtpUser: "Nom d'usuari"
+smtpPass: "Contrasenya"
+user: "Usuaris"
+searchByGoogle: "Cercar"
+file: "Fitxers"
+_email:
+ _follow:
+ title: "t'ha seguit"
+_mfm:
+ mention: "Menció"
+ quote: "Citar"
+ search: "Cercar"
+_theme:
+ keys:
+ mention: "Menció"
+ renote: "Renotar"
+_sfx:
+ note: "Notes"
+ notification: "Notificacions"
+_2fa:
+ step2Url: "També pots inserir aquest enllaç i utilitzes una aplicació d'escriptori:"
+_widgets:
+ notifications: "Notificacions"
+ timeline: "Línia de temps"
+_cw:
+ show: "Carregar més"
+_visibility:
+ followers: "Seguidors"
+_profile:
+ username: "Nom d'usuari"
+_exportOrImport:
+ followingList: "Seguint"
+ muteList: "Silencia"
+ blockingList: "Bloqueja"
+ userLists: "Llistes"
+_pages:
+ script:
+ categories:
+ list: "Llistes"
+ blocks:
+ _join:
+ arg1: "Llistes"
+ _randomPick:
+ arg1: "Llistes"
+ _dailyRandomPick:
+ arg1: "Llistes"
+ _seedRandomPick:
+ arg2: "Llistes"
+ _pick:
+ arg1: "Llistes"
+ _listLen:
+ arg1: "Llistes"
+ types:
+ array: "Llistes"
+_notification:
+ youWereFollowed: "t'ha seguit"
+ _types:
+ follow: "Seguint"
+ mention: "Menció"
+ renote: "Renotar"
+ quote: "Citar"
+ reaction: "Reaccions"
+ _actions:
+ reply: "Respondre"
+ renote: "Renotar"
+_deck:
+ _columns:
+ notifications: "Notificacions"
+ tl: "Línia de temps"
+ list: "Llistes"
+ mentions: "Mencions"
diff --git a/locales/cs-CZ.yml b/locales/cs-CZ.yml
index 17deab942..9d54e0082 100644
--- a/locales/cs-CZ.yml
+++ b/locales/cs-CZ.yml
@@ -1,2 +1,930 @@
---
_lang_: "Čeština"
+headlineMisskey: "Síť propojená poznámkami"
+introMisskey: "Vítejte! Misskey je otevřený a decentralizovaný microblogový servis.\n\"Poznámkami\" můžete sdílet co se zrovna děje se všemi ve Vašem okolí. 📡\nPomocí \"reakcí\" můžete sdílet své názory a pocity na ostatní poznámky. 👍\nPojďte objevovat nový svět! 🚀"
+monthAndDay: "{day}. {month}."
+search: "Vyhledávání"
+notifications: "Oznámení"
+username: "Uživatelské jméno"
+password: "Heslo"
+forgotPassword: "Zapomenuté heslo"
+fetchingAsApObject: "Načítám data z Fediversu..."
+ok: "Potvrdit"
+gotIt: "Rozumím!"
+cancel: "Zrušit"
+enterUsername: "Zadej uživatelské jméno"
+renotedBy: "{user} přeposla/a"
+noNotes: "Žádné poznámky"
+noNotifications: "Žádná oznámení"
+instance: "Instance"
+settings: "Nastavení"
+basicSettings: "Obecná nastavení"
+otherSettings: "Rozšířená nastavení"
+openInWindow: "Otevřít v novém okně"
+profile: "Váš profil"
+timeline: "Časová osa"
+noAccountDescription: "Tento uživatel zatím nenapsal svou biografii."
+login: "Přihlásit se"
+loggingIn: "Probíhá přihlašování"
+logout: "Odhlásit"
+signup: "Registrace"
+uploading: "Nahrávám"
+save: "Uložit"
+users: "Uživatelé"
+addUser: "Přidat uživatele"
+favorite: "Oblíbené"
+favorites: "Oblíbené"
+unfavorite: "Odebrat z oblízených"
+favorited: "Přidáno do oblíbených"
+alreadyFavorited: "Už je mezi oblíbenými"
+cantFavorite: "Nepodařilo se přidat mezi oblíbené."
+pin: "Připnout"
+unpin: "Odepnout"
+copyContent: "Zkopírovat obsah"
+copyLink: "Kopírovat odkaz"
+delete: "Smazat"
+deleteAndEdit: "Smazat a upravit"
+deleteAndEditConfirm: "Jste si jistí že chcete smazat tuto poznámku a editovat ji? Ztratíte tím všechny reakce, sdílení a odpovědi na ni."
+addToList: "Přidat do seznamu"
+sendMessage: "Odeslat zprávu"
+copyUsername: "Kopírovat uživatelské jméno"
+searchUser: "Vyhledat uživatele"
+reply: "Odpovědět"
+loadMore: "Zobrazit více"
+showMore: "Zobrazit více"
+showLess: "Zavřít"
+youGotNewFollower: "Máte nového následovníka"
+receiveFollowRequest: "Žádost o sledování přijata"
+followRequestAccepted: "Žádost o sledování přijata"
+mention: "Zmínění"
+mentions: "Zmínění"
+importAndExport: "Import a export"
+import: "Importovat"
+export: "Exportovat"
+files: "Soubor(ů)"
+download: "Stáhnout"
+driveFileDeleteConfirm: "Opravdu chcete smazat soubor \"{name}\"? Poznámky, ke kterým je tento soubor připojen, budou také smazány."
+unfollowConfirm: "Jste si jisti že už nechcete sledovat {name}?"
+exportRequested: "Požádali jste o export. To může chvíli trvat. Přidáme ho na váš Disk až bude dokončen."
+importRequested: "Požádali jste o export. To může chvilku trvat."
+lists: "Seznamy"
+noLists: "Nemáte žádné seznamy"
+note: "Poznámka"
+notes: "Poznámky"
+following: "Sledovaní"
+followers: "Sledující"
+followsYou: "Sledují vás"
+createList: "Vytvořit seznam"
+manageLists: "Spravovat seznam"
+error: "Chyba"
+somethingHappened: "Jejda. Něco se nepovedlo."
+retry: "Opakovat"
+pageLoadError: "Nepodařilo se načíst stránku"
+serverIsDead: "Server neodpovídá. Počkejte chvíli a zkuste to znovu."
+youShouldUpgradeClient: "Pro zobrazení této stránky obnovte stránku pro aktualizaci klienta."
+enterListName: "Jméno seznamu"
+privacy: "Soukromí"
+makeFollowManuallyApprove: "Žádosti o sledování vyžadují potvrzení"
+defaultNoteVisibility: "Výchozí viditelnost"
+follow: "Sledovaní"
+followRequest: "Odeslat žádost o sledování"
+followRequests: "Žádosti o sledování"
+unfollow: "Přestat sledovat"
+followRequestPending: "Čekající žádosti o sledování"
+enterEmoji: "Vložte emoji"
+renote: "Přeposlat"
+unrenote: "Zrušit přeposlání"
+renoted: "Přeposláno"
+cantRenote: "Tento příspěvek nelze přeposlat."
+cantReRenote: "Odpověď nemůže být odstraněna."
+quote: "Citovat"
+pinnedNote: "Připnutá poznámka"
+pinned: "Připnout"
+you: "Vy"
+clickToShow: "Klikněte pro zobrazení"
+sensitive: "NSFW"
+add: "Přidat"
+reaction: "Reakce"
+reactionSettingDescription2: "Přetažením změníte pořadí, kliknutím smažete, zmáčkněte \"+\" k přidání"
+rememberNoteVisibility: "Zapamatovat nastavení zobrazení poznámky"
+attachCancel: "Odstranit přílohu"
+markAsSensitive: "Označit jako NSFW"
+unmarkAsSensitive: "Odznačit jako NSFW"
+enterFileName: "Zadejte název souboru"
+mute: "Ztlumit"
+unmute: "Odmlčet"
+block: "Zablokovat"
+unblock: "Odblokovat"
+suspend: "Zmrazit"
+unsuspend: "Odmrazit"
+blockConfirm: "Jste si jistí že chcete zablokovat tento účet?"
+unblockConfirm: "Jste si jistí že chcete odblokovat tento účet?"
+suspendConfirm: "Jste si jistí že chcete suspendovat tenhle účet?"
+unsuspendConfirm: "Jste si jistí že chcete obnovit tenhle účet?"
+selectList: "Vybrat seznam"
+selectAntenna: "Vyberte Anténu"
+selectWidget: "Zvolte widget"
+editWidgets: "Upravit widget"
+editWidgetsExit: "Hotovo"
+customEmojis: "Vlastní emoji"
+emoji: "Emoji"
+emojis: "Emoji"
+emojiName: "Jméno emoji"
+emojiUrl: "URL obrázku"
+addEmoji: "Přidat emoji"
+settingGuide: "Doporučené nastavení"
+cacheRemoteFiles: "Ukládání vzdálených souborů do mezipaměti"
+cacheRemoteFilesDescription: "Zakázání tohoto nastavení způsobí, že vzdálené soubory budou odkazovány přímo, místo aby byly ukládány do mezipaměti. Tím se ušetří úložiště na serveru, ale zvýší se provoz, protože se negenerují miniatury."
+flagAsBot: "Tento účet je bot"
+flagAsBotDescription: "Pokud je tento účet kontrolován programem zaškrtněte tuto možnost. To označí tento účet jako bot pro ostatní vývojáře a zabrání tak nekonečným interakcím s ostatními boty a upraví Misskey systém aby se choval k tomuhle účtu jako bot."
+flagAsCat: "Tenhle účet je kočka"
+flagAsCatDescription: "Vyberte tuto možnost aby tento účet byl označen jako kočka."
+flagShowTimelineReplies: "Zobrazovat odpovědi na časové ose"
+flagShowTimelineRepliesDescription: "Je-li zapnuto, zobrazí odpovědi uživatelů na poznámky jiných uživatelů na vaší časové ose."
+autoAcceptFollowed: "Automaticky akceptovat následování od účtů které sledujete"
+addAccount: "Přidat účet"
+loginFailed: "Přihlášení se nezdařilo."
+showOnRemote: "Více na původním profilu"
+general: "Obecně"
+wallpaper: "Obrázek na pozadí"
+setWallpaper: "Nastavení obrázku na pozadí"
+removeWallpaper: "Odstranit pozadí"
+searchWith: "Hledat: {q}"
+youHaveNoLists: "Nemáte žádné seznamy"
+followConfirm: "Jste si jisti, že chcete sledovat {name}?"
+proxyAccount: "Proxy účet"
+proxyAccountDescription: "Proxy účet je účet, který za určitých podmínek sleduje uživatele na dálku vaším jménem. Například když uživatel zařadí vzdáleného uživatele do seznamu, pokud nikdo nesleduje uživatele na seznamu, aktivita nebude doručena instanci, takže místo toho bude uživatele sledovat účet proxy."
+host: "Hostitel"
+selectUser: "Vyberte uživatele"
+recipient: "Pro"
+annotation: "Komentáře"
+federation: "Federace"
+instances: "Instance"
+registeredAt: "Registrován"
+latestRequestSentAt: "Poslední požadavek poslán"
+latestRequestReceivedAt: "Poslední požadavek přijat"
+latestStatus: "Poslední status"
+storageUsage: "Využití úložiště"
+charts: "Grafy"
+perHour: "za hodinu"
+perDay: "za den"
+stopActivityDelivery: "Přestat zasílat aktivitu"
+blockThisInstance: "Blokovat tuto instanci"
+operations: "Operace"
+software: "Software"
+version: "Verze"
+metadata: "Metadata"
+withNFiles: "{n} soubor(ů)"
+monitor: "Monitorovat"
+jobQueue: "Fronta úloh"
+cpuAndMemory: "CPU a paměť"
+network: "Síť"
+disk: "Disk"
+instanceInfo: "Informace o instanci"
+statistics: "Statistiky"
+clearQueue: "Vyčistit frontu"
+clearQueueConfirmTitle: "Jste si jisti že zrušit všechny úlohy ve frontě?"
+clearCachedFiles: "Vyprázdnit mezipaměť"
+blockedInstances: "Blokované instance"
+noUsers: "Žádní uživatelé"
+editProfile: "Upravit můj profil"
+pinLimitExceeded: "Nemůžete připnout další poznámky."
+intro: "Instalace Misskey byla dokončena! Prosím vytvořte admina."
+done: "Hotovo"
+processing: "Zpracovávám"
+preview: "Náhled"
+default: "Výchozí"
+noCustomEmojis: "Bez Emoji"
+blocked: "Blokováno"
+suspended: "Suspendováno"
+all: "Vše"
+subscribing: "Odebíráte"
+publishing: "Publikuji"
+notResponding: "Neodpovídá"
+instanceFollowing: "Následovníci na instanci"
+instanceFollowers: "Následovníci na instanci"
+instanceUsers: "Uživatelé této instance"
+changePassword: "Změnit heslo"
+security: "Zabezpečení"
+retypedNotMatch: "Zadané údaje se neshodují."
+currentPassword: "Současné heslo"
+newPassword: "Nové heslo"
+newPasswordRetype: "Nové heslo (znovu)"
+attachFile: "Přiložit soubor"
+more: "Více!"
+featured: "Oblíbené poznámky"
+usernameOrUserId: "Uživatelské jméno nebo uživatelské id"
+noSuchUser: "Uživatel nebyl nalezen"
+announcements: "Oznámení"
+imageUrl: "URL obrázku"
+remove: "Smazat"
+removed: "Smazáno"
+removeAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?"
+deleteAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?"
+resetAreYouSure: "Opravdu resetovat?"
+saved: "Uloženo"
+messaging: "Zprávy"
+upload: "Nahrát soubory"
+fromDrive: "Z disku"
+fromUrl: "Z URL"
+uploadFromUrl: "Nahrát z URL adresy"
+uploadFromUrlDescription: "URL adresa souboru, který chcete nahrát"
+uploadFromUrlMayTakeTime: "Může trvat nějakou dobu, dokud nebude dokončeno nahrávání."
+explore: "Objevovat"
+messageRead: "Přečtené"
+noMoreHistory: "To je vše"
+startMessaging: "Zahájit chat"
+nUsersRead: "přečteno {n} uživateli"
+agreeTo: "Souhlasím s {0}"
+tos: "Podmínky užívání"
+start: "Začít"
+home: "Domů"
+remoteUserCaution: "Tyto informace nemusí být aktuální jelikož uživatel je ze vzdálené instance."
+activity: "Aktivita"
+images: "Obrázky"
+birthday: "Datum narození"
+yearsOld: "{age} let"
+registeredDate: "Datum registrace"
+location: "Lokace"
+theme: "Vzhled"
+themeForLightMode: "Vzhled pro použití ve světlém režimu"
+themeForDarkMode: "Vzhled k použití v tmavém režimu"
+light: "Světlý"
+dark: "Tmavý"
+lightThemes: "Světlý vzhled"
+darkThemes: "Tmavý vzhled"
+syncDeviceDarkMode: "Synchronizovat tmavý vzhled s nastavením Vašeho systému"
+drive: "Úložiště"
+fileName: "Název souboru"
+selectFile: "Vybrat soubor"
+selectFiles: "Vybrat soubory"
+selectFolder: "Vyberte složku"
+selectFolders: "Vyberte složky"
+renameFile: "Přejmenovat soubor"
+folderName: "Název složky"
+createFolder: "Vytvořit složku"
+renameFolder: "Přejmenovat složku"
+deleteFolder: "Odstranit složku"
+addFile: "Přidat soubor"
+emptyFolder: "Tato složka je prázdná"
+unableToDelete: "Nelze smazat"
+inputNewFileName: "Zadejte nový název"
+inputNewFolderName: "Zadejte název nové složky"
+copyUrl: "Kopírovat URL"
+rename: "Přejmenovat"
+avatar: "Avatar"
+banner: "Baner"
+nsfw: "NSFW"
+disconnectedFromServer: "Spojení bylo přerušeno"
+reload: "Aktualizovat"
+doNothing: "Ignorovat"
+watch: "Sledovat"
+unwatch: "Přestat sledovat"
+accept: "Souhlasím"
+reject: "Odmítnout"
+normal: "Normální"
+instanceName: "Název instance"
+instanceDescription: "Popis instance"
+maintainerName: "Správce"
+maintainerEmail: "E-mailová adresa správce"
+tosUrl: "URL pro smluvní podmínky"
+thisYear: "Tento rok"
+thisMonth: "Tento měsíc"
+today: "Dnes"
+dayX: "{day}"
+monthX: "{month}"
+yearX: "{year}"
+pages: "Stránky"
+integration: "Integrace"
+connectService: "Připojit"
+disconnectService: "Odpojit"
+enableLocalTimeline: "Povolit lokální čas"
+enableGlobalTimeline: "Povolit globální čas"
+registration: "Registrace"
+enableRegistration: "Povolit registraci novým uživatelům"
+invite: "Pozvat"
+inMb: "V megabajtech"
+iconUrl: "Favicon URL"
+bannerUrl: "Baner URL"
+backgroundImageUrl: "Adresa URL obrázku pozadí"
+basicInfo: "Základní informace"
+pinnedUsers: "Připnutí uživatelé"
+pinnedNotes: "Připnutá poznámka"
+hcaptcha: "hCaptcha"
+enableHcaptcha: "Aktivovat hCaptchu"
+hcaptchaSiteKey: "Klíč stránky"
+hcaptchaSecretKey: "Tajný Klíč (Secret Key)"
+recaptcha: "reCAPTCHA"
+enableRecaptcha: "Zapnout ReCAPTCHu"
+recaptchaSiteKey: "Klíč stránky"
+recaptchaSecretKey: "Tajný Klíč (Secret Key)"
+antennas: "Antény"
+manageAntennas: "Spravovat Antény"
+name: "Jméno"
+antennaSource: "Zdroj Antény"
+enableServiceworker: "Povolit ServiceWorker"
+caseSensitive: "Rozlišuje malá a velká písmena"
+connectedTo: "Následující účty jsou připojeny"
+notesAndReplies: "Poznámky a odpovědi"
+withFiles: "Včetně souborů"
+popularUsers: "Populární uživatelé"
+recentlyUpdatedUsers: "Nedávno aktívni uživatelé"
+popularTags: "Populární tagy"
+userList: "Seznamy"
+about: "Informace"
+aboutMisskey: "O Misskey"
+administrator: "Administrátor"
+token: "Token"
+twoStepAuthentication: "Dvoufaktorová autentikace"
+moderator: "Moderátor"
+nUsersMentioned: "{n} uživatelů zmínilo"
+securityKey: "Bezpečnostní klíč"
+securityKeyName: "Název klíče"
+registerSecurityKey: "Registrovat bezpečnostní klíč"
+lastUsed: "Naposledy použito"
+unregister: "Odstranit"
+resetPassword: "Resetovat heslo"
+newPasswordIs: "Nové heslo je \"{password}\""
+reduceUiAnimation: "Snížit UI animace"
+share: "Sdílet"
+notFound: "Nenalezeno"
+notFoundDescription: "Nebyla nalezená žádná stránka korespondující se zadanou URL."
+uploadFolder: "Výchozí lokace pro upload"
+cacheClear: "Vymazat cache"
+markAsReadAllNotifications: "Označit všechna oznámení za přečtená"
+markAsReadAllUnreadNotes: "Označit všechny příspěvky za přečtené"
+markAsReadAllTalkMessages: "Označit všechny zprávy za přečtené"
+help: "Nápověda"
+inputMessageHere: "Sem zadejte zprávu"
+close: "Zavřít"
+group: "Skupina"
+groups: "Skupiny"
+createGroup: "Vytvořit skupinu"
+ownedGroups: "Vlastněné skupiny"
+joinedGroups: "Členství ve skupinách"
+invites: "Pozvat"
+groupName: "Název skupiny"
+members: "Členové"
+transfer: "Převod"
+title: "Titulek"
+text: "Text"
+enable: "Povolit"
+next: "Další"
+retype: "Zadejte znovu"
+noteOf: "{user} poznámky"
+inviteToGroup: "Pozvat do skupiny"
+quoteAttached: "Citace"
+quoteQuestion: "Přiložit jako citaci?"
+noMessagesYet: "Zatím tu nejsou žádné zprávy"
+newMessageExists: "Máte novou zprávu"
+onlyOneFileCanBeAttached: "Ke zprávě můžete přiložit jenom jeden soubor"
+signinRequired: "Přihlašte se, prosím"
+invitations: "Pozvat"
+invitationCode: "Kód pozvánky"
+checking: "Ověřuji"
+available: "K dispozici"
+unavailable: "Není k dispozici"
+usernameInvalidFormat: "Písmena, čísla a _ jsou povolená."
+tooShort: "Příliš krátké"
+tooLong: "Příliš dlouhé"
+weakPassword: "Slabé heslo"
+normalPassword: "Dobré heslo"
+strongPassword: "Silné heslo"
+passwordMatched: "Hesla se schodují"
+passwordNotMatched: "Hesla se neschodují"
+signinWith: "Přihlásit se s {x}"
+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"
+language: "Jazyk"
+uiLanguage: "Jazyk uživatelského rozhraní"
+groupInvited: "Pozvat do skupiny"
+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"
+signinHistory: "Historie přihlášení"
+category: "Kategorie"
+tags: "Štítky"
+createAccount: "Vytvořit účet"
+existingAccount: "Existující účet"
+regenerate: "Obnovit"
+fontSize: "Velikost písma"
+openImageInNewTab: "Otevřít obrázek v novém panelu"
+dashboard: "Přehled"
+local: "Lokální"
+remote: "Vzdálené"
+total: "Celkem"
+weekOverWeekChanges: "Týdně"
+dayOverDayChanges: "Denně"
+appearance: "Vzhled"
+clientSettings: "Nastavení klienta"
+accountSettings: "Nastavení účtu"
+promotion: "Propagace"
+promote: "Propagovat"
+numberOfDays: "Počet dní"
+objectStorageBaseUrl: "Base URL"
+objectStorageBucket: "Bucket"
+objectStoragePrefix: "Předpona"
+objectStorageEndpoint: "Endpoint"
+objectStorageRegion: "Región"
+objectStorageUseSSL: "Použít SSL"
+deleteAll: "Smazat vše"
+showFixedPostForm: "Zobrazit formulář pro nové příspěvky nad časovou osou"
+listen: "Poslouchat"
+showInPage: "Zobrazit na stránce"
+popout: "Pop-out"
+volume: "Hlasitost"
+masterVolume: "Celková hlasitost"
+details: "Detaily"
+chooseEmoji: "Vybrat emotikon"
+unableToProcess: "Operace nebyla dokončena."
+recentUsed: "Naposledy použité"
+install: "Nainstalovat"
+uninstall: "Odinstalovat"
+installedApps: "Autorizované aplikace"
+nothing: "Nic nebylo nalezeno"
+lastUsedDate: "Poslední použití"
+state: "Stav"
+sort: "Seřadit"
+ascendingOrder: "Vzestupně"
+descendingOrder: "Sestupně"
+scratchpad: "Zápisník"
+output: "Výstup"
+script: "Skript"
+updateRemoteUser: "Aktualizovat informace o vzdáleném účtu"
+deleteAllFiles: "Smazat všechny soubory"
+deleteAllFilesConfirm: "Jste si jistí že chcete smazat všechny soubory?"
+userSuspended: "Tomuto uživateli byl pozastaven účet."
+menu: "Menu"
+divider: "Dělící čára"
+addItem: "Přidat položku"
+relays: "Relay"
+addRelay: "Přidat Relay"
+inboxUrl: "Inbox URL"
+deletedNote: "Odstraněné příspěvky"
+invisibleNote: "Skryté příspěvky"
+description: "Popis"
+author: "Autor"
+manage: "Administrace"
+width: "Šířka"
+height: "Výška"
+large: "Velké"
+medium: "Střední"
+small: "Malé"
+generateAccessToken: "Vygenerovat přístupový token"
+permission: "Oprávnění"
+enableAll: "Povolit vše"
+disableAll: "Vypnout vše"
+notificationType: "Typy oznámení"
+edit: "Upravit"
+emailServer: "Mailový server"
+enableEmail: "Zapnout email dystribuci"
+email: "Email"
+emailAddress: "Emailová adresa"
+smtpConfig: "Konfigurace SMTP serveru"
+smtpHost: "Hostitel"
+smtpPort: "Port"
+smtpUser: "Uživatelské jméno"
+smtpPass: "Heslo"
+smtpSecureInfo: "Toto vypněte pokud používáte STARTTLS"
+testEmail: "Otestovat doručení emailů"
+makeActive: "Aktivovat"
+display: "Zobrazit"
+copy: "Kopírovat"
+metrics: "Metriky"
+overview: "Shrnutí"
+logs: "Logy"
+delayed: "Prodleva"
+database: "Databáze"
+channel: "Kanály"
+create: "Vytvořit"
+notificationSetting: "Nastavení oznámení"
+useGlobalSetting: "Použít globální nastavení"
+other: "Ostatní"
+fileIdOrUrl: "ID nebo URL souboru"
+behavior: "Chování"
+sample: "Ukázka"
+send: "Odeslat"
+openInNewTab: "Otevřít v nové kartě"
+random: "Náhodně"
+system: "Systém"
+desktop: "Plocha"
+clip: "Oříznout"
+createNew: "Vytvořit nový"
+optional: "Volitelné"
+yes: "Ano"
+no: "Ne"
+notSet: "Není nastaveno"
+emailVerified: "Váš e-mail byl ověřen"
+contact: "Kontakt"
+useSystemFont: "Použít výchozí font systému"
+clips: "Oříznout"
+experimentalFeatures: "Experimentální funkce"
+developer: "Vývojář"
+duplicate: "Duplikovat"
+left: "Vlevo"
+center: "Uprostřed"
+wide: "Široké"
+narrow: "Úzké"
+clearCache: "Vyprázdnit mezipaměť"
+nUsers: "{n} užívatelů"
+nNotes: "{n} poznámek"
+myTheme: "Moje vzhledy"
+backgroundColor: "Pozadí"
+accentColor: "Akcent"
+textColor: "Barva textu"
+saveAs: "Uložit jako…"
+advanced: "Pokročilé"
+value: "Hodnota"
+createdAt: "Vytvořeno"
+updatedAt: "Upraveno"
+saveConfirm: "Uložit změny?"
+deleteConfirm: "Opravdu smazat?"
+invalidValue: "Neplatná hodnota."
+registry: "Registr"
+info: "Informace"
+unknown: "Neznámý"
+onlineStatus: "Online status"
+hideOnlineStatus: "Skrýt Váš online status"
+hideOnlineStatusDescription: "Skrytí vašeho online stavu může snížit funkcionalitu některých funkcí, například vyhledávání."
+online: "Online"
+active: "Aktivní"
+offline: "Offline"
+notRecommended: "Nedoporučuje se"
+botProtection: "Bot ochrana"
+instanceBlocking: "Blokované instance"
+selectAccount: "Vybrat účet"
+switchAccount: "Přepnout účet"
+enabled: "Zapnuto"
+disabled: "Vypnuto"
+quickAction: "Rychlé akce"
+user: "Uživatelé"
+administration: "Administrace"
+accounts: "Účty"
+switch: "Přepnout"
+configure: "Nastavit"
+gallery: "Galerie"
+recentPosts: "Poslední příspěvky"
+ads: "Reklamy"
+memo: "Memo"
+priority: "Priorita"
+high: "Vysoká"
+middle: "Střední"
+low: "Nízká"
+emailNotConfiguredWarning: "E-mailová adresa není nastavena."
+ratio: "Poměr"
+global: "Globální"
+sent: "Odeslat"
+hashtags: "Hashtagy"
+troubleshooting: "Poradce při potížích"
+whatIsNew: "Zobrazit změny"
+translate: "Přeložit"
+hide: "Skrýt"
+smartphone: "Telefon"
+tablet: "Tablet"
+auto: "Auto"
+size: "Velikost"
+numberOfColumn: "Počet sloupců"
+searchByGoogle: "Vyhledávání"
+indefinitely: "Navždy"
+tenMinutes: "10 minut"
+oneHour: "1 hodina"
+oneDay: "1 den"
+oneWeek: "1 týden"
+reflectMayTakeTime: "Může trvat nějakou dobu, než se projeví změny."
+cropImage: "Oříznout obrázek"
+file: "Soubor(ů)"
+recentNHours: "Posledních {n} hodin"
+recentNDays: "Posledních {n} dnů"
+recommended: "Doporučeno"
+deleteAccount: "Odstranit účet"
+document: "Dokumentace"
+logoutConfirm: "Opravdu se chcete odhlásit?"
+pleaseSelect: "Vybrat možnost"
+reverse: "Otočit"
+colored: "Barevné"
+type: "Typ"
+speed: "Rychlost"
+slow: "Pomalá"
+fast: "Rychlá"
+account: "Účty"
+_ad:
+ back: "Zpět"
+_gallery:
+ my: "Moje galerie"
+_email:
+ _follow:
+ title: "Máte nového následovníka"
+_plugin:
+ install: "Instalovat plugin"
+ manage: "Správce pluginů"
+_preferencesBackups:
+ list: "Vytvořit backup"
+ loadFile: "Načíst ze souboru"
+ save: "Uložit změny"
+_registry:
+ scope: "Rozsah"
+ key: "Klíč"
+ keys: "Klíče"
+ domain: "Doména"
+ createKey: "Vytvořit klíč"
+_aboutMisskey:
+ allContributors: "Všichni přispěvatelé"
+ 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:
+ featured: "Trendy"
+_menuDisplay:
+ top: "Nahoru"
+ hide: "Skrýt"
+_theme:
+ install: "Nainstalovat vzhled"
+ manage: "Správa vzhledů"
+ code: "Kód vzhledu"
+ description: "Popis"
+ installedThemes: "Nainstalované vzhledy"
+ constant: "Konstanta"
+ defaultValue: "Výchozí hodnota"
+ color: "Barva"
+ key: "Klíč"
+ func: "Funkce "
+ keys:
+ shadow: "Stín"
+ header: "Nadpis"
+ link: "Odkaz"
+ hashtag: "Hashtag"
+ mention: "Zmínění"
+ renote: "Přeposlat"
+ divider: "Dělící čára"
+_sfx:
+ note: "Poznámky"
+ notification: "Oznámení"
+ chat: "Zprávy"
+_ago:
+ future: "Budoucí"
+ justNow: "Teď"
+_time:
+ second: "Sekund"
+ minute: "Minut"
+ hour: "Hodin"
+_2fa:
+ registerDevice: "Přidat zařízení"
+ registerKey: "Přidat bezpečnostní klíč"
+_weekday:
+ sunday: "Neděle"
+ monday: "Pondělí"
+ tuesday: "Úterý"
+ wednesday: "Středa"
+ thursday: "Čtvrtek"
+ friday: "Pátek"
+ saturday: "Sobota"
+_widgets:
+ notifications: "Oznámení"
+ timeline: "Časová osa"
+ calendar: "Kalendář"
+ trends: "Trendy"
+ clock: "Hodiny"
+ rss: "RSS čtečka"
+ activity: "Aktivita"
+ photos: "Fotky"
+ digitalClock: "Digitální hodiny"
+ federation: "Federace"
+ slideshow: "Prezentace"
+ button: "Tlačítko"
+ onlineUsers: "Online uživatelé"
+ jobQueue: "Fronta úloh"
+ aiscript: "AiScript conzole"
+ aichan: "Ai"
+_cw:
+ hide: "Skrýt"
+ show: "Zobrazit více"
+_poll:
+ noMore: "Více už přidat nemůžete"
+ infinite: "Nikdy"
+ deadlineDate: "Datum ukončení"
+ deadlineTime: "Hodin"
+ duration: "Trvání"
+_visibility:
+ home: "Domů"
+ followers: "Sledující"
+_postForm:
+ _placeholders:
+ f: "Čekám, až něco napíšete..."
+_profile:
+ name: "Jméno"
+ username: "Uživatelské jméno"
+ description: "O mně"
+ youCanIncludeHashtags: "V popisku o Vás můžete použít i hastagy."
+ metadata: "Doplňující informace"
+ metadataContent: "Obsah"
+_exportOrImport:
+ allNotes: "Všechny poznámky"
+ followingList: "Sledovaní"
+ muteList: "Ztlumit"
+ blockingList: "Zablokovat"
+ userLists: "Seznamy"
+_charts:
+ federation: "Federace"
+ apRequest: "Požadavek"
+ usersTotal: "Celkem uživatelů"
+ activeUsers: "Aktivní uživatelé"
+ notesTotal: "Celkový počet poznámek"
+_timelines:
+ home: "Domů"
+ global: "Globální"
+_pages:
+ newPage: "Vytvořit novou stránku"
+ editPage: "Upravit stránku"
+ created: "Stránka byla úspěšně vytvořena"
+ updated: "Stránka byla úspěšně aktualizována"
+ deleted: "Stránka byla úspěšně smazána"
+ pageSetting: "Nastavení stránky"
+ invalidNameText: "Ujistěte se že jméno stránky je vyplněno"
+ contents: "Obsah"
+ fontSerif: "Serif"
+ fontSansSerif: "Sans Serif"
+ chooseBlock: "Přidat blok"
+ selectType: "Vyberte typ"
+ contentBlocks: "Obsah"
+ inputBlocks: "Vstup"
+ specialBlocks: "Speciální"
+ blocks:
+ text: "Text"
+ textarea: "Textové pole"
+ section: "Sekce"
+ image: "Obrázky"
+ 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:
+ youWereFollowed: "Máte nového následovníka"
+ youWereInvitedToGroup: "Pozvat do skupiny"
+ _types:
+ all: "Vše"
+ follow: "Sledovaní"
+ mention: "Zmínění"
+ reply: "Odpovědi"
+ renote: "Přeposlat"
+ quote: "Citovat"
+ reaction: "Reakce"
+ _actions:
+ reply: "Odpovědět"
+ renote: "Přeposlat"
+_deck:
+ _columns:
+ notifications: "Oznámení"
+ tl: "Časová osa"
+ antenna: "Antény"
+ list: "Seznamy"
+ mentions: "Zmínění"
diff --git a/locales/de-DE.yml b/locales/de-DE.yml
index 903a70c53..149899258 100644
--- a/locales/de-DE.yml
+++ b/locales/de-DE.yml
@@ -1,33 +1,34 @@
---
_lang_: "Deutsch"
-headlineMisskey: "Durch Notizen verbundenes Netzwerk"
-introMisskey: "Willkommen! Misskey ist eine dezentralisierte Open-Source Microblogging-Platform.\nVerfasse \"Notizen\" um mitzuteilen, was gerade passiert oder um Ereignisse mit Anderen zu teilen. 📡\nMit \"Reaktionen\" kannst du außerdem schnell deine Gefühle über Notizen anderer Benutzer zum Ausdruck bringen. 👍\nLass uns eine neue Welt erforschen! 🚀"
-monthAndDay: "{day}/{month}"
+headlineMisskey: "Ein durch Notizen verbundenes Netzwerk"
+introMisskey: "Willkommen! Misskey ist eine dezentralisierte Open-Source Microblogging-Platform.\nVerfasse „Notizen“ um mitzuteilen, was gerade passiert oder um Ereignisse mit anderen zu teilen. 📡\nMit „Reaktionen“ kannst du außerdem schnell deine Gefühle über Notizen anderer Benutzer zum Ausdruck bringen. 👍\nEine neue Welt wartet auf dich! 🚀"
+monthAndDay: "{day}.{month}."
search: "Suchen"
notifications: "Benachrichtigungen"
username: "Benutzername"
password: "Passwort"
-fetchingAsApObject: "Wird aus dem Fediverse angefragt..."
+forgotPassword: "Passwort vergessen"
+fetchingAsApObject: "Wird aus dem Fediverse angefragt …"
ok: "OK"
gotIt: "Verstanden!"
cancel: "Abbrechen"
enterUsername: "Benutzername eingeben"
renotedBy: "Renote von {user}"
-noNotes: "Keine Notizen"
-noNotifications: "Keine Benachrichtigungen"
+noNotes: "Keine Notizen gefunden"
+noNotifications: "Keine Benachrichtigungen gefunden"
instance: "Instanz"
settings: "Einstellungen"
basicSettings: "Allgemeine Einstellungen"
-otherSettings: "Andere Einstellungen"
-openInWindow: "In Fenster öffnen"
+otherSettings: "Weitere Einstellungen"
+openInWindow: "In einem Fenster öffnen"
profile: "Profil"
timeline: "Chronik"
-noAccountDescription: "Dieser Nutzer hat seine Profilbeschreibung noch nicht ausgefüllt."
-login: "Einloggen"
-loggingIn: "Du wirst eingeloggt..."
-logout: "Ausloggen"
+noAccountDescription: "Dieser Nutzer hat seine Profilbeschreibung noch nicht ausgefüllt"
+login: "Anmelden"
+loggingIn: "Du wirst angemeldet …"
+logout: "Abmelden"
signup: "Registrieren"
-uploading: "Upload läuft"
+uploading: "Wird hochgeladen …"
save: "Speichern"
users: "Benutzer"
addUser: "Benutzer hinzufügen"
@@ -37,8 +38,8 @@ unfavorite: "Aus Favoriten entfernen"
favorited: "Zu Favoriten hinzugefügt."
alreadyFavorited: "Bereits zu den Favoriten hinzugefügt."
cantFavorite: "Hinzufügen zu Favoriten fehlgeschlagen."
-pin: "Anheften"
-unpin: "Lösen"
+pin: "An dein Profil anheften"
+unpin: "Von deinem Profil lösen"
copyContent: "Inhalt kopieren"
copyLink: "Link kopieren"
delete: "Löschen"
@@ -47,27 +48,28 @@ deleteAndEditConfirm: "Möchtest du diese Notiz wirklich löschen und bearbeiten
addToList: "Zu Liste hinzufügen"
sendMessage: "Nachricht senden"
copyUsername: "Benutzernamen kopieren"
-searchUser: "Benutzersuche"
+searchUser: "Nach einem Benutzer suchen"
reply: "Antworten"
-loadMore: "Mehr anzeigen"
+loadMore: "Mehr laden"
showMore: "Mehr anzeigen"
-youGotNewFollower: "Du hast einen neuen Follower"
+showLess: "Schließen"
+youGotNewFollower: "ist dir gefolgt"
receiveFollowRequest: "Follow-Anfrage erhalten"
followRequestAccepted: "Follow-Anfrage akzeptiert"
mention: "Erwähnung"
mentions: "Erwähnungen"
directNotes: "Direktnachrichten"
-importAndExport: "Importieren und Exportieren"
-import: "Importieren"
-export: "Exportieren"
+importAndExport: "Import und Export"
+import: "Import"
+export: "Export"
files: "Dateien"
download: "Herunterladen"
-driveFileDeleteConfirm: "Möchtest du die Datei \"{name}\" löschen? Die zugehörige Notiz wird ebenso verschwinden."
+driveFileDeleteConfirm: "Möchtest du die Datei „{name}“ wirklich löschen? Notizen mit dieser Datei werden ebenso verschwinden."
unfollowConfirm: "Möchtest du {name} nicht mehr folgen?"
exportRequested: "Du hast einen Export angefragt. Dies kann etwas Zeit in Anspruch nehmen. Sobald der Export abgeschlossen ist, wird er deiner Drive hinzugefügt."
importRequested: "Du hast einen Import angefragt. Dies kann etwas Zeit in Anspruch nehmen."
lists: "Listen"
-noLists: "Du hast keine Listen"
+noLists: "Keine Listen gefunden"
note: "Notiz"
notes: "Notizen"
following: "Folgt"
@@ -78,17 +80,19 @@ manageLists: "Listen verwalten"
error: "Fehler"
somethingHappened: "Ein Fehler ist aufgetreten"
retry: "Wiederholen"
-pageLoadError: "Laden der Seite fehlgeschlagen."
-pageLoadErrorDescription: "Dieser Fehler wird meist durch Netzwerkfehler oder den Browser-Cache verursacht. Versuche den Browser-Cache zu leeren und es nach kurzer Zeit noch einmal zu probieren."
+pageLoadError: "Die Seite konnte nicht geladen werden."
+pageLoadErrorDescription: "Dieser Fehler wird meist durch Netzwerkfehler oder den Browser-Cache verursacht. Bitte leere den Cache oder versuche es nach einiger Zeit erneut."
+serverIsDead: "Dieser Server antwortet nicht. Bitte warte einen Moment und versuche es dann erneut."
+youShouldUpgradeClient: "Bitte aktualisiere diese Seite, um eine neuere Version deines Clients zu verwenden."
enterListName: "Listennamen eingeben"
privacy: "Privatsphäre"
makeFollowManuallyApprove: "Follow-Anfragen benötigen Bestätigung"
defaultNoteVisibility: "Standardsichtbarkeit"
follow: "Folgen"
-followRequest: "Follow-Anfrage"
+followRequest: "Follow-Anfrage senden"
followRequests: "Follow-Anfragen"
unfollow: "Nicht mehr folgen"
-followRequestPending: "Ausstehende Follow-Anfrage"
+followRequestPending: "Follow-Anfrage ausstehend"
enterEmoji: "Gib ein Emoji ein"
renote: "Renote"
unrenote: "Renote zurücknehmen"
@@ -96,18 +100,19 @@ renoted: "Renote getätigt."
cantRenote: "Renote dieses Beitrags nicht möglich."
cantReRenote: "Renote einer Renote nicht möglich."
quote: "Zitieren"
-pinnedNote: "Angepinnte Notiz"
+pinnedNote: "Angeheftete Notiz"
+pinned: "Angeheftet"
you: "Du"
-clickToShow: "Klicke, um diesen Inhalt anzusehen"
+clickToShow: "Zum Anzeigen anklicken"
sensitive: "NSFW"
add: "Hinzufügen"
reaction: "Reaktionen"
-reactionSettingDescription: "Gib deine Lieblingsreaktionen ein, um sie der Reaktionsauswahl hinzuzufügen."
-reactionSettingDescription2: "Ziehe zum Anordnen, Klicke zum Löschen, Drücke \"+\" zum Hinzufügen"
+reactionSetting: "In der Reaktionsauswahl anzuzeigende Reaktionen"
+reactionSettingDescription2: "Ziehe um Anzuordnen, klicke um zu löschen, drücke „+“ um hinzuzufügen"
rememberNoteVisibility: "Notizsichtbarkeit merken"
attachCancel: "Anhang entfernen"
markAsSensitive: "Als NSFW markieren"
-unmarkAsSensitive: "Markierung als NSFW zurücknehmen"
+unmarkAsSensitive: "Als nicht NSFW markieren"
enterFileName: "Dateinamen eingeben"
mute: "Stummschalten"
unmute: "Stummschaltung aufheben"
@@ -118,48 +123,51 @@ unsuspend: "Sperrung aufheben"
blockConfirm: "Möchtest du diesen Benutzer wirklich blockieren?"
unblockConfirm: "Möchtest du diese Blockierung wirklich aufheben?"
suspendConfirm: "Möchtest du diesen Benutzer wirklich sperren?"
-unsuspendConfirm: "Möchtest du die Sperrung dieses Benutzers wirklich aufheben?"
-selectList: "Wähle eine Liste aus"
+unsuspendConfirm: "Möchtest du diesen Benutzer wirklich entsperren?"
+selectList: "Liste auswählen"
selectAntenna: "Antenne auswählen"
selectWidget: "Widget auswählen"
editWidgets: "Widgets bearbeiten"
editWidgetsExit: "Fertig"
customEmojis: "Benutzerdefinierte Emojis"
emoji: "Emoji"
-emojiName: "Emojiname"
+emojis: "Emojis"
+emojiName: "Emoji-Name"
emojiUrl: "Emoji-URL"
addEmoji: "Emoji hinzufügen"
settingGuide: "Empfohlene Einstellung"
-cacheRemoteFiles: "Dateien von anderen Instanzen im Cache speichern"
-cacheRemoteFilesDescription: "Wenn diese Einstellung deaktiviert ist, werden Dateien anderer Instanzen direkt von dort geladen. Hierdurch wird Speicherplatz gespart, aber mehr Bandbreite verbraucht, da keine Vorschaubilder generiert werden."
+cacheRemoteFiles: "Dateien von fremden Instanzen im Cache speichern"
+cacheRemoteFilesDescription: "Ist diese Einstellung deaktiviert, so werden Dateien fremder Instanzen direkt von dort geladen. Hierdurch wird Speicherplatz auf diesem Server gespart, aber durch fehlende Generierung von Vorschaubildern mehr Bandbreite verwendet."
flagAsBot: "Als Bot markieren"
-flagAsBotDescription: "Wenn dieser Account durch ein Programm gesteuert wird, setze diesen Haken. Falls aktiviert, agiert es als Flag für andere Entwickler um endlose Kettenreaktionen mit anderen Bots zu verhindern und lässt Misskey's interne Systeme diesen Account als Bot behandeln."
+flagAsBotDescription: "Aktiviere diese Option, falls dieses Benutzerkonto durch ein Programm gesteuert wird. Falls aktiviert, agiert es als Flag für andere Entwickler zur Verhinderung von endlosen Kettenreaktionen mit anderen Bots und lässt Misskeys interne Systeme dieses Benutzerkonto als Bot behandeln."
flagAsCat: "Als Katze markieren"
-flagAsCatDescription: "Setze diese Flag um dieses Benutzerkonto als Katze zu markieren."
-autoAcceptFollowed: "Follow-Anfragen automatisch akzeptieren"
-addAcount: "Benutzerkonto hinzufügen"
-loginFailed: "Login fehlgeschlagen"
+flagAsCatDescription: "Aktiviere diese Option, um dieses Benutzerkonto als Katze zu markieren."
+flagShowTimelineReplies: "Antworten in der Chronik anzeigen"
+flagShowTimelineRepliesDescription: "Ist diese Option aktiviert, so werden Antworten von Benutzern auf die Notizen anderer Benutzer in der Chronik angezeigt."
+autoAcceptFollowed: "Follow-Anfragen von Benutzern, denen du folgst, automatisch akzeptieren"
+addAccount: "Benutzerkonto hinzufügen"
+loginFailed: "Anmeldung fehlgeschlagen"
showOnRemote: "Auf Ursprungsinstanz ansehen"
general: "Allgemein"
wallpaper: "Hintergrund"
setWallpaper: "Hintergrund festlegen"
removeWallpaper: "Hintergrund entfernen"
-searchWith: "Suche: {q}"
+searchWith: "Suchen: {q}"
youHaveNoLists: "Du hast keine Listen"
followConfirm: "Möchtest du {name} wirklich folgen?"
proxyAccount: "Proxy-Benutzerkonto"
proxyAccountDescription: "Ein Proxy-Benutzerkonto ist ein Benutzerkonto, das sich für Nutzer unter bestimmten Konditionen wie ein Follower aus einer fremden Instanz verhält. Zum Beispiel wird die Aktivität eines Nutzers aus einer fremden Instanz nicht an diese Instanz übermittelt, falls es keinen Benutzer dieser Instanz gibt, der diesem Nutzer aus fremder Instanz folgt. In diesem Fall folgt stattdessen das Proxy-Benutzerkonto."
-host: "Host"
-selectUser: "Benutzer wählen"
+host: "Hostname"
+selectUser: "Benutzer auswählen"
recipient: "Empfänger"
annotation: "Anmerkung"
federation: "Föderation"
-instances: "Instanz"
+instances: "Instanzen"
registeredAt: "Registriert am"
-latestRequestSentAt: "Letzte Anfrage gesendet am"
-latestRequestReceivedAt: "Letzte Anfrage erhalten am"
-latestStatus: "Neuester Status"
-storageUsage: "Speicherplatzverbrauch"
+latestRequestSentAt: "Letzte Anfrage gesendet"
+latestRequestReceivedAt: "Letzte Anfrage erhalten"
+latestStatus: "Neuster Status"
+storageUsage: "Verbrauchter Speicherplatz"
charts: "Diagramme"
perHour: "Pro Stunde"
perDay: "Pro Tag"
@@ -179,104 +187,107 @@ instanceInfo: "Instanzinformationen"
statistics: "Statistiken"
clearQueue: "Warteschlange leeren"
clearQueueConfirmTitle: "Möchtest du die Warteschlange wirklich leeren?"
-clearQueueConfirmText: "Jegliche Notizen, die sich noch in der Warteschlange befinden, werden hierdurch nicht föderiert. Diese Aktion wird normalerweise NICHT benötigt."
+clearQueueConfirmText: "Hierdurch werden jegliche noch nicht gesendete Notizen nicht förderiert. Normalerweise wird dies nicht benötigt."
clearCachedFiles: "Cache leeren"
clearCachedFilesConfirm: "Sollen alle im Cache gespeicherten Dateien von anderen Instanzen wirklich gelöscht werden?"
blockedInstances: "Blockierte Instanzen"
-blockedInstancesDescription: "Gib den Hostnamen der Instanz an, die blockiert werden soll. Blockierte Instanzen können nicht mehr mit dieser kommunizieren."
-muteAndBlock: "Stummschaltungen / Blockierungen"
+blockedInstancesDescription: "Gib die Hostnamen der Instanzen, welche blockiert werden sollen, durch Zeilenumbrüche getrennt an. Blockierte Instanzen können mit dieser instanz nicht mehr kommunizieren."
+muteAndBlock: "Stummschaltungen und Blockierungen"
mutedUsers: "Stummgeschaltete Benutzer"
blockedUsers: "Blockierte Benutzer"
-noUsers: "Keine Benutzer"
+noUsers: "Keine Benutzer gefunden"
editProfile: "Profil bearbeiten"
noteDeleteConfirm: "Möchtest du diese Notiz wirklich löschen?"
-pinLimitExceeded: "Du kannst nicht noch mehr Notizen anpinnen."
-intro: "Misskey Installation abgeschlossen! Lass uns nun ein Administratorkonto erstellen."
+pinLimitExceeded: "Du kannst nicht noch mehr Notizen anheften."
+intro: "Misskey ist installiert! Lass uns nun ein Administratorkonto einrichten."
done: "Fertig"
-processing: "In Bearbeitung"
+processing: "In Bearbeitung …"
preview: "Vorschau"
default: "Standard"
-noCustomEmojis: "Es existieren keine Emojis"
-noJobs: "Es gibt keine Jobs"
-federating: "Föderiert"
+defaultValueIs: "Standardwert: {value}"
+noCustomEmojis: "Keine benutzerdefinierten Emojis gefunden"
+noJobs: "Keine Jobs vorhanden"
+federating: "Wird föderiert"
blocked: "Blockiert"
suspended: "Gesperrt"
all: "Alles"
-subscribing: "Abonnieren"
-publishing: "Veröffentlichen"
+subscribing: "Wird abonniert"
+publishing: "Wird veröffentlicht"
notResponding: "Antwortet nicht"
instanceFollowing: "Gefolgt auf der Instanz"
instanceFollowers: "Follower der Instanz"
-instanceUsers: "Benutzer dieser Instanz"
+instanceUsers: "Benutzer der Instanz"
changePassword: "Passwort ändern"
security: "Sicherheit"
-retypedNotMatch: "Eingaben stimmen nicht überein."
-currentPassword: "Momentanes Passwort"
+retypedNotMatch: "Die Eingaben stimmen nicht überein."
+currentPassword: "Aktuelles Passwort"
newPassword: "Neues Passwort"
-newPasswordRetype: "Neues Passwort (wiederholen)"
+newPasswordRetype: "Neues Passwort bestätigen"
attachFile: "Datei anhängen"
more: "Mehr!"
featured: "Beliebt"
usernameOrUserId: "Benutzername oder Benutzer-ID"
noSuchUser: "Benutzer nicht gefunden"
-lookup: "Abfragen"
+lookup: "Anfragen"
announcements: "Ankündigungen"
imageUrl: "Bild-URL"
remove: "Löschen"
removed: "Erfolgreich gelöscht"
-removeAreYouSure: "Möchtest du \"{x}\" wirklich löschen?"
-deleteAreYouSure: "Möchtest du \"{x}\" wirklich löschen?"
+removeAreYouSure: "Möchtest du „{x}“ wirklich entfernen?"
+deleteAreYouSure: "Möchtest du „{x}“ wirklich löschen?"
resetAreYouSure: "Wirklich zurücksetzen?"
-saved: "Gespeichert"
+saved: "Erfolgreich gespeichert"
messaging: "Chat"
upload: "Hochladen"
+keepOriginalUploading: "Originalbild speichern"
+keepOriginalUploadingDescription: "Speichert das Originalbild so, wie es ist. Ist dies deaktiviert, wird eine Version zum Anzeigen im Internet generiert."
fromDrive: "Aus Drive"
fromUrl: "Von einer URL"
uploadFromUrl: "Von einer URL hochladen"
uploadFromUrlDescription: "URL der hochzuladenden Datei"
uploadFromUrlRequested: "Upload angefordert"
-uploadFromUrlMayTakeTime: "Es kann eine Weile dauern, bis der Upload abgeschlossen ist."
+uploadFromUrlMayTakeTime: "Es kann eine Weile dauern, bis das Hochladen abgeschlossen ist."
explore: "Erkunden"
-games: "Misskey Spiele"
messageRead: "Gelesen"
noMoreHistory: "Kein weiterer Verlauf vorhanden"
startMessaging: "Neuen Chat erstellen"
-nUsersRead: "Von {n} gelesen"
+nUsersRead: "Von {n} Benutzern gelesen"
agreeTo: "Ich stimme {0} zu"
tos: "Nutzungsbedingungen"
start: "Anfangen"
home: "Startseite"
-remoteUserCaution: "Diese Informationen sind möglicherweise veraltet, da der Benutzer von einer anderen Instanz stammt."
+remoteUserCaution: "Diese Informationen sind möglicherweise unvollständig, da der Benutzer von einer fremden Instanz stammt."
activity: "Aktivität"
images: "Bilder"
birthday: "Geburtstag"
yearsOld: "{age} Jahre alt"
registeredDate: "Registrationsdatum"
location: "Ort"
-theme: "Farbthemen"
-themeForLightMode: "Farbthema, das im Hellmodus genutzt wird"
-themeForDarkMode: "Farbthema, das im Dunkelmodus genutzt wird"
+theme: "Farbschema"
+themeForLightMode: "Helles Farbschema"
+themeForDarkMode: "Dunkles Farbschema"
light: "Hell"
dark: "Dunkel"
-lightThemes: "Helle Farbthemen"
-darkThemes: "Dunkle Farbthemen"
-syncDeviceDarkMode: "Dunkelmodus mit den Einstellungen deines Gerätes synchronisieren"
+lightThemes: "Helle Farbschemata"
+darkThemes: "Dunkle Farbschemata"
+syncDeviceDarkMode: "Einstellung deines Geräts übernehmen"
drive: "Drive"
fileName: "Dateiname"
selectFile: "Datei auswählen"
selectFiles: "Dateien auswählen"
-selectFolder: "Wähle einen Ordner"
-selectFolders: "Wähle Ordner"
+selectFolder: "Ordner auswählen"
+selectFolders: "Ordner auswählen"
renameFile: "Datei umbenennen"
folderName: "Ordnername"
createFolder: "Ordner erstellen"
renameFolder: "Ordner umbenennen"
deleteFolder: "Ordner löschen"
addFile: "Datei hinzufügen"
-emptyDrive: "Drive ist leer"
-emptyFolder: "Der Ordner ist leer"
+emptyDrive: "Deine Drive ist leer"
+emptyFolder: "Dieser Ordner ist leer"
unableToDelete: "Nicht löschbar"
inputNewFileName: "Gib einen neuen Dateinamen ein"
+inputNewDescription: "Gib eine neue Beschreibung ein"
inputNewFolderName: "Gib einen neuen Ordnernamen ein"
circularReferenceFolder: "Der Zielordner ist ein Unterorder des Ordners, den du verschieben möchtest."
hasChildFilesOrFolders: "Dieser Ordner kann nicht gelöscht werden, da er nicht leer ist."
@@ -286,10 +297,10 @@ avatar: "Profilbild"
banner: "Banner"
nsfw: "NSFW"
whenServerDisconnected: "Bei Verbindungsverlust zum Server"
-disconnectedFromServer: "Verbindung zum Server wurde getrennt"
+disconnectedFromServer: "Die Verbindung zum Server wurde getrennt"
reload: "Aktualisieren"
doNothing: "Ignorieren"
-reloadConfirm: "Möchtest du die Chronik aktualisieren?"
+reloadConfirm: "Seite neu laden?"
watch: "Beobachten"
unwatch: "Nicht mehr beobachten"
accept: "Akzeptieren"
@@ -300,36 +311,35 @@ instanceDescription: "Beschreibung der Instanz"
maintainerName: "Betreiber"
maintainerEmail: "Betreiber-Email"
tosUrl: "URL der Nutzungsbedingungen"
-thisYear: "Dieses Jahr"
-thisMonth: "Dieser Monat"
+thisYear: "Jahr"
+thisMonth: "Monat"
today: "Heute"
dayX: "{day}"
monthX: "{month}"
yearX: "{year}"
pages: "Seiten"
integration: "Integration"
-connectSerice: "Verbinden"
-disconnectSerice: "Trennen"
+connectService: "Verbinden"
+disconnectService: "Trennen"
enableLocalTimeline: "Lokale Chronik aktivieren"
enableGlobalTimeline: "Globale Chronik aktivieren"
disablingTimelinesInfo: "Administratoren und Moderatoren haben immer Zugriff auf alle Chroniken, auch wenn diese deaktiviert sind."
registration: "Registrieren"
enableRegistration: "Registration neuer Benutzer erlauben"
invite: "Einladen"
-proxyRemoteFiles: "Dateien anderer Instanzen durch Proxy leiten"
-proxyRemoteFilesDescription: "Wenn diese Einstellung aktiviert ist, dann werden Dateien von anderen Instanzen, welche entweder nicht lokal gespeichert sind oder durch Überschreiten des Speicherlimits gelöscht wurden, durch einen Proxy geleitet. Hierbei wird auch ein Vorschaubild generiert. \n Dies hat keinen Effekt auf den Speicherplatz des Servers."
-driveCapacityPerLocalAccount: "Drive-Kapazität pro lokales Benutzerkonto"
-driveCapacityPerRemoteAccount: "Drive-Kapazität pro Benutzer anderer Instanzen"
+driveCapacityPerLocalAccount: "Drive-Kapazität pro lokalem Benutzerkonto"
+driveCapacityPerRemoteAccount: "Drive-Kapazität pro Benutzer fremder Instanzen"
inMb: "In Megabytes"
-iconUrl: "Icon-URL"
+iconUrl: "Icon-URL (favicon etc)"
bannerUrl: "Banner-URL"
-basicInfo: "Basisdaten"
-pinnedUsers: "Angepinnte Benutzer"
-pinnedUsersDescription: "Gib einen Benutzernamen pro Zeile ein. Diese werden im \"Erkunden\" Tab angezeigt."
-pinnedPages: "Angepinnte Seiten"
-pinnedPagesDescription: "Gib hier die Pfäde zu den Seiten an, die du an die Spitze dieser Instanz anheften möchtest, getrennt durch neue Zeilen."
-pinnedClipId: "ID des angehefteten Clips"
-pinnedNotes: "Angepinnte Notizen"
+backgroundImageUrl: "Hintergrundbild-URL"
+basicInfo: "Grundlegende Informationen"
+pinnedUsers: "Angeheftete Benutzer"
+pinnedUsersDescription: "Gib durch Leerzeichen getrennte Benutzer an, die an die \"Erkunden\"-Seite angeheftet werden sollen."
+pinnedPages: "Angeheftete Seiten"
+pinnedPagesDescription: "Gib durch Leerzeilen getrennte Pfäde zu Seiten an, die an die Startseite dieser Instanz angeheftet werden sollen.\n"
+pinnedClipId: "ID des anzuheftenden Clips"
+pinnedNotes: "Angeheftete Notizen"
hcaptcha: "hCaptcha"
enableHcaptcha: "hCaptcha aktivieren"
hcaptchaSiteKey: "Site key"
@@ -338,18 +348,17 @@ recaptcha: "reCAPTCHA"
enableRecaptcha: "reCAPTCHA aktivieren"
recaptchaSiteKey: "Site key"
recaptchaSecretKey: "Secret key"
-avoidMultiCaptchaConfirm: "Das Verwenden von mehreren Captcha-Systemen kann zu Störungen führen. Möchtest du die anderen Systeme deaktivieren? Du kannst mehrere aktiviert lassen, in dem du auf Abbrechen drückst."
+avoidMultiCaptchaConfirm: "Das Verwenden von mehreren Captcha-Systemen kann zu Störungen führen. Sollen die anderen Systeme deaktiviert werden? Durch Abbrechen können mehrere Systeme aktiviert bleiben."
antennas: "Antennen"
manageAntennas: "Antennen verwalten"
name: "Name"
antennaSource: "Antennenquelle"
-antennaKeywords: "Schlüsselwörter, die beobachtet werden sollen"
-antennaExcludeKeywords: "Schlüsselwörter, die ignoriert werden sollen"
-antennaKeywordsDescription: "Mit Leerzeichen für eine \"UND\"-Verknüpfung trennen, durch Zeilenumbrüche für eine \"ODER\"-Verknüpfung trennen."
+antennaKeywords: "Zu beobachtende Schlüsselwörter"
+antennaExcludeKeywords: "Zu ignorierende Schlüsselwörter"
+antennaKeywordsDescription: "Zum Nutzen einer \"UND\"-Verknüpfung Einträge mit Leerzeichen trennen, zum Nutzen einer \"ODER\"-Verknüpfung Einträge mit einem Zeilenumbruch trennen"
notifyAntenna: "Über neue Notizen benachrichtigen"
withFileAntenna: "Nur Notizen mit Dateien"
-serviceworker: "ServiceWorker"
-enableServiceworker: "ServiceWorker aktivieren"
+enableServiceworker: "Push-Benachrichtigungen im Browser aktivieren"
antennaUsersDescription: "Benutzernamen getrennt durch Zeilenumbrüche angeben"
caseSensitive: "Groß-/Kleinschreibung unterscheiden"
withReplies: "Antworten beinhalten"
@@ -367,14 +376,15 @@ recentlyDiscoveredUsers: "Vor kurzem gefundene Benutzer"
exploreUsersCount: "Es gibt {count} Benutzer"
exploreFediverse: "Das Fediverse erkunden"
popularTags: "Beliebte Schlagwörter"
-userList: "Listen"
+userList: "Liste"
about: "Über"
aboutMisskey: "Über Misskey"
administrator: "Administrator"
token: "Token"
twoStepAuthentication: "Zwei-Faktor-Authentifizierung"
moderator: "Moderator"
-nUsersMentioned: "{n} Benutzer reden darüber"
+moderation: "Moderation"
+nUsersMentioned: "Von {n} Benutzern erwähnt"
securityKey: "Sicherheitsschlüssel"
securityKeyName: "Schlüsselname"
registerSecurityKey: "Sicherheitsschlüssel registrieren"
@@ -382,7 +392,7 @@ lastUsed: "Zuletzt benutzt"
unregister: "Deaktivieren"
passwordLessLogin: "Passwortloses Anmelden einrichten"
resetPassword: "Passwort zurücksetzen"
-newPasswordIs: "Das neue Passwort ist \"{password}\""
+newPasswordIs: "Das neue Passwort ist „{password}“"
reduceUiAnimation: "Animationen der Benutzeroberfläche reduzieren"
share: "Teilen"
notFound: "Nicht gefunden"
@@ -391,14 +401,14 @@ uploadFolder: "Standardordner für Uploads"
cacheClear: "Cache leeren"
markAsReadAllNotifications: "Alle Benachrichtigungen als gelesen markieren"
markAsReadAllUnreadNotes: "Alle Notizen als gelesen markieren"
-markAsReadAllTalkMessages: "Alle Nachrichten als gelesen markieren"
+markAsReadAllTalkMessages: "Alle Chats als gelesen markieren"
help: "Hilfe"
inputMessageHere: "Hier Nachricht eingeben"
close: "Schließen"
group: "Gruppe"
groups: "Gruppen"
createGroup: "Gruppe erstellen"
-ownedGroups: "Eigene Gruppen"
+ownedGroups: "Meine Gruppen"
joinedGroups: "Beigetretene Gruppen"
invites: "Einladungen"
groupName: "Gruppenname"
@@ -406,30 +416,29 @@ members: "Mitglieder"
transfer: "Übertragen"
messagingWithUser: "Privatchat"
messagingWithGroup: "Gruppenchat"
-title: "Betreff"
+title: "Titel"
text: "Text"
enable: "Aktivieren"
next: "Weiter"
retype: "Erneut eingeben"
noteOf: "Notiz von {user}"
inviteToGroup: "Zu Gruppe einladen"
-maxNoteTextLength: "Maximale Länge von Notizen"
-quoteAttached: "Zitiert"
-quoteQuestion: "Als Zitat anfügen?"
-noMessagesYet: "Noch keine Nachrichten"
+quoteAttached: "Zitat"
+quoteQuestion: "Als Zitat anhängen?"
+noMessagesYet: "Noch keine Nachrichten vorhanden"
newMessageExists: "Du hast eine neue Nachricht"
onlyOneFileCanBeAttached: "Es kann pro Nachricht nur eine Datei angehängt werden"
-signinRequired: "Anmeldung erforderlich"
+signinRequired: "Bitte registriere oder melde dich an, um fortzufahren"
invitations: "Einladungen"
invitationCode: "Einladungscode"
-checking: "Wird überprüft..."
+checking: "Wird überprüft …"
available: "Verfügbar"
unavailable: "Unverfügbar"
-usernameInvalidFormat: "Buchstaben, Zahlen und Unterstriche sind verwendbar."
+usernameInvalidFormat: "Du kannst Klein- und Großbuchstaben, Zahlen sowie Unterstriche verwenden"
tooShort: "Zu kurz"
tooLong: "Zu lang"
weakPassword: "Schwaches Passwort"
-normalPassword: "Standardpasswort"
+normalPassword: "Durchschnittliches Passwort"
strongPassword: "Starkes Passwort"
passwordMatched: "Stimmt überein"
passwordNotMatched: "Stimmt nicht überein"
@@ -437,55 +446,57 @@ signinWith: "Mit {x} anmelden"
signinFailed: "Anmeldung fehlgeschlagen. Überprüfe Benutzername und Passswort."
tapSecurityKey: "Tippe deinen Sicherheitsschlüssel an"
or: "Oder"
+language: "Sprache"
uiLanguage: "Sprache der Benutzeroberfläche"
groupInvited: "Du wurdest in eine Gruppe eingeladen"
aboutX: "Über {x}"
useOsNativeEmojis: "Eingebaute Emojis des Betriebssystems benutzen"
+disableDrawer: "Keine ausfahrbaren Menüs verwenden"
youHaveNoGroups: "Keine Gruppen vorhanden"
joinOrCreateGroup: "Lass dich zu einer Gruppe einladen oder erstelle deine eigene."
-noHistory: "Kein Verlauf"
+noHistory: "Kein Verlauf gefunden"
signinHistory: "Anmeldungsverlauf"
disableAnimatedMfm: "MFM, die Animationen enthalten, deaktivieren"
-doing: "In Bearbeitung"
+doing: "In Bearbeitung …"
category: "Kategorie"
tags: "Schlagwörter"
-docSource: "Quelle dieses Dokuments"
+docSource: "Quellcode dieses Dokuments"
createAccount: "Benutzerkonto erstellen"
-existingAcount: "Bestehendes Benutzerkonto"
+existingAccount: "Bestehendes Benutzerkonto"
regenerate: "Regenerieren"
fontSize: "Schriftgröße"
-noFollowRequests: "Du hast keine Follow-Anfragen"
+noFollowRequests: "Keine ausstehenden Follow-Anfragen vorhanden"
openImageInNewTab: "Bilder in neuem Tab öffnen"
dashboard: "Dashboard"
local: "Lokal"
remote: "Fremd"
total: "Gesamt"
-weekOverWeekChanges: "Wöchentlich"
-dayOverDayChanges: "Täglich"
+weekOverWeekChanges: "Veränderung zu letzter Woche"
+dayOverDayChanges: "Veränderung zu Gestern"
appearance: "Aussehen"
clientSettings: "Client-Einstellungen"
accountSettings: "Benutzerkonto-Einstellungen"
-promotion: "Hervorgehoben"
-promote: "Hervorheben"
+promotion: "Werbung"
+promote: "Werbung schalten"
numberOfDays: "Anzahl der Tage"
hideThisNote: "Diese Notiz verstecken"
-showFeaturedNotesInTimeline: "Beliebte Notizen in Chronik anzeigen"
-objectStorage: "Objektspeicher"
-useObjectStorage: "Objektspeicher verwenden"
+showFeaturedNotesInTimeline: "Beliebte Notizen in der Chronik anzeigen"
+objectStorage: "Object Storage"
+useObjectStorage: "Object Storage verwenden"
objectStorageBaseUrl: "Basis-URL"
-objectStorageBaseUrlDesc: "URL-Prefix, der zum Konstruieren der Objekt- bzw. Mediareferenz-URL genutzt wird. Falls du ein CDN- oder einen Proxy nutzt, gib dessen URL ein. Ansonsten gib die Adresse, der dir von deinem Anbieter z.B. in dessen Servicehandbuch gegeben wurde, an. Beispielsweise 'https://.s3.amazonaws.com' für AWS S3 oder 'https://storage.googleapis.com/' für GCS."
+objectStorageBaseUrlDesc: "Die als Referenz verwendete URL. Verwendest du einen CDN oder Proxy, gib dessen URL an. Für S3 verwende 'https://.s3.amazonaws.com'. Für GCS o.ä. verwende 'https://storage.googleapis.com/'."
objectStorageBucket: "Bucket"
-objectStorageBucketDesc: "Bitte gib den Bucket-Namen an, der bei deinem Anbieter verwendet wird."
+objectStorageBucketDesc: "Bitte gib den Namen des Buckets an, der bei deinem Anbieter verwendet wird."
objectStoragePrefix: "Prefix"
-objectStoragePrefixDesc: "Dateien werden im Ordner dieses Prefixes gespeichert."
+objectStoragePrefixDesc: "Dateien werden in Ordnern unter diesem Prefix gespeichert."
objectStorageEndpoint: "Endpoint"
-objectStorageEndpointDesc: "Dieses Feld leerlassen, falls du AWS S3 verwendest. Ansonsten trage den Endpoint im Format \"\" oder \":\" an, den Angaben deines Anbieters entsprechend."
+objectStorageEndpointDesc: "Im Falle von S3 leerlassen, für andere Anbieter den relevanten Endpoint im Format „“ oder „:“ angeben."
objectStorageRegion: "Region"
-objectStorageRegionDesc: "Gib eine Region (wie z.B. \"xx-east-1\") an. Falls dein Anbieter nicht zwischen Regionen unterscheidet, lass dieses Feld leer oder gib \"us-east-1\" an."
+objectStorageRegionDesc: "Gib eine Region wie z.B. „xx-east-1“ an. Falls dein Anbieter nicht zwischen Regionen unterscheidet, lass dieses Feld leer oder gib „us-east-1“ an."
objectStorageUseSSL: "SSL verwenden"
-objectStorageUseSSLDesc: "Deaktiviere dies falls du für die API-Verbindungen kein HTTPS verwenden wirst"
+objectStorageUseSSLDesc: "Deaktiviere dies, falls du für API-Verbindungen kein HTTPS verwenden wirst"
objectStorageUseProxy: "Über Proxy verbinden"
-objectStorageUseProxyDesc: "Deaktiviere dies falls du keinen Proxy für den Objektspeicher verwenden wirst"
+objectStorageUseProxyDesc: "Deaktiviere dies, falls du keinen Proxy für den Objektspeicher verwenden wirst"
objectStorageSetPublicRead: "Bei Upload auf \"public-read\" stellen"
serverLogs: "Serverprotokolle"
deleteAll: "Alle löschen"
@@ -494,40 +505,41 @@ newNoteRecived: "Es gibt neue Notizen"
sounds: "Töne"
listen: "Anhören"
none: "Nichts"
-showInPage: "In Seite anzeigen"
+showInPage: "In einer Seite anzeigen"
popout: "Pop-Up"
volume: "Lautstärke"
masterVolume: "Gesamtlautstärke"
details: "Details"
-chooseEmoji: "Wähle ein Emoji"
-unableToProcess: "Der Vorgang konnte nicht abgeschlossen werden."
+chooseEmoji: "Emoji auswählen"
+unableToProcess: "Der Vorgang konnte nicht abgeschlossen werden"
recentUsed: "Vor kurzem verwendet"
install: "Installieren"
uninstall: "Uninstallieren"
installedApps: "Authorisierte Anwendungen"
nothing: "Hier gibt es nichts zu sehen"
-installedDate: "Authorisiert"
-lastUsedDate: "Zuletzt verwendet"
+installedDate: "Authorisiert am"
+lastUsedDate: "Zuletzt verwendet am"
state: "Status"
sort: "Sortieren"
ascendingOrder: "Aufsteigende Reihenfolge"
descendingOrder: "Absteigende Reihenfolge"
scratchpad: "Testumgebung"
-scratchpadDescription: "Die Testumgebung bietet eine experimentale Umgebung für AiScript. Dort kannst du AiScript schreiben, ausführen sowie dessen Auswirkungen auf Misskey überprüfen."
+scratchpadDescription: "Die Testumgebung bietet einen Bereich für AiScript-Experimente. Dort kannst du AiScript schreiben, ausführen sowie dessen Auswirkungen auf Misskey überprüfen."
output: "Ausgabe"
script: "Skript"
disablePagesScript: "AiScript auf Seiten deaktivieren"
-updateRemoteUser: "Informationen über den Benutzer der fremder Instanz aktualisieren"
+updateRemoteUser: "Benutzerinformationen aktualisieren"
deleteAllFiles: "Alle Dateien löschen"
deleteAllFilesConfirm: "Möchtest du wirklich alle Dateien löschen?"
removeAllFollowing: "Allen gefolgten Benutzern entfolgen"
-removeAllFollowingDescription: "Allen Benutzerkonten von {host} entfolgen. Bitte führe dies durch, falls diese Instanz nicht mehr existiert."
+removeAllFollowingDescription: "Dies entfolgt allen Benutzerkonten von {host}. Bitte führe dies durch, falls diese Instanz z.B. nicht mehr existiert."
userSuspended: "Dieser Benutzer wurde gesperrt."
userSilenced: "Dieser Benutzer wurde instanzweit stummgeschaltet."
-sidebar: "Seitenleiste"
+yourAccountSuspendedTitle: "Dieses Benutzerkonto ist gesperrt"
+yourAccountSuspendedDescription: "Dieses Benutzerkonto wurde gesperrt, da es gegen die Nutzungsbedingungen dieses Servers verstoßen hat. Trete mit dem Betreiber in Kontakt, falls du weitere Details erfahren möchtest. Bitte erstelle kein neues Benutzerkonto."
+menu: "Menü"
divider: "Trenner"
addItem: "Element hinzufügen"
-rooms: "Raum"
relays: "Relays"
addRelay: "Relay hinzufügen"
inboxUrl: "inbox-URL"
@@ -535,24 +547,26 @@ addedRelays: "Hinzugefügte Relays"
serviceworkerInfo: "Muss für Push-Benachrichtigungen aktiviert sein."
deletedNote: "Gelöschte Notiz"
invisibleNote: "Private Notiz"
-enableInfiniteScroll: "Automatisch mehr Notizen laden"
+enableInfiniteScroll: "Automatisch mehr laden"
visibility: "Sichtbarkeit"
poll: "Umfrage"
-useCw: "Inhalt verdecken"
+useCw: "Inhaltswarnung verwenden"
enablePlayer: "Video-Player öffnen"
disablePlayer: "Video-Player schließen"
expandTweet: "Tweet ausklappen"
-themeEditor: "Farbthemen-Editor"
+themeEditor: "Farbschema-Editor"
description: "Beschreibung"
+describeFile: "Beschreibung hinzufügen"
+enterFileDescription: "Beschreibung eingeben"
author: "Autor"
leaveConfirm: "Es gibt unspeicherte Änderungen. Möchtest du diese verwerfen?"
manage: "Verwaltung"
plugins: "Plugins"
-pluginInstallWarn: "Installiere nur vertrauenswürdige Plugins."
+preferencesBackups: "Einstellungsbackups"
deck: "Deck"
undeck: "Deck verlassen"
useBlurEffectForModal: "Weichzeichnungseffekt für Modals verwenden"
-useFullReactionPicker: "Vollständige Reaktionsauswahl nutzen"
+useFullReactionPicker: "Vollständige Reaktionsauswahl verwenden"
width: "Breite"
height: "Höhe"
large: "Groß"
@@ -562,14 +576,14 @@ generateAccessToken: "Zugriffstoken generieren"
permission: "Berechtigungen"
enableAll: "Alle aktivieren"
disableAll: "Alle deaktivieren"
-tokenRequested: "Benutzerkontozugriff gewähren"
+tokenRequested: "Zugriff zum Benutzerkonto gewähren"
pluginTokenRequestedDescription: "Dieses Plugin wird die hier konfigurierten Berechtigungen verwenden können."
-notificationType: "Benachrichtigungsart"
+notificationType: "Art der Benachrichtigung"
edit: "Bearbeiten"
useStarForReactionFallback: "Verwende ★ falls das Reaktions-Emoji unbekannt ist"
-emailConfig: "Email-Server Konfiguration"
+emailServer: "Email-Server"
enableEmail: "Email-Versand aktivieren"
-emailConfigInfo: "Zur Email-Bestätigung bei Registrierung und zum Zurücksetzen des Passworts verwendet"
+emailConfigInfo: "Zur Email-Bestätigung bei Registrierung oder zum Zurücksetzen des Passworts verwendet"
email: "Email"
emailAddress: "Email-Adresse"
smtpConfig: "SMTP-Server Konfiguration"
@@ -577,14 +591,17 @@ smtpHost: "Host"
smtpPort: "Port"
smtpUser: "Benutzername"
smtpPass: "Passwort"
-emptyToDisableSmtpAuth: "Benutzername und Passwort leer lassen um SMTP-Verifizierung zu deaktivieren"
+emptyToDisableSmtpAuth: "Benutzername und Passwort leer lassen, um SMTP-Verifizierung zu deaktivieren"
smtpSecure: "Für SMTP-Verbindungen implizit SSL/TLS verwenden"
-smtpSecureInfo: "Schalte dies aus, falls du STARTTLS verwendest"
-testEmail: "Email-Versand testen"
-wordMute: "Wort-Stummschaltung"
-userSaysSomething: "{name} hat etwas gesagt."
+smtpSecureInfo: "Schalte dies aus, falls du STARTTLS verwendest."
+testEmail: "Emailversand testen"
+wordMute: "Wortstummschaltung"
+regexpError: "Fehler in einem regulären Ausdruck"
+regexpErrorDescription: "Im regulären Ausdruck deiner {tab}en Wortstummschaltungen ist ein Fehler aufgetreten:"
+instanceMute: "Instanzstummschaltungen"
+userSaysSomething: "{name} hat etwas gesagt"
makeActive: "Aktivieren"
-display: "Anzeige"
+display: "Anzeigeart"
copy: "Kopieren"
metrics: "Metriken"
overview: "Übersicht"
@@ -594,22 +611,26 @@ database: "Datenbank"
channel: "Kanäle"
create: "Erstellen"
notificationSetting: "Benachrichtigungseinstellungen"
-notificationSettingDesc: "Wähle die Art der anzuzeigenden Benachrichtigung"
+notificationSettingDesc: "Wähle die Art der anzuzeigenden Benachrichtigungen."
useGlobalSetting: "Globale Einstellung verwenden"
-useGlobalSettingDesc: "Wenn dies eingeschaltet ist, werden die Benachrichtigungseinstellungen deines Benutzerkontos verwendet. Wenn dies ausgeschaltet ist, können individuelle Einstellungen vorgenommen werden."
-other: "Andere"
-regenerateLoginToken: "Login-Token regenerieren"
-regenerateLoginTokenDescription: "Den bei Logins intern verwendeten Token regenerieren. Normalerweise wird dies nicht benötigt. Bei Regeneration werden alle Geräte ausgeloggt."
+useGlobalSettingDesc: "Ist diese Option aktiviert, werden die Benachrichtigungseinstellungen deines Benutzerkontos verwendet. Durch ausschalten dieser Option können individuelle Einstellungen vorgenommen werden."
+other: "Anderes"
+regenerateLoginToken: "Anmeldetoken regenerieren"
+regenerateLoginTokenDescription: "Den zur Anmeldung intern verwendeten Token regenerieren. Normalerweise wird dies nicht benötigt. Bei Regeneration werden alle Geräte ausgeloggt."
setMultipleBySeparatingWithSpace: "Trenne Elemente durch ein Leerzeichen um mehrere Einstellungen zu kofigurieren."
fileIdOrUrl: "Datei-ID oder URL"
-chatOpenBehavior: "Verhalten des Chatfensters bei Öffnung"
behavior: "Verhalten"
sample: "Beispiel"
-abuseReports: "Melden"
+abuseReports: "Meldungen"
reportAbuse: "Melden"
reportAbuseOf: "{name} melden"
-fillAbuseReportDescription: "Bitte gib Details für diese Meldung an. Falls es sich um eine spezielle Notiz handelt, bitte gib dessen URL an."
-abuseReported: "Die Meldung wurde versendet. Vielen Dank."
+fillAbuseReportDescription: "Bitte gib zusätzliche Informationen zu dieser Meldung an. Falls es sich um eine spezielle Notiz handelt, bitte gib dessen URL an."
+abuseReported: "Deine Meldung wurde versendet. Vielen Dank."
+reporter: "Melder"
+reporteeOrigin: "Herkunft des Gemeldeten"
+reporterOrigin: "Herkunft des Meldenden"
+forwardReport: "Meldung an fremde Instanz weiterleiten"
+forwardReportIsAnonymous: "Anstatt deines Benutzerkontos wird bei der fremden Instanz ein anonymes Systemkonto als Melder angezeigt."
send: "Senden"
abuseMarkAsResolved: "Meldung als gelöst markieren"
openInNewTab: "In neuem Tab öffnen"
@@ -617,81 +638,329 @@ openInSideView: "In Seitenansicht öffnen"
defaultNavigationBehaviour: "Standardnavigationsverhalten"
editTheseSettingsMayBreakAccount: "Bei Bearbeitung dieser Einstellungen besteht die Gefahr, dein Benutzerkonto zu beschädigen."
instanceTicker: "Instanz-Informationen von Notizen"
-waitingFor: "Warte auf {x}"
+waitingFor: "Warte auf {x} …"
random: "Zufällig"
system: "System"
switchUi: "UI wechseln"
desktop: "Desktop"
-clip: "Clip"
+clip: "Clip erstellen"
createNew: "Neu erstellen"
optional: "Optional"
createNewClip: "Neuen Clip erstellen"
+unclip: "Aus Clip entfernen"
+confirmToUnclipAlreadyClippedNote: "Diese Notiz ist bereits im \"{name}\" Clip enthalten. Möchtest du sie aus diesem Clip entfernen?"
public: "Öffentlich"
i18nInfo: "Misskey wird durch freiwillige Helfer in viele verschiedene Sprachen übersetzt. Auf {link} kannst du mithelfen."
-manageAccessTokens: "Zugriffstoken verwalten"
+manageAccessTokens: "Zugriffstokens verwalten"
accountInfo: "Benutzerkonto-Informationen"
-notesCount: "Anzahl von Notizen"
+notesCount: "Anzahl der Notizen"
repliesCount: "Anzahl gesendeter Antworten"
-renotesCount: "Anzahl gesendeter Renotes"
+renotesCount: "Anzahl getätigter Renotes"
repliedCount: "Anzahl erhaltener Antworten"
renotedCount: "Anzahl erhaltener Renotes"
followingCount: "Anzahl gefolgter Benutzer"
followersCount: "Anzahl an Followern"
sentReactionsCount: "Anzahl gesendeter Reaktionen"
receivedReactionsCount: "Anzahl erhaltener Reaktionen"
-pollVotesCount: "Anzahl beantworteter Umfragen"
-pollVotedCount: "Anzahl erhaltener Umfrageantworten"
+pollVotesCount: "Anzahl gesendeter Antworten auf Umfragen"
+pollVotedCount: "Anzahl erhaltener Antworten auf Umfragen"
yes: "Ja"
no: "Nein"
-driveFilesCount: "Anzahl von Drive-Dateien"
+driveFilesCount: "Anzahl der Dateien in Drive"
driveUsage: "Drive-Auslastung"
noCrawle: "Crawler-Indexierung ablehnen"
-noCrawleDescription: "Suchmaschinen bitten, die eigene Profilseite, Notizen, Seiten usw. nicht zu indexieren"
-lockedAccountInfo: "Auch wenn du Follow-Anfragen auf manuelle Bestätigung setzt, wird jeder deine Notizen öffentlich sehen können, sofern du die Notizsichtbarkeit nicht auf \"Nur Follower\" setzt."
-alwaysMarkSensitive: "Immer als NSFW markieren"
-loadRawImages: "Anstatt Vorschaubild immer volles Bild laden"
+noCrawleDescription: "Suchmaschinen bitten, die eigene Profilseite, Notizen, Seiten usw. nicht zu indexieren."
+lockedAccountInfo: "Auch wenn du Follow-Anfragen auf manuelle Bestätigung setzt, wird jede deiner Notizen öffentlich sichtbar sein, sofern du ihre Notizsichtbarkeit nicht auf \"Nur Follower\" setzt."
+alwaysMarkSensitive: "Medien standardmäßig als NSFW markieren"
+loadRawImages: "Anstatt Vorschaubilder immer Originalbilder anzeigen"
disableShowingAnimatedImages: "Animierte Bilder nicht abspielen"
-verificationEmailSent: "Eine Verifizierungsnachricht wurde versendet. Besuche den dort enthaltenen Link, um die Verifizierung abzuschließen."
+verificationEmailSent: "Eine Bestätigungsmail wurde an deine Email-Adresse versendet. Besuche den dort enthaltenen Link, um die Verifizierung abzuschließen."
notSet: "Nicht konfiguriert"
emailVerified: "Email-Adresse bestätigt"
-noteFavoritesCount: "Anzahl favorisierter Notizen"
-pageLikesCount: "Anzahl der Seiten, die mir gefallen"
+noteFavoritesCount: "Anzahl an als Favorit markierter Notizen"
+pageLikesCount: "Anzahl an als \"Gefällt mir\" markierter Seiten"
pageLikedCount: "Anzahl erhaltener \"Gefällt mir\" auf Seiten"
-reversiCount: "Anzahl von Reversi-Runden"
contact: "Kontakt"
useSystemFont: "Standardschriftart des Systems verwenden"
clips: "Clips"
experimentalFeatures: "Experimentelle Funktionalitäten"
developer: "Entwickler"
-makeExplorable: "Benutzerkonto in \"Erkunden\" sichtbar machen"
-makeExplorableDescription: "Wenn diese Option deaktiviert ist, ist dein Benutzerkonto nicht im \"Erkunden\"-Bereich sichtbar."
+makeExplorable: "Benutzerkonto in „Erkunden“ sichtbar machen"
+makeExplorableDescription: "Wenn diese Option deaktiviert ist, ist dein Benutzerkonto nicht im „Erkunden“-Bereich sichtbar."
showGapBetweenNotesInTimeline: "Abstände zwischen Notizen auf der Chronik anzeigen"
duplicate: "Duplizieren"
left: "Links"
-center: "Mitte"
+center: "Mittig"
wide: "Breit"
narrow: "Schmal"
reloadToApplySetting: "Diese Einstellung tritt nach einer Aktualisierung der Seite in Kraft. Jetzt aktualisieren?"
+needReloadToApply: "Diese Einstellung tritt nach einer Aktualisierung der Seite in Kraft."
showTitlebar: "Titelleiste anzeigen"
clearCache: "Cache leeren"
onlineUsersCount: "{n} Benutzer sind online"
nUsers: "{n} Benutzer"
nNotes: "{n} Notizen"
sendErrorReports: "Fehlerberichte senden"
-sendErrorReportsDescription: "Ist diese Option aktiviert, so werden beim Auftreten von Fehlern detaillierte Fehlerinformationen an Misskey weitergegeben, was zur Verbesserung der Qualität von Misskey beiträgt."
-myTheme: "Mein Farbthema"
-backgroundColor: "Hintergrund"
+sendErrorReportsDescription: "Ist diese Option aktiviert, so werden beim Auftreten von Fehlern detaillierte Fehlerinformationen an Misskey weitergegeben, was zur Verbesserung der Qualität von Misskey beiträgt.\nEnthalten in diesen Informationen sind u.a. die Version deines Betriebssystems, welchen Browser du verwendest und ein Verlauf deiner Aktivitäten innerhalb Misskey."
+myTheme: "Mein Farbschema"
+backgroundColor: "Hintergrundfarbe"
accentColor: "Akzentfarbe"
-textColor: "Text"
-saveAs: "Speichern als…"
+textColor: "Textfarbe"
+saveAs: "Speichern als …"
advanced: "Fortgeschritten"
value: "Wert"
+createdAt: "Erstellt am"
updatedAt: "Zuletzt geändert am"
saveConfirm: "Änderungen speichern?"
deleteConfirm: "Wirklich löschen?"
-invalidValue: "Ungültiger Wert."
+invalidValue: "Dieser Wert ist ungültig."
registry: "Registry"
closeAccount: "Benutzerkonto schließen"
+currentVersion: "Momentane Version"
+latestVersion: "Neuste Version"
+youAreRunningUpToDateClient: "Du verwendest die neuste Version deines Clients."
+newVersionOfClientAvailable: "Eine neuere Version deines Clients ist verfügbar."
+usageAmount: "Verwendung"
+capacity: "Kapazität"
+inUse: "Verwendet"
+editCode: "Code bearbeiten"
+apply: "Anwenden"
+receiveAnnouncementFromInstance: "Benachrichtigungen von dieser Instanz empfangen"
+emailNotification: "Email-Benachrichtigungen"
+publish: "Veröffentlichen"
+inChannelSearch: "In Kanal suchen"
+useReactionPickerForContextMenu: "Reaktionsauswahl durch Rechtsklick öffnen"
+typingUsers: "{users} ist/sind am schreiben …"
+jumpToSpecifiedDate: "Zu bestimmtem Datum springen"
+showingPastTimeline: "Es wird eine alte Chronik angezeigt"
+clear: "Zurückkehren"
+markAllAsRead: "Alle als gelesen markieren"
+goBack: "Zurück"
+unlikeConfirm: "\"Gefällt mir\" wirklich entfernen?"
+fullView: "Vollansicht"
+quitFullView: "Vollansicht verlassen"
+addDescription: "Beschreibung hinzufügen"
+userPagePinTip: "Um Notizen hier erscheinen zu lassen, drücke \"An dein Profil anheften\" im Menü individueller Notizen."
+notSpecifiedMentionWarning: "Diese Notiz enthält Erwähnungen von Nutzern, die nicht als Empfänger ausgewählt sind"
+info: "Über"
+userInfo: "Benutzerinformation"
+unknown: "Unbekannt"
+onlineStatus: "Onlinestatus"
+hideOnlineStatus: "Onlinestatus verbergen"
+hideOnlineStatusDescription: "Das Verbergen deines Onlinestatuses reduziert die Nützlichkeit von Funktionen wie der Suche."
+online: "Online"
+active: "Aktiv"
+offline: "Offline"
+notRecommended: "Nicht empfohlen"
+botProtection: "Schutz vor Bots"
+instanceBlocking: "Blockierte Instanzen"
+selectAccount: "Benutzerkonto auswählen"
+switchAccount: "Konto wechseln"
+enabled: "Aktiviert"
+disabled: "Deaktiviert"
+quickAction: "Schnellaktionen"
+user: "Benutzer"
+administration: "Verwaltung"
+accounts: "Benutzerkonten"
+switch: "Wechseln"
+noMaintainerInformationWarning: "Betreiberinformationen sind nicht konfiguriert."
+noBotProtectionWarning: "Schutz vor Bots ist nicht konfiguriert."
+configure: "Konfigurieren"
+postToGallery: "Neuen Galeriebeitrag erstellen"
+gallery: "Galerie"
+recentPosts: "Neue Beiträge"
+popularPosts: "Beliebte Beiträge"
+shareWithNote: "Mit Notiz teilen"
+ads: "Werbung"
+expiration: "Frist"
+memo: "Merkzettel"
+priority: "Priorität"
+high: "Hoch"
+middle: "Mittel"
+low: "Niedrig"
+emailNotConfiguredWarning: "Keine Email-Adresse hinterlegt."
+ratio: "Verhältnis"
+previewNoteText: "Vorschau anzeigen"
+customCss: "Benutzerdefiniertes CSS"
+customCssWarn: "Verwende diese Einstellung nur, wenn du weißt, was sie tut. Ungültige Eingaben können dazu führen, dass der Client nicht mehr normal funktioniert."
+global: "Global"
+squareAvatars: "Profilbilder quadratisch anzeigen"
+sent: "Gesendet"
+received: "Erhalten"
+searchResult: "Suchergebnisse"
+hashtags: "Hashtags"
+troubleshooting: "Problembehandlung"
+useBlurEffect: "Weichzeichnungseffekt in der Benutzeroberfläche verwenden"
+learnMore: "Mehr erfahren"
+misskeyUpdated: "Misskey wurde aktualisiert!"
+whatIsNew: "Änderungen anzeigen"
+translate: "Übersetzen"
+translatedFrom: "Aus {x} übersetzt"
+accountDeletionInProgress: "Die Löschung deines Benutzerkontos ist momentan in Bearbeitung."
+usernameInfo: "Ein Name, durch den dein Benutzerkonto auf diesem Server identifiziert werden kann. Du kannst das Alphabet (a~z, A~Z), Ziffern (0~9) oder Unterstriche (_) verwenden. Benutzernamen können später nicht geändert werden."
+aiChanMode: "Ai-Modus"
+keepCw: "Inhaltswarnungen beibehalten"
+pubSub: "Pub/Sub Benutzerkonten"
+lastCommunication: "Letzte Kommunikation"
+resolved: "Gelöst"
+unresolved: "Ungelöst"
+breakFollow: "Follower entfernen"
+itsOn: "Eingeschaltet"
+itsOff: "Ausgeschaltet"
+emailRequiredForSignup: "Angabe einer Email-Adresse als benötigt markieren"
+unread: "Ungelesen"
+filter: "Filter"
+controlPanel: "Systemsteuerung"
+manageAccounts: "Benutzerkonten verwalten"
+makeReactionsPublic: "Reaktionsverlauf veröffentlichen"
+makeReactionsPublicDescription: "Jeder wird die Liste deiner gesendeten Reaktionen einsehen können."
+classic: "Classic"
+muteThread: "Thread stummschalten"
+unmuteThread: "Threadstummschaltung aufheben"
+ffVisibility: "Sichtbarkeit von Gefolgten/Followern"
+ffVisibilityDescription: "Konfiguriere wer sehen kann, wem du folgst sowie wer dir folgt."
+continueThread: "Weiteren Threadverlauf anzeigen"
+deleteAccountConfirm: "Dein Benutzerkonto wird unwiderruflich gelöscht. Trotzdem fortfahren?"
+incorrectPassword: "Falsches Passwort."
+voteConfirm: "Wirklich für „{choice}“ abstimmen?"
+hide: "Inhalt verbergen"
+leaveGroup: "Gruppe verlassen"
+leaveGroupConfirm: "Möchtest du „{name}“ wirklich verlassen?"
+useDrawerReactionPickerForMobile: "Auf mobilen Geräten ausfahrbare Reaktionsauswahl anzeigen"
+welcomeBackWithName: "Willkommen zurück, {name}"
+clickToFinishEmailVerification: "Drücke bitte auf [{ok}], um die Email-Bestätigung abzuschließen."
+overridedDeviceKind: "Gerätetyp"
+smartphone: "Smartphone"
+tablet: "Tablet"
+auto: "Automatisch"
+themeColor: "Farbe der Instanz-Information"
+size: "Größe"
+numberOfColumn: "Spaltenanzahl"
+searchByGoogle: "Suchen"
+instanceDefaultLightTheme: "Instanzweites Standardfarbschema (Hell)"
+instanceDefaultDarkTheme: "Instanzweites Standardfarbschema (Dunkel)"
+instanceDefaultThemeDescription: "Gib den Farbschemencode im Objektformat ein."
+mutePeriod: "Stummschaltungsdauer"
+indefinitely: "Dauerhaft"
+tenMinutes: "10 Minuten"
+oneHour: "Eine Stunde"
+oneDay: "Einen Tag"
+oneWeek: "Eine Woche"
+reflectMayTakeTime: "Es kann etwas dauern, bis sich dies widerspiegelt."
+failedToFetchAccountInformation: "Benutzerkontoinformationen konnten nicht abgefragt werden"
+rateLimitExceeded: "Versuchsanzahl überschritten"
+cropImage: "Bild zuschneiden"
+cropImageAsk: "Möchtest du das Bild zuschneiden?"
+file: "Datei"
+recentNHours: "Letzten {n} Stunden"
+recentNDays: "Letzten {n} Tage"
+noEmailServerWarning: "Es ist kein Email-Server konfiguriert."
+thereIsUnresolvedAbuseReportWarning: "Es liegen ungelöste Meldungen vor."
+recommended: "Empfehlung"
+check: "Check"
+driveCapOverrideLabel: "Die Drive-Kapazität dieses Nutzers verändern"
+driveCapOverrideCaption: "Gib einen Wert von 0 oder weniger ein, um die Kapazität auf den Standard zurückzusetzen."
+requireAdminForView: "Melde dich mit einem Administratorkonto an, um dies einzusehen."
+isSystemAccount: "Ein Benutzerkonto, dass durch das System erstellt und automatisch kontrolliert wird."
+typeToConfirm: "Bitte gib zur Bestätigung {x} ein"
+deleteAccount: "Benutzerkonto löschen"
+document: "Dokumentation"
+numberOfPageCache: "Seitencachegröße"
+numberOfPageCacheDescription: "Das Erhöhen dieses Caches führt zu einer angenehmerern Benutzererfahrung, erhöht aber Serverlast und Arbeitsspeicherauslastung."
+logoutConfirm: "Wirklich abmelden?"
+lastActiveDate: "Zuletzt verwendet am"
+statusbar: "Statusleiste"
+pleaseSelect: "Wähle eine Option"
+reverse: "Umkehren"
+colored: "Farbig"
+refreshInterval: "Aktualisierungsrate"
+label: "Beschriftung"
+type: "Art"
+speed: "Geschwindigkeit"
+slow: "Langsam"
+fast: "Schnell"
+sensitiveMediaDetection: "Erkennung von NSFW-Medien"
+localOnly: "Nur Lokal"
+remoteOnly: "Nur für fremde Instanzen"
+failedToUpload: "Hochladen fehlgeschlagen"
+cannotUploadBecauseInappropriate: "Diese Datei kann nicht hochgeladen werden, da Anteile der Datei als möglicherweise NSFW festgestellt wurden."
+cannotUploadBecauseNoFreeSpace: "Die Datei konnte nicht hochgeladen werden, da dein Drive-Speicherplatz aufgebraucht ist."
+beta: "Beta"
+enableAutoSensitive: "NSFW-Automarkierung"
+enableAutoSensitiveDescription: "Setzt soweit möglich durch Verwendung von Machine Learning automatisch NSFW-Markierungen für Medien, die NSFW-Anteile beinhalten. Auch wenn du diese Option deaktiviert hast, ist sie möglicherweise auf Instanzebene aktiviert."
+activeEmailValidationDescription: "Aktivert strengere Überprüfung von E-Mail-Adressen, d.h. Testen auf Wegwerfadressen und darauf, ob mit der Adresse tatsächlich kommuniziert werden kann. Ist dies deaktiviert, so wird nur das Format der E-Mail überprüft."
+navbar: "Navigationsleiste"
+shuffle: "Mischen"
+account: "Benutzerkonto"
+move: "Verschieben"
+_sensitiveMediaDetection:
+ description: "Ermöglicht eine Erleichterung der Servermoderation durch die automatische Erkennungen von NSFW-Medien unter Verwendung von Machine Learning. Hierdurch wird die Serverlast etwas erhöht."
+ sensitivity: "Erkennungssensitivität"
+ sensitivityDescription: "Durch das Senken der Sensitivität kann die Anzahl an Fehlerkennungen (sog. false positives) reduziert werden. Durch ein Erhöhen dieser kann die Anzahl an verpassten Erkennungen (sog. false negatives) reduziert werden."
+ setSensitiveFlagAutomatically: "Als NSFW markieren"
+ setSensitiveFlagAutomaticallyDescription: "Die Resultate der internen Erkennung werden beibehalten, auch wenn diese Option deaktiviert ist."
+ analyzeVideos: "Videoanalyse aktivieren"
+ analyzeVideosDescription: "Analysiert zusätzlich zu Bildern auch Videos. Die Last des Servers wird hierdurch etwas erhöht."
+_emailUnavailable:
+ used: "Diese Email-Adresse wird bereits verwendet"
+ format: "Das Format dieser Email-Adresse ist ungültig"
+ disposable: "Wegwerf-Email-Adressen können nicht verwendet werden"
+ mx: "Dieser Email-Server ist ungültig"
+ smtp: "Dieser Email-Server antwortet nicht"
+_ffVisibility:
+ public: "Öffentlich"
+ followers: "Nur für Follower sichtbar"
+ private: "Privat"
+_signup:
+ almostThere: "Fast geschafft"
+ emailAddressInfo: "Bitte gib deine Email-Adresse ein. Sie wird nicht öffentlich einsehbar sein."
+ emailSent: "An deine Email-Adresse ({email}) wurde soeben eine Bestätigungsmail geschickt. Bitte klicke auf den enthaltenen Link, um die Erstellung deines Benutzerkontos abzuschließen."
+_accountDelete:
+ accountDelete: "Benutzerkonto löschen"
+ mayTakeTime: "Da die Löschung eines Benutzerkontos ein aufwendiger Prozess ist, kann dessen Dauer davon abhängen, wie viel Inhalt von diesem erstellt wurde oder wie viele Dateien von diesem hochgeladen wurden."
+ sendEmail: "Sobald die Löschung abgeschlossen ist, wird an die mit ihm verknüpfte Email-Adresse eine Benachrichtigung versendet."
+ requestAccountDelete: "Löschung deines Benutzerkontos anfordern"
+ started: "Die Löschung wurde eingeleitet."
+ inProgress: "Löschung in Bearbeitung"
+_ad:
+ back: "Zurück"
+ reduceFrequencyOfThisAd: "Diese Werbung weniger anzeigen"
+_forgotPassword:
+ enterEmail: "Gib die Email-Adresse ein, mit der du dich registriert hast. An diese wird ein Link gesendet, mit dem du dein Passwort zurücksetzen kannst."
+ ifNoEmail: "Solltest du bei der Registrierung keine Email-Adresse angegeben haben, wende dich bitte an den Administrator."
+ contactAdmin: "Diese Instanz unterstützt die Verwendung von Email-Adressen nicht. Wende dich an den Administrator, um dein Passwort zurückzusetzen."
+_gallery:
+ my: "Meine Galerie"
+ liked: "Mit \"Gefällt mir\" markierte Beiträge"
+ like: "Gefällt mir"
+ unlike: "\"Gefällt mir\" entfernen"
+_email:
+ _follow:
+ title: "Du hast einen neuen Follower"
+ _receiveFollowRequest:
+ title: "Du hast eine Follow-Anfrage erhalten"
+_plugin:
+ install: "Plugins installieren"
+ installWarn: "Installiere bitte nur vertrauenswürdige Plugins."
+ manage: "Plugins verwalten"
+_preferencesBackups:
+ list: "Erstellte Backups"
+ saveNew: "Neu erstellen"
+ loadFile: "Von Datei laden"
+ apply: "Auf dieses Gerät anwenden"
+ save: "Speichern"
+ inputName: "Gib einen Namen für dieses Backup ein"
+ cannotSave: "Speichern fehlgeschlagen"
+ nameAlreadyExists: "Es existiert bereits ein Backup unter dem Namen \"{name}\". Bitte gib einen anderen Namen ein."
+ applyConfirm: "Wirklich das Backup \"{name}\" auf dieses Gerät anwenden? Bestehende Einstellungen darauf werden überschrieben."
+ saveConfirm: "Als {name} speichern?"
+ deleteConfirm: "Das Backup {name} löschen?"
+ renameConfirm: "Soll dieses Backup von \"{old}\" zu \"{new}\" umbenannt werden?"
+ noBackups: "Keine Backups existieren. Backups können über \"Neu erstellen\" erstelllt werden."
+ createdAt: "Erstellt am: {date} {time}"
+ updatedAt: "Aktualisiert am: {date} {time}"
+ cannotLoad: "Laden fehlgeschlagen"
+ invalidFile: "Ungültiges Dateiformat."
_registry:
scope: "Scope"
key: "Schlüssel"
@@ -699,7 +968,7 @@ _registry:
domain: "Domain"
createKey: "Schlüssel erstellen"
_aboutMisskey:
- about: "Misskey ist Open-Source-Software die von syuilo seit 2014 entwickelt wird."
+ about: "Misskey ist Open-Source-Software, welche von syuilo seit 2014 entwickelt wird."
contributors: "Hauptmitwirkende"
allContributors: "Alle Mitwirkenden"
source: "Quellcode"
@@ -708,100 +977,75 @@ _aboutMisskey:
morePatrons: "Wir schätzen ebenso die Unterstützung vieler anderer hier nicht gelisteter Personen sehr. Danke! 🥰"
patrons: "UnterstützerInnen"
_nsfw:
- respect: "Als NSFW markierte Bilder verdecken"
- ignore: "Als NSFW markierte Bilder nicht verdecken"
- force: "Alle Medien verdecken"
+ respect: "Als NSFW markierte Bilder verbergen"
+ ignore: "Als NSFW markierte Bilder nicht verbergen"
+ force: "Alle Medien verbergen"
_mfm:
cheatSheet: "MFM Spickzettel"
- intro: "MFM ist eine an vielen Stellen verwendbare und Misskey-exklusive Markup-Sprache. Hier kannst du eine Liste von verfügbarer MFM-Syntax anschauen."
+ intro: "MFM ist eine Misskey-exklusive Markup-Sprache, die in Misskey an vielen Stellen verwendet werden kann. Hier kannst du eine Liste von verfügbarer MFM-Syntax einsehen."
dummy: "Misskey erweitert die Welt des Fediverse"
mention: "Erwähnung"
- mentionDescription: "Mit At-Zeichen und Nutzername kann ein individueller Nutzer angegeben werden."
+ mentionDescription: "Mit At-Zeichen und Benutzername kann ein individueller Nutzer angegeben werden."
hashtag: "Hashtag"
hashtagDescription: "Mit einer Raute und Text kann ein Hashtag angegeben werden."
url: "URL"
urlDescription: "Zeigt URLs an."
link: "Link"
- linkDescription: "Ein spezifizierter Textabschnitt kann als URL angezeigt werden."
+ linkDescription: "Zeigt spezifische Textabschnitte als URL an."
bold: "Fett"
boldDescription: "Zeichen zur Betonung dicker erscheinen lassen."
small: "Klein"
smallDescription: "Inhalt klein und dünn erscheinen lassen."
center: "Zentrieren"
- centerDescription: "Inhalt zentriert anzeigen lassen."
+ centerDescription: "Inhalt zentriert anzeigen."
inlineCode: "Code (Eingebettet)"
- inlineCodeDescription: "Syntax-Hervorhebung für (Programm-)Code eingebettet anzeigen lassen."
+ inlineCodeDescription: "Syntax-Hervorhebung für (Programm-)Code eingebettet anzeigen."
blockCode: "Code (Block)"
- blockCodeDescription: "Syntax-Hervorhebung für mehrzeiligen (Programm-)Code als Block anzeigen lassen."
+ blockCodeDescription: "Syntax-Hervorhebung für mehrzeiligen (Programm-)Code als Block anzeigen."
inlineMath: "Mathe (Eingebettet)"
inlineMathDescription: "Mathematische Formeln (KaTeX) eingebettet anzeigen."
blockMath: "Mathe (Block)"
blockMathDescription: "Mehrzeilige mathematische Formeln (KaTeX) als Block einbetten."
quote: "Zitationen"
- quoteDescription: "Inhalt als Zitat anzeigen lassen."
+ quoteDescription: "Inhalt als Zitat anzeigen."
emoji: "Benutzerdefinierte Emojis"
- emojiDescription: "Emoji-Namen mit Doppelpunkten umschließen, um benutzerdefinierte Emojis anzeigen zu lassen."
+ emojiDescription: "Durch das Umschließen von Emoji-Namen durch Doppelpunkte können benutzerdefinierte Emojis angezeigt werden."
search: "Suche"
- searchDescription: "Eine vorgefertige Suchanfragebox anzeigen lassen."
+ searchDescription: "Eine vorgefertige Suchanfragebox anzeigen."
flip: "Spiegelung"
- flipDescription: "Inhalt horizontal oder vertikal gespiegelt anzeigen lassen."
+ flipDescription: "Inhalt horizontal oder vertikal gespiegelt anzeigen."
jelly: "Animation (Dehnen)"
- jellyDescription: "Verleiht eine sich dehnende Animation."
+ jellyDescription: "Verleiht Inhalt eine sich dehnende Animation."
tada: "Animation (Tada)"
- tadaDescription: "Verleiht eine Animation mit \"Tada!\"-Gefühl"
+ tadaDescription: "Verleiht Inhalt eine Animation mit \"Tada!\"-Gefühl"
jump: "Animation (Sprung)"
- jumpDescription: "Verleiht eine springende Animation."
+ jumpDescription: "Verleiht Inhalt eine springende Animation."
bounce: "Animation (Federn)"
- bounceDescription: "Erzeugt eine federnde Animation."
+ bounceDescription: "Verleiht Inhalt eine federnde Animation."
shake: "Animation (Zittern)"
- shakeDescription: "Verleiht eine zitternde Animation."
+ shakeDescription: "Verleiht Inhalt eine zitternde Animation."
twitch: "Animation (Zucken)"
- twitchDescription: "Verleiht eine sehr stark zuckende Animation."
+ twitchDescription: "Verleiht Inhalt eine sehr stark zuckende Animation."
spin: "Animation (Rotieren)"
- spinDescription: "Verleiht eine rotierende Animation."
+ spinDescription: "Verleiht Inhalt eine rotierende Animation."
x2: "Groß"
- x2Description: "Lässt Inhalte größer angezeigt werden."
+ x2Description: "Inhalte größer anzeigen."
x3: "Sehr groß"
- x3Description: "Lässt Inhalte noch größer angezeigt werden."
- x4: "Am größten"
+ x3Description: "Inhalte noch größer anzeigen."
+ x4: "Unglaublich groß"
x4Description: "Lässt Inhalte noch größer als größer als groß angezeigt werden."
- blur: "Weichzeichner"
- blurDescription: "Inhalte durch Weihzeichnung verschwimmen lassen. Durch das Bewegen des Mauszeigers auf den Inhalt wird er klar angezeigt."
+ blur: "Weichzeichnen"
+ blurDescription: "Inhalte durch Weihzeichnung verschwimmen lassen. Durch das Bewegen des Mauszeigers über den Inhalt wird er klar angezeigt."
font: "Schriftart"
fontDescription: "Setzt die Schriftart des Inhaltes fest."
-_reversi:
- reversi: "Reversi"
- gameSettings: "Spieleinstellungen"
- chooseBoard: "Spielbrett auswählen"
- blackOrWhite: "Schwarz/Weiß"
- blackIs: "{name} spielt Schwarz"
- rules: "Regeln"
- botSettings: "Optionen des Computergegners"
- thisGameIsStartedSoon: "Dieses Spiel beginnt in wenigen Sekunden"
- waitingForOther: "Warte auf den Zug des Gegenspielers"
- waitingForMe: "Warte auf deinen Zug"
- waitingBoth: "Mach dich bereit"
- ready: "Bereit"
- cancelReady: "Nicht bereit"
- opponentTurn: "Zug deines Gegners"
- myTurn: "Dein Zug"
- turnOf: "Zug von {name}"
- pastTurnOf: "Zug von {name}"
- surrender: "Aufgeben"
- surrendered: "durch Aufgabe"
- drawn: "Unentschieden"
- won: "{name} hat gesiegt"
- black: "Schwarz"
- white: "Weiß"
- total: "Gesamt"
- turnCount: " Zug {count}"
- myGames: "Meine Runden"
- allGames: "Alle Runden"
- ended: "Beendet"
- playing: "Laufend"
- isLlotheo: "Der mit weniger Steinen gewinnt (Llotheo)"
- loopedMap: "Wiederholendes Spielbrett"
- canPutEverywhere: "Steine können überall platziert werden"
+ rainbow: "Regenbogen"
+ rainbowDescription: "Lässt den Inhalt in Regenbogenfarben erscheinen."
+ sparkle: "Glitzer"
+ sparkleDescription: "Verleiht Inhalt einen glitzernden Partikeleffekt."
+ rotate: "Drehen"
+ rotateDescription: "Dreht den Inhalt um einen angegebenen Winkel."
+ plain: "Schlicht"
+ plainDescription: "Deaktiviert jegliche MFM-Syntax, die sich innerhalb dieses MFM-Effekts befindet."
_instanceTicker:
none: "Nie anzeigen"
remote: "Für Benutzer fremder Instanzen anzeigen"
@@ -816,35 +1060,42 @@ _channel:
setBanner: "Kanalbanner festlegen"
removeBanner: "Kanalbanner entfernen"
featured: "Trends"
- owned: "Besitzt"
+ owned: "In Besitz"
following: "Gefolgt"
usersCount: "{n} Teilnehmer"
notesCount: "{n} Notizen"
-_sidebar:
- full: "Voll"
- icon: "Symbole"
+_menuDisplay:
+ sideFull: "Seitlich"
+ sideIcon: "Seitlich (Icons)"
+ top: "Oben"
hide: "Ausblenden"
_wordMute:
- muteWords: "Wort stummschalten"
- muteWordsDescription: "Mit Leerzeichen für eine \"UND\"-Verknüpfung trennen, durch Zeilenumbrüche für eine \"ODER\"-Verknüpfung trennen."
+ muteWords: "Stummgeschaltete Wörter"
+ muteWordsDescription: "Zum Nutzen einer \"UND\"-Verknüpfung Einträge mit Leerzeichen trennen, zum Nutzen einer \"ODER\"-Verknüpfung Einträge mit einem Zeilenumbruch trennen."
muteWordsDescription2: "Umgib Schlüsselworter mit Schrägstrichen, um Reguläre Ausdrücke zu verwenden."
- softDescription: "Notizen, die die eingestellten Konditionen erfüllen, in der Chronik ausblenden"
- hardDescription: "Verhindern, dass Notizen, die die eingestellten Konditionen erfüllen, der Chronik hinzugefügt werden. Zudem werden diese Notizen auch nicht der Chronik hinzugefügt, falls die Konditionen geändert werden."
+ softDescription: "Notizen, die die angegebenen Konditionen erfüllen, in der Chronik ausblenden."
+ hardDescription: "Verhindern, dass Notizen, die die angegebenen Konditionen erfüllen, der Chronik hinzugefügt werden. Zudem werden diese Notizen auch nicht der Chronik hinzugefügt, falls die Konditionen geändert werden."
soft: "Leicht"
hard: "Schwer"
mutedNotes: "Stummgeschaltete Notizen"
+_instanceMute:
+ instanceMuteDescription: "Schaltet alle Notizen/Renotes stumm, die von den gelisteten Instanzen stammen, inklusive Antworten von Benutzern an einen Benutzer einer stummgeschalteten Instanz."
+ instanceMuteDescription2: "Instanzen getrennt durch Zeilenumbrüchen angeben"
+ title: "Blendet Notizen von stummgeschalteten Instanzen aus."
+ heading: "Liste der stummzuschaltenden Instanzen"
_theme:
- explore: "Themen erforschen"
- install: "Thema installieren"
- manage: "Themaverwaltung"
- code: "Themen-Code"
+ explore: "Farbschemata erforschen"
+ install: "Farbschemata installieren"
+ manage: "Farbschemaverwaltung"
+ code: "Farbschemencode"
+ description: "Beschreibung"
installed: "{name} wurde installiert"
- installedThemes: "Installierte Themen"
- builtinThemes: "Eingebaute Themen"
- alreadyInstalled: "Dieses Thema ist bereits installiert"
- invalid: "Themenformat ist ungültig"
- make: "Farbthema erstellen"
- base: "Basis"
+ installedThemes: "Installierte Farbschemata"
+ builtinThemes: "Eingebaute Farbschemata"
+ alreadyInstalled: "Dieses Farbschema ist bereits installiert"
+ invalid: "Der Code dieses Farbschemas ist ungültig"
+ make: "Farbschema erstellen"
+ base: "Vorlage"
addConstant: "Konstante hinzufügen"
constant: "Konstante"
defaultValue: "Standardwert"
@@ -860,7 +1111,7 @@ _theme:
darken: "Verdunkeln"
lighten: "Erhellen"
inputConstantName: "Name der Konstanten eingeben"
- importInfo: "Du kannst hier Themen-Code einfügen, um ihn in den Editor zu importieren"
+ importInfo: "Hier kannst du Farbschemencode einfügen, um ihn in den Editor zu importieren"
deleteConstantConfirm: "Die Konstante {const} wirklich löschen?"
keys:
accent: "Akzentfarbe"
@@ -878,10 +1129,10 @@ _theme:
navIndicator: "Indikator der Seitenleiste"
link: "Link"
hashtag: "Hashtag"
- mention: "Erwähnungen"
- mentionMe: "Erwähnungen (Ich)"
+ mention: "Erwähnung"
+ mentionMe: "Erwähnung (Ich)"
renote: "Renote"
- modalBg: "Hintergrund des Modals"
+ modalBg: "Modalhintergrund"
divider: "Trenner"
scrollbarHandle: "Griff des Scrollbalkens"
scrollbarHandleHover: "Griff des Scrollbalkens (Mouseover)"
@@ -889,15 +1140,15 @@ _theme:
infoBg: "Hintergrund von Informationen"
infoFg: "Text von Informationen"
infoWarnBg: "Hintergrund von Warnungen"
- infoWarnFg: "Text von Informationen"
- cwBg: "Hintergrund von verdeckten Inhalten"
- cwFg: "Text von verdeckten Inhalten"
- cwHoverBg: "Hintergrund von verdeckten Inhalten (Mouseover)"
+ infoWarnFg: "Text von Warnungen"
+ cwBg: "Hintergrund des Inhaltswarnungsknopfs"
+ cwFg: "Text des Inhaltswarnungsknopfs"
+ cwHoverBg: "Hintergrund des Inhaltswarnungsknopfs (Mouseover)"
toastBg: "Hintergrund von Benachrichtigungen"
toastFg: "Text von Benachrichtigungen"
buttonBg: "Hintergrund von Schaltflächen"
buttonHoverBg: "Hintergrund von Schaltflächen (Mouseover)"
- inputBorder: "Rahmen des Eingabefelds"
+ inputBorder: "Rahmen von Eingabefeldern"
listItemHoverBg: "Hintergrund von Listeneinträgen (Mouseover)"
driveFolderBg: "Hintergrund von Drive-Ordnern"
wallpaperOverlay: "Hintergrundbild-Overlay"
@@ -911,13 +1162,10 @@ _sfx:
noteMy: "Meine Notizen"
notification: "Benachrichtigungen"
chat: "Chat"
- chatBg: "Nachrichten (Hintergrund)"
+ chatBg: "Chat (Hintergrund)"
antenna: "Antennen"
channel: "Kanalbenachrichtigung"
- reversiPutBlack: "Reversi: Schwarz macht einen Zug"
- reversiPutWhite: "Reversi: Weiß macht einen Zug"
_ago:
- unknown: "Unbekannt"
future: "Zukunft"
justNow: "Gerade eben"
secondsAgo: "vor {n} Sekunde(n)"
@@ -935,35 +1183,36 @@ _time:
_tutorial:
title: "Wie du Misskey verwendest"
step1_1: "Willkommen!"
- step1_2: "Diese Seite ist die \"Chronik\". Sie zeigt dir deine geschrieben \"Notizen\" sowie die aller Benutzer, denen du \"folgst\" in chronologischer Reihenfolge."
+ step1_2: "Diese Seite ist die „Chronik“. Sie zeigt dir deine geschrieben „Notizen“ sowie die aller Benutzer, denen du „folgst“, in chronologischer Reihenfolge."
step1_3: "Deine Chronik sollte momentan leer sein, da du bis jetzt noch keine Notizen geschrieben hast und auch noch keinen Benutzern folgst."
step2_1: "Lass uns zuerst dein Profil vervollständigen, bevor du Notizen schreibst oder jemandem folgst."
- step2_2: "Informationen darüber, wer du bist, macht es anderen leichter zu wissen, ob sie deine Notizen sehen wollen und ob sie dir folgen möchten."
+ step2_2: "Informationen darüber, was für eine Person du bist, macht es anderen leichter zu wissen, ob sie deine Notizen sehen wollen und ob sie dir folgen möchten."
step3_1: "Mit dem Einrichten deines Profils fertig?"
- step3_2: "Der nächste Schritt ist das Schreiben einer Notiz. Dies kannst du tun, indem du auf das Stift-Icon auf dem Bildschirm drückst."
+ step3_2: "Dann lass uns als nächstes versuchen, eine Notiz zu schreiben. Dies kannst du tun, indem du auf den Knopf mit dem Stift-Icon auf dem Bildschirm drückst."
step3_3: "Fülle das Fenster aus und drücke auf den Knopf oben rechts zum Senden."
- step3_4: "Gibt es nichts, das du momentan sagen möchtest? Versuch's mit \"Hallo Misskey!\""
+ step3_4: "Fällt dir nichts ein, das du schreiben möchtest? Versuch's mit \"Hallo Misskey!\""
step4_1: "Fertig mit dem Senden deiner ersten Notiz?"
- step4_2: "Falls deine Notiz nun auf deiner Chronik auftaucht, hast du alles richtig gemacht."
+ step4_2: "Falls deine Notiz nun in deiner Chronik auftaucht, hast du alles richtig gemacht."
step5_1: "Lass uns nun deiner Chronik etwas mehr Leben einhauchen, indem du einigen anderen Benutzern folgst."
step5_2: "{featured} zeigt dir beliebte Notizen dieser Instanz. In {explore} kannst du beliebte Benutzer finden. Schau dort, ob du Benutzer findest, die dich interessieren."
- step5_3: "Um anderen Benutzern zu folgen, klicke auf ihr Profilbild und klicke dann auf den \"Folgen\" Knopf in ihrem Profil."
- step5_4: "Wenn der Benutzer neben seinem Namen ein Schloss hat, dann muss er deine Follow-Anfrage manuell bestätigen."
- step6_1: "Wenn du nun auch die Notizen anderer Benutzer auf deiner Chronik siehst, hast du alles richtig gemacht."
- step6_2: "Du kannst ebenso \"Reaktionen\" verwenden, um schnell auf Notizen anderer Benutzer zu antworten."
- step6_3: "Um eine \"Reaktion\" anzufügen, klicke auf das \"+\"-Symbol in der Notiz eines anderen Benutzers und wähle ein Emoji, mit dem du reagieren möchtest."
- step7_1: "Glückwunsch! Du hast die Misskey-Einführung abgeschlossen."
+ step5_3: "Klicke zum Anzeigen des Profils eines Benutzers auf dessen Profilbild und dann auf den \"Folgen\"-Knopf, um diesem zu folgen."
+ step5_4: "Je nach Benutzer kann es etwas Zeit in Anspruch nehmen, bis dieser deine Follow-Anfrage bestätigt."
+ step6_1: "Wenn du nun auch die Notizen anderer Benutzer in deiner Chronik siehst, hast du auch diesmal alles richtig gemacht."
+ step6_2: "Du kannst ebenso „Reaktionen“ verwenden, um schnell auf Notizen anderer Benutzer zu reagieren."
+ step6_3: "Um eine Reaktion anzufügen, klicke auf das „+“-Symbol in der Notiz und wähle ein Emoji aus, mit dem du reagieren möchtest."
+ step7_1: "Glückwunsch! Du hast die Einführung in die Verwendung von Misskey abgeschlossen."
step7_2: "Wenn du mehr über Misskey lernen möchtest, schau dich im {help}-Bereich um."
step7_3: "Und nun, viel Spaß mit Misskey! 🚀"
_2fa:
- alreadyRegistered: "Du hast bereits ein Gerät für Zwei-Faktor-Authentifizierung registriert"
+ alreadyRegistered: "Du hast bereits ein Gerät für Zwei-Faktor-Authentifizierung registriert."
registerDevice: "Neues Gerät registrieren"
registerKey: "Neuen Sicherheitsschlüssel registrieren"
- step1: "Als Erstes, installiere eine Authentifizierungsapp (z.B. {a} oder {b}) auf deinem Gerät."
+ step1: "Installiere zuerst eine Authentifizierungsapp (z.B. {a} oder {b}) auf deinem Gerät."
step2: "Dann, scanne den angezeigten QR-Code mit deinem Gerät."
- step3: "Um die Einrichtung abzuschließen, gib den Token ein, der von deiner Authentifizierungsapp angezeigt wird."
- step4: "Ab jetzt benötigen alle Loginversuche auch einen Login-Token."
- securityKeyInfo: "Du kannst neben Fingerabdruck- oder PIN-Authentifizierung auf deinem Gerät auch Authentifizierung mit FIDO2-kompatiblen Hardware-Sicherheitsschlüsseln einrichten."
+ step2Url: "Nutzt du ein Desktopprogramm kannst du alternativ diese URL eingeben:"
+ step3: "Gib zum Abschluss den Token ein, der von deiner App angezeigt wird."
+ step4: "Alle folgenden Anmeldungsversuche werden ab sofort die Eingabe eines solchen Tokens benötigen."
+ securityKeyInfo: "Du kannst neben Fingerabdruck- oder PIN-Authentifizierung auf deinem Gerät auch Anmeldung mit Hilfe eines FIDO2-kompatiblen Hardware-Sicherheitsschlüssels einrichten."
_permissions:
"read:account": "Deine Benutzerkontoinformationen lesen"
"write:account": "Deine Benutzerkontoinformationen bearbeiten"
@@ -973,18 +1222,18 @@ _permissions:
"write:drive": "Deine Drive-Dateien und Ordner bearbeiten oder löschen"
"read:favorites": "Deine Favoriten-Liste lesen"
"write:favorites": "Deine Favoriten-Liste bearbeiten"
- "read:following": "Deine Follower-Liste lesen"
+ "read:following": "Die Liste der Benutzer, denen du folgst, lesen"
"write:following": "Anderen Benutzern folgen oder entfolgen"
"read:messaging": "Chats lesen"
- "write:messaging": "Chatnachrichten schicken oder löschen"
+ "write:messaging": "Chats bedienen"
"read:mutes": "Stummschaltungen lesen"
"write:mutes": "Stummschaltungen bearbeiten"
"write:notes": "Notizen schreiben oder löschen"
"read:notifications": "Benachrichtigungen lesen"
- "write:notifications": "Benachrichtigungen bearbeiten"
+ "write:notifications": "Benachrichtigungen bedienen"
"read:reactions": "Reaktionen lesen"
- "write:reactions": "Reaktionen hinzufügen und ändern"
- "write:votes": "In Umfragen abstimmen"
+ "write:reactions": "Reaktionen bedienen"
+ "write:votes": "Umfragen bedienen"
"read:pages": "Deine Seiten lesen"
"write:pages": "Deine Seiten bearbeiten oder löschen"
"read:page-likes": "Liste der Seiten, die mir gefallen, lesen"
@@ -992,20 +1241,24 @@ _permissions:
"read:user-groups": "Benutzergruppen lesen"
"write:user-groups": "Benutzergruppen bearbeiten oder löschen"
"read:channels": "Kanäle lesen"
- "write:channels": "Kanäle bearbeiten"
+ "write:channels": "Kanäle bedienen"
+ "read:gallery": "Beiträge deiner Galerie lesen"
+ "write:gallery": "Deine Galerie bearbeiten"
+ "read:gallery-likes": "Liste deiner mit \"Gefällt mir\" markierten Galerie-Beiträge lesen"
+ "write:gallery-likes": "Liste deiner mit \"Gefällt mir\" markierten Galerie-Beiträge bearbeiten"
_auth:
- shareAccess: "Möchtest du \"{name}\" authorisieren, auf dieses Benuzerkonto zugreifen zu können?"
+ shareAccess: "Möchtest du „{name}“ authorisieren, auf dieses Benutzerkonto zugreifen zu können?"
shareAccessAsk: "Bist du dir sicher, dass du diese Anwendung authorisieren möchtest, auf dein Benutzerkonto zugreifen zu können?"
- permissionAsk: "Diese Anwendung erfordert folgende Berechtigungen:"
- pleaseGoBack: "Bitte gehe zurück zur Anwendung"
- callback: "Rückkehr zur Anwendung"
+ permissionAsk: "Diese Anwendung fordert folgende Berechtigungen"
+ pleaseGoBack: "Bitte kehre zur Anwendung zurück"
+ callback: "Es wird zur Anwendung zurückgekehrt"
denied: "Zugriff verweigert"
_antennaSources:
all: "Alle Notizen"
homeTimeline: "Notizen von Benutzern, denen gefolgt wird"
- users: "Notizen von konkreten Benutzern"
- userList: "Notizen von allen Benutzern aus einer Liste"
- userGroup: "Notizen von allen Benutzern aus einer Gruppe"
+ users: "Notizen von einem oder mehreren angegebenen Benutzern"
+ userList: "Notizen von allen Benutzern einer Liste"
+ userGroup: "Notizen von allen Benutzern einer Gruppe"
_weekday:
sunday: "Sonntag"
monday: "Montag"
@@ -1015,55 +1268,60 @@ _weekday:
friday: "Freitag"
saturday: "Samstag"
_widgets:
- memo: "Memo"
+ memo: "Merkzettel"
notifications: "Benachrichtigungen"
timeline: "Chronik"
calendar: "Kalender"
trends: "Trends"
clock: "Uhr"
rss: "RSS-Reader"
+ rssTicker: "RSS-Ticker"
activity: "Aktivität"
photos: "Fotos"
digitalClock: "Digitaluhr"
+ unixClock: "UNIX-Uhr"
federation: "Föderation"
- postForm: "Neue Notiz anfertigen"
+ instanceCloud: "Instanzwolke"
+ postForm: "Notizfenster"
slideshow: "Diashow"
button: "Knopf"
onlineUsers: "Benutzer Online"
jobQueue: "Job-Warteschlange"
serverMetric: "Servermetriken"
+ aiscript: "AiScript-Konsole"
+ aichan: "Ai"
_cw:
- hide: "Ausblenden"
- show: "Mehr anzeigen"
+ hide: "Inhalt verbergen"
+ show: "Inhalt anzeigen"
chars: "{count} Zeichen"
- files: "{count} Dateien"
+ files: "{count} Datei(en)"
_poll:
- noOnlyOneChoice: "Mindestens zwei Antwortmöglichkeiten werden benötigt."
+ noOnlyOneChoice: "Es müssen mindestens zwei Antwortmöglichkeiten vorhanden sein"
choiceN: "Auswahl {n}"
noMore: "Du kannst keine weiteren Auswahlmöglichkeiten hinzufügen"
- canMultipleVote: "Mehrfachantworten erlauben"
- expiration: "Abstimmung endet am"
+ canMultipleVote: "Auswahl mehrerer Antworten erlauben"
+ expiration: "Abstimmung beenden"
infinite: "Nie"
- at: "Beenden am..."
- after: "Beenden nach..."
- deadlineDate: "Abstimmungsende"
+ at: "Beenden am …"
+ after: "Beenden nach …"
+ deadlineDate: "Enddatum"
deadlineTime: "Zeit"
- duration: "Laufzeit"
+ duration: "Dauer"
votesCount: "{n} Stimmen"
totalVotes: "Insgesamt {n} Stimmen"
vote: "Abstimmen"
showResult: "Ergebnis anzeigen"
voted: "Abgestimmt"
closed: "Beendet"
- remainingDays: "{d} Tage {h} Stunden verbleibend"
- remainingHours: "{h} Stunden {m} Minuten verbleibend"
- remainingMinutes: "{m} Minuten {s} Sekunden verbleibend"
- remainingSeconds: "{s} Sekunden verbleibend"
+ remainingDays: "{d} Tag(e) {h} Stunde(n) verbleibend"
+ remainingHours: "{h} Stunde(n) {m} Minute(n) verbleibend"
+ remainingMinutes: "{m} Minute(n) {s} Sekunde(n) verbleibend"
+ remainingSeconds: "{s} Sekunde(n) verbleibend"
_visibility:
public: "Öffentlich"
- publicDescription: "Deine Notiz wird global sichtbar sein"
+ publicDescription: "Deine Notiz wird global für alle Benutzer sichtbar sein"
home: "Startseite"
- homeDescription: "Deine Notiz wird nur in der Chronik deiner Instanz angezeigt."
+ homeDescription: "Notiz nur in die Startseiten-Chronik schicken"
followers: "Follower"
followersDescription: "Nur für Follower sichtbar"
specified: "Direkt"
@@ -1071,25 +1329,25 @@ _visibility:
localOnly: "Nur Lokal"
localOnlyDescription: "Unsichtbar für Benutzer anderer Instanzen"
_postForm:
- replyPlaceholder: "Dieser Notiz antworten..."
- quotePlaceholder: "Diese Notiz zitieren..."
+ replyPlaceholder: "Dieser Notiz antworten …"
+ quotePlaceholder: "Diese Notiz zitieren …"
channelPlaceholder: "In einen Kanal senden"
_placeholders:
a: "Was machst du momentan?"
b: "Was ist um dich herum los?"
c: "Was geht dir durch den Kopf?"
d: "Was möchtest du sagen?"
- e: "Fang an zu schreiben..."
- f: "Ich warte darauf, dass du schreibst..."
+ e: "Fang an zu schreiben …"
+ f: "Ich warte darauf, dass du schreibst …"
_profile:
name: "Name"
username: "Benutzername"
- description: "Über mich"
- youCanIncludeHashtags: "Du kannst auch Hashtags in deiner Beschreibung verwenden."
+ description: "Profilbeschreibung"
+ youCanIncludeHashtags: "Du kannst auch Hashtags in deiner Profilbeschreibung verwenden."
metadata: "Zusätzliche Informationen"
metadataEdit: "Zusätzliche Informationen bearbeiten"
- metadataDescription: "Du kannst auf deinem Profil vier zusätzliche Informationsblöcke anzeigen lassen."
- metadataLabel: "Name"
+ metadataDescription: "Hierdurch kannst du auf deinem Profil zusätzliche Informationsblöcke anzeigen lassen."
+ metadataLabel: "Beschriftung"
metadataContent: "Inhalt"
changeAvatar: "Profilbild ändern"
changeBanner: "Banner ändern"
@@ -1099,103 +1357,43 @@ _exportOrImport:
muteList: "Stummschaltungen"
blockingList: "Blockierungen"
userLists: "Listen"
+ excludeMutingUsers: "Stummgeschaltete Benutzer aussortieren"
+ excludeInactiveUsers: "Inaktive Benutzer aussortieren"
_charts:
- federationInstancesIncDec: "Unterschied in der Anzahl von förderierenden Instanzen"
- federationInstancesTotal: "Anzahl aller föderierenden Instanzen"
+ federation: "Föderation"
+ apRequest: "Anfragen"
usersIncDec: "Unterschied in der Anzahl von Benutzern"
usersTotal: "Anzahl aller Benutzer"
activeUsers: "Aktive Benutzer"
- notesIncDec: "Unterschied in der Anzahl von Notizen"
- localNotesIncDec: "Unterschied in der Anzahl von lokalen Notizen"
- remoteNotesIncDec: "Unterschied in Anzahl der Notizen von anderen Instanzen"
+ notesIncDec: "Unterschied in der Anzahl an Notizen"
+ localNotesIncDec: "Unterschied in der Anzahl an lokalen Notizen"
+ remoteNotesIncDec: "Unterschied in der Anzahl an Notizen von fremden Instanzen"
notesTotal: "Anzahl aller Notizen"
- filesIncDec: "Unterschied in der Anzahl von Dateien"
+ filesIncDec: "Unterschied in der Anzahl an Dateien"
filesTotal: "Anzahl aller Dateien"
storageUsageIncDec: "Unterschied in der Höhe der Speichernutzung"
storageUsageTotal: "Gesamte Speichernutzung"
_instanceCharts:
requests: "Anfragen"
- users: "Unterschied in der Anzahl von Benutzern"
+ users: "Unterschied in der Anzahl an Benutzern"
usersTotal: "Gesamtanzahl an Benutzern"
- notes: "Unterschied in der Anzahl von Notizen"
+ notes: "Unterschied in der Anzahl an Notizen"
notesTotal: "Gesamtanzahl an Notizen"
- ff: "Unterschied in der Anzahl von Followern"
- ffTotal: "Gesamtanzahl an Followern"
+ ff: "Unterschied in der Anzahl an gefolgten Benutzern und Followern"
+ ffTotal: "Gesamtanzahl an gefolgten Benutzern und Followern"
cacheSize: "Unterschied in der Größe des Caches"
cacheSizeTotal: "Gesamtgröße des Caches"
- files: "Unterschied in der Anzahl der Dateien"
+ files: "Unterschied in der Anzahl an Dateien"
filesTotal: "Gesamtanzahl an Dateien"
_timelines:
home: "Startseite"
local: "Lokal"
social: "Sozial"
global: "Global"
-_rooms:
- roomOf: "{user}'s Raum"
- addFurniture: "Möbel hinzufügen"
- translate: "Bewegen"
- rotate: "Drehen"
- exit: "Zurück"
- remove: "Entfernen"
- clear: "Aufräumen"
- clearConfirm: "Möchtest du wirklich alle Möbel entfernen?"
- leaveConfirm: "Es gibt ungespeicherte Änderungen. Möchtest du wirklich gehen?"
- chooseImage: "Bild auswählen"
- roomType: "Raumart"
- carpetColor: "Teppichfarbe"
- _roomType:
- default: "Standard"
- washitsu: "Japanischer Stil"
- _furnitures:
- milk: "Milchkarton"
- bed: "Bett"
- low-table: "Niedrigtisch"
- desk: "Schreibtisch"
- chair: "Stuhl"
- chair2: "Stuhl 2"
- fan: "Ventilator"
- pc: "Computer"
- plant: "Deko-Pflanze"
- plant2: "Deko-Pflanze 2"
- eraser: "Radiergummi"
- pencil: "Bleistift"
- pudding: "Pudding"
- cardboard-box: "Pappkarton"
- cardboard-box2: "Pappkarton 2"
- cardboard-box3: "Pappkarton 3"
- book: "Buch"
- book2: "Buch 2"
- piano: "Piano"
- facial-tissue: "Taschentücher"
- server: "Server"
- moon: "Mond"
- corkboard: "Pinnwand"
- mousepad: "Mauspad"
- monitor: "Monitor"
- keyboard: "Tastatur"
- carpet-stripe: "Gestreifter Teppich"
- mat: "Matte"
- color-box: "Regal"
- wall-clock: "Wanduhr"
- photoframe: "Bilderrahmen"
- cube: "Würfel"
- tv: "Fernseher"
- pinguin: "Pinguin"
- rubik-cube: "Zauberwürfel"
- poster-h: "Poster (Horizontal)"
- poster-v: "Poster (Vertikal)"
- sofa: "Sofa"
- spiral: "Spiraltreppe"
- bin: "Papierkorb"
- cup-noodle: "Instantnudeln"
- holo-display: "Holographischer Bildschirm"
- energy-drink: "Energy Drink"
- doll-ai: "Ai-Puppe"
- banknote: "Geldscheine"
_pages:
newPage: "Seite erstellen"
- editPage: "Diese Seite bearbeiten"
- readPage: "Quelltext-Ansicht"
+ editPage: "Seite bearbeiten"
+ readPage: "Quelltextansicht"
created: "Seite erfolgreich erstellt"
updated: "Seite erfolgreich aktualisiert"
deleted: "Seite erfolgreich gelöscht"
@@ -1212,22 +1410,22 @@ _pages:
liked: "Seiten, die mir gefallen"
featured: "Beliebt"
inspector: "Inspektor"
- contents: "Inhalt"
- content: "Inhalt"
+ contents: "Inhalte"
+ content: "Seitenblock"
variables: "Variablen"
title: "Titel"
url: "Seiten-URL"
summary: "Zusammenfassung"
- alignCenter: "Bestandteile zentrieren"
- hideTitleWhenPinned: "Seitentitel ausblenden, wenn an dein Profil angepinnt "
+ alignCenter: "Zentrieren"
+ hideTitleWhenPinned: "Seitentitel wenn angeheftet ausblenden"
font: "Schriftart"
fontSerif: "Serif"
fontSansSerif: "Sans Serif"
eyeCatchingImageSet: "Vorschaubild festlegen"
eyeCatchingImageRemove: "Vorschaubild entfernen"
chooseBlock: "Block hinzufügen"
- selectType: "Wähle einen Typ"
- enterVariableName: "Gib einen Namen für deine Variable ein"
+ selectType: "Typ auswählen"
+ enterVariableName: "Gib einen Variablennamen ein"
variableNameIsAlreadyUsed: "Dieser Name wird bereits von einer anderen Variable verwendet"
contentBlocks: "Inhalt"
inputBlocks: "Eingabe"
@@ -1241,10 +1439,10 @@ _pages:
if: "Falls"
_if:
variable: "Variable"
- post: "Neue Notiz anfertigen"
+ post: "Notizfenster"
_post:
text: "Inhalt"
- attachCanvasImage: "Leinwand als Bild anfügen"
+ attachCanvasImage: "Leinwandbild anfügen"
canvasId: "Leinwand-ID"
textInput: "Texteingabe"
_textInput:
@@ -1256,7 +1454,7 @@ _pages:
name: "Variablenname"
text: "Titel"
default: "Standardwert"
- numberInput: "Nummereingabe"
+ numberInput: "Zahleneingabe"
_numberInput:
name: "Variablenname"
text: "Titel"
@@ -1268,7 +1466,7 @@ _pages:
height: "Höhe"
note: "Eingebettete Notiz"
_note:
- id: "Notiz ID"
+ id: "Notiz-ID"
idDescription: "Du kannst alternativ auch die Notiz-URL angeben."
detailed: "Detailierte Ansicht"
switch: "Fallunterscheidung"
@@ -1280,20 +1478,20 @@ _pages:
_counter:
name: "Variablenname"
text: "Titel"
- inc: "Erhöhen um"
+ inc: "Schrittgröße"
_button:
text: "Titel"
colored: "Farbig"
- action: "Aktion, die beim Knopfdruck ausgeführt werden soll"
+ action: "Aktion, die bei Knopfdruck ausgeführt wird"
_action:
- dialog: "Zeige ein Dialogfenster"
+ dialog: "Dialogfenster anzeigen"
_dialog:
content: "Inhalt"
- resetRandom: "Setze den Zufallswert zurück"
- pushEvent: "Sende ein Event"
+ resetRandom: "Zufallswert zurücksetzen"
+ pushEvent: "Ein Event senden"
_pushEvent:
event: "Eventname"
- message: "Nachricht, die bei Aktivierung gezeigt werden soll"
+ message: "Nachricht, die bei Auslösung des Events angezeigt werden soll"
variable: "Variable, die gesendet werden soll"
no-variable: "Keine"
callAiScript: "AiScript ausführen"
@@ -1303,7 +1501,7 @@ _pages:
_radioButton:
name: "Variablenname"
title: "Titel"
- values: "Auswahlmöglichkeiten (getrennt durch Zeilenumbrüche)"
+ values: "Durch Zeilenümbrüche getrennte Auswahlmöglichkeiten"
default: "Standardwert"
script:
categories:
@@ -1315,7 +1513,7 @@ _pages:
value: "Werte"
fn: "Funktionen"
text: "Textoperationen"
- convert: "Konvertierung"
+ convert: "Konvertierungen"
list: "Listen"
blocks:
text: "Text"
@@ -1326,10 +1524,10 @@ _pages:
strLen: "Textlänge"
_strLen:
arg1: "Text"
- strPick: "Zeichen extrahieren"
+ strPick: "Text extrahieren"
_strPick:
arg1: "Text"
- arg2: "Zeichenposition"
+ arg2: "Textposition"
strReplace: "Textersetzung"
_strReplace:
arg1: "Text"
@@ -1340,7 +1538,7 @@ _pages:
arg1: "Text"
join: "Text zusammenfügen"
_join:
- arg1: "Listen"
+ arg1: "Liste"
arg2: "Trennzeichen"
add: "Addieren"
_add:
@@ -1362,7 +1560,7 @@ _pages:
_mod:
arg1: "A"
arg2: "B"
- round: "Runden"
+ round: "Rundung von Dezimalstellen"
_round:
arg1: "Nummer"
eq: "A und B sind gleich"
@@ -1414,17 +1612,17 @@ _pages:
arg2: "Maximum"
randomPick: "Zufallswahl aus Liste"
_randomPick:
- arg1: "Listen"
- dailyRandom: "Zufallswahl (Läuft für einen Tag)"
+ arg1: "Liste"
+ dailyRandom: "Zufällig (Pro Nutzer jeden Tag verschieden)"
_dailyRandom:
arg1: "Warscheinlichkeit"
- dailyRannum: "Zufallsnummer (Läuft für einen Tag)"
+ dailyRannum: "Zufallsnummer (Pro Nutzer jeden Tag verschieden)"
_dailyRannum:
arg1: "Minimum"
arg2: "Maximum"
- dailyRandomPick: "Zufallswahl aus Liste (Läuft für einen Tag)"
+ dailyRandomPick: "Zufallsauswahl aus einer Liste (Pro Nutzer jeden Tag verschieden)"
_dailyRandomPick:
- arg1: "Listen"
+ arg1: "Liste"
seedRandom: "Zufällig (mit Startwert / Seed)"
_seedRandom:
arg1: "Startwert / Seed"
@@ -1434,20 +1632,20 @@ _pages:
arg1: "Startwert / Seed"
arg2: "Minimum"
arg3: "Maximum"
- seedRandomPick: "Zufallswahl aus Liste (mit Startwert / Seed)"
+ seedRandomPick: "Zufallsauswahl aus Liste (mit Startwert / Seed)"
_seedRandomPick:
arg1: "Startwert / Seed"
- arg2: "Listen"
- DRPWPM: "Zufallswahl aus gewichteter Liste (Läuft für einen Tag)"
+ arg2: "Liste"
+ DRPWPM: "Zufallsauswahl aus gewichteter Liste (Pro Nutzer jeden Tag verschieden)"
_DRPWPM:
arg1: "Textliste"
pick: "Aus einer Liste wählen"
_pick:
- arg1: "Listen"
+ arg1: "Liste"
arg2: "Position"
listLen: "Listenlänge abrufen"
_listLen:
- arg1: "Listen"
+ arg1: "Liste"
number: "Nummer"
stringToNumber: "Text zu Nummer"
_stringToNumber:
@@ -1458,29 +1656,29 @@ _pages:
splitStrByLine: "Text nach Zeilenumbrüchen aufteilen"
_splitStrByLine:
arg1: "Text"
- ref: "Variablen"
- aiScriptVar: "AiScript Variablen"
- fn: "Funktionen"
+ ref: "Variable"
+ aiScriptVar: "AiScript Variable"
+ fn: "Funktion"
_fn:
slots: "Slots"
slots-info: "Trenne jeden Slot mit einem Zeilenumbruch"
arg1: "Ausgabe"
- for: "Wiederholen"
+ for: "for-Schleife"
_for:
- arg1: "Anzahl der Wiederholungen"
+ arg1: "Anzahl der Schleifendurchläufe"
arg2: "Aktion"
- typeError: "Slot {slot} akzeptiert Werte vom Typ \"{expect}\", aber es wurde ein \"{actual}\" Wert angegeben!"
+ typeError: "Slot {slot} akzeptiert Werte vom Typ „{expect}“, aber es wurde ein „{actual}“ Wert angegeben!"
thereIsEmptySlot: "Slot {slot} ist leer!"
types:
string: "Text"
number: "Nummer"
- boolean: "Flag"
- array: "Listen"
+ boolean: "Wahrheitswert"
+ array: "Liste"
stringArray: "Textliste"
emptySlot: "Leerer Slot"
enviromentVariables: "Umgebungsvariable"
- pageVariables: "Seitenelement"
- argVariables: "Eingabe-Slot"
+ pageVariables: "Seitenelemente"
+ argVariables: "Eingabeslots"
_relayStatus:
requesting: "Ausstehend"
accepted: "Akzeptiert"
@@ -1491,13 +1689,15 @@ _notification:
youGotReply: "{name} hat dir geantwortet"
youGotQuote: "{name} hat dich zitiert"
youRenoted: "Renote deiner Notiz von {name}"
- youGotPoll: "{name} hat auf deiner Umfrage abgestimmt"
+ youGotPoll: "{name} hat in deiner Umfrage abgestimmt"
youGotMessagingMessageFromUser: "{name} hat dir eine Chatnachricht gesendet"
youGotMessagingMessageFromGroup: "In die Gruppe {name} wurde eine Chatnachricht gesendet"
- youWereFollowed: "Du hast einen neuen Follower"
+ youWereFollowed: "ist dir gefolgt"
youReceivedFollowRequest: "Du hast eine Follow-Anfrage erhalten"
yourFollowRequestAccepted: "Deine Follow-Anfrage wurde akzeptiert"
- youWereInvitedToGroup: "Du wurdest in eine Gruppe eingeladen"
+ youWereInvitedToGroup: "{userName} hat dich in eine Gruppe eingeladen"
+ pollEnded: "Umfrageergebnisse sind verfügbar"
+ emptyPushNotificationMessage: "Push-Benachrichtigungen wurden aktualisiert"
_types:
all: "Alle"
follow: "Neue Follower"
@@ -1507,23 +1707,32 @@ _notification:
quote: "Zitationen"
reaction: "Reaktionen"
pollVote: "Antworten auf Umfragen"
- receiveFollowRequest: "Follow-Anfrage erhalten"
- followRequestAccepted: "Follow-Anfrage akzeptiert"
- groupInvited: "Gruppeneinladung erhalten"
+ pollEnded: "Ende von Umfragen"
+ receiveFollowRequest: "Erhaltene Follow-Anfragen"
+ followRequestAccepted: "Akzeptierte Follow-Anfragen"
+ groupInvited: "Erhaltene Gruppeneinladungen"
app: "Benachrichtigungen von Apps"
+ _actions:
+ followBack: "folgt dir nun auch"
+ reply: "Antworten"
+ renote: "Renote"
_deck:
alwaysShowMainColumn: "Hauptspalte immer zeigen"
- columnAlign: "Spalten ausrichten"
- columnMargin: "Spaltenabstand"
- columnHeaderHeight: "Spaltenkopfhöhe"
+ columnAlign: "Spaltenausrichtung"
addColumn: "Spalte hinzufügen"
- swapLeft: "Nach links verschieben"
- swapRight: "Nach rechts verschieben"
- swapUp: "Nach oben verschieben"
- swapDown: "Nach unten verschieben"
+ configureColumn: "Spalteneinstellungen"
+ swapLeft: "Mit linker Spalte tauschen"
+ swapRight: "Mit rechter Spalte tauschen"
+ swapUp: "Mit oberer Spalte tauschen"
+ swapDown: "Mit unterer Spalte tauschen"
stackLeft: "Auf linke Spalte stapeln"
popRight: "Nach rechts vom Stapel nehmen"
profile: "Profil"
+ newProfile: "Neues Profil"
+ deleteProfile: "Profil löschen"
+ introduction: "Erstelle eine auf dich zugeschneiderte Benutzeroberfläche durch das Aneinanderreihen von Spalten!"
+ introduction2: "Klicke auf das + rechts um wann immer du möchtest neue Spalten hinzuzufügen."
+ widgetsIntroduction: "Drücke bitte \"Widgets bearbeiten\" im Spaltenmenü und füge ein Widget hinzu."
_columns:
main: "Hauptspalte"
widgets: "Widgets"
@@ -1532,4 +1741,4 @@ _deck:
antenna: "Antennen"
list: "Listen"
mentions: "Erwähnungen"
- direct: "Direkt"
+ direct: "Direktnachrichten"
diff --git a/locales/en-US.yml b/locales/en-US.yml
index 829afa24b..3b04b401d 100644
--- a/locales/en-US.yml
+++ b/locales/en-US.yml
@@ -1,13 +1,14 @@
---
_lang_: "English"
-headlineMisskey: "Network connected by notes"
-introMisskey: "Welcome! Misskey is an open source, decentralized microblogging service.\nCreate \"notes\" to share what is happening now, or to share it with everyone around you. 📡\nWith \"reactions\", you can also quickly express your feelings about everyone's notes. 👍\nLet's explore a new world! 🚀"
+headlineMisskey: "A network connected by notes"
+introMisskey: "Welcome! Misskey is an open source, decentralized microblogging service.\nCreate \"notes\" to share your thoughts with everyone around you. 📡\nWith \"reactions\", you can also quickly express your feelings about everyone's notes. 👍\nLet's explore a new world! 🚀"
monthAndDay: "{month}/{day}"
search: "Search"
notifications: "Notifications"
username: "Username"
password: "Password"
-fetchingAsApObject: "Fetching from Fediverse..."
+forgotPassword: "Forgot password"
+fetchingAsApObject: "Fetching from the Fediverse..."
ok: "OK"
gotIt: "Got it!"
cancel: "Cancel"
@@ -27,13 +28,13 @@ login: "Sign In"
loggingIn: "Signing In"
logout: "Sign Out"
signup: "Sign Up"
-uploading: "Uploading"
+uploading: "Uploading..."
save: "Save"
users: "Users"
addUser: "Add a user"
-favorite: "Favorite"
+favorite: "Add to favorites"
favorites: "Favorites"
-unfavorite: "Unfavorite"
+unfavorite: "Remove from favorites"
favorited: "Added to favorites."
alreadyFavorited: "Already added to favorites."
cantFavorite: "Couldn't add to favorites."
@@ -42,16 +43,17 @@ unpin: "Unpin from profile"
copyContent: "Copy contents"
copyLink: "Copy link"
delete: "Delete"
-deleteAndEdit: "Delete and Edit"
+deleteAndEdit: "Delete and edit"
deleteAndEditConfirm: "Are you sure you want to delete this note and edit it? You will lose all reactions, renotes and replies to it."
addToList: "Add to list"
sendMessage: "Send a message"
copyUsername: "Copy username"
-searchUser: "User search"
+searchUser: "Search for a user"
reply: "Reply"
loadMore: "Load more"
-showMore: "Load more"
-youGotNewFollower: "Followed you"
+showMore: "Show more"
+showLess: "Close"
+youGotNewFollower: "followed you"
receiveFollowRequest: "Follow request received"
followRequestAccepted: "Follow request accepted"
mention: "Mention"
@@ -64,8 +66,8 @@ files: "Files"
download: "Download"
driveFileDeleteConfirm: "Are you sure you want to delete the file \"{name}\"? Notes with this file attached will also be deleted."
unfollowConfirm: "Are you sure that you want to unfollow {name}?"
-exportRequested: "You have requested an export. This may take a while. After the export is complete, the resulting file will be added to the drive."
-importRequested: "You requested an import. This may take a while."
+exportRequested: "You've requested an export. This may take a while. It will be added to your Drive once completed."
+importRequested: "You've requested an import. This may take a while."
lists: "Lists"
noLists: "You don't have any lists"
note: "Note"
@@ -76,39 +78,42 @@ followsYou: "Follows you"
createList: "Create list"
manageLists: "Manage lists"
error: "Error"
-somethingHappened: "An error occurred"
+somethingHappened: "An error has occurred"
retry: "Retry"
-pageLoadError: "Failed to load page"
+pageLoadError: "An error occurred loading the page."
pageLoadErrorDescription: "This is normally caused by network errors or the browser's cache. Try clearing the cache and then try again after waiting a little while."
-enterListName: "List name"
+serverIsDead: "This server is not responding. Please wait for a while and try again."
+youShouldUpgradeClient: "To view this page, please refresh to update your client."
+enterListName: "Enter a name for the list"
privacy: "Privacy"
makeFollowManuallyApprove: "Follow requests require approval"
defaultNoteVisibility: "Default visibility"
follow: "Follow"
-followRequest: "Request follow"
+followRequest: "Send follow request"
followRequests: "Follow requests"
unfollow: "Unfollow"
-followRequestPending: "Pending follow request"
+followRequestPending: "Follow request pending"
enterEmoji: "Enter an emoji"
renote: "Renote"
-unrenote: "Unrenote"
+unrenote: "Take back renote"
renoted: "Renoted."
cantRenote: "This post can't be renoted."
cantReRenote: "A renote can't be renoted."
quote: "Quote"
pinnedNote: "Pinned note"
+pinned: "Pin to profile"
you: "You"
clickToShow: "Click to show"
sensitive: "NSFW"
add: "Add"
-reaction: "Reaction"
-reactionSettingDescription: "Assign your favorite reactions which want to pin in reaction picker."
-reactionSettingDescription2: "Drag to reorder, Click to delete, Press \"+\" to add"
+reaction: "Reactions"
+reactionSetting: "Reactions to show in the reaction picker"
+reactionSettingDescription2: "Drag to reorder, click to delete, press \"+\" to add."
rememberNoteVisibility: "Remember note visibility settings"
attachCancel: "Remove attachment"
markAsSensitive: "Mark as NSFW"
-unmarkAsSensitive: "Undo NSFW"
-enterFileName: "Enter file name"
+unmarkAsSensitive: "Unmark as NSFW"
+enterFileName: "Enter filename"
mute: "Mute"
unmute: "Unmute"
block: "Block"
@@ -118,26 +123,29 @@ unsuspend: "Unsuspend"
blockConfirm: "Are you sure that you want to block this account?"
unblockConfirm: "Are you sure that you want to unblock this account?"
suspendConfirm: "Are you sure that you want to suspend this account?"
-unsuspendConfirm: "Are you sure you that want to unsuspend this account?"
+unsuspendConfirm: "Are you sure that you want to unsuspend this account?"
selectList: "Select a list"
-selectAntenna: "Select an Antenna"
+selectAntenna: "Select an antenna"
selectWidget: "Select a widget"
editWidgets: "Edit widgets"
editWidgetsExit: "Done"
customEmojis: "Custom Emoji"
emoji: "Emoji"
+emojis: "Emoji"
emojiName: "Emoji name"
emojiUrl: "Emoji URL"
addEmoji: "Add an emoji"
-settingGuide: "Suggested Configuration"
+settingGuide: "Recommended settings"
cacheRemoteFiles: "Cache remote files"
-cacheRemoteFilesDescription: "When this setting is disabled, remote files are loaded directly from the remote instance. Disabling this will decrease storage usage, but will increase traffic, because thumbnails will not be generated."
-flagAsBot: "This account is a bot"
-flagAsBotDescription: "If this account is controlled by a program, set this option. If enabled, it will act as flag for other developers to prevent endless interaction chains with other bots and adjust Misskey's internal systems to treat this account as a bot."
-flagAsCat: "This account is a cat"
-flagAsCatDescription: "Toggle this flag on for this account to be marked as a cat."
+cacheRemoteFilesDescription: "When this setting is disabled, remote files are loaded directly from the remote instance. Disabling this will decrease storage usage, but increase traffic, as thumbnails will not be generated."
+flagAsBot: "Mark this account as a bot"
+flagAsBotDescription: "Enable this option if this account is controlled by a program. If enabled, it will act as a flag for other developers to prevent endless interaction chains with other bots and adjust Misskey's internal systems to treat this account as a bot."
+flagAsCat: "Mark this account as a cat"
+flagAsCatDescription: "Enable this option to mark this account as a cat."
+flagShowTimelineReplies: "Show replies in timeline"
+flagShowTimelineRepliesDescription: "Shows replies of users to notes of other users in the timeline if turned on."
autoAcceptFollowed: "Automatically approve follow requests from users you're following"
-addAcount: "Add Account"
+addAccount: "Add account"
loginFailed: "Failed to sign in"
showOnRemote: "View on remote instance"
general: "General"
@@ -150,19 +158,19 @@ followConfirm: "Are you sure that you want to follow {name}?"
proxyAccount: "Proxy account"
proxyAccountDescription: "A proxy account is an account that acts as a remote follower for users under certain conditions. For example, when a user adds a remote user to the list, the remote user's activity will not be delivered to the instance if no local user is following that user, so the proxy account will follow instead."
host: "Host"
-selectUser: "Select user"
+selectUser: "Select a user"
recipient: "Recipient"
annotation: "Comments"
federation: "Federation"
-instances: "Instance"
+instances: "Instances"
registeredAt: "Registered at"
-latestRequestSentAt: "Last request sent at"
-latestRequestReceivedAt: "Last request received at"
+latestRequestSentAt: "Last request sent"
+latestRequestReceivedAt: "Last request received"
latestStatus: "Latest status"
storageUsage: "Storage usage"
charts: "Charts"
-perHour: "per Hour"
-perDay: "per Day"
+perHour: "Per Hour"
+perDay: "Per Day"
stopActivityDelivery: "Stop sending activities"
blockThisInstance: "Block this instance"
operations: "Operations"
@@ -179,24 +187,25 @@ instanceInfo: "Instance Information"
statistics: "Statistics"
clearQueue: "Clear queue"
clearQueueConfirmTitle: "Are you sure that you want to clear the queue?"
-clearQueueConfirmText: "Any undelivered notes remaining in the queue will not be federated. Usually this operation is NOT needed."
+clearQueueConfirmText: "Any undelivered notes remaining in the queue will not be federated. Usually this operation is not needed."
clearCachedFiles: "Clear cache"
-clearCachedFilesConfirm: "Are you sure that you want to delete all the cached remote files?"
+clearCachedFilesConfirm: "Are you sure that you want to delete all cached remote files?"
blockedInstances: "Blocked Instances"
-blockedInstancesDescription: "List the hostname of the instances that need to be blocked. Listed instances will no longer be able to communicate with this instance."
-muteAndBlock: "Mute / Block"
+blockedInstancesDescription: "List the hostnames of the instances that you want to block. Listed instances will no longer be able to communicate with this instance."
+muteAndBlock: "Mutes and Blocks"
mutedUsers: "Muted users"
blockedUsers: "Blocked users"
noUsers: "There are no users"
editProfile: "Edit profile"
noteDeleteConfirm: "Are you sure you want to delete this note?"
-pinLimitExceeded: "You cannot pin any more notes."
+pinLimitExceeded: "You cannot pin any more notes"
intro: "Installation of Misskey has been finished! Please create an admin user."
done: "Done"
-processing: "Processing"
+processing: "Processing..."
preview: "Preview"
default: "Default"
-noCustomEmojis: "There are no emojis"
+defaultValueIs: "Default: {value}"
+noCustomEmojis: "There are no emoji"
noJobs: "There are no jobs"
federating: "Federating"
blocked: "Blocked"
@@ -210,7 +219,7 @@ instanceFollowers: "Followers of instance"
instanceUsers: "Users of this instance"
changePassword: "Change password"
security: "Security"
-retypedNotMatch: "The input does not match."
+retypedNotMatch: "The inputs do not match."
currentPassword: "Current password"
newPassword: "New password"
newPasswordRetype: "Retype new password"
@@ -224,12 +233,14 @@ announcements: "Announcements"
imageUrl: "Image URL"
remove: "Delete"
removed: "Successfully deleted"
-removeAreYouSure: "Are you sure that you want to delete \"{x}\"?"
+removeAreYouSure: "Are you sure that you want to remove \"{x}\"?"
deleteAreYouSure: "Are you sure that you want to delete \"{x}\"?"
resetAreYouSure: "Really reset?"
saved: "Saved"
-messaging: "Messaging"
+messaging: "Chat"
upload: "Upload"
+keepOriginalUploading: "Keep original image"
+keepOriginalUploadingDescription: "Saves the originally uploaded image as-is. If turned off, a version to display on the web will be generated on upload."
fromDrive: "From Drive"
fromUrl: "From URL"
uploadFromUrl: "Upload from a URL"
@@ -237,16 +248,15 @@ uploadFromUrlDescription: "URL of the file you want to upload"
uploadFromUrlRequested: "Upload requested"
uploadFromUrlMayTakeTime: "It may take some time until the upload is complete."
explore: "Explore"
-games: "Misskey Games"
messageRead: "Read"
noMoreHistory: "There is no further history"
-startMessaging: "Start messaging"
+startMessaging: "Start a new chat"
nUsersRead: "read by {n}"
agreeTo: "I agree to {0}"
tos: "Terms of Service"
start: "Begin"
home: "Home"
-remoteUserCaution: "This information may not be up-to-date, because the user is from a remote instance."
+remoteUserCaution: "As this user is from a remote instance, the shown information may be incomplete."
activity: "Activity"
images: "Images"
birthday: "Birthday"
@@ -258,8 +268,8 @@ themeForLightMode: "Theme to use in Light Mode"
themeForDarkMode: "Theme to use in Dark Mode"
light: "Light"
dark: "Dark"
-lightThemes: "Light theme"
-darkThemes: "Dark theme"
+lightThemes: "Light themes"
+darkThemes: "Dark themes"
syncDeviceDarkMode: "Sync Dark Mode with your device settings"
drive: "Drive"
fileName: "Filename"
@@ -273,10 +283,11 @@ createFolder: "Create a folder"
renameFolder: "Rename this folder"
deleteFolder: "Delete this folder"
addFile: "Add a file"
-emptyDrive: "The drive is empty"
+emptyDrive: "Your Drive is empty"
emptyFolder: "This folder is empty"
unableToDelete: "Unable to delete"
inputNewFileName: "Enter a new filename"
+inputNewDescription: "Enter new caption"
inputNewFolderName: "Enter a new folder name"
circularReferenceFolder: "The destination folder is a subfolder of the folder you wish to move."
hasChildFilesOrFolders: "Since this folder is not empty, it can not be deleted."
@@ -286,12 +297,12 @@ avatar: "Avatar"
banner: "Banner"
nsfw: "NSFW"
whenServerDisconnected: "When losing connection to the server"
-disconnectedFromServer: "Connection to the server was interrupted."
+disconnectedFromServer: "Connection to server has been lost"
reload: "Refresh"
doNothing: "Ignore"
-reloadConfirm: "Would you like to refresh timeline?"
+reloadConfirm: "Would you like to refresh the timeline?"
watch: "Watch"
-unwatch: "Undo Watch"
+unwatch: "Stop watching"
accept: "Accept"
reject: "Reject"
normal: "Normal"
@@ -305,30 +316,29 @@ thisMonth: "Month"
today: "Today"
dayX: "{day}"
monthX: "{month}"
-yearX: "{year} /"
+yearX: "{year}"
pages: "Pages"
integration: "Integration"
-connectSerice: "Connect"
-disconnectSerice: "Disconnect"
+connectService: "Connect"
+disconnectService: "Disconnect"
enableLocalTimeline: "Enable local timeline"
enableGlobalTimeline: "Enable global timeline"
-disablingTimelinesInfo: "Admins and Mods will always have access to all timelines, even if they are not enabled."
+disablingTimelinesInfo: "Adminstrators and Moderators will always have access to all timelines, even if they are not enabled."
registration: "Register"
enableRegistration: "Enable new user registration"
invite: "Invite"
-proxyRemoteFiles: "Proxy remote files"
-proxyRemoteFilesDescription: "If enabled, remote files that (1) are not stored locally or (2) got deleted from exceeding storage limit will be locally proxied (with thumbnails). This does not affect the server's storage."
driveCapacityPerLocalAccount: "Drive capacity per local user"
driveCapacityPerRemoteAccount: "Drive capacity per remote user"
inMb: "In megabytes"
iconUrl: "Icon URL"
bannerUrl: "Banner image URL"
+backgroundImageUrl: "Background image URL"
basicInfo: "Basic info"
-pinnedUsers: "Pinned user"
-pinnedUsersDescription: "List one username per line. Users listed here will be pinned under \"Explore\" tab."
-pinnedPages: "Pinned pages"
-pinnedPagesDescription: "Enter the paths of the pages you want to pin to the top page of this instance, separated by new lines."
-pinnedClipId: "ID of the pinned clip"
+pinnedUsers: "Pinned users"
+pinnedUsersDescription: "List usernames separated by line breaks to be pinned in the \"Explore\" tab."
+pinnedPages: "Pinned Pages"
+pinnedPagesDescription: "Enter the paths of the Pages you want to pin to the top page of this instance, separated by line breaks."
+pinnedClipId: "ID of the clip to pin"
pinnedNotes: "Pinned notes"
hcaptcha: "hCaptcha"
enableHcaptcha: "Enable hCaptcha"
@@ -338,56 +348,56 @@ recaptcha: "reCAPTCHA"
enableRecaptcha: "Enable reCAPTCHA"
recaptchaSiteKey: "Site key"
recaptchaSecretKey: "Secret key"
-avoidMultiCaptchaConfirm: "Using multiple Captchas may cause interference. Would you like to disable the other Captcha? You can leave multiple Captchas enabled by press cancel."
+avoidMultiCaptchaConfirm: "Using multiple Captcha systems may cause interference between them. Would you like to disable the other Captcha systems currently active? If you would like them to stay enabled, press cancel."
antennas: "Antennas"
manageAntennas: "Manage Antennas"
name: "Name"
antennaSource: "Antenna source"
-antennaKeywords: "Keywords to receive"
+antennaKeywords: "Keywords to listen to"
antennaExcludeKeywords: "Keywords to exclude"
-antennaKeywordsDescription: "Separate with spaces for AND condition. Separate with line breaks for OR."
-notifyAntenna: "Notify for new notes"
-withFileAntenna: "Filter only notes with file(s) attached"
-serviceworker: "ServiceWorker"
-enableServiceworker: "Enable ServiceWorker"
+antennaKeywordsDescription: "Separate with spaces for an AND condition or with line breaks for an OR condition."
+notifyAntenna: "Notify about new notes"
+withFileAntenna: "Only notes with files"
+enableServiceworker: "Enable Push-Notifications for your Browser"
antennaUsersDescription: "List one username per line"
caseSensitive: "Case sensitive"
withReplies: "Include replies"
connectedTo: "Following account(s) are connected"
notesAndReplies: "Notes and replies"
-withFiles: "Media"
+withFiles: "Including files"
silence: "Silence"
silenceConfirm: "Are you sure that you want to silence this user?"
-unsilence: "Unsilence"
-unsilenceConfirm: "Are you sure that you want to undo silence of this user?"
-popularUsers: "Trending users"
-recentlyUpdatedUsers: "Users with recent activity"
+unsilence: "Undo silencing"
+unsilenceConfirm: "Are you sure that you want to undo the silencing of this user?"
+popularUsers: "Popular users"
+recentlyUpdatedUsers: "Recently active users"
recentlyRegisteredUsers: "Newly joined users"
recentlyDiscoveredUsers: "Newly discovered users"
exploreUsersCount: "There are {count} users"
-exploreFediverse: "Explore Fediverse"
-popularTags: "Trending Tags"
+exploreFediverse: "Explore the Fediverse"
+popularTags: "Popular tags"
userList: "Lists"
about: "About"
aboutMisskey: "About Misskey"
-administrator: "Admin"
+administrator: "Administrator"
token: "Token"
twoStepAuthentication: "Two-factor authentication"
-moderator: "Mod"
-nUsersMentioned: "{n} users mentioned"
+moderator: "Moderator"
+moderation: "Moderation"
+nUsersMentioned: "Mentioned by {n} users"
securityKey: "Security key"
securityKeyName: "Key name"
registerSecurityKey: "Register a security key"
lastUsed: "Last used"
unregister: "Unregister"
-passwordLessLogin: "Set up password-less login"
+passwordLessLogin: "Password-less login"
resetPassword: "Reset password"
newPasswordIs: "The new password is \"{password}\""
-reduceUiAnimation: "Reduce UI animation"
+reduceUiAnimation: "Reduce UI animations"
share: "Share"
notFound: "Not found"
-notFoundDescription: "There was no page corresponding to the specified URL."
-uploadFolder: "Default Upload location"
+notFoundDescription: "No page corresponding to this URL could be found."
+uploadFolder: "Default folder for uploads"
cacheClear: "Clear cache"
markAsReadAllNotifications: "Mark all notifications as read"
markAsReadAllUnreadNotes: "Mark all notes as read"
@@ -395,102 +405,103 @@ markAsReadAllTalkMessages: "Mark all messages as read"
help: "Help"
inputMessageHere: "Enter message here"
close: "Close"
-group: "Groups"
+group: "Group"
groups: "Groups"
createGroup: "Create a group"
ownedGroups: "Owned Groups"
-joinedGroups: "Membership in groups"
-invites: "Invite"
+joinedGroups: "Joined groups"
+invites: "Invites"
groupName: "Group name"
members: "Members"
transfer: "Transfer"
-messagingWithUser: "Messaging with other user"
-messagingWithGroup: "Messaging within group"
+messagingWithUser: "Private chat"
+messagingWithGroup: "Group chat"
title: "Title"
text: "Text"
enable: "Enable"
next: "Next"
retype: "Enter again"
-noteOf: "{user}'s notes"
+noteOf: "Note by {user}"
inviteToGroup: "Invite to group"
-maxNoteTextLength: "Character limit of notes"
-quoteAttached: "Quoted"
-quoteQuestion: "Do you want to append a quote?"
+quoteAttached: "Quote"
+quoteQuestion: "Append as quote?"
noMessagesYet: "No messages yet"
-newMessageExists: "You've got a new message"
+newMessageExists: "There are new messages"
onlyOneFileCanBeAttached: "You can only attach one file to a message"
-signinRequired: "Please sign in"
-invitations: "Invitations"
+signinRequired: "Please register or sign in before continuing"
+invitations: "Invites"
invitationCode: "Invitation code"
-checking: "Checking"
+checking: "Checking..."
available: "Available"
unavailable: "Not available"
-usernameInvalidFormat: "letters, numbers and _ are acceptable."
+usernameInvalidFormat: "You can use upper- and lowercase letters, numbers, and underscores."
tooShort: "Too short"
tooLong: "Too long"
weakPassword: "Weak password"
-normalPassword: "Good password"
+normalPassword: "Average password"
strongPassword: "Strong password"
-passwordMatched: "Matched"
-passwordNotMatched: "Doesn't match"
+passwordMatched: "Matches"
+passwordNotMatched: "Does not match"
signinWith: "Sign in with {x}"
-signinFailed: "Unable to sign in. The username or password you entered is incorrect."
+signinFailed: "Unable to sign in. The entered username or password is incorrect."
tapSecurityKey: "Tap your security key"
or: "Or"
-uiLanguage: "UI display language"
-groupInvited: "Invited to group"
+language: "Language"
+uiLanguage: "User interface language"
+groupInvited: "You've been invited to a group"
aboutX: "About {x}"
-useOsNativeEmojis: "Use OS native Emojis"
+useOsNativeEmojis: "Use OS native Emoji"
+disableDrawer: "Don't use drawer-style menus"
youHaveNoGroups: "You have no groups"
-joinOrCreateGroup: "Get invited to join the groups or you can create your own group."
-noHistory: "No history items"
+joinOrCreateGroup: "Get invited to a group or create your own."
+noHistory: "No history available"
signinHistory: "Login history"
disableAnimatedMfm: "Disable MFM with animation"
-doing: "On my way"
+doing: "Processing..."
category: "Category"
tags: "Tags"
docSource: "Source of this document"
createAccount: "Create account"
-existingAcount: "Existing accounts"
+existingAccount: "Existing account"
regenerate: "Regenerate"
fontSize: "Font size"
noFollowRequests: "You don't have any pending follow requests"
-openImageInNewTab: "Open image in new tab"
+openImageInNewTab: "Open images in new tab"
dashboard: "Dashboard"
local: "Local"
remote: "Remote"
total: "Total"
-weekOverWeekChanges: "Weekly"
-dayOverDayChanges: "Daily"
+weekOverWeekChanges: "Changes to last week"
+dayOverDayChanges: "Changes to yesterday"
appearance: "Appearance"
-clientSettings: "Client settings"
+clientSettings: "Client Settings"
accountSettings: "Account Settings"
promotion: "Promoted"
promote: "Promote"
-numberOfDays: "Amount of days"
+numberOfDays: "Number of days"
hideThisNote: "Hide this note"
-showFeaturedNotesInTimeline: "Show Featured notes in Timeline"
+showFeaturedNotesInTimeline: "Show featured notes in timelines"
objectStorage: "Object Storage"
useObjectStorage: "Use object storage"
objectStorageBaseUrl: "Base URL"
-objectStorageBaseUrlDesc: "URL prefix used for construct URL to object (media) referencing. Specify its URL if you are using a CDN or Proxy, otherwise specify the address that publicly accessible according to the guide of service that you're going to use. i.g 'https://.s3.amazonaws.com' for AWS S3, and 'https://storage.googleapis.com/' for GCS."
+objectStorageBaseUrlDesc: "The URL used as reference. Specify the URL of your CDN or Proxy if you are using either.\nFor S3 use 'https://.s3.amazonaws.com' and for GCS or equivalent services use 'https://storage.googleapis.com/', etc."
objectStorageBucket: "Bucket"
-objectStorageBucketDesc: "Please specify the bucket name used on configured service."
+objectStorageBucketDesc: "Please specify the bucket name used at your provider."
objectStoragePrefix: "Prefix"
-objectStoragePrefixDesc: "Files will stored under the directory of this prefix."
+objectStoragePrefixDesc: "Files will be stored under directories with this prefix."
objectStorageEndpoint: "Endpoint"
-objectStorageEndpointDesc: "Leave this empty if you are using AWS S3, otherwise specify the endpoint as '' or ':' according to the guide of service that you're going to use."
+objectStorageEndpointDesc: "Leave this empty if you are using AWS S3, otherwise specify the endpoint as '' or ':', depending on the service you are using."
objectStorageRegion: "Region"
-objectStorageRegionDesc: "Specify a region like 'xx-east-1'. If your service does not have distinction about regions, leave it blank or fill with 'us-east-1'."
+objectStorageRegionDesc: "Specify a region like 'xx-east-1'. If your service does not distinguish between regions, leave this blank or enter 'us-east-1'."
objectStorageUseSSL: "Use SSL"
-objectStorageUseSSLDesc: "Turn off this if you are not going to use HTTPS for API connection"
+objectStorageUseSSLDesc: "Turn this off if you are not going to use HTTPS for API connections"
objectStorageUseProxy: "Connect over Proxy"
-objectStorageUseProxyDesc: "Turn off this if you are not going to use Proxy for ObjectStorage connection"
+objectStorageUseProxyDesc: "Turn this off if you are not going to use a Proxy for API connections"
objectStorageSetPublicRead: "Set \"public-read\" on upload"
serverLogs: "Server logs"
deleteAll: "Delete all"
showFixedPostForm: "Display the posting form at the top of the timeline"
-newNoteRecived: "You've got a new note"
+newNoteRecived: "There are new notes"
sounds: "Sounds"
listen: "Listen"
none: "None"
@@ -499,35 +510,36 @@ popout: "Pop-out"
volume: "Volume"
masterVolume: "Master volume"
details: "Details"
-chooseEmoji: "Choose an emoji"
-unableToProcess: "The operation could not be completed."
+chooseEmoji: "Select an emoji"
+unableToProcess: "The operation could not be completed"
recentUsed: "Recently used"
install: "Install"
uninstall: "Uninstall"
installedApps: "Authorized Applications"
nothing: "There's nothing to see here"
-installedDate: "Authorized"
-lastUsedDate: "Last used"
+installedDate: "Authorized at"
+lastUsedDate: "Last used at"
state: "State"
sort: "Sort"
ascendingOrder: "Ascending"
descendingOrder: "Descending"
-scratchpad: "Scratch pad"
-scratchpadDescription: "Scratchpad provides experimental environment for AiScript. You can write, execute, and check the results that interact with Misskey."
+scratchpad: "Scratchpad"
+scratchpadDescription: "The Scratchpad provides an environment for AiScript experiments. You can write, execute, and check the results of it interacting with Misskey in it."
output: "Output"
script: "Script"
disablePagesScript: "Disable AiScript on Pages"
updateRemoteUser: "Update remote user information"
-deleteAllFiles: "Delete All Files"
+deleteAllFiles: "Delete all files"
deleteAllFilesConfirm: "Are you sure that you want to delete all files?"
-removeAllFollowing: "Withhold All Followings"
-removeAllFollowingDescription: "Unfollow all accounts from {host}. Please run this if the instance no longer exists."
+removeAllFollowing: "Unfollow all followed users"
+removeAllFollowingDescription: "Executing this unfollows all accounts from {host}. Please run this if the instance e.g. no longer exists."
userSuspended: "This user has been suspended."
-userSilenced: "This user has been silenced."
-sidebar: "Sidebar"
+userSilenced: "This user is being silenced."
+yourAccountSuspendedTitle: "This account is suspended"
+yourAccountSuspendedDescription: "This account has been suspended due to breaking the server's terms of services or similar. Contact the administrator if you would like to know a more detailed reason. Please do not create a new account."
+menu: "Menu"
divider: "Divider"
addItem: "Add Item"
-rooms: "Room"
relays: "Relays"
addRelay: "Add Relay"
inboxUrl: "Inbox URL"
@@ -535,7 +547,7 @@ addedRelays: "Added Relays"
serviceworkerInfo: "Must be enabled for push notifications."
deletedNote: "Deleted note"
invisibleNote: "Invisible note"
-enableInfiniteScroll: "Enable infinite scrolling"
+enableInfiniteScroll: "Automatically load more"
visibility: "Visiblility"
poll: "Poll"
useCw: "Hide content"
@@ -544,11 +556,13 @@ disablePlayer: "Close video player"
expandTweet: "Expand tweet"
themeEditor: "Theme editor"
description: "Description"
+describeFile: "Add caption"
+enterFileDescription: "Enter caption"
author: "Author"
leaveConfirm: "There are unsaved changes. Do you want to discard them?"
manage: "Management"
plugins: "Plugins"
-pluginInstallWarn: "Please do not install untrustworthy plugins."
+preferencesBackups: "Preference backups"
deck: "Deck"
undeck: "Leave Deck"
useBlurEffectForModal: "Use blur effect for modals"
@@ -567,12 +581,12 @@ pluginTokenRequestedDescription: "This plugin will be able to use the permission
notificationType: "Notification type"
edit: "Edit"
useStarForReactionFallback: "Use ★ as fallback if the reaction emoji is unknown"
-emailConfig: "Email server configuration"
+emailServer: "Email server"
enableEmail: "Enable email distribution"
-emailConfigInfo: "Used to confirm your email during sign-up and if you forget your password"
+emailConfigInfo: "Used to confirm your email during sign-up or if you forget your password"
email: "Email"
emailAddress: "Email address"
-smtpConfig: "SMTP Server configuration"
+smtpConfig: "SMTP Server Configuration"
smtpHost: "Host"
smtpPort: "Port"
smtpUser: "Username"
@@ -582,6 +596,9 @@ smtpSecure: "Use implicit SSL/TLS for SMTP connections"
smtpSecureInfo: "Turn this off when using STARTTLS"
testEmail: "Test email delivery"
wordMute: "Word mute"
+regexpError: "Regular Expression error"
+regexpErrorDescription: "An error occurred in the regular expression on line {line} of your {tab} word mutes:"
+instanceMute: "Instance Mutes"
userSaysSomething: "{name} said something"
makeActive: "Activate"
display: "Display"
@@ -594,22 +611,26 @@ database: "Database"
channel: "Channels"
create: "Create"
notificationSetting: "Notification settings"
-notificationSettingDesc: "Select the type of notification to display"
-useGlobalSetting: "Use global setting"
+notificationSettingDesc: "Select the types of notification to display."
+useGlobalSetting: "Use global settings"
useGlobalSettingDesc: "If turned on, your account's notification settings will be used. If turned off, individual configurations can be made."
other: "Other"
regenerateLoginToken: "Regenerate login token"
-regenerateLoginTokenDescription: "Regenerate the token used internally during login. Normally this action is not necessary. If regenerated, all devices will be logged out."
-setMultipleBySeparatingWithSpace: "You can set multiple by separating them with spaces."
-fileIdOrUrl: "File-ID or URL"
-chatOpenBehavior: "Behavior of the chat window when opened"
+regenerateLoginTokenDescription: "Regenerates the token used internally during login. Normally this action is not necessary. If regenerated, all devices will be logged out."
+setMultipleBySeparatingWithSpace: "Separate multiple entries with spaces."
+fileIdOrUrl: "File ID or URL"
behavior: "Behavior"
sample: "Sample"
abuseReports: "Reports"
reportAbuse: "Report"
reportAbuseOf: "Report {name}"
-fillAbuseReportDescription: "Please fill in the report details. If it is about a specific note, please include its URL."
+fillAbuseReportDescription: "Please fill in details regarding this report. If it is about a specific note, please include its URL."
abuseReported: "Your report has been sent. Thank you very much."
+reporter: "Reporter"
+reporteeOrigin: "Reportee Origin"
+reporterOrigin: "Reporter Origin"
+forwardReport: "Forward report to remote instance"
+forwardReportIsAnonymous: "Instead of your account, an anonymous system account will be displayed as reporter at the remote instance."
send: "Send"
abuseMarkAsResolved: "Mark report as resolved"
openInNewTab: "Open in new tab"
@@ -626,38 +647,39 @@ clip: "Clip"
createNew: "Create new"
optional: "Optional"
createNewClip: "Create new clip"
+unclip: "Unclip"
+confirmToUnclipAlreadyClippedNote: "This note is already part of the \"{name}\" clip. Do you want to remove it from this clip instead?"
public: "Public"
i18nInfo: "Misskey is being translated into various languages by volunteers. You can help at {link}."
manageAccessTokens: "Manage access tokens"
accountInfo: "Account Info"
-notesCount: "Amount of notes"
-repliesCount: "Amount of replies sent"
-renotesCount: "Amount of renotes sent"
-repliedCount: "Amount of replies received"
-renotedCount: "Amount of renotes received"
-followingCount: "Amount of followed accounts"
-followersCount: "Amount of followers"
-sentReactionsCount: "Amount of sent reactions"
-receivedReactionsCount: "Amount of received reactions"
-pollVotesCount: "Amount of sent poll votes"
-pollVotedCount: "Amount of received poll votes"
+notesCount: "Number of notes"
+repliesCount: "Number of replies sent"
+renotesCount: "Number of renotes sent"
+repliedCount: "Number of replies received"
+renotedCount: "Number of renotes received"
+followingCount: "Number of followed accounts"
+followersCount: "Number of followers"
+sentReactionsCount: "Number of sent reactions"
+receivedReactionsCount: "Number of received reactions"
+pollVotesCount: "Number of sent poll votes"
+pollVotedCount: "Number of received poll votes"
yes: "Yes"
no: "No"
-driveFilesCount: "Amount of drive files"
+driveFilesCount: "Number of Drive files"
driveUsage: "Drive space usage"
noCrawle: "Reject crawler indexing"
-noCrawleDescription: "Ask search engines not to index your profile page, notes, Pages, etc."
-lockedAccountInfo: "Unless you set your note visiblity to \"Followers only\", your notes are visible to anyone, even if you require followers to be manually approved."
-alwaysMarkSensitive: "Mark NSFW by default"
-loadRawImages: "Display image attachments fully instead of thumbnails"
+noCrawleDescription: "Ask search engines to not index your profile page, notes, Pages, etc."
+lockedAccountInfo: "Unless you set your note visiblity to \"Followers only\", your notes will be visible to anyone, even if you require followers to be manually approved."
+alwaysMarkSensitive: "Mark as NSFW by default"
+loadRawImages: "Load original images instead of showing thumbnails"
disableShowingAnimatedImages: "Don't play animated images"
-verificationEmailSent: "A verification email has been sent. Please access the included link to complete verification."
+verificationEmailSent: "A verification email has been sent. Please follow the included link to complete verification."
notSet: "Not set"
emailVerified: "Email has been verified"
-noteFavoritesCount: "Amount of favorite notes"
-pageLikesCount: "Amount of received Page likes"
-pageLikedCount: "Amount of liked Pages"
-reversiCount: "Number of Reversi matches"
+noteFavoritesCount: "Number of favorite notes"
+pageLikesCount: "Number of liked Pages"
+pageLikedCount: "Number of received Page likes"
contact: "Contact"
useSystemFont: "Use the system's default font"
clips: "Clips"
@@ -671,27 +693,274 @@ left: "Left"
center: "Center"
wide: "Wide"
narrow: "Narrow"
-reloadToApplySetting: "This setting will be applied upon page reload. Reload now?"
+reloadToApplySetting: "This setting will only apply after a page reload. Reload now?"
+needReloadToApply: "A reload is required for this to be reflected."
showTitlebar: "Show title bar"
clearCache: "Clear cache"
-onlineUsersCount: "{n} people are online"
+onlineUsersCount: "{n} users are online"
nUsers: "{n} Users"
nNotes: "{n} Notes"
sendErrorReports: "Send error reports"
-sendErrorReportsDescription: "When turned on, detailed error information will be shared with Misskey when a problem occurs, helping to improve the quality of Misskey."
+sendErrorReportsDescription: "When turned on, detailed error information will be shared with Misskey when a problem occurs, helping to improve the quality of Misskey.\nThis will include information such the version of your OS, what browser you're using, your activity in Misskey, etc."
myTheme: "My theme"
-backgroundColor: "Background"
-accentColor: "Accent"
-textColor: "Text"
+backgroundColor: "Background color"
+accentColor: "Accent color"
+textColor: "Text color"
saveAs: "Save as..."
advanced: "Advanced"
value: "Value"
+createdAt: "Created at"
updatedAt: "Updated at"
saveConfirm: "Save changes?"
deleteConfirm: "Really delete?"
invalidValue: "Invalid value."
registry: "Registry"
closeAccount: "Close account"
+currentVersion: "Current version"
+latestVersion: "Newest version"
+youAreRunningUpToDateClient: "You are using the newest version of your client."
+newVersionOfClientAvailable: "There is a newer version of your client available."
+usageAmount: "Usage"
+capacity: "Capacity"
+inUse: "Used"
+editCode: "Edit code"
+apply: "Apply"
+receiveAnnouncementFromInstance: "Receive notifications from this instance"
+emailNotification: "Email notifications"
+publish: "Publish"
+inChannelSearch: "Search in channel"
+useReactionPickerForContextMenu: "Open reaction picker on right-click"
+typingUsers: "{users} is/are typing..."
+jumpToSpecifiedDate: "Jump to specific date"
+showingPastTimeline: "Currently displaying an old timeline"
+clear: "Return"
+markAllAsRead: "Mark all as read"
+goBack: "Back"
+unlikeConfirm: "Really remove your like?"
+fullView: "Full view"
+quitFullView: "Exit full view"
+addDescription: "Add description"
+userPagePinTip: "You can display notes here by selecting \"Pin to profile\" from the menu of individual notes."
+notSpecifiedMentionWarning: "This note contains mentions of users not included as recipients"
+info: "About"
+userInfo: "User information"
+unknown: "Unknown"
+onlineStatus: "Online status"
+hideOnlineStatus: "Hide online status"
+hideOnlineStatusDescription: "Hiding your online status reduces the convenience of some features such as the search."
+online: "Online"
+active: "Active"
+offline: "Offline"
+notRecommended: "Not recommended"
+botProtection: "Bot Protection"
+instanceBlocking: "Blocked Instances"
+selectAccount: "Select account"
+switchAccount: "Switch account"
+enabled: "Enabled"
+disabled: "Disabled"
+quickAction: "Quick actions"
+user: "User"
+administration: "Management"
+accounts: "Accounts"
+switch: "Switch"
+noMaintainerInformationWarning: "Maintainer information is not configured."
+noBotProtectionWarning: "Bot protection is not configured."
+configure: "Configure"
+postToGallery: "Create new gallery post"
+gallery: "Gallery"
+recentPosts: "Recent posts"
+popularPosts: "Popular posts"
+shareWithNote: "Share with note"
+ads: "Advertisements"
+expiration: "Deadline"
+memo: "Memo"
+priority: "Priority"
+high: "High"
+middle: "Medium"
+low: "Low"
+emailNotConfiguredWarning: "Email address not set."
+ratio: "Ratio"
+previewNoteText: "Show preview"
+customCss: "Custom CSS"
+customCssWarn: "This setting should only be used if you know what it does. Entering improper values may cause the client to stop functioning normally."
+global: "Global"
+squareAvatars: "Display squared avatars"
+sent: "Sent"
+received: "Received"
+searchResult: "Search results"
+hashtags: "Hashtags"
+troubleshooting: "Troubleshooting"
+useBlurEffect: "Use blur effects in the UI"
+learnMore: "Learn more"
+misskeyUpdated: "Misskey has been updated!"
+whatIsNew: "Show changes"
+translate: "Translate"
+translatedFrom: "Translated from {x}"
+accountDeletionInProgress: "Account deletion is currently in progress"
+usernameInfo: "A name that identifies your account from others on this server. You can use the alphabet (a~z, A~Z), digits (0~9) or underscores (_). Usernames cannot be changed later."
+aiChanMode: "Ai Mode"
+keepCw: "Keep content warnings"
+pubSub: "Pub/Sub Accounts"
+lastCommunication: "Last communication"
+resolved: "Resolved"
+unresolved: "Unresolved"
+breakFollow: "Remove follower"
+itsOn: "Enabled"
+itsOff: "Disabled"
+emailRequiredForSignup: "Require email address for sign-up"
+unread: "Unread"
+filter: "Filter"
+controlPanel: "Control Panel"
+manageAccounts: "Manage Accounts"
+makeReactionsPublic: "Set reaction history to public"
+makeReactionsPublicDescription: "This will make the list of all your past reactions publicly visible."
+classic: "Classic"
+muteThread: "Mute thread"
+unmuteThread: "Unmute thread"
+ffVisibility: "Follows/Followers Visibility"
+ffVisibilityDescription: "Allows you to configure who can see who you follow and who follows you."
+continueThread: "View thread continuation"
+deleteAccountConfirm: "This will irreversibly delete your account. Proceed?"
+incorrectPassword: "Incorrect password."
+voteConfirm: "Confirm your vote for \"{choice}\"?"
+hide: "Hide"
+leaveGroup: "Leave group"
+leaveGroupConfirm: "Are you sure you want to leave \"{name}\"?"
+useDrawerReactionPickerForMobile: "Display reaction picker as drawer on mobile"
+welcomeBackWithName: "Welcome back, {name}"
+clickToFinishEmailVerification: "Please click [{ok}] to complete email verification."
+overridedDeviceKind: "Device type"
+smartphone: "Smartphone"
+tablet: "Tablet"
+auto: "Auto"
+themeColor: "Instance Ticker Color"
+size: "Size"
+numberOfColumn: "Number of columns"
+searchByGoogle: "Search"
+instanceDefaultLightTheme: "Instance-wide default light theme"
+instanceDefaultDarkTheme: "Instance-wide default dark theme"
+instanceDefaultThemeDescription: "Enter the theme code in object format."
+mutePeriod: "Mute duration"
+indefinitely: "Permanently"
+tenMinutes: "10 minutes"
+oneHour: "One hour"
+oneDay: "One day"
+oneWeek: "One week"
+reflectMayTakeTime: "It may take some time for this to be reflected."
+failedToFetchAccountInformation: "Could not fetch account information"
+rateLimitExceeded: "Rate limit exceeded"
+cropImage: "Crop image"
+cropImageAsk: "Do you want to crop this image?"
+file: "File"
+recentNHours: "Last {n} hours"
+recentNDays: "Last {n} days"
+noEmailServerWarning: "Email server not configured."
+thereIsUnresolvedAbuseReportWarning: "There are unsolved reports."
+recommended: "Recommended"
+check: "Check"
+driveCapOverrideLabel: "Change the drive capacity for this user"
+driveCapOverrideCaption: "Reset the capacity to default by inputting a value of 0 or lower."
+requireAdminForView: "You must log in with an administrator account to view this."
+isSystemAccount: "An account created and automatically operated by the system."
+typeToConfirm: "Please enter {x} to confirm"
+deleteAccount: "Delete account"
+document: "Documentation"
+numberOfPageCache: "Number of cached pages"
+numberOfPageCacheDescription: "Increasing this number will improve convenience for users but cause more server load as well as more memory to be used."
+logoutConfirm: "Really log out?"
+lastActiveDate: "Last used at"
+statusbar: "Status bar"
+pleaseSelect: "Select an option"
+reverse: "Reverse"
+colored: "Colored"
+refreshInterval: "Update interval "
+label: "Label"
+type: "Type"
+speed: "Speed"
+slow: "Slow"
+fast: "Fast"
+sensitiveMediaDetection: "Detection of NSFW media"
+localOnly: "Local only"
+remoteOnly: "Remote only"
+failedToUpload: "Upload failed"
+cannotUploadBecauseInappropriate: "This file could not be uploaded because parts of it have been detected as potentially NSFW."
+cannotUploadBecauseNoFreeSpace: "Upload failed due to lack of Drive capacity."
+beta: "Beta"
+enableAutoSensitive: "Automatic NSFW-Marking"
+enableAutoSensitiveDescription: "Allows automatic detection and marking of NSFW media through Machine Learning where possible. Even if this option is disabled, it may be enabled instance-wide."
+activeEmailValidationDescription: "Enables stricter validation of email addresses, which includes checking for disposable addresses and by whether it can actually be communicated with. When unchecked, only the format of the email is validated."
+navbar: "Navigation bar"
+shuffle: "Shuffle"
+account: "Account"
+move: "Move"
+_sensitiveMediaDetection:
+ description: "Reduces the effort of server moderation through automatically recognizing NSFW media via Machine Learning. This will slightly increase the load on the server."
+ sensitivity: "Detection sensitivity"
+ sensitivityDescription: "Reducing the sensitivity will lead to fewer misdetections (false positives) whereas increasing it will lead to fewer missed detections (false negatives)."
+ setSensitiveFlagAutomatically: "Mark as NSFW"
+ setSensitiveFlagAutomaticallyDescription: "The results of the internal detection will be retained even if this option is turned off."
+ analyzeVideos: "Enable analysis of videos"
+ analyzeVideosDescription: "Analyzes videos in addition to images. This will slightly increase the load on the server."
+_emailUnavailable:
+ used: "This email address is already being used"
+ format: "The format of this email address is invalid"
+ disposable: "Disposable email addresses may not be used"
+ mx: "This email server is invalid"
+ smtp: "This email server is not responding"
+_ffVisibility:
+ public: "Public"
+ followers: "Visible to followers only"
+ private: "Private"
+_signup:
+ almostThere: "Almost there"
+ emailAddressInfo: "Please enter your email address. It will not be made public."
+ emailSent: "A confirmation email has been sent to your email address ({email}). Please click the included link to complete account creation."
+_accountDelete:
+ accountDelete: "Delete account"
+ mayTakeTime: "As account deletion is a resource-heavy process, it may take some time to complete depending on how much content you have created and how many files you have uploaded."
+ sendEmail: "Once account deletion has been completed, an email will be sent to the email address registered to this account."
+ requestAccountDelete: "Request account deletion"
+ started: "Deletion has been started."
+ inProgress: "Deletion is currently in progress"
+_ad:
+ back: "Back"
+ reduceFrequencyOfThisAd: "Show this ad less"
+_forgotPassword:
+ enterEmail: "Enter the email address you used to register. A link with which you can reset your password will then be sent to it."
+ ifNoEmail: "If you did not use an email during registration, please contact the instance administrator instead."
+ contactAdmin: "This instance does not support using email addresses, please contact the instance administrator to reset your password instead."
+_gallery:
+ my: "My Gallery"
+ liked: "Liked Posts"
+ like: "Like"
+ unlike: "Remove like"
+_email:
+ _follow:
+ title: "You've got a new follower"
+ _receiveFollowRequest:
+ title: "You've received a follow request"
+_plugin:
+ install: "Install plugins"
+ installWarn: "Please do not install untrustworthy plugins."
+ manage: "Manage plugins"
+_preferencesBackups:
+ list: "Created backups"
+ saveNew: "Save new backup"
+ loadFile: "Load from file"
+ apply: "Apply to this device"
+ save: "Save changes"
+ inputName: "Please enter a name for this backup"
+ cannotSave: "Saving failed"
+ nameAlreadyExists: "A backup called \"{name}\" already exists. Please enter a different name."
+ applyConfirm: "Do you really want to apply the \"{name}\" backup to this device? Existing settings of this device will be overwritten."
+ saveConfirm: "Save backup as {name}?"
+ deleteConfirm: "Delete the {name} backup?"
+ renameConfirm: "Rename this backup from \"{old}\" to \"{new}\"?"
+ noBackups: "No backups exist. You may backup your client settings on this server by using \"Create new backup\"."
+ createdAt: "Created at: {date} {time}"
+ updatedAt: "Updated at: {date} {time}"
+ cannotLoad: "Loading failed"
+ invalidFile: "Invalid file format"
_registry:
scope: "Scope"
key: "Key"
@@ -705,8 +974,8 @@ _aboutMisskey:
source: "Source code"
translation: "Translate Misskey"
donate: "Donate to Misskey"
- morePatrons: "We really appreciate the support of many other helpers not listed here. Thank you! 🥰"
- patrons: "Backers"
+ morePatrons: "We also appreciate the support of many other helpers not listed here. Thank you! 🥰"
+ patrons: "Patrons"
_nsfw:
respect: "Hide NSFW media"
ignore: "Don't hide NSFW media"
@@ -716,29 +985,29 @@ _mfm:
intro: "MFM is a Misskey-exclusive markup language that can be used in many places. Here you can view a list of all available MFM syntax."
dummy: "Misskey expands the world of the Fediverse"
mention: "Mention"
- mentionDescription: "Using an At-Symbol and a username, you can specify a specific user."
+ mentionDescription: "You can specify a user by using an At-Symbol and a username."
hashtag: "Hashtag"
- hashtagDescription: "Using a number sign and text, you can specify a hashtag."
+ hashtagDescription: "You can specify a hashtag using a number sign and text."
url: "URL"
urlDescription: "URLs can be displayed."
link: "Link"
- linkDescription: "Specific parts of text can be displayed as URL."
+ linkDescription: "Specific parts of text can be displayed as a URL."
bold: "Bold"
boldDescription: "Highlights letters by making them thicker."
small: "Small"
- smallDescription: "Displays contents small and thinn."
+ smallDescription: "Displays content small and thin."
center: "Center"
centerDescription: "Displays content centered."
inlineCode: "Code (Inline)"
- inlineCodeDescription: "Displays inline syntax highlighting for (program-)code."
+ inlineCodeDescription: "Displays inline syntax highlighting for (program) code."
blockCode: "Code (Block)"
- blockCodeDescription: "Displays syntax highlighting for multi-line (program-)code in a block."
- inlineMath: "Math (In-line)"
+ blockCodeDescription: "Displays syntax highlighting for multi-line (program) code in a block."
+ inlineMath: "Math (Inline)"
inlineMathDescription: "Display math formulas (KaTeX) in-line"
blockMath: "Math (Block)"
- blockMathDescription: "Display multi-line Math formulas (KaTeX) in a block"
+ blockMathDescription: "Display multi-line math formulas (KaTeX) in a block"
quote: "Quote"
- quoteDescription: "Displays content as quote."
+ quoteDescription: "Displays content as a quote."
emoji: "Custom Emoji"
emojiDescription: "By surrounding a custom emoji name with colons, custom emoji can be displayed."
search: "Search"
@@ -746,62 +1015,37 @@ _mfm:
flip: "Flip"
flipDescription: "Flips content horizontally or vertically."
jelly: "Animation (Jelly)"
- jellyDescription: "Infuses a jelly-like animation."
+ jellyDescription: "Gives content a jelly-like animation."
tada: "Animation (Tada)"
- tadaDescription: "Infuses a \"Tada!\"-like animation."
+ tadaDescription: "Gives content a \"Tada!\"-like animation."
jump: "Animation (Jump)"
- jumpDescription: "Infuses a jumping animation."
+ jumpDescription: "Gives content a jumping animation."
bounce: "Animation (Bounce)"
- bounceDescription: "Causes a bouncy animation."
+ bounceDescription: "Gives content a bouncy animation."
shake: "Animation (Shake)"
- shakeDescription: "Infuses a shaking animation."
+ shakeDescription: "Gives content a shaking animation."
twitch: "Animation (Twitch)"
- twitchDescription: "Infuses a strongly twitching animation."
+ twitchDescription: "Gives content a strongly twitching animation."
spin: "Animation (Spin)"
- spinDescription: "Infuses a spinning animation."
+ spinDescription: "Gives content a spinning animation."
x2: "Big"
x2Description: "Displays content bigger."
x3: "Very big"
x3Description: "Displays content even bigger."
- x4: "Extremely big"
+ x4: "Unbelievably big"
x4Description: "Displays content even bigger than bigger than big."
blur: "Blur"
- blurDescription: "Content can be blurred via this effect. It will be clearly displayed by hovering your cursor above it."
+ blurDescription: "Blurs content. It will be displayed clearly when hovered over."
font: "Font"
- fontDescription: "Sets the font to display contents in."
-_reversi:
- reversi: "Reversi"
- gameSettings: "Game settings"
- chooseBoard: "Choose a board"
- blackOrWhite: "Black/White"
- blackIs: "{name} is playing Black"
- rules: "Rules"
- botSettings: "Bot options"
- thisGameIsStartedSoon: "The game will start in a few seconds"
- waitingForOther: "Waiting for the opponent's turn"
- waitingForMe: "Waiting for your turn"
- waitingBoth: "Get ready"
- ready: "Ready"
- cancelReady: "Cancel ready"
- opponentTurn: "Opponent's turn"
- myTurn: "Your turn"
- turnOf: "{name}'s turn"
- pastTurnOf: "{name}'s turn"
- surrender: "Surrender"
- surrendered: "By surrender"
- drawn: "Draw"
- won: "{name}'s win"
- black: "Black"
- white: "White"
- total: "Total"
- turnCount: "Turn {count}"
- myGames: "My rounds"
- allGames: "All rounds"
- ended: "Ended"
- playing: "Currently playing"
- isLlotheo: "The one with fewer stones wins (Llotheo)"
- loopedMap: "Looped map"
- canPutEverywhere: "Tiles are placeable everywhere"
+ fontDescription: "Sets the font to display content in."
+ rainbow: "Rainbow"
+ rainbowDescription: "Makes the content appear in rainbow colors."
+ sparkle: "Sparkle"
+ sparkleDescription: "Gives content a sparkling particle effect."
+ rotate: "Rotate"
+ rotateDescription: "Turns content by a specified angle."
+ plain: "Plain"
+ plainDescription: "Deactivates the effects of all MFM contained within this MFM effect."
_instanceTicker:
none: "Never show"
remote: "Show for remote users"
@@ -820,29 +1064,36 @@ _channel:
following: "Followed"
usersCount: "{n} Participants"
notesCount: "{n} Notes"
-_sidebar:
- full: "Full"
- icon: "Icons"
+_menuDisplay:
+ sideFull: "Side"
+ sideIcon: "Side (Icons)"
+ top: "Top"
hide: "Hide"
_wordMute:
- muteWords: "Word to mute"
- muteWordsDescription: "Separate with spaces for AND condition. Separate with line breaks for OR."
- muteWordsDescription2: "Surround keywords by slashes to use regular expressions."
- softDescription: "Hide notes fulfilling the set conditions from the timeline."
- hardDescription: "Prevent notes fulfilling the set conditions from being added to the timeline. In addition, these notes will not be added to the timeline even if the conditions are changed."
+ muteWords: "Muted words"
+ muteWordsDescription: "Separate with spaces for an AND condition or with line breaks for an OR condition."
+ muteWordsDescription2: "Surround keywords with slashes to use regular expressions."
+ softDescription: "Hide notes that fulfil the set conditions from the timeline."
+ hardDescription: "Prevents notes fulfilling the set conditions from being added to the timeline. In addition, these notes will not be added to the timeline even if the conditions are changed."
soft: "Soft"
hard: "Hard"
mutedNotes: "Muted notes"
+_instanceMute:
+ instanceMuteDescription: "This will mute any notes/renotes from the listed instances, including those of users replying to a user from a muted instance."
+ instanceMuteDescription2: "Separate with newlines"
+ title: "Hides notes from listed instances."
+ heading: "List of instances to be muted"
_theme:
explore: "Explore Themes"
- install: "Install theme"
- manage: "Themes manager"
+ install: "Install a theme"
+ manage: "Manage themes"
code: "Theme code"
+ description: "Description"
installed: "{name} has been installed"
installedThemes: "Installed themes"
builtinThemes: "Built-in themes"
- alreadyInstalled: "The theme is already installed"
- invalid: "Theme format is invalid"
+ alreadyInstalled: "This theme is already installed"
+ invalid: "The format of this theme is invalid"
make: "Make a theme"
base: "Base"
addConstant: "Add constant"
@@ -859,7 +1110,7 @@ _theme:
alpha: "Opacity"
darken: "Darken"
lighten: "Lighten"
- inputConstantName: "Enter a name for the constant"
+ inputConstantName: "Enter a name for this constant"
importInfo: "If you enter theme code here, you can import it to the theme editor"
deleteConstantConfirm: "Do you really want to delete the constant {const}?"
keys:
@@ -885,14 +1136,14 @@ _theme:
divider: "Divider"
scrollbarHandle: "Scrollbar handle"
scrollbarHandleHover: "Scrollbar handle (Hover)"
- dateLabelFg: "Text of date labels"
+ dateLabelFg: "Date label text"
infoBg: "Information background"
infoFg: "Information text"
infoWarnBg: "Warning background"
infoWarnFg: "Warning text"
- cwBg: "CW background"
- cwFg: "CW text"
- cwHoverBg: "CW background (Hover)"
+ cwBg: "CW button background"
+ cwFg: "CW button text"
+ cwHoverBg: "CW button background (Hover)"
toastBg: "Notification background"
toastFg: "Notification text"
buttonBg: "Button background"
@@ -908,104 +1159,106 @@ _theme:
fgHighlighted: "Highlighted Text"
_sfx:
note: "New note"
- noteMy: "My note"
+ noteMy: "Own note"
notification: "Notifications"
- chat: "Messaging"
- chatBg: "Messaging (Background)"
- antenna: "Antenna Reception"
+ chat: "Chat"
+ chatBg: "Chat (Background)"
+ antenna: "Antennas"
channel: "Channel notifications"
- reversiPutBlack: "Reversi: Black makes a move"
- reversiPutWhite: "Reversi: White makes a move"
_ago:
- unknown: "Unknown"
future: "Future"
justNow: "Just now"
- secondsAgo: "{n}s ago"
- minutesAgo: "{n}m ago"
- hoursAgo: "{n}h ago"
- daysAgo: "{n}d ago"
- weeksAgo: "{n}week(s) ago"
- monthsAgo: "{n}month(s) ago"
- yearsAgo: "{n}year(s) ago"
+ secondsAgo: "{n} second(s) ago"
+ minutesAgo: "{n} minute(s) ago"
+ hoursAgo: "{n} hour(s) ago"
+ daysAgo: "{n} day(s) ago"
+ weeksAgo: "{n} week(s) ago"
+ monthsAgo: "{n} month(s) ago"
+ yearsAgo: "{n} year(s) ago"
_time:
- second: "s"
- minute: "m"
- hour: "h"
- day: "d"
+ second: "Second(s)"
+ minute: "Minute(s)"
+ hour: "Hour(s)"
+ day: "Day(s)"
_tutorial:
title: "How to use Misskey"
step1_1: "Welcome!"
- step1_2: "This page is called \"timeline\". It shows chronologically ordered \"notes\" of people who you \"follow\"."
+ step1_2: "This page is called the \"timeline\". It shows chronologically ordered \"notes\" of people who you \"follow\"."
step1_3: "Your timeline is currently empty, since you have not posted any notes or followed anyone yet."
step2_1: "Let's finish setting up your profile before writing a note or following anyone."
- step2_2: "Providing some information about who you are will make it easier for others to follow you back."
+ step2_2: "Providing some information about who you are will make it easier for others to tell if they want to see your notes or follow you."
step3_1: "Finished setting up your profile?"
- step3_2: "The next step is to post a note. You can do this by pressing the pencil icon on the screen."
+ step3_2: "Then let's try posting a note next. You can do so by pressing the button with a pencil icon on the screen."
step3_3: "Fill in the modal and press the button on the top right to post."
step3_4: "Have nothing to say? Try \"just setting up my msky\"!"
step4_1: "Finished posting your first note?"
- step4_2: "Hurray! Now your first note is displayed on your timeline."
+ step4_2: "Hurray! Now your first note should be displayed on your timeline."
step5_1: "Now, let's try making your timeline more lively by following other people."
- step5_2: "{featured} will show you trending notes in this instance. {explore} will let you find trending users. Try following people you like!"
- step5_3: "To follow other users, click on their icon and press \"follow\" button on their profile."
- step5_4: "If the other user has a lock icon next to their name, that user will have to manually approve your follow request."
- step6_1: "Now you will be able to see other users' notes on your timeline."
- step6_2: "You can also put \"reactions\" on other people's notes to quickly respond."
+ step5_2: "{featured} will show you popular notes in this instance. {explore} will let you find popular users. Try finding people you'd like to follow there!"
+ step5_3: "To follow other users, click on their icon and press the \"Follow\" button on their profile."
+ step5_4: "If the other user has a lock icon next to their name, it may take some time for that user to manually approve your follow request."
+ step6_1: "You should be able to see other users' notes on your timeline now."
+ step6_2: "You can also put \"reactions\" on other people's notes to quickly respond to them."
step6_3: "To attach a \"reaction\", press the \"+\" mark on another user's note and choose an emoji you'd like to react with."
step7_1: "Congratulations! You have now finished Misskey's basic tutorial."
step7_2: "If you would like to learn more about Misskey, try the {help} section."
- step7_3: "Good luck and have fun! 🚀"
+ step7_3: "Now then, good luck and have fun with Misskey! 🚀"
_2fa:
- alreadyRegistered: "You have already registered 2-factor authentication device."
+ alreadyRegistered: "You have already registered a 2-factor authentication device."
registerDevice: "Register a new device"
- registerKey: "Register a new Security Key"
+ registerKey: "Register a security key"
step1: "First, install an authentication app (such as {a} or {b}) on your device."
- step2: "Then, scan the QR code on the screen."
+ step2: "Then, scan the QR code displayed on this screen."
+ step2Url: "You can also enter this URL if you're using a desktop program:"
step3: "Enter the token provided by your app to finish setup."
- step4: "From now, any login attempt will ask for your login token."
- securityKeyInfo: "You can setup WebAuthN authentication to further secure the log-in process with not only hardware security key which supports FIDO2, but also fingerprint or PIN authentication on your device."
+ step4: "From now on, any future login attempts will ask for such a login token."
+ securityKeyInfo: "Besides fingerprint or PIN authentication, you can also setup authentication via hardware security keys that support FIDO2 to further secure your account."
_permissions:
"read:account": "View your account information"
"write:account": "Edit your account information"
- "read:blocks": "View the list of people you blocked"
- "write:blocks": "Edit the list of people you blocked"
- "read:drive": "Access your drive files and folders"
- "write:drive": "Edit or delete your drive files and folders"
- "read:favorites": "View your favorites list"
- "write:favorites": "Edit your favorites list"
- "read:following": "View your following information"
+ "read:blocks": "View your list of blocked users"
+ "write:blocks": "Edit your list of blocked users"
+ "read:drive": "Access your Drive files and folders"
+ "write:drive": "Edit or delete your Drive files and folders"
+ "read:favorites": "View your list of favorites"
+ "write:favorites": "Edit your list of favorites"
+ "read:following": "View information on who you follow"
"write:following": "Follow or unfollow other accounts"
- "read:messaging": "View your messages"
- "write:messaging": "Compose or Delete messages"
- "read:mutes": "View the list of people you muted"
- "write:mutes": "Edit the list of people you muted"
- "write:notes": "Compose or Delete notes"
- "read:notifications": "View notifications"
- "write:notifications": "Work with notifications"
- "read:reactions": "View reactions"
- "write:reactions": "Edit reactions"
+ "read:messaging": "View your chats"
+ "write:messaging": "Compose or delete chat messages"
+ "read:mutes": "View your list of muted users"
+ "write:mutes": "Edit your list of muted users"
+ "write:notes": "Compose or delete notes"
+ "read:notifications": "View your notifications"
+ "write:notifications": "Manage your notifications"
+ "read:reactions": "View your reactions"
+ "write:reactions": "Edit your reactions"
"write:votes": "Vote on a poll"
"read:pages": "View your pages"
"write:pages": "Edit or delete your pages"
- "read:page-likes": "View likes on pages"
- "write:page-likes": "Edit likes on pages"
- "read:user-groups": "View user groups"
- "write:user-groups": "Edit or delete user groups"
- "read:channels": "Read channels"
- "write:channels": "Modify channels"
+ "read:page-likes": "View your likes on pages"
+ "write:page-likes": "Edit your likes on pages"
+ "read:user-groups": "View your user groups"
+ "write:user-groups": "Edit or delete your user groups"
+ "read:channels": "View your channels"
+ "write:channels": "Edit your channels"
+ "read:gallery": "View your gallery"
+ "write:gallery": "Edit your gallery"
+ "read:gallery-likes": "View your list of liked gallery posts"
+ "write:gallery-likes": "Edit your list of liked gallery posts"
_auth:
shareAccess: "Would you like to authorize \"{name}\" to access this account?"
shareAccessAsk: "Are you sure you want to authorize this application to access your account?"
- permissionAsk: "This application requires following permissions:"
+ permissionAsk: "This application requests the following permissions"
pleaseGoBack: "Please go back to the application"
- callback: "Returning back to the application"
- denied: "Access Denied"
+ callback: "Returning to the application"
+ denied: "Access denied"
_antennaSources:
all: "All notes"
- homeTimeline: "Notes from following users"
+ homeTimeline: "Notes from followed users"
users: "Notes from specific users"
- userList: "Notes from specific list"
- userGroup: "Notes from users in the specified group"
+ userList: "Notes from a specified list of users"
+ userGroup: "Notes from users in a specified group"
_weekday:
sunday: "Sunday"
monday: "Monday"
@@ -1022,58 +1275,63 @@ _widgets:
trends: "Trending"
clock: "Clock"
rss: "RSS reader"
+ rssTicker: "RSS-Ticker"
activity: "Activity"
photos: "Photos"
digitalClock: "Digital clock"
+ unixClock: "UNIX clock"
federation: "Federation"
- postForm: "Compose a note"
+ instanceCloud: "Instance cloud"
+ postForm: "Posting form"
slideshow: "Slideshow"
button: "Button"
onlineUsers: "Online users"
jobQueue: "Job Queue"
serverMetric: "Server metrics"
+ aiscript: "AiScript console"
+ aichan: "Ai"
_cw:
hide: "Hide"
- show: "Load more"
+ show: "Show content"
chars: "{count} characters"
files: "{count} file(s)"
_poll:
noOnlyOneChoice: "At least two choices are needed"
choiceN: "Choice {n}"
noMore: "You cannot add more choices"
- canMultipleVote: "Allow multiple replies"
- expiration: "Poll ends on"
+ canMultipleVote: "Allow selecting multiple choices"
+ expiration: "End poll"
infinite: "Never"
at: "End at..."
after: "End after..."
deadlineDate: "End date"
- deadlineTime: "h"
+ deadlineTime: "Time"
duration: "Duration"
votesCount: "{n} votes"
- totalVotes: "Total {n} votes"
- vote: "Vote on a poll"
+ totalVotes: "{n} votes in total"
+ vote: "Vote"
showResult: "View results"
voted: "Voted"
closed: "Ended"
- remainingDays: "{d} days {h} hours remaining"
- remainingHours: "{h} hours {m} minutes remaining"
- remainingMinutes: "{m} minutes {s} seconds remaining"
- remainingSeconds: "{s} seconds remaining"
+ remainingDays: "{d} day(s) {h} hour(s) remaining"
+ remainingHours: "{h} hour(s) {m} minute(s) remaining"
+ remainingMinutes: "{m} minute(s) {s} second(s) remaining"
+ remainingSeconds: "{s} second(s) remaining"
_visibility:
public: "Public"
- publicDescription: "Your note will appear on global timeline"
+ publicDescription: "Your note will be visible for all users"
home: "Home"
homeDescription: "Post to home timeline only"
followers: "Followers"
- followersDescription: "Post to followers only"
+ followersDescription: "Make visible to your followers only"
specified: "Direct"
- specifiedDescription: "Post to specified users only"
+ specifiedDescription: "Make visible for specified users only"
localOnly: "Local only"
localOnlyDescription: "Not visible to remote users"
_postForm:
replyPlaceholder: "Reply to this note..."
quotePlaceholder: "Quote this note..."
- channelPlaceholder: "Post to channel"
+ channelPlaceholder: "Post to a channel..."
_placeholders:
a: "What are you up to?"
b: "What's happening around you?"
@@ -1088,147 +1346,87 @@ _profile:
youCanIncludeHashtags: "You can also include hashtags in your bio."
metadata: "Additional Information"
metadataEdit: "Edit additional Information"
- metadataDescription: "You can display up to four additional information sections in your profile."
+ metadataDescription: "Using these, you can display additional information fields in your profile."
metadataLabel: "Label"
metadataContent: "Content"
changeAvatar: "Change avatar"
changeBanner: "Change banner"
_exportOrImport:
allNotes: "All notes"
- followingList: "Following"
- muteList: "Mute"
- blockingList: "Block"
- userLists: "Lists"
+ followingList: "Followed users"
+ muteList: "Muted users"
+ blockingList: "Blocked users"
+ userLists: "User lists"
+ excludeMutingUsers: "Exclude muted users"
+ excludeInactiveUsers: "Exclude inactive users"
_charts:
- federationInstancesIncDec: "Difference in # of federating instances"
- federationInstancesTotal: "Total # of federating instances"
- usersIncDec: "Difference in # of users"
- usersTotal: "Total # of users"
+ federation: "Federation"
+ apRequest: "Requests"
+ usersIncDec: "Difference in the number of users"
+ usersTotal: "Total number of users"
activeUsers: "Active users"
- notesIncDec: "Difference in # of notes"
- localNotesIncDec: "Difference in # of local notes"
- remoteNotesIncDec: "Difference in # of remote notes"
- notesTotal: "Total # of notes"
- filesIncDec: "Difference in # of files"
- filesTotal: "Total # of files"
- storageUsageIncDec: "Difference in storage use"
+ notesIncDec: "Difference in the number of notes"
+ localNotesIncDec: "Difference in the number of local notes"
+ remoteNotesIncDec: "Difference in the number of remote notes"
+ notesTotal: "Total number of notes"
+ filesIncDec: "Difference in the number of files"
+ filesTotal: "Total number of files"
+ storageUsageIncDec: "Difference in storage usage"
storageUsageTotal: "Total storage usage"
_instanceCharts:
requests: "Requests"
- users: "Difference in # of users"
- usersTotal: "Cumulative total # of users"
- notes: "Difference in # of notes"
- notesTotal: "Cumulative total # of notes"
- ff: "Difference in # of followers"
- ffTotal: "Cumulative total # of followers"
+ users: "Difference in the number of users"
+ usersTotal: "Cumulative number of users"
+ notes: "Difference in the number of notes"
+ notesTotal: "Cumulative number of notes"
+ ff: "Difference in the number of followed users / followers "
+ ffTotal: "Cumulative number of followed users / followers"
cacheSize: "Difference in cache size"
cacheSizeTotal: "Cumulative total cache size"
- files: "Difference in # of files"
- filesTotal: "Cumulative total # of files"
+ files: "Difference in the number of files"
+ filesTotal: "Cumulative number of files"
_timelines:
home: "Home"
local: "Local"
social: "Social"
global: "Global"
-_rooms:
- roomOf: "{user}'s room"
- addFurniture: "Place furniture"
- translate: "Move"
- rotate: "Rotate"
- exit: "Back"
- remove: "Remove"
- clear: "Remove All"
- clearConfirm: "Are you sure to remove all furnitures in your room?"
- leaveConfirm: "There are unsaved changes. Do you really want to leave?"
- chooseImage: "Select an image"
- roomType: "Room type"
- carpetColor: "Color of carpet"
- _roomType:
- default: "Default"
- washitsu: "Japanese-style"
- _furnitures:
- milk: "Milk carton"
- bed: "Bed"
- low-table: "Low Table"
- desk: "Desk"
- chair: "Chair"
- chair2: "Chair 2"
- fan: "Fan"
- pc: "Computer"
- plant: "Houseplant"
- plant2: "Houseplant 2"
- eraser: "Eraser"
- pencil: "Pencil"
- pudding: "Pudding"
- cardboard-box: "Cardboard Box"
- cardboard-box2: "Cardboard Box 2"
- cardboard-box3: "Cardboard Box 3"
- book: "Book"
- book2: "Book 2"
- piano: "Piano"
- facial-tissue: "Facial tissue"
- server: "Servers"
- moon: "Moon"
- corkboard: "Cork board"
- mousepad: "Mousepad"
- monitor: "Monitor"
- keyboard: "Keyboard"
- carpet-stripe: "Carpet (stripe)"
- mat: "Mat"
- color-box: "Bookshelf"
- wall-clock: "Wall clock"
- photoframe: "Picture frame"
- cube: "Cube"
- tv: "TV"
- pinguin: "Penguin"
- rubik-cube: "Rubik's Cube"
- poster-h: "Poster (Horizontal)"
- poster-v: "Poster (Vertical)"
- sofa: "Sofa"
- spiral: "Spiral Staircase"
- bin: "Waste bin"
- cup-noodle: "Cup noodle"
- holo-display: "Holographic display"
- energy-drink: "Energy drink"
- doll-ai: "Ai doll"
- banknote: "Pile of money"
_pages:
- newPage: "Create a page"
- editPage: "Edit this page"
- readPage: "Source view activated"
- created: "Successfully created a page!"
- updated: "Successfully updated the page!"
- deleted: "The page has been deleted"
+ newPage: "Create a new Page"
+ editPage: "Edit this Page"
+ readPage: "Viewing this Page's source"
+ created: "Page successfully created"
+ updated: "Page successfully edited"
+ deleted: "Page successfully deleted"
pageSetting: "Page settings"
- nameAlreadyExists: "The specified page URL already exists"
- invalidNameTitle: "The specified page URL is invalid"
- invalidNameText: "Check whether that is not a blank"
- editThisPage: "Edit this page"
+ nameAlreadyExists: "The specified Page URL already exists"
+ invalidNameTitle: "The specified Page URL is invalid"
+ invalidNameText: "Make sure the Page title is not empty"
+ editThisPage: "Edit this Page"
viewSource: "View source"
- viewPage: "View your pages"
+ viewPage: "View your Pages"
like: "Like"
- unlike: "Undo like"
- my: "My pages"
- liked: "Liked pages"
- featured: "Featured"
+ unlike: "Remove like"
+ my: "My Pages"
+ liked: "Liked Pages"
+ featured: "Popular"
inspector: "Inspector"
- contents: "Content"
+ contents: "Contents"
content: "Page block"
variables: "Variables"
title: "Title"
url: "Page URL"
summary: "Page summary"
alignCenter: "Center elements"
- hideTitleWhenPinned: "Hide page title when pinned to profile"
+ hideTitleWhenPinned: "Hide Page title when pinned to profile"
font: "Font"
fontSerif: "Serif"
- fontSansSerif: "Sans serif"
- eyeCatchingImageSet: "Set the eye-catching image"
- eyeCatchingImageRemove: "Delete the eye-catching image"
+ fontSansSerif: "Sans Serif"
+ eyeCatchingImageSet: "Set thumbnail"
+ eyeCatchingImageRemove: "Delete thumbnail"
chooseBlock: "Add a block"
selectType: "Select a type"
- enterVariableName: "Please enter a name for your variable"
- variableNameIsAlreadyUsed: "This name is already being used by other variable"
+ enterVariableName: "Enter a variable name"
+ variableNameIsAlreadyUsed: "This variable name is already in use"
contentBlocks: "Content"
inputBlocks: "Input"
specialBlocks: "Special"
@@ -1241,10 +1439,10 @@ _pages:
if: "If"
_if:
variable: "Variable"
- post: "Compose a note"
+ post: "Posting form"
_post:
text: "Content"
- attachCanvasImage: "Post with Canvas as Image"
+ attachCanvasImage: "Attach canvas image"
canvasId: "Canvas ID"
textInput: "Text input"
_textInput:
@@ -1269,7 +1467,7 @@ _pages:
note: "Embedded note"
_note:
id: "Note ID"
- idDescription: "You can also paste the Note's URL to set it instead."
+ idDescription: "You can alternatively paste the note URL here."
detailed: "Detailed view"
switch: "Switch"
_switch:
@@ -1280,11 +1478,11 @@ _pages:
_counter:
name: "Variable name"
text: "Title"
- inc: "Increase by"
+ inc: "Step"
_button:
text: "Title"
colored: "Colored"
- action: "Operation when the button is pressed"
+ action: "Behavior when the button is pressed"
_action:
dialog: "Show a dialog"
_dialog:
@@ -1303,7 +1501,7 @@ _pages:
_radioButton:
name: "Variable name"
title: "Title"
- values: "List of choices (separated by line breaks)"
+ values: "List of choices separated by line breaks"
default: "Default value"
script:
categories:
@@ -1315,7 +1513,7 @@ _pages:
value: "Values"
fn: "Functions"
text: "Text operations"
- convert: "Transformation"
+ convert: "Transformations"
list: "Lists"
blocks:
text: "Text"
@@ -1323,18 +1521,18 @@ _pages:
textList: "Text list"
_textList:
info: "Separate each entry with a line break"
- strLen: "Length of the text"
+ strLen: "Text length"
_strLen:
arg1: "Text"
- strPick: "Extract character"
+ strPick: "Extract string"
_strPick:
arg1: "Text"
- arg2: "Character location"
- strReplace: "Text replacement"
+ arg2: "String location"
+ strReplace: "Replacement string"
_strReplace:
arg1: "Text"
arg2: "Text to be replaced"
- arg3: "Replaced with"
+ arg3: "Replace with"
strReverse: "Flip text"
_strReverse:
arg1: "Text"
@@ -1346,7 +1544,7 @@ _pages:
_add:
arg1: "A"
arg2: "B"
- subtract: "Substract"
+ subtract: "Subtract"
_subtract:
arg1: "A"
arg2: "B"
@@ -1362,7 +1560,7 @@ _pages:
_mod:
arg1: "A"
arg2: "B"
- round: "Round decimal"
+ round: "Decimal rounding"
_round:
arg1: "Number"
eq: "A and B are equal"
@@ -1393,15 +1591,15 @@ _pages:
_ltEq:
arg1: "A"
arg2: "B"
- gtEq: ">= A is more than or equal to B"
+ gtEq: ">= A is greater than or equal to B"
_gtEq:
arg1: "A"
arg2: "B"
if: "Branch"
_if:
arg1: "If"
- arg2: "If true"
- arg3: "If false"
+ arg2: "Then"
+ arg3: "Else"
not: "NOT"
_not:
arg1: "NOT"
@@ -1414,17 +1612,17 @@ _pages:
arg2: "Maximum value"
randomPick: "Randomly choose from list"
_randomPick:
- arg1: "Lists"
- dailyRandom: "Random (lasts for a day)"
+ arg1: "List"
+ dailyRandom: "Random (Changes once a day for each user)"
_dailyRandom:
arg1: "Probability"
- dailyRannum: "Random number (lasts for a day)"
+ dailyRannum: "Random number (Changes once a day for each user)"
_dailyRannum:
arg1: "Minimum value"
arg2: "Maximum value"
- dailyRandomPick: "Randomly choose from list (lasts for a day)"
+ dailyRandomPick: "Randomly choose from a list (Changes once a day for each user)"
_dailyRandomPick:
- arg1: "Lists"
+ arg1: "List"
seedRandom: "Random (with seed)"
_seedRandom:
arg1: "Seed"
@@ -1437,17 +1635,17 @@ _pages:
seedRandomPick: "Randomly choose from list (with seed)"
_seedRandomPick:
arg1: "Seed"
- arg2: "Lists"
- DRPWPM: "Randomly choose from weighted list (lasts for a day)"
+ arg2: "List"
+ DRPWPM: "Randomly choose from weighted list (Changes once a day for each user)"
_DRPWPM:
arg1: "Text list"
pick: "Select from list"
_pick:
- arg1: "Lists"
+ arg1: "List"
arg2: "Position"
listLen: "Get length of list"
_listLen:
- arg1: "Lists"
+ arg1: "List"
number: "Number"
stringToNumber: "Text to number"
_stringToNumber:
@@ -1458,29 +1656,29 @@ _pages:
splitStrByLine: "Split text by line breaks"
_splitStrByLine:
arg1: "Text"
- ref: "Variables"
- aiScriptVar: "Variable of AiScript"
- fn: "Functions"
+ ref: "Variable"
+ aiScriptVar: "AiScript Variable"
+ fn: "Function"
_fn:
slots: "Slots"
- slots-info: "Separate each slots with a line break"
+ slots-info: "Separate each slot with a line break"
arg1: "Output"
- for: "Repeat"
+ for: "for-Loop"
_for:
arg1: "Number of times to repeat"
arg2: "Action"
- typeError: "Slot {slot} accepts \"{expect}\" type, but the provided value is \"{actual}\"!"
+ typeError: "Slot {slot} accepts values of type \"{expect}\", but the provided value is of type \"{actual}\"!"
thereIsEmptySlot: "Slot {slot} is empty!"
types:
string: "Text"
number: "Number"
boolean: "Flag"
- array: "Lists"
+ array: "List"
stringArray: "Text list"
emptySlot: "Empty slot"
- enviromentVariables: "Environment variable"
- pageVariables: "Page element"
- argVariables: "Input slot"
+ enviromentVariables: "Environment variables"
+ pageVariables: "Page variables"
+ argVariables: "Input slots"
_relayStatus:
requesting: "Pending"
accepted: "Accepted"
@@ -1490,46 +1688,57 @@ _notification:
youGotMention: "{name} mentioned you"
youGotReply: "{name} replied to you"
youGotQuote: "{name} quoted you"
- youRenoted: "{name} renoted you"
+ youRenoted: "Renote from {name}"
youGotPoll: "{name} voted on your poll"
- youGotMessagingMessageFromUser: "{name} sent you a message"
- youGotMessagingMessageFromGroup: "A message was sent to the {name} group"
- youWereFollowed: "Followed you"
+ youGotMessagingMessageFromUser: "{name} sent you a chat message"
+ youGotMessagingMessageFromGroup: "A chat message was sent to the {name} group"
+ youWereFollowed: "followed you"
youReceivedFollowRequest: "You've received a follow request"
yourFollowRequestAccepted: "Your follow request was accepted"
- youWereInvitedToGroup: "Invited to group"
+ youWereInvitedToGroup: "{userName} invited you to a group"
+ pollEnded: "Poll results have become available"
+ emptyPushNotificationMessage: "Push notifications have been updated"
_types:
all: "All"
- follow: "Follows"
+ follow: "New followers"
mention: "Mentions"
reply: "Replies"
renote: "Renotes"
quote: "Quotes"
reaction: "Reactions"
pollVote: "Votes on polls"
- receiveFollowRequest: "Follow request received"
- followRequestAccepted: "Follow request accepted"
- groupInvited: "Invited to groups"
- app: "Notifications from apps"
+ pollEnded: "Polls ending"
+ receiveFollowRequest: "Received follow requests"
+ followRequestAccepted: "Accepted follow requests"
+ groupInvited: "Group invitations"
+ app: "Notifications from linked apps"
+ _actions:
+ followBack: "followed you back"
+ reply: "Reply"
+ renote: "Renote"
_deck:
alwaysShowMainColumn: "Always show main column"
columnAlign: "Align columns"
- columnMargin: "Margin between columns"
- columnHeaderHeight: " Column header height"
addColumn: "Add column"
- swapLeft: "Swap to left"
- swapRight: "Swap to right"
- swapUp: "Swap with above"
- swapDown: "Swap with below"
- stackLeft: "Stack on left column"
- popRight: "Pop to the right"
+ configureColumn: "Column settings"
+ swapLeft: "Swap with the left column"
+ swapRight: "Swap with the right column"
+ swapUp: "Swap with the above column"
+ swapDown: "Swap with the below column"
+ stackLeft: "Stack with the left column"
+ popRight: "Pop column to the right"
profile: "Profile"
+ newProfile: "New profile"
+ deleteProfile: "Delete profile"
+ introduction: "Create the perfect interface for you by arranging columns freely!"
+ introduction2: "Click on the + on the right of the screen to add new colums whenever you want."
+ widgetsIntroduction: "Please select \"Edit widgets\" in the column menu and add a widget."
_columns:
main: "Main"
widgets: "Widgets"
notifications: "Notifications"
tl: "Timeline"
antenna: "Antennas"
- list: "Lists"
+ list: "List"
mentions: "Mentions"
- direct: "Direct"
+ direct: "Direct notes"
diff --git a/locales/es-ES.yml b/locales/es-ES.yml
index 6cb3aca6c..b74eed85d 100644
--- a/locales/es-ES.yml
+++ b/locales/es-ES.yml
@@ -1,14 +1,16 @@
---
_lang_: "Español"
-introMisskey: "¡Bienvenido/a! Misskey es un servicio de microblogging descentralizado de código abierto.\nEscribe \"notas\" para compartir lo que te ocurre ahora o para contar sobre ti a todos 📡\nCon la función de \"reacciones\", puedes también añadir una reacción rápida a las notas de todos 👍\nExplora un nuevo mundo 🚀"
+headlineMisskey: "Red conectada por notas"
+introMisskey: "¡Bienvenido/a! Misskey es un servicio de microblogging descentralizado de código abierto.\nEscribe \"notas\" para compartir lo que te ocurre ahora o para contar sobre ti a todos 📡\nCon la función de \"reacciones\", puedes también añadir una reacción rápida a las notas de todos 👍\n¡Exploremos juntos un nuevo mundo! 🚀"
monthAndDay: "{day}/{month}"
search: "Buscar"
notifications: "Notificaciones"
username: "Nombre de usuario"
password: "Contraseña"
-fetchingAsApObject: "Buscando en el fediverso"
+forgotPassword: "Olvidé mi Contraseña"
+fetchingAsApObject: "Recuperando desde el Fediverso..."
ok: "OK"
-gotIt: "Entendido"
+gotIt: "¡Lo tengo!"
cancel: "Cancelar"
enterUsername: "Introduce el nombre de usuario"
renotedBy: "Renotado por {user}"
@@ -20,36 +22,37 @@ basicSettings: "Configuración Básica"
otherSettings: "Configuración avanzada"
openInWindow: "Abrir en una ventana"
profile: "Perfil"
-timeline: "Linea de tiempo"
-noAccountDescription: "Este usuario no tiene una descripción"
+timeline: "Línea de tiempo"
+noAccountDescription: "Este usuario no ha escrito su biografía aún"
login: "Iniciar sesión"
loggingIn: "Iniciando sesión"
logout: "Cerrar sesión"
signup: "Registrarse"
-uploading: "Cargando"
+uploading: "Cargando..."
save: "Guardar"
users: "Usuarios"
addUser: "Agregar usuario"
-favorite: "Favorito"
+favorite: "Añadir a favoritos"
favorites: "Favoritos"
unfavorite: "Quitar de favoritos"
-favorited: "Añadido a favoritos"
+favorited: "Añadido a favoritos."
alreadyFavorited: "Ya había sido añadido a favoritos"
-cantFavorite: "No fue añadido a favoritos"
-pin: "Fijar"
+cantFavorite: "No se puede añadir a favoritos."
+pin: "Fijar al perfil"
unpin: "Desfijar"
copyContent: "Copiar contenido"
copyLink: "Copiar enlace"
delete: "Borrar"
deleteAndEdit: "Borrar y editar"
-deleteAndEditConfirm: "¿Quieres borrar y editar este nota? Las reacciones, renotes, respuestas y todo desaparecerán."
+deleteAndEditConfirm: "¿Estás seguro de que quieres borrar esta nota y editarla? Perderás todas las reacciones, renotas y respuestas."
addToList: "Agregar a lista"
-sendMessage: "Énviar mensaje"
+sendMessage: "Enviar un mensaje"
copyUsername: "Copiar nombre de usuario"
-searchUser: "Búsqueda de usuarios"
+searchUser: "Buscar un usuario"
reply: "Responder"
loadMore: "Ver más"
showMore: "Ver más"
+showLess: "Cerrar"
youGotNewFollower: "te ha seguido"
receiveFollowRequest: "Recibiste una solicitud de seguimiento"
followRequestAccepted: "La solicitud de seguimiento fue aceptada"
@@ -79,15 +82,17 @@ somethingHappened: "Ocurrió un error"
retry: "Reintentar"
pageLoadError: "Error al leer la página"
pageLoadErrorDescription: "Normalmente es debido a la red o al caché del navegador. Por favor limpie el caché o intente más tarde."
+serverIsDead: "No hay respuesta del servidor. Espere un momento y vuelva a intentarlo."
+youShouldUpgradeClient: "Para ver esta página, por favor refrezca el navegador y utiliza una versión más reciente del cliente."
enterListName: "Ingrese nombre de lista"
privacy: "Privacidad"
makeFollowManuallyApprove: "Aprobar manualmente las solicitudes de seguimiento"
defaultNoteVisibility: "Visibilidad por defecto"
-follow: "Sigue"
-followRequest: "Solicitud de seguimiento"
+follow: "Seguir"
+followRequest: "Enviar solicitud de seguimiento"
followRequests: "Solicitudes de seguimiento"
unfollow: "Dejar de seguir"
-followRequestPending: "Solicitudes de seguimiento pendientes"
+followRequestPending: "Solicitudes de seguimiento pendiente"
enterEmoji: "Ingresar emojis"
renote: "Renotar"
unrenote: "Quitar renota"
@@ -96,12 +101,13 @@ cantRenote: "No se puede renotar este post"
cantReRenote: "No se puede renotar una renota"
quote: "Citar"
pinnedNote: "Nota fijada"
+pinned: "Fijar al perfil"
you: "Tú"
clickToShow: "Click para ver"
sensitive: "Marcado como sensible"
add: "Agregar"
reaction: "Reacción"
-reactionSettingDescription: "Asigne sus reacción favoritas que desean anclar en el selector de reacciones."
+reactionSetting: "Reacciones para mostrar en el menú de reacciones"
reactionSettingDescription2: "Arrastre para reordenar, click para borrar, apriete la tecla + para añadir."
rememberNoteVisibility: "Recordar visibilidad"
attachCancel: "Quitar adjunto"
@@ -125,6 +131,7 @@ editWidgets: "Editar widgets"
editWidgetsExit: "Terminar edición"
customEmojis: "Emojis personalizados"
emoji: "Emoji"
+emojis: "Emoji"
emojiName: "Nombre del emoji"
emojiUrl: "URL de la imágen del emoji"
addEmoji: "Agregar emoji"
@@ -135,8 +142,10 @@ flagAsBot: "Esta cuenta es un bot"
flagAsBotDescription: "En caso de que esta cuenta fuera usada por un programa, active esta opción. Al hacerlo, esta opción servirá para otros desarrolladores para evitar cadenas infinitas de reacciones, y ajustará los sistemas internos de Misskey para que trate a esta cuenta como un bot."
flagAsCat: "Esta cuenta es un gato"
flagAsCatDescription: "En caso de que declare que esta cuenta es de un gato, active esta opción."
+flagShowTimelineReplies: "Mostrar respuestas a las notas en la biografía"
+flagShowTimelineRepliesDescription: "Cuando se marca, la línea de tiempo muestra respuestas a otras notas además de las notas del usuario"
autoAcceptFollowed: "Aceptar automáticamente las solicitudes de seguimiento de los usuarios que sigues"
-addAcount: "Agregar cuenta"
+addAccount: "Agregar Cuenta"
loginFailed: "Error al iniciar sesión."
showOnRemote: "Ver en una instancia remota"
general: "General"
@@ -195,6 +204,7 @@ done: "Terminado"
processing: "Procesando"
preview: "Vista previa"
default: "Predeterminado"
+defaultValueIs: "Predeterminado"
noCustomEmojis: "No hay emojis personalizados"
noJobs: "No hay trabajos"
federating: "Federando"
@@ -229,6 +239,8 @@ resetAreYouSure: "¿Desea reestablecer?"
saved: "Guardado"
messaging: "Chat"
upload: "Subir"
+keepOriginalUploading: "Mantener la imagen original"
+keepOriginalUploadingDescription: "Mantener la versión original al cargar imágenes. Si está desactivado, el navegador generará imágenes para la publicación web en el momento de recargar la página"
fromDrive: "Desde el drive"
fromUrl: "Desde la URL"
uploadFromUrl: "Subir desde una URL"
@@ -236,7 +248,6 @@ uploadFromUrlDescription: "URL del fichero que quieres subir"
uploadFromUrlRequested: "Subida solicitada"
uploadFromUrlMayTakeTime: "Subir el fichero puede tardar un tiempo."
explore: "Explorar"
-games: "Misskey Games"
messageRead: "Ya leído"
noMoreHistory: "El historial se ha acabado"
startMessaging: "Iniciar chat"
@@ -276,6 +287,7 @@ emptyDrive: "El drive está vacío"
emptyFolder: "La carpeta está vacía"
unableToDelete: "No se puede borrar"
inputNewFileName: "Ingrese un nuevo nombre de archivo"
+inputNewDescription: "Ingrese nueva descripción"
inputNewFolderName: "Ingrese un nuevo nombre de la carpeta"
circularReferenceFolder: "La carpeta de destino es una sub-carpeta de la carpeta que quieres mover."
hasChildFilesOrFolders: "No se puede borrar esta carpeta. No está vacía."
@@ -307,21 +319,20 @@ monthX: "Mes {month}"
yearX: "Año {year}"
pages: "Páginas"
integration: "Integración"
-connectSerice: "Conectarse"
-disconnectSerice: "Desconectarse"
+connectService: "Conectar"
+disconnectService: "Desconectar"
enableLocalTimeline: "Habilitar linea de tiempo local"
enableGlobalTimeline: "Habilitar linea de tiempo global"
disablingTimelinesInfo: "Aunque se desactiven estas lineas de tiempo, por conveniencia el administrador y los moderadores pueden seguir usándolos"
registration: "Registro"
enableRegistration: "Permitir nuevos registros"
invite: "Invitar"
-proxyRemoteFiles: "Hacer proxy de archivos remotos"
-proxyRemoteFilesDescription: "Si activa esta configuración, los archivos remotos no almacenados o borrados por exceso de capacidad serán mostrados via proxy local y generarán una miniatura. Eso no afectará el almacenamiento del servidor."
driveCapacityPerLocalAccount: "Capacidad del drive por usuario local"
driveCapacityPerRemoteAccount: "Capacidad del drive por usuario remoto"
inMb: "En megabytes"
iconUrl: "URL de la imagen del avatar"
bannerUrl: "URL de la imagen del banner"
+backgroundImageUrl: "URL de la imagen de fondo"
basicInfo: "Información básica"
pinnedUsers: "Usuarios fijados"
pinnedUsersDescription: "Describir los usuarios que quiere fijar en la página \"Descubrir\" separados por una linea nueva"
@@ -347,7 +358,6 @@ antennaExcludeKeywords: "Palabras clave para excluir"
antennaKeywordsDescription: "Separar con espacios es una declaración AND, separar con una linea nueva es una declaración OR"
notifyAntenna: "Notificar nueva nota"
withFileAntenna: "Sólo notas con archivos adjuntados"
-serviceworker: "ServiceWorker"
enableServiceworker: "Activar ServiceWorker"
antennaUsersDescription: "Elegir nombres de usuarios separados por una linea nueva"
caseSensitive: "Distinguir mayúsculas de minúsculas"
@@ -373,6 +383,7 @@ administrator: "Administrador"
token: "Token"
twoStepAuthentication: "Autenticación de dos factores"
moderator: "Moderador"
+moderation: "Moderación"
nUsersMentioned: "{n} usuarios mencionados"
securityKey: "Clave de seguridad"
securityKeyName: "Nombre de la Clave"
@@ -412,7 +423,6 @@ next: "Siguiente"
retype: "Intentar de nuevo"
noteOf: "Notas de {user}"
inviteToGroup: "Invitar al grupo"
-maxNoteTextLength: "Límite de caracteres en una nota"
quoteAttached: "Cita añadida"
quoteQuestion: "¿Quiere añadir una cita?"
noMessagesYet: "Aún no hay chat"
@@ -436,10 +446,12 @@ signinWith: "Inicie sesión con {x}"
signinFailed: "Autenticación fallida. Asegúrate de haber usado el nombre de usuario y contraseña correctos."
tapSecurityKey: "Toque la clave de seguridad"
or: "O"
+language: "Idioma"
uiLanguage: "Idioma de visualización de la interfaz"
groupInvited: "Invitado al grupo"
aboutX: "Acerca de {x}"
useOsNativeEmojis: "Usa los emojis nativos de la plataforma"
+disableDrawer: "No mostrar los menús en cajones"
youHaveNoGroups: "Sin grupos"
joinOrCreateGroup: "Obtenga una invitación para unirse al grupos o puede crear su propio grupo."
noHistory: "No hay datos en el historial"
@@ -450,7 +462,7 @@ category: "Categoría"
tags: "Etiqueta"
docSource: "Fuente de este documento"
createAccount: "Crear cuenta"
-existingAcount: "Cuentas existentes"
+existingAccount: "Cuenta existente"
regenerate: "Regenerar"
fontSize: "Tamaño de la letra"
noFollowRequests: "No hay solicitudes de seguimiento"
@@ -523,10 +535,11 @@ removeAllFollowing: "Retener todos los siguientes"
removeAllFollowingDescription: "Cancelar todos los siguientes del servidor {host}. Ejecutar en caso de que esta instancia haya dejado de existir"
userSuspended: "Este usuario ha sido suspendido."
userSilenced: "Este usuario ha sido silenciado."
-sidebar: "Barra lateral"
+yourAccountSuspendedTitle: "Esta cuenta ha sido suspendida"
+yourAccountSuspendedDescription: "Esta cuenta ha sido suspendida debido a violaciones de los términos de servicio del servidor y otras razones. Para más información, póngase en contacto con el administrador. Por favor, no cree una nueva cuenta."
+menu: "Menú"
divider: "Divisor"
addItem: "Agregar elemento"
-rooms: "Cuartos"
relays: "Relés"
addRelay: "Agregar relé"
inboxUrl: "Inbox URL"
@@ -543,11 +556,13 @@ disablePlayer: "Cerrar reproductor"
expandTweet: "Expandir tweet"
themeEditor: "Editor de temas"
description: "Descripción"
+describeFile: "Añade una descripción"
+enterFileDescription: "Introducir un título"
author: "Autor"
leaveConfirm: "Hay modificaciones sin guardar. ¿Desea descartarlas?"
manage: "Administrar"
plugins: "Plugins"
-pluginInstallWarn: "Por favor no instale plugins que no son de confianza"
+preferencesBackups: "Respaldo de preferencias"
deck: "Deck"
undeck: "Quitar deck"
useBlurEffectForModal: "Usar efecto borroso en modales"
@@ -566,7 +581,7 @@ pluginTokenRequestedDescription: "Este plugin podrá usar los permisos descritos
notificationType: "Tipo de notificación"
edit: "Editar"
useStarForReactionFallback: "En caso de que los emojis de reacciones no sean claros, usar en su lugar una estrella"
-emailConfig: "Configuración del servidor de correos"
+emailServer: "Servidor de correo"
enableEmail: "Activar el envío de correos electrónicos"
emailConfigInfo: "Usar en caso de validación de correo electrónico y pedido de contraseña"
email: "Correo"
@@ -581,6 +596,9 @@ smtpSecure: "Usar SSL/TLS implícito en la conexión SMTP"
smtpSecureInfo: "Apagar cuando se use STARTTLS"
testEmail: "Prueba de envío"
wordMute: "Silenciar palabras"
+regexpError: "Error de la expresión regular"
+regexpErrorDescription: "Ocurrió un error en la expresión regular en la linea {line} de las palabras muteadas {tab}"
+instanceMute: "Instancias silenciadas"
userSaysSomething: "{name} dijo algo"
makeActive: "Activar"
display: "Apariencia"
@@ -601,7 +619,6 @@ regenerateLoginToken: "Regenerar token de login"
regenerateLoginTokenDescription: "Regenerar el token usado internamente durante el login. No siempre es necesario hacerlo. Al hacerlo de nuevo, se deslogueará en todos los dispositivos."
setMultipleBySeparatingWithSpace: "Puedes añadir mas de uno, separado por espacios."
fileIdOrUrl: "Id del archivo o URL"
-chatOpenBehavior: "Comportamiento al abrir el chat"
behavior: "Comportamiento"
sample: "Muestra"
abuseReports: "Reportes"
@@ -609,6 +626,11 @@ reportAbuse: "Reportar"
reportAbuseOf: "Reportar a {name}"
fillAbuseReportDescription: "Ingrese los detalles del reporte. Si hay una nota en particular, ingrese la URL de esta."
abuseReported: "Se ha enviado el reporte. Muchas gracias."
+reporter: "Reportador"
+reporteeOrigin: "Reportar a"
+reporterOrigin: "Origen del reporte"
+forwardReport: "Transferir un informe a una instancia remota"
+forwardReportIsAnonymous: "No puede ver su información de la instancia remota y aparecerá como una cuenta anónima del sistema"
send: "Enviar"
abuseMarkAsResolved: "Marcar reporte como resuelto"
openInNewTab: "Abrir en una Nueva Pestaña"
@@ -625,6 +647,8 @@ clip: "Clip"
createNew: "Crear"
optional: "Opcional"
createNewClip: "Crear clip nuevo"
+unclip: "Quitar clip"
+confirmToUnclipAlreadyClippedNote: "Esta nota ya está incluida en el clip \"{name}\". ¿Quiere quitar la nota del clip?"
public: "Público"
i18nInfo: "Misskey está siendo traducido a varios idiomas gracias a voluntarios. Se puede colaborar traduciendo en {link}"
manageAccessTokens: "Administrar tokens de acceso"
@@ -646,66 +670,382 @@ driveFilesCount: "Cantidad de archivos en el drive"
driveUsage: "Uso del drive"
noCrawle: "Rechazar indexación del crawler"
noCrawleDescription: "Pedir a los motores de búsqueda que no indexen tu perfil, notas, páginas, etc."
+lockedAccountInfo: "A menos que configures la visibilidad de tus notas como \"Sólo seguidores\", tus notas serán visibles para cualquiera, incluso si requieres que los seguidores sean aprobados manualmente."
+alwaysMarkSensitive: "Marcar los medios de comunicación como contenido sensible por defecto"
+loadRawImages: "Cargar las imágenes originales en lugar de mostrar las miniaturas"
+disableShowingAnimatedImages: "No reproducir imágenes animadas"
+verificationEmailSent: "Se le ha enviado un correo electrónico de confirmación. Por favor, acceda al enlace proporcionado en el correo electrónico para completar la configuración."
+notSet: "Sin especificar"
+emailVerified: "Su dirección de correo electrónico ha sido verificada."
+noteFavoritesCount: "Número de notas favoritas"
+pageLikesCount: "Número de favoritos en la página"
+pageLikedCount: "Número de favoritos de su página"
+contact: "Contacto"
+useSystemFont: "Utilizar la tipografía por defecto del sistema"
clips: "Clip"
+experimentalFeatures: "Características experimentales"
+developer: "Desarrolladores"
+makeExplorable: "Hacer visible la cuenta en \"Explorar\""
+makeExplorableDescription: "Si desactiva esta opción, su cuenta no aparecerá en la sección \"Explorar\"."
+showGapBetweenNotesInTimeline: "Mostrar un intervalo entre notas en la línea de tiempo"
+duplicate: "Duplicar"
+left: "Izquierda"
+center: "Centrar"
+wide: "Ancho"
+narrow: "Estrecho"
+reloadToApplySetting: "Esta configuración sólo se aplicará después de recargar la página. ¿Recargar ahora?"
+needReloadToApply: "Se requiere un reinicio para la aplicar los cambios"
+showTitlebar: "Mostrar la barra de título"
clearCache: "Limpiar caché"
+onlineUsersCount: "{n} usuarios en línea"
+nUsers: "{n} Usuarios"
+nNotes: "{n} Notas"
+sendErrorReports: "Envíar informe de errores"
+sendErrorReportsDescription: "Si habilita esta opción, ayudará a mejorar la calidad de Misskey compartiendo información detallada sobre los errores cuando se produzca un problema.\nEsto incluye información como la versión de su sistema operativo, el tipo de navegador que utiliza, su historial de actividad, etc."
+myTheme: "Mi Tema"
backgroundColor: "Fondo"
accentColor: "Acento"
textColor: "Texto"
+saveAs: "Guardar como…"
+advanced: "Avanzado"
value: "Valores"
+createdAt: "Fecha de creación"
+updatedAt: "Actualizado"
+saveConfirm: "¿Guardar cambios?"
+deleteConfirm: "¿Desea eliminarlo?"
+invalidValue: "Este no es un valor válido."
+registry: "Registro"
+closeAccount: "Cerrar cuenta"
+currentVersion: "Versión actual"
+latestVersion: "Última versión"
+youAreRunningUpToDateClient: "Está utilizando la versión más reciente de su cliente."
+newVersionOfClientAvailable: "Hay una versión más nueva de su cliente disponible."
+usageAmount: "Uso"
+capacity: "Capacidad"
+inUse: "Usado"
+editCode: "Editar código"
+apply: "Aplicar"
+receiveAnnouncementFromInstance: "Recibir notificaciones de la instancia"
+emailNotification: "Notificaciones por correo electrónico"
+publish: "Publicar"
+inChannelSearch: "Buscar en el canal"
+useReactionPickerForContextMenu: "Haga clic con el botón derecho para abrir el menu de reacciones"
+typingUsers: "{users} está escribiendo"
+jumpToSpecifiedDate: "Saltar a una fecha específica"
+showingPastTimeline: "Mostrar líneas de tiempo antiguas"
+clear: "Limpiar"
+markAllAsRead: "Marcar todo como leído"
+goBack: "Deseleccionar"
+unlikeConfirm: "¿Quitar como favorito?"
+fullView: "Vista completa"
+quitFullView: "quitar vista completa"
+addDescription: "Agregar descripción"
+userPagePinTip: "Puede mantener sus notas visibles aquí seleccionando Pin en el menú de notas individuales"
+notSpecifiedMentionWarning: "Algunas menciones no están incluidas en el destino"
+info: "Información"
+userInfo: "Información del usuario"
+unknown: "Desconocido"
+onlineStatus: "En línea"
+hideOnlineStatus: "mostrarse como desconectado"
+hideOnlineStatusDescription: "Ocultar su estado en línea puede reducir la eficacia de algunas funciones, como la búsqueda"
+online: "En línea"
+active: "Activo"
+offline: "Sin conexión"
+notRecommended: "obsoleto"
+botProtection: "Protección contra bots"
+instanceBlocking: "Instancias bloqueadas"
+selectAccount: "Elija una cuenta"
+switchAccount: "Cambiar de cuenta"
+enabled: "Activado"
+disabled: "Desactivado"
+quickAction: "Acciones rápidas"
+user: "Usuarios"
+administration: "Administrar"
+accounts: "Cuentas"
+switch: "Cambiar"
+noMaintainerInformationWarning: "No se ha establecido la información del administrador"
+noBotProtectionWarning: "La protección contra los bots no está configurada"
+configure: "Configurar"
+postToGallery: "Crear una nueva publicación en la galería"
+gallery: "Galería"
+recentPosts: "Posts recientes"
+popularPosts: "Más vistos"
+shareWithNote: "Compartir con una nota"
+ads: "Anuncios"
+expiration: "Termina el"
+memo: "Notas"
+priority: "Prioridad"
+high: "Alta"
+middle: "Mediano"
+low: "Baja"
+emailNotConfiguredWarning: "No se ha configurado una dirección de correo electrónico."
+ratio: "Proporción"
+previewNoteText: "Mostrar vista preliminar"
+customCss: "CSS personalizado"
+customCssWarn: "Este ajuste sólo debe utilizarse si se sabe lo que hace. Introducir valores inadecuados puede hacer que el cliente deje de funcionar con normalidad."
+global: "Global"
+squareAvatars: "Mostrar iconos cuadrados"
+sent: "Enviar"
+received: "Recibido"
+searchResult: "Resultados de búsqueda"
+hashtags: "Hashtag"
+troubleshooting: "Solución de problemas"
+useBlurEffect: "Utilizar efecto de desenfoque en la interfaz de usuario"
+learnMore: "Ver más"
+misskeyUpdated: "¡Misskey ha sido actualizado!"
+whatIsNew: "Mostrar cambios"
+translate: "Traducir"
+translatedFrom: "Traducido de {x}"
+accountDeletionInProgress: "La eliminación de la cuenta está en curso"
+usernameInfo: "Un nombre que identifique su cuenta de otras en este servidor. Puede utilizar el alfabeto (a~z, A~Z), dígitos (0~9) o guiones bajos (_). Los nombres de usuario no se pueden cambiar posteriormente."
+aiChanMode: "Modo Ai"
+keepCw: "Mantener la advertencia de contenido"
+pubSub: "Cuentas Pub/Sub"
+lastCommunication: "Última comunicación"
+resolved: "Resuelto"
+unresolved: "Sin resolver"
+breakFollow: "Dejar de seguir"
+itsOn: "¡Está encendido!"
+itsOff: "¡Está apagado!"
+emailRequiredForSignup: "Se requere una dirección de correo electrónico para el registro de la cuenta"
+unread: "No leído"
+filter: "Filtro"
+controlPanel: "Panel de control"
+manageAccounts: "Administrar cuenta"
+makeReactionsPublic: "Hacer el historial de reacciones público"
+makeReactionsPublicDescription: "Todas las reacciones que hayas hecho serán públicamente visibles."
+classic: "Clásico"
+muteThread: "Ocultar hilo"
+unmuteThread: "Mostrar hilo"
+ffVisibility: "Visibilidad de seguidores y seguidos"
+ffVisibilityDescription: "Puedes configurar quien puede ver a quienes sigues y quienes te siguen"
+continueThread: "Ver la continuación del hilo"
+deleteAccountConfirm: "La cuenta será borrada. ¿Está seguro?"
+incorrectPassword: "La contraseña es incorrecta"
+voteConfirm: "¿Confirma su voto a {choice}?"
+hide: "Ocultar"
+leaveGroup: "Dejar el grupo"
+leaveGroupConfirm: "¿Desea salir de {name}?"
+useDrawerReactionPickerForMobile: "Mostrar panel de reacciones en móviles"
+welcomeBackWithName: "Bienvenido otra vez, {name}"
+clickToFinishEmailVerification: "Cliquée {ok} y verifique su correo"
+overridedDeviceKind: "Tipo de dispositivo"
+smartphone: "Teléfono smartphone"
+tablet: "Tablet"
+auto: "Automático"
+themeColor: "Color del tema"
+size: "Tamaño"
+numberOfColumn: "Cantidad de columnas"
+searchByGoogle: "Buscar"
+instanceDefaultLightTheme: "Tema claro por defecto de la instancia"
+instanceDefaultDarkTheme: "Tema oscuro por defecto de la instancia"
+instanceDefaultThemeDescription: "Ingrese el código del tema en formato objeto"
+mutePeriod: "Período de silenciamiento"
+indefinitely: "Sin límite de tiempo"
+tenMinutes: "10 minutos"
+oneHour: "1 hora"
+oneDay: "1 día"
+oneWeek: "1 semana"
+reflectMayTakeTime: "Puede pasar un tiempo hasta que se reflejen los cambios"
+failedToFetchAccountInformation: "No se pudo obtener información de la cuenta"
+rateLimitExceeded: "Se excedió el límite de peticiones"
+cropImage: "Recortar imágen"
+cropImageAsk: "¿Desea recortar la imagen?"
+file: "Archivos"
+recentNHours: "Últimas {n} horas"
+recentNDays: "Últimos {n} días"
+noEmailServerWarning: "No se ha configurado un servidor de correo electrónico."
+thereIsUnresolvedAbuseReportWarning: "Hay reportes sin resolver"
+recommended: "Recomendado"
+check: "Verificar"
+driveCapOverrideLabel: "Cambiar la capacidad de la unidad para este usuario"
+driveCapOverrideCaption: "Restablecer la capacidad a su predeterminado ingresando un valor de 0 o menos"
+requireAdminForView: "Necesitas iniciar sesión como administrador para ver esto."
+isSystemAccount: "Cuenta creada y operada automáticamente por el sistema"
+typeToConfirm: "Ingrese {x} para confirmar"
+deleteAccount: "Borrar cuenta"
+document: "Documento"
+numberOfPageCache: "Cantidad de páginas cacheadas"
+numberOfPageCacheDescription: "Al aumentar el número mejora la conveniencia pero tambien puede aumentar la carga y la memoria a usarse"
+logoutConfirm: "¿Cerrar sesión?"
+lastActiveDate: "Utilizado por última vez el"
+statusbar: "Barra de estado"
+pleaseSelect: "Selecciona una opción"
+reverse: "Echar de un capirotazo"
+colored: "Color"
+refreshInterval: "Intervalo de actualización"
+label: "Etiqueta"
+type: "Tipo"
+speed: "Velocidad"
+slow: "Lento"
+fast: "Rápido"
+sensitiveMediaDetection: "Detección de contenido NSFW"
+localOnly: "Solo local"
+remoteOnly: "Sólo remoto"
+failedToUpload: "La subida falló"
+cannotUploadBecauseInappropriate: "Este archivo no se puede subir debido a que algunas partes han sido detectadas comoNSFW."
+cannotUploadBecauseNoFreeSpace: "La subida falló debido a falta de espacio libre en la unidad del usuario."
+beta: "Beta"
+enableAutoSensitive: "Marcar automáticamente contenido NSFW"
+enableAutoSensitiveDescription: "Permite la detección y marcado automático de contenido NSFW usando 'Machine Learning' cuando sea posible. Incluso si esta opción está desactivada, puede ser activado para toda la instancia."
+activeEmailValidationDescription: "Habilita la validación estricta de direcciones de correo electrónico, lo cual incluye la revisión de direcciones desechables y si se puede comunicar con éstas. Cuando está deshabilitado, sólo el formato de la dirección es validado."
+navbar: "Barra de navegación"
+shuffle: "Aleatorio"
+account: "Cuentas"
+move: "Mover"
+_sensitiveMediaDetection:
+ description: "Reduce el esfuerzo de la moderación el el servidor a través del reconocimiento automático de contenido NSFW usando 'Machine Learning'. Esto puede incrementar ligeramente la carga en el servidor."
+ sensitivity: "Sensibilidad de detección"
+ sensitivityDescription: "Reducir la sensibilidad puede acarrear a varios falsos positivos, mientras que incrementarla puede reducir las detecciones (falsos negativos)."
+ setSensitiveFlagAutomatically: "Marcar como NSFW"
+ setSensitiveFlagAutomaticallyDescription: "Los resultados de la detección interna pueden ser retenidos incluso si la opción está desactivada."
+ analyzeVideos: "Habilitar el análisis de videos"
+ analyzeVideosDescription: "Analizar videos en adición a las imágenes. Esto puede incrementar ligeramente la carga del servidor."
+_emailUnavailable:
+ used: "Ya fue usado"
+ format: "Formato no válido."
+ disposable: "No es un correo reutilizable"
+ mx: "Servidor de correo inválido"
+ smtp: "Servidor de correo no disponible"
+_ffVisibility:
+ public: "Publicar"
+ followers: "Visible solo para seguidores"
+ private: "Privado"
+_signup:
+ almostThere: "Ya falta poco"
+ emailAddressInfo: "Ingrese el correo electrónico que usa. Este no se hará público."
+ emailSent: "Se envió un correo de verificación a la dirección {email}. Acceda al link enviado en el correo para completar el ingreso."
+_accountDelete:
+ accountDelete: "Eliminar Cuenta"
+ mayTakeTime: "La eliminación de la cuenta es un proceso que precisa de carga. Puede pasar un tiempo hasta que se complete si es mucho el contenido creado y los archivos subidos."
+ sendEmail: "Cuando se termine de borrar la cuenta, se enviará un correo a la dirección usada para el registro."
+ requestAccountDelete: "Pedir la eliminación de la cuenta."
+ started: "El proceso de eliminación ha comenzado."
+ inProgress: "La eliminación está en proceso."
+_ad:
+ back: "Deseleccionar"
+ reduceFrequencyOfThisAd: "Mostrar menos este anuncio."
+_forgotPassword:
+ enterEmail: "Ingrese el correo usado para registrar la cuenta. Se enviará un link para resetear la contraseña."
+ ifNoEmail: "Si no utilizó un correo para crear la cuenta, contáctese con el administrador."
+ contactAdmin: "Esta instancia no admite el uso de direcciones de correo electrónico, póngase en contacto con el administrador de la instancia para restablecer su contraseña"
+_gallery:
+ my: "Mi galería"
+ liked: "Publicaciones que me gustan"
+ like: "¡Muy bien!"
+ unlike: "Quitar me gusta"
+_email:
+ _follow:
+ title: "te ha seguido"
+ _receiveFollowRequest:
+ title: "Has recibido una solicitud de seguimiento"
+_plugin:
+ install: "Instalar plugins"
+ installWarn: "Por favor no instale plugins que no son de confianza"
+ manage: "Gestionar plugins"
+_preferencesBackups:
+ list: "Respaldos creados"
+ saveNew: "Guardar nuevo respaldo"
+ loadFile: "Cargar desde archivo"
+ apply: "Aplicar a este dispositivo"
+ save: "Guardar cambios"
+ inputName: "Por favor, ingresa un nombre para este respaldo"
+ cannotSave: "Fallo al guardar"
+ nameAlreadyExists: "Un respaldo llamado \"{name}\" ya existe. Por favor ingresa un nombre diferente"
+ applyConfirm: "¿Realmente quieres aplicar los cambios desde el archivo \"{name}\" a este dispositivo? Las configuraciones existentes serán sobreescritas. "
+ saveConfirm: "¿Guardar respaldo como \"{name}\"?"
+ deleteConfirm: "¿Borrar el respaldo \"{name}\"?"
+ renameConfirm: "¿Renombrar este respaldo de \"{old}\" a \"{new}\"?"
+ noBackups: "No existen respaldos. Deberás respaldar las configuraciones del cliente en este servidor usando \"Crear nuevo respaldo\""
+ createdAt: "Creado: {date} {time}"
+ updatedAt: "Actualizado: {date} {time}"
+ cannotLoad: "La carga falló"
+ invalidFile: "Formato de archivo inválido"
_registry:
+ scope: "Alcance"
key: "Clave"
keys: "Clave"
+ domain: "Dominio"
+ createKey: "Crear una llave"
+_aboutMisskey:
+ about: "Misskey es un software de código abierto, desarrollado por syuilo desde el 2014"
+ contributors: "Principales colaboradores"
+ allContributors: "Todos los colaboradores"
+ source: "Código fuente"
+ translation: "Traducir Misskey"
+ donate: "Donar a Misskey"
+ morePatrons: "Muchas más personas nos apoyan. Muchas gracias🥰"
+ patrons: "Patrocinadores"
+_nsfw:
+ respect: "Ocultar medios NSFW"
+ ignore: "No esconder medios NSFW "
+ force: "Ocultar todos los medios"
_mfm:
cheatSheet: "Hoja de referencia de MFM"
intro: "MFM es un lenguaje de marcado dedicado que se puede usar en varios lugares dentro de Misskey. Aquí puede ver una lista de sintaxis disponibles en MFM."
+ dummy: "Misskey expande el mundo de la Fediverso"
mention: "Menciones"
mentionDescription: "El signo @ seguido de un nombre de usuario se puede utilizar para notificar a un usuario en particular."
hashtag: "Hashtag"
+ hashtagDescription: "Puede especificar un hashtag con un numeral y el texto."
url: "URL"
+ urlDescription: "Se pueden mostrar las URL"
link: "Vínculo"
+ linkDescription: "Se pueden asociar partes de texto a la URL"
bold: "Negrita"
+ boldDescription: "Muestra el texto con las letras más gruesas"
+ small: "Pequeño"
+ smallDescription: "Muestra el texto más pequeño y delgado"
center: "Centrar"
+ centerDescription: "Muestra el texto centrado"
+ inlineCode: "Código (insertado)"
+ inlineCodeDescription: "Muestra el código de un programa resaltando su sintaxis"
blockCode: "Código (bloque)"
blockCodeDescription: "Código de resaltado de sintaxis, como programas de varias líneas con bloques."
+ inlineMath: "Fórmula (insertado)"
+ inlineMathDescription: "Muestra fórmulas (KaTeX) insertadas"
+ blockMath: "Fórmula (bloque)"
+ blockMathDescription: "Muestra fórmulas (KaTeX) de varias líneas en un bloque"
quote: "Citar"
+ quoteDescription: "Muestra el contenido como una cita"
emoji: "Emojis personalizados"
+ emojiDescription: "Muestra los emojis personalizados encerrados entre dos puntos."
search: "Buscar"
+ searchDescription: "Muestra una caja de búsqueda con texto pre-escrito"
flip: "Echar de un capirotazo"
flipDescription: "Voltea el contenido hacia arriba / abajo o hacia la izquierda / derecha."
+ jelly: "Animación (gelatina)"
+ jellyDescription: "Aplica un efecto de animación tipo gelatina"
+ tada: "Animación (tadá)"
+ tadaDescription: "Aplica un efecto de animación al estilo \"Tadá\""
+ jump: "Animación (saltar)"
+ jumpDescription: "Aplica un efecto de animación tipo salto"
+ bounce: "Animación (rebotar)"
+ bounceDescription: "Aplica un efecto de animación tipo rebote"
+ shake: "Animación (temblor)"
+ shakeDescription: "Aplica un efecto de animación tipo temblor"
+ twitch: "Animación (sacudida)"
+ twitchDescription: "Aplica un efecto de animación tipo sacudida"
+ spin: "Animación (giro)"
+ spinDescription: "Aplica un efecto de animación tipo rotación"
+ x2: "Grande"
+ x2Description: "Muestra el contenido más grande"
+ x3: "Muy grande"
+ x3Description: "Muestra el contenido mucho más grande"
+ x4: "Totalmente grande"
+ x4Description: "Muestra el contenido totalmente grande"
+ blur: "Desenfoque"
+ blurDescription: "Para desenfocar el contenido. Se muestra claramente al colocar el puntero encima."
font: "Fuente"
-_reversi:
- reversi: "Reversi"
- gameSettings: "Configuración del juego"
- chooseBoard: "Elegir tablero"
- blackOrWhite: "Blancas/Negras"
- blackIs: "{name} juega con fichas negras"
- rules: "Reglas"
- botSettings: "Opciones del bot"
- thisGameIsStartedSoon: "El juego empezará en segundos"
- waitingForOther: "Esperando el turno del adversario"
- waitingForMe: "Esperando mi turno"
- waitingBoth: "Prepárate"
- ready: "Listo"
- cancelReady: "No estoy listo"
- opponentTurn: "Turno del adversario"
- myTurn: "Mi turno"
- turnOf: "Turno de {name}"
- pastTurnOf: "Turno de {name}"
- surrender: "Rendirse"
- surrendered: "Por rendirse"
- drawn: "Empate"
- won: "{name} ha ganado"
- black: "Negro"
- white: "Blanco"
- total: "Total"
- turnCount: "Turno {count}"
- myGames: "Mis juegos"
- allGames: "Todos los juegos"
- ended: "Finalizado"
- playing: "Jugando"
- isLlotheo: "El que tenga menos fichas gana (LLoTheO)"
- loopedMap: "Mapa en bucle"
- canPutEverywhere: "Puedes colocar donde quieras"
+ fontDescription: "Elegir la fuente del contenido"
+ rainbow: "Arcoíris"
+ rainbowDescription: "Muestra el contenido con los colores del arcoíris"
+ sparkle: "Parpadeante"
+ sparkleDescription: "Aplica un efecto de partículas parpadeantes"
+ rotate: "Rotar"
+ rotateDescription: "Rota el contenido a un ángulo especificado."
+ plain: "Plano"
+ plainDescription: "Desactiva los efectos de todo el contenido MFM con este efecto MFM."
_instanceTicker:
none: "No mostrar"
remote: "Mostrar a usuarios remotos"
@@ -724,9 +1064,10 @@ _channel:
following: "Siguiendo"
usersCount: "{n} participantes"
notesCount: "{n} notas"
-_sidebar:
- full: "Completo"
- icon: "Avatar"
+_menuDisplay:
+ sideFull: "Horizontal"
+ sideIcon: "Horizontal (ícono)"
+ top: "Arriba"
hide: "Ocultar"
_wordMute:
muteWords: "Palabras que silenciar"
@@ -737,12 +1078,20 @@ _wordMute:
soft: "Suave"
hard: "Duro"
mutedNotes: "Notas silenciadas"
+_instanceMute:
+ instanceMuteDescription: "Silencia todas las notas y reposts de la instancias seleccionadas, incluyendo respuestas a los usuarios de las mismas"
+ instanceMuteDescription2: "Separar por líneas"
+ title: "Oculta las notas de las instancias listadas."
+ heading: "Instancias a silenciar"
_theme:
explore: "Explorar temas"
install: "Instalar tema"
manage: "Gestor de temas"
code: "Código del tema"
+ description: "Descripción"
installed: "{name} ha sido instalado"
+ installedThemes: "Temas instalados"
+ builtinThemes: "Temas integrados"
alreadyInstalled: "Este tema ya está instalado"
invalid: "El formato del tema no es válido"
make: "Crear tema"
@@ -817,7 +1166,6 @@ _sfx:
antenna: "Antena receptora"
channel: "Notificaciones del canal"
_ago:
- unknown: "Desconocido"
future: "Futuro"
justNow: "Recién ahora"
secondsAgo: "Hace {n} segundos"
@@ -861,6 +1209,7 @@ _2fa:
registerKey: "Registrar clave"
step1: "Primero, instale en su dispositivo la aplicación de autenticación {a} o {b} u otra."
step2: "Luego, escanee con la aplicación el código QR mostrado en pantalla."
+ step2Url: "En una aplicación de escritorio se puede ingresar la siguiente URL:"
step3: "Para terminar, ingrese el token mostrado en la aplicación."
step4: "Ahora cuando inicie sesión, ingrese el mismo token"
securityKeyInfo: "Se puede configurar el inicio de sesión usando una clave de seguridad de hardware que soporte FIDO2 o con un certificado de huella digital o con un PIN"
@@ -893,6 +1242,10 @@ _permissions:
"write:user-groups": "Administrar grupos de usuarios"
"read:channels": "Ver canal"
"write:channels": "Modificar canal"
+ "read:gallery": "Ver galería"
+ "write:gallery": "Editar galería"
+ "read:gallery-likes": "Ver favoritos de la galería"
+ "write:gallery-likes": "Editar favoritos de la galería"
_auth:
shareAccess: "¿Desea permitir el acceso a la cuenta \"{name}\"?"
shareAccessAsk: "¿Está seguro de que desea autorizar esta aplicación para acceder a su cuenta?"
@@ -922,13 +1275,21 @@ _widgets:
trends: "Tendencias"
clock: "Reloj"
rss: "Lector RSS"
+ rssTicker: "Ticker-RSS"
activity: "Actividad"
photos: "Fotos"
digitalClock: "Reloj digital"
+ unixClock: "Reloj UNIX"
federation: "Federación"
+ instanceCloud: "Nube de palabras de la instancia"
postForm: "Formulario"
+ slideshow: "Diapositivas"
button: "Botón"
+ onlineUsers: "Usuarios en linea"
jobQueue: "Cola de trabajos"
+ serverMetric: "Estadísticas del servidor"
+ aiscript: "Consola de AiScript"
+ aichan: "indigo"
_cw:
hide: "Ocultar"
show: "Ver más"
@@ -983,17 +1344,24 @@ _profile:
username: "Nombre de usuario"
description: "Descripción"
youCanIncludeHashtags: "Puedes añadir hashtags"
+ metadata: "información adicional"
+ metadataEdit: "Editar información adicional"
+ metadataDescription: "Muestra la información adicional en el perfil"
metadataLabel: "Etiqueta"
metadataContent: "Contenido"
+ changeAvatar: "Cambiar avatar"
+ changeBanner: "Cambiar banner"
_exportOrImport:
allNotes: "Todas las notas"
followingList: "Siguiendo"
muteList: "Silenciados"
blockingList: "Bloqueados"
userLists: "Listas"
+ excludeMutingUsers: "Excluir usuarios silenciados"
+ excludeInactiveUsers: "Excluir usuarios inactivos"
_charts:
- federationInstancesIncDec: "Variación de instancias federando"
- federationInstancesTotal: "Total de instancias federando"
+ federation: "Federación"
+ apRequest: "Pedidos"
usersIncDec: "Variación de usuarios"
usersTotal: "Total de usuarios"
activeUsers: "Cantidad de usuarios activos"
@@ -1022,68 +1390,6 @@ _timelines:
local: "Local"
social: "Social"
global: "Global"
-_rooms:
- roomOf: "Cuarto de {user}"
- addFurniture: "Colocar muebles"
- translate: "Mover"
- rotate: "Rotar"
- exit: "Deseleccionar"
- remove: "Quitar"
- clear: "Quitar todo"
- clearConfirm: "¿Quiere quitar todos los muebles?"
- leaveConfirm: "Hay modificaciones sin guardar. ¿Desea irse?"
- chooseImage: "Escoger una imagen"
- roomType: "Estilo de cuarto"
- carpetColor: "Color de piso"
- _roomType:
- default: "Predeterminado"
- washitsu: "Estilo japonés"
- _furnitures:
- milk: "Cartón de leche"
- bed: "Cama"
- low-table: "Mesa chica"
- desk: "Escritorio"
- chair: "Silla"
- chair2: "Silla 2"
- fan: "Ventilador"
- pc: "Computadora"
- plant: "Planta decorativa"
- plant2: "Planta decorativa 2"
- eraser: "Goma de borrar"
- pencil: "lápiz"
- pudding: "Pudín"
- cardboard-box: "Caja de cartón"
- cardboard-box2: "Caja de cartón 2"
- cardboard-box3: "Caja de cartón 3"
- book: "Libro"
- book2: "Libro 2"
- piano: "Piano"
- facial-tissue: "Caja de pañuelos"
- server: "Servidor"
- moon: "Luna"
- corkboard: "Pizarra de corcho"
- mousepad: "Alfombrilla de ratón"
- monitor: "Monitor"
- keyboard: "Teclado"
- carpet-stripe: "Alfombra (a rayas)"
- mat: "Tapete"
- color-box: "Caja de colores"
- wall-clock: "Reloj de pared"
- photoframe: "Fotograma"
- cube: "Cubo"
- tv: "Televisor"
- pinguin: "Pinguino"
- rubik-cube: "Cubo rubik"
- poster-h: "Poster (horizontal)"
- poster-v: "Poster (vertical)"
- sofa: "Sillón"
- spiral: "Escalera en espiral"
- bin: "Papelera"
- cup-noodle: "Taza de sopa de fideos"
- holo-display: "Poster holográfico"
- energy-drink: "Bebida energética"
- doll-ai: "Muñeca"
- banknote: "Billetes"
_pages:
newPage: "Crear página"
editPage: "Editar página"
@@ -1091,6 +1397,7 @@ _pages:
created: "La página fue creada"
updated: "La página fue actualizada"
deleted: "La página borrada"
+ pageSetting: "Configurar página"
nameAlreadyExists: "La URL de la página especificada ya existe"
invalidNameTitle: "URL inválida"
invalidNameText: "Verifique que no tenga espacios en blanco"
@@ -1101,6 +1408,7 @@ _pages:
unlike: "Quitar me gusta"
my: "Mis páginas"
liked: "Páginas que me gustan"
+ featured: "Popular"
inspector: "Inspector"
contents: "Contenido"
content: "Bloque de página"
@@ -1156,6 +1464,11 @@ _pages:
id: "Lienzo ID"
width: "Ancho"
height: "Altura"
+ note: "Nota embebida"
+ _note:
+ id: "Id de la nota"
+ idDescription: "Pega la URL de la nota para configurarla"
+ detailed: "Ver Detalles"
switch: "Interruptor"
_switch:
name: "Nombre de variable"
@@ -1383,6 +1696,8 @@ _notification:
youReceivedFollowRequest: "Has mandado una solicitud de seguimiento"
yourFollowRequestAccepted: "Tu solicitud de seguimiento fue aceptada"
youWereInvitedToGroup: "Invitado al grupo"
+ pollEnded: "Estan disponibles los resultados de la encuesta"
+ emptyPushNotificationMessage: "Se han actualizado las notificaciones push"
_types:
all: "Todo"
follow: "Siguiendo"
@@ -1392,21 +1707,34 @@ _notification:
quote: "Citar"
reaction: "Reacción"
pollVote: "Votado en la encuesta"
+ pollEnded: "La encuesta terminó"
receiveFollowRequest: "Recibió una solicitud de seguimiento"
followRequestAccepted: "El seguimiento fue aceptado"
groupInvited: "Invitado al grupo"
app: "Notificaciones desde aplicaciones"
+ _actions:
+ followBack: "Te sigue de vuelta"
+ reply: "Responder"
+ renote: "Renotar"
_deck:
alwaysShowMainColumn: "Siempre mostrar la columna principal"
columnAlign: "Alinear columnas"
addColumn: "Agregar columna"
+ configureColumn: "Ajustes de columna"
swapLeft: "Mover a la izquierda"
swapRight: "Mover a la derecha"
swapUp: "Mover arriba"
swapDown: "Mover abajo"
stackLeft: "Apilar a la izquierda"
popRight: "Sacar a la derecha"
+ profile: "Perfil"
+ newProfile: "Nuevo perfil"
+ deleteProfile: "Eliminar perfil"
+ introduction: "¡Crea la interfaz perfecta para tí organizando las columnas libremente!"
+ introduction2: "Presiona en la + de la derecha de la pantalla para añadir nuevas columnas donde quieras."
+ widgetsIntroduction: "Por favor selecciona \"Editar Widgets\" en el menú columna y agrega un widget."
_columns:
+ main: "Principal"
widgets: "Widgets"
notifications: "Notificaciones"
tl: "Linea de tiempo"
diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml
index c81f8a95a..d6047b48d 100644
--- a/locales/fr-FR.yml
+++ b/locales/fr-FR.yml
@@ -7,6 +7,7 @@ search: "Rechercher"
notifications: "Notifications"
username: "Nom d’utilisateur·rice"
password: "Mot de passe"
+forgotPassword: "Mot de passe oublié"
fetchingAsApObject: "Récupération depuis le fédiverse …"
ok: "OK"
gotIt: "J’ai compris !"
@@ -17,8 +18,8 @@ noNotes: "Aucune note"
noNotifications: "Aucune notification"
instance: "Instance"
settings: "Paramètres"
-basicSettings: "Paramètres basiques"
-otherSettings: "Autres paramètres"
+basicSettings: "Paramètres généraux"
+otherSettings: "Paramètres avancés"
openInWindow: "Ouvrir dans une nouvelle fenêtre"
profile: "Profil"
timeline: "Fil"
@@ -34,7 +35,7 @@ addUser: "Ajouter un·e utilisateur·rice"
favorite: "Ajouter aux favoris"
favorites: "Favoris"
unfavorite: "Retirer des favoris"
-favorited: "Ajouter à mes favoris"
+favorited: "Ajouté à mes favoris"
alreadyFavorited: "Déjà ajouté aux favoris."
cantFavorite: "Impossible d'ajouter aux favoris."
pin: "Épingler sur le profil"
@@ -51,6 +52,7 @@ searchUser: "Chercher un·e utilisateur·rice"
reply: "Répondre"
loadMore: "Afficher plus …"
showMore: "Afficher plus …"
+showLess: "Fermer"
youGotNewFollower: "Vous suit"
receiveFollowRequest: "Demande d’abonnement reçue"
followRequestAccepted: "La demande d’abonnement a été acceptée"
@@ -62,7 +64,7 @@ import: "Importer"
export: "Exporter"
files: "Fichiers"
download: "Télécharger"
-driveFileDeleteConfirm: "Êtes-vous sûr·e de vouloir supprimer le fichier \"{name}\" ? Les notes avec ce fichier joint seront aussi supprimées."
+driveFileDeleteConfirm: "Êtes-vous sûr·e de vouloir supprimer le fichier \"{name}\" ? Les notes liées à ce fichier seront aussi supprimées."
unfollowConfirm: "Désirez-vous vous désabonner de {name} ?"
exportRequested: "Vous avez demandé une exportation. L’opération pourrait prendre un peu de temps. Une terminée, le fichier résultant sera ajouté au Drive."
importRequested: "Vous avez initié un import. Cela pourrait prendre un peu de temps."
@@ -80,35 +82,40 @@ somethingHappened: "Une erreur est survenue"
retry: "Réessayer"
pageLoadError: "Le chargement de la page a échoué"
pageLoadErrorDescription: "Cela est généralement causé par le cache du navigateur ou par un problème réseau. Veuillez vider votre cache ou attendre un peu et réessayer."
+serverIsDead: "Le serveur ne répond pas. Patientez quelques instants puis essayez à nouveau."
+youShouldUpgradeClient: "Si la page ne s'affiche pas correctement, rechargez-la pour mettre votre client à jour."
enterListName: "Nom de la liste"
privacy: "Confidentialité"
makeFollowManuallyApprove: "Accepter manuellement les demandes d’abonnement"
-defaultNoteVisibility: "Visibilité par défaut"
+defaultNoteVisibility: "Visibilité des notes par défaut"
follow: "S’abonner"
followRequest: "Demande d’abonnement"
followRequests: "Demandes d’abonnement"
unfollow: "Se désabonner"
-followRequestPending: "En attente d’approbation"
-enterEmoji: "ou entrez un émoji"
-renote: "Renote"
-unrenote: "Annuler Renote"
-renoted: "Republier"
-cantRenote: "Ce message ne peut pas être republié."
+followRequestPending: "Demande d'abonnement en attente de confirmation"
+enterEmoji: "Insérer un émoji"
+renote: "Renoter"
+unrenote: "Annuler la Renote"
+renoted: "Renoté !"
+cantRenote: "Ce message ne peut pas être renoté."
+cantReRenote: "Impossible de renoter une Renote."
quote: "Citer"
pinnedNote: "Note épinglée"
+pinned: "Épingler sur le profil"
you: "Vous"
clickToShow: "Cliquer pour afficher"
sensitive: "Contenu sensible"
add: "Ajouter"
reaction: "Réactions"
-reactionSettingDescription: "Choisissez vos réactions préférées que vous souhaitez épingler dans le sélecteur de réactions."
-rememberNoteVisibility: "Se souvenir de la visibilité des notes"
+reactionSetting: "Réactions à afficher dans le sélecteur de réactions"
+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."
attachCancel: "Supprimer le fichier attaché"
markAsSensitive: "Marquer comme sensible"
-unmarkAsSensitive: "Enlever le marquage comme sensible"
+unmarkAsSensitive: "Supprimer le marquage comme sensible"
enterFileName: "Entrer le nom du fichier"
-mute: "Mettre en sourdine"
-unmute: "Enlever la sourdine"
+mute: "Masquer"
+unmute: "Ne plus masquer"
block: "Bloquer"
unblock: "Débloquer"
suspend: "Suspendre"
@@ -121,9 +128,10 @@ selectList: "Sélectionner une liste"
selectAntenna: "Sélectionner une antenne"
selectWidget: "Sélectionner un widget"
editWidgets: "Modifier les widgets"
-editWidgetsExit: "Fait"
+editWidgetsExit: "Valider les modifications"
customEmojis: "Émojis personnalisés"
emoji: "Émoji"
+emojis: "Émoji"
emojiName: "Nom de l’émoji"
emojiUrl: "URL de l’émoji"
addEmoji: "Ajouter un émoji"
@@ -131,11 +139,12 @@ settingGuide: "Configuration proposée"
cacheRemoteFiles: "Mise en cache des fichiers distants"
cacheRemoteFilesDescription: "Lorsque cette option est désactivée, les fichiers distants sont chargés directement depuis l’instance distante. La désactiver diminuera certes l’utilisation de l’espace de stockage local mais augmentera le trafic réseau puisque les miniatures ne seront plus générées."
flagAsBot: "Ce compte est un robot"
-flagAsBotDescription: "Si ce compte est contrôlé par un programme, définissez cette option. Si elle est activée, elle agira comme un marqueur pour les autres développeurs afin d'éviter des chaînes d'interaction sans fin avec d'autres robots et d'ajuster les systèmes internes de Misskey pour traiter ce compte comme un robot."
+flagAsBotDescription: "Si ce compte est géré de manière automatisée, choisissez cette option. Si elle est activée, elle agira comme un marqueur pour les autres développeurs afin d'éviter des chaînes d'interaction sans fin avec d'autres robots et d'ajuster les systèmes internes de Misskey pour traiter ce compte comme un robot."
flagAsCat: "Ce compte est un chat"
-flagAsCatDescription: "Activez cette option pour que ce compte soit marqué comme un chat."
+flagAsCatDescription: "Activer l'option \" Je suis un chat \" pour ce compte."
+flagShowTimelineReplies: "Afficher les réponses dans le fil"
autoAcceptFollowed: "Accepter automatiquement les demandes d’abonnement venant d’utilisateur·rice·s que vous suivez"
-addAcount: "Ajouter un compte"
+addAccount: "Ajouter un compte"
loginFailed: "Échec de la connexion"
showOnRemote: "Voir sur l’instance distante"
general: "Général"
@@ -147,9 +156,9 @@ youHaveNoLists: "Vous n’avez aucune liste"
followConfirm: "Êtes-vous sûr·e de vouloir suivre {name} ?"
proxyAccount: "Compte proxy"
proxyAccountDescription: "Un compte proxy se comporte, dans certaines conditions, comme un·e abonné·e distant·e pour les utilisateurs d'autres instances. Par exemple, quand un·e utilisateur·rice ajoute un·e utilisateur·rice distant·e à une liste, ses notes ne seront pas visibles sur l'instance si personne ne suit cet·te utilisateur·rice. Le compte proxy va donc suivre cet·te utilisateur·rice pour que ses notes soient acheminées."
-host: "Hôte"
+host: "Serveur distant"
selectUser: "Sélectionner un·e utilisateur·rice"
-recipient: "Correspondant·e"
+recipient: "Destinataire"
annotation: "Commentaires"
federation: "Fédération"
instances: "Instance"
@@ -168,7 +177,7 @@ software: "Logiciel"
version: "Version"
metadata: "Métadonnées"
withNFiles: "{n} fichier(s)"
-monitor: "Écran de contrôle"
+monitor: "Contrôle"
jobQueue: "File d’attente"
cpuAndMemory: "Processeur et mémoire"
network: "Réseau"
@@ -177,9 +186,9 @@ instanceInfo: "Informations sur l’instance"
statistics: "Statistiques"
clearQueue: "Vider la file d’attente"
clearQueueConfirmTitle: "Êtes-vous sûr·e de vouloir vider la file d’attente ?"
-clearQueueConfirmText: "Les notes non distribuées ne seront pas livrées. Normalement, vous n'avez PAS besoin d'effectuer cette opération."
+clearQueueConfirmText: "Les notes non distribuées ne seront pas délivrées. Normalement, vous n'avez pas besoin d'effectuer cette opération."
clearCachedFiles: "Vider le cache"
-clearCachedFilesConfirm: "Êtes-vous sûr·e de vouloir vider le cache de fichiers distants ?"
+clearCachedFilesConfirm: "Êtes-vous sûr·e de vouloir vider tout le cache de fichiers distants ?"
blockedInstances: "Instances bloquées"
blockedInstancesDescription: "Listez les instances que vous désirez bloquer, une par ligne. Ces instances ne seront plus en capacité d'interagir avec votre instance."
muteAndBlock: "Masqué·e·s / Bloqué·e·s"
@@ -192,7 +201,7 @@ pinLimitExceeded: "Vous ne pouvez plus épingler d’autres notes."
intro: "L’installation de Misskey est terminée ! Veuillez créer un compte administrateur."
done: "Terminé"
processing: "Traitement en cours"
-preview: "Prévisualisation"
+preview: "Aperçu"
default: "Par défaut"
noCustomEmojis: "Il n'y a pas d’émoji"
noJobs: "Il n’y a aucune tâche planifiée"
@@ -203,7 +212,7 @@ all: "Tous"
subscribing: "Abonné"
publishing: "Publié"
notResponding: "Ne répond pas"
-instanceFollowing: "Abonnements une instance"
+instanceFollowing: "Abonnements de l'instance"
instanceFollowers: "Abonné·e·s de l’instance"
instanceUsers: "Utilisateur·rice·s de cette l’instance"
changePassword: "Modifier votre mot de passe"
@@ -216,18 +225,19 @@ attachFile: "Joindre un fichier"
more: "Plus !"
featured: "Tendances"
usernameOrUserId: "Nom d’utilisateur·rice ou ID utilisateur"
-noSuchUser: "Utilisateur·rice non trouvé"
+noSuchUser: "Utilisateur·rice non trouvé·e"
lookup: "Recherche"
announcements: "Annonces"
imageUrl: "URL de l’image"
remove: "Supprimer"
removed: "Supprimé"
-removeAreYouSure: "Supprimer «{x}» ?"
-deleteAreYouSure: "Supprimer «{x}» ?"
-resetAreYouSure: "Réinitialiser ?"
+removeAreYouSure: "Êtes-vous sûr·e de vouloir supprimer「{x}」?"
+deleteAreYouSure: "Êtes-vous sûr·e de vouloir supprimer「{x}」?"
+resetAreYouSure: "Voulez-vous réinitialiser ?"
saved: "Enregistré"
messaging: "Discuter"
upload: "Téléverser"
+keepOriginalUploading: "Garder l’image d’origine"
fromDrive: "Depuis le Drive"
fromUrl: "Depuis une URL"
uploadFromUrl: "Téléverser via une URL"
@@ -235,8 +245,7 @@ uploadFromUrlDescription: "URL du fichier que vous souhaitez téléverser"
uploadFromUrlRequested: "Téléversement demandé"
uploadFromUrlMayTakeTime: "Le téléversement de votre fichier peut prendre un certain temps."
explore: "Découvrir"
-games: "Jeux de Misskey"
-messageRead: "Lus"
+messageRead: "Lu"
noMoreHistory: "Il n’y a plus d’historique"
startMessaging: "Commencer à discuter"
nUsersRead: "Lu par {n} personnes"
@@ -256,28 +265,29 @@ themeForLightMode: "Thème à utiliser en Mode Clair"
themeForDarkMode: "Thème à utiliser en Mode Sombre"
light: "Clair"
dark: "Sombre"
-lightThemes: "Thème clair"
-darkThemes: "Thème sombre"
-syncDeviceDarkMode: "Synchronisez le mode sombre avec les paramètres de votre appareil"
+lightThemes: "Thèmes clairs"
+darkThemes: "Thèmes sombres"
+syncDeviceDarkMode: "Utiliser le mode sombre de votre appareil"
drive: "Drive"
fileName: "Nom du fichier"
selectFile: "Choisir le fichier"
selectFiles: "Choisir les fichiers"
selectFolder: "Sélectionnez un dossier"
selectFolders: "Sélectionnez des dossiers"
-renameFile: "Renommer le ficher"
+renameFile: "Renommer le fichier"
folderName: "Nom du dossier"
createFolder: "Créer un dossier"
renameFolder: "Renommer le dossier"
deleteFolder: "Supprimer le dossier"
-addFile: "Ajoutez un fichier"
+addFile: "Ajouter un fichier"
emptyDrive: "Le Drive est vide"
emptyFolder: "Le dossier est vide"
-unableToDelete: "Ne peut pas être supprimé"
+unableToDelete: "Suppression impossible"
inputNewFileName: "Entrez un nouveau nom de fichier"
+inputNewDescription: "Veuillez entrer une nouvelle description"
inputNewFolderName: "Entrez un nouveau nom de dossier"
circularReferenceFolder: "Le dossier de destination est un sous-dossier du dossier que vous souhaitez déplacer."
-hasChildFilesOrFolders: "Ce dossier n'est pas vide, il ne peut donc pas être supprimé"
+hasChildFilesOrFolders: "Impossible de supprimer ce dossier car il n'est pas vide."
copyUrl: "Copier l’URL"
rename: "Renommer"
avatar: "Avatar"
@@ -287,7 +297,7 @@ whenServerDisconnected: "Lorsque la connexion au serveur est perdue"
disconnectedFromServer: "Déconnecté·e du serveur"
reload: "Rafraîchir"
doNothing: "Ignorer"
-reloadConfirm: "Voulez-vous recharger le fil ?"
+reloadConfirm: "Voulez-vous recharger?"
watch: "Surveiller"
unwatch: "Ne plus surveiller"
accept: "Autoriser"
@@ -306,24 +316,26 @@ monthX: "{month}"
yearX: "{year}"
pages: "Pages"
integration: "Intégrations"
-connectSerice: "Connecter"
-disconnectSerice: "Déconnecter"
+connectService: "Connexion"
+disconnectService: "Déconnexion"
enableLocalTimeline: "Activer le fil local"
enableGlobalTimeline: "Activer le fil global"
-disablingTimelinesInfo: "Si vous désactivez ces fils, les administrateurs et les modérateurs pourront toujours y accéder."
+disablingTimelinesInfo: "Même si vous désactivez ces fils, les administrateur·rice·s et les modérateur·rice·s pourront toujours y accéder."
registration: "S’inscrire"
enableRegistration: "Autoriser les nouvelles inscriptions"
invite: "Inviter"
-proxyRemoteFiles: "Proxy fichiers distants"
-proxyRemoteFilesDescription: "Si vous activez ce paramètre, les fichiers distants non stockés ou supprimés en raison d'une capacité excédentaire seront affichés via un proxy local et généreront une miniature. Cela n'affectera pas le stockage du serveur."
driveCapacityPerLocalAccount: "Volume du Drive par utilisateur local"
driveCapacityPerRemoteAccount: "Volume du Drive par utilisateur distant"
inMb: "en mégaoctets"
-iconUrl: "URL de l’image de l’avatar"
+iconUrl: "URL de l'icône"
bannerUrl: "URL de l’image de la bannière"
+backgroundImageUrl: "URL de l'image d'arrière-plan"
basicInfo: "Informations basiques"
pinnedUsers: "Utilisateur·rice épinglé·e"
pinnedUsersDescription: "Listez les utilisateur·rice·s que vous souhaitez voir épinglé·e·s sur la page \"Découvrir\", un·e par ligne."
+pinnedPages: "Pages épinglées"
+pinnedPagesDescription: "Inscrivez le chemin des pages que vous souhaitez épingler en haut de la page de l'instance. Séparez les pages d'un retour à la ligne."
+pinnedClipId: "Identifiant du clip épinglé"
pinnedNotes: "Note épinglée"
hcaptcha: "hCaptcha"
enableHcaptcha: "Activer hCaptcha"
@@ -341,9 +353,8 @@ antennaSource: "Source de l’antenne"
antennaKeywords: "Mots clés à recevoir"
antennaExcludeKeywords: "Mots clés à exclure"
antennaKeywordsDescription: "Séparer avec des espaces pour la condition AND. Séparer avec un saut de ligne pour une condition OR."
-notifyAntenna: "Me notifier pour les nouvelles notes"
+notifyAntenna: "Je souhaite recevoir les notifications des nouvelles notes"
withFileAntenna: "Notes ayant des attachements uniquement"
-serviceworker: "ServiceWorker"
enableServiceworker: "Activer ServiceWorker"
antennaUsersDescription: "Saisissez un seul nom d’utilisateur·rice par ligne"
caseSensitive: "Sensible à la casse"
@@ -353,12 +364,12 @@ notesAndReplies: "Notes et Réponses"
withFiles: "Avec fichiers joints"
silence: "Mettre en sourdine"
silenceConfirm: "Êtes-vous sûr·e de vouloir mettre l’utilisateur·rice en sourdine ?"
-unsilence: "Annuler la mise en sourdine"
-unsilenceConfirm: "Êtes-vous sûr·e de vouloir annuler la mise en sourdine de cette utilisateur·rice ?"
+unsilence: "Annuler la sourdine"
+unsilenceConfirm: "Êtes-vous sûr·e de vouloir annuler la mise en sourdine de cet·te utilisateur·rice ?"
popularUsers: "Utilisateur·rice·s populaires"
recentlyUpdatedUsers: "Utilisateur·rice·s actif·ve·s récemment"
recentlyRegisteredUsers: "Utilisateur·rice·s récemment inscrit·e·s"
-recentlyDiscoveredUsers: "Utilisateur·rice·s récemment découverts"
+recentlyDiscoveredUsers: "Utilisateur·rice·s récemment découvert·e·s"
exploreUsersCount: "Il y a {count} utilisateur·rice·s"
exploreFediverse: "Explorer le Fediverse"
popularTags: "Mots-clés populaires"
@@ -368,15 +379,15 @@ aboutMisskey: "À propos de Misskey"
administrator: "Administrateur"
token: "Jeton"
twoStepAuthentication: "Authentification à deux facteurs"
-moderator: "Modérateurs"
+moderator: "Modérateur·rice·s"
nUsersMentioned: "{n} utilisateur·rice·s mentionné·e·s"
securityKey: "Clé de sécurité"
securityKeyName: "Nom de la clé"
-registerSecurityKey: "S’inscrire la clé de sécurité"
+registerSecurityKey: "Enregistrer une clé de sécurité"
lastUsed: "Dernier utilisé"
unregister: "Se désinscrire"
-passwordLessLogin: "Connectez-vous sans mot de passe"
-resetPassword: "Réinitialiser mot de passe"
+passwordLessLogin: "Se connecter sans mot de passe"
+resetPassword: "Réinitialiser le mot de passe"
newPasswordIs: "Votre nouveau mot de passe est \"{password}\""
reduceUiAnimation: "Réduire les animations dans l’interface"
share: "Partager"
@@ -388,66 +399,66 @@ markAsReadAllNotifications: "Marquer toutes les notifications comme lues"
markAsReadAllUnreadNotes: "Marquer toutes les notes comme lues"
markAsReadAllTalkMessages: "Marquer toutes les discussions comme lues"
help: "Aide"
-inputMessageHere: "Tapez ici votre message"
+inputMessageHere: "Écrivez votre message ici"
close: "Fermer"
group: "Groupe"
groups: "Groupes"
createGroup: "Créer un groupe"
-ownedGroups: "Groupe propriétaire"
-joinedGroups: "Membre dans les groupes"
-invites: "Inviter"
+ownedGroups: "Mes groupes"
+joinedGroups: "Groupes rejoints"
+invites: "Invitations"
groupName: "Nom du groupe"
members: "Membres"
transfer: "Transférer"
-messagingWithUser: "Discutez avec les utilisateurs"
-messagingWithGroup: "Discuter en groupe"
+messagingWithUser: "Discuter avec un·e autre utilisateur·rice"
+messagingWithGroup: "Discuter avec un groupe"
title: "Titre"
text: "Texte"
enable: "Activer"
next: "Suivant"
-retype: "Retapez"
-noteOf: "{user} notes"
-inviteToGroup: "Inviter au groupe"
-maxNoteTextLength: "Limite de note caractères"
+retype: "Confirmation"
+noteOf: "Notes de {user}"
+inviteToGroup: "Inviter dans un groupe"
quoteAttached: "Avec citation"
-quoteQuestion: "Souhaitez-vous ajoutez une citation ?"
-noMessagesYet: "Pas encore discuté"
+quoteQuestion: "Souhaitez-vous ajouter une citation ?"
+noMessagesYet: "Pas encore de discussion"
newMessageExists: "Vous avez un nouveau message"
onlyOneFileCanBeAttached: "Vous ne pouvez joindre qu’un seul fichier au message"
signinRequired: "Veuillez vous connecter"
-invitations: "Inviter"
+invitations: "Invitations"
invitationCode: "Code d’invitation"
-checking: "Vérification"
+checking: "Vérification en cours..."
available: "Disponible"
unavailable: "Non disponible"
-usernameInvalidFormat: "Vous pouvez utiliser des lettres, des nombres et _"
-tooShort: "Est trop court"
-tooLong: "Est trop long"
-weakPassword: "Faible mot de passe"
-normalPassword: "Bon mot de passe"
-strongPassword: "Fort mot de passe"
-passwordMatched: "Combinaison correcte !"
-passwordNotMatched: "Ne correspond pas"
-signinWith: "Connectez-vous avec {x}"
+usernameInvalidFormat: "Le nom d'utilisateur peut contenir uniquement des lettres (minuscules et/ou majuscules), des chiffres et des _"
+tooShort: "Trop court"
+tooLong: "Trop long"
+weakPassword: "Mot de passe faible"
+normalPassword: "Mot de passe acceptable"
+strongPassword: "Mot de passe fort"
+passwordMatched: "Les mots de passe correspondent"
+passwordNotMatched: "Les mots de passe ne correspondent pas"
+signinWith: "Se connecter avec {x}"
signinFailed: "Échec d’authentification. Veuillez vérifier que votre nom d’utilisateur et mot de passe sont corrects."
tapSecurityKey: "Appuyez sur votre clé de sécurité"
or: "OU"
+language: "Langue"
uiLanguage: "Langue d’affichage de l’interface"
groupInvited: "Invité au groupe"
aboutX: "À propos de {x}"
useOsNativeEmojis: "Utiliser les émojis natifs du système"
youHaveNoGroups: "Vous n’avez aucun groupe"
-joinOrCreateGroup: "Soyez invité à rejoindre les groupes ou vous pouvez créer votre propre groupe."
+joinOrCreateGroup: "Vous pouvez être invité·e à rejoindre des groupes existants ou créer votre propre nouveau groupe."
noHistory: "Pas d'historique"
signinHistory: "Historique de connexion"
disableAnimatedMfm: "Désactiver MFM ayant des animations"
-doing: "Attends une seconde"
-category: "Catégories"
+doing: "En cours..."
+category: "Catégorie"
tags: "Étiquettes"
docSource: "Source de ce document"
-createAccount: "Créer compte"
-existingAcount: "Comptes existants"
-regenerate: "Régénérer"
+createAccount: "Créer un compte"
+existingAccount: "Compte existant"
+regenerate: "Générer à nouveau"
fontSize: "Taille de la police"
noFollowRequests: "Vous n’avez aucune demande d’abonnement en attente"
openImageInNewTab: "Ouvrir les images dans un nouvel onglet"
@@ -455,16 +466,16 @@ dashboard: "Tableau de bord"
local: "Local"
remote: "Distant"
total: "Total"
-weekOverWeekChanges: "Diff hebdo"
-dayOverDayChanges: "Diff quotidien"
-appearance: "Aspect"
+weekOverWeekChanges: "Hebdomadaire"
+dayOverDayChanges: "Journalier"
+appearance: "Apparence"
clientSettings: "Paramètres du client"
accountSettings: "Paramètres du compte"
promotion: "Promu"
promote: "Promouvoir"
numberOfDays: "Nombre de jours"
hideThisNote: "Masquer cette note"
-showFeaturedNotesInTimeline: "Afficher les notes en vedette dans fil d'actualité"
+showFeaturedNotesInTimeline: "Afficher les notes des Tendances dans le fil d'actualité"
objectStorage: "Stockage d'objets"
useObjectStorage: "Utiliser le stockage d'objets"
objectStorageBaseUrl: "Base URL"
@@ -475,52 +486,55 @@ objectStoragePrefix: "Prefix"
objectStoragePrefixDesc: "Les fichiers seront stockés sous le répertoire de ce préfixe."
objectStorageEndpoint: "Endpoint"
objectStorageEndpointDesc: "Laissez ce champ vide si vous utilisez AWS S3, sinon spécifiez le point de terminaison comme '' ou ': ' selon le guide de service que vous allez utiliser."
-objectStorageRegion: "Region"
+objectStorageRegion: "Région"
objectStorageRegionDesc: "Spécifiez une région comme 'xx-east-1'. Si votre service ne fait pas de distinction entre les régions, laissez-le vide ou remplissez 'us-east-1'."
objectStorageUseSSL: "Utiliser SSL"
-objectStorageUseSSLDesc: "Désactivez-le si vous n'utilisez pas HTTPS pour la connexion API"
+objectStorageUseSSLDesc: "Désactivez cette option si vous n'utilisez pas HTTPS pour la connexion API"
objectStorageUseProxy: "Se connecter via proxy"
-objectStorageUseProxyDesc: "Désactivez-le si vous n'utilisez pas Proxy pour la connexion de stockage d'objets"
-serverLogs: "Journaux serveur"
+objectStorageUseProxyDesc: "Désactivez cette option si vous n'utilisez pas de proxy pour la connexion API"
+objectStorageSetPublicRead: "Régler sur « public » lors de l'envoi"
+serverLogs: "Journal du serveur"
deleteAll: "Supprimer tout"
-showFixedPostForm: "Afficher le formulaire en haut du fil d'actualité"
-newNoteRecived: "Vous avez une nouvelle note"
+showFixedPostForm: "Afficher le formulaire de publication en haut du fil d'actualité"
+newNoteRecived: "Voir les nouvelles notes"
sounds: "Sons"
listen: "Écouter"
none: "Rien"
+showInPage: "Afficher dans la page"
popout: "Fenêtre contextuelle"
volume: "Volume"
-masterVolume: "Volume"
+masterVolume: "Volume principal"
details: "Détails"
chooseEmoji: "Choisissez un émoji"
unableToProcess: "L’opération n’a pas pu être complétée."
-recentUsed: "Récemment utilisé"
+recentUsed: "Utilisé récemment"
install: "Installation"
uninstall: "Désinstaller"
-installedApps: "Applications Autorisées"
+installedApps: "Applications installées"
nothing: "Il n'y a rien à voir ici"
-installedDate: "Autorisé"
+installedDate: "Date d'installation"
lastUsedDate: "Dernière utilisation"
state: "État"
sort: "Trier"
ascendingOrder: "Ascendant"
descendingOrder: "Descendant"
-scratchpad: "Scratch pad"
-scratchpadDescription: "Scratchpad fournit un environnement expérimental pour AiScript. Vous pouvez écrire, exécuter et vérifier les résultats qui interagissent avec Misskey."
+scratchpad: "ScratchPad"
+scratchpadDescription: "ScratchPad fournit un environnement expérimental pour AiScript. Vous pouvez vérifier la rédaction de votre code, sa bonne exécution et le résultat de son interaction avec Misskey."
output: "Sortie"
script: "Script"
disablePagesScript: "Désactiver AiScript sur les Pages"
updateRemoteUser: "Mettre à jour les informations de l’utilisateur·rice distant·e"
deleteAllFiles: "Supprimer tous les fichiers"
-deleteAllFilesConfirm: "Êtes vous surs de vouloir supprimer tous les fichiers ?"
+deleteAllFilesConfirm: "Êtes-vous sûr·e de vouloir supprimer tous les fichiers ?"
removeAllFollowing: "Retenir tous les abonnements"
removeAllFollowingDescription: "Se désabonner de tous les comptes de {host}. Veuillez lancer cette action uniquement si l’instance n’existe plus."
-userSuspended: "Cette utilisateur·trice a été suspendue."
-userSilenced: "Cette utilisateur·trice a été masquer."
-sidebar: "Barre latérale"
+userSuspended: "Cet·te utilisateur·rice a été suspendu·e."
+userSilenced: "Cette utilisateur·trice a été mis·e en sourdine."
+yourAccountSuspendedTitle: "Ce compte est suspendu"
+yourAccountSuspendedDescription: "Ce compte est suspendu car vous avez enfreint les conditions d'utilisation de l'instance, ou pour un motif similaire. Si vous souhaitez connaître en détail les raisons de cette suspension, renseignez-vous auprès de l'administrateur·rice de votre instance. Merci de ne pas créer de nouveau compte."
+menu: "Menu"
divider: "Séparateur"
-addItem: "Ajouter élément"
-rooms: "Chambre"
+addItem: "Ajouter un élément"
relays: "Relais"
addRelay: "Ajouter un relais"
inboxUrl: "Inbox URL"
@@ -532,19 +546,21 @@ enableInfiniteScroll: "Activer le défilement infini"
visibility: "Visibilité"
poll: "Sondage"
useCw: "Masquer le contenu"
-enablePlayer: "Activer le lecteur vidéo"
-disablePlayer: "Désactiver le lecteur vidéo"
+enablePlayer: "Ouvrir dans le lecteur vidéo"
+disablePlayer: "Fermer le lecteur vidéo"
expandTweet: "Étendre le tweet"
themeEditor: "Éditeur de thèmes"
description: "Description"
+describeFile: "Ajouter une description d'image"
+enterFileDescription: "Saisissez une description"
author: "Auteur·rice"
leaveConfirm: "Vous avez des modifications non-sauvegardées. Voulez-vous les ignorer ?"
manage: "Gestion"
plugins: "Extensions"
-pluginInstallWarn: "N’installez que des extensions provenant de sources de confiance."
deck: "Deck"
undeck: "Quitter le deck"
useBlurEffectForModal: "Utiliser un effet de flou pour les modals"
+useFullReactionPicker: "Utiliser l'intégralité du panneau de réactions"
width: "Largeur"
height: "Hauteur"
large: "Grand"
@@ -559,13 +575,13 @@ pluginTokenRequestedDescription: "Ce plugin pourra utiliser les autorisations d
notificationType: "Type de notifications"
edit: "Editer"
useStarForReactionFallback: "Utiliser ★ comme alternative si l’émoji de réaction est inconnu"
-emailConfig: "Configuration du serveur email"
+emailServer: "Serveur mail"
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 d’oubli."
email: "E-mail "
emailAddress: "Adresses e-mail"
smtpConfig: "Paramètres du serveur SMTP"
-smtpHost: "Hôte"
+smtpHost: "Serveur distant"
smtpPort: "Port"
smtpUser: "Nom d’utilisateur·rice"
smtpPass: "Mot de passe"
@@ -574,6 +590,8 @@ smtpSecure: "Utiliser SSL/TLS implicitement dans les connexions SMTP"
smtpSecureInfo: "Désactiver cette option lorsque STARTTLS est utilisé"
testEmail: "Tester la distribution de courriel"
wordMute: "Filtre de mots"
+regexpError: "Erreur d’expression régulière"
+instanceMute: "Instance en sourdine"
userSaysSomething: "{name} a dit quelque chose"
makeActive: "Activer"
display: "Affichage"
@@ -591,58 +609,290 @@ useGlobalSetting: "Utiliser paramètre général"
useGlobalSettingDesc: "S'il est activé, les paramètres de notification de votre compte seront utilisés. S'il est désactivé, des configurations individuelles peuvent être effectuées."
other: "Autre"
regenerateLoginToken: "Régénérer le jeton de connexion"
-setMultipleBySeparatingWithSpace: "Vous pouvez définir plus d’un, séparés par des espaces."
+regenerateLoginTokenDescription: "Générer un nouveau jeton d'authentification. Cette opération ne devrait pas être nécessaire ; lors de la génération d'un nouveau jeton, tous les appareils seront déconnectés. "
+setMultipleBySeparatingWithSpace: "Vous pouvez en définir plusieurs, en les séparant par des espaces."
fileIdOrUrl: "ID du fichier ou URL"
-chatOpenBehavior: "Comportement de la fenêtre de discussion lors de son ouverture"
+behavior: "Comportement"
+sample: "Exemple"
abuseReports: "Signalements"
-reportAbuse: "Signalements"
+reportAbuse: "Signaler"
reportAbuseOf: "Signaler {name}"
+fillAbuseReportDescription: "Veuillez expliquer les raisons du signalement. S'il s'agit d'une note précise, veuillez en donner le lien."
+abuseReported: "Le rapport est envoyé. Merci."
+reporter: "Signalé par"
+reporteeOrigin: "Origine du signalement"
+reporterOrigin: "Signalé par"
+forwardReport: "Transférer le signalement à l’instance distante"
send: "Envoyer"
abuseMarkAsResolved: "Marquer le signalement comme résolu"
openInNewTab: "Ouvrir dans un nouvel onglet"
+openInSideView: "Ouvrir en vue latérale"
+defaultNavigationBehaviour: "Navigation par défaut"
+editTheseSettingsMayBreakAccount: "La modification de ces paramètres peut endommager votre compte."
+instanceTicker: "Nom de l'instance d'origine des notes"
waitingFor: "En attente de {x}"
random: "Aléatoire"
+system: "Système"
+switchUi: "Modifier l'interface utilisateur"
+desktop: "Bureau"
clip: "Clip"
+createNew: "Créer nouveau"
+optional: "Facultatif"
createNewClip: "Créer un nouveau clip"
public: "Public"
+i18nInfo: "Misskey est traduit dans différentes langues par des bénévoles. Vous pouvez contribuer à {link}."
manageAccessTokens: "Gérer les jetons d'accès"
accountInfo: " Informations du compte "
notesCount: "Nombre de notes"
repliesCount: "Nombre de réponses envoyées"
-renotesCount: "Nombre de notes repartagées"
+renotesCount: "Nombre de notes que vous avez renotées"
repliedCount: "Nombre de réponses reçues"
+renotedCount: "Nombre de vos notes renotées"
followingCount: "Nombre de comptes suivis"
+followersCount: "Nombre d'abonnés"
+sentReactionsCount: "Nombre de réactions envoyées"
+receivedReactionsCount: "Nombre de réactions reçues"
+pollVotesCount: "Nombre de votes envoyés"
+pollVotedCount: "Nombre de votes reçus"
+yes: "Oui"
+no: "Non"
driveFilesCount: "Nombre de fichiers dans le Drive"
+driveUsage: "Utilisation du Drive"
noCrawle: "Refuser l'indexation par les robots"
noCrawleDescription: "Demandez aux moteurs de recherche de ne pas indexer votre page de profil, vos notes, vos pages, etc."
-lockedAccountInfo: "À moins que vous ne définissiez la visibilité de votre note sur \"Abonné-e-s\", vos notes sont visibles par tous, même si vous exigez que les followers soient approuvés manuellement."
+lockedAccountInfo: "À moins que vous ne définissiez la visibilité de votre note sur \"Abonné-e-s\", vos notes sont visibles par tous, même si vous exigez que les demandes d'abonnement soient approuvées manuellement."
+alwaysMarkSensitive: "Marquer les médias comme contenu sensible par défaut"
loadRawImages: "Affichage complet des images jointes au lieu des vignettes"
disableShowingAnimatedImages: "Désactiver l'animation des images"
verificationEmailSent: "Un e-mail de vérification a été envoyé. Veuillez accéder au lien pour compléter la vérification."
notSet: "Non défini"
emailVerified: "Votre adresse e-mail a été vérifiée."
-clips: "Clip"
+noteFavoritesCount: "Nombre de notes dans les favoris"
+pageLikesCount: "Nombre de pages aimées"
+pageLikedCount: "Nombre de vos pages aimées"
+contact: "Contact"
+useSystemFont: "Utiliser la police par défaut du système"
+clips: "Clips"
experimentalFeatures: "Fonctionnalités expérimentales"
+developer: "Développeur"
makeExplorable: "Rendre le compte visible sur la page \"Découvrir\"."
makeExplorableDescription: "Si vous désactivez cette option, votre compte n'apparaîtra pas sur la page \"Découvrir\"."
showGapBetweenNotesInTimeline: "Afficher un écart entre les notes sur la Timeline"
+duplicate: "Duliquer"
left: "Gauche"
+center: "Centrer"
+wide: "Large"
+narrow: "Condensé"
+reloadToApplySetting: "Vos paramètres seront appliqués lorsque vous rechargerez la page. Souhaitez-vous recharger ?"
+needReloadToApply: "Ce paramètre s'appliquera après un rechargement."
showTitlebar: "Afficher la barre de titre"
clearCache: "Vider le cache"
onlineUsersCount: "{n} utilisateur(s) en ligne"
+nUsers: "{n} utilisateur·rice·s"
nNotes: "{n} Notes"
sendErrorReports: "Envoyer les rapports d’erreur"
-sendErrorReportsDescription: "Lorsqu'il est activé, des informations détaillées sur les erreurs sont partagées avec Misskey lorsqu'un problème survient, ce qui contribue à améliorer la qualité de Misskey."
+sendErrorReportsDescription: "Si vous activez l'envoi des rapports d'erreur, vous contribuerez à améliorer la qualité de Misskey grâce au partage d'informations détaillées sur les erreurs lorsqu'un problème survient.\nCela inclut des informations telles que la version de votre système d'exploitation, le type de navigateur que vous utilisez, votre historique d'activité, etc."
myTheme: "Mes thèmes"
backgroundColor: "Arrière-plan"
+accentColor: "Accentuation"
textColor: "Texte"
saveAs: "Enregistrer sous ..."
+advanced: "Avancé"
value: "Valeur"
+createdAt: "Date de création"
+updatedAt: "Mis à jour le"
saveConfirm: "Voulez-vous sauvegarder les modifications?"
+deleteConfirm: "Confirmez-vous la suppression?"
+invalidValue: "Cette valeur est invalide."
+registry: "Registre"
closeAccount: "Fermer le compte"
+currentVersion: "Version actuelle"
+latestVersion: "Dernière version "
+youAreRunningUpToDateClient: "Votre client est à jour."
+newVersionOfClientAvailable: "Une nouvelle version de votre client est disponible."
+usageAmount: "Utilisation"
+capacity: "Capacité "
+inUse: "utilisé"
+editCode: "Modifier le code"
+apply: "Appliquer"
+receiveAnnouncementFromInstance: "Recevoir les messages d'information de l'instance"
+emailNotification: "Notifications par mail"
+publish: "Public"
+inChannelSearch: "Chercher dans le canal"
+useReactionPickerForContextMenu: "Clic-droit pour ouvrir le panneau de réactions"
+typingUsers: "{users} est en train d'écrire"
+jumpToSpecifiedDate: "Se rendre à la date"
+showingPastTimeline: "Un fil ancien est affiché"
+clear: "Effacer"
+markAllAsRead: "Tout marquer comme lu"
+goBack: "Retour"
+unlikeConfirm: "Êtes-vous sûr·e de ne plus vouloir aimer cette publication ?"
+fullView: "Plein écran"
+quitFullView: "Quitter le plein écran"
+addDescription: "Ajouter une description"
+userPagePinTip: "Vous pouvez afficher des notes ici en sélectionnant l'option « Épingler au profil » dans le menu de chaque note."
+notSpecifiedMentionWarning: "Vous avez mentionné des utilisateur·rice·s qui ne font pas partie de la liste des destinataires"
+info: "Informations"
+userInfo: "Informations sur l'utilisateur"
+unknown: "Inconnu"
+onlineStatus: "Statut"
+hideOnlineStatus: "Se rendre invisible"
+hideOnlineStatusDescription: "Rendre votre statut invisible peut diminuer les performances de certaines fonctionnalités, telles que la Recherche."
+online: "En ligne"
+active: "Actif·ve"
+offline: "Hors ligne"
+notRecommended: "Déconseillé"
+botProtection: "Protection contre les bots"
+instanceBlocking: "Instances bloquées"
+selectAccount: "Sélectionner un compte"
+switchAccount: "Changer de compte"
+enabled: "Activé"
+disabled: "Désactivé"
+quickAction: "Actions rapides"
+user: "Utilisateur·rice·s"
+administration: "Gestion"
+accounts: "Comptes"
+switch: "Remplacer"
+noMaintainerInformationWarning: "Informations administrateur non configurées."
+noBotProtectionWarning: "La protection contre les bots n'est pas configurée."
+configure: "Configurer"
+postToGallery: "Publier dans la galerie"
+gallery: "Galerie"
+recentPosts: "Les plus récentes"
+popularPosts: "Les plus consultées"
+shareWithNote: "Partager dans une note"
+ads: "Publicité"
+expiration: "Échéance"
+memo: "Pense-bête"
+priority: "Priorité"
+high: "Haute"
+middle: "Moyen"
+low: "Basse"
+emailNotConfiguredWarning: "Vous n'avez pas configuré d'adresse e-mail."
+ratio: "Ratio"
+previewNoteText: "Voir l'aperçu"
+customCss: "CSS personnalisé"
+customCssWarn: "Utilisez cette fonctionnalité uniquement si vous savez exactement ce que vous faites. Une configuration inadaptée peut empêcher le client de s'exécuter normalement."
+global: "Global"
+squareAvatars: "Avatars carrés"
+sent: "Envoyer"
+received: "Reçu"
+searchResult: "Résultats de la recherche"
+hashtags: "Hashtags"
+troubleshooting: "Résolution de problèmes"
+useBlurEffect: "Utiliser des effets de flou dans l'interface"
+learnMore: "Plus d'informations"
+misskeyUpdated: "Misskey a été mis à jour !"
+whatIsNew: "Voir les derniers changements"
+translate: "Traduire"
+translatedFrom: "Traduit depuis {x}"
+accountDeletionInProgress: "La suppression de votre compte est en cours"
+usernameInfo: "C'est un nom qui identifie votre compte sur l'instance de manière unique. Vous pouvez utiliser des lettres de l'alphabet (minuscules et majuscules), des chiffres (de 0 à 9), ou bien le tiret « _ ». Vous ne pourrez pas modifier votre nom d'utilisateur·rice par la suite."
+aiChanMode: "Mode Ai"
+keepCw: "Garder le CW"
+pubSub: "Comptes Pub/Sub"
+lastCommunication: "Dernière communication"
+resolved: "Résolu"
+unresolved: "En attente"
+breakFollow: "Ne plus suivre"
+itsOn: "Activé"
+itsOff: "Désactivé"
+emailRequiredForSignup: "Une adresse e-mail est nécessaire pour créer un compte"
+unread: "Non lu"
+filter: "Filtre"
+controlPanel: "Panneau de contrôle"
+manageAccounts: "Gérer les comptes"
+makeReactionsPublic: "Rendre les réactions publiques"
+makeReactionsPublicDescription: "Ceci rendra la liste de toutes vos réactions données publique."
+classic: "Classique"
+muteThread: "Masquer cette discussion"
+unmuteThread: "Ne plus masquer le fil"
+ffVisibility: "Visibilité des abonnés/abonnements"
+ffVisibilityDescription: "Permet de configurer qui peut voir les personnes que tu suis et les personnes qui te suivent."
+continueThread: "Afficher la suite du fil"
+deleteAccountConfirm: "Votre compte sera supprimé. Êtes vous certain ?"
+incorrectPassword: "Le mot de passe est incorrect."
+voteConfirm: "Confirmez-vous votre vote pour « {choice} » ?"
+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"
+welcomeBackWithName: "Heureux de vous revoir, {name}"
+clickToFinishEmailVerification: "Veuillez cliquer sur [{ok}] afin de compléter la vérification par courriel."
+overridedDeviceKind: "Type d’appareil"
+smartphone: "Smartphone"
+tablet: "Tablette"
+auto: "Automatique"
+themeColor: "Couleur du thème"
+size: "Taille"
+numberOfColumn: "Nombre de colonnes"
+searchByGoogle: "Google"
+instanceDefaultLightTheme: "Thème clair par défaut sur toute l’instance"
+instanceDefaultDarkTheme: "Thème sombre par défaut sur toute l’instance"
+instanceDefaultThemeDescription: "Saisissez le code du thème en format objet."
+mutePeriod: "Durée de mise en sourdine"
+indefinitely: "Illimité"
+tenMinutes: "10 minutes"
+oneHour: "1 heure"
+oneDay: "1 jour"
+oneWeek: "1 semaine"
+rateLimitExceeded: "Limite de taux dépassée"
+cropImage: "Recadrer l'image"
+cropImageAsk: "Voulez-vous recadrer cette image ?"
+file: "Fichiers"
+reverse: "Inverser"
+colored: "Coloré"
+label: "Étiquette"
+localOnly: "Local seulement"
+account: "Comptes"
+_emailUnavailable:
+ used: "Non disponible"
+ format: "Le format de cette adresse de courriel est invalide"
+ disposable: "Les adresses e-mail jetables ne peuvent pas être utilisées"
+ mx: "Ce serveur de courriels est invalide"
+ smtp: "Ce serveur de courriels ne répond pas"
+_ffVisibility:
+ public: "Public"
+ followers: "Visible uniquement pour les abonné·e·s"
+ private: "Privé"
+_signup:
+ almostThere: "Bientôt fini"
+ emailAddressInfo: "Insérez votre adresse e-mail."
+ emailSent: "Un courriel de confirmation vient d'être envoyé à l'adresse que vous avez renseignée ({email}). Cliquez sur le lien contenu dans le message pour terminer la création de votre compte."
+_accountDelete:
+ accountDelete: "Supprimer le compte"
+ mayTakeTime: "La suppression de compte nécessitant beaucoup de ressources, l'exécution du processus peut prendre du temps, en fonction de la quantité de contenus que vous avez créés et du nombre de fichiers que vous avez téléversés."
+ sendEmail: "Une fois la suppression de votre compte effectuée, un courriel sera envoyé à l'adresse que vous aviez enregistrée."
+ requestAccountDelete: "Demander la suppression de votre compte"
+ started: "La procédure de suppression a commencé."
+ inProgress: "Suppression en cours"
+_ad:
+ back: "Retour"
+ reduceFrequencyOfThisAd: "Voir cette publicité moins souvent"
+_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."
+ ifNoEmail: "Si vous n'avez pas enregistré d'adresse e-mail, merci de contacter l'administrateur·rice de votre instance."
+ contactAdmin: "Cette instance ne permettant pas l'utilisation d'adresses e-mail, prenez contact avec l'administrateur·rice pour procéder à la réinitialisation de votre mot de passe."
+_gallery:
+ my: "Mes publications"
+ liked: " Publications que j'ai aimées"
+ like: "J'aime"
+ unlike: "Je n’aime pas"
+_email:
+ _follow:
+ title: "Vous suit"
+ _receiveFollowRequest:
+ title: "Vous avez reçu une demande de suivi"
+_plugin:
+ install: "Installation de plugin"
+ installWarn: "N’installez que des extensions provenant de sources de confiance."
+ manage: "Gestion des plugins"
_registry:
+ scope: "Portée"
key: "Clé "
keys: "Clé "
+ domain: "Domaine"
+ createKey: "Créer une clé"
_aboutMisskey:
about: "Misskey est un logiciel libre et ouvert, développé par syuilo depuis 2014."
contributors: "Principaux contributeurs"
@@ -651,43 +901,119 @@ _aboutMisskey:
translation: "Traduire Misskey"
donate: "Soutenir Misskey"
morePatrons: "Nous apprécions vraiment le soutien de nombreuses autres personnes non mentionnées ici. Merci à toutes et à tous ! 🥰"
+ patrons: "Contributeurs"
+_nsfw:
+ respect: "Cacher les médias marqués comme contenu sensible"
+ ignore: "Afficher les médias sensibles"
+ 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"
- center: "Centrée"
+ 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"
-_reversi:
- total: "Total"
+ 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:
+ none: "Cacher "
+ remote: "Montrer pour les utilisateur·ice·s distant·e·s"
+ always: "Toujours afficher"
_serverDisconnectedBehavior:
reload: "Rechargement automatique"
+ dialog: "Ouvrir une boîte de dialogue pour l'avertissement"
quiet: "Afficher un avertissement discret"
_channel:
create: "Créer un canal"
edit: "Éditer le canal"
+ setBanner: "Sélectionner la bannière"
removeBanner: "Supprimer la bannière"
featured: "Tendances"
- usersCount: "{n} Participants"
+ owned: "Mes canaux"
+ following: "Abonné·e"
+ usersCount: "{n} Participant·e·s"
notesCount: "{n} Notes"
-_sidebar:
- full: "Complet"
- icon: "Avatar"
+_menuDisplay:
+ sideFull: "Latéral"
+ sideIcon: "Latéral (icônes)"
+ top: "Haut de page"
hide: "Masquer"
_wordMute:
- muteWords: "Mot à mettre en sourdine"
+ muteWords: "Mots à filtrer"
muteWordsDescription: "Séparer avec des espaces pour la condition AND. Séparer avec un saut de ligne pour une condition OR."
- mutedNotes: "Notes mises en sourdine"
+ muteWordsDescription2: "Pour utiliser des expressions régulières (regex), mettez les mots-clés entre barres obliques."
+ softDescription: "Masquez les notes de votre fil selon les paramètres que vous définissez."
+ hardDescription: "Empêchez votre fil de charger les notes selon les paramètres que vous définissez. Cette action est irréversible : si vous modifiez ces paramètres plus tard, les notes précédemment filtrées ne seront pas récupérées."
+ soft: "Doux"
+ hard: "Strict"
+ mutedNotes: "Notes filtrées"
+_instanceMute:
+ instanceMuteDescription2: "Séparer avec de nouvelles lignes"
+ title: "Masque les notes venant des instances listées."
+ heading: "Instances à mettre en sourdine"
_theme:
explore: "Explorer les thèmes"
install: "Installer un thème"
manage: "Gestion des thèmes"
code: "Code du thème"
+ description: "Description"
installed: "{name} a été installé"
installedThemes: "Thèmes installés"
+ builtinThemes: "Thèmes intégrés"
alreadyInstalled: "Ce thème est déjà installé"
invalid: "Le format du thème n'est pas valide"
make: "Créer un thème"
@@ -696,13 +1022,21 @@ _theme:
constant: "Constante"
defaultValue: "Valeur par défaut"
color: "Couleur"
+ refProp: "Appeler une propriété"
+ refConst: "Appeler une constante"
key: "Clé "
func: "Fonction"
+ funcKind: "Type de fonction"
argument: "Argument"
+ basedProp: "Nom de la propriété référencée"
alpha: "Transparence"
- darken: "Assombrir"
+ darken: "Sombre"
+ lighten: "Clair"
+ inputConstantName: "Insérez un nom de constante"
importInfo: "Vous pouvez importer un thème vers l’éditeur de thèmes en saisissant son code ici."
+ deleteConstantConfirm: "Êtes-vous sûr·e de vouloir supprimer la constante {const} ?"
keys:
+ accent: "Accentuation"
bg: "Arrière-plan"
fg: "Texte"
focus: "Mise au point"
@@ -712,25 +1046,48 @@ _theme:
header: "Entête"
navBg: "Fond de la barre latérale"
navFg: "Texte de la barre latérale"
+ navHoverFg: "Texte de la barre latérale (survolé)"
+ navActive: "Texte de la barre latérale (actif)"
+ navIndicator: "Indicateur de barre latérale"
link: "Lien"
hashtag: "Hashtags"
mention: "Mentionner"
mentionMe: "Mentions (Moi)"
- renote: "Renote"
+ renote: "Renoter"
+ modalBg: "Modal d'arrière-plan"
divider: "Séparateur"
+ scrollbarHandle: "Poignée de la barre de navigation"
+ scrollbarHandleHover: "Poignée de la barre de navigation (survolée)"
+ dateLabelFg: "Texte de l'étiquette de la date"
+ infoBg: "Arrière-plan pour les informations"
+ infoFg: "Texte d'information"
+ infoWarnBg: "Arrière-plan des avertissements"
infoWarnFg: "Texte d’avertissement"
cwBg: "Arrière-plan du CW"
+ cwFg: "Texte du bouton CW"
+ cwHoverBg: "Arrière-plan du bouton CW (survolé)"
+ toastBg: "Arrière-plan de la bulle de notification"
+ toastFg: "Texte de la bulle de notification"
+ buttonBg: "Arrière-plan du bouton"
+ buttonHoverBg: "Arrière-plan du bouton (survolé)"
+ inputBorder: "Cadre de la zone de texte"
+ listItemHoverBg: "Arrière-plan d'item de liste (survolé)"
+ driveFolderBg: "Arrière-plan du dossier de disque"
+ wallpaperOverlay: "Superposition de fond d'écran"
badge: "Badge"
messageBg: "Arrière plan de la discussion"
+ accentDarken: "Plus sombre"
+ accentLighten: "Plus clair"
+ fgHighlighted: "Texte mis en évidence"
_sfx:
note: "Nouvelle note"
noteMy: "Ma note"
notification: "Notifications"
chat: "Discuter"
- chatBg: "Discuter (De fond)"
+ chatBg: "Discussion (arrière-plan)"
antenna: "Réception de l’antenne"
+ channel: "Notifications de canal"
_ago:
- unknown: "Inconnu"
future: "Futur"
justNow: "à l’instant"
secondsAgo: "Il y a {n}s"
@@ -757,7 +1114,7 @@ _tutorial:
step3_3: "Remplissez le cadran et cliquez sur le bouton en haut à droite pour envoyer."
step3_4: "Vous n’avez rien à dire ? Essayez d’écrire « J’ai commencé à utiliser Misskey »."
step4_1: "Avez-vous publié votre première note ?"
- step4_2: "Youpi ! Celle-ci est maintenant affiché sur votre fil d’actualité."
+ step4_2: "Youpi ! Celle-ci est maintenant affichée sur votre fil d’actualité."
step5_1: "Maintenant, essayons de nous abonner à d’autres 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 d’autres utilisateur·rice, cliquez sur leur avatar afin d’afficher la page du profil utilisateur ensuite appuyez sur le bouton « S’abonner »."
@@ -767,45 +1124,50 @@ _tutorial:
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 l’utilisation 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 🚀"
+ step7_3: "Bon courage et amusez-vous bien sur Misskey ! 🚀"
_2fa:
- alreadyRegistered: "Cette étape à déjà été complétée"
+ alreadyRegistered: "Configuration déjà achevée."
registerDevice: "Ajouter un nouvel appareil"
- registerKey: "S’inscrire la clé"
+ registerKey: "Enregistrer une clef"
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."
+ 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."
- step4: "Lorsque vous vous connectez, entrez le jeton de la même manière."
- securityKeyInfo: "Vous pouvez configurer l'authentification WebAuthN pour sécuriser davantage le processus de connexion avec non seulement la clé de sécurité matérielle qui prend en charge FIDO2, mais également l'authentification par empreinte digitale ou PIN sur votre appareil."
+ 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."
_permissions:
"read:account": "Afficher les informations du compte"
"write:account": "Mettre à jour les informations de votre compte"
- "read:blocks": "Voir les blocs"
- "write:blocks": "Écrire des blocs"
+ "read:blocks": "Voir les comptes bloqués"
+ "write:blocks": "Gérer les comptes bloqués"
"read:drive": "Parcourir le Drive"
"write:drive": "Écrire sur le Drive"
"read:favorites": "Afficher les favoris"
- "write:favorites": "Écrire des favoris"
+ "write:favorites": "Gérer les favoris"
"read:following": "Voir les informations de vos abonnements"
"write:following": "Abonnements/Se désabonner"
- "read:messaging": "Cherche à discuter"
- "write:messaging": "Contrôler le discuter"
- "read:mutes": "Voir les comptes muets"
- "write:mutes": "Gérer les comptes muets"
+ "read:messaging": "Voir vos discussions"
+ "write:messaging": "Gérer les discussions"
+ "read:mutes": "Voir les comptes masqués"
+ "write:mutes": "Gérer les comptes masqués"
"write:notes": "Créer / supprimer des notes"
"read:notifications": "Afficher les notifications"
"write:notifications": "Gérer vos notifications"
"read:reactions": "Lire les réactions"
"write:reactions": "Gérer vos réactions"
"write:votes": "Voter"
- "read:pages": "Afficher la page"
- "write:pages": "Mettre à jour les Pages"
- "read:page-likes": "Voir les favoris sur les Pages"
- "write:page-likes": "Mettre à jour les favoris sur les Pages"
+ "read:pages": "Voir vos pages"
+ "write:pages": "Gérer les pages"
+ "read:page-likes": "Voir les mentions « J'aime » des pages"
+ "write:page-likes": "Gérer les mentions « J'aime » sur les pages"
"read:user-groups": "Voir les groupes d'utilisateur·rice·s"
"write:user-groups": "Éditer les groupes des utilisateur·rice·s"
"read:channels": "Lire les canaux"
- "write:channels": "Modifier les canaux"
+ "write:channels": "Gérer les canaux"
+ "read:gallery": "Voir la galerie"
+ "write:gallery": "Éditer la galerie"
+ "read:gallery-likes": "Voir les mentions « J'aime » dans la galerie"
+ "write:gallery-likes": "Gérer les mentions « J'aime » dans la galerie"
_auth:
shareAccess: "Autoriser \"{name}\" à accéder à votre compte ?"
shareAccessAsk: "Voulez-vous vraiment autoriser cette application à accéder à votre compte?"
@@ -839,9 +1201,14 @@ _widgets:
photos: "Photos"
digitalClock: "Horloge numérique"
federation: "Fédération"
- postForm: "Formulaire à publier"
+ postForm: "Formulaire de publication"
+ slideshow: "Diaporama"
button: "Bouton"
+ onlineUsers: "Utilisateurs en ligne"
jobQueue: "File d’attente"
+ serverMetric: "Statistiques du serveur"
+ aiscript: "Console AiScript"
+ aichan: "Ai"
_cw:
hide: "Masquer"
show: "Afficher plus …"
@@ -862,7 +1229,7 @@ _poll:
votesCount: "{n} votes"
totalVotes: "{n} votes au total"
vote: "Voter"
- showResult: "Voir les résultats"
+ showResult: "Voir résultats"
voted: "Déjà voté"
closed: "Terminé"
remainingDays: "{d} jours, {h} heures restantes"
@@ -886,7 +1253,7 @@ _postForm:
channelPlaceholder: "Publier vers le canal"
_placeholders:
a: "Quoi de neuf ?"
- b: "Quoi de neuf ?"
+ b: "Il s'est passé quelque chose ?"
c: "Qu’avez-vous en tête ?"
d: "Désirez-vous publier quelques mots ?"
e: "Écrivez ici"
@@ -896,116 +1263,62 @@ _profile:
username: "Nom d’utilisateur·rice"
description: "À propos de moi"
youCanIncludeHashtags: "Vous pouvez également inclure des hashtags."
+ metadata: "Informations supplémentaires"
+ metadataEdit: "Éditer les informations supplémentaires"
+ metadataDescription: "Vous pouvez afficher jusqu'à quatre informations supplémentaires dans votre profil."
metadataLabel: "Étiquette"
metadataContent: "Contenu"
+ changeAvatar: "Changer l'image de profil"
+ changeBanner: "Changer de bannière"
_exportOrImport:
allNotes: "Toutes les notes"
followingList: "Abonnements"
- muteList: "Mettre en sourdine"
- blockingList: "Bloquer"
+ muteList: "Comptes masqués"
+ blockingList: "Comptes bloqués"
userLists: "Listes"
+ excludeMutingUsers: "Exclure les utilisateur·rice·s mis en sourdine"
+ excludeInactiveUsers: "Exclure les utilisateur·rice·s inactifs"
_charts:
- federationInstancesIncDec: "Variation du nombre des instances fédérées"
- federationInstancesTotal: "Nombre total des instances fédérées"
+ federation: "Fédération"
+ apRequest: "Requêtes"
usersIncDec: "Variation du nombre d'utilisateur·rice·s"
usersTotal: "Nombre des utilisateur·rice·s au total"
- activeUsers: "Utilisateur·rice·s actif·ve·s"
+ activeUsers: "Nombre d'utilisateurices actif·ve·s"
notesIncDec: "Variation du nombre des notes"
- localNotesIncDec: "Variation du nombre de notes local"
- remoteNotesIncDec: "Variation du nombre d’notes distant"
+ localNotesIncDec: "Variation du nombre de notes locales"
+ remoteNotesIncDec: "Variation du nombre de notes distantes"
notesTotal: "Nombre total des notes"
filesIncDec: "Variation du nombre de fichiers"
- filesTotal: "Nombre de fichiers au total"
+ filesTotal: "Nombre total de fichiers"
storageUsageIncDec: "Variation de l'utilisation du stockage"
storageUsageTotal: "Utilisation totale du stockage"
_instanceCharts:
requests: "Requêtes"
users: "Variation du nombre d'utilisateur·rice·s"
- usersTotal: "Nombre d'utilisateur·rice·s au total cumulé"
- notes: "Variation du nombre des notes"
+ usersTotal: "Total cumulé du nombre d'utilisateur·rice·s"
+ notes: "Variation du nombre de notes"
notesTotal: "Nombre total cumulé des notes"
- ff: "Variation des abonné·e·s"
- ffTotal: "Nombre d'abonné·e·s au total cumulé"
+ ff: "Variation des abonné·e·s / abonnements"
+ ffTotal: "Total cumulé du nombre d'abonné·e·s / abonnements"
cacheSize: "Variation de la taille du cache"
- cacheSizeTotal: "La taille du cache au total cumulé"
+ cacheSizeTotal: "Total cumulé de la taille du cache"
files: "Variation du nombre de fichiers"
- filesTotal: "Nombre de fichiers au total cumulé"
+ filesTotal: "Total cumulé du nombre de fichiers"
_timelines:
home: "Principal"
local: "Local"
social: "Social"
global: "Global"
-_rooms:
- roomOf: "Chambre de {user}"
- addFurniture: "Placer des meubles"
- translate: "Déplacer"
- rotate: "Pivoter"
- exit: "Retour"
- remove: "Enlever"
- clear: "Tout enlever"
- clearConfirm: "Désirez-vous enlever tout les meubles de votre chambre ?"
- leaveConfirm: "Vous avez des modifications non-sauvegardées. Voulez-vous vraiment quitter ?"
- chooseImage: "Sélectionnez une image"
- roomType: "Type de chambre"
- carpetColor: "Couleur du tapis"
- _roomType:
- default: "Par défaut"
- washitsu: "Style japonnais"
- _furnitures:
- milk: "Lait en carton"
- bed: "Lit"
- low-table: "Table basse"
- desk: "Bureau"
- chair: "Chaise"
- chair2: "Chaise 2"
- fan: "Ventilateur"
- pc: "Ordinateur"
- plant: "Plante d’intérieur"
- plant2: "Plante d’intérieur 2"
- eraser: "Gomme"
- pencil: "Crayon"
- pudding: "Pudding"
- cardboard-box: "Boîte en carton"
- cardboard-box2: "Boîte en carton 2"
- cardboard-box3: "Boîte en carton 3"
- book: "Livre"
- book2: "Livre 2"
- piano: "Piano"
- facial-tissue: "Mouchoirs en papier"
- server: "Serveurs"
- moon: "Lune"
- corkboard: "Tableau en liège"
- mousepad: "Tapis de souris"
- monitor: "Écran de contrôle"
- keyboard: "Clavier"
- carpet-stripe: "Tapis (zébré)"
- mat: "Tapis"
- color-box: "Étagère"
- wall-clock: "Horloge murale"
- photoframe: "Cadre photo"
- cube: "Cube"
- tv: "Téléviseur"
- pinguin: "Pingouin"
- rubik-cube: "Cube de Rubik"
- poster-h: "Affiche (horizontale)"
- poster-v: "Affiche (verticale)"
- sofa: "Canapé"
- spiral: "Escaliers en spirale"
- bin: "Corbeille"
- cup-noodle: "Bol de nouilles"
- holo-display: "Affichage holographique"
- energy-drink: "Boisson énergétique"
- doll-ai: "Poupée Ai"
- banknote: "Billets de banque"
_pages:
newPage: "Créer une page"
editPage: "Modifier une page"
- readPage: "Voir la source"
+ readPage: "Affichage de la source en cours"
created: "La page a été créée !"
updated: "La page a été mise à jour !"
- deleted: "La page a bien été supprimée"
- nameAlreadyExists: "La URL de page spécifiée existe déjà"
- invalidNameTitle: "La URL de la page spécifiée n’est pas valide"
+ deleted: "La page a été supprimée"
+ pageSetting: "Paramètres de la Page"
+ nameAlreadyExists: "L'URL de page spécifiée existe déjà"
+ invalidNameTitle: "L'URL de page spécifiée n’est pas valide"
invalidNameText: "Assurez-vous qu’il n’est pas vide"
editThisPage: "Éditer cette page"
viewSource: "Afficher la source"
@@ -1014,26 +1327,27 @@ _pages:
unlike: "Je n’aime pas"
my: "Mes pages"
liked: "Pages favorites"
+ featured: "Populaire"
inspector: "Inspecteur"
contents: "Contenu"
content: "Bloc de page"
variables: "Variables"
title: "Titre"
- url: "URL de page"
+ url: "URL de la page"
summary: "Résumé de page"
alignCenter: "Centrée"
hideTitleWhenPinned: "Masquer le titre de la page lorsque celle-ci est épinglée au profil"
font: "Police de caractères"
fontSerif: "Serif"
fontSansSerif: "Sans Serif"
- eyeCatchingImageSet: "Définir une image attirante"
- eyeCatchingImageRemove: "Supprimer une image attirante"
+ eyeCatchingImageSet: "Définir une image attractive"
+ eyeCatchingImageRemove: "Supprimer l'image attractive"
chooseBlock: "Ajouter un bloc"
selectType: "Choisir un type"
enterVariableName: "Veuillez entrer un nom pour votre variable"
- variableNameIsAlreadyUsed: "Cette variable est déjà utilisée"
+ variableNameIsAlreadyUsed: "Ce nom de variable est déjà utilisé"
contentBlocks: "Contenu"
- inputBlocks: "Entrée"
+ inputBlocks: "Blocs d'entrée"
specialBlocks: "Spécial"
blocks:
text: "Texte"
@@ -1044,17 +1358,17 @@ _pages:
if: "Si"
_if:
variable: "Variables"
- post: "Formulaire à publier"
+ post: "Formulaire de publication"
_post:
text: "Contenu"
attachCanvasImage: "Publier avec Toile comme image"
canvasId: "Toile ID"
- textInput: "Entrée de textuelle"
+ textInput: "Entrée textuelle"
_textInput:
name: "Nom de la variable"
text: "Titre"
default: "Valeur par défaut"
- textareaInput: "Entrée de textuelle multiligne"
+ textareaInput: "Entrée textuelle multi-ligne"
_textareaInput:
name: "Nom de la variable"
text: "Titre"
@@ -1069,7 +1383,12 @@ _pages:
id: "Toile ID"
width: "Largeur"
height: "Hauteur"
- switch: "Basculer"
+ note: "Note intégrée"
+ _note:
+ id: "Identifiant de la note"
+ idDescription: "Pour configurer la note, vous pouvez aussi coller ici l'URL correspondante."
+ detailed: "Afficher les détails"
+ switch: "Interrupteur"
_switch:
name: "Nom de la variable"
text: "Titre"
@@ -1078,16 +1397,16 @@ _pages:
_counter:
name: "Nom de la variable"
text: "Titre"
- inc: "Augmenter le chiffre"
+ inc: "Augmenter de"
_button:
text: "Titre"
colored: "Coloré"
- action: "L'opération lorsque le bouton sera pressé"
+ action: "Opération à effectuer lorsque le bouton est pressé"
_action:
dialog: "Afficher une fenêtre de dialogue"
_dialog:
content: "Contenu"
- resetRandom: "Réinitialiser le nombre aléatoire"
+ resetRandom: "Réinitialiser un nombre aléatoire"
pushEvent: "Envoyer un évènement"
_pushEvent:
event: "Nom de l’évènement"
@@ -1101,7 +1420,7 @@ _pages:
_radioButton:
name: "Nom de la variable"
title: "Titre"
- values: "Choix séparés par des sauts de ligne"
+ values: "Liste des choix (un par ligne)"
default: "Valeur par défaut"
script:
categories:
@@ -1117,7 +1436,7 @@ _pages:
list: "Listes"
blocks:
text: "Texte"
- multiLineText: "Texte (Multi-lignes)"
+ multiLineText: "Texte (multi-ligne)"
textList: "Liste de texte"
_textList:
info: "Veuillez séparer chaque entrée avec un saut de ligne"
@@ -1160,10 +1479,10 @@ _pages:
_mod:
arg1: "A"
arg2: "B"
- round: "Décimal rond"
+ round: "Arrondir les décimales"
_round:
arg1: "Numérique"
- eq: "A et B sont équivalents"
+ eq: "A et B sont égaux"
_eq:
arg1: "A"
arg2: "B"
@@ -1179,7 +1498,7 @@ _pages:
_or:
arg1: "A"
arg2: "B"
- lt: "A est plus petit que B"
+ lt: "A est inférieur à B"
_lt:
arg1: "A"
arg2: "B"
@@ -1187,7 +1506,7 @@ _pages:
_gt:
arg1: "A"
arg2: "B"
- ltEq: "A est plus petit ou égal à B"
+ ltEq: "A est inférieur ou égal à B"
_ltEq:
arg1: "A"
arg2: "B"
@@ -1253,7 +1572,7 @@ _pages:
numberToString: "Convertir du numérique en texte"
_numberToString:
arg1: "Numérique"
- splitStrByLine: "Séparer le texte par lignes"
+ splitStrByLine: "Séparer le texte par des sauts de lignes"
_splitStrByLine:
arg1: "Texte"
ref: "Variables"
@@ -1261,7 +1580,7 @@ _pages:
fn: "Fonction"
_fn:
slots: "Slots"
- slots-info: "Veuillez délimiter chaque slot par un saut de ligne"
+ slots-info: "Veuillez insérer un seul slot par ligne"
arg1: "Sortie"
for: "Répéter"
_for:
@@ -1295,25 +1614,39 @@ _notification:
youWereFollowed: "Vous suit"
youReceivedFollowRequest: "Vous avez reçu une demande d’abonnement"
yourFollowRequestAccepted: "Votre demande d’abonnement a été accepté"
- youWereInvitedToGroup: "Invité au groupe"
+ youWereInvitedToGroup: "Invité·e au groupe"
+ pollEnded: "Les résultats du sondage sont disponibles"
+ emptyPushNotificationMessage: "Les notifications push ont été mises à jour"
_types:
all: "Toutes"
- follow: "Abonnements"
- mention: "Mentionner"
+ follow: "Nouvel·le abonné·e"
+ mention: "Mentions"
reply: "Réponses"
- renote: "Renote"
- quote: "Citer"
+ renote: "Renotes"
+ quote: "Citations"
reaction: "Réactions"
- groupInvited: "Invité aux groupes"
+ pollVote: "Votes dans des sondages"
+ receiveFollowRequest: "Demande d'abonnement reçue"
+ followRequestAccepted: "Demande d'abonnement acceptée"
+ groupInvited: "Invitation à un groupe"
app: "Notifications provenant des apps"
+ _actions:
+ followBack: "Suivre"
+ reply: "Répondre"
+ renote: "Renoter"
_deck:
alwaysShowMainColumn: "Toujours afficher la colonne principale"
columnAlign: "Aligner les colonnes"
addColumn: "Ajouter une colonne"
swapLeft: "Déplacer à gauche"
swapRight: "Déplacer à droite"
+ swapUp: "Déplacer vers le haut"
+ swapDown: "Déplacer vers le bas"
stackLeft: "Empiler à gauche"
+ popRight: "Extraire à droite"
+ profile: "Profil"
_columns:
+ main: "Principale"
widgets: "Widgets"
notifications: "Notifications"
tl: "Fil"
diff --git a/locales/hr-HR.yml b/locales/hr-HR.yml
new file mode 100644
index 000000000..ed97d539c
--- /dev/null
+++ b/locales/hr-HR.yml
@@ -0,0 +1 @@
+---
diff --git a/locales/id-ID.yml b/locales/id-ID.yml
index 4241b781d..dc214f4ea 100644
--- a/locales/id-ID.yml
+++ b/locales/id-ID.yml
@@ -1,17 +1,22 @@
---
-_lang_: "Bahasa Jepang"
+_lang_: "Bahasa Indonesia"
+headlineMisskey: "Jaringan terhubung melalui catatan"
+introMisskey: "Selamat datang! Misskey adalah perangkat mikroblog tercatu bersifat sumber terbuka.\nMulailah menuliskan catatan, bagikan peristiwa terkini, serta ceritakan segala tentangmu.📡\nTunjukkan juga reaksimu pada catatan pengguna lain.👍\nMari jelajahi dunia baru🚀"
monthAndDay: "{day} {month}"
-search: "Pencarian"
-notifications: "Notifikasi"
+search: "Penelusuran"
+notifications: "Pemberitahuan"
username: "Nama Pengguna"
password: "Kata sandi"
+forgotPassword: "Lupa Kata Sandi"
+fetchingAsApObject: "Mengambil data dari Fediverse..."
ok: "OK"
gotIt: "Saya mengerti"
cancel: "Batalkan"
enterUsername: "Masukkan nama pengguna"
renotedBy: "direnote oleh {user}"
-noNotes: "Tidak ada notes"
-noNotifications: "Tidak ada notifikasi"
+noNotes: "Tidak ada catatan"
+noNotifications: "Tidak ada pemberitahuan"
+instance: "Instansi"
settings: "Pengaturan"
basicSettings: "Pengaturan umum"
otherSettings: "Pengaturan lainnya"
@@ -39,22 +44,72 @@ copyContent: "Salin konten"
copyLink: "Salin tautan"
delete: "Hapus"
deleteAndEdit: "Hapus dan sunting"
+deleteAndEditConfirm: "Apakah kamu yakin ingin menghapus note ini dan menyuntingnya? Kamu akan kehilangan semua reaksi, renote dan balasan di note ini."
addToList: "Tambahkan ke daftar"
sendMessage: "Kirim pesan"
copyUsername: "Salin nama pengguna"
searchUser: "Cari pengguna"
reply: "Balas"
+loadMore: "Selebihnya"
+showMore: "Selebihnya"
+showLess: "Tutup"
+youGotNewFollower: "Mengikuti kamu"
+receiveFollowRequest: "Ingin mengikuti kamu"
+followRequestAccepted: "Permintaan mengikuti telah disetujui"
+mention: "Sebut"
+mentions: "Sebutan"
+directNotes: "Catatan langsung"
+importAndExport: "Impor & Ekspor"
+import: "Impor"
+export: "Ekspor"
+files: "Berkas"
+download: "Unduh"
+driveFileDeleteConfirm: "Hapus {name}? Catatan dengan berkas terkait juga akan terhapus."
+unfollowConfirm: "Berhenti mengikuti {name}?"
+exportRequested: "Kamu telah meminta ekspor. Ini akan memakan waktu sesaat. Setelah ekspor selesai, berkas yang dihasilkan akan ditambahkan ke Drive"
+importRequested: "Kamu telah meminta impor. Ini akan memakan waktu sesaat."
+lists: "Daftar"
+noLists: "Kamu tidak memiliki daftar apapun"
+note: "Catat"
+notes: "Catatan"
+following: "Ikuti"
+followers: "Pengikut"
+followsYou: "Mengikuti kamu"
+createList: "Buat daftar"
+manageLists: "Sunting daftar"
+error: "Galat"
+somethingHappened: "Terjadi kesalahan"
+retry: "Coba lagi"
+pageLoadError: "Gagal memuat halaman."
+pageLoadErrorDescription: "Umumnya disebabkan jaringan atau tembolok perambah. Cobalah bersihkan tembolok peramban lalu tunggu sesaat sebelum mencoba kembali."
+serverIsDead: "Tidak ada respon dari peladen. Mohon tunggu dan coba beberapa saat lagi."
+youShouldUpgradeClient: "Untuk melihat halaman ini, mohon muat ulang untuk memutakhirkan klienmu."
+enterListName: "Masukkan nama daftar"
+privacy: "Privasi"
+makeFollowManuallyApprove: "Permintaan mengikuti membutuhkan persetujuan"
+defaultNoteVisibility: "Privasi bawaan catatan"
+follow: "Ikuti"
+followRequest: "Permintaan mengikuti"
+followRequests: "Permintaan mengikuti"
+unfollow: "Berhenti mengikuti"
+followRequestPending: "Permintaan mengikuti yang menunggu"
+enterEmoji: "Masukkan emoji"
+renote: "Renote"
+unrenote: "Hapus renote"
+renoted: "Telah direnote"
+cantRenote: "Postingan ini tidak dapat direnote"
cantReRenote: "Renote tidak dapat direnote"
quote: "Kutip"
-pinnedNote: "Note yang disematkan"
-you: "Anda"
+pinnedNote: "Catatan yang disematkan"
+pinned: "Sematkan ke profil"
+you: "Kamu"
clickToShow: "Klik untuk melihat"
sensitive: "Konten sensitif"
add: "Tambahkan"
reaction: "Reaksi"
-reactionSettingDescription: "Masukkan reaksi favorit yang ingin anda sematkan pada bilah reaksi"
+reactionSetting: "Reaksi untuk dimunculkan di bilah reaksi"
reactionSettingDescription2: "Geser untuk memindah urutkan, klik untuk menghapus, tekan \"+\" untuk menambahkan"
-rememberNoteVisibility: "Ingat pengaturan visibilitas note"
+rememberNoteVisibility: "Ingat pengaturan visibilitas catatan"
attachCancel: "Hapus lampiran"
markAsSensitive: "Tandai sebagai konten sensitif"
unmarkAsSensitive: "Hapus tanda konten sensitif"
@@ -65,10 +120,10 @@ block: "Blokir"
unblock: "Buka blokir"
suspend: "Bekukan"
unsuspend: "Buka pembekuan"
-blockConfirm: "Apakah anda yakin ingin memblokir akun ini?"
-unblockConfirm: "Apakah anda yakin ingin membuka blokir akun ini?"
-suspendConfirm: "Apakah anda yakin ingin membekukan akun ini?"
-unsuspendConfirm: "Apakah anda yakin ingin membuka pembekuan akun ini?"
+blockConfirm: "Apakah kamu yakin ingin memblokir akun ini?"
+unblockConfirm: "Apakah kamu yakin ingin membuka blokir akun ini?"
+suspendConfirm: "Apakah kamu yakin ingin membekukan akun ini?"
+unsuspendConfirm: "Apakah kamu yakin ingin membuka pembekuan akun ini?"
selectList: "Pilih daftar"
selectAntenna: "Pilih Antena"
selectWidget: "Pilih gawit"
@@ -76,29 +131,84 @@ editWidgets: "Sunting gawit"
editWidgetsExit: "Selesai"
customEmojis: "Emoji kustom"
emoji: "Emoji"
+emojis: "Emoji"
emojiName: "Nama emoji"
emojiUrl: "URL Emoji"
addEmoji: "Tambahkan emoji"
settingGuide: "Pengaturan rekomendasi"
cacheRemoteFiles: "Tembolokkan berkas remote"
+cacheRemoteFilesDescription: "Ketika pengaturan ini dinonaktifkan, berkas luar akan dimuat langsung dari instansi luar. Menonaktifkan ini akan mengurangi penggunaan penyimpanan, namun dapat menyebabkan meningkatkan lalu lintas bandwidth, karena thumbnail tidak dihasilkan."
flagAsBot: "Atur akun ini sebagai Bot"
+flagAsBotDescription: "Jika akun ini dikendalikan oleh program, tetapkanlah opsi ini. Jika diaktifkan, ini akan berfungsi sebagai tanda bagi pengembang lain untuk mencegah interaksi berantai dengan bot lain dan menyesuaikan sistem internal Misskey untuk memperlakukan akun ini sebagai bot."
flagAsCat: "Atur akun ini sebagai kucing"
-autoAcceptFollowed: "Setujui otomatis permintaan mengikuti dari pengguna yang anda ikuti"
-addAcount: "Tambahkan akun"
+flagAsCatDescription: "Nyalakan tanda ini untuk menandai akun ini sebagai kucing."
+flagShowTimelineReplies: "Tampilkan balasan di linimasa"
+flagShowTimelineRepliesDescription: "Menampilkan balasan pengguna dari note pengguna lain di linimasa apabila dinyalakan."
+autoAcceptFollowed: "Setujui otomatis permintaan mengikuti dari pengguna yang kamu ikuti"
+addAccount: "Tambahkan akun"
loginFailed: "Gagal untuk masuk"
showOnRemote: "Lihat profil asli"
general: "Umum"
wallpaper: "Wallpaper"
setWallpaper: "Atur wallpaper"
removeWallpaper: "Hapus wallpaper"
+searchWith: "Cari: {q}"
+youHaveNoLists: "Kamu tidak memiliki daftar apapun"
+followConfirm: "Apakah kamu yakin ingin mengikuti {name}?"
+proxyAccount: "Akun proksi"
+proxyAccountDescription: "Akun proksi merupakan sebuah akun yang bertindak sebagai pengikut luar untuk pengguna dalam kondisi tertentu. Sebagai contoh, ketika pengguna menambahkan seorang pengguna luar ke dalam daftar, aktivitas dari pengguna luar tidak akan disampaikan ke instansi apabila tidak ada pengguna lokal yang mengikuti pengguna tersebut, dengan begitu akun proksilah yang akan mengikutinya."
+host: "Host"
+selectUser: "Pilih pengguna"
+recipient: "Penerima"
+annotation: "Keterangan konten"
+federation: "Federasi"
+instances: "Instansi"
+registeredAt: "Terdaftar"
+latestRequestSentAt: "Permintaan terakhir dikirim pada"
+latestRequestReceivedAt: "Permintaan terakhir diterima pada"
+latestStatus: "Status terakhir"
+storageUsage: "Penggunaan penyimpanan"
+charts: "Grafik"
+perHour: "per Jam"
+perDay: "per Hari"
+stopActivityDelivery: "Berhenti mengirim aktivitas"
+blockThisInstance: "Blokir instansi ini"
+operations: "Tindakan"
+software: "Perangkat lunak"
+version: "Versi"
+metadata: "Metadata"
+withNFiles: "{n} berkas"
+monitor: "Pantau"
+jobQueue: "Antrian kerja"
+cpuAndMemory: "CPU dan Memori"
+network: "Jaringan"
+disk: "Diska"
+instanceInfo: "Informasi Instansi"
+statistics: "Statistik"
+clearQueue: "Bersihkan antrian"
+clearQueueConfirmTitle: "Apakah kamu yakin ingin membersihkan antrian?"
+clearQueueConfirmText: "Seluruh sisa catatan yang tidak tersampaikan di dalam antrian tidak akan difederasi. Biasanya operasi ini TIDAK dibutuhkan."
+clearCachedFiles: "Hapus tembolok"
+clearCachedFilesConfirm: "Apakah kamu yakin ingin menghapus seluruh tembolok berkas remote?"
+blockedInstances: "Instansi terblokir"
+blockedInstancesDescription: "Daftar nama host dari instansi yang diperlukan untuk diblokir. Instansi yang didaftarkan tidak akan dapat berkomunikasi dengan instansi ini."
+muteAndBlock: "Bisukan / Blokir"
+mutedUsers: "Pengguna yang dibisukan"
+blockedUsers: "Pengguna yang diblokir"
+noUsers: "Tidak ada pengguna"
+editProfile: "Sunting profil"
+noteDeleteConfirm: "Apakah kamu yakin ingin menghapus catatan ini?"
+pinLimitExceeded: "Kamu tidak dapat menyematkan catatan lagi"
intro: "Instalasi Misskey telah selesai! Mohon untuk membuat pengguna admin."
done: "Selesai"
processing: "Memproses"
preview: "Pratinjau"
default: "Bawaan"
noCustomEmojis: "Tidak ada emoji kustom"
+noJobs: "Tidak ada kerja"
federating: "memfederasi"
blocked: "Diblokir"
+suspended: "Diberhentikan"
all: "Semua"
subscribing: "Berlangganan"
publishing: "Sedang menyiarkan langsung"
@@ -122,24 +232,74 @@ announcements: "Pengumuman"
imageUrl: "URL Gambar"
remove: "Hapus"
removed: "Telah dihapus"
-removeAreYouSure: "Apakah anda yakin ingin menghapus \"{x}\"?"
-deleteAreYouSure: "Apakah anda yakin ingin menghapus \"{x}\"?"
+removeAreYouSure: "Apakah kamu yakin ingin menghapus \"{x}\"?"
+deleteAreYouSure: "Apakah kamu yakin ingin menghapus \"{x}\"?"
+resetAreYouSure: "Yakin mau atur ulang?"
saved: "Telah disimpan"
messaging: "Pesan"
upload: "Unggah"
+keepOriginalUploading: "Simpan gambar asli"
+keepOriginalUploadingDescription: "Simpan gambar yang diunggah sebagaimana gambar aslinya. Bila dimatikan, versi tampilan web akan dihasilkan pada saat diunggah."
fromDrive: "Dari Drive"
fromUrl: "Dari URL"
uploadFromUrl: "Unggah dari URL"
-uploadFromUrlDescription: "URL berkas yang ingin anda unggah"
+uploadFromUrlDescription: "URL berkas yang ingin kamu unggah"
uploadFromUrlRequested: "Pengunggahan telah diminta"
uploadFromUrlMayTakeTime: "Membutuhkan beberapa waktu hingga pengunggahan selesai"
explore: "Jelajahi"
-games: "Permainan Misskey"
messageRead: "Telah dibaca"
noMoreHistory: "Tidak ada sejarah lagi"
startMessaging: "Mulai mengirim pesan"
nUsersRead: "Dibaca oleh {n}"
+agreeTo: "Saya setuju kepada {0}"
+tos: "Syarat dan ketentuan"
+start: "Mulai"
+home: "Beranda"
+remoteUserCaution: "Informasi ini mungkin tidak mutakhir, karena pengguna ini berasal dari instansi luar."
+activity: "Aktivitas"
+images: "Gambar"
+birthday: "Tanggal lahir"
+yearsOld: "{age} tahun"
+registeredDate: "Bergabung pada"
+location: "Lokasi"
+theme: "Tema"
+themeForLightMode: "Tema untuk Mode Terang"
+themeForDarkMode: "Tema untuk Mode Gelap"
+light: "Terang"
+dark: "Gelap"
+lightThemes: "Tema Terang"
+darkThemes: "Tema gelap"
+syncDeviceDarkMode: "Sinkronkan mode gelap dengan pengaturan perangkat"
+drive: "Drive"
+fileName: "Nama berkas"
+selectFile: "Pilih berkas"
+selectFiles: "Pilih berkas"
+selectFolder: "Pilih folder"
+selectFolders: "Pilih folder"
+renameFile: "Ubah nama berkas"
+folderName: "Nama folder"
+createFolder: "Buat folder"
+renameFolder: "Ubah nama folder"
+deleteFolder: "Hapus folder"
+addFile: "Tambahkan berkas"
+emptyDrive: "Drive kosong"
+emptyFolder: "Folder kosong"
+unableToDelete: "Tidak dapat menghapus"
+inputNewFileName: "Masukkan nama berkas yang baru"
+inputNewDescription: "Masukkan keterangan disini"
+inputNewFolderName: "Masukkan nama folder yang baru"
+circularReferenceFolder: "Folder tujuan adalah subfolder dari folder yang ingin kamu pindahkan."
+hasChildFilesOrFolders: "Karena folder ini tidak kosong, maka tidak dapat dihapus."
+copyUrl: "Salin tautan"
+rename: "Ubah nama"
+avatar: "Avatar"
+banner: "Banner"
nsfw: "Konten sensitif"
+whenServerDisconnected: "Ketika kehilangan koneksi dengan peladen"
+disconnectedFromServer: "Terputus koneksi dari peladen"
+reload: "Muat ulang"
+doNothing: "Abaikan"
+reloadConfirm: "Apakah kamu ingin memuat ulang linimasa?"
watch: "Tonton"
unwatch: "Batal tonton"
accept: "Terima"
@@ -158,23 +318,27 @@ monthX: "{month}"
yearX: "{year}"
pages: "Halaman"
integration: "Integrasi"
-connectSerice: "Sambungkan"
-disconnectSerice: "Putuskan"
+connectService: "Sambungkan"
+disconnectService: "Putuskan"
enableLocalTimeline: "Nyalakan linimasa lokal"
enableGlobalTimeline: "Nyalakan linimasa global"
+disablingTimelinesInfo: "Admin dan Moderator akan selalu memiliki akses ke semua linimasa meskipun linimasa tersebut tidak diaktifkan."
registration: "Pendaftaran"
enableRegistration: "Nyalakan pendaftaran pengguna baru"
invite: "Undang"
-proxyRemoteFiles: "Proksi berkas remote"
driveCapacityPerLocalAccount: "Kapasitas drive per pengguna lokal"
driveCapacityPerRemoteAccount: "Kapasitas drive per pengguna remote"
inMb: "dalam Megabytes"
iconUrl: "URL Gambar ikon"
bannerUrl: "URL Banner"
+backgroundImageUrl: "URL Gambar latar"
basicInfo: "Informasi Umum"
pinnedUsers: "Pengguna yang disematkan"
+pinnedUsersDescription: "Tuliskan satu nama pengguna dalam satu baris. Pengguna yang dituliskan disini akan disematkan dalam bilah \"Jelajahi\"."
pinnedPages: "Halaman yang disematkan"
-pinnedNotes: "Note yang disematkan"
+pinnedPagesDescription: "Masukkan tautan dari halaman yang kamu ingin sematkan ke halaman utama dari instansi ini, dipisah dengan membuat baris baru."
+pinnedClipId: "ID dari klip yang disematkan"
+pinnedNotes: "Catatan yang disematkan"
hcaptcha: "hCaptcha"
enableHcaptcha: "Nyalakan hCaptcha"
hcaptchaSiteKey: "Site Key"
@@ -183,37 +347,1322 @@ recaptcha: "reCAPTCHA"
enableRecaptcha: "Nyalakan reCAPTCHA"
recaptchaSiteKey: "Site key"
recaptchaSecretKey: "Secret Key"
+avoidMultiCaptchaConfirm: "Menggunakan banyak Captcha dapat menyebabkan gangguan. Apakah kamu ingin untuk menonaktifkan Captcha yang lain? Kamu dapat membiarkan fitur ini tetap aktif dengan menekan tombol batal."
antennas: "Antena"
manageAntennas: "Pengelola Antena"
+name: "Nama"
+antennaSource: "Sumber Antenna"
+antennaKeywords: "Kata kunci yang diterima"
+antennaExcludeKeywords: "Kata kunci yang dikecualikan"
+antennaKeywordsDescription: "Pisahkan dengan spasi untuk kondisi AND. Pisahkan dengan baris baru untuk kondisi OR."
+notifyAntenna: "Beritahu untuk catatan baru"
+withFileAntenna: "Hanya tampilkan catatan dengan berkas yang dilampirkan"
+enableServiceworker: "Aktifkan ServiceWorker"
+antennaUsersDescription: "Tuliskan satu nama pengguna per baris"
+caseSensitive: "Peka huruf besar dan huruf kecil"
+withReplies: "Termasuk balasan"
+connectedTo: "Akun yang mengikuti telah terhubung"
+notesAndReplies: "Catatan dan balasan"
+withFiles: "Media"
+silence: "Bungkam"
+silenceConfirm: "Apakah kamu yakin ingin membungkam pengguna ini?"
+unsilence: "Hapus bungkam"
+unsilenceConfirm: "Apakah kamu ingin untuk batal membungkam pengguna ini?"
+popularUsers: "Pengguna populer"
+recentlyUpdatedUsers: "Pengguna dengan aktivitas terkini"
+recentlyRegisteredUsers: "Pengguna baru saja bergabung"
+recentlyDiscoveredUsers: "Pengguna baru saja dilihat"
+exploreUsersCount: "Terdapat {count} pengguna"
+exploreFediverse: "Jelajahi Fediverse"
+popularTags: "Tag populer"
+userList: "Daftar"
+about: "Informasi"
+aboutMisskey: "Tentang Misskey"
+administrator: "Admin"
+token: "Token"
+twoStepAuthentication: "Otentikasi dua faktor"
+moderator: "Moderator"
+nUsersMentioned: "{n} pengguna disebut"
+securityKey: "Kunci keamanan"
+securityKeyName: "Nama kunci"
+registerSecurityKey: "Daftarkan kunci keamanan"
+lastUsed: "Terakhir digunakan"
+unregister: "Batalkan pendaftaran"
+passwordLessLogin: "Setel login tanpa kata sandi"
+resetPassword: "Atur ulang kata sandi"
+newPasswordIs: "Kata sandi baru adalah \"{password}\""
+reduceUiAnimation: "Kurangi animasi antarmuka"
+share: "Bagikan"
notFound: "Tidak dapat ditemukan"
+notFoundDescription: "Tidak ada halaman sesuai dengan URL yang ditentukan."
+uploadFolder: "Lokasi unggah folder bawaan"
+cacheClear: "Bersihkan tembolok"
+markAsReadAllNotifications: "Tandai semua pemberitahuan telah dibaca"
+markAsReadAllUnreadNotes: "Tandai semua catatan telah dibaca"
+markAsReadAllTalkMessages: "Tandai semua pesan telah dibaca"
+help: "Bantuan"
+inputMessageHere: "Ketik pesan disini"
+close: "Tutup"
+group: "Grup"
+groups: "Grup"
+createGroup: "Buat grup"
+ownedGroups: "Grup yang dimiliki"
+joinedGroups: "Grup yang diikuti"
invites: "Undang"
+groupName: "Nama grup"
+members: "Anggota"
+transfer: "Transfer"
+messagingWithUser: "Obrolan dengan pengguna lain"
+messagingWithGroup: "Obrolan di dalam grup"
+title: "Judul"
+text: "Teks"
+enable: "Aktifkan"
+next: "Selanjutnya"
+retype: "Masukkan ulang"
+noteOf: "Catatan milik {user}"
+inviteToGroup: "Undang ke grup"
+quoteAttached: "Dikutip"
+quoteQuestion: "Apakah kamu ingin menambahkan kutipan?"
+noMessagesYet: "Tidak ada pesan"
+newMessageExists: "Kamu mendapatkan pesan baru"
+onlyOneFileCanBeAttached: "Kamu hanya dapat melampirkan satu berkas ke dalam pesan"
+signinRequired: "Silahkan login"
invitations: "Undang"
+invitationCode: "Kode undangan"
+checking: "Memeriksa"
+available: "Tersedia"
+unavailable: "Tidak tersedia"
+usernameInvalidFormat: "Hanya dapat menerima karakter a-z, A-Z dan angka 0-9."
+tooShort: "Terlalu pendek"
+tooLong: "Terlalu panjang"
+weakPassword: "Kata sandi lemah"
+normalPassword: "Kata sandi baik"
+strongPassword: "Kata sandi kuat"
+passwordMatched: "Kata sandi sama"
+passwordNotMatched: "Kata sandi tidak sama"
+signinWith: "Masuk dengan {x}"
+signinFailed: "Tidak dapat masuk. Nama pengguna atau kata sandi yang kamu masukkan salah."
+tapSecurityKey: "Ketuk kunci keamanan kamu"
+or: "atau"
+language: "Bahasa"
+uiLanguage: "Bahasa antarmuka pengguna"
+groupInvited: "Telah diundang ke grup"
+aboutX: "Tentang {x}"
+useOsNativeEmojis: "Gunakan Emoji bawaan sistem operasi"
+disableDrawer: "Jangan gunakan menu bergaya laci"
+youHaveNoGroups: "Kamu tidak memiliki grup"
+joinOrCreateGroup: "Bergabunglah dengan grup atau kamu dapat membuat grupmu sendiri."
+noHistory: "Tidak ada riwayat"
+signinHistory: "Riwayat masuk"
+disableAnimatedMfm: "Nonaktifkan MFM dengan animasi"
+doing: "Sedang berkerja..."
+category: "Kategori"
+tags: "Tandai"
+docSource: "Sumber dari dokumen ini"
+createAccount: "Buat akun"
+existingAccount: "Akun yang ada"
+regenerate: "Buat ulang"
+fontSize: "Ukuran huruf"
+noFollowRequests: "Kamu tidak memiliki permintaan mengikuti yang menunggu"
+openImageInNewTab: "Buka gambar di tab baru"
+dashboard: "Dasbor"
+local: "Lokal"
+remote: "Remote"
+total: "Jumlah"
+weekOverWeekChanges: "Mingguan"
+dayOverDayChanges: "Harian"
+appearance: "Tampilan"
+clientSettings: "Pengaturan Klien"
+accountSettings: "Pengaturan Akun"
+promotion: "Promosi"
+promote: "Promosikan"
+numberOfDays: "Jumlah hari"
+hideThisNote: "Sembunyikan catatan ini"
+showFeaturedNotesInTimeline: "Tampilkan catatan yang diunggulkan di linimasa"
+objectStorage: "Object Storage"
+useObjectStorage: "Gunakan object storage"
+objectStorageBaseUrl: "Base URL"
+objectStorageBaseUrlDesc: "Prefix URL digunakan untuk mengkonstruksi URL ke object (media) referencing. Tentukan URL jika kamu menggunakan CDN atau Proxy, jika tidak tentukan alamat yang dapat diakses secara publik sesuai dengan panduan dari layanan yang akan kamu gunakan, contohnya. 'https://.s3.amazonaws.com' untuk AWS S3, dan 'https://storage.googleapis.com/' untuk GCS."
+objectStorageBucket: "Bucket"
+objectStorageBucketDesc: "Mohon tentukan nama bucket yang digunakan pada layanan yang telah dikonfigurasi."
+objectStoragePrefix: "Prefix"
+objectStoragePrefixDesc: "Berkas tidak akan disimpan dalam direktori dari prefix ini."
+objectStorageEndpoint: "Endpoint"
+objectStorageEndpointDesc: "Kosongkan bagian ini jika kamu menggunakan AWS S3, jika tidak tentukan endpoint sebagai '' atau ':' sesuai dengan panduan dari layanan yang akan kamu gunakan."
+objectStorageRegion: "Region"
+objectStorageRegionDesc: "Tentukan region seperti 'xx-east-1'. Jika layanan kamu tidak memiliki perbedaan mengenai region, kosongkan saja atau isi dengan 'us-east-1'."
+objectStorageUseSSL: "Gunakan SSL"
+objectStorageUseSSLDesc: "Matikan ini jika kamu tidak akan menggunakan HTTPS untuk koneksi API"
+objectStorageUseProxy: "Hubungkan melalui Proxy"
+objectStorageUseProxyDesc: "Matikan ini jika kamu tidak akan menggunakan Proxy untuk koneksi ObjectStorage"
+objectStorageSetPublicRead: "Setel \"public-read\" disaat mengunggah"
+serverLogs: "Log Peladen"
+deleteAll: "Hapus semua"
+showFixedPostForm: "Tampilkan form posting di atas linimasa."
+newNoteRecived: "Kamu mendapat catatan baru"
+sounds: "Bunyi"
+listen: "Dengarkan"
+none: "Tidak ada"
+showInPage: "Tampilkan di halaman"
+popout: "Pop-out"
+volume: "Volume"
+masterVolume: "Master volume"
+details: "Selengkapnya"
+chooseEmoji: "Pilih emoji"
+unableToProcess: "Operasi tersebut tidak dapat diselesaikan."
+recentUsed: "Baru saja digunakan"
+install: "Pasang"
+uninstall: "Copot pemasangan"
+installedApps: "Aplikasi yang diijinkan"
+nothing: "Tidak ada sama sekali disini"
+installedDate: "Diijinkan"
+lastUsedDate: "Terakhir digunakan"
+state: "Kondisi"
+sort: "Urutkan"
+ascendingOrder: "Urutkan naik"
+descendingOrder: "Urutkan menurun"
+scratchpad: "Scratchpad"
+scratchpadDescription: "Scratchpad menyediakan lingkungan eksperimen untuk AiScript. Kamu bisa menulis, mengeksuksi, serta mengecek hasil yang berinteraksi dengan Misskey."
+output: "Keluaran"
+script: "Script"
+disablePagesScript: "Nonaktifkan script pada halaman"
+updateRemoteUser: "Perbaharui informasi pengguna luar"
+deleteAllFiles: "Hapus semua berkas"
+deleteAllFilesConfirm: "Apakah kamu yakin ingin menghapus semua berkas?"
+removeAllFollowing: "Tahan semua mengikuti"
+removeAllFollowingDescription: "Batal mengikuti semua akun dari {host}. Mohon jalankan ini ketika instansi sudah tidak ada lagi."
+userSuspended: "Pengguna ini telah dibekukan."
+userSilenced: "Pengguna ini telah dibungkam."
+yourAccountSuspendedTitle: "Akun ini dibekukan"
+yourAccountSuspendedDescription: "Akun ini dibekukan karena melanggar ketentuan penggunaan layanan peladen atau semacamnya. Hubungi admin apabila ingin tahu alasan lebih lanjut. Mohon untuk tidak membuat akun baru."
+menu: "Menu"
+divider: "Pembagi"
+addItem: "Tambahkan item"
+relays: "Relay"
+addRelay: "Tambahkan relay"
+inboxUrl: "URL Kotak masuk"
+addedRelays: "Relay yang ditambahkan"
+serviceworkerInfo: "Harus diaktifkan untuk pemberitahuan push."
+deletedNote: "Catatan yang dihapus"
+invisibleNote: "Catatan yang disembunyikan"
+enableInfiniteScroll: "Aktifkan gulir tak terbatas"
+visibility: "Visibilitas"
+poll: "Angket"
+useCw: "Sembunyikan konten"
+enablePlayer: "Buka pemutar video"
+disablePlayer: "Tutup pemutar video"
+expandTweet: "Perluas utas"
+themeEditor: "Penyunting tema"
+description: "Deskripsi"
+describeFile: "Tambahkan keterangan"
+enterFileDescription: "Masukkan keterangan"
+author: "Pembuat"
+leaveConfirm: "Ada perubahan yang belum disimpan. Apakah kamu ingin membuangnya?"
+manage: "Manajemen"
+plugins: "Plugin"
+deck: "Dek"
+undeck: "Keluar dari dek"
+useBlurEffectForModal: "Gunakan efek buram untuk modal"
+useFullReactionPicker: "Gunakan pemilih reaksi ukuran penuh"
+width: "Lebar"
+height: "Tinggi"
+large: "Besar"
+medium: "Sedang"
+small: "Kecil"
+generateAccessToken: "Buat access token"
+permission: "Izin"
+enableAll: "Aktifkan semua"
+disableAll: "Nonaktifkan semua"
+tokenRequested: "Berikan ijin akses ke akun"
+pluginTokenRequestedDescription: "Plugin ini dapat menggunakan setelan ijin disini."
+notificationType: "Jenis pemberitahuan"
+edit: "Sunting"
+useStarForReactionFallback: "Gunakan ★ sebagai fallback jika reaksi emoji tidak diketahui"
+emailServer: "Peladen surel"
+enableEmail: "Nyalakan distribusi surel"
+emailConfigInfo: "Digunakan untuk mengonfirmasi surel kamu disaat mendaftar dan lupa kata sandi"
+email: "Surel"
+emailAddress: "Alamat surel"
+smtpConfig: "Konfigurasi peladen SMTP"
+smtpHost: "Host"
+smtpPort: "Port"
smtpUser: "Nama Pengguna"
smtpPass: "Kata sandi"
+emptyToDisableSmtpAuth: "Kosongkan nama pengguna dan kata sandi untuk menonaktifkan verifikasi SMTP"
+smtpSecure: "Gunakan SSL/TLS implisit untuk koneksi SMTP"
+smtpSecureInfo: "Matikan ini ketika menggunakan STARTTLS"
+testEmail: "Tes pengiriman surel"
+wordMute: "Bisukan kata"
+regexpError: "Kesalahan ekspresi reguler"
+regexpErrorDescription: "Galat terjadi pada baris {line} ekspresi reguler dari {tab} kata yang dibisukan:"
+instanceMute: "Bisuka instansi"
+userSaysSomething: "{name} mengatakan sesuatu"
+makeActive: "Aktifkan"
+display: "Tampilkan"
+copy: "Salin"
+metrics: "Metrik"
+overview: "Ikhtisar"
+logs: "Log"
+delayed: "Terlambat"
+database: "Basis data"
+channel: "Kanal"
+create: "Buat"
+notificationSetting: "Pengaturan Pemberitahuan"
+notificationSettingDesc: "Pilih tipe pemberitahuan untuk ditampilkan"
+useGlobalSetting: "Gunakan setelan global"
+useGlobalSettingDesc: "Jika dinyalakan, setelan pemberitahuan akun kamu akan digunakan. Jika dimatikan, konfigurasi secara individu dapat dibuat."
+other: "Lainnya"
+regenerateLoginToken: "Perbarui token login"
+regenerateLoginTokenDescription: "Perbarui token yang digunakan secara internal saat login. Normalnya aksi ini tidak diperlukan. Jika diperbarui, semua perangkat akan dilogout."
+setMultipleBySeparatingWithSpace: "Kamu dapat menyetel banyak dengan memisahkannya menggunakan spasi."
+fileIdOrUrl: "File-ID atau URL"
+behavior: "Perilaku"
+sample: "Contoh"
+abuseReports: "Laporkan"
+reportAbuse: "Laporkan"
+reportAbuseOf: "Laporkan {name}"
+fillAbuseReportDescription: "Mohon isi rincian laporan. Jika laporan ini mengenai catatan yang spesifik, mohon lampirkan serta URL catatan tersebut."
+abuseReported: "Laporan kamu telah dikirimkan. Terima kasih."
+reporter: "Pelapor"
+reporteeOrigin: "Yang dilaporkan"
+reporterOrigin: "Pelapor"
+forwardReport: "Teruskan laporan ke instansi luar"
+forwardReportIsAnonymous: "Untuk melindungi privasi akun kamu, akun anonim dari sistem akan digunakan sebagai pelapor pada instansi luar."
+send: "Kirim"
+abuseMarkAsResolved: "Tandai laporan sebagai selesai"
+openInNewTab: "Buka di tab baru"
+openInSideView: "Buka di tampilan samping"
+defaultNavigationBehaviour: "Navigasi bawaan"
+editTheseSettingsMayBreakAccount: "Menyunting pengaturan ini memiliki kemungkinan untuk merusak akun kamu."
+instanceTicker: "Informasi pengguna pada instansi"
+waitingFor: "Menunggu untuk {x}"
+random: "Acak"
+system: "Sistem"
+switchUi: "Ubah UI"
+desktop: "Desktop"
+clip: "Klip"
+createNew: "Buat baru"
+optional: "Opsional"
+createNewClip: "Buat klip baru"
+unclip: "Batalkan klip"
+confirmToUnclipAlreadyClippedNote: "Catatan ini sudah disertakan di klip \"{name}\". Yakin ingin membatalkan catatan dari klip ini?"
+public: "Publik"
+i18nInfo: "Misskey diterjemahkan ke dalam banyak bahasa oleh sukarelawan. Kamu dapat ikut membantu di {link}."
+manageAccessTokens: "Kelola access token"
+accountInfo: "Informasi akun"
+notesCount: "Jumlah catatan"
+repliesCount: "Jumlah balasan terkirim"
+renotesCount: "Jumlah renote terkirim"
+repliedCount: "Jumlah balasan diterima"
+renotedCount: "Jumlah renote diterima"
+followingCount: "Jumlah akun yang diikuti"
+followersCount: "Jumlah pengikut"
+sentReactionsCount: "Jumlah reaksi yang terkirim"
+receivedReactionsCount: "Jumlah reaksi yang diterima"
+pollVotesCount: "Jumlah suara yang terkirim"
+pollVotedCount: "Jumlah suara yang diterima dalam angket"
+yes: "Iya"
+no: "Tidak"
+driveFilesCount: "Jumlah berkas drive"
+driveUsage: "Penggunaan ruang penyimpanan drive"
+noCrawle: "Tolak pengindeksan crawler"
+noCrawleDescription: "Meminta mesin pencari untuk tidak mengindeks halaman profil kamu, catatan, Halaman, dll."
+lockedAccountInfo: "Kecuali kamu menyetel visibilitas catatan milikmu ke \"Hanya pengikut\", catatan milikmu akan dapat dilihat oleh siapa saja, bahkan jika kamu memerlukan pengikut untuk disetujui secara manual."
+alwaysMarkSensitive: "Tandai media dalam catatan sebagai media sensitif"
+loadRawImages: "Tampilkan lampiran gambar secara penuh daripada thumbnail"
+disableShowingAnimatedImages: "Jangan mainkan gambar bergerak"
+verificationEmailSent: "Surel verifikasi telah dikirimkan. Mohon akses tautan yang telah disertakan untuk menyelesaikan verifikasi."
+notSet: "Tidak disetel"
+emailVerified: "Surel telah diverifikasi"
+noteFavoritesCount: "Jumlah catatan yang difavoritkan"
+pageLikesCount: "Jumlah suka yang diterima Halaman"
+pageLikedCount: "Jumlah Halaman yang disukai"
+contact: "Kontak"
+useSystemFont: "Gunakan font bawaan sistem operasi"
+clips: "Klip"
+experimentalFeatures: "Fitur eksperimental"
+developer: "Pengembang"
+makeExplorable: "Buat akun tampil di \"Jelajahi\""
+makeExplorableDescription: "Jika kamu mematikan ini, akun kamu tidak akan muncul di bagian \"Jelajahi:"
+showGapBetweenNotesInTimeline: "Tampilkan jarak diantara catatan pada linimasa"
+duplicate: "Duplikat"
+left: "Kiri"
+center: "Tengah"
+wide: "Lebar"
+narrow: "Sempit"
+reloadToApplySetting: "Pengaturan ini akan diterapkan saat memuat halaman kembali. Apakah kamu ingin memuat halaman kembali sekarang?"
+needReloadToApply: "Pengaturan ini hanya akan diterapkan setelah memuat ulang halaman."
+showTitlebar: "Tampilkan bilah judul"
+clearCache: "Hapus tembolok"
+onlineUsersCount: "{n} orang sedang daring"
+nUsers: "{n} Pengguna"
+nNotes: "{n} Catatan"
+sendErrorReports: "Kirim laporan kesalahan"
+sendErrorReportsDescription: "Ketika dinyalakan, informasi kesalahan rinci akan dibagikan dengan Misskey ketika masalah terjadi, hal ini untuk membantu kualitas Misskey. Fitur ini memungkinkan memuat informasi seperti sistem operasi yang kamu gunakan dan versinya, aplikasi peramban yang kamu gunakan, riwayat aktivitas kamu, dll."
+myTheme: "Tema saya"
+backgroundColor: "Latar Belakang"
+accentColor: "Aksen"
+textColor: "Teks"
+saveAs: "Simpan sebagai…"
+advanced: "Tingkat lanjut"
+value: "Nilai"
+createdAt: "Dibuat pada"
+updatedAt: "Diperbarui pada"
+saveConfirm: "Simpan perubahan?"
+deleteConfirm: "Yakin hapus?"
+invalidValue: "Nilai tidak valid."
+registry: "Registri"
+closeAccount: "Tutup akun"
+currentVersion: "Versi saat ini"
+latestVersion: "Versi terkini"
+youAreRunningUpToDateClient: "Kamu menggunakan versi terkini dari klienmu."
+newVersionOfClientAvailable: "Versi terbaru dari klien kamu telah tersedia."
+usageAmount: "Penggunaan"
+capacity: "Kapasitas"
+inUse: "Digunakan"
+editCode: "Sunting kode"
+apply: "Terapkan"
+receiveAnnouncementFromInstance: "Terima pemberitahuan surel dari instansi ini"
+emailNotification: "Pemberitahuan surel"
+publish: "Terbitkan"
+inChannelSearch: "Cari di kanal"
+useReactionPickerForContextMenu: "Buka pemilih reaksi dengan klik-kanan"
+typingUsers: "{users} sedang mengetik..."
+jumpToSpecifiedDate: "Loncat ke tanggal spesifik"
+showingPastTimeline: "Sedang menampilkan linimasa lama"
+clear: "Bersihkan"
+markAllAsRead: "Tandai semua telah dibaca"
+goBack: "Kembali"
+unlikeConfirm: "Yakin ingin hapus sukamu?"
+fullView: "Tampilan penuh"
+quitFullView: "Keluar tampilan penuh"
+addDescription: "Tambahkan deskripsi"
+userPagePinTip: "Kamu dapat membuat catatan untuk ditampilkan disini dengan memilih \"Sematkan ke profil\" dari menu pada catatan individu."
+notSpecifiedMentionWarning: "Catatan ini mengandung sebutan dari pengguna yang tidak dimuat sebagai penerima"
+info: "Informasi"
+userInfo: "Informasi pengguna"
+unknown: "Tidak diketahui"
+onlineStatus: "Status daring"
+hideOnlineStatus: "Sembunyikan status daring"
+hideOnlineStatusDescription: "Menyembunyikan status daring kamu umengurangi kenyamanan untuk beberapa fungsi seperti contohnya pencarian."
+online: "Daring"
+active: "Aktif"
+offline: "Luring"
+notRecommended: "Tidak disarankan"
+botProtection: "Perlindungan Bot"
+instanceBlocking: "Instansi yang diblokir"
+selectAccount: "Pilih akun"
+switchAccount: "Ganti akun"
+enabled: "Aktif"
+disabled: "Nonaktif"
+quickAction: "Aksi cepat"
+user: "Pengguna"
+administration: "Manajemen"
+accounts: "Akun"
+switch: "Beralih"
+noMaintainerInformationWarning: "Informasi pengelola belum disetel."
+noBotProtectionWarning: "Proteksi bot belum disetel."
+configure: "Setel"
+postToGallery: "Posting ke galeri"
+gallery: "Galeri"
+recentPosts: "Postingan terbaru"
+popularPosts: "Postingan populer"
+shareWithNote: "Bagikan dengan catatan"
+ads: "Iklan"
+expiration: "Batas akhir"
+memo: "Memo"
+priority: "Prioritas"
+high: "Tinggi"
+middle: "Sedang"
+low: "Rendah"
+emailNotConfiguredWarning: "Alamat surel tidak disetel."
+ratio: "Rasio"
+previewNoteText: "Tampilkan pratinjau"
+customCss: "Custom CSS"
+customCssWarn: "Pengaturan ini seharusnya digunakan jika kamu tahu cara kerjanya. Memasukkan nilai yang tidak tepat dapat menyebabkan klien tidak berfungsi semestinya."
+global: "Global"
+squareAvatars: "Tampilkan avatar sebagai persegi"
+sent: "Kirim"
+received: "Diterima"
+searchResult: "Hasil Penelusuran"
+hashtags: "Tagar"
+troubleshooting: "Penyelesaian Masalah"
+useBlurEffect: "Gunakan efek blur pada antarmuka"
+learnMore: "Pelajari lebih lanjut"
+misskeyUpdated: "Misskey telah dimutakhirkan!"
+whatIsNew: "Lihat perubahan pemutakhiran"
+translate: "Terjemahkan"
+translatedFrom: "Terjemahkan dari {x}"
+accountDeletionInProgress: "Penghapusan akun sedang dalam proses"
+usernameInfo: "Nama yang mengidentifikasikan akun kamu dari yang lain pada peladen ini. Kamu dapat menggunakan alfabet (a~z, A~Z), digit (0~9) atau garis bawah (_). Username tidak dapat diubah setelahnya."
+aiChanMode: "Mode Ai"
+keepCw: "Biarkan Peringatan Konten"
+pubSub: "Akun Pub/Sub"
+lastCommunication: "Komunikasi terakhir"
+resolved: "Selesai"
+unresolved: "Belum selesai"
+breakFollow: "Batalkan mengikuti"
+itsOn: "Aktif"
+itsOff: "Nonaktif"
+emailRequiredForSignup: "Membutuhkan alamat surel untuk mendaftar"
+unread: "Belum dibaca"
+filter: "Saring"
+controlPanel: "Panel kendali"
+manageAccounts: "Kelola Akun"
+makeReactionsPublic: "Tampilkan riwayat reaksi ke publik"
+makeReactionsPublicDescription: "Pengaturan ini akan membuat daftar dari semua reaksi masa lalu kamu ditampilkan secara publik."
+classic: "Klasik"
+muteThread: "Bisukan thread"
+unmuteThread: "Suarakan thread"
+ffVisibility: "Visibilitas Mengikuti/Pengikut"
+ffVisibilityDescription: "Mengatur siapa yang dapat melihat pengikutmu dan yang kamu ikuti."
+continueThread: "Lihat lanjutan thread"
+deleteAccountConfirm: "Akun akan dihapus. Apakah kamu yakin?"
+incorrectPassword: "Kata sandi salah."
+voteConfirm: "Konfirmasi suara kamu untuk ({choice})?"
+hide: "Sembunyikan"
+leaveGroup: "Keluar grup"
+leaveGroupConfirm: "Apakah kamu yakin untuk keluar dari \"{name}\"?"
+useDrawerReactionPickerForMobile: "Tampilkan bilah reaksi sebagai laci di ponsel"
+welcomeBackWithName: "Selamat datang kembali, {name}."
+clickToFinishEmailVerification: "Mohon klik [{ok}] untuk menyelesaikan verifikasi email."
+overridedDeviceKind: "Tipe perangkat"
+smartphone: "Ponsel"
+tablet: "Tablet"
+auto: "Otomatis"
+themeColor: "Warna Tema"
+size: "Ukuran"
+numberOfColumn: "Jumlah per kolom"
+searchByGoogle: "Penelusuran"
+instanceDefaultLightTheme: "Bawaan instan tema terang"
+instanceDefaultDarkTheme: "Bawaan instan tema gelap"
+instanceDefaultThemeDescription: "Masukkan kode tema di format obyek."
+mutePeriod: "Batas waktu bisu"
+indefinitely: "Selamanya"
+tenMinutes: "10 Menit"
+oneHour: "1 Jam"
+oneDay: "1 Hari"
+oneWeek: "1 Bulan"
+reflectMayTakeTime: "Mungkin perlu beberapa saat untuk dicerminkan."
+failedToFetchAccountInformation: "Gagal untuk mendapatkan informasi akun"
+rateLimitExceeded: "Batas sudah terlampaui"
+cropImage: "potong gambar"
+cropImageAsk: "Ingin memotong gambar?"
+file: "Berkas"
+reverse: "Balik"
+colored: "Diwarnai"
+label: "Label"
+localOnly: "Hanya lokal"
+account: "Akun"
+_emailUnavailable:
+ used: "Alamat surel ini telah digunakan"
+ format: "Format tidak valid."
+ disposable: "Alamat surel temporer tidak dapat digunakan"
+ mx: "Peladen alamat surel ini tidak valid"
+ smtp: "Peladen alamat surel ini tidak merespon"
+_ffVisibility:
+ public: "Terbitkan"
+ followers: "Tampil untuk pengikut saja"
+ private: "Tersembunyi"
+_signup:
+ almostThere: "Hampir selesai"
+ emailAddressInfo: "Mohon masukkan alamat surel kamu."
+ emailSent: "Konfirmasi surel telah dikirimkan ke alamat surel kamu ({email}). Mohon klik tautan yang tercantum di dalamnya untuk menyelesaikan pembuatan akun."
+_accountDelete:
+ accountDelete: "Hapus akun"
+ mayTakeTime: "Karena penghapusan akun merupakan proses yang berat dan intensif, kemungkinan dapat membutuhkan waktu untuk menyelesaikan tergantung daripada berapa banyak konten yang kamu buat dan berapa banyak berkas yang telah kamu unggah."
+ sendEmail: "Setelah penghapusan akun selesai, pemberitahuan akan dikirimkan ke alamat surel yang terdaftarkan pada akun ini."
+ requestAccountDelete: "Minta penghapusan akun"
+ started: "Penghapusan telah dimulai"
+ inProgress: "Penghapusan sedang dalam proses"
+_ad:
+ back: "Kembali"
+ reduceFrequencyOfThisAd: "Tampilkan iklan ini lebih sedikit"
+_forgotPassword:
+ enterEmail: "Masukkan alamat surel yang kamu gunakan pada saat mendaftar. Sebuah tautan untuk mengatur ulang kata sandi kamu akan dikirimkan ke alamat surel tersebut."
+ ifNoEmail: "Apabila kamu tidak menggunakan surel pada saat pendaftaran, mohon hubungi admin segera."
+ contactAdmin: "Instansi ini tidak mendukung menggunakan alamat surel, mohon kontak admin untuk mengatur ulang password kamu."
+_gallery:
+ my: "Postingan saya"
+ liked: "Postingan yang disukai"
+ like: "Suka"
+ unlike: "Hapus suka"
+_email:
+ _follow:
+ title: "Mengikuti kamu"
+ _receiveFollowRequest:
+ title: "Kamu menerima permintaan mengikuti"
+_plugin:
+ install: "Memasang plugin"
+ installWarn: "Mohon jangan memasang plugin yang tidak dapat dipercayai."
+ manage: "Manajemen plugin"
+_registry:
+ scope: "Lingkup"
+ key: "Kunci"
+ keys: "Kunci"
+ domain: "Domain"
+ createKey: "Buat kunci"
+_aboutMisskey:
+ about: "Misskey adalah perangkat lunak sumber terbuka yang sedang dikembangkan oleh syuilo sejak 2014."
+ contributors: "Kontributor utama"
+ allContributors: "Seluruh kontributor"
+ source: "Sumber kode"
+ translation: "Terjemahkan Misskey"
+ donate: "Donasi ke Misskey"
+ morePatrons: "Kami sangat mengapresiasi dukungan dari banyak penolong lain yang tidak tercantum disini. Terima kasih! 🥰"
+ patrons: "Pendukung"
+_nsfw:
+ respect: "Sembunyikan media NSFW"
+ ignore: "Jangan sembunyikan media NSFW"
+ force: "Sembunyikan semua media"
_mfm:
+ cheatSheet: "Contekan MFM"
+ intro: "MFM adalah Misskey-exclusive Markup Language yang dapat digunakan di banyak tempat. Berikut kamu bisa melihat daftar dari syntax MFM yang ada."
+ dummy: "Misskey membentangkan dunia Fediverse"
+ mention: "Sebut"
+ mentionDescription: "Kamu dapat menentukan pengguna tertentu dengan menggunakan simbol-At dan nama engguna mereka."
+ hashtag: "Tagar"
+ hashtagDescription: "Kamu dapat menentukan tagar dengan menggunakan angka dan teks."
+ url: "URL"
+ urlDescription: "URL dapat ditampilkan."
+ link: "Tautan"
+ linkDescription: "Bagian tertentu dari teks dapat ditampilka sebagai URL."
+ bold: "Tebal"
+ boldDescription: "Sorot tulisan dengan membuatnya tebal."
+ small: "Kecil"
+ smallDescription: "Tampilkan konten kecil dan tipis."
+ center: "Tengah"
+ centerDescription: "Tampilkan konten di tengah."
+ inlineCode: "Kode (Dalam baris)"
+ inlineCodeDescription: "Menampilkan sorotan sintaks dalam baris untuk kode(program-)."
+ blockCode: "Kode (Blok)"
+ blockCodeDescription: "Menampilkan sorotan sintaks untuk kode(program-) multi baris dalam sebuah blok."
+ inlineMath: "Matematika (Dalam baris)"
+ inlineMathDescription: "Menampilkan formula matematika (KaTeX) dalam baris."
+ blockMath: "Matematika (Blok)"
+ blockMathDescription: "Menampilkan formula matematika (KaTeX) multibaris dalam sebuah blok."
quote: "Kutip"
+ quoteDescription: "Menampilkan konten sebagai kutipan."
emoji: "Emoji kustom"
- search: "Pencarian"
+ emojiDescription: "Emoji kustom dapat ditampilkan dengan mengurung nama emoji kustom menggunakan tanda titik dua."
+ search: "Penelusuran"
+ searchDescription: "Menampilkan kotak pencarian dengan teks yang sudah dimasukkan."
+ flip: "Balik"
+ flipDescription: "Balikkan konten secara horizontal atau vertikal."
+ jelly: "Animasi (Jelly)"
+ jellyDescription: "Menerapkan animasi seperti jelly"
+ tada: "Animasi (Tada)"
+ tadaDescription: "Menerapkan animasi seperti \"Kejutan!\"."
+ jump: "Animasi (Loncat)"
+ jumpDescription: "Menerapkan animasi melompat."
+ bounce: "Animasi (Melambung)"
+ bounceDescription: "Menerapkan animasi melambung."
+ shake: "Animasi (Goyang)"
+ shakeDescription: "Menerapkan animasi bergoyang."
+ twitch: "Animasi (Cubit)"
+ twitchDescription: "Terapkan animasi cubit yang kuat."
+ spin: "Animasi (Putar)"
+ spinDescription: "Terapkan animasi putar."
+ x2: "Besar"
+ x2Description: "Tampilkan konten menjadi besar."
+ x3: "Lebih besar"
+ x3Description: "Tampilkan konten menjadi lebih besar."
+ x4: "Sangat besar"
+ x4Description: "Tampilka konten menjadi sangat besar."
+ blur: "Buram"
+ blurDescription: "Konten dapat diburamkan dengan efek ini. Konten dapat ditampilkan dengan jelas dengan melayangkan kursor tetikus di atasnya."
+ font: "Font"
+ fontDescription: "Setel font yang ditampilkan untuk konten."
+ rainbow: "Pelangi"
+ rainbowDescription: "Membuat konten muncul dalam warna pelangi."
+ sparkle: "Kelap-kelip"
+ sparkleDescription: "Memberikan konten efek partikel kelap-kelip."
+ rotate: "Putar"
+ rotateDescription: "Putar konten sesuai sudut yang ditentukan."
+_instanceTicker:
+ none: "Jangan tampilkan"
+ remote: "Tampilkan untuk pengguna luar"
+ always: "Selalu tampilkan"
+_serverDisconnectedBehavior:
+ reload: "Muat ulang otomatis"
+ dialog: "Tampilkan dialog peringatan"
+ quiet: "Tampilkan peringatan tidak mengganggu"
+_channel:
+ create: "Buat saluran"
+ edit: "Sunting saluran"
+ setBanner: "Setel banner"
+ removeBanner: "Hapus banner"
+ featured: "Tren"
+ owned: "Dimiliki"
+ following: "Mengikuti"
+ usersCount: "{n} Partisipan"
+ notesCount: "terdapat {n} catatan"
+_menuDisplay:
+ sideFull: "Horisontal"
+ sideIcon: "Horisontal (Ikon)"
+ top: "Atas"
+ hide: "Sembunyikan"
+_wordMute:
+ muteWords: "Kata yang dibisukan"
+ muteWordsDescription: "Pisahkan dengan spasi untuk kondisi AND. Pisahkan dengan baris baru untuk kondisi OR."
+ muteWordsDescription2: "Kurung kata kunci dengan garis miring untuk menggunakan regular expressions."
+ softDescription: "Sembunyikan catatan yang memenuhi aturan kondisi dari linimasa."
+ hardDescription: "Cegah catatan memenuhi aturan kondisi dari ditambahkan ke linimasa. Dengan tambahan, catatan berikut tidak akan ditambahkan ke linimasa meskipun jika kondisi tersebut diubah."
+ soft: "Lembut"
+ hard: "Keras"
+ mutedNotes: "Catatan yang dibisukan"
+_instanceMute:
+ instanceMuteDescription: "Pengaturan ini akan membisukan note/renote apa saja dari instansi yang terdaftar, termasuk pengguna yang membalas pengguna lain dalam instansi yang dibisukan."
+ instanceMuteDescription2: "Pisah dengan baris baru"
+ title: "Sembunyikan note dari instansi terdaftar."
+ heading: "Daftar instansi yang akan dibisukan"
+_theme:
+ explore: "Jelajahi tema"
+ install: "Pasang tema"
+ manage: "Manajer tema"
+ code: "Kode tema"
+ description: "Deskripsi"
+ installed: "{name} telah dipasang"
+ installedThemes: "Tema yang dipasang"
+ builtinThemes: "Tema bawaan"
+ alreadyInstalled: "Tema telah dipasang"
+ invalid: "Format tema tidak valid"
+ make: "Buat tema"
+ base: "Dasar"
+ addConstant: "Tambah konstanta"
+ constant: "Konstanta"
+ defaultValue: "Nilai bawaan"
+ color: "Warna"
+ refProp: "Referensikan properti"
+ refConst: "Referensikan konstanta"
+ key: "Kunci"
+ func: "Fungsi"
+ funcKind: "Tipe fungsi"
+ argument: "Argumen"
+ basedProp: "Mereferensikan properti"
+ alpha: "Opasitas"
+ darken: "Mengelamkan"
+ lighten: "Menerangkan"
+ inputConstantName: "Masukkan nama untuk konstanta"
+ importInfo: "Jika kamu memasukkan kode tema disini, kamu dapat mengimpornya ke penyunting tema"
+ deleteConstantConfirm: "apakah kamu ingin menghapus konstanta {const}?"
+ keys:
+ accent: "Aksen"
+ bg: "Latar belakang"
+ fg: "Teks"
+ focus: "Fokus"
+ indicator: "Indikator"
+ panel: "Panel"
+ shadow: "Bayangan"
+ header: "Header"
+ navBg: "Latar belakang bilah samping"
+ navFg: "Teks bilah samping"
+ navHoverFg: "Teks bilah samping (Mengambang)"
+ navActive: "Teks bilah samping (Aktif)"
+ navIndicator: "Indikator bilah samping"
+ link: "Tautan"
+ hashtag: "Tagar"
+ mention: "Sebut"
+ mentionMe: "Sebutan (saya)"
+ renote: "Renote"
+ modalBg: "Latar belakang modal"
+ divider: "Pembagi"
+ scrollbarHandle: "Pegangan bilah gulir"
+ scrollbarHandleHover: "Pegangan bilah gulir (Mengambang)"
+ dateLabelFg: "Teks label tanggal"
+ infoBg: "Latar belakang informasi"
+ infoFg: "Teks informasi"
+ infoWarnBg: "Latar belakang peringatan"
+ infoWarnFg: "Teks peringatan"
+ cwBg: "Latar belakang tombol Sembunyikan Konten"
+ cwFg: "Teks tombol Sembunyikan Konten"
+ cwHoverBg: "Latar belakang tombol Sembunyikan Konten (Mengambang)"
+ toastBg: "Latar belakang pemberitahuan"
+ toastFg: "Teks pemberitahuan"
+ buttonBg: "Latar belakang tombol"
+ buttonHoverBg: "Latar belakang tombol (Mengambang)"
+ inputBorder: "Batas bidang masukan"
+ listItemHoverBg: "Latar belakang daftar item (Mengambang)"
+ driveFolderBg: "Latar belakang folder drive"
+ wallpaperOverlay: "Lapisan wallpaper"
+ badge: "Lencana"
+ messageBg: "Latar belakang obrolan"
+ accentDarken: "Aksen (Gelap)"
+ accentLighten: "Aksen (Terang)"
+ fgHighlighted: "Teks yang disorot"
_sfx:
- notification: "Notifikasi"
+ note: "Catatan"
+ noteMy: "Catatan (Saya)"
+ notification: "Pemberitahuan"
chat: "Pesan"
+ chatBg: "Obrolan (Latar Belakang)"
+ antenna: "Penerimaan Antenna"
+ channel: "Pemberitahuan saluran"
+_ago:
+ future: "Masa depan"
+ justNow: "Baru saja"
+ secondsAgo: "{n} detik lalu"
+ minutesAgo: "{n} menit lalu"
+ hoursAgo: "{n} jam lalu"
+ daysAgo: "{n} hari lalu"
+ weeksAgo: "{n} minggu lalu"
+ monthsAgo: "{n} bulan lalu"
+ yearsAgo: "{n} tahun lalu"
+_time:
+ second: "detik"
+ minute: "menit"
+ hour: "jam"
+ day: "hari"
+_tutorial:
+ title: "Cara menggunakan Misskey"
+ step1_1: "Selamat datang!"
+ step1_2: "Halaman ini disebut \"linimasa\". Halaman ini menampilkan \"catatan\" yang diurutkan secara kronologis dari orang-orang yang kamu \"ikuti\"."
+ step1_3: "Linimasa kamu kosong, karena kamu belum mencatat catatan apapun atau mengikuti siapapun."
+ step2_1: "Selesaikan menyetel profilmu sebelum menulis sebuah catatan atau mengikuti seseorang."
+ step2_2: "Menyediakan beberapa informasi tentang siapa kamu akan membuat orang lain mudah untuk mengikutimu kembali."
+ step3_1: "Selesai menyetel profil kamu?"
+ step3_2: "Langkah selanjutnya adalah membuat catatan. Kamu bisa lakukan ini dengan mengklik ikon pensil pada layar kamu."
+ step3_3: "Isilah di dalam modal dan tekan tombol pada atas kanan untuk memcatat catatan kamu."
+ step3_4: "Bingung tidak berpikiran untuk mengatakan sesuatu? Coba saja \"baru aja ikutan bikin akun misskey punyaku\"!"
+ step4_1: "Selesai mencatat catatan pertamamu?"
+ step4_2: "Horee! Sekarang catatan pertamamu sudah ditampilkan di linimasa milikmu."
+ step5_1: "Sekarang, mari mencoba untuk membuat linimasamu lebih hidup dengan mengikuti orang lain."
+ step5_2: "{featured} akan memperlihatkan catatan yang sedang tren saat ini untuk kamu. {explore} akan membantumu untuk mencari pengguna yang sedang tren juga saat ini. Coba ikuti seseorang yang kamu suka!"
+ step5_3: "Untuk mengikuti pengguna lain, klik pada ikon mereka dan tekan tombol follow pada profil mereka."
+ step5_4: "Jika pengguna lain memiliki ikon gembok di sebelah nama mereka, maka pengguna rersebut harus menyetujui permintaan mengikuti dari kamu secara manual."
+ step6_1: "Sekarang kamu dapat melihat catatan pengguna lain pada linimasamu."
+ step6_2: "Kamu juga bisa memberikan \"reaksi\" ke catatan orang lain untuk merespon dengan cepat."
+ step6_3: "Untuk memberikan \"reaksi\", tekan tanda \"+\" pada catatan pengguna lain dan pilih emoji yang kamu suka untuk memberikan reaksimu kepada mereka."
+ step7_1: "Yay, Selamat! Kamu sudah menyelesaikan tutorial dasar Misskey."
+ step7_2: "Jika kamu ingin mempelajari lebih lanjut tentang Misskey, cobalah berkunjung ke bagian {help}."
+ step7_3: "Semoga berhasil dan bersenang-senanglah! 🚀"
+_2fa:
+ alreadyRegistered: "Kamu telah mendaftarkan perangkat otentikasi dua faktor."
+ registerDevice: "Daftarkan perangkat baru"
+ registerKey: "Daftarkan kunci keamanan baru"
+ step1: "Pertama, pasang aplikasi otentikasi (seperti {a} atau {b}) di perangkat kamu."
+ step2: "Lalu, pindai kode QR yang ada di layar."
+ step2Url: "Di aplikasi desktop, masukkan URL berikut:"
+ step3: "Masukkan token yang telah disediakan oleh aplikasimu untuk menyelesaikan pemasangan."
+ step4: "Mulai sekarang, upaya login apapun akan meminta token login dari aplikasi otentikasi kamu."
+ securityKeyInfo: "Kamu dapat memasang otentikasi WebAuthN untuk mengamankan proses login lebih lanjut dengan tidak hanya perangkat keras kunci keamanan yang mendukung FIDO2, namun juga sidik jari atau otentikasi PIN pada perangkatmu."
+_permissions:
+ "read:account": "Lihat informasi akun"
+ "write:account": "Sunting informasi akun"
+ "read:blocks": "Lihat daftar orang yang diblokir"
+ "write:blocks": "Sunting daftar orang yang diblokir"
+ "read:drive": "Akses berkas dan folder drive"
+ "write:drive": "Sunting atau hapus berkas dan folder drive"
+ "read:favorites": "Lihat daftar favorit"
+ "write:favorites": "Sunting daftar favorit"
+ "read:following": "Lihat informasi mengikuti"
+ "write:following": "Ikuti atau Stop Ikuti akun lain"
+ "read:messaging": "Lihat obrolan"
+ "write:messaging": "Buat atau hapus obrolan"
+ "read:mutes": "Lihat daftar orang yang dibisukan"
+ "write:mutes": "Sunting daftar orang yang dibisukan"
+ "write:notes": "Buat atau hapus catatan"
+ "read:notifications": "Lihat pemberitahuan"
+ "write:notifications": "Sunting pemberitahuan"
+ "read:reactions": "Lihat reaksi"
+ "write:reactions": "Sunting reaksi"
+ "write:votes": "Beri suara"
+ "read:pages": "Lihat halaman"
+ "write:pages": "Sunting atau hapus halaman"
+ "read:page-likes": "Lihat suka pada halaman"
+ "write:page-likes": "Sunting suka pada Halaman"
+ "read:user-groups": "Lihat grup pengguna"
+ "write:user-groups": "Sunting atau hapus grup pengguna"
+ "read:channels": "Lihat saluran"
+ "write:channels": "Sunting saluran"
+ "read:gallery": "Lihat galeri"
+ "write:gallery": "Sunting galeri"
+ "read:gallery-likes": "Lihat daftar postingan galeri yang disukai"
+ "write:gallery-likes": "Sunting daftar postingan galeri yang disukai"
+_auth:
+ shareAccess: "Apakah kamu ingin mengijinkan \"{name}\" untuk mengakses akun ini?"
+ shareAccessAsk: "Apakah kamu ingin mengijinkan aplikasi ini untuk mengakses akun kamu?"
+ permissionAsk: "Aplikasi ini membutuhkan beberapa ijin, yaitu:"
+ pleaseGoBack: "Mohon kembali ke aplikasi kamu"
+ callback: "Mengembalikan kamu ke aplikasi"
+ denied: "Akses ditolak"
+_antennaSources:
+ all: "Semua catatan"
+ homeTimeline: "Catatan dari pengguna yang diikuti"
+ users: "Catatan dari pengguna tertentu"
+ userList: "Catatan dari daftar tertentu"
+ userGroup: "Catatan dari pengguna dalam grup yang ditentukan"
+_weekday:
+ sunday: "Minggu"
+ monday: "Senin"
+ tuesday: "Selasa"
+ wednesday: "Rabu"
+ thursday: "Kamis"
+ friday: "Jumat"
+ saturday: "Sabtu"
_widgets:
- notifications: "Notifikasi"
+ memo: "Catatan memo"
+ notifications: "Pemberitahuan"
timeline: "Linimasa"
+ calendar: "Kalender"
+ trends: "Tren"
+ clock: "Jam"
+ rss: "Pembaca RSS"
+ activity: "Aktivitas"
+ photos: "Foto"
+ digitalClock: "Jam digital"
+ federation: "Federasi"
+ postForm: "Buat catatan"
+ slideshow: "Slideshow"
+ button: "Tombol"
+ onlineUsers: "Pengguna online"
+ jobQueue: "Antrian kerja"
+ serverMetric: "Statistik peladen"
+ aiscript: "Konsol AiScript"
+ aichan: "Ai"
+_cw:
+ hide: "Sembunyikan"
+ show: "Lihat konten"
+ chars: "{count} karakter"
+ files: "{count} berkas"
+_poll:
+ noOnlyOneChoice: "Dibutuhkan sedikitnya dua pilihan"
+ choiceN: "Pilihan {n}"
+ noMore: "Kamu tidak dapat menambahkan pilihan lagi"
+ canMultipleVote: "Bolehkan memilih banyak"
+ expiration: "Batas akhir"
+ infinite: "Selamanya"
+ at: "Berakhir pada..."
+ after: "Berakhir setelah..."
+ deadlineDate: "Tanggal batas akhir"
+ deadlineTime: "jam"
+ duration: "Durasi"
+ votesCount: "{n} suara"
+ totalVotes: "Total {n} suara"
+ vote: "Beri suara"
+ showResult: "Lihat hasil"
+ voted: "Telah memilih"
+ closed: "Telah berakhir"
+ remainingDays: "Berakhir dalam {d} hari {h} jam"
+ remainingHours: "Berakhir dalam {h} jam {m} menit"
+ remainingMinutes: "Berakhir dalam {m} menit {s} detik"
+ remainingSeconds: "Berakhir dalam {s} detik"
+_visibility:
+ public: "Publik"
+ publicDescription: "Catat ke linimasa global"
+ home: "Beranda"
+ homeDescription: "Catat ke linimasa beranda saja"
+ followers: "Pengikut"
+ followersDescription: "Catat ke pengikut saja"
+ specified: "Langsung"
+ specifiedDescription: "Catat ke pengguna yang ditentukan saja"
+ localOnly: "Hanya lokal"
+ localOnlyDescription: "Hanya dapat dilihat di instansi lokal"
+_postForm:
+ replyPlaceholder: "Balas ke catatan ini..."
+ quotePlaceholder: "Kutip catatan ini..."
+ channelPlaceholder: "Posting ke kanal"
+ _placeholders:
+ a: "Sedang apa kamu saat ini?"
+ b: "Apa yang terjadi di sekitarmu?"
+ c: "Apa yang sedang kamu pikirkan?"
+ d: "Yang ingin kamu sampaikan?"
+ e: "Tuliskan yang kamu ingin sampaikan..."
+ f: "Menunggu kamu untuk menulis...."
_profile:
+ name: "Nama"
username: "Nama Pengguna"
+ description: "Bio"
+ youCanIncludeHashtags: "Kamu juga dapat menambahkan tagar ke dalam bio."
+ metadata: "Informasi tambahan"
+ metadataEdit: "Sunting informasi tambahan"
+ metadataDescription: "Kamu dapat menampilkan hingga 4 bagian informasi tambahan ke dalam profilmu."
+ metadataLabel: "Label"
+ metadataContent: "Isi"
+ changeAvatar: "Ubah avatar"
+ changeBanner: "Ubah header"
_exportOrImport:
+ allNotes: "Semua catatan"
+ followingList: "Ikuti"
muteList: "Bisukan"
blockingList: "Blokir"
-_rooms:
- _roomType:
- default: "Bawaan"
+ userLists: "Daftar"
+ excludeMutingUsers: "Kecualikan pengguna yang dibisukan"
+ excludeInactiveUsers: "Kecualikan pengguna tidak aktif"
+_charts:
+ federation: "Federasi"
+ apRequest: "Permintaan"
+ usersIncDec: "Perbedaan dalam # pengguna"
+ usersTotal: "Jumlah # pengguna"
+ activeUsers: "Pengguna aktif"
+ notesIncDec: "Perbedaan # dalam catatan"
+ localNotesIncDec: "Perbedaan # dalam catatan lokal"
+ remoteNotesIncDec: "Perbedaan # dalam catatan luar"
+ notesTotal: "Total # catatan"
+ filesIncDec: "Perbedaan # dalam berkas"
+ filesTotal: "Jumlah # berkas"
+ storageUsageIncDec: "Perbedaan dalam penggunaan penyimpanan"
+ storageUsageTotal: "Jumlah penggunaan penyimpanan"
+_instanceCharts:
+ requests: "Permintaan"
+ users: "Perbedaan dalam # pengguna"
+ usersTotal: "Jumlah # pengguna kumulatif"
+ notes: "Perbedaan # dalam catatan"
+ notesTotal: "Jumlah # catatan kumulatif"
+ ff: "Perbedaan jumlah # dalam pengikut"
+ ffTotal: "Jumlah # pengikut kumulatif"
+ cacheSize: "Perbedaan dalam ukuran tembolok"
+ cacheSizeTotal: "Total ukuran tembolok kumulatif"
+ files: "Perbedaan dalam # berkas"
+ filesTotal: "Jumlah # berkas kumulatif"
+_timelines:
+ home: "Beranda"
+ local: "Lokal"
+ social: "Sosial"
+ global: "Global"
+_pages:
+ newPage: "Buat halaman baru"
+ editPage: "Sunting halaman"
+ readPage: "Lihat sumber kode aktif"
+ created: "Halaman berhasil dibuat"
+ updated: "Halaman berhasil diperbaharui!"
+ deleted: "Halaman telah dihapus"
+ pageSetting: "Pengaturan Halaman"
+ nameAlreadyExists: "URL Halaman yang ditentukan sudah ada"
+ invalidNameTitle: "URL Halaman yang ditentukan tidak valid"
+ invalidNameText: "Cek apabila Halaman tidak kosong"
+ editThisPage: "Sunting Halaman ini"
+ viewSource: "Lihat sumber"
+ viewPage: "Lihat Halaman"
+ like: "Suka"
+ unlike: "Hapus suka"
+ my: "Halaman saya"
+ liked: "Halaman yang disukai"
+ featured: "Populer"
+ inspector: "Inspektor"
+ contents: "Konten"
+ content: "Blokir Halaman"
+ variables: "Variabel"
+ title: "Judul"
+ url: "URL Halaman"
+ summary: "Ringkasan Halaman"
+ alignCenter: "Tengah"
+ hideTitleWhenPinned: "Sembunyikan judul halaman saat disematkan ke profil"
+ font: "Font"
+ fontSerif: "Serif"
+ fontSansSerif: "Sans-serif"
+ eyeCatchingImageSet: "Setel gambar yang menarik"
+ eyeCatchingImageRemove: "Hapus gambar yang menarik"
+ chooseBlock: "Tambahkan blokir"
+ selectType: "Pilih jenis"
+ enterVariableName: "Mohon masukkan nama untuk variabel kamu"
+ variableNameIsAlreadyUsed: "Nama ini sudah digunakan oleh variabel lain"
+ contentBlocks: "Konten"
+ inputBlocks: "Masukan"
+ specialBlocks: "Khusus"
+ blocks:
+ text: "Teks"
+ textarea: "Area teks"
+ section: "Bagian"
+ image: "Gambar"
+ button: "Tombol"
+ if: "Jika"
+ _if:
+ variable: "Variabel"
+ post: "Buat catatan"
+ _post:
+ text: "Isi"
+ attachCanvasImage: "Posting dengan kanvas sebagai gambar"
+ canvasId: "ID Kanvas"
+ textInput: "Masukan teks"
+ _textInput:
+ name: "Nama variabel"
+ text: "Judul"
+ default: "Nilai bawaan"
+ textareaInput: "Masukan teks multibaris"
+ _textareaInput:
+ name: "Nama variabel"
+ text: "Judul"
+ default: "Nilai bawaan"
+ numberInput: "Masukan angka"
+ _numberInput:
+ name: "Nama variabel"
+ text: "Judul"
+ default: "Nilai bawaan"
+ canvas: "Kanvas"
+ _canvas:
+ id: "ID Kanvas"
+ width: "Lebar"
+ height: "Tinggi"
+ note: "Catatan yang ditanam"
+ _note:
+ id: "ID Catatan"
+ idDescription: "Kamu dapat menyetel ini dengan menempelkan tautan URL Catatan."
+ detailed: "Tampilan rincian"
+ switch: "Beralih"
+ _switch:
+ name: "Nama variabel"
+ text: "Judul"
+ default: "Nilai bawaan"
+ counter: "Penghitung"
+ _counter:
+ name: "Nama variabel"
+ text: "Judul"
+ inc: "Meningkat dengan"
+ _button:
+ text: "Judul"
+ colored: "Diwarnai"
+ action: "Operasi akan dimulai ketika tombol ditekan"
+ _action:
+ dialog: "Tampilkan dialog"
+ _dialog:
+ content: "Isi"
+ resetRandom: "Atur ulang benih acak"
+ pushEvent: "Kirim event"
+ _pushEvent:
+ event: "Nama event"
+ message: "Pesan yang tampil ketika diaktifkan"
+ variable: "Variable untuk kirim"
+ no-variable: "Tidak ada"
+ callAiScript: "Panggil AiScript"
+ _callAiScript:
+ functionName: "Nama fungsi"
+ radioButton: "Pilihan"
+ _radioButton:
+ name: "Nama variabel"
+ title: "Judul"
+ values: "Daftar pilihan (dipisahkan dengan garis baru)"
+ default: "Nilai bawaan"
+ script:
+ categories:
+ flow: "Arus kendali"
+ logical: "Operasi logis"
+ operation: "Menghitung"
+ comparison: "Membandingkan"
+ random: "Acak"
+ value: "Nilai"
+ fn: "Fungsi"
+ text: "Operasi teks"
+ convert: "Mengubah"
+ list: "Daftar"
+ blocks:
+ text: "Teks"
+ multiLineText: "Teks (multibaris)"
+ textList: "Daftar teks"
+ _textList:
+ info: "Pisahkan setiap entri dengan baris baru"
+ strLen: "Panjang teks"
+ _strLen:
+ arg1: "Teks"
+ strPick: "Ekstrak karakter"
+ _strPick:
+ arg1: "Teks"
+ arg2: "Lokasi karakter"
+ strReplace: "Penggantian teks"
+ _strReplace:
+ arg1: "Teks"
+ arg2: "Teks yang akan diganti"
+ arg3: "Diganti dengan"
+ strReverse: "Balikkan teks"
+ _strReverse:
+ arg1: "Teks"
+ join: "Rangkaian teks"
+ _join:
+ arg1: "Daftar"
+ arg2: "Pemisah"
+ add: "Tambah"
+ _add:
+ arg1: "A"
+ arg2: "B"
+ subtract: "Kurangi"
+ _subtract:
+ arg1: "A"
+ arg2: "B"
+ multiply: "Kali"
+ _multiply:
+ arg1: "A"
+ arg2: "B"
+ divide: "Bagi"
+ _divide:
+ arg1: "A"
+ arg2: "B"
+ mod: "Sisa"
+ _mod:
+ arg1: "A"
+ arg2: "B"
+ round: "Bulat desimal"
+ _round:
+ arg1: "Angka"
+ eq: "A dan B adalah sama"
+ _eq:
+ arg1: "A"
+ arg2: "B"
+ notEq: "A dan B adalah berbeda"
+ _notEq:
+ arg1: "A"
+ arg2: "B"
+ and: "A DAN B"
+ _and:
+ arg1: "A"
+ arg2: "B"
+ or: "A ATAU B"
+ _or:
+ arg1: "A"
+ arg2: "B"
+ lt: "< A ikurang dari B"
+ _lt:
+ arg1: "A"
+ arg2: "B"
+ gt: "> A lebih dari B"
+ _gt:
+ arg1: "A"
+ arg2: "B"
+ ltEq: "<= A kurang dari sama dengan B"
+ _ltEq:
+ arg1: "A"
+ arg2: "B"
+ gtEq: ">= A lebih dari sama dengan B"
+ _gtEq:
+ arg1: "A"
+ arg2: "B"
+ if: "Cabang"
+ _if:
+ arg1: "Jika"
+ arg2: "Jika benar"
+ arg3: "Jika salah"
+ not: "BUKAN"
+ _not:
+ arg1: "NOT"
+ random: "Acak"
+ _random:
+ arg1: "Probabilitas"
+ rannum: "Angka acak"
+ _rannum:
+ arg1: "Nilai minimum"
+ arg2: "Nilai maksimum"
+ randomPick: "Pilih secara acak dari daftar"
+ _randomPick:
+ arg1: "Daftar"
+ dailyRandom: "Acak (bertahan sehari)"
+ _dailyRandom:
+ arg1: "Probabilitas"
+ dailyRannum: "Angka acak (bertahan sehari)"
+ _dailyRannum:
+ arg1: "Nilai minimum"
+ arg2: "Nilai maksimum"
+ dailyRandomPick: "Pilih secara acak dari daftar (bertahan sehari)"
+ _dailyRandomPick:
+ arg1: "Daftar"
+ seedRandom: "Acak (dengan seed)"
+ _seedRandom:
+ arg1: "Seed"
+ arg2: "Probabilitas"
+ seedRannum: "Angka acak (dengan seed)"
+ _seedRannum:
+ arg1: "Seed"
+ arg2: "Nilai minimum"
+ arg3: "Nilai maksimum"
+ seedRandomPick: "Pilih secara acak dari daftar (dengan seed)"
+ _seedRandomPick:
+ arg1: "Seed"
+ arg2: "Daftar"
+ DRPWPM: "Pilih secara acak dari daftar berbobot (bertahan sehari)"
+ _DRPWPM:
+ arg1: "Daftar teks"
+ pick: "Pilih dari daftar"
+ _pick:
+ arg1: "Daftar"
+ arg2: "Posisi"
+ listLen: "Dapatkan panjangnya dari daftar"
+ _listLen:
+ arg1: "Daftar"
+ number: "Angka"
+ stringToNumber: "Teks ke angka"
+ _stringToNumber:
+ arg1: "Teks"
+ numberToString: "Angka ke teks"
+ _numberToString:
+ arg1: "Angka"
+ splitStrByLine: "Pisahkan teks dengan baris baru"
+ _splitStrByLine:
+ arg1: "Teks"
+ ref: "Variabel"
+ aiScriptVar: "Variabel AiScript"
+ fn: "Fungsi"
+ _fn:
+ slots: "Slot"
+ slots-info: "Pisahkan setiap slot dengan baris baru"
+ arg1: "Keluaran"
+ for: "Ulangi"
+ _for:
+ arg1: "Jumlah angka untuk diulangi"
+ arg2: "Aksi"
+ typeError: "Slot {slot} menerima tipe \"{expect}\", sayangnya nilai yang disediakan adalah \"{actual}\"!"
+ thereIsEmptySlot: "Slot {slot} kosong!"
+ types:
+ string: "Teks"
+ number: "Angka"
+ boolean: "Markah"
+ array: "Daftar"
+ stringArray: "Daftar teks"
+ emptySlot: "Slot kosong"
+ enviromentVariables: "Variabel Lingkungan"
+ pageVariables: "Elemen halaman"
+ argVariables: "Masukan slot"
+_relayStatus:
+ requesting: "Menunggu"
+ accepted: "Disetujui"
+ rejected: "Ditolak"
_notification:
+ fileUploaded: "Berkas telah berhasil diunggah"
+ youGotMention: "{name} meyebut kamu"
+ youGotReply: "{name} membalas kamu"
+ youGotQuote: "{name} mengutip kamu"
+ youRenoted: "{name} me-renote kamu"
+ youGotPoll: "{name} memilih di angket kamu"
+ youGotMessagingMessageFromUser: "{name} mengirimi kamu pesan"
+ youGotMessagingMessageFromGroup: "Sebuah pesan telah dikirim ke grup {name}"
+ youWereFollowed: "Mengikuti kamu"
+ youReceivedFollowRequest: "Kamu menerima permintaan mengikuti"
+ yourFollowRequestAccepted: "Permintaan mengikuti kamu telah diterima"
+ youWereInvitedToGroup: "Telah diundang ke grup"
+ pollEnded: "Hasil Kuesioner telah keluar"
+ emptyPushNotificationMessage: "Pembaruan notifikasi dorong"
_types:
+ all: "Semua"
+ follow: "Ikuti"
+ mention: "Sebut"
+ reply: "Balasan"
+ renote: "Renote"
quote: "Kutip"
reaction: "Reaksi"
+ pollVote: "Memilih di angket"
+ pollEnded: "Jajak pendapat berakhir"
+ receiveFollowRequest: "Permintaan mengikuti diterima"
+ followRequestAccepted: "Permintaan mengikuti disetujui"
+ groupInvited: "Diundang ke grup"
+ app: "Pemberitahuan dari aplikasi"
+ _actions:
+ followBack: "Ikuti Kembali"
+ reply: "Balas"
+ renote: "Renote"
_deck:
+ alwaysShowMainColumn: "Selalu tampilkan kolom utama"
+ columnAlign: "Luruskan kolom"
+ addColumn: "Tambahkan kolom"
+ swapLeft: "Pindah ke kiri"
+ swapRight: "Pindah ke kanan"
+ swapUp: "Pindah ke atas"
+ swapDown: "Pindah ke bawah"
+ stackLeft: "Tumpukkan di kolom kiri"
+ popRight: "Keluarkan di kanan"
+ profile: "Profil"
_columns:
- notifications: "Notifikasi"
+ main: "Utama"
+ widgets: "Widget"
+ notifications: "Pemberitahuan"
tl: "Linimasa"
antenna: "Antena"
+ list: "Daftar"
+ mentions: "Sebutan"
+ direct: "Langsung"
diff --git a/locales/index.js b/locales/index.js
index b76fa1dea..92cd9b467 100644
--- a/locales/index.js
+++ b/locales/index.js
@@ -21,6 +21,8 @@ const languages = [
'en-US',
'es-ES',
'fr-FR',
+ 'id-ID',
+ 'it-IT',
'ja-JP',
'ja-KS',
'kab-KAB',
@@ -31,8 +33,10 @@ const languages = [
'pl-PL',
'pt-PT',
'ru-RU',
+ 'sk-SK',
'ug-CN',
'uk-UA',
+ 'vi-VN',
'zh-CN',
'zh-TW',
];
@@ -43,7 +47,10 @@ const primaries = {
'zh': 'CN',
};
-const locales = languages.reduce((a, c) => (a[c] = yaml.safeLoad(fs.readFileSync(`${__dirname}/${c}.yml`, 'utf-8')) || {}, a), {});
+// 何故か文字列にバックスペース文字が混入することがあり、YAMLが壊れるので取り除く
+const clean = (text) => text.replace(new RegExp(String.fromCodePoint(0x08), 'g'), '');
+
+const locales = languages.reduce((a, c) => (a[c] = yaml.load(clean(fs.readFileSync(`${__dirname}/${c}.yml`, 'utf-8'))) || {}, a), {});
module.exports = Object.entries(locales)
.reduce((a, [k ,v]) => (a[k] = (() => {
diff --git a/locales/it-IT.yml b/locales/it-IT.yml
index ed97d539c..410928bc5 100644
--- a/locales/it-IT.yml
+++ b/locales/it-IT.yml
@@ -1 +1,1469 @@
---
+_lang_: "Italiano"
+headlineMisskey: "Rete collegata tramite note"
+introMisskey: "Benvenut@! Misskey è un servizio di microblogging decentralizzato, libero e aperto. \nScrivi \"note\" per condividere ciò che sta succedendo adesso o per dire a tutti qualcosa di te. 📡\nGrazie alla funzione \"reazioni\" puoi anche mandare reazioni rapide alle note delle altre persone del Fediverso. 👍\nEsplora un nuovo mondo! 🚀"
+monthAndDay: "{day}/{month}"
+search: "Cerca"
+notifications: "Notifiche"
+username: "Nome utente"
+password: "Password"
+forgotPassword: "Hai dimenticato la tua password?"
+fetchingAsApObject: "Recuperando dal Fediverso..."
+ok: "OK"
+gotIt: "Ho capito"
+cancel: "Annulla"
+enterUsername: "Inserisci un nome utente"
+renotedBy: "Rinotato da {user}"
+noNotes: "Nessuna nota!"
+noNotifications: "Nessuna notifica"
+instance: "Istanza"
+settings: "Impostazioni"
+basicSettings: "Impostazioni generali"
+otherSettings: "Altre impostazioni"
+openInWindow: "Apri in una finestra"
+profile: "Profilo"
+timeline: "Timeline"
+noAccountDescription: "L'utente non ha ancora scritto niente nella biografia di profilo."
+login: "Accedi"
+loggingIn: "Accesso in corso..."
+logout: "Esci"
+signup: "Iscriviti"
+uploading: "Caricamento..."
+save: "Salva"
+users: "Utente"
+addUser: "Aggiungi utente"
+favorite: "Preferiti"
+favorites: "Preferiti"
+unfavorite: "Rimuovi nota dai preferiti"
+favorited: "Aggiunta ai tuoi preferiti."
+alreadyFavorited: "Già tra i tuoi preferiti."
+cantFavorite: "Impossibile aggiungere la nota ai preferiti."
+pin: "Fissa sul profilo"
+unpin: "Non fissare sul profilo"
+copyContent: "Copia il contenuto"
+copyLink: "Copia il link"
+delete: "Elimina"
+deleteAndEdit: "Elimina e modifica"
+deleteAndEditConfirm: "Vuoi davvero cancellare questa nota e scriverla di nuovo? Verrano eliminate anche tutte le reazioni, Rinote e risposte collegate."
+addToList: "Aggiungi alla lista"
+sendMessage: "Invia messaggio"
+copyUsername: "Copia nome utente"
+searchUser: "Cerca utente"
+reply: "Rispondi"
+loadMore: "Mostra di più"
+showMore: "Mostra di più"
+showLess: "Chiudi"
+youGotNewFollower: "Ha iniziato a seguirti"
+receiveFollowRequest: "Hai ricevuto una richiesta di follow."
+followRequestAccepted: "Richiesta di follow accettata"
+mention: "Menzioni"
+mentions: "Menzioni"
+directNotes: "Note dirette"
+importAndExport: "Importa ed esporta"
+import: "Importa"
+export: "Esporta"
+files: "Allegati"
+download: "Scarica"
+driveFileDeleteConfirm: "Vuoi davvero eliminare il file「{name}? Anche gli allegati verranno eliminati."
+unfollowConfirm: "Vuoi davvero smettere di seguire {name}?"
+exportRequested: "Hai richiesto un'esportazione, e potrebbe volerci tempo. Quando sarà compiuta, il file verrà aggiunto direttamente al Drive."
+importRequested: "Hai richiesto un'importazione. Può volerci tempo. "
+lists: "Liste"
+noLists: "Nessuna lista"
+note: "Nota"
+notes: "Note"
+following: "Follows"
+followers: "Followers"
+followsYou: "Ti segue"
+createList: "Aggiungi una nuova lista"
+manageLists: "Gestisci liste"
+error: "Errore"
+somethingHappened: "Si è verificato un problema"
+retry: "Riprova"
+pageLoadError: "Caricamento pagina non riuscito. "
+pageLoadErrorDescription: "Questo viene normalmente causato dalla rete o dalla cache del browser. Si prega di pulire la cache, o di attendere e riprovare più tardi."
+serverIsDead: "Il server non risponde. Si prega di attendere e riprovare più tardi."
+youShouldUpgradeClient: "Per visualizzare la pagina è necessario aggiornare il client alla nuova versione e ricaricare."
+enterListName: "Nome della lista"
+privacy: "Privacy"
+makeFollowManuallyApprove: "Richiedi di approvare i follower manualmente"
+defaultNoteVisibility: "Privacy predefinita delle note"
+follow: "Segui"
+followRequest: "Richiesta di follow"
+followRequests: "Richieste di follow"
+unfollow: "Smetti di seguire"
+followRequestPending: "La richiesta di follow deve essere approvata"
+enterEmoji: "Inserisci emoji"
+renote: "Rinota"
+unrenote: "Annulla rinota"
+renoted: "Rinotato!"
+cantRenote: "È impossibile rinotare questa nota."
+cantReRenote: "È impossibile rinotare una Rinota."
+quote: "Cita"
+pinnedNote: "Nota fissata"
+pinned: "Fissa sul profilo"
+you: "Tu"
+clickToShow: "Clicca per visualizzare"
+sensitive: "Contenuto sensibile"
+add: "Aggiungi"
+reaction: "Reazione"
+reactionSetting: "Reazioni visualizzate sul pannello"
+reactionSettingDescription2: "Trascina per riorganizzare, clicca per cancellare, usa il pulsante \"+\" per aggiungere."
+rememberNoteVisibility: "Ricordare le impostazioni di visibilità delle note"
+attachCancel: "Rimuovi allegato"
+markAsSensitive: "Segna come sensibile"
+unmarkAsSensitive: "Segna come non sensibile"
+enterFileName: "Nome del file"
+mute: "Silenzia"
+unmute: "Riattiva"
+block: "Blocca"
+unblock: "Sblocca"
+suspend: "Sospendi"
+unsuspend: "Annulla la sospensione dell'account"
+blockConfirm: "Vuoi davvero bloccare l'account?"
+unblockConfirm: "Vuoi davvero sbloccare l'account?"
+suspendConfirm: "Vuoi davvero sospendere questo account?"
+unsuspendConfirm: "Vuoi annullare la sospensione dell'account?"
+selectList: "Seleziona una lista"
+selectAntenna: "Scegli un'antenna"
+selectWidget: "Seleziona widget"
+editWidgets: "Modifica i widget"
+editWidgetsExit: "Modifica fine"
+customEmojis: "Emoji personalizzati"
+emoji: "Emoji"
+emojis: "Emoji"
+emojiName: "Nome dell'emoji"
+emojiUrl: "URL dell'emoji"
+addEmoji: "Aggiungi un emoji"
+settingGuide: "Configurazione suggerita"
+cacheRemoteFiles: "Memorizzazione nella cache dei file remoti"
+cacheRemoteFilesDescription: "Disabilitando questa opzione, i file remoti verranno linkati direttamente senza essere memorizzati nella cache. Sarà possibile risparmiare spazio di archiviazione sul server, ma il traffico aumenterà in quanto non verranno generate anteprime."
+flagAsBot: "Io sono un robot"
+flagAsBotDescription: "Se l'account esegue principalmente operazioni automatiche, attiva quest'opzione. Quando attivata, opera come un segnalatore per gli altri sviluppatori allo scopo di prevenire catene d’interazione senza fine con altri bot, e di adeguare i sistemi interni di Misskey perché trattino questo account come un bot."
+flagAsCat: "Io sono un gatto"
+flagAsCatDescription: "Abilita l'opzione \"Io sono un gatto\" per l'account."
+autoAcceptFollowed: "Accetta automaticamente le richieste di follow da utenti che già segui"
+addAccount: "Aggiungi account"
+loginFailed: "Accesso non riuscito"
+showOnRemote: "Sfoglia sull'istanza remota"
+general: "Generali"
+wallpaper: "Sfondo"
+setWallpaper: "Imposta sfondo"
+removeWallpaper: "Elimina lo sfondo"
+searchWith: "Cerca: {q}"
+youHaveNoLists: "Non hai ancora creato nessuna lista"
+followConfirm: "Sei sicur@ di voler seguire {name}?"
+proxyAccount: "Account proxy"
+proxyAccountDescription: "Un account proxy è un account che funziona da follower remoto per gli utenti sotto certe condizioni. Ad esempio, quando un utente aggiunge un utente remoto alla lista, dato che se nessun utente locale segue quell'utente le sue attività non verranno distribuite, al suo posto lo seguirà un account proxy."
+host: "Server remoto"
+selectUser: "Seleziona utente"
+recipient: "Destinatario"
+annotation: "Descrizione"
+federation: "Federazione"
+instances: "Istanza"
+registeredAt: "Registrato presso"
+latestRequestSentAt: "Ultima richiesta inviata"
+latestRequestReceivedAt: "Ultima richiesta ricevuta"
+latestStatus: "Ultimo stato"
+storageUsage: "Volume di dischi"
+charts: "Grafici"
+perHour: "All'ora"
+perDay: "al giorno"
+stopActivityDelivery: "Interrompi la distribuzione di attività"
+blockThisInstance: "Blocca l'istanza"
+operations: "Operazioni"
+software: "Software"
+version: "Versione"
+metadata: "Metadato"
+withNFiles: "{n} file in allegato"
+monitor: "Monitorare"
+jobQueue: "Coda di lavoro"
+cpuAndMemory: "CPU e Memoria"
+network: "Rete"
+disk: "Disco"
+instanceInfo: "Informazioni sull'istanza"
+statistics: "Statistiche"
+clearQueue: "Svuota coda"
+clearQueueConfirmTitle: "Vuoi davvero svuotare la coda?"
+clearQueueConfirmText: "Le note ancora non distribuite non verranno rilasciate. Solitamente, non è necessario eseguire questa operazione."
+clearCachedFiles: "Svuota cache"
+clearCachedFilesConfirm: "Vuoi davvero svuotare la cache da tutti i file remoti?"
+blockedInstances: "Istanze bloccate"
+blockedInstancesDescription: "Elenca le istanze che vuoi bloccare, una per riga. Esse non potranno più interagire con la tua istanza."
+muteAndBlock: "Silenziati / Bloccati"
+mutedUsers: "Account silenziati"
+blockedUsers: "Account bloccati"
+noUsers: "Nessun utente trovato"
+editProfile: "Modifica profilo"
+noteDeleteConfirm: "Eliminare questo Nota?"
+pinLimitExceeded: "Non puoi fissare altre note "
+intro: "L'installazione di Misskey è finita! Si prega di creare un account amministratore."
+done: "Fine"
+processing: "In elaborazione"
+preview: "Anteprima"
+default: "Predefinito"
+noCustomEmojis: "Nessun emoji"
+noJobs: "Nessun lavoro"
+federating: "Federando"
+blocked: "Bloccato"
+suspended: "Sospes@"
+all: "Tutti"
+subscribing: "Iscrivendo"
+publishing: "Pubblicando"
+notResponding: "Nessuna risposta"
+instanceFollowing: "Seguiti dall'istanza"
+instanceFollowers: "Followers dell'istanza"
+instanceUsers: "Utenti dell'istanza"
+changePassword: "Aggiorna Password"
+security: "Sicurezza"
+retypedNotMatch: "Le password non corrispondono."
+currentPassword: "Password attuale"
+newPassword: "Nuova Password"
+newPasswordRetype: "Conferma password"
+attachFile: "Allega file"
+more: "Altri!"
+featured: "Tendenze"
+usernameOrUserId: "Nome utente o ID utente"
+noSuchUser: "Nessun utente trovato"
+lookup: "Cercare"
+announcements: "Annunci"
+imageUrl: "URL dell'immagine"
+remove: "Elimina"
+removed: "Il tuo Tweet è stato eliminato"
+removeAreYouSure: "Eliminare \"{x}\"?"
+deleteAreYouSure: "Eliminare \"{x}\"?"
+resetAreYouSure: "Reimposta"
+saved: "Salvato"
+messaging: "Messaggi"
+upload: "Carica"
+fromDrive: "Dal Drive"
+fromUrl: "Dall'URL"
+uploadFromUrl: "Incolla URL immagine"
+uploadFromUrlDescription: "URL del file che vuoi caricare"
+uploadFromUrlRequested: "Caricamento richiesto"
+uploadFromUrlMayTakeTime: "Il caricamento del file può richiedere tempo."
+explore: "Esplora"
+messageRead: "Visualizzato"
+noMoreHistory: "Non c'è più cronologia da visualizzare"
+startMessaging: "Nuovo messaggio"
+nUsersRead: "Letto da {n} persone"
+agreeTo: "Sono d'accordo con {0}"
+tos: "Termini di servizio"
+start: "Inizia!"
+home: "Home"
+remoteUserCaution: "Può darsi che le informazioni siano incomplete perché questo è un utente remoto."
+activity: "Attività"
+images: "Immagini"
+birthday: "Compleanno"
+yearsOld: "{age}Anni"
+registeredDate: "Iscrizione a.."
+location: "Posizione"
+theme: "Tema"
+themeForLightMode: "Tema da utilizzare per il modo chiaro"
+themeForDarkMode: "Tema da utilizzare per il modo scuro"
+light: "Chiaro"
+dark: "Scuro"
+lightThemes: "Tema Chiaro"
+darkThemes: "Tema Scuro"
+syncDeviceDarkMode: "Sincronizza il tema scuro con le impostazioni del dispositivo"
+drive: "Drive"
+fileName: "Nome dell'allegato"
+selectFile: "Scelta allegato"
+selectFiles: "Scelta allegato"
+selectFolder: "Seleziona cartella"
+selectFolders: "Seleziona cartella"
+renameFile: "Rinomina file"
+folderName: "Nome della cartella"
+createFolder: "Nuova cartella"
+renameFolder: "Rinominare cartella"
+deleteFolder: "Elimina cartella"
+addFile: "Allega"
+emptyDrive: "Il Drive è vuoto"
+emptyFolder: "La cartella è vuota"
+unableToDelete: "Eliminazione impossibile"
+inputNewFileName: "Inserisci nome del nuovo file"
+inputNewDescription: "Inserisci una nuova descrizione"
+inputNewFolderName: "Inserisci nome della nuova cartella"
+circularReferenceFolder: "La cartella di destinazione è una sottocartella della cartella che vuoi spostare."
+hasChildFilesOrFolders: "Impossibile eliminare la cartella perché non è vuota"
+copyUrl: "Copia URL"
+rename: "Modifica nome"
+avatar: "Foto del profilo"
+banner: "Intestazione"
+nsfw: "Contenuti sensibili"
+whenServerDisconnected: "Quando la connessione col server è persa"
+disconnectedFromServer: "Disconness@ dal server"
+reload: "Ricarica"
+doNothing: "Nessun'azione"
+reloadConfirm: "Vuoi ricaricare?"
+watch: "Osserva"
+unwatch: "Smetti di Osserva"
+accept: "Accetta"
+reject: "Rifiuta"
+normal: "Normale"
+instanceName: "Nome dell'istanza"
+instanceDescription: "Descrizione dell'istanza"
+maintainerName: "Nome dell'Amministratore"
+maintainerEmail: "Indirizzo e-mail dell'Amministratore"
+tosUrl: "Termini di servizio URL"
+thisYear: "Anno"
+thisMonth: "Mese"
+today: "Oggi"
+dayX: "{day}"
+monthX: "{month}"
+yearX: "{year}"
+pages: "Pagine"
+integration: "App collegate"
+connectService: "Connessione"
+disconnectService: "Disconnessione "
+enableLocalTimeline: "Abilita Timeline locale"
+enableGlobalTimeline: "Abilita Timeline federata"
+disablingTimelinesInfo: "Anche se disabiliti queste timeline, gli amministratori e i moderatori potranno sempre accederci."
+registration: "Iscriviti"
+enableRegistration: "Permettere nuove registrazioni"
+invite: "Invita"
+driveCapacityPerLocalAccount: "Volume del Drive per utente locale"
+driveCapacityPerRemoteAccount: "Volume del Drive per utente remoto"
+inMb: "in Megabytes"
+iconUrl: "URL di icona (favicon, ecc.)"
+bannerUrl: "URL dell'immagine d'intestazione"
+backgroundImageUrl: "URL dello sfondo"
+basicInfo: "Informazioni fondamentali"
+pinnedUsers: "Utenti in evidenza"
+pinnedUsersDescription: "Elenca gli/le utenti che vuoi fissare in cima alla pagina \"Esplora\", un@ per riga."
+pinnedPages: "Pagine in evidenza"
+pinnedPagesDescription: "Specifica il percorso delle pagine che vuoi fissare in cima alla pagina dell'istanza. Una pagina per riga."
+pinnedClipId: "ID della clip in evidenza"
+pinnedNotes: "Nota fissata"
+hcaptcha: "hCaptcha"
+enableHcaptcha: "Abilita hCaptcha"
+hcaptchaSiteKey: "Chiave del sito"
+hcaptchaSecretKey: "Chiave segreta"
+recaptcha: "reCAPTCHA"
+enableRecaptcha: "Abilita reCAPTCHA"
+recaptchaSiteKey: "Chiave del sito"
+recaptchaSecretKey: "Chiave segreta"
+avoidMultiCaptchaConfirm: "Utilizzare diversi Captcha può causare interferenze. Vuoi disattivare l'altro Captcha? Puoi lasciare diversi Captcha attivi premendo \"Cancella\"."
+antennas: "Antenne"
+manageAntennas: "Gestore delle antenne"
+name: "Nome"
+antennaSource: "Fonte dell'antenna"
+antennaKeywords: "Parole chiavi da ricevere"
+antennaExcludeKeywords: "Parole chiavi da escludere"
+antennaKeywordsDescription: "Separare con uno spazio indica la condizione \"E\". Separare con un'interruzzione riga indica la condizione \"O\"."
+notifyAntenna: "Invia notifiche delle nuove note"
+withFileAntenna: "Solo note con file in allegato"
+enableServiceworker: "Abilita ServiceWorker"
+antennaUsersDescription: "Inserisci solo un nome utente per riga"
+caseSensitive: "Sensibile alla distinzione tra maiuscole e minuscole"
+withReplies: "Includere le risposte"
+connectedTo: "Sei conness@ agli account qui sotto:"
+notesAndReplies: "Note e risposte"
+withFiles: "Con file in allegato"
+silence: "Silenzia"
+silenceConfirm: "Vuoi davvero silenziare l'utente?"
+unsilence: "Riattiva"
+unsilenceConfirm: "Vuoi davvero riattivare l'utente?"
+popularUsers: "Utenti popolari"
+recentlyUpdatedUsers: "Utenti attivi di recente"
+recentlyRegisteredUsers: "Utenti registrati di recente"
+recentlyDiscoveredUsers: "Utenti scoperti di recente"
+exploreUsersCount: "Ci sono {count} utenti"
+exploreFediverse: "Esplora il Fediverso"
+popularTags: "Tag di tendenza"
+userList: "Liste"
+about: "Informazioni"
+aboutMisskey: "Informazioni di Misskey"
+administrator: "Amministratore"
+token: "Token"
+twoStepAuthentication: "Autenticazione a due fattori"
+moderator: "Moderatore"
+nUsersMentioned: "{n} utenti menzionatə"
+securityKey: "Chiave di sicurezza"
+securityKeyName: "Nome della chiave"
+registerSecurityKey: "Registra una chiave di sicurezza"
+lastUsed: "Ultima attività"
+unregister: "Annulla l'iscrizione"
+passwordLessLogin: "Accedi senza password"
+resetPassword: "Reimposta password"
+newPasswordIs: "La tua nuova password è「{password}」"
+reduceUiAnimation: "Ridurre le animazioni dell'interfaccia"
+share: "Condividi"
+notFound: "Non trovato"
+notFoundDescription: "Nessuna pagina corrisponde all'URL indicata."
+uploadFolder: "Destinazione caricamento predefinita"
+cacheClear: "Svuota cache"
+markAsReadAllNotifications: "Segna tutte le notifiche come lette"
+markAsReadAllUnreadNotes: "Segna tutte le note come lette"
+markAsReadAllTalkMessages: "Segna tutte le chat come lette"
+help: "Guida"
+inputMessageHere: "Scrivi messaggio qui"
+close: "Chiudi"
+group: "Gruppo"
+groups: "Gruppi"
+createGroup: "Nuovo gruppo"
+ownedGroups: "I miei gruppi"
+joinedGroups: "Gruppi a cui mi sono unit@"
+invites: "Inviti"
+groupName: "Nome del gruppo"
+members: "Membri"
+transfer: "Trasferisci"
+messagingWithUser: "Iniziare una chat con un altr@ utente"
+messagingWithGroup: "Chattare in gruppo"
+title: "Titolo"
+text: "Testo"
+enable: "Abilita"
+next: "Avanti"
+retype: "Conferma"
+noteOf: "Note di {user}"
+inviteToGroup: "Invitare al gruppo"
+quoteAttached: "Citazione allegata"
+quoteQuestion: "Vuoi aggiungere una citazione?"
+noMessagesYet: "Ancora nessuna chat"
+newMessageExists: "Hai ricevuto un nuovo messaggio"
+onlyOneFileCanBeAttached: "È possibile allegare al messaggio soltanto uno file"
+signinRequired: "Devi essere registrat@ nel tuo account"
+invitations: "Invita"
+invitationCode: "Codice di invito"
+checking: "Confermando"
+available: "Consigliati"
+unavailable: "Il nome utente è già in uso"
+usernameInvalidFormat: "Il nome utente può contenere solo lettere, numeri e '_'"
+tooShort: "Troppo breve"
+tooLong: "Troppo lungo"
+weakPassword: "Password debole"
+normalPassword: "Password buona"
+strongPassword: "Password forte"
+passwordMatched: "Corretta"
+passwordNotMatched: "Le password non corrispondono."
+signinWith: "Accedi con {x}"
+signinFailed: "Autenticazione non riuscita. Controlla la tua password e nome utente."
+tapSecurityKey: "Premi la chiave di sicurezza"
+or: "oppure"
+language: "Lingua"
+uiLanguage: "Lingua di visualizzazione dell'interfaccia"
+groupInvited: "Invitat@ al gruppo"
+aboutX: "Informazioni su {x}"
+useOsNativeEmojis: "Usare le emoji native del sistema operativo"
+disableDrawer: "Non mostrare il menù sul drawer"
+youHaveNoGroups: "Nessun gruppo"
+joinOrCreateGroup: "Puoi creare il tuo gruppo o essere invitat@ a gruppi che già esistono."
+noHistory: "Nessuna cronologia"
+signinHistory: "Cronologia di accesso all'account"
+disableAnimatedMfm: "Disabilità i MFM animati"
+doing: "In corso..."
+category: "Categoria"
+tags: "Tag"
+docSource: "Sorgente della scheda"
+createAccount: "Crea il tuo account"
+existingAccount: "Account esistente"
+regenerate: "Generare di nuovo"
+fontSize: "Dimensione carattere"
+noFollowRequests: "Non hai alcuna richiesta di follow"
+openImageInNewTab: "Aprire immagini in una nuova scheda"
+dashboard: "Pannello di controllo"
+local: "Locale"
+remote: "Remoto"
+total: "Totale"
+weekOverWeekChanges: "Settimanale"
+dayOverDayChanges: "Giornaliero"
+appearance: "Aspetto"
+clientSettings: "Impostazioni client"
+accountSettings: "Impostazioni account"
+promotion: "Promossa"
+promote: "Pubblicizza"
+numberOfDays: "Numero di giorni"
+hideThisNote: "Nasconda la nota"
+showFeaturedNotesInTimeline: "Mostrare le note di tendenza nella tua timeline"
+objectStorage: "Stoccaggio oggetti"
+useObjectStorage: "Utilizza stoccaggio oggetti"
+objectStorageBaseUrl: "Base URL"
+objectStorageBaseUrlDesc: "URL di riferimento. In caso di utilizzo di proxy o CDN l'URL è 'https://.s3.amazonaws.com' per S3, 'https://storage.googleapis.com/' per GCS eccetera. "
+objectStorageBucket: "Bucket"
+objectStorageBucketDesc: "Specificare il nome del bucket utilizzato dal provider."
+objectStoragePrefix: "Prefix"
+objectStoragePrefixDesc: "I file saranno conservati sotto la directory di questo prefisso."
+objectStorageEndpoint: "Endpoint"
+objectStorageEndpointDesc: "Lasciare vuoto se si sta utilizzando S3. In caso contrario si prega di specificare l'endpoint come '' oppure ':' a seconda del servizio utilizzato."
+objectStorageRegion: "Region"
+objectStorageRegionDesc: "Specificate una regione, quale 'xx-east-1'. Se il servizio in utilizzo non distingue tra regioni, lasciate vuoto o inserite 'us-east-1'."
+objectStorageUseSSL: "Usare SSL"
+objectStorageUseSSLDesc: "Disabilita quest'opzione se non utilizzi HTTPS per le connessioni API."
+objectStorageUseProxy: "Usa proxy"
+objectStorageUseProxyDesc: "Disabilita quest'opzione se non usi proxy per la connessione API."
+objectStorageSetPublicRead: "Imposta \"visibilità pubblica\" al momento di caricare"
+serverLogs: "Log del server"
+deleteAll: "Cancella cronologia"
+showFixedPostForm: "Visualizzare la finestra di pubblicazione in cima alla timeline"
+newNoteRecived: "Vedi le nuove note"
+sounds: "Impostazioni suoni"
+listen: "Ascolta"
+none: "Niente"
+showInPage: "Visualizza in pagina"
+popout: "Finestra pop-out"
+volume: "Volume"
+masterVolume: "Volume principale"
+details: "Dettagli"
+chooseEmoji: "Scegli emoji"
+unableToProcess: "Impossibile compiere l'operazione"
+recentUsed: "Usato di recente"
+install: "Installa"
+uninstall: "Disinstalla"
+installedApps: "Applicazioni installate"
+nothing: "Niente da visualizzare"
+installedDate: "Data installazione"
+lastUsedDate: "Data di ultimo uso"
+state: "Stato"
+sort: "Ordina per"
+ascendingOrder: "Ascendente"
+descendingOrder: "Discendente"
+scratchpad: "ScratchPad"
+scratchpadDescription: "Lo Scratchpad offre un ambiente per esperimenti di AiScript. È possibile scrivere, eseguire e confermare i risultati dell'interazione del codice con Misskey."
+output: "Uscita"
+script: "Script"
+disablePagesScript: "Disabilita AiScript nelle pagine"
+updateRemoteUser: "Aggiornare le informazioni di utente remot@"
+deleteAllFiles: "Elimina tutti i file"
+deleteAllFilesConfirm: "Vuoi davvero eliminare tutti i file?"
+removeAllFollowing: "Cancella tutti i follows"
+removeAllFollowingDescription: "Cancella tutti i follows del server {host}. Per favore, esegui se, ad esempio, l'istanza non esiste più."
+userSuspended: "L'utente è sospes@."
+userSilenced: "L'utente è silenziat@."
+yourAccountSuspendedTitle: "Questo account è sospeso."
+yourAccountSuspendedDescription: "Questo account è stato sospeso a causa di una violazione dei termini di servizio del server. Contattare l'amministrazione per i dettagli. Si prega di non creare un nuovo account."
+menu: "Menù"
+divider: "Linea di separazione"
+addItem: "Aggiungi elemento"
+relays: "Ripetitori"
+addRelay: "Aggiungi ripetitore"
+inboxUrl: "Inbox URL"
+addedRelays: "Ripetitori configurati"
+serviceworkerInfo: "Deve essere abilitato per le notifiche push. "
+deletedNote: "Nota eliminata"
+invisibleNote: "Nota invisibile"
+enableInfiniteScroll: "Abilita scorrimento infinito"
+visibility: "Visibilità"
+poll: "Sondaggio"
+useCw: "Nascondere media"
+enablePlayer: "Apri in lettore video"
+disablePlayer: "Chiudi lettore video"
+expandTweet: "Espandi tweet"
+themeEditor: "Editor di temi"
+description: "Descrizione"
+describeFile: "Aggiungi una descrizione d'immagine"
+enterFileDescription: "Inserisci descrizione"
+author: "Autore"
+leaveConfirm: "Ci sono delle modifiche ancora non salvate. Vuoi cancellarle?"
+manage: "Gestione"
+plugins: "Estensioni"
+deck: "Deck"
+undeck: "Esci dal deck"
+useBlurEffectForModal: "Utilizza effetto sfocatura per i modali"
+useFullReactionPicker: "Usa la totalità del pannello di reazioni"
+width: "Larghezza"
+height: "Altezza"
+large: "Grande"
+medium: "Predefinito"
+small: "Piccolo"
+generateAccessToken: "Genera token di accesso"
+permission: "Autorizzazioni "
+enableAll: "Abilita tutto"
+disableAll: "Disabilita tutto"
+tokenRequested: "Autorizza accesso all'account"
+pluginTokenRequestedDescription: "Il plugin potrà utilizzare le autorizzazioni impostate qui."
+notificationType: "Tipo di notifiche"
+edit: "Modifica"
+useStarForReactionFallback: "Se è sconosciuto l'emoji di reazione, usare la ★ come alternativa."
+emailServer: "Server email"
+enableEmail: "Abilita consegna email"
+emailConfigInfo: "Utilizzato per verificare il tuo indirizzo di posta elettronica e per reimpostare la tua password"
+email: "Email"
+emailAddress: "Indirizzo di posta elettronica"
+smtpConfig: "Impostazioni del server SMTP"
+smtpHost: "Server remoto"
+smtpPort: "Porta"
+smtpUser: "Nome utente"
+smtpPass: "Password"
+emptyToDisableSmtpAuth: "Lasciare il nome utente e la password vuoti per disabilitare la verifica SMTP"
+smtpSecure: "Usare la porta SSL/TLS implicito per le connessioni SMTP"
+smtpSecureInfo: "Disabilitare quando è attivo STARTTLS."
+testEmail: "Testare la consegna di posta elettronica"
+wordMute: "Filtri parole"
+instanceMute: "Silenzia l'istanza"
+userSaysSomething: "{name} ha detto qualcosa"
+makeActive: "Attiva"
+display: "Visualizza"
+copy: "Copia"
+metrics: "Statistiche"
+overview: "Anteprima"
+logs: "Log"
+delayed: "Ritardo"
+database: "Base di dati"
+channel: "Canale"
+create: "Crea"
+notificationSetting: "Impostazioni notifiche"
+notificationSettingDesc: "Seleziona il tipo di notifiche da visualizzare."
+useGlobalSetting: "Usa impostazioni generali"
+useGlobalSettingDesc: "Se abilitato, le impostazioni notifiche dell'account verranno utilizzate. Se disabilitato, si possono definire diverse singole impostazioni."
+other: "Avanzate"
+regenerateLoginToken: "Genera di nuovo un token di connessione"
+regenerateLoginTokenDescription: "Genera un nuovo token di autenticazione. Solitamente questa operazione non è necessaria: quando si genera un nuovo token, tutti i dispositivi vanno disconnessi."
+setMultipleBySeparatingWithSpace: "È possibile creare multiple voci separate da spazi."
+fileIdOrUrl: "ID o URL del file"
+behavior: "Comportamento"
+sample: "Esempio"
+abuseReports: "Segnalazioni"
+reportAbuse: "Segnalazioni"
+reportAbuseOf: "Segnala {name}"
+fillAbuseReportDescription: "Si prega di spiegare il motivo della segnalazione. Se riguarda una nota precisa, si prega di collegare anche l'URL della nota."
+abuseReported: "La segnalazione è stata inviata. Grazie."
+reporter: "il corrispondente"
+reporteeOrigin: "Origine del segnalato"
+reporterOrigin: "Origine del segnalatore"
+send: "Inviare"
+abuseMarkAsResolved: "Contrassegna la segnalazione come risolta"
+openInNewTab: "Apri in una nuova scheda"
+openInSideView: "Apri in vista laterale"
+defaultNavigationBehaviour: "Navigazione preimpostata"
+editTheseSettingsMayBreakAccount: "Modificare queste impostazioni può danneggiare l'account."
+instanceTicker: "Informazioni sull'istanza da cui vengono le note"
+waitingFor: "Aspettando {x}"
+random: "Casuale"
+system: "Sistema"
+switchUi: "Cambiare interfaccia utente"
+desktop: "Desktop"
+clip: "Clip"
+createNew: "Crea nuov@"
+optional: "Opzionale"
+createNewClip: "Nuova clip"
+public: "Pubblica"
+i18nInfo: "Misskey è tradotto in diverse lingue da volontari. Anche tu puoi contribuire su {link}."
+manageAccessTokens: "Gestisci token di accesso"
+accountInfo: "Informazioni account"
+notesCount: "Conteggio note"
+repliesCount: "Numero di risposte inviate"
+renotesCount: "Numero di note che hai ricondiviso"
+repliedCount: "Numero di risposte ricevute"
+renotedCount: "Numero delle tue note ricondivise"
+followingCount: "Numero di account seguiti"
+followersCount: "Numero di account che ti seguono"
+sentReactionsCount: "Numero di reazioni inviate"
+receivedReactionsCount: "Numero di reazioni ricevute"
+pollVotesCount: "Numero di voti inviati"
+pollVotedCount: "Numero di voti ricevuti"
+yes: "Sì"
+no: "No"
+driveFilesCount: "Numero di file nel Drive"
+driveUsage: "Utilizzazione del Drive"
+noCrawle: "Rifiuta l'indicizzazione dai robot."
+noCrawleDescription: "Richiedi che i motori di ricerca non indicizzino la tua pagina di profilo, le tue note, pagine, ecc."
+lockedAccountInfo: "A meno che non imposti la visibilità delle tue note su \"Solo ai follower\", le tue note sono visibili da tutti, anche se hai configurato l'account per confermare manualmente le richieste di follow."
+alwaysMarkSensitive: "Segnare i media come sensibili per impostazione predefinita"
+loadRawImages: "Visualizza le intere immagini allegate invece delle miniature."
+disableShowingAnimatedImages: "Disabilita le immagini animate"
+verificationEmailSent: "Una mail di verifica è stata inviata. Si prega di accedere al collegamento per compiere la verifica."
+notSet: "Non impostato"
+emailVerified: "Il tuo indirizzo email è stato verificato"
+noteFavoritesCount: "Conteggio note tra i preferiti"
+pageLikesCount: "Numero di pagine che ti piacciono"
+pageLikedCount: "Numero delle tue pagine che hanno ricevuto \"Mi piace\""
+contact: "Contatti"
+useSystemFont: "Usa il carattere predefinito del sistema"
+clips: "Clip"
+experimentalFeatures: "Funzioni sperimentali"
+developer: "Sviluppatore"
+makeExplorable: "Account visibile sulla pagina \"Esplora\""
+makeExplorableDescription: "Se disabiliti l'opzione, il tuo account non verrà visualizzato sulla pagina \"Esplora\"."
+showGapBetweenNotesInTimeline: "Mostrare un intervallo tra le note sulla timeline"
+duplicate: "Duplica"
+left: "Sinistra"
+center: "Centro"
+wide: "Largo"
+reloadToApplySetting: "Le tue preferenze verranno impostate dopo il ricaricamento della pagina. Vuoi ricaricare adesso?"
+needReloadToApply: "È necessario riavviare per rendere effettive le modifiche."
+showTitlebar: "Visualizza la barra del titolo"
+clearCache: "Svuota cache"
+onlineUsersCount: "{n} utenti online"
+nUsers: "{n} utenti"
+nNotes: "{n}Note"
+sendErrorReports: "Invia segnalazioni di errori"
+sendErrorReportsDescription: "Quando abilitato, se si verifica un problema, informazioni dettagliate sugli errori verranno condivise con Misskey in modo da aiutare a migliorare la qualità del software.\nCiò include informazioni come la versione del sistema operativo, il tipo di navigatore web che usi, la cronologia delle attività, ecc."
+myTheme: "I miei temi"
+backgroundColor: "Sfondo"
+textColor: "Testo"
+saveAs: "Salva con nome"
+value: "Valore"
+createdAt: "Data di creazione"
+updatedAt: "Aggiornato il"
+saveConfirm: "Vuoi salvare le modifiche?"
+deleteConfirm: "Rimuovere?"
+invalidValue: "Questo non è un valore valido."
+registry: "Registro"
+closeAccount: "Disattiva account"
+currentVersion: "Versione attuale"
+latestVersion: "Ultima versione"
+youAreRunningUpToDateClient: "Stai usando la versione più recente del client."
+newVersionOfClientAvailable: "Una nuova versione del tuo client è disponibile."
+usageAmount: "In utilizzo"
+capacity: "Capacità"
+inUse: "In utilizzo"
+editCode: "Modifica codice"
+apply: "Applica"
+receiveAnnouncementFromInstance: "Ricevi i messaggi informativi dall'istanza"
+emailNotification: "Eventi per notifiche via mail"
+publish: "Pubblico"
+inChannelSearch: "Cerca in canale"
+useReactionPickerForContextMenu: "Cliccare sul tasto destro per aprire il pannello di reazioni"
+typingUsers: "{users} sta(nno) scrivendo"
+jumpToSpecifiedDate: "Vai alla data "
+showingPastTimeline: "Stai visualizzando una vecchia timeline"
+clear: "Cancella"
+markAllAsRead: "Segna tutti come già letti"
+goBack: "Indietro"
+unlikeConfirm: "Non ti piace più?"
+fullView: "Schermo intero"
+quitFullView: "Esci dalla modalità a schermo intero"
+addDescription: "Aggiungi descrizione"
+userPagePinTip: "Qui puoi appuntare note, premendo \"Fissa sul profilo\" nel menù delle singole note."
+notSpecifiedMentionWarning: "Sono menzionati account che non vengono inclusi fra i destinatari"
+info: "Informazioni"
+userInfo: "Informazioni utente"
+unknown: "Sconosciuto"
+onlineStatus: "Stato di connessione"
+hideOnlineStatus: "Stato invisibile"
+hideOnlineStatusDescription: "Abilitare l'opzione di stato invisibile può guastare la praticità di singole funzioni, come la ricerca."
+online: "Online"
+active: "Attiv@"
+offline: "Offline"
+notRecommended: "Sconsigliato"
+botProtection: "Protezione contro i bot"
+instanceBlocking: "Istanze bloccate"
+selectAccount: "Scegli account"
+enabled: "Attivo"
+disabled: "Inattivo"
+quickAction: "Azioni rapide"
+user: "Utente"
+administration: "Gestione"
+accounts: "Account"
+switch: "Sostituisci"
+noMaintainerInformationWarning: "Le informazioni amministratore non sono impostate."
+noBotProtectionWarning: "Nessuna protezione impostata contro i bot."
+configure: "Imposta"
+postToGallery: "Pubblicare nella galleria"
+gallery: "Galleria"
+recentPosts: "Le più recenti"
+popularPosts: "Le più visualizzate"
+shareWithNote: "Condividere in nota"
+ads: "Pubblicità"
+expiration: "Scadenza"
+memo: "Promemoria"
+priority: "Priorità"
+high: "Alta"
+middle: "Media"
+low: "Bassa"
+emailNotConfiguredWarning: "Non hai impostato nessun indirizzo e-mail."
+ratio: "Rapporto"
+previewNoteText: "Anteprima del testo"
+customCss: "CSS personalizzato"
+global: "Federata"
+squareAvatars: "Mostra l'immagine del profilo come quadrato"
+sent: "Inviare"
+received: "Ricevuto"
+searchResult: "Risultati della Ricerca"
+hashtags: "Hashtag"
+troubleshooting: "Risoluzione problemi"
+useBlurEffect: "Utilizza effetto sfocatura per l'interfaccia utente"
+learnMore: "Più dettagli"
+misskeyUpdated: "Misskey è stato aggiornato!"
+whatIsNew: "Visualizza le informazioni sull'aggiornamento"
+translate: "Traduzione"
+translatedFrom: "Tradotto da {x}"
+accountDeletionInProgress: "La cancellazione dell'account è in corso"
+usernameInfo: "Un nome per identificare univocamente il tuo account sul server. È possibile utilizzare caratteri alfanumerici (a~z, A~Z, 0~9) e il trattino basso (_). Non sarà possibile cambiare il nome utente in seguito."
+aiChanMode: "Modalità Ai"
+keepCw: "Mantieni il CW"
+resolved: "Risolto"
+unresolved: "Non risolto"
+breakFollow: "Smetti di seguire"
+itsOn: "Abilitato"
+itsOff: "Disabilitato"
+emailRequiredForSignup: "È necessario un indirizzo mail per registrare un account"
+unread: "Non letto"
+filter: "Filtri"
+controlPanel: "Pannello di controllo"
+manageAccounts: "Gestisci account"
+classic: "Classico"
+muteThread: "Silenzia la discussione"
+unmuteThread: "Riattiva la discussione"
+deleteAccountConfirm: "L'account verrà cancellato. Procedere?"
+incorrectPassword: "La password è errata."
+voteConfirm: "Votare per「{choice}」?"
+hide: "Nascondere"
+leaveGroup: "Esci dal gruppo"
+leaveGroupConfirm: "Uscire da「{name}」?"
+useDrawerReactionPickerForMobile: "Mostra sul drawer da dispositivo mobile"
+welcomeBackWithName: "Bentornato/a, {name}"
+clickToFinishEmailVerification: "Fai click su [{ok}] per completare la verifica dell'indirizzo email."
+searchByGoogle: "Cerca"
+indefinitely: "Non scade"
+tenMinutes: "10 minuti"
+oneHour: "1 ora"
+oneDay: "1 giorno"
+oneWeek: "1 settimana"
+file: "Allegati"
+reverse: "Inverti"
+colored: "Colorato"
+label: "Etichetta"
+localOnly: "Soltanto locale"
+account: "Account"
+_emailUnavailable:
+ used: "Email già in uso"
+ format: "Formato email non valido"
+ disposable: "Email non riutilizzabile"
+ mx: "Server email non corretto"
+ smtp: "Il server email non risponde"
+_ffVisibility:
+ public: "Pubblico"
+ followers: "Mostra solo ai follower"
+ private: "Invisibile"
+_signup:
+ almostThere: "Quasi completo"
+ emailAddressInfo: "Inserisci il tuo indirizzo email. Non verrà reso pubblico."
+_accountDelete:
+ accountDelete: "Cancellazione account"
+ sendEmail: "Al termine della cancellazione dell'account, verrà inviata una mail all'indirizzo a cui era registrato."
+ requestAccountDelete: "Richiesta di cancellazione account"
+ started: "Il processo di cancellazione è iniziato."
+ inProgress: "Cancellazione in corso"
+_ad:
+ back: "Indietro"
+ reduceFrequencyOfThisAd: "Visualizza questa pubblicità meno spesso"
+_forgotPassword:
+ enterEmail: "Inserisci l'indirizzo di posta elettronica che hai registrato nel tuo profilo. Il collegamento necessario per ripristinare la password verrà inviato a questo indirizzo."
+ ifNoEmail: "Se nessun indirizzo e-mail è stato registrato, si prega di contattare l'amministratore·trice dell'istanza."
+ contactAdmin: "Poiché questa istanza non permette l'utilizzo di una mail, si prega di contattare l'amministratore·trice dell'istanza per poter ripristinare la password."
+_gallery:
+ my: "Le mie pubblicazioni"
+ liked: "Pubblicazioni che mi piacciono"
+ like: "Mi piace!"
+ unlike: "Non mi piace più"
+_email:
+ _follow:
+ title: "Ha iniziato a seguirti"
+ _receiveFollowRequest:
+ title: "Hai ricevuto una richiesta di follow"
+_plugin:
+ install: "Installa estensioni"
+ installWarn: "Si prega di installare soltanto estensioni che provengono da fonti affidabili."
+ manage: "Gestisci estensioni"
+_registry:
+ key: "Dati"
+ keys: "Dati"
+ domain: "Dominio"
+ createKey: "Crea chiave"
+_aboutMisskey:
+ about: "Misskey è un software libero e open source, sviluppato da syuilo dal 2014."
+ contributors: "Principali sostenitori"
+ allContributors: "Tutti i sostenitori"
+ source: "Codice sorgente"
+ translation: "Tradurre Misskey"
+ donate: "Sostieni Misskey"
+ morePatrons: "Apprezziamo sinceramente il supporto di tante altre persone. Grazie mille! 🥰"
+ patrons: "Sostenitori"
+_nsfw:
+ respect: "Nascondere i media segnati come sensibli"
+ ignore: "Visualizzare i media segnati come sensibili"
+ force: "Nascondere tutti i media"
+_mfm:
+ cheatSheet: "Bigliettino MFM"
+ intro: "MFM è un linguaggio Markdown particolare che si può usare in diverse parti di Misskey. Qui puoi visualizzare a colpo d'occhio tutta la sintassi MFM utile."
+ dummy: "Il Fediverso si espande con Misskey"
+ mention: "Menzioni"
+ mentionDescription: "Si può menzionare un utente specifico digitando il suo nome utente subito dopo il segno @."
+ hashtag: "Hashtag"
+ url: "URL"
+ link: "Link"
+ bold: "Grassetto"
+ blockCode: "Codice (blocco)"
+ inlineMath: "Espressione matematica(Immersione)"
+ blockMath: "Formula matematica (blocco)"
+ quote: "Cita il nota"
+ emoji: "Emoji personalizzati"
+ search: "Cerca"
+ flip: "Inverti"
+ jump: "Animazione(salto)"
+ jumpDescription: "Da un animazione che salta su e giù."
+ bounce: "Animazione(rimbalzo)"
+ bounceDescription: "Rende il testo rimbalzante"
+ shake: "rimbalzante"
+ shakeDescription: "Rende il testo traballante"
+ twitch: "testo"
+ twitchDescription: "Fa tremare il testo"
+ x2: "Più grande"
+ x2Description: "Mostra il contenuto ingrandito."
+ x3: "Molto più grande"
+ x3Description: "Mostra il contenuto molto più ingrandito."
+ x4: "Estremamente più grande"
+ x4Description: "Mostra il contenuto estremamente più ingrandito."
+ blur: "Sfocatura"
+ blurDescription: "È possibile rendere sfocato il contenuto. Spostando il cursore su di esso tornerà visibile chiaramente."
+ font: "Tipo di carattere"
+ fontDescription: "Puoi scegliere il tipo di carattere per il contenuto."
+ rainbow: "Arcobaleno"
+ rotate: "Ruota"
+_instanceTicker:
+ none: "Nascondi"
+ remote: "Mostra solo per gli/le utenti remotə"
+ always: "Mostra sempre"
+_serverDisconnectedBehavior:
+ reload: "Ricarica automaticamente"
+ dialog: "Apri avviso in finestra"
+ quiet: "Visualizza avviso in modo discreto"
+_channel:
+ create: "Nuovo canale"
+ edit: "Gerisci canale"
+ setBanner: "Scegli intestazione"
+ removeBanner: "Rimuovi intestazione"
+ featured: "Tendenze"
+ owned: "I miei canali"
+ following: "Seguiti"
+ usersCount: "{n} partecipanti"
+ notesCount: "{n} note"
+_menuDisplay:
+ hide: "Nascondere"
+_wordMute:
+ muteWords: "Parole da filtrare"
+ muteWordsDescription: "Separare con uno spazio indica la condizione \"E\". Separare con un'interruzzione riga indica la condizione \"O\"."
+ muteWordsDescription2: "Metti le parole chiavi tra slash per usare espressioni regolari (regexp)."
+ softDescription: "Nascondi della timeline note che rispondono alle condizioni impostate qui."
+ hardDescription: "Impedisci alla timeline di caricare le note che rispondono alle condizioni impostate qui. Inoltre, le note scompariranno in modo irreversibile, anche se le condizioni verranno successivamente rimosse."
+ soft: "Moderato"
+ hard: "Severo"
+ mutedNotes: "Note silenziate"
+_theme:
+ explore: "Esplora temi"
+ install: "Installa un tema"
+ manage: "Gerisci temi"
+ code: "Codice tema"
+ description: "Descrizione"
+ installed: "{name} è installato"
+ installedThemes: "Temi installati"
+ builtinThemes: "Temi integrati"
+ alreadyInstalled: "Questo tema è già installato"
+ invalid: "Il formato tema non è valido"
+ make: "Crea un tema"
+ base: "Base"
+ addConstant: "Aggiungi costante"
+ constant: "Costante"
+ defaultValue: "Valore predefinito"
+ color: "Colore"
+ refConst: "Chiama costante"
+ key: "Chiave"
+ func: "Funzione"
+ funcKind: "Tipo di funzione"
+ argument: "Argomento"
+ alpha: "Opacità"
+ darken: "Scuro"
+ lighten: "Chiaro"
+ inputConstantName: "Inserisci un nome per la costante"
+ deleteConstantConfirm: "Vuoi davvero eliminare la costante {const}?"
+ keys:
+ bg: "Sfondo"
+ fg: "Testo"
+ focus: "Focalizzazione"
+ indicator: "Indicatore"
+ panel: "Pannello"
+ shadow: "Ombra"
+ header: "Intestazione"
+ navBg: "Sfondo della barra laterale"
+ navFg: "Testo della barra laterale"
+ navHoverFg: "Testo della barra laterale (al passaggio del mouse)"
+ navActive: "Testo della barra laterale (attivo)"
+ navIndicator: "Indicatore di barra laterale"
+ link: "Link"
+ hashtag: "Hashtag"
+ mention: "Menzioni"
+ mentionMe: "Menzioni (di me)"
+ renote: "Rinota"
+ divider: "Interruzione di linea"
+ infoBg: "Sfondo informazioni"
+ infoFg: "Testo di informazioni"
+ infoWarnBg: "Sfondo degli avvisi"
+ infoWarnFg: "Testo di avviso"
+ cwBg: "Sfondo del CW"
+ cwFg: "Testo del pulsante CW"
+ cwHoverBg: "Sfondo del pulsante CW (sorvolato)"
+ toastBg: "Sfondo di notifica a comparsa"
+ toastFg: "Testo di notifica a comparsa"
+ buttonBg: "Sfondo del pulsante"
+ buttonHoverBg: "Sfondo del pulsante (sorvolato)"
+ inputBorder: "Inquadra casella di testo"
+ listItemHoverBg: "Sfondo della voce di elenco (sorvolato)"
+ driveFolderBg: "Sfondo della cartella di disco"
+ badge: "Distintivo"
+ messageBg: "Sfondo della chat"
+_sfx:
+ note: "Nota"
+ noteMy: "Mia nota"
+ notification: "Notifiche"
+ chat: "Messaggi"
+ chatBg: "Chat (sfondo)"
+ antenna: "Ricezione dell'antenna"
+ channel: "Notifiche di canale"
+_ago:
+ future: "Futuro"
+ justNow: "Ora"
+ secondsAgo: "{n}s fa"
+ minutesAgo: "{n}min fa"
+ hoursAgo: "{n}h fa"
+ daysAgo: "{1} giorni fa"
+ weeksAgo: "{n} settimane fa"
+ monthsAgo: "{n} mesi fa"
+ yearsAgo: "{n} anni fa"
+_time:
+ second: "s"
+ minute: "min"
+ hour: "ore"
+ day: "giorni"
+_tutorial:
+ title: "Come usare Misskey"
+ step1_1: "Benvenuto/a!"
+ step1_2: "Questa pagina si chiama una \" Timeline \". Mostra in ordine cronologico le \" note \" delle persone che segui."
+ step1_3: "Attualmente la tua Timeline è vuota perché non segui alcun account e non hai pubblicato alcuna nota ancora."
+ step2_1: "Prima di scrivere una nota o di seguire un account, imposta il tuo profilo!"
+ step2_2: "Aggiungere qualche informazione su di te aumenterà le tue possibilità di essere seguit@ da altre persone. "
+ step3_1: "Hai finito di impostare il tuo profilo?"
+ step3_2: "Ora, puoi pubblicare una nota. Facciamo una prova! Premi il pulsante a forma di penna in cima allo schermo per aprire una finestra di dialogo. "
+ step3_3: "Scritto il testo della nota, puoi pubblicarla premendo il pulsante nella parte superiore destra della finestra di dialogo."
+ step3_4: "Non ti viene niente in mente? Perché non scrivi semplicemente \"Ho appena cominciato a usare Misskey\"?"
+ step4_1: "Hai pubblicato qualcosa?"
+ step4_2: "Se puoi visualizzare la tua nota sulla timeline, ce l'hai fatta!"
+ step5_1: "Adesso, cerca di seguire altre persone per vivacizzare la tua timeline. "
+ step5_2: "La pagina {featured} mostra le note di tendenza su questa istanza, e magari ti aiuterà a trovare account che ti piacciono e che vorrai seguire. Oppure, potrai trovare utenti popolari usando {explore}."
+ step5_3: "Per seguire altrə utenti, clicca sul loro avatar per aprire la pagina di profilo dove puoi premere il pulsante \"Seguire\". "
+ step5_4: "Alcunə utenti scelgono di confermare manualmente le richieste di follow che ricevono, quindi a seconda delle persone potrebbe volerci un pò prima che la tua richiesta sia accolta."
+ step6_1: "Ora, se puoi visualizzare le note di altrə utenti sulla tua timeline, ce l'hai fatta!"
+ step6_2: "Puoi inviare una risposta rapida alle note di altrə utenti mandando loro \"reazioni\"."
+ step6_3: "Per inviare una reazione, premi l'icona + della nota e scegli l'emoji che vuoi mandare."
+ step7_1: "Complimenti! Sei arrivat@ alla fine dell'esercitazione di base su come usare Misskey. "
+ step7_2: "Se vuoi saperne di più su Misskey, puoi dare un'occhiata alla sezione {help}."
+ step7_3: "Da ultimo, buon divertimento su Misskey! 🚀"
+_2fa:
+ registerDevice: "Aggiungi dispositivo"
+_permissions:
+ "read:account": "Visualizzare le informazioni dell'account"
+ "write:account": "Modificare le informazioni dell'account"
+ "read:blocks": "Visualizza gli account bloccati"
+ "write:blocks": "Gestisci gli account bloccati"
+ "read:drive": "Aprire il Drive"
+ "write:drive": "Gestire il Drive"
+ "read:favorites": "Visualizza i tuoi preferiti"
+ "write:favorites": "Gestisci i tuoi preferiti"
+ "read:following": "Vedi le informazioni di follow"
+ "write:following": "Seguiti/ Smetti di seguire"
+ "read:messaging": "Visualizzare la chat"
+ "write:messaging": "Gestire la chat"
+ "read:mutes": "Vedi account silenziati"
+ "write:mutes": "Gerisci account silenziati"
+ "write:notes": "Creare / Eliminare note"
+ "read:notifications": "Visualizza notifiche"
+ "write:notifications": "Gerisci notifiche"
+ "read:reactions": "Vedi reazioni"
+ "write:reactions": "Gerisci reazioni"
+ "write:votes": "Votare"
+ "read:pages": "Visualizzare pagine"
+ "write:pages": "Gestire pagine"
+ "read:page-likes": "Visualizzare i \"Mi piace\" di pagine"
+ "write:page-likes": "Gestire i \"Mi piace\" di pagine"
+ "read:user-groups": "Vedi gruppi di utenti"
+ "write:user-groups": "Gestisci gruppi di utenti"
+ "read:channels": "Visualizza canali"
+ "write:channels": "Gerisci canali"
+_auth:
+ shareAccess: "Autorizzare「{name}」ad accedere al tuo account?"
+ shareAccessAsk: "Vuoi davvero consentire l'accesso al tuo account a questa app'?"
+ permissionAsk: "Questa app richiede le seguenti autorizzazioni:"
+ pleaseGoBack: "Si prega di ritornare sulla app"
+ callback: "Ritornando sulla app"
+ denied: "Accesso negato"
+_antennaSources:
+ all: "Tutte le note"
+ homeTimeline: "Note dagli utenti che segui"
+ users: "Note dagli utenti selezionati"
+ userList: "Note dagli utenti della lista selezionata"
+ userGroup: "Note dagli utenti del gruppo selezionato"
+_weekday:
+ sunday: "Domenica"
+ monday: "Lunedì"
+ tuesday: "Martedì"
+ wednesday: "Mercoledì"
+ thursday: "Giovedì"
+ friday: "Venerdì"
+ saturday: "Sabato"
+_widgets:
+ memo: "Memo"
+ notifications: "Notifiche"
+ timeline: "Timeline"
+ calendar: "Calendario"
+ trends: "Tendenze"
+ clock: "Orologio"
+ rss: "Aggregatore rss"
+ activity: "Attività"
+ photos: "Foto"
+ digitalClock: "Orologio digitale"
+ federation: "Federazione"
+ postForm: "Finestra di pubblicazione"
+ slideshow: "Diapositive"
+ button: "Pulsante"
+ onlineUsers: "Utenti online"
+ jobQueue: "Coda di lavoro"
+ serverMetric: "Statistiche server"
+ aiscript: "Console AiScript"
+_cw:
+ hide: "Nascondere"
+ show: "Mostra di più"
+ chars: "{count} caratteri"
+ files: "{count} file"
+_poll:
+ noOnlyOneChoice: "Sono necessarie almeno 2 risposte"
+ choiceN: "Opzione {n}"
+ noMore: "Hai aggiunto il numero massimo di opzioni."
+ canMultipleVote: "Possibilità di risposte multiple"
+ expiration: "Scadenza"
+ infinite: "Non scade"
+ at: "Seleziona data"
+ after: "Seleziona durata"
+ deadlineDate: "Data di scadenza"
+ deadlineTime: "Ora di scadenza"
+ duration: "Durata"
+ votesCount: "{n} voti"
+ totalVotes: "Totale di {n} voti"
+ vote: "Vota"
+ showResult: "Visualizza risultati"
+ voted: "Hai votato"
+ closed: "Terminato"
+ remainingDays: "Rimangono {d} giorni e {h} ore"
+ remainingHours: "Rimangono {h} ore e {m} minuti"
+ remainingMinutes: "Rimangono {m} minuti e {s} secondi"
+ remainingSeconds: "Rimangono {s} secondi"
+_visibility:
+ public: "Pubblica"
+ publicDescription: "Visibile per tutti sul Fediverso"
+ home: "Home"
+ homeDescription: "Visibile solo sulla timeline \"Home\""
+ followers: "Followers"
+ followersDescription: "Visibile solo per i tuoi followers"
+ specified: "Diretta"
+ specifiedDescription: "Visibile solo per gli/le utenti menzionatə"
+ localOnly: "Soltanto locale"
+ localOnlyDescription: "Nascosta per gli/le utenti remotə"
+_postForm:
+ replyPlaceholder: "Nota la tua risposta.."
+ quotePlaceholder: "Cita Nota..."
+ channelPlaceholder: "Pubblica in canale"
+ _placeholders:
+ a: "Che succede?"
+ b: "È successo qualcosa?"
+ c: "Che cos'hai in mente?"
+ d: "Vuoi dire qualcosa?"
+ e: "Scrivi qualcosa qui"
+ f: "Aspettando che scriva..."
+_profile:
+ name: "Nome"
+ username: "Nome utente"
+ description: "Bio"
+ youCanIncludeHashtags: "Puoi anche includere hashtag."
+ metadata: "Informazioni aggiuntive"
+ metadataEdit: "Modifica informazioni aggiuntive"
+ metadataDescription: "Puoi pubblicare fino a quattro informazioni aggiuntive sul profilo."
+ metadataLabel: "Etichetta"
+ metadataContent: "Contenuto"
+ changeAvatar: "Modifica immagine profilo"
+ changeBanner: "Cambia intestazione"
+_exportOrImport:
+ allNotes: "Tutte le note"
+ followingList: "Follows"
+ muteList: "Account silenziati"
+ blockingList: "Account bloccati"
+ userLists: "Liste"
+_charts:
+ federation: "Federazione"
+ apRequest: "Richieste"
+ usersIncDec: "Variazione del numero di utenti"
+ usersTotal: "Numero totale di utenti"
+ activeUsers: "Numero di utenti attivi"
+ notesIncDec: "Variazione del numero di note"
+ localNotesIncDec: "Variazione del numero di note locali"
+ remoteNotesIncDec: "Variazione del numero di note distanti"
+ notesTotal: "Conteggio totale di note"
+ filesIncDec: "Variazione del numero dei file"
+ filesTotal: "Numero totale di file"
+ storageUsageIncDec: "Variazione dell'utilizzo dell'immagazzinamento"
+ storageUsageTotal: "Utilizzo totale dell'immagazzinamento"
+_instanceCharts:
+ requests: "Richieste"
+ users: "Variazione del numero di utenti"
+ usersTotal: "Totale cumulativo di utenti"
+ notes: "Variazione del numero di note"
+ notesTotal: "Totale cumulato di note"
+ ff: "Variazione dei follow/ follower"
+ ffTotal: "Totale cumulato dei follow/ follower"
+ cacheSize: "Variazione dello spazio occupato dalla cache"
+ cacheSizeTotal: "Totale cumulato dello spazio occupato dalla cache"
+ files: "Variazione del numero di file"
+ filesTotal: "Totale cumulato del numero di file"
+_timelines:
+ home: "Home"
+ local: "Locale"
+ social: "Sociale"
+ global: "Federata"
+_pages:
+ newPage: "Crea pagina"
+ editPage: "Modifica pagina"
+ readPage: "Visualizzando fonte "
+ created: "Pagina creata!"
+ updated: "Pagina aggiornata con successo!"
+ deleted: "Pagina eliminata"
+ pageSetting: "Impostazioni pagina"
+ nameAlreadyExists: "Esiste già una pagina con lo stesso URL."
+ invalidNameTitle: "L'URL di pagina definito non è valido"
+ invalidNameText: "Verifica che il campo non è vuoto"
+ editThisPage: "Modifica questa pagina"
+ viewSource: "Visualizza sorgente"
+ viewPage: "Visualizza pagina"
+ like: "Mi piace"
+ unlike: "Togli Mi piace"
+ my: "Le mie pagine"
+ liked: "Pagine che mi piacciono"
+ featured: "Popolari"
+ contents: "Contenuto"
+ content: "Blocco di pagina"
+ variables: "Variabili"
+ title: "Titolo"
+ url: "URL della pagina"
+ summary: "Riassunto di pagina"
+ hideTitleWhenPinned: "Nascondere il titolo pagina quando è fissata in cima al profilo."
+ font: "Tipo di carattere"
+ fontSerif: "Serif"
+ fontSansSerif: "Sans serif"
+ eyeCatchingImageSet: "Imposta un'immagine attrattiva"
+ eyeCatchingImageRemove: "Elimina l'immagine attrattiva"
+ chooseBlock: "Aggiungi blocco"
+ selectType: "Seleziona tipo"
+ enterVariableName: "Digita un nome di variabile"
+ variableNameIsAlreadyUsed: "Esiste già una variabile con lo stesso nome"
+ contentBlocks: "Contenuto"
+ inputBlocks: "Blocchi di input"
+ specialBlocks: "Speciale"
+ blocks:
+ text: "Testo"
+ textarea: "Area di testo"
+ section: "Sezione"
+ image: "Immagini"
+ button: "Pulsante"
+ if: "Se"
+ _if:
+ variable: "Variabili"
+ post: "Finestra di pubblicazione"
+ _post:
+ text: "Contenuto"
+ textInput: "Immissione testo"
+ _textInput:
+ name: "Nome della variabile"
+ text: "Titolo"
+ default: "Valore predefinito"
+ textareaInput: "Immissione testo a più righe"
+ _textareaInput:
+ name: "Nome della variabile"
+ text: "Titolo"
+ default: "Valore predefinito"
+ numberInput: "Immissione numerica"
+ _numberInput:
+ name: "Nome della variabile"
+ text: "Titolo"
+ default: "Valore predefinito"
+ _canvas:
+ width: "Larghezza"
+ height: "Altezza"
+ note: "Nota integrata"
+ _note:
+ id: "ID nota"
+ idDescription: "Qui puoi anche incollare l'URL della nota che vuoi impostare."
+ detailed: "Visualizzazione dettagliata"
+ switch: "Interruttore"
+ _switch:
+ name: "Nome della variabile"
+ text: "Titolo"
+ default: "Valore predefinito"
+ counter: "Contatore"
+ _counter:
+ name: "Nome della variabile"
+ text: "Titolo"
+ inc: "Valore da aggiungere"
+ _button:
+ text: "Titolo"
+ colored: "Colorato"
+ action: "Operazione da eseguire quando viene premuto il pulsante"
+ _action:
+ dialog: "Visualizzare una finestra di dialogo"
+ _dialog:
+ content: "Contenuto"
+ resetRandom: "Ripristinare un numero aleatorio"
+ pushEvent: "Inviare evento"
+ _pushEvent:
+ event: "Nome evento"
+ message: "Messaggio da visualizzare quando abilitato"
+ variable: "Variabile da inviare"
+ no-variable: "Nessun contenuto"
+ callAiScript: "Chiamare AiScript"
+ _callAiScript:
+ functionName: "Nome della funzione"
+ radioButton: "Opzioni"
+ _radioButton:
+ name: "Nome della variabile"
+ title: "Titolo"
+ default: "Valore predefinito"
+ script:
+ categories:
+ comparison: "Metodo comparativo"
+ random: "Aleatorietà"
+ value: "Valore"
+ fn: "Funzione"
+ list: "Liste"
+ blocks:
+ text: "Testo"
+ multiLineText: "Testo (a più righe)"
+ textList: "Lista di testo"
+ _strLen:
+ arg1: "Testo"
+ _strPick:
+ arg1: "Testo"
+ _strReplace:
+ arg1: "Testo"
+ _strReverse:
+ arg1: "Testo"
+ _join:
+ arg1: "Liste"
+ _add:
+ arg1: "A"
+ arg2: "B"
+ _subtract:
+ arg1: "A"
+ arg2: "B"
+ _multiply:
+ arg1: "A"
+ arg2: "B"
+ _divide:
+ arg1: "A"
+ arg2: "B"
+ _mod:
+ arg1: "A"
+ arg2: "B"
+ _eq:
+ arg1: "A"
+ arg2: "B"
+ notEq: "A e B sono differenti"
+ _notEq:
+ arg1: "A"
+ arg2: "B"
+ and: "A e B"
+ _and:
+ arg1: "A"
+ arg2: "B"
+ or: "A o 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:
+ arg1: "Se"
+ arg2: "Se"
+ random: "Aleatorietà"
+ _randomPick:
+ arg1: "Liste"
+ _dailyRandomPick:
+ arg1: "Liste"
+ _seedRandom:
+ arg2: "Probabilità"
+ _seedRandomPick:
+ arg2: "Liste"
+ _DRPWPM:
+ arg1: "Lista di testo"
+ _pick:
+ arg1: "Liste"
+ _listLen:
+ arg1: "Liste"
+ _stringToNumber:
+ arg1: "Testo"
+ _splitStrByLine:
+ arg1: "Testo"
+ ref: "Variabili"
+ fn: "Funzione"
+ types:
+ string: "Testo"
+ array: "Liste"
+ stringArray: "Lista di testo"
+_relayStatus:
+ requesting: "In attesa di approvazione"
+ accepted: "Approvato"
+ rejected: "Respinto"
+_notification:
+ fileUploaded: "File caricato correttamente"
+ youGotMention: "{name} ti ha menzionato"
+ youGotReply: "{name} ti ha risposto"
+ youGotQuote: "{name} ha citato il tuo Nota e ha detto"
+ youRenoted: "{name} ha rinotato"
+ youGotPoll: "{name} ha votato"
+ youGotMessagingMessageFromUser: "{name} ti ha mandato un messaggio"
+ youGotMessagingMessageFromGroup: "{name} ti ha mandato un messaggio nella chat"
+ youWereFollowed: "Ha iniziato a seguirti"
+ youReceivedFollowRequest: "Hai ricevuto una richiesta di follow"
+ yourFollowRequestAccepted: "La tua richiesta di follow è stata accettata"
+ youWereInvitedToGroup: "Invitat@ al gruppo"
+ _types:
+ all: "Tutto"
+ follow: "Nuovə follower"
+ mention: "Menzioni"
+ reply: "Risposte"
+ renote: "Rinota"
+ quote: "Cita"
+ reaction: "Reazioni"
+ pollVote: "Voti ricevuti"
+ receiveFollowRequest: "Richiesta di follow ricevuta"
+ followRequestAccepted: "Richiesta di follow accettata"
+ groupInvited: "Invito a un gruppo"
+ app: "Notifiche da applicazioni"
+ _actions:
+ reply: "Rispondi"
+ renote: "Rinota"
+_deck:
+ alwaysShowMainColumn: "Mostra sempre la colonna principale"
+ columnAlign: "Allineare colonne"
+ addColumn: "Aggiungi colonna"
+ swapLeft: "Sposta a sinistra"
+ swapRight: "Sposta a destra"
+ swapUp: "Sposta in alto"
+ swapDown: "Sposta in basso"
+ stackLeft: "Impila a sinistra"
+ popRight: "Estrai a destra"
+ profile: "Profilo"
+ _columns:
+ main: "Principale"
+ widgets: "Widget"
+ notifications: "Notifiche"
+ tl: "Timeline"
+ antenna: "Antenne"
+ list: "Liste"
+ mentions: "Menzioni"
+ direct: "Diretta"
diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index 992f6c842..b10cce923 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -7,6 +7,7 @@ search: "検索"
notifications: "通知"
username: "ユーザー名"
password: "パスワード"
+forgotPassword: "パスワードを忘れた"
fetchingAsApObject: "連合に照会中"
ok: "OK"
gotIt: "わかった"
@@ -51,6 +52,7 @@ searchUser: "ユーザーを検索"
reply: "返信"
loadMore: "もっと見る"
showMore: "もっと見る"
+showLess: "閉じる"
youGotNewFollower: "フォローされました"
receiveFollowRequest: "フォローリクエストされました"
followRequestAccepted: "フォローが承認されました"
@@ -80,6 +82,8 @@ somethingHappened: "問題が発生しました"
retry: "再試行"
pageLoadError: "ページの読み込みに失敗しました。"
pageLoadErrorDescription: "これは通常、ネットワークまたはブラウザキャッシュが原因です。キャッシュをクリアするか、しばらく待ってから再度試してください。"
+serverIsDead: "サーバーの応答がありません。しばらく待ってから再度試してください。"
+youShouldUpgradeClient: "このページを表示するためには、リロードして新しいバージョンのクライアントをご利用ください。"
enterListName: "リスト名を入力"
privacy: "プライバシー"
makeFollowManuallyApprove: "フォローを承認制にする"
@@ -97,12 +101,13 @@ cantRenote: "この投稿はRenoteできません。"
cantReRenote: "RenoteをRenoteすることはできません。"
quote: "引用"
pinnedNote: "ピン留めされたノート"
+pinned: "ピン留め"
you: "あなた"
clickToShow: "クリックして表示"
sensitive: "閲覧注意"
add: "追加"
reaction: "リアクション"
-reactionSettingDescription: "リアクションピッカーに表示するリアクションを設定します。"
+reactionSetting: "ピッカーに表示するリアクション"
reactionSettingDescription2: "ドラッグして並び替え、クリックして削除、+を押して追加します。"
rememberNoteVisibility: "公開範囲を記憶する"
attachCancel: "添付取り消し"
@@ -126,6 +131,7 @@ editWidgets: "ウィジェットを編集"
editWidgetsExit: "編集を終了"
customEmojis: "カスタム絵文字"
emoji: "絵文字"
+emojis: "絵文字"
emojiName: "絵文字名"
emojiUrl: "絵文字画像URL"
addEmoji: "絵文字を追加"
@@ -136,8 +142,10 @@ flagAsBot: "Botとして設定"
flagAsBotDescription: "このアカウントがプログラムによって運用される場合は、このフラグをオンにします。オンにすると、反応の連鎖を防ぐためのフラグとして他の開発者に役立ったり、Misskeyのシステム上での扱いがBotに合ったものになります。"
flagAsCat: "Catとして設定"
flagAsCatDescription: "このアカウントが猫であることを示す場合は、このフラグをオンにします。"
+flagShowTimelineReplies: "タイムラインにノートへの返信を表示する"
+flagShowTimelineRepliesDescription: "オンにすると、タイムラインにユーザーのノート以外にもそのユーザーの他のノートへの返信を表示します。"
autoAcceptFollowed: "フォロー中ユーザーからのフォロリクを自動承認"
-addAcount: "アカウント追加"
+addAccount: "アカウントを追加"
loginFailed: "ログインに失敗しました"
showOnRemote: "リモートで表示"
general: "全般"
@@ -182,7 +190,7 @@ clearQueueConfirmTitle: "キューをクリアしますか?"
clearQueueConfirmText: "未配達の投稿は配送されなくなります。通常この操作を行う必要はありません。"
clearCachedFiles: "キャッシュをクリア"
clearCachedFilesConfirm: "キャッシュされたリモートファイルをすべて削除しますか?"
-blockedInstances: "インスタンスブロック"
+blockedInstances: "ブロックしたインスタンス"
blockedInstancesDescription: "ブロックしたいインスタンスのホストを改行で区切って設定します。ブロックされたインスタンスは、このインスタンスとやり取りできなくなります。"
muteAndBlock: "ミュートとブロック"
mutedUsers: "ミュートしたユーザー"
@@ -196,6 +204,7 @@ done: "完了"
processing: "処理中"
preview: "プレビュー"
default: "デフォルト"
+defaultValueIs: "デフォルト: {value}"
noCustomEmojis: "絵文字はありません"
noJobs: "ジョブはありません"
federating: "連合中"
@@ -230,6 +239,8 @@ resetAreYouSure: "リセットしますか?"
saved: "保存しました"
messaging: "チャット"
upload: "アップロード"
+keepOriginalUploading: "オリジナル画像を保持"
+keepOriginalUploadingDescription: "画像をアップロードする時にオリジナル版を保持します。オフにするとアップロード時にブラウザでWeb公開用画像を生成します。"
fromDrive: "ドライブから"
fromUrl: "URLから"
uploadFromUrl: "URLアップロード"
@@ -237,7 +248,6 @@ uploadFromUrlDescription: "アップロードしたいファイルのURL"
uploadFromUrlRequested: "アップロードをリクエストしました"
uploadFromUrlMayTakeTime: "アップロードが完了するまで時間がかかる場合があります。"
explore: "みつける"
-games: "Misskey Games"
messageRead: "既読"
noMoreHistory: "これより過去の履歴はありません"
startMessaging: "チャットを開始"
@@ -277,6 +287,7 @@ emptyDrive: "ドライブは空です"
emptyFolder: "フォルダーは空です"
unableToDelete: "削除できません"
inputNewFileName: "新しいファイル名を入力してください"
+inputNewDescription: "新しいキャプションを入力してください"
inputNewFolderName: "新しいフォルダ名を入力してください"
circularReferenceFolder: "移動先のフォルダーは、移動するフォルダーのサブフォルダーです。"
hasChildFilesOrFolders: "このフォルダは空でないため、削除できません。"
@@ -308,21 +319,20 @@ monthX: "{month}月"
yearX: "{year}年"
pages: "ページ"
integration: "連携"
-connectSerice: "接続する"
-disconnectSerice: "切断する"
+connectService: "接続する"
+disconnectService: "切断する"
enableLocalTimeline: "ローカルタイムラインを有効にする"
enableGlobalTimeline: "グローバルタイムラインを有効にする"
disablingTimelinesInfo: "これらのタイムラインを無効化しても、利便性のため管理者およびモデレーターは引き続き利用することができます。"
registration: "登録"
enableRegistration: "誰でも新規登録できるようにする"
invite: "招待"
-proxyRemoteFiles: "リモートのファイルをプロキシする"
-proxyRemoteFilesDescription: "この設定を有効にすると、未保存または保存容量超過で削除されたリモートファイルをローカルでプロキシし、サムネイルも生成するようになります。サーバーのストレージには影響しません、"
driveCapacityPerLocalAccount: "ローカルユーザーひとりあたりのドライブ容量"
driveCapacityPerRemoteAccount: "リモートユーザーひとりあたりのドライブ容量"
inMb: "メガバイト単位"
-iconUrl: "アイコン画像のURL"
+iconUrl: "アイコン画像のURL (faviconなど)"
bannerUrl: "バナー画像のURL"
+backgroundImageUrl: "背景画像のURL"
basicInfo: "基本情報"
pinnedUsers: "ピン留めユーザー"
pinnedUsersDescription: "「みつける」ページなどにピン留めしたいユーザーを改行で区切って記述します。"
@@ -348,8 +358,7 @@ antennaExcludeKeywords: "除外キーワード"
antennaKeywordsDescription: "スペースで区切るとAND指定になり、改行で区切るとOR指定になります"
notifyAntenna: "新しいノートを通知する"
withFileAntenna: "ファイルが添付されたノートのみ"
-serviceworker: "ServiceWorker"
-enableServiceworker: "ServiceWorkerを有効にする"
+enableServiceworker: "ブラウザへのプッシュ通知を有効にする"
antennaUsersDescription: "ユーザー名を改行で区切って指定します"
caseSensitive: "大文字小文字を区別する"
withReplies: "返信を含む"
@@ -374,6 +383,7 @@ administrator: "管理者"
token: "トークン"
twoStepAuthentication: "二段階認証"
moderator: "モデレーター"
+moderation: "モデレーション"
nUsersMentioned: "{n}人が投稿"
securityKey: "セキュリティキー"
securityKeyName: "キーの名前"
@@ -413,13 +423,12 @@ next: "次"
retype: "再入力"
noteOf: "{user}のノート"
inviteToGroup: "グループに招待"
-maxNoteTextLength: "ノートの文字数制限"
quoteAttached: "引用付き"
quoteQuestion: "引用として添付しますか?"
noMessagesYet: "まだチャットはありません"
newMessageExists: "新しいメッセージがあります"
onlyOneFileCanBeAttached: "メッセージに添付できるファイルはひとつです"
-signinRequired: "ログインしてください"
+signinRequired: "続行する前に、サインアップまたはサインインが必要です"
invitations: "招待"
invitationCode: "招待コード"
checking: "確認しています"
@@ -437,10 +446,12 @@ signinWith: "{x}でログイン"
signinFailed: "ログインできませんでした。ユーザー名とパスワードを確認してください。"
tapSecurityKey: "セキュリティキーにタッチ"
or: "もしくは"
+language: "言語"
uiLanguage: "UIの表示言語"
groupInvited: "グループに招待されました"
aboutX: "{x}について"
useOsNativeEmojis: "OSネイティブの絵文字を使用"
+disableDrawer: "メニューをドロワーで表示しない"
youHaveNoGroups: "グループがありません"
joinOrCreateGroup: "既存のグループに招待してもらうか、新しくグループを作成してください。"
noHistory: "履歴はありません"
@@ -451,7 +462,7 @@ category: "カテゴリ"
tags: "タグ"
docSource: "このドキュメントのソース"
createAccount: "アカウントを作成"
-existingAcount: "既存のアカウント"
+existingAccount: "既存のアカウント"
regenerate: "再生成"
fontSize: "フォントサイズ"
noFollowRequests: "フォロー申請はありません"
@@ -524,15 +535,16 @@ removeAllFollowing: "フォローを全解除"
removeAllFollowingDescription: "{host}からのフォローをすべて解除します。そのインスタンスがもう存在しなくなった場合などに実行してください。"
userSuspended: "このユーザーは凍結されています。"
userSilenced: "このユーザーはサイレンスされています。"
-sidebar: "サイドバー"
+yourAccountSuspendedTitle: "アカウントが凍結されています"
+yourAccountSuspendedDescription: "このアカウントは、サーバーの利用規約に違反したなどの理由により、凍結されています。詳細については管理者までお問い合わせください。新しいアカウントを作らないでください。"
+menu: "メニュー"
divider: "分割線"
addItem: "項目を追加"
-rooms: "ルーム"
relays: "リレー"
addRelay: "リレーの追加"
inboxUrl: "inboxのURL"
addedRelays: "追加済みのリレー"
-serviceworkerInfo: "プッシュ通知を行うには有効する必要があります。"
+serviceworkerInfo: "プッシュ通知を行うには有効にする必要があります。"
deletedNote: "削除された投稿"
invisibleNote: "非公開の投稿"
enableInfiniteScroll: "自動でもっと見る"
@@ -544,11 +556,13 @@ disablePlayer: "プレイヤーを閉じる"
expandTweet: "ツイートを展開する"
themeEditor: "テーマエディター"
description: "説明"
+describeFile: "キャプションを付ける"
+enterFileDescription: "キャプションを入力"
author: "作者"
leaveConfirm: "未保存の変更があります。破棄しますか?"
manage: "管理"
plugins: "プラグイン"
-pluginInstallWarn: "信頼できないプラグインはインストールしないでください。"
+preferencesBackups: "設定のバックアップ"
deck: "デッキ"
undeck: "デッキ解除"
useBlurEffectForModal: "モーダルにぼかし効果を使用"
@@ -567,7 +581,7 @@ pluginTokenRequestedDescription: "このプラグインはここで設定した
notificationType: "通知の種類"
edit: "編集"
useStarForReactionFallback: "リアクション絵文字が不明な場合、代わりに★を使う"
-emailConfig: "メールサーバー設定"
+emailServer: "メールサーバー"
enableEmail: "メール配信機能を有効化する"
emailConfigInfo: "メールアドレスの確認やパスワードリセットの際に使います"
email: "メール"
@@ -582,6 +596,9 @@ smtpSecure: "SMTP 接続に暗黙的なSSL/TLSを使用する"
smtpSecureInfo: "STARTTLS使用時はオフにします。"
testEmail: "配信テスト"
wordMute: "ワードミュート"
+regexpError: "正規表現エラー"
+regexpErrorDescription: "{tab}ワードミュートの{line}行目の正規表現にエラーが発生しました:"
+instanceMute: "インスタンスミュート"
userSaysSomething: "{name}が何かを言いました"
makeActive: "アクティブにする"
display: "表示"
@@ -602,7 +619,6 @@ regenerateLoginToken: "ログイントークンを再生成"
regenerateLoginTokenDescription: "ログインに使用される内部トークンを再生成します。通常この操作を行う必要はありません。再生成すると、全てのデバイスでログアウトされます。"
setMultipleBySeparatingWithSpace: "スペースで区切って複数設定できます。"
fileIdOrUrl: "ファイルIDまたはURL"
-chatOpenBehavior: "チャットを開くときの動作"
behavior: "動作"
sample: "サンプル"
abuseReports: "通報"
@@ -610,6 +626,11 @@ reportAbuse: "通報"
reportAbuseOf: "{name}を通報する"
fillAbuseReportDescription: "通報理由の詳細を記入してください。対象のノートがある場合はそのURLも記入してください。"
abuseReported: "内容が送信されました。ご報告ありがとうございました。"
+reporter: "通報者"
+reporteeOrigin: "通報先"
+reporterOrigin: "通報元"
+forwardReport: "リモートインスタンスに通報を転送する"
+forwardReportIsAnonymous: "リモートインスタンスからはあなたの情報は見れず、匿名のシステムアカウントとして表示されます。"
send: "送信"
abuseMarkAsResolved: "対応済みにする"
openInNewTab: "新しいタブで開く"
@@ -626,6 +647,8 @@ clip: "クリップ"
createNew: "新規作成"
optional: "任意"
createNewClip: "新しいクリップを作成"
+unclip: "クリップ解除"
+confirmToUnclipAlreadyClippedNote: "このノートはすでにクリップ「{name}」に含まれています。ノートをこのクリップから除外しますか?"
public: "パブリック"
i18nInfo: "Misskeyは有志によって様々な言語に翻訳されています。{link}で翻訳に協力できます。"
manageAccessTokens: "アクセストークンの管理"
@@ -657,7 +680,6 @@ emailVerified: "メールアドレスが確認されました"
noteFavoritesCount: "お気に入りノートの数"
pageLikesCount: "Pageにいいねした数"
pageLikedCount: "Pageにいいねされた数"
-reversiCount: "リバーシの対局数"
contact: "連絡先"
useSystemFont: "システムのデフォルトのフォントを使う"
clips: "クリップ"
@@ -672,6 +694,7 @@ center: "中央"
wide: "広い"
narrow: "狭い"
reloadToApplySetting: "設定はページリロード後に反映されます。今すぐリロードしますか?"
+needReloadToApply: "反映には再起動が必要です。"
showTitlebar: "タイトルバーを表示する"
clearCache: "キャッシュをクリア"
onlineUsersCount: "{n}人がオンライン"
@@ -686,6 +709,7 @@ textColor: "文字"
saveAs: "名前を付けて保存"
advanced: "高度"
value: "値"
+createdAt: "作成日時"
updatedAt: "更新日時"
saveConfirm: "保存しますか?"
deleteConfirm: "削除しますか?"
@@ -699,6 +723,255 @@ newVersionOfClientAvailable: "新しいバージョンのクライアントが
usageAmount: "使用量"
capacity: "容量"
inUse: "使用中"
+editCode: "コードを編集"
+apply: "適用"
+receiveAnnouncementFromInstance: "インスタンスからのお知らせを受け取る"
+emailNotification: "メール通知"
+publish: "公開"
+inChannelSearch: "チャンネル内検索"
+useReactionPickerForContextMenu: "右クリックでリアクションピッカーを開く"
+typingUsers: "{users}が入力中"
+jumpToSpecifiedDate: "特定の日付にジャンプ"
+showingPastTimeline: "過去のタイムラインを表示しています"
+clear: "クリア"
+markAllAsRead: "全て既読にする"
+goBack: "戻る"
+unlikeConfirm: "いいね解除しますか?"
+fullView: "フルビュー"
+quitFullView: "フルビュー解除"
+addDescription: "説明を追加"
+userPagePinTip: "個々のノートのメニューから「ピン留め」を選択することで、ここにノートを表示しておくことができます。"
+notSpecifiedMentionWarning: "宛先に含まれていないメンションがあります"
+info: "情報"
+userInfo: "ユーザー情報"
+unknown: "不明"
+onlineStatus: "オンライン状態"
+hideOnlineStatus: "オンライン状態を隠す"
+hideOnlineStatusDescription: "オンライン状態を隠すと、検索などの一部機能において利便性が低下することがあります。"
+online: "オンライン"
+active: "アクティブ"
+offline: "オフライン"
+notRecommended: "非推奨"
+botProtection: "Botプロテクション"
+instanceBlocking: "インスタンスブロック"
+selectAccount: "アカウントを選択"
+switchAccount: "アカウントを切り替え"
+enabled: "有効"
+disabled: "無効"
+quickAction: "クイックアクション"
+user: "ユーザー"
+administration: "管理"
+accounts: "アカウント"
+switch: "切り替え"
+noMaintainerInformationWarning: "管理者情報が設定されていません。"
+noBotProtectionWarning: "Botプロテクションが設定されていません。"
+configure: "設定する"
+postToGallery: "ギャラリーへ投稿"
+gallery: "ギャラリー"
+recentPosts: "最近の投稿"
+popularPosts: "人気の投稿"
+shareWithNote: "ノートで共有"
+ads: "広告"
+expiration: "期限"
+memo: "メモ"
+priority: "優先度"
+high: "高"
+middle: "中"
+low: "低"
+emailNotConfiguredWarning: "メールアドレスの設定がされていません。"
+ratio: "比率"
+previewNoteText: "本文をプレビュー"
+customCss: "カスタムCSS"
+customCssWarn: "この設定は必ず知識のある方が行ってください。不適切な設定を行うとクライアントが正常に使用できなくなる恐れがあります。"
+global: "グローバル"
+squareAvatars: "アイコンを四角形で表示"
+sent: "送信"
+received: "受信"
+searchResult: "検索結果"
+hashtags: "ハッシュタグ"
+troubleshooting: "トラブルシューティング"
+useBlurEffect: "UIにぼかし効果を使用"
+learnMore: "詳しく"
+misskeyUpdated: "Misskeyが更新されました!"
+whatIsNew: "更新情報を見る"
+translate: "翻訳"
+translatedFrom: "{x}から翻訳"
+accountDeletionInProgress: "アカウントの削除が進行中です"
+usernameInfo: "サーバー上であなたのアカウントを一意に識別するための名前。アルファベット(a~z, A~Z)、数字(0~9)、およびアンダーバー(_)が使用できます。ユーザー名は後から変更することは出来ません。"
+aiChanMode: "藍モード"
+keepCw: "CWを維持する"
+pubSub: "Pub/Subのアカウント"
+lastCommunication: "直近の通信"
+resolved: "解決済み"
+unresolved: "未解決"
+breakFollow: "フォロワーを解除"
+itsOn: "オンになっています"
+itsOff: "オフになっています"
+emailRequiredForSignup: "アカウント登録にメールアドレスを必須にする"
+unread: "未読"
+filter: "フィルタ"
+controlPanel: "コントロールパネル"
+manageAccounts: "アカウントを管理"
+makeReactionsPublic: "リアクション一覧を公開する"
+makeReactionsPublicDescription: "あなたがしたリアクション一覧を誰でも見れるようにします。"
+classic: "クラシック"
+muteThread: "スレッドをミュート"
+unmuteThread: "スレッドのミュートを解除"
+ffVisibility: "つながりの公開範囲"
+ffVisibilityDescription: "自分のフォロー/フォロワー情報の公開範囲を設定できます。"
+continueThread: "さらにスレッドを見る"
+deleteAccountConfirm: "アカウントが削除されます。よろしいですか?"
+incorrectPassword: "パスワードが間違っています。"
+voteConfirm: "「{choice}」に投票しますか?"
+hide: "隠す"
+leaveGroup: "グループから抜ける"
+leaveGroupConfirm: "「{name}」から抜けますか?"
+useDrawerReactionPickerForMobile: "モバイルデバイスのときドロワーで表示"
+welcomeBackWithName: "おかえりなさい、{name}さん"
+clickToFinishEmailVerification: "[{ok}]を押して、メールアドレスの確認を完了してください。"
+overridedDeviceKind: "デバイスタイプ"
+smartphone: "スマートフォン"
+tablet: "タブレット"
+auto: "自動"
+themeColor: "テーマカラー"
+size: "サイズ"
+numberOfColumn: "列の数"
+searchByGoogle: "検索"
+instanceDefaultLightTheme: "インスタンスデフォルトのライトテーマ"
+instanceDefaultDarkTheme: "インスタンスデフォルトのダークテーマ"
+instanceDefaultThemeDescription: "オブジェクト形式のテーマコードを記入します。"
+mutePeriod: "ミュートする期限"
+indefinitely: "無期限"
+tenMinutes: "10分"
+oneHour: "1時間"
+oneDay: "1日"
+oneWeek: "1週間"
+reflectMayTakeTime: "反映されるまで時間がかかる場合があります。"
+failedToFetchAccountInformation: "アカウント情報の取得に失敗しました"
+rateLimitExceeded: "レート制限を超えました"
+cropImage: "画像のクロップ"
+cropImageAsk: "画像をクロップしますか?"
+file: "ファイル"
+recentNHours: "直近{n}時間"
+recentNDays: "直近{n}日"
+noEmailServerWarning: "メールサーバーの設定がされていません。"
+thereIsUnresolvedAbuseReportWarning: "未対応の通報があります。"
+recommended: "推奨"
+check: "チェック"
+driveCapOverrideLabel: "このユーザーのドライブ容量上限を変更"
+driveCapOverrideCaption: "0以下を指定すると解除されます。"
+requireAdminForView: "閲覧するには管理者アカウントでログインしている必要があります。"
+isSystemAccount: "システムにより自動で作成・管理されているアカウントです。"
+typeToConfirm: "この操作を行うには {x} と入力してください"
+deleteAccount: "アカウント削除"
+document: "ドキュメント"
+numberOfPageCache: "ページキャッシュ数"
+numberOfPageCacheDescription: "多くすると利便性が向上しますが、負荷とメモリ使用量が増えます。"
+logoutConfirm: "ログアウトしますか?"
+lastActiveDate: "最終利用日時"
+statusbar: "ステータスバー"
+pleaseSelect: "選択してください"
+reverse: "反転"
+colored: "色付き"
+refreshInterval: "更新間隔"
+label: "ラベル"
+type: "タイプ"
+speed: "速度"
+slow: "遅い"
+fast: "速い"
+sensitiveMediaDetection: "センシティブなメディアの検出"
+localOnly: "ローカルのみ"
+remoteOnly: "リモートのみ"
+failedToUpload: "アップロード失敗"
+cannotUploadBecauseInappropriate: "不適切な内容を含む可能性があると判定されたためアップロードできません。"
+cannotUploadBecauseNoFreeSpace: "ドライブの空き容量が無いためアップロードできません。"
+beta: "ベータ"
+enableAutoSensitive: "自動NSFW判定"
+enableAutoSensitiveDescription: "利用可能な場合は、機械学習を利用して自動でメディアにNSFWフラグを設定します。この機能をオフにしても、インスタンスによっては自動で設定されることがあります。"
+activeEmailValidationDescription: "ユーザーのメールアドレスのバリデーションを、捨てアドかどうかや実際に通信可能かどうかなどを判定しより積極的に行います。オフにすると単に文字列として正しいかどうかのみチェックされます。"
+navbar: "ナビゲーションバー"
+shuffle: "シャッフル"
+account: "アカウント"
+move: "移動"
+
+_sensitiveMediaDetection:
+ description: "機械学習を使って自動でセンシティブなメディアを検出し、モデレーションに役立てることができます。サーバーの負荷が少し増えます。"
+ sensitivity: "検出感度"
+ sensitivityDescription: "感度を低くすると、誤検知(偽陽性)が減ります。感度を高くすると、検知漏れ(偽陰性)が減ります。"
+ setSensitiveFlagAutomatically: "NSFWフラグを設定する"
+ setSensitiveFlagAutomaticallyDescription: "この設定をオフにしても内部的に判定結果は保持されます。"
+ analyzeVideos: "動画の解析を有効化"
+ analyzeVideosDescription: "静止画に加えて動画も解析するようにします。サーバーの負荷が少し増えます。"
+
+_emailUnavailable:
+ used: "既に使用されています"
+ format: "形式が正しくありません"
+ disposable: "恒久的に使用可能なアドレスではありません"
+ mx: "正しいメールサーバーではありません"
+ smtp: "メールサーバーが応答しません"
+
+_ffVisibility:
+ public: "公開"
+ followers: "フォロワーだけに公開"
+ private: "非公開"
+
+_signup:
+ almostThere: "ほとんど完了です"
+ emailAddressInfo: "あなたが使っているメールアドレスを入力してください。メールアドレスが公開されることはありません。"
+ emailSent: "入力されたメールアドレス({email})宛に確認のメールが送信されました。メールに記載されたリンクにアクセスすると、アカウントの作成が完了します。"
+
+_accountDelete:
+ accountDelete: "アカウントの削除"
+ mayTakeTime: "アカウントの削除は負荷のかかる処理であるため、作成したコンテンツの数やアップロードしたファイルの数が多いと完了までに時間がかかることがあります。"
+ sendEmail: "アカウントの削除が完了する際は、登録してあったメールアドレス宛に通知を送信します。"
+ requestAccountDelete: "アカウント削除をリクエスト"
+ started: "削除処理が開始されました。"
+ inProgress: "削除が進行中"
+
+_ad:
+ back: "戻る"
+ reduceFrequencyOfThisAd: "この広告の表示頻度を下げる"
+
+_forgotPassword:
+ enterEmail: "アカウントに登録したメールアドレスを入力してください。そのアドレス宛てに、パスワードリセット用のリンクが送信されます。"
+ ifNoEmail: "メールアドレスを登録していない場合は、管理者までお問い合わせください。"
+ contactAdmin: "このインスタンスではメールがサポートされていないため、パスワードリセットを行う場合は管理者までお問い合わせください。"
+
+_gallery:
+ my: "自分の投稿"
+ liked: "いいねした投稿"
+ like: "いいね!"
+ unlike: "いいね解除"
+
+_email:
+ _follow:
+ title: "フォローされました"
+ _receiveFollowRequest:
+ title: "フォローリクエストを受け取りました"
+
+_plugin:
+ install: "プラグインのインストール"
+ installWarn: "信頼できないプラグインはインストールしないでください。"
+ manage: "プラグインの管理"
+
+_preferencesBackups:
+ list: "作成したバックアップ"
+ saveNew: "新規保存"
+ loadFile: "ファイルを読み込み"
+ apply: "このデバイスに適用"
+ save: "上書き保存"
+ inputName: "バックアップ名を入力"
+ cannotSave: "保存できません"
+ nameAlreadyExists: "バックアップ名「{name}」は既に存在します。違う名前を指定してください。"
+ applyConfirm: "バックアップ「{name}」を現在のデバイスに適用しますか?現在のデバイス設定は失われます。"
+ saveConfirm: "{name}に上書き保存しますか?"
+ deleteConfirm: "{name}を削除しますか?"
+ renameConfirm: "「{old}」を「{new}」に変更しますか?"
+ noBackups: "バックアップはありません。「新規保存」で現在のクライアント設定をサーバーに保存できます。"
+ createdAt: "作成日時: {date} {time}"
+ updatedAt: "更新日時: {date} {time}"
+ cannotLoad: "読み込みできません"
+ invalidFile: "ファイル形式が違います。"
_registry:
scope: "スコープ"
@@ -780,40 +1053,14 @@ _mfm:
blurDescription: "内容をぼかすことができます。ポインターを上に乗せるとはっきり見えるようになります。"
font: "フォント"
fontDescription: "内容のフォントを指定することができます。"
-
-_reversi:
- reversi: "リバーシ"
- gameSettings: "対局の設定"
- chooseBoard: "ボードを選択"
- blackOrWhite: "先行/後攻"
- blackIs: "{name}が黒(先行)"
- rules: "ルール"
- botSettings: "Botのオプション"
- thisGameIsStartedSoon: "対局は数秒後に開始されます"
- waitingForOther: "相手の準備が完了するのを待っています"
- waitingForMe: "あなたの準備が完了するのを待っています"
- waitingBoth: "準備してください"
- ready: "準備完了"
- cancelReady: "準備を再開"
- opponentTurn: "相手のターンです"
- myTurn: "あなたのターンです"
- turnOf: "{name}のターンです"
- pastTurnOf: "{name}のターン"
- surrender: "投了"
- surrendered: "投了により"
- drawn: "引き分け"
- won: "{name}の勝ち"
- black: "黒"
- white: "白"
- total: "合計"
- turnCount: "{count}ターン目"
- myGames: "自分の対局"
- allGames: "みんなの対局"
- ended: "終了"
- playing: "対局中"
- isLlotheo: "石の少ない方が勝ち(ロセオ)"
- loopedMap: "ループマップ"
- canPutEverywhere: "どこでも置けるモード"
+ rainbow: "レインボー"
+ rainbowDescription: "内容をレインボーにします。"
+ sparkle: "キラキラ"
+ sparkleDescription: "キラキラしたパーティクルのエフェクトを追加します。"
+ rotate: "回転"
+ rotateDescription: "指定した角度で回転させます。"
+ plain: "プレーン"
+ plainDescription: "内側の構文を全て無効にします。"
_instanceTicker:
none: "表示しない"
@@ -836,9 +1083,10 @@ _channel:
usersCount: "{n}人が参加中"
notesCount: "{n}投稿があります"
-_sidebar:
- full: "フル"
- icon: "アイコン"
+_menuDisplay:
+ sideFull: "横"
+ sideIcon: "横(アイコン)"
+ top: "上部"
hide: "隠す"
_wordMute:
@@ -851,11 +1099,18 @@ _wordMute:
hard: "ハード"
mutedNotes: "ミュートされたノート"
+_instanceMute:
+ instanceMuteDescription: "ミュートしたインスタンスのユーザーへの返信を含めて、設定したインスタンスの全てのノートとRenoteをミュートします。"
+ instanceMuteDescription2: "改行で区切って設定します"
+ title: "設定したインスタンスのノートを隠します。"
+ heading: "ミュートするインスタンス"
+
_theme:
explore: "テーマを探す"
install: "テーマのインストール"
manage: "テーマの管理"
code: "テーマコード"
+ description: "説明"
installed: "{name}をインストールしました"
installedThemes: "インストールされたテーマ"
builtinThemes: "標準のテーマ"
@@ -934,11 +1189,8 @@ _sfx:
chatBg: "チャット(バックグラウンド)"
antenna: "アンテナ受信"
channel: "チャンネル通知"
- reversiPutBlack: "リバーシ: 黒が打ったとき"
- reversiPutWhite: "リバーシ: 白が打ったとき"
_ago:
- unknown: "謎"
future: "未来"
justNow: "たった今"
secondsAgo: "{n}秒前"
@@ -985,6 +1237,7 @@ _2fa:
registerKey: "キーを登録"
step1: "まず、{a}や{b}などの認証アプリをお使いのデバイスにインストールします。"
step2: "次に、表示されているQRコードをアプリでスキャンします。"
+ step2Url: "デスクトップアプリでは次のURLを入力します:"
step3: "アプリに表示されているトークンを入力して完了です。"
step4: "これからログインするときも、同じようにトークンを入力します。"
securityKeyInfo: "FIDO2をサポートするハードウェアセキュリティキーもしくは端末の指紋認証やPINを使用してログインするように設定できます。"
@@ -1018,6 +1271,10 @@ _permissions:
"write:user-groups": "ユーザーグループを操作する"
"read:channels": "チャンネルを見る"
"write:channels": "チャンネルを操作する"
+ "read:gallery": "ギャラリーを見る"
+ "write:gallery": "ギャラリーを操作する"
+ "read:gallery-likes": "ギャラリーのいいねを見る"
+ "write:gallery-likes": "ギャラリーのいいねを操作する"
_auth:
shareAccess: "「{name}」がアカウントにアクセスすることを許可しますか?"
@@ -1051,16 +1308,21 @@ _widgets:
trends: "トレンド"
clock: "時計"
rss: "RSSリーダー"
+ rssTicker: "RSSティッカー"
activity: "アクティビティ"
photos: "フォト"
digitalClock: "デジタル時計"
+ unixClock: "UNIX時計"
federation: "連合"
+ instanceCloud: "インスタンスクラウド"
postForm: "投稿フォーム"
slideshow: "スライドショー"
button: "ボタン"
onlineUsers: "オンラインユーザー"
jobQueue: "ジョブキュー"
serverMetric: "サーバーメトリクス"
+ aiscript: "AiScriptコンソール"
+ aichan: "藍"
_cw:
hide: "隠す"
@@ -1122,7 +1384,7 @@ _profile:
youCanIncludeHashtags: "ハッシュタグを含めることができます。"
metadata: "追加情報"
metadataEdit: "追加情報を編集"
- metadataDescription: "プロフィールに表として4つまでの追加情報を表示することができます。"
+ metadataDescription: "プロフィールに表として追加情報を表示することができます。"
metadataLabel: "ラベル"
metadataContent: "内容"
changeAvatar: "アバター画像を変更"
@@ -1134,10 +1396,12 @@ _exportOrImport:
muteList: "ミュート"
blockingList: "ブロック"
userLists: "リスト"
+ excludeMutingUsers: "ミュートしているユーザーを除外"
+ excludeInactiveUsers: "使われていないアカウントを除外"
_charts:
- federationInstancesIncDec: "連合の増減"
- federationInstancesTotal: "連合の合計"
+ federation: "連合"
+ apRequest: "リクエスト"
usersIncDec: "ユーザーの増減"
usersTotal: "ユーザーの合計"
activeUsers: "アクティブユーザー数"
@@ -1169,69 +1433,6 @@ _timelines:
social: "ソーシャル"
global: "グローバル"
-_rooms:
- roomOf: "{user}のルーム"
- addFurniture: "家具を置く"
- translate: "移動"
- rotate: "回転"
- exit: "戻る"
- remove: "しまう"
- clear: "片付け"
- clearConfirm: "全ての家具をしまいますか?"
- leaveConfirm: "未保存の変更があります、移動しますか?"
- chooseImage: "画像を選択"
- roomType: "部屋のタイプ"
- carpetColor: "床の色"
- _roomType:
- default: "デフォルト"
- washitsu: "和室"
- _furnitures:
- milk: "牛乳パック"
- bed: "ベッド"
- low-table: "ローテーブル"
- desk: "デスク"
- chair: "チェア"
- chair2: "チェア2"
- fan: "換気扇"
- pc: "パソコン"
- plant: "観葉植物"
- plant2: "観葉植物2"
- eraser: "消しゴム"
- pencil: "鉛筆"
- pudding: "プリン"
- cardboard-box: "段ボール箱"
- cardboard-box2: "段ボール箱2"
- cardboard-box3: "段ボール箱3"
- book: "本"
- book2: "本2"
- piano: "ピアノ"
- facial-tissue: "ティッシュボックス"
- server: "サーバー"
- moon: "月"
- corkboard: "コルクボード"
- mousepad: "マウスパッド"
- monitor: "モニター"
- keyboard: "キーボード"
- carpet-stripe: "カーペット(縞)"
- mat: "マット"
- color-box: "カラーボックス"
- wall-clock: "壁掛け時計"
- photoframe: "額縁"
- cube: "キューブ"
- tv: "テレビ"
- pinguin: "ピンギン"
- rubik-cube: "ルービックキューブ"
- poster-h: "ポスター(横長)"
- poster-v: "ポスター(縦長)"
- sofa: "ソファ"
- spiral: "螺旋階段"
- bin: "ゴミ箱"
- cup-noodle: "カップ麺"
- holo-display: "ホログラフィックディスプレイ"
- energy-drink: "エナジードリンク"
- doll-ai: "藍ちゃん人形"
- banknote: "札束"
-
_pages:
newPage: "ページの作成"
editPage: "ページの編集"
@@ -1551,7 +1752,9 @@ _notification:
youWereFollowed: "フォローされました"
youReceivedFollowRequest: "フォローリクエストが来ました"
yourFollowRequestAccepted: "フォローリクエストが承認されました"
- youWereInvitedToGroup: "グループに招待されました"
+ youWereInvitedToGroup: "{userName}があなたをグループに招待しました"
+ pollEnded: "アンケートの結果が出ました"
+ emptyPushNotificationMessage: "プッシュ通知の更新をしました"
_types:
all: "すべて"
@@ -1562,17 +1765,22 @@ _notification:
quote: "引用"
reaction: "リアクション"
pollVote: "アンケートに投票された"
+ pollEnded: "アンケートが終了"
receiveFollowRequest: "フォロー申請を受け取った"
followRequestAccepted: "フォローが受理された"
groupInvited: "グループに招待された"
app: "連携アプリからの通知"
+ _actions:
+ followBack: "フォローバック"
+ reply: "返信"
+ renote: "Renote"
+
_deck:
alwaysShowMainColumn: "常にメインカラムを表示"
columnAlign: "カラムの寄せ"
- columnMargin: "カラム間のマージン"
- columnHeaderHeight: "カラムのヘッダー幅"
addColumn: "カラムを追加"
+ configureColumn: "カラムの設定"
swapLeft: "左に移動"
swapRight: "右に移動"
swapUp: "上に移動"
@@ -1580,6 +1788,11 @@ _deck:
stackLeft: "左に重ねる"
popRight: "右に出す"
profile: "プロファイル"
+ newProfile: "新規プロファイル"
+ deleteProfile: "プロファイルを削除"
+ introduction: "カラムを組み合わせて自分だけのインターフェイスを作りましょう!"
+ introduction2: "画面の右にある + を押して、いつでもカラムを追加できます。"
+ widgetsIntroduction: "カラムのメニューから、「ウィジェットの編集」を選択してウィジェットを追加してください"
_columns:
main: "メイン"
diff --git a/locales/ja-KS.yml b/locales/ja-KS.yml
index 40a57fc89..7d93fd83e 100644
--- a/locales/ja-KS.yml
+++ b/locales/ja-KS.yml
@@ -1,15 +1,17 @@
---
_lang_: "日本語 (関西弁)"
-introMisskey: "ようこそ!Misskeyってのは、オープンソースの分散型マイクロブログサービスやねん。\n「ノート」を作成し、いま起こっとることを共有したり、あんたんこととか皆に伝えていこう📡\n「リアクション」機能で、皆のノートに素はよ反応を追加することもできるんやで✌\n新しい世界を探検してみらん?🚀"
+headlineMisskey: "ノートでつながるネットワーク"
+introMisskey: "ようお越し!Misskeyは、オープンソースの分散型マイクロブログサービスやねん。\n「ノート」を作って、いま起こっとることを共有したり、あんたについて皆に発信しよう📡\n「リアクション」機能で、皆のノートに素早く反応を追加したりもできるで✌\nほな新しい世界を探検しよか🚀"
monthAndDay: "{month}月 {day}日"
search: "探す"
notifications: "通知"
username: "ユーザー名"
password: "パスワード"
+forgotPassword: "パスワード忘れてん"
fetchingAsApObject: "今ちと連合に照会しとるで"
-ok: "おっけー"
+ok: "OKや"
gotIt: "ほい"
-cancel: "やめとくわ"
+cancel: "やめとく"
enterUsername: "ユーザー名を入れてや"
renotedBy: "{user}がRenote"
noNotes: "ノートはあらへん"
@@ -18,16 +20,16 @@ instance: "インスタンス"
settings: "設定"
basicSettings: "基本設定"
otherSettings: "その他の設定"
-openInWindow: "ウィンドウで開いてや"
+openInWindow: "ウィンドウで開くで"
profile: "プロフィール"
timeline: "タイムライン"
-noAccountDescription: "自己紹介はあらへん"
+noAccountDescription: "自己紹介食ってもた"
login: "ログイン"
loggingIn: "ログインしよるで"
logout: "ログアウト"
signup: "新規登録"
-uploading: "アップロードしよるで"
-save: "とっとく"
+uploading: "アップロードしとるで"
+save: "保存"
users: "ユーザー"
addUser: "ユーザーを追加や"
favorite: "お気に入り"
@@ -42,19 +44,20 @@ copyContent: "内容をコピー"
copyLink: "リンクをコピー"
delete: "ほかす"
deleteAndEdit: "ほかして直す"
-deleteAndEditConfirm: "このノートをほかしてもっかい直す?このノートへのリアクション、Renote、返信も全部消えるんやけどそれでもええん?"
+deleteAndEditConfirm: "このノートをほかして書き直すんか?このノートへのリアクション、Renote、返信も全部消えてまうで。"
addToList: "リストに入れたる"
sendMessage: "メッセージを送る"
copyUsername: "ユーザー名をコピー"
searchUser: "ユーザーを検索"
-reply: "返す"
-loadMore: "もっとあるやろ!"
-showMore: "もっとあるやろ!"
+reply: "返事"
+loadMore: "まだまだあるで!"
+showMore: "まだまだあるで!"
+showLess: "閉じる"
youGotNewFollower: "フォローされたで"
receiveFollowRequest: "フォローリクエストされたで"
followRequestAccepted: "フォローが承認されたで"
mention: "メンション"
-mentions: "あんた宛て"
+mentions: "うち宛て"
directNotes: "ダイレクト投稿"
importAndExport: "インポートとエクスポート"
import: "インポート"
@@ -79,13 +82,15 @@ somethingHappened: "なんかアカンことが起こったで"
retry: "もっぺんやる?"
pageLoadError: "ページの読み込みに失敗してしもうたで…"
pageLoadErrorDescription: "これは普通、ネットワークかブラウザキャッシュが原因やからね。キャッシュをクリアするか、もうちっとだけ待ってくれへんか?"
+serverIsDead: "The server is not responding. Please wait for a while before trying again."
+youShouldUpgradeClient: "To display this page, please reload and use a new version client. "
enterListName: "リスト名を入れてや"
-privacy: "プライバシーってなんぞや?"
-makeFollowManuallyApprove: "他人からのフォローは自分が決める"
+privacy: "プライバシー"
+makeFollowManuallyApprove: "自分が認めた人だけがこのアカウントをフォローできるようにする"
defaultNoteVisibility: "もとからの公開範囲"
follow: "フォロー"
followRequest: "フォローを頼む"
-followRequests: "フォローを頼む"
+followRequests: "フォロー申請"
unfollow: "フォローやめる"
followRequestPending: "フォロー許してくれるん待っとる"
enterEmoji: "絵文字を入れてや"
@@ -93,18 +98,19 @@ renote: "Renote"
unrenote: "Renoteやめる"
renoted: "Renoteしたで。"
cantRenote: "この投稿はRenoteできへんらしい。"
-cantReRenote: "すまん、今このRenoteにRenoteはできへんのや。"
+cantReRenote: "Renote自体はRenoteできへんで。"
quote: "引用"
pinnedNote: "ピン留めされとるノート"
+pinned: "ピン留めしとく"
you: "あんた"
-clickToShow: "押したら見えるようになるで"
+clickToShow: "押したら見えるで"
sensitive: "ちょっとアカンやつやで"
add: "増やす"
reaction: "リアクション"
-reactionSettingDescription: "リアクションピッカーに出しとくリアクションを選んでや。"
-reactionSettingDescription2: "ドラッグして並び替え、クリックして削除、+を押すと追加できるで。"
+reactionSetting: "Reaction that will be displayed in Picker. "
+reactionSettingDescription2: "ドラッグで並び替え、クリックで削除、+を押して追加やで。"
rememberNoteVisibility: "公開範囲覚えといて"
-attachCancel: "やっぱ添付やめてくれん?"
+attachCancel: "のっけるのやめる"
markAsSensitive: "ちょっとこれはアカン"
unmarkAsSensitive: "そこまでアカンことないやろ"
enterFileName: "ファイル名を入れてや"
@@ -125,18 +131,21 @@ editWidgets: "ウィジェットをいじる"
editWidgetsExit: "編集終ったで"
customEmojis: "カスタム絵文字"
emoji: "絵文字"
+emojis: "絵文字"
emojiName: "絵文字名"
emojiUrl: "絵文字画像URL"
addEmoji: "絵文字を追加"
settingGuide: "ええ感じの設定"
cacheRemoteFiles: "リモートのファイルをキャッシュする"
-cacheRemoteFilesDescription: "この設定を切っとくと、リモートファイルをキャッシュせず直リンクするようになってしまうんやで? サーバーのストレージは節約できるんやけど、かわりにサムネイルが作られんくなるから通信量が増えるで?"
+cacheRemoteFilesDescription: "この設定を切っとくと、リモートファイルをキャッシュせず直リンクするようになるで。サーバーの容量は節約できるけど、サムネイルが作られんくなるから通信量が増えるで。"
flagAsBot: "Botやで"
flagAsBotDescription: "もしこのアカウントがプログラムによって運用されるんやったら、このフラグをオンにしてたのむで。オンにすると、反応の連鎖を防ぐためのフラグとして他の開発者に役立ったり、Misskeyのシステム上での扱いがBotに合ったもんになるんやで。"
flagAsCat: "Catやで"
flagAsCatDescription: "ワレ、猫ちゃんならこのフラグをつけてみ?"
-autoAcceptFollowed: "フォローしとるユーザーからのフォローリクエストには勝手に許可しとくで。"
-addAcount: "アカウント追加"
+flagShowTimelineReplies: "It will display the reply to the note in the timeline. "
+flagShowTimelineRepliesDescription: "It will display the reply to notes other than the user notes in the timeline when you turn it on. "
+autoAcceptFollowed: "フォローしとるユーザーからのフォローリクエストを勝手に許可しとく"
+addAccount: "アカウントを追加"
loginFailed: "ログインに失敗してしもうた…"
showOnRemote: "リモートで見る"
general: "全般"
@@ -180,7 +189,7 @@ clearQueue: "キューにさいなら"
clearQueueConfirmTitle: "キューをクリアしまっか?"
clearQueueConfirmText: "未配達の投稿は配送されなくなるで。通常この操作を行う必要はあらへんや。"
clearCachedFiles: "キャッシュにさいなら"
-clearCachedFilesConfirm: "キャッシュされとるリモートファイルを全部削除しまっか?"
+clearCachedFilesConfirm: "キャッシュされとるリモートファイルをみんなほかしてええか?"
blockedInstances: "インスタンスブロック"
blockedInstancesDescription: "ブロックしたいインスタンスのホストを改行で区切って設定してな。ブロックされてもうたインスタンスとはもう金輪際やり取りできひんくなるで。"
muteAndBlock: "ミュートとブロック"
@@ -195,12 +204,13 @@ done: "でけた"
processing: "処理しとる"
preview: "プレビュー"
default: "デフォルト"
+defaultValueIs: "デフォルト"
noCustomEmojis: "絵文字はあらへん"
noJobs: "ジョブはあらへん"
federating: "連合しとる"
blocked: "ブロックしとる"
suspended: "配信せぇへん"
-all: "みな"
+all: "みんな"
subscribing: "購読しとる"
publishing: "配信しとる"
notResponding: "応答してへんで"
@@ -213,22 +223,24 @@ retypedNotMatch: "そやないねん。"
currentPassword: "今のパスワード"
newPassword: "今度のパスワード"
newPasswordRetype: "今度のパスワード(もっぺん入れて)"
-attachFile: "ファイルくっつけて"
-more: "他ないんか!"
+attachFile: "ファイルのっける"
+more: "他のやつ!"
featured: "ハイライト"
usernameOrUserId: "ユーザー名かユーザーID"
noSuchUser: "ユーザーが見つからへんで"
lookup: "見てきて"
-announcements: "これ知っといてな"
+announcements: "お知らせ"
imageUrl: "画像URL"
remove: "ほかす"
removed: "削除したで!"
-removeAreYouSure: "「{x}」はなおしてしもてええか?"
-deleteAreYouSure: "「{x}」はなおしてしもてええか?"
+removeAreYouSure: "「{x}」はほかしてええか?"
+deleteAreYouSure: "「{x}」はほかしてええか?"
resetAreYouSure: "リセットしてええん?"
saved: "保存したで!"
messaging: "チャット"
upload: "アップロード"
+keepOriginalUploading: "Retain the original image. "
+keepOriginalUploadingDescription: "When uploading the clip, the original version will be retained. Turning it of then uploading will produce images for public use. "
fromDrive: "ドライブから"
fromUrl: "URLから"
uploadFromUrl: "URLアップロード"
@@ -236,16 +248,15 @@ uploadFromUrlDescription: "このURLのファイルをアップロードした
uploadFromUrlRequested: "アップロードしたい言うといたで"
uploadFromUrlMayTakeTime: "アップロード終わるんにちょい時間かかるかもしれへんわ。"
explore: "みつける"
-games: "Misskey Games"
messageRead: "もう読んだ"
noMoreHistory: "これより過去の履歴はあらへんで"
startMessaging: "チャットやるで"
nUsersRead: "{n}人が読んでもうた"
-agreeTo: "{0}はええで"
+agreeTo: "{0}に同意したで"
tos: "利用規約"
start: "始める"
home: "ホーム"
-remoteUserCaution: "リモートユーザーやから、ちゃんとした情報とちゃうで。"
+remoteUserCaution: "リモートユーザーやから、足りひん情報あるかもしれへん。"
activity: "アクティビティ"
images: "画像"
birthday: "生まれた日"
@@ -259,7 +270,7 @@ light: "ライト"
dark: "ダーク"
lightThemes: "デイゲーム"
darkThemes: "ナイトゲーム"
-syncDeviceDarkMode: "試合開始時間はデバイスのダークモードと一緒や"
+syncDeviceDarkMode: "デバイスのダークモードと一緒にする"
drive: "ドライブ"
fileName: "ファイル名"
selectFile: "ファイル選んでや"
@@ -276,6 +287,7 @@ emptyDrive: "ドライブにはなんも残っとらん"
emptyFolder: "ふぉろだーにはなんも残っとらん"
unableToDelete: "消そうおもってんけどな、あかんかったわ"
inputNewFileName: "今度のファイル名は何にするん?"
+inputNewDescription: "新しいキャプションを入力しましょ"
inputNewFolderName: "今度のフォルダ名は何にするん?"
circularReferenceFolder: "移動先のフォルダーは、移動するフォルダーのサブフォルダーや。"
hasChildFilesOrFolders: "このフォルダ、まだなんか入っとるから消されへん"
@@ -283,9 +295,9 @@ copyUrl: "URLをコピー"
rename: "名前を変えるで"
avatar: "アイコン"
banner: "バナー"
-nsfw: "ちょっとアカンやつやで"
-whenServerDisconnected: "サーバーとの接続が失くなってしもうたとき"
-disconnectedFromServer: "サーバーが機嫌悪いねん"
+nsfw: "閲覧注意"
+whenServerDisconnected: "サーバーとの接続が切れたとき"
+disconnectedFromServer: "サーバーとの通信が切れたで"
reload: "リロード"
doNothing: "何もせんとく"
reloadConfirm: "リロードしてええか?"
@@ -306,26 +318,27 @@ dayX: "{day}日"
monthX: "{month}月"
yearX: "{year}年"
pages: "ページ"
-integration: "つないで"
-connectSerice: "つなげる"
-disconnectSerice: "切ってまう"
+integration: "連携"
+connectService: "つなげるで"
+disconnectService: "切るで"
enableLocalTimeline: "ローカルタイムラインを使えるようにする"
enableGlobalTimeline: "グローバルタイムラインを使えるようにする"
disablingTimelinesInfo: "ここらへんのタイムラインを使えんようにしてしもても、管理者とモデレーターは使えるままになってるで、そうやなかったら不便やからな。"
registration: "登録"
enableRegistration: "一見さんでも誰でもいらっしゃ~い"
invite: "来てや"
-proxyRemoteFiles: "リモートのファイルをプロキシする"
-proxyRemoteFilesDescription: "この設定を入れると、保存しとらんかったり、お腹いっぱいになってしもたせいで保存できんかったリモートファイルをローカルでプロキシして、サムネイル作ってもらうことができるで。サーバーの腹具合には影響せんけどな。"
driveCapacityPerLocalAccount: "ローカルユーザーひとりあたりのドライブ容量"
driveCapacityPerRemoteAccount: "リモートユーザーひとりあたりのドライブ容量"
inMb: "メガバイト単位"
iconUrl: "アイコン画像のURL"
bannerUrl: "バナー画像のURL"
+backgroundImageUrl: "背景画像のURL"
basicInfo: "基本情報"
pinnedUsers: "ピン留めしたユーザー"
pinnedUsersDescription: "「みつける」ページとかにピン留めしたいユーザーをここに書けばええんやで。他ん人との名前は改行で区切ればええんやで。"
pinnedPages: "ピン留めページ"
+pinnedPagesDescription: "インスタンスのいっちゃん上にピン留めしたいページのパスを改行で区切って記述してな"
+pinnedClipId: "ピン留めするクリップのID"
pinnedNotes: "ピン留めされとるノート"
hcaptcha: "hCaptcha(キャプチャ)"
enableHcaptcha: "hCaptcha(キャプチャ)をつけとく"
@@ -343,9 +356,8 @@ antennaSource: "受信ソース(このソースは食われへん)"
antennaKeywords: "受信キーワード"
antennaExcludeKeywords: "除外キーワード"
antennaKeywordsDescription: "スペースで区切ったるとAND指定で、改行で区切ったるとOR指定や"
-notifyAntenna: "新しいノートを追加すんで"
+notifyAntenna: "新しいノートを通知すんで"
withFileAntenna: "なんか添付されたノートだけ"
-serviceworker: "ServiceWorker"
enableServiceworker: "ServiceWorkerをつこて"
antennaUsersDescription: "ユーザー名を改行で区切ったってな"
caseSensitive: "大文字と小文字は別もんや"
@@ -371,6 +383,7 @@ administrator: "管理者"
token: "トークン"
twoStepAuthentication: "二段階認証"
moderator: "モデレーター"
+moderation: "モデレーション"
nUsersMentioned: "{n}人が投稿"
securityKey: "セキュリティキー"
securityKeyName: "キーの名前"
@@ -380,18 +393,18 @@ unregister: "登録やめる"
passwordLessLogin: "パスワード無くてもログインできるようにする"
resetPassword: "パスワードをリセット"
newPasswordIs: "今度のパスワードは「{password}」や"
-reduceUiAnimation: "UIの動きやアニメーションを減らしてくれや。"
+reduceUiAnimation: "UIの動きやアニメーションを減らす"
share: "わけわけ"
notFound: "見つからへんね"
notFoundDescription: "指定されたURLに該当するページはあらへんやった。"
-uploadFolder: "とりあえずここへアップロード"
+uploadFolder: "とりあえずアップロードしたやつ置いとく所"
cacheClear: "キャッシュをほかす"
markAsReadAllNotifications: "通知はもう全て読んだわっ"
markAsReadAllUnreadNotes: "投稿は全て読んだわっ"
markAsReadAllTalkMessages: "チャットはもうぜんぶ読んだわっ"
help: "ヘルプ"
inputMessageHere: "ここにメッセージ書いてや"
-close: "さいなら"
+close: "閉じる"
group: "グループ"
groups: "グループ"
createGroup: "グループを作るで"
@@ -410,7 +423,6 @@ next: "次"
retype: "もっかい入力"
noteOf: "{user}のノート"
inviteToGroup: "グループに招く"
-maxNoteTextLength: "ノートの文字数制限"
quoteAttached: "引用付いとるで"
quoteQuestion: "引用として添付してもええか?"
noMessagesYet: "まだチャットはあらへんで"
@@ -423,28 +435,34 @@ checking: "確認しとるで"
available: "利用できる\n"
unavailable: "利用できん"
usernameInvalidFormat: "a~z、A~Z、0~9、_が使えるで"
-tooShort: "短すぎやろ!"
+tooShort: "短すぎやろ!"
tooLong: "長すぎやろ!"
-weakPassword: "弱いパスワード"
+weakPassword: "へぼいパスワード"
normalPassword: "普通のパスワード"
strongPassword: "ええ感じのパスワード"
passwordMatched: "よし!一致や!"
passwordNotMatched: "一致しとらんで?"
signinWith: "{x}でログイン"
+signinFailed: "ログインできんかったで。もっかいユーザー名とパスワードを確認してみてな。"
+tapSecurityKey: "セキュリティキーにタッチしてな"
or: "それか"
+language: "言語"
uiLanguage: "UIの表示言語"
groupInvited: "グループに招待されとるで"
aboutX: "{x}について"
useOsNativeEmojis: "OSネイティブの絵文字を使う"
+disableDrawer: "メニューをドロワーで表示せぇへん"
youHaveNoGroups: "グループがあらへんねぇ。"
+joinOrCreateGroup: "既存のグループに招待してもらうか、新しくグループ作ってからやってな"
noHistory: "履歴はあらへんねぇ。"
signinHistory: "ログイン履歴"
+disableAnimatedMfm: "動きがやかましいMFMを止める"
doing: "やっとるがな"
category: "カテゴリ"
tags: "タグ"
docSource: "このドキュメントのソース"
createAccount: "アカウントを作成"
-existingAcount: "既存のアカウント"
+existingAccount: "既存のアカウント"
regenerate: "再生成"
fontSize: "フォントサイズ"
noFollowRequests: "フォロー申請はあらへんで"
@@ -452,27 +470,528 @@ openImageInNewTab: "画像を新しいタブで開く"
dashboard: "ダッシュボード"
local: "ローカル"
remote: "リモート"
+total: "合計"
+weekOverWeekChanges: "前週比"
+dayOverDayChanges: "前日比"
+appearance: "見た目"
+clientSettings: "クライアントの設定"
+accountSettings: "アカウントの設定"
+promotion: "宣伝"
+promote: "宣伝"
+numberOfDays: "日数"
+hideThisNote: "このノートは表示せんでいい"
+showFeaturedNotesInTimeline: "タイムラインにおすすめのノートを表示してや"
+objectStorage: "オブジェクトストレージ"
+useObjectStorage: "オブジェクトストレージを使う"
+objectStorageBaseUrl: "Base URL"
+objectStorageBaseUrlDesc: "参照に使うにURLやで。CDNやProxyを使用してるんならそのURL、S3: 'https://.s3.amazonaws.com'、GCSとかなら: 'https://storage.googleapis.com/'。"
+objectStorageBucket: "Bucket"
+objectStorageBucketDesc: "使ってるサービスのbucket名を選んでな"
+objectStoragePrefix: "Prefix"
+objectStoragePrefixDesc: "このprefixのディレクトリ下に格納されるで"
+objectStorageEndpoint: "Endpoint"
+objectStorageEndpointDesc: "S3のときは空、それ以外は各サービスのendpointを指定してなー。''ってやるか':'みたいに指定するんやで。"
+objectStorageRegion: "Region"
+objectStorageRegionDesc: "'xx-east-1'みたいなregionを指定したってやー。使ってるサービスにregionの概念がないときは、空か'us-east-1'にするんやで。"
+objectStorageUseSSL: "SSLを使う"
+objectStorageUseSSLDesc: "API接続にhttpsを使わん場合はオフにするんやで"
+objectStorageUseProxy: "Proxyを使う"
+objectStorageUseProxyDesc: "API接続にproxy使わんのやったら切ってくれへん?"
+objectStorageSetPublicRead: "アップロードした時に'public-read'を設定してや"
+serverLogs: "サーバーログ"
+deleteAll: "全て削除してや"
+showFixedPostForm: "タイムラインの上の方で投稿できるようにやってくれへん?"
+newNoteRecived: "新しいノートがあるで"
+sounds: "サウンド"
+listen: "聴く"
+none: "なし"
+showInPage: "ページで表示"
+popout: "ポップアウト"
+volume: "音量"
+masterVolume: "全体の音量"
+details: "もっと"
+chooseEmoji: "絵文字を選ぶ"
+unableToProcess: "なんか作業が止まってしまったようやね"
+recentUsed: "最近使ったやつ"
+install: "インストール"
+uninstall: "アンインストール"
+installedApps: "インストールされとるアプリ"
+nothing: "あらへん"
+installedDate: "インストールした日時"
+lastUsedDate: "最後に使った日時"
+state: "状態"
+sort: "仕分ける"
+ascendingOrder: "小さい順"
+descendingOrder: "大きい順"
+scratchpad: "スクラッチパッド"
+scratchpadDescription: "スクラッチパッドではAiScriptを色々試すことができるんや。Misskeyに対して色々できるコードを書いて動かしてみたり、結果を見たりできるで。"
+output: "出力"
+script: "スクリプト"
+disablePagesScript: "Pagesのスクリプトを無効にしてや"
+updateRemoteUser: "リモートユーザー情報の更新してくれん?"
+deleteAllFiles: "すべてのファイルを削除"
+deleteAllFilesConfirm: "ホンマにすべてのファイルを削除するん?消したもんはもう戻ってこんのやで?"
+removeAllFollowing: "フォローを全解除"
+removeAllFollowingDescription: "{host}からのフォローをすべて解除するで。そのインスタンスが消えて無くなった時とかには便利な機能やで。"
+userSuspended: "このユーザーは...凍結されとる。"
+userSilenced: "このユーザーは...サイレンスされとる。"
+yourAccountSuspendedTitle: "あんたのアカウント凍結されとるで"
+yourAccountSuspendedDescription: "あんたのアカウントは、サーバーの利用規約に違反したとかの理由で、凍結されとるで。細かいことは管理者までお問い合わせたってなー。絶対に新しいアカウント作ったらあかんで。絶対やで。"
+menu: "メニュー"
+divider: "分割線"
+addItem: "項目を追加"
+relays: "リレー"
+addRelay: "リレーの追加"
+inboxUrl: "inboxのURL"
+addedRelays: "追加済みのリレー"
+serviceworkerInfo: "プッシュ通知をするんなら有効にせなあかんで。"
+deletedNote: "消された投稿"
+invisibleNote: "非公開の投稿"
+enableInfiniteScroll: "自動でもっと見る"
+visibility: "公開範囲"
+poll: "アンケート"
+useCw: "内容を隠す"
+enablePlayer: "プレイヤーを開く"
+disablePlayer: "プレイヤーを閉じる"
+expandTweet: "ツイートを展開する"
+themeEditor: "テーマエディター"
+description: "説明"
+describeFile: "キャプションを付ける"
+enterFileDescription: "キャプションを入力"
+author: "作者"
+leaveConfirm: "未保存の変更があるで!ほかしてええか?"
+manage: "管理"
+plugins: "プラグイン"
+deck: "デッキ"
+undeck: "デッキ解除"
+useBlurEffectForModal: "モーダルにぼかし効果を使用"
+useFullReactionPicker: "フル機能にリアクションピッカーを使用"
+width: "幅"
+height: "高さ"
+large: "大"
+medium: "中"
+small: "小"
+generateAccessToken: "アクセストークンの発行"
+permission: "権限"
+enableAll: "全部使えるようにする"
+disableAll: "全部使えへんようにする"
+tokenRequested: "アカウントへのアクセス許可"
+pluginTokenRequestedDescription: "このプラグインはここで設定した権限を使えるようになるで。"
+notificationType: "通知の種類"
+edit: "編集"
+useStarForReactionFallback: "リアクションがようわからん場合、★を使う"
+emailServer: "メールサーバー"
+enableEmail: "メール配信を受け取る"
+emailConfigInfo: "メールアドレスの確認とかパスワードリセットの時に使うで"
+email: "メール"
+emailAddress: "メールアドレス"
+smtpConfig: "SMTP サーバーの設定"
smtpHost: "ホスト"
+smtpPort: "ポート"
smtpUser: "ユーザー名"
smtpPass: "パスワード"
-clearCache: "キャッシュにさいなら"
+emptyToDisableSmtpAuth: "ユーザー名とパスワードになんも入れんかったら、SMTP認証を無効化するで"
+smtpSecure: "SMTP 接続に暗黙的なSSL/TLSを使用する"
+smtpSecureInfo: "STARTTLS使っとる時はオフにするで。"
+testEmail: "配信テスト"
+wordMute: "ワードミュート"
+regexpError: "正規表現エラー"
+regexpErrorDescription: "{tab}ワードミュートの{line}行目の正規表現にエラーが出てきたで:"
+instanceMute: "インスタンスミュート"
+userSaysSomething: "{name}が何か言ったようやで"
+makeActive: "使うで"
+display: "表示"
+copy: "コピー"
+metrics: "メトリクス"
+overview: "概要"
+logs: "ログ"
+delayed: "遅延"
+database: "データベース"
+channel: "チャンネル"
+create: "作成"
+notificationSetting: "通知設定"
+notificationSettingDesc: "表示する通知の種類えらんでや。"
+useGlobalSetting: "グローバル設定を使ってや"
+useGlobalSettingDesc: "オンにすると、アカウントの通知設定が使われるで。オフにすると、別々に設定できるようになるで。"
+other: "その他"
+regenerateLoginToken: "ログイントークンを再生成"
+regenerateLoginTokenDescription: "ログインに使われる内部トークンをもっかい作るで。いつもならこれをやる必要はないで。もっかい作ると、全部のデバイスでログアウトされるで気ぃつけてなー。"
+setMultipleBySeparatingWithSpace: "スペースで区切って複数設定できるで。"
+fileIdOrUrl: "ファイルIDかURL"
+behavior: "動作"
+sample: "サンプル"
+abuseReports: "通報"
+reportAbuse: "通報"
+reportAbuseOf: "{name}を通報する"
+fillAbuseReportDescription: "細かい通報理由を書いてなー。対象ノートがある時はそのURLも書いといてなー。"
+abuseReported: "無事内容が送信されたみたいやで。おおきに〜。"
+reporter: "通報者"
+reporteeOrigin: "通報先"
+reporterOrigin: "通報元"
+forwardReport: "リモートインスタンスに通報を転送するで"
+forwardReportIsAnonymous: "リモートインスタンスからはあんたの情報は見れへんくって、匿名のシステムアカウントとして表示されるで。"
+send: "送信"
+abuseMarkAsResolved: "対応したで"
+openInNewTab: "新しいタブで開く"
+openInSideView: "サイドビューで開く"
+defaultNavigationBehaviour: "デフォルトのナビゲーション"
+editTheseSettingsMayBreakAccount: "このへんの設定をようわからんままイジるとアカウントが壊れて使えんくなるかも知れへんで?"
+instanceTicker: "ノートのインスタンス情報"
+waitingFor: "{x}を待っとるで"
+random: "ランダム"
+system: "システム"
+switchUi: "UI切り替え"
+desktop: "デスクトップ"
+clip: "クリップ"
+createNew: "新しく作るで"
+optional: "任意"
+createNewClip: "新しいクリップを作るで"
+unclip: "クリップ解除するで"
+confirmToUnclipAlreadyClippedNote: "このノートはすでにクリップ「{name}」に含まれとるで。ノートをこのクリップから除外したる?"
+public: "パブリック"
+i18nInfo: "Misskeyは有志によっていろんな言語に翻訳されとるで。{link}で翻訳に協力したってやー。"
+manageAccessTokens: "アクセストークンの管理"
+accountInfo: "アカウント情報"
+notesCount: "ノートの数やで"
+repliesCount: "返信した数やで"
+renotesCount: "Renoteした数やで"
+repliedCount: "返信された数やで"
+renotedCount: "Renoteされた数やで"
+followingCount: "フォロー数やで"
+followersCount: "フォロワー数やで"
+sentReactionsCount: "リアクションした数やで"
+receivedReactionsCount: "リアクションされた数"
+pollVotesCount: "アンケートに投票した数"
+pollVotedCount: "アンケートに投票された数"
+yes: "はい"
+no: "いいえ"
+driveFilesCount: "ドライブのファイル数"
+driveUsage: "ドライブ使用量やで"
+noCrawle: "クローラーによるインデックスを拒否するで"
+noCrawleDescription: "検索エンジンにあんたのユーザーページ、ノート、Pagesとかのコンテンツを登録(インデックス)せぇへんように頼むで。"
+lockedAccountInfo: "フォローを承認制にしとっても、ノートの公開範囲を「フォロワー」にせぇへん限り、誰でもあんたのノートを見れるで。"
+alwaysMarkSensitive: "デフォルトでメディアを閲覧注意にするで"
+loadRawImages: "添付画像のサムネイルをオリジナル画質にするで"
+disableShowingAnimatedImages: "アニメーション画像を再生しやへんで"
+verificationEmailSent: "無事確認のメールを送れたで。メールに書いてあるリンクにアクセスして、設定を完了してなー。"
+notSet: "未設定"
+emailVerified: "メールアドレスは確認されたで"
+noteFavoritesCount: "お気に入りノートの数やで"
+pageLikesCount: "Pageにええやんと思った数"
+pageLikedCount: "Pageにええやんと思ってくれた数"
+contact: "連絡先"
+useSystemFont: "システムのデフォルトのフォントを使うで"
+clips: "クリップ"
+experimentalFeatures: "実験的機能やで"
+developer: "開発者やで"
+makeExplorable: "アカウントを見つけやすくするで"
+makeExplorableDescription: "オフにすると、「みつける」にアカウントが載らんくなるで。"
+showGapBetweenNotesInTimeline: "タイムラインのノートを放して表示するで"
+duplicate: "複製"
+left: "左"
+center: "中央"
+wide: "広い"
+narrow: "狭い"
+reloadToApplySetting: "設定はページリロード後に反映されるで。今リロードしとくか?"
+needReloadToApply: "反映には再起動せなあかんで"
+showTitlebar: "タイトルバーを見せる"
+clearCache: "キャッシュをほかす"
+onlineUsersCount: "{n}人が起きとるで"
+nUsers: "{n}ユーザー"
+nNotes: "{n}ノート"
+sendErrorReports: "エラーリポートを送る"
+sendErrorReportsDescription: "オンにしたら、なんか変なことが起きたときにエラーの詳細がMisskeyに共有されて、ソフトウェアの品質向上に役立てられるんや。エラー情報には、OSのバージョン、ブラウザの種類、行動履歴などが含まれるで。"
+myTheme: "マイテーマ"
+backgroundColor: "背景"
+accentColor: "アクセント"
+textColor: "文字"
+saveAs: "名前を付けて保存"
+advanced: "高度"
+value: "値"
+createdAt: "作成した日"
+updatedAt: "更新日時"
+saveConfirm: "保存するで?"
+deleteConfirm: "ホンマに削除するで?"
+invalidValue: "有効な値じゃないみたいやで。"
+registry: "レジストリ"
+closeAccount: "アカウントを閉鎖する"
+currentVersion: "現在のバージョン"
+latestVersion: "最新のバージョン"
+youAreRunningUpToDateClient: "今使ってるクライアントが最新やで!"
+newVersionOfClientAvailable: "新しいバージョンのクライアントが使えるで。"
+usageAmount: "使用量"
+capacity: "容量"
+inUse: "使用中"
+editCode: "コードを編集"
+apply: "適用"
+receiveAnnouncementFromInstance: "インスタンスからのお知らせを受け取る"
+emailNotification: "メール通知"
+publish: "公開"
+inChannelSearch: "チャンネル内検索"
+useReactionPickerForContextMenu: "右クリックでリアクションピッカーを開くようにする"
+typingUsers: "{users}が今書きよるで"
+jumpToSpecifiedDate: "特定の日付にジャンプ"
+showingPastTimeline: "過去のタイムラインを表示してるで"
+clear: "クリア"
+markAllAsRead: "もうみな読んでもうたわ"
+goBack: "戻る"
+unlikeConfirm: "いいね解除するんか?"
+fullView: "フルビュー"
+quitFullView: "フルビュー解除"
+addDescription: "説明を追加するで"
+userPagePinTip: "個々のノートのメニューから「ピン留め」を選んどくと、ここにノートを表示しておけるで。"
+notSpecifiedMentionWarning: "宛先に含まれてへんメンションがあるで"
+info: "情報"
+userInfo: "ユーザー情報やで"
+unknown: "不明"
+onlineStatus: "オンライン状態"
+hideOnlineStatus: "オンライン状態を隠すで"
+hideOnlineStatusDescription: "オンライン状態を隠すと、検索とかの一部の機能で使いにくくなるかもしれんよ。"
+online: "オンライン"
+active: "アクティブ"
+offline: "オフライン"
+notRecommended: "あんま推奨しやんで"
+botProtection: "Botプロテクション"
+instanceBlocking: "インスタンスブロック"
+selectAccount: "アカウントを選んでなー"
+switchAccount: "アカウントを変えるで"
+enabled: "有効"
+disabled: "無効"
+quickAction: "クイックアクション"
+user: "ユーザー"
+administration: "管理"
+accounts: "アカウント"
+switch: "切り替え"
+noMaintainerInformationWarning: "管理者情報が設定されてへんで"
+noBotProtectionWarning: "Botプロテクションが設定されてへんで。"
+configure: "設定する"
+postToGallery: "ギャラリーへ投稿"
+gallery: "ギャラリー"
+recentPosts: "最近の投稿"
+popularPosts: "人気の投稿"
+shareWithNote: "ノートで共有"
+ads: "広告"
+expiration: "期限"
+memo: "メモ"
+priority: "優先度"
+high: "高い"
+middle: "中"
+low: "低い"
+emailNotConfiguredWarning: "メアドの設定がされてへんで。"
+ratio: "比率"
+previewNoteText: "本文を下見するで"
+customCss: "カスタムCSS"
+customCssWarn: "この設定は必ず知識のある人がやらなあかんで。あんま良くない設定をしたるとクライアントがちゃんと使えへんくなってくで。"
+global: "グローバル"
+squareAvatars: "アイコンを四角形で表示するで"
+sent: "送信"
+received: "受信"
+searchResult: "検索結果やで"
+hashtags: "ハッシュタグ"
+troubleshooting: "トラブルシューティング"
+useBlurEffect: "UIにぼかし効果を使うで"
+learnMore: "詳しく"
+misskeyUpdated: "Misskeyが更新されたで!\nモデレーターの人らに感謝せなあかんで"
+whatIsNew: "更新情報を見るで"
+translate: "翻訳"
+translatedFrom: "{x}から翻訳するで"
+accountDeletionInProgress: "アカウント削除しとるで待っとってなー"
+usernameInfo: "サーバー上であんたのアカウントをあんたやと分かるようにするための名前やで。アルファベット(a~z, A~Z)、数字(0~9)、それとアンダーバー(_)が使って考えてな。この名前は後から変更することはできへんからちゃんと考えるんやで。"
+aiChanMode: "藍モードやで"
+keepCw: "CWを維持するで"
+pubSub: "Pub/Subのアカウント"
+lastCommunication: "直近の通信"
+resolved: "解決したで"
+unresolved: "まだ解決してないで"
+breakFollow: "フォロワーを解除するで"
+itsOn: "オンになっとるよ"
+hide: "隠す"
+searchByGoogle: "探す"
+indefinitely: "無期限"
+file: "ファイル"
+requireAdminForView: "これを見るには管理者アカウントでログインしとらなあかんで。"
+isSystemAccount: "システムが自動で作成・管理しとるアカウントやで。"
+typeToConfirm: "この操作をやるんなら {x} と入力してなー"
+deleteAccount: "アカウント削除するで"
+document: "ドキュメント"
+numberOfPageCache: "ページキャッシュ数やで"
+numberOfPageCacheDescription: "増やすと使いやすくなる、負荷とメモリ使用量が増えてくで。一長一短やな。"
+logoutConfirm: "ログアウトしまっか?"
+lastActiveDate: "最後に使った日時"
+statusbar: "ステータスバー"
+pleaseSelect: "選択したってやー"
+reverse: "反転"
+colored: "色付き"
+refreshInterval: "更新間隔"
+label: "ラベル"
+type: "タイプ"
+speed: "速度"
+slow: "遅い"
+fast: "速い"
+sensitiveMediaDetection: "センシティブなメディアの検出"
+localOnly: "ローカルのみ"
+remoteOnly: "リモートのみ"
+failedToUpload: "アップロードに失敗したで"
+cannotUploadBecauseInappropriate: "不適切な内容を含むかもしれへんって判定されたでアップロードできまへん。"
+cannotUploadBecauseNoFreeSpace: "ドライブの空き容量が無いでアップロードできまへん。"
+beta: "ベータ"
+enableAutoSensitive: "自動NSFW判定"
+enableAutoSensitiveDescription: "使える時は、機械学習を使って自動でメディアにNSFWフラグを設定するで。この機能をオフにしても、インスタンスによっては自動で設定されることがあるで。"
+activeEmailValidationDescription: "ユーザーのメールアドレスのバリデーションを、捨てアドかどうかや実際に通信可能かどうかとかを判定して積極的に行うで。オフにすると単に文字列として正しいかどうかだけチェックするで。"
+navbar: "ナビゲーションバー"
+shuffle: "シャッフルするで"
+account: "アカウント"
+move: "移動するで"
+_sensitiveMediaDetection:
+ description: "機械学習を使って自動でセンシティブなメディアを検出して、モデレーションに役立てることができるで。サーバーの負荷が少し増えてまうなあ。"
+ sensitivity: "検出感度やで"
+ sensitivityDescription: "感度を低くすると、誤検知(偽陽性)が減るで。感度を高くすると、検知漏れ(偽陰性)が減るで。"
+ setSensitiveFlagAutomatically: "NSFWフラグを設定するで"
+ setSensitiveFlagAutomaticallyDescription: "この設定をオフにしても内部的に判定結果は保持されるで。"
+_ffVisibility:
+ public: "公開"
+_ad:
+ back: "戻る"
+_gallery:
+ unlike: "良くないわ"
+_email:
+ _follow:
+ title: "フォローされたで"
+ _receiveFollowRequest:
+ title: "フォローリクエストを受け取ったで"
+_plugin:
+ install: "プラグインのインストール"
+ installWarn: "信頼できへんプラグインはインストールせんとってな"
+ manage: "プラグインの管理"
+_registry:
+ scope: "スコープ"
+ key: "キー"
+ keys: "キー"
+ domain: "ドメイン"
+ createKey: "キーを作る"
+_aboutMisskey:
+ about: "Misskeyはsyuiloが2014年からずっと作ってはる、オープンソースなソフトウェアや。"
+ contributors: "主な貢献者"
+ allContributors: "全ての貢献者"
+ source: "ソースコード"
+ translation: "Misskeyを翻訳"
+ donate: "Misskeyに寄付"
+ morePatrons: "他にもぎょうさんの人からサポートしてもろてんねん。ほんまおおきに🥰"
+ patrons: "支援者"
_mfm:
+ cheatSheet: "MFMチートシート"
mention: "メンション"
+ hashtag: "ハッシュタグ"
+ url: "URL"
+ link: "リンク"
+ bold: "太字"
+ center: "中央寄せ"
+ inlineCode: "コード(インライン)"
+ blockCode: "コード(ブロック)"
+ inlineMath: "数式(インライン)"
quote: "引用"
emoji: "カスタム絵文字"
search: "探す"
-_sidebar:
- icon: "アイコン"
+ shake: "アニメーション(ぶるぶる)"
+ twitch: "アニメーション(ブレ)"
+ spin: "アニメーション(回転)"
+ blur: "ぼかし"
+ font: "フォント"
+ rotate: "回転"
+_instanceTicker:
+ none: "表示せん"
+ remote: "リモートユーザーに表示"
+ always: "常に表示"
+_serverDisconnectedBehavior:
+ reload: "自動でリロード"
+ dialog: "ダイアログで警告"
+_channel:
+ create: "チャンネルを作る"
+ edit: "チャンネルを編集"
+ setBanner: "バナーを設定"
+ removeBanner: "バナーを削除"
+ featured: "トレンド"
+ notesCount: "{n}こ投稿があるで"
+_menuDisplay:
+ hide: "隠す"
+_wordMute:
+ soft: "ソフト"
+ hard: "ハード"
_theme:
+ explore: "テーマを探す"
+ install: "テーマのインストール"
+ manage: "テーマの管理"
+ code: "テーマコード"
+ description: "説明"
+ installed: "{name}をインストールしたで。"
+ installedThemes: "インストールされとるテーマ"
+ builtinThemes: "標準のテーマ"
+ alreadyInstalled: "そのテーマはもうインストールされとるで?"
+ make: "テーマを作る"
+ base: "ベース"
+ addConstant: "定数を追加"
+ defaultValue: "デフォルト値"
+ color: "色"
+ refProp: "プロパティを参照"
+ refConst: "定数を参照"
+ key: "キー"
+ func: "関数"
+ funcKind: "関数の種類"
+ argument: "引数"
+ basedProp: "元にするプロパティの名前"
+ alpha: "不透明度"
+ darken: "暗さ"
+ lighten: "明るさ"
keys:
+ accent: "アクセント"
+ bg: "背景"
+ fg: "文字"
+ focus: "フォーカス"
+ indicator: "インジケーター"
+ panel: "パネル"
+ shadow: "影"
+ header: "ヘッダー"
+ navBg: "サイドバーの背景"
+ navFg: "サイドバーの文字"
+ navHoverFg: "サイドバー文字(ホバー)"
+ navActive: "サイドバー文字(アクティブ)"
+ navIndicator: "サイドバーのインジケーター"
+ link: "リンク"
+ hashtag: "ハッシュタグ"
mention: "メンション"
+ mentionMe: "うち宛てのメンション"
renote: "Renote"
+ modalBg: "モーダルの背景"
+ divider: "分割線"
+ scrollbarHandle: "スクロールバーの取っ手"
+ scrollbarHandleHover: "スクロールバーの取っ手(ホバー)"
+ dateLabelFg: "日付ラベルの文字"
+ infoBg: "情報の背景"
+ infoFg: "情報の文字"
+ infoWarnBg: "警告の背景"
+ infoWarnFg: "警告の文字"
+ cwBg: "CW ボタンの背景"
+ cwFg: "CW ボタンの文字"
+ cwHoverBg: "CW ボタンの背景 (ホバー)"
+ toastBg: "通知トーストの背景"
+ toastFg: "通知トーストの文字"
+ buttonBg: "ボタンの背景"
+ buttonHoverBg: "ボタンの背景 (ホバー)"
+ inputBorder: "入力ボックスの縁取り"
+ listItemHoverBg: "リスト項目の背景 (ホバー)"
+ driveFolderBg: "ドライブフォルダーの背景"
+ wallpaperOverlay: "壁紙のオーバーレイ"
+ badge: "バッジ"
+ messageBg: "チャットの背景"
+ accentDarken: "アクセント (暗め)"
+ accentLighten: "アクセント (明るめ)"
+ fgHighlighted: "強調されとる文字"
_sfx:
note: "ノート"
+ noteMy: "ノート(自分)"
notification: "通知"
chat: "チャット"
_ago:
- unknown: "謎"
future: "未来"
justNow: "たった今"
secondsAgo: "{n}秒前"
@@ -487,26 +1006,70 @@ _time:
minute: "分"
hour: "時間"
day: "日"
+_tutorial:
+ step3_1: "プロフィール設定はええ感じにできたか?"
_2fa:
- alreadyRegistered: "もう設定終わっとるわ"
+ alreadyRegistered: "もう設定終わっとるわ。"
+_permissions:
+ "read:reactions": "リアクションを見る"
+ "write:votes": "投票する"
+ "read:pages": "ページを見る"
+ "read:page-likes": "ページのええやんを見る"
+ "write:page-likes": "ページのええやんを操作する"
+ "read:user-groups": "ユーザーグループを見る"
+ "read:channels": "チャンネルを見る"
_auth:
permissionAsk: "このアプリは次の権限を要求しとるで"
_antennaSources:
- all: "みなのノート"
+ all: "みんなのノート"
homeTimeline: "フォローしとるユーザーのノート"
+_weekday:
+ sunday: "日曜日"
+ monday: "月曜日"
+ tuesday: "火曜日"
+ wednesday: "水曜日"
+ thursday: "木曜日"
+ friday: "金曜日"
+ saturday: "土曜日"
_widgets:
+ memo: "付箋"
notifications: "通知"
timeline: "タイムライン"
+ calendar: "カレンダー"
+ trends: "トレンド"
+ clock: "時計"
+ rss: "RSSリーダー"
activity: "アクティビティ"
+ photos: "フォト"
+ digitalClock: "デジタル時計"
federation: "連合"
+ postForm: "投稿フォーム"
+ slideshow: "スライドショー"
+ button: "ボタン"
+ onlineUsers: "オンラインユーザー"
jobQueue: "ジョブキュー"
+ serverMetric: "サーバーメトリクス"
+ aiscript: "AiScriptコンソール"
_cw:
- show: "もっとあるやろ!"
+ hide: "隠す"
+ show: "続き見して!"
+ chars: "{count}文字"
+ files: "{count}ファイル"
_poll:
+ choiceN: "選択肢{n}"
noMore: "これ以上追加でけへん"
+ canMultipleVote: "複数回答可"
+ expiration: "期限"
+ infinite: "無期限"
+ at: "日時指定"
+ after: "経過指定"
+ deadlineDate: "期日"
deadlineTime: "時間"
+ duration: "期間"
+ votesCount: "{n}票"
+ vote: "投票する"
_visibility:
- publicDescription: "みなのユーザーに公開"
+ publicDescription: "みんなに公開"
home: "ホーム"
followers: "フォロワー"
_profile:
@@ -518,47 +1081,339 @@ _exportOrImport:
muteList: "ミュート"
blockingList: "ブロック"
userLists: "リスト"
+_charts:
+ federation: "連合"
+ apRequest: "リクエスト"
+ usersTotal: "ユーザーの合計"
+ activeUsers: "アクティブユーザー数"
+ notesIncDec: "ノートの増減"
+ localNotesIncDec: "ローカルのノートの増減"
+ remoteNotesIncDec: "リモートのノートの増減"
+ notesTotal: "ノートの合計"
+ filesIncDec: "ファイルの増減"
+ filesTotal: "ファイルの合計"
+ storageUsageIncDec: "ストレージ使用量の増減"
+ storageUsageTotal: "ストレージ使用量の合計"
+_instanceCharts:
+ requests: "リクエスト"
+ users: "ユーザーの増減"
+ usersTotal: "ユーザーの累積"
+ notes: "ノートの増減"
+ notesTotal: "ノートの累積"
+ ff: "フォロー/フォロワーの増減"
+ ffTotal: "フォロー/フォロワーの累積"
+ cacheSize: "キャッシュサイズの増減"
+ cacheSizeTotal: "キャッシュサイズの累積"
+ files: "ファイル数の増減"
+ filesTotal: "ファイル数の累積"
_timelines:
home: "ホーム"
-_rooms:
- _roomType:
- default: "デフォルト"
- _furnitures:
- monitor: "モニター"
+ local: "ローカル"
+ social: "ソーシャル"
+ global: "グローバル"
_pages:
+ newPage: "ページを作る"
+ editPage: "ページの編集"
+ readPage: "ソースを表示中"
+ created: "ページを作成したで"
+ updated: "ページを更新したで"
+ deleted: "ページを削除したで"
+ pageSetting: "ページ設定"
+ viewPage: "ページを見る"
+ like: "ええやん"
+ unlike: "良くないわ"
+ liked: "ええと思ったページ"
+ contents: "コンテンツ"
+ summary: "ページの要約"
+ alignCenter: "中央寄せ"
+ font: "フォント"
+ fontSerif: "セリフ"
+ fontSansSerif: "サンセリフ"
+ eyeCatchingImageSet: "アイキャッチ画像を設定"
+ eyeCatchingImageRemove: "アイキャッチ画像を削除"
+ chooseBlock: "ブロックを追加"
+ selectType: "種類を選択"
+ contentBlocks: "コンテンツ"
+ inputBlocks: "入力"
+ specialBlocks: "特殊"
blocks:
+ text: "テキスト"
+ textarea: "テキストエリア"
+ section: "セクション"
image: "画像"
+ button: "ボタン"
+ if: "もし"
+ _if:
+ variable: "変数"
+ post: "投稿フォーム"
+ _post:
+ text: "内容"
+ 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:
+ id: "ノートID"
+ detailed: "詳細な表示"
+ switch: "スイッチ"
+ _switch:
+ name: "変数名"
+ text: "タイトル"
+ default: "デフォルト値"
+ counter: "カウンター"
+ _counter:
+ name: "変数名"
+ text: "タイトル"
+ inc: "増加値"
+ _button:
+ text: "タイトル"
+ colored: "色付き"
+ action: "ボタンを押したときの動作"
+ _action:
+ dialog: "ダイアログを表示する"
+ _dialog:
+ content: "内容"
+ resetRandom: "乱数をリセット"
+ pushEvent: "イベントを送信させる"
+ _pushEvent:
+ event: "イベント名"
+ 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: "テキストのリスト"
+ 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: "A"
+ 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: "スロット"
+ arg1: "出力"
+ for: "繰り返し"
+ _for:
+ arg1: "回数"
+ arg2: "処理"
+ thereIsEmptySlot: "スロット{slot}が空っぽやで!"
types:
+ string: "テキスト"
+ number: "数値"
+ boolean: "フラグ"
array: "リスト"
+ stringArray: "テキストのリスト"
+ emptySlot: "空のスロット"
+ enviromentVariables: "環境変数"
+ pageVariables: "ページ要素"
+ argVariables: "入力スロット"
_notification:
+ fileUploaded: "ファイルが無事アップロードされたで。"
+ youGotMention: "{name}からのメンション"
+ youGotReply: "{name}からのリプライ"
youWereFollowed: "フォローされたで"
+ youReceivedFollowRequest: "フォロー許可してほしいみたいやな"
+ yourFollowRequestAccepted: "フォローさせてもろたで"
youWereInvitedToGroup: "グループに招待されとるで"
_types:
+ all: "すべて"
follow: "フォロー"
mention: "メンション"
renote: "Renote"
quote: "引用"
reaction: "リアクション"
+ receiveFollowRequest: "フォロー許可してほしいみたいやで"
+ followRequestAccepted: "フォローが受理されたで"
+ _actions:
+ reply: "返事"
+ renote: "Renote"
_deck:
+ alwaysShowMainColumn: "いつもメインカラムを表示"
+ columnAlign: "カラムの寄せ"
+ addColumn: "カラムを追加"
+ swapLeft: "左に移動"
+ swapRight: "右に移動"
+ swapUp: "上に移動"
+ swapDown: "下に移動"
+ stackLeft: "左に重ねる"
+ popRight: "右に出す"
+ profile: "プロファイル"
_columns:
+ main: "メイン"
+ widgets: "ウィジェット"
notifications: "通知"
tl: "タイムライン"
antenna: "アンテナ"
list: "リスト"
mentions: "あんた宛て"
+ direct: "ダイレクト"
diff --git a/locales/jbo-EN.yml b/locales/jbo-EN.yml
new file mode 100644
index 000000000..ed97d539c
--- /dev/null
+++ b/locales/jbo-EN.yml
@@ -0,0 +1 @@
+---
diff --git a/locales/kab-KAB.yml b/locales/kab-KAB.yml
index 662c05405..29eca64c7 100644
--- a/locales/kab-KAB.yml
+++ b/locales/kab-KAB.yml
@@ -7,7 +7,9 @@ username: "Isem n umseqdac"
password: "Awal uffir"
ok: "IH"
settings: "Iɣewwaṛen"
+otherSettings: "Iɣewwaren nniḍen"
profile: "Amaɣnu"
+signup: "Jerred"
save: "Sekles"
delete: "Kkes"
addToList: "Rnu ɣer tebdart"
@@ -27,15 +29,38 @@ followers: "Imeḍfaṛen"
followsYou: "Yeṭṭafaṛ-ik·em-id"
createList: "Snulfu-d tabdart"
enterListName: "Isem n tebdart"
+privacy: "Tabaḍnit"
follow: "Ḍfeṛ"
you: "Kečči·mmi"
selectList: "Fren tabdart"
youHaveNoLists: "Ulac ɣur-k·m ula d yiwet n tabdart"
+security: "Taɣellist"
remove: "Kkes"
+connectService: "Qqen"
userList: "Tibdarin"
+securityKey: "Tasarutt n tɣellist"
+securityKeyName: "Isem n tsarutt"
+signinRequired: "Ttxil jerred"
+signinWith: "Tuqqna s {x}"
+tapSecurityKey: "Sekcem tasarutt-ik·im n tɣellist"
uiLanguage: "Tutlayt n wegrudem"
+accountSettings: "Iɣewwaṛen n umiḍan"
+plugins: "Izegrar"
+email: "Imayl"
+emailAddress: "Tansa imayl"
smtpUser: "Isem n umseqdac"
smtpPass: "Awal uffir"
+other: "Wiyyaḍ"
+accountInfo: "Talɣut n umiḍan"
+emailNotification: "Ilɣa imayl"
+selectAccount: "Fren amiḍan"
+accounts: "Imiḍan"
+searchByGoogle: "Nadi"
+file: "Ifuyla"
+account: "Imiḍan"
+_email:
+ _follow:
+ title: "Yeṭṭafaṛ-ik·em-id"
_mfm:
mention: "Bder"
search: "Nadi"
@@ -45,6 +70,8 @@ _theme:
mention: "Bder"
_sfx:
notification: "Ilɣuyen"
+_permissions:
+ "write:account": "Ẓreg talɣut n umiḍan-ik·im"
_widgets:
notifications: "Ilɣuyen"
_cw:
@@ -91,6 +118,8 @@ _notification:
_types:
follow: "Ig ṭṭafaṛ"
mention: "Bder"
+ _actions:
+ reply: "Err"
_deck:
_columns:
notifications: "Ilɣuyen"
diff --git a/locales/kn-IN.yml b/locales/kn-IN.yml
index 44dbd9304..a38d9267b 100644
--- a/locales/kn-IN.yml
+++ b/locales/kn-IN.yml
@@ -53,10 +53,17 @@ files: "ಕಡತಗಳು"
download: "ಜಾಲದಿಂದಿಳಿಸು"
driveFileDeleteConfirm: "\"{name}\" ಕಡತವನ್ನು ಅಳಿಸಲು ನೀವು ಬಯಸುವಿರಾ? ಈ ನೋಡಿರಿ ಲಗತ್ತಿಸಲಾದ ಟಿಪ್ಪಣಿ ಸಹ ಕಣ್ಮರೆಯಾಗುತ್ತದೆ."
unfollowConfirm: "{name}ಅನ್ನು ಹಿಂಬಾಲಿಸದಿರುವುದೇ?"
+pinned: "ಪ್ರೊಫ಼ೈಲಿಗೆ ಅಂಟಿಸು"
instances: "ನಿದರ್ಶನ"
remove: "ಅಳಿಸು"
smtpUser: "ಬಳಕೆಹೆಸರು"
smtpPass: "ಗುಪ್ತಪದ"
+user: "ಬಳಕೆದಾರ"
+searchByGoogle: "ಹುಡುಕು"
+file: "ಕಡತಗಳು"
+_email:
+ _follow:
+ title: "ಹಿಂಬಾಲಿಸಿದರು"
_mfm:
search: "ಹುಡುಕು"
_sfx:
@@ -70,6 +77,8 @@ _profile:
username: "ಬಳಕೆಹೆಸರು"
_notification:
youWereFollowed: "ಹಿಂಬಾಲಿಸಿದರು"
+ _actions:
+ reply: "ಉತ್ತರಿಸು"
_deck:
_columns:
notifications: "ಅಧಿಸೂಚನೆಗಳು"
diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml
index 114de2a90..d77f7e920 100644
--- a/locales/ko-KR.yml
+++ b/locales/ko-KR.yml
@@ -1,11 +1,13 @@
---
_lang_: "한국어"
+headlineMisskey: "노트로 연결되는 네트워크"
introMisskey: "환영합니다! Misskey 는 오픈 소스 분산형 마이크로 블로그 서비스입니다.\n\"노트\" 를 작성해서, 지금 일어나고 있는 일을 공유하거나, 당신만의 이야기를 모두에게 발신하세요📡\n\"리액션\" 기능으로, 친구의 노트에 총알같이 반응을 추가할 수도 있습니다👍\n새로운 세계를 탐험해 보세요🚀"
monthAndDay: "{month}월 {day}일"
search: "검색"
notifications: "알림"
username: "유저명"
password: "비밀번호"
+forgotPassword: "비밀번호 재설정"
fetchingAsApObject: "연합에서 조회 중"
ok: "OK"
gotIt: "알겠어요"
@@ -50,6 +52,7 @@ searchUser: "사용자 검색"
reply: "답글"
loadMore: "더 보기"
showMore: "더 보기"
+showLess: "닫기"
youGotNewFollower: "새로운 팔로워가 있습니다"
receiveFollowRequest: "새로운 팔로우 요청이 있습니다"
followRequestAccepted: "팔로우가 수락되었습니다"
@@ -79,6 +82,8 @@ somethingHappened: "오류가 발생했습니다"
retry: "다시 시도"
pageLoadError: "페이지를 불러오지 못했습니다."
pageLoadErrorDescription: "네트워크 연결 또는 브라우저 캐시로 인해 발생했을 가능성이 높습니다. 캐시를 삭제하거나, 잠시 후 다시 시도해 주세요."
+serverIsDead: "서버로부터 응답이 없습니다. 잠시 후 다시 시도해주세요."
+youShouldUpgradeClient: "이 페이지를 표시하려면 새로고침하여 새로운 버전의 클라이언트를 이용해 주십시오."
enterListName: "리스트 이름을 입력"
privacy: "프라이버시"
makeFollowManuallyApprove: "팔로우를 수동으로 승인"
@@ -96,12 +101,13 @@ cantRenote: "이 게시물은 Renote할 수 없습니다."
cantReRenote: "Renote를 Renote할 수 없습니다."
quote: "인용"
pinnedNote: "고정해놓은 노트"
+pinned: "프로필에 고정"
you: "당신"
clickToShow: "클릭하여 보기"
sensitive: "열람주의"
add: "추가"
reaction: "리액션"
-reactionSettingDescription: "리액션 선택 상자에 표시할 리액션을 설정합니다."
+reactionSetting: "선택기에 표시할 리액션"
reactionSettingDescription2: "끌어서 순서 변경, 클릭해서 삭제, +를 눌러서 추가할 수 있습니다."
rememberNoteVisibility: "공개 범위를 기억하기"
attachCancel: "첨부 취소"
@@ -125,6 +131,7 @@ editWidgets: "위젯 편집"
editWidgetsExit: "편집 종료"
customEmojis: "커스텀 이모지"
emoji: "이모지"
+emojis: "이모지"
emojiName: "이모지 이름"
emojiUrl: "이모지 URL"
addEmoji: "이모지 추가"
@@ -135,8 +142,10 @@ flagAsBot: "나는 봇입니다"
flagAsBotDescription: "이 계정을 자동화된 수단으로 운용할 경우에 활성화해 주세요. 이 플래그를 활성화하면, 다른 봇이 이를 참고하여 봇 끼리의 무한 연쇄 반응을 회피하거나, 이 계정의 시스템 상에서의 취급이 Bot 운영에 최적화되는 등의 변화가 생깁니다."
flagAsCat: "나는 고양이다냥"
flagAsCatDescription: "이 계정이 고양이라면 활성화 해주세요."
+flagShowTimelineReplies: "타임라인에 노트의 답글을 표시하기"
+flagShowTimelineRepliesDescription: "이 설정을 활성화하면 타임라인에 다른 유저 간의 답글을 표시합니다."
autoAcceptFollowed: "팔로우 중인 유저로부터의 팔로우 요청을 자동 수락"
-addAcount: "계정 추가"
+addAccount: "계정 추가"
loginFailed: "로그인에 실패했습니다"
showOnRemote: "리모트에서 보기"
general: "일반"
@@ -195,6 +204,7 @@ done: "완료"
processing: "처리중"
preview: "미리보기"
default: "기본값"
+defaultValueIs: "기본값: {value}"
noCustomEmojis: "이모지가 없습니다"
noJobs: "작업이 없습니다"
federating: "연합 중"
@@ -229,6 +239,8 @@ resetAreYouSure: "초기화 하시겠습니까?"
saved: "저장하였습니다"
messaging: "대화"
upload: "업로드"
+keepOriginalUploading: "원본 이미지를 유지"
+keepOriginalUploadingDescription: "이미지를 업로드할 때에 원본을 그대로 유지합니다. 비활성화하면 업로드할 때 브라우저에서 웹 공개용 이미지를 생성합니다."
fromDrive: "드라이브에서"
fromUrl: "URL로부터"
uploadFromUrl: "URL 업로드"
@@ -236,7 +248,6 @@ uploadFromUrlDescription: "업로드하려는 파일의 URL"
uploadFromUrlRequested: "업로드를 요청했습니다"
uploadFromUrlMayTakeTime: "업로드가 완료될 때까지 시간이 소요될 수 있습니다."
explore: "발견하기"
-games: "Misskey Games"
messageRead: "읽음"
noMoreHistory: "이것보다 과거의 기록이 없습니다"
startMessaging: "대화 시작하기"
@@ -276,6 +287,7 @@ emptyDrive: "드라이브가 비어 있습니다"
emptyFolder: "폴더가 비어 있습니다"
unableToDelete: "삭제할 수 없습니다"
inputNewFileName: "바꿀 파일명을 입력해 주세요"
+inputNewDescription: "새 캡션을 입력해 주세요"
inputNewFolderName: "바꿀 폴더명을 입력해 주세요"
circularReferenceFolder: "지정한 폴더가 이동할 폴더의 하위 폴더입니다."
hasChildFilesOrFolders: "이 폴더는 비어있지 않기 때문에 삭제할 수 없습니다."
@@ -307,21 +319,20 @@ monthX: "{month}월"
yearX: "{year}년"
pages: "페이지"
integration: "연동"
-connectSerice: "접속"
-disconnectSerice: "연결 끊기"
+connectService: "계정 연동"
+disconnectService: "계정 연동 해제"
enableLocalTimeline: "로컬 타임라인 활성화"
enableGlobalTimeline: "글로벌 타임라인 활성화"
disablingTimelinesInfo: "특정 타임라인을 비활성화하더라도 관리자 및 모더레이터는 계속 사용할 수 있습니다."
registration: "등록"
enableRegistration: "신규 회원가입을 활성화"
invite: "초대"
-proxyRemoteFiles: "리모트 파일 프록시"
-proxyRemoteFilesDescription: "이 설정을 활성화할 경우, 저장되지 않았거나 저장용량 초과로 삭제된 리모트 파일을 로컬에서 프록시하여 썸네일을 생성하게 됩니다. 서버의 스토리지에는 영향을 주지 않습니다."
driveCapacityPerLocalAccount: "로컬 유저 한 명당 드라이브 용량"
driveCapacityPerRemoteAccount: "리모트 유저 한 명당 드라이브 용량"
inMb: "메가바이트 단위"
iconUrl: "아이콘 URL"
bannerUrl: "배너 이미지 URL"
+backgroundImageUrl: "배경 이미지 URL"
basicInfo: "기본 정보"
pinnedUsers: "고정된 유저"
pinnedUsersDescription: "\"발견하기\" 페이지 등에 고정하고 싶은 유저를 한 줄에 한 명씩 적습니다."
@@ -347,7 +358,6 @@ antennaExcludeKeywords: "제외할 키워드"
antennaKeywordsDescription: "공백으로 구분하는 경우 AND, 줄바꿈으로 구분하는 경우 OR로 지정됩니다"
notifyAntenna: "새로운 노트를 알림"
withFileAntenna: "파일이 첨부된 노트만"
-serviceworker: "ServiceWorker"
enableServiceworker: "ServiceWorker 사용"
antennaUsersDescription: "유저명을 한 줄에 한 명씩 적습니다"
caseSensitive: "대소문자를 구분"
@@ -373,6 +383,7 @@ administrator: "관리자"
token: "토큰"
twoStepAuthentication: "2단계 인증"
moderator: "모더레이터"
+moderation: "모더레이션"
nUsersMentioned: "{n}명이 언급함"
securityKey: "보안 키"
securityKeyName: "키 이름"
@@ -412,7 +423,6 @@ next: "다음"
retype: "다시 입력"
noteOf: "{user}의 노트"
inviteToGroup: "그룹에 초대하기"
-maxNoteTextLength: "노트의 문자 수 제한"
quoteAttached: "인용함"
quoteQuestion: "인용해서 작성하시겠습니까?"
noMessagesYet: "아직 대화가 없습니다"
@@ -436,10 +446,12 @@ signinWith: "{x}로 로그인"
signinFailed: "로그인할 수 없습니다. 사용자명과 비밀번호를 확인하여 주십시오."
tapSecurityKey: "보안 키를 터치"
or: "혹은"
+language: "언어"
uiLanguage: "UI 표시 언어"
groupInvited: "그룹에 초대되었습니다"
aboutX: "{x}에 대하여"
useOsNativeEmojis: "OS 기본 이모지를 사용"
+disableDrawer: "드로어 메뉴를 사용하지 않기"
youHaveNoGroups: "그룹이 없습니다"
joinOrCreateGroup: "다른 그룹의 초대를 받거나, 직접 새 그룹을 만들어 보세요."
noHistory: "기록이 없습니다"
@@ -450,7 +462,7 @@ category: "카테고리"
tags: "태그"
docSource: "이 문서의 소스"
createAccount: "계정 만들기"
-existingAcount: "기존 계정"
+existingAccount: "기존 계정"
regenerate: "재생성"
fontSize: "글자 크기"
noFollowRequests: "처리되지 않은 팔로우 요청이 없습니다"
@@ -523,10 +535,11 @@ removeAllFollowing: "모든 팔로잉 해제"
removeAllFollowingDescription: "{host}(으)로부터 모든 팔로잉을 해제합니다. 해당 인스턴스가 더 이상 존재하지 않게 된 경우 등에 실행해 주세요."
userSuspended: "이 계정은 정지된 상태입니다."
userSilenced: "이 계정은 사일런스된 상태입니다."
-sidebar: "사이드바"
+yourAccountSuspendedTitle: "계정이 정지되었습니다"
+yourAccountSuspendedDescription: "이 계정은 서버의 이용 약관을 위반하거나, 기타 다른 이유로 인해 정지되었습니다. 자세한 사항은 관리자에게 문의해 주십시오. 계정을 새로 생성하지 마십시오."
+menu: "메뉴"
divider: "구분선"
addItem: "항목 추가"
-rooms: "방"
relays: "릴레이"
addRelay: "릴레이 추가"
inboxUrl: "Inbox 주소"
@@ -543,13 +556,17 @@ disablePlayer: "플레이어 닫기"
expandTweet: "트윗 확장하기"
themeEditor: "테마 에디터"
description: "설명"
+describeFile: "캡션 추가"
+enterFileDescription: "캡션 입력"
author: "작성자"
leaveConfirm: "저장하지 않은 변경사항이 있습니다. 취소하시겠습니까?"
manage: "관리"
plugins: "플러그인"
-pluginInstallWarn: "신뢰할 수 없는 플러그인은 설치하지 마십시오."
+preferencesBackups: "환경설정 백업"
deck: "덱"
undeck: "덱 해제"
+useBlurEffectForModal: "모달에 흐림 효과 사용"
+useFullReactionPicker: "모든 기능이 포함된 리액션 선택기 사용"
width: "폭"
height: "높이"
large: "크게"
@@ -564,7 +581,7 @@ pluginTokenRequestedDescription: "이 플러그인은 여기서 설정한 권한
notificationType: "알림 유형"
edit: "편집"
useStarForReactionFallback: "알 수 없는 리액션 이모지 대신 ★ 사용"
-emailConfig: "메일 서버 설정"
+emailServer: "메일 서버"
enableEmail: "이메일 송신 기능 활성화"
emailConfigInfo: "가입 시 메일 주소 확인이나 비밀번호 초기화 시에 사용합니다."
email: "이메일"
@@ -579,6 +596,9 @@ smtpSecure: "SMTP 연결에 Implicit SSL/TTS 사용"
smtpSecureInfo: "STARTTLS 사용 시에는 해제합니다."
testEmail: "이메일 전송 테스트"
wordMute: "단어 뮤트"
+regexpError: "정규 표현식 오류"
+regexpErrorDescription: "{tab}단어 뮤트 {line}행의 정규 표현식에 오류가 발생했습니다:"
+instanceMute: "인스턴스 뮤트"
userSaysSomething: "{name}님이 무언가를 말했습니다"
makeActive: "활성화"
display: "표시"
@@ -593,13 +613,12 @@ create: "생성"
notificationSetting: "알림 설정"
notificationSettingDesc: "표시할 알림의 종류를 선택해 주세요."
useGlobalSetting: "글로벌 설정을 사용하기"
-useGlobalSettingDesc: "활성화하면 계정의 알림 설정이 적용되니다. 비활성화하면 개별적으로 설정할 수 있게 됩니다."
+useGlobalSettingDesc: "활성화하면 계정의 알림 설정이 적용됩니다. 비활성화하면 개별적으로 설정할 수 있게 됩니다."
other: "기타"
regenerateLoginToken: "로그인 토큰을 재생성"
regenerateLoginTokenDescription: "로그인할 때 사용되는 내부 토큰을 재생성합니다. 일반적으로 이 작업을 실행할 필요는 없습니다. 이 기능을 사용하면 이 계정으로 로그인한 모든 기기에서 로그아웃됩니다."
setMultipleBySeparatingWithSpace: "공백으로 구분하여 여러 개 설정할 수 있습니다."
fileIdOrUrl: "파일 ID 또는 URL"
-chatOpenBehavior: "대화를 열 때의 동작"
behavior: "동작"
sample: "예시"
abuseReports: "신고"
@@ -607,10 +626,16 @@ reportAbuse: "신고"
reportAbuseOf: "{name}을 신고하기"
fillAbuseReportDescription: "신고하려는 이유를 자세히 알려주세요. 특정 게시물을 신고할 때에는 게시물의 URL도 포함해 주세요."
abuseReported: "신고를 보냈습니다. 신고해 주셔서 감사합니다."
+reporter: "신고자"
+reporteeOrigin: "피신고자"
+reporterOrigin: "신고자"
+forwardReport: "리모트 인스턴스에도 신고 내용 보내기"
+forwardReportIsAnonymous: "리모트 인스턴스에서는 나의 정보를 볼 수 없으며, 익명의 시스템 계정으로 표시됩니다."
send: "전송"
abuseMarkAsResolved: "해결됨으로 표시"
openInNewTab: "새 탭에서 열기"
openInSideView: "사이드뷰로 열기"
+defaultNavigationBehaviour: "기본 탐색 동작"
editTheseSettingsMayBreakAccount: "이 설정을 변경하면 계정이 손상될 수 있습니다."
instanceTicker: "노트의 인스턴스 정보"
waitingFor: "{x}을(를) 기다리고 있습니다"
@@ -622,6 +647,8 @@ clip: "클립"
createNew: "새로 만들기"
optional: "옵션"
createNewClip: "새 클립 만들기"
+unclip: "클립 해제"
+confirmToUnclipAlreadyClippedNote: "이 노트는 이미 \"{name}\" 클립에 포함되어 있습니다. 클립을 해제하시겠습니까?"
public: "공개"
i18nInfo: "Misskey는 자원봉사자들에 의해 다양한 언어로 번역되고 있습니다. {link}에서 번역에 참가할 수 있습니다."
manageAccessTokens: "액세스 토큰 관리"
@@ -653,7 +680,6 @@ emailVerified: "메일 주소가 확인되었습니다."
noteFavoritesCount: "즐겨찾기한 노트 수"
pageLikesCount: "좋아요 한 Page 수"
pageLikedCount: "Page에 받은 좋아요 수"
-reversiCount: "리버시 대국 횟수"
contact: "연락처"
useSystemFont: "시스템 기본 글꼴을 사용"
clips: "클립"
@@ -668,6 +694,7 @@ center: "가운데"
wide: "넓게"
narrow: "좁게"
reloadToApplySetting: "이 설정을 적용하려면 페이지를 새로고침해야 합니다. 바로 새로고침하시겠습니까?"
+needReloadToApply: "변경 사항은 새로고침하면 적용됩니다."
showTitlebar: "타이틀 바를 표시하기"
clearCache: "캐시 비우기"
onlineUsersCount: "{n}명이 접속 중"
@@ -682,12 +709,257 @@ textColor: "문자 색"
saveAs: "다른 이름으로 저장"
advanced: "고급"
value: "값"
+createdAt: "생성된 날짜"
updatedAt: "수정한 날짜"
saveConfirm: "저장하시겠습니까?"
deleteConfirm: "삭제하시겠습니까?"
invalidValue: "올바른 값이 아닙니다."
registry: "레지스트리"
closeAccount: "계정 폐쇄"
+currentVersion: "현재 버전"
+latestVersion: "최신 버전"
+youAreRunningUpToDateClient: "사용 중인 클라이언트는 최신입니다."
+newVersionOfClientAvailable: "새로운 버전의 클라이언트를 이용할 수 있습니다."
+usageAmount: "사용량"
+capacity: "용량"
+inUse: "사용중"
+editCode: "코드 수정"
+apply: "적용"
+receiveAnnouncementFromInstance: "이 인스턴스의 알림을 이메일로 수신할게요"
+emailNotification: "메일 알림"
+publish: "게시"
+inChannelSearch: "채널에서 검색"
+useReactionPickerForContextMenu: "우클릭하여 리액션 선택기 열기"
+typingUsers: "{users} 님이 입력하고 있어요.."
+jumpToSpecifiedDate: "특정 날짜로 이동"
+showingPastTimeline: "과거의 타임라인을 표시하고 있어요"
+clear: "지우기"
+markAllAsRead: "모두 읽은 상태로 표시"
+goBack: "뒤로"
+unlikeConfirm: "좋아요를 취소할까요?"
+fullView: "전체 화면"
+quitFullView: "전체 화면 해제"
+addDescription: "설명 추가"
+userPagePinTip: "각 노트의 메뉴에서 「프로필에 고정」을 선택하는 것으로, 여기에 노트를 표시해 둘 수 있어요."
+notSpecifiedMentionWarning: "수신자가 선택되지 않은 멘션이 있어요"
+info: "정보"
+userInfo: "유저 정보"
+unknown: "알 수 없음"
+onlineStatus: "온라인 상태"
+hideOnlineStatus: "온라인 상태 숨기기"
+hideOnlineStatusDescription: "온라인 상태를 숨기면, 검색과 같은 일부 기능에 영향을 미칠 수 있습니다."
+online: "온라인"
+active: "최근에 활동함"
+offline: "오프라인"
+notRecommended: "추천하지 않음"
+botProtection: "Bot 방어"
+instanceBlocking: "인스턴스 차단"
+selectAccount: "계정 선택"
+switchAccount: "계정 바꾸기"
+enabled: "활성화"
+disabled: "비활성화"
+quickAction: "빠른 동작"
+user: "유저"
+administration: "관리"
+accounts: "계정"
+switch: "전환"
+noMaintainerInformationWarning: "관리자 정보가 설정되어 있지 않습니다."
+noBotProtectionWarning: "Bot 방어가 설정되어 있지 않습니다."
+configure: "설정하기"
+postToGallery: "갤러리에 업로드"
+gallery: "갤러리"
+recentPosts: "최근 포스트"
+popularPosts: "인기 포스트"
+shareWithNote: "노트로 공유"
+ads: "광고"
+expiration: "기한"
+memo: "메모"
+priority: "우선순위"
+high: "높음"
+middle: "보통"
+low: "낮음"
+emailNotConfiguredWarning: "메일 주소가 설정되어 있지 않습니다."
+ratio: "비율"
+previewNoteText: "본문 미리보기"
+customCss: "CSS 사용자화"
+customCssWarn: "이 설정은 기능을 알고 있는 경우에만 사용해야 합니다. 잘못된 값을 입력하면 클라이언트가 정상적으로 작동하지 않을 수 있습니다."
+global: "글로벌"
+squareAvatars: "프로필 아이콘을 사각형으로 표시"
+sent: "전송"
+received: "수신"
+searchResult: "검색 결과"
+hashtags: "해시태그"
+troubleshooting: "문제 해결"
+useBlurEffect: "UI에 흐림 효과 사용"
+learnMore: "자세히"
+misskeyUpdated: "Misskey가 업데이트 되었습니다!"
+whatIsNew: "패치 정보 보기"
+translate: "번역"
+translatedFrom: "{x}에서 번역"
+accountDeletionInProgress: "계정 삭제 작업을 진행하고 있습니다"
+usernameInfo: "서버상에서 계정을 식별하기 위한 이름. 알파벳(a~z, A~Z), 숫자(0~9) 및 언더바(_)를 사용할 수 있습니다. 사용자명은 나중에 변경할 수 없습니다."
+aiChanMode: "아이 모드"
+keepCw: "CW 유지하기"
+pubSub: "Pub/Sub 계정"
+lastCommunication: "마지막 통신"
+resolved: "해결됨"
+unresolved: "해결되지 않음"
+breakFollow: "팔로워 해제"
+itsOn: "켜짐"
+itsOff: "꺼짐"
+emailRequiredForSignup: "가입할 때 이메일 주소 입력을 필수로 하기"
+unread: "읽지 않음"
+filter: "필터"
+controlPanel: "제어판"
+manageAccounts: "계정 관리"
+makeReactionsPublic: "리액션 목록을 공개하기"
+makeReactionsPublicDescription: "나의 리액션을 누구나 볼 수 있게 합니다."
+classic: "클래식"
+muteThread: "이 글타래를 뮤트"
+unmuteThread: "글타래 뮤트 해제"
+ffVisibility: "내 인맥의 공개 범위"
+ffVisibilityDescription: "나의 팔로우와 팔로워 정보에 대한 공개 범위를 설정할 수 있습니다."
+continueThread: "이 글타래 이어서 보기"
+deleteAccountConfirm: "계정이 삭제되고 되돌릴 수 없게 됩니다. 계속하시겠습니까? "
+incorrectPassword: "비밀번호가 올바르지 않습니다."
+voteConfirm: "\"{choice}\"에 투표하시겠습니까?"
+hide: "숨기기"
+leaveGroup: "그룹 나가기"
+leaveGroupConfirm: "\"{name}\"에서 나갈까요?"
+useDrawerReactionPickerForMobile: "모바일에서 드로어 메뉴로 표시"
+welcomeBackWithName: "환영합니다, {name}님"
+clickToFinishEmailVerification: "[{ok}]를 눌러 이메일 인증을 완료하세요."
+overridedDeviceKind: "장치 유형"
+smartphone: "스마트폰"
+tablet: "태블릿"
+auto: "자동"
+themeColor: "테마 컬러"
+size: "크기"
+numberOfColumn: "한 줄에 보일 리액션의 수"
+searchByGoogle: "검색"
+instanceDefaultLightTheme: "인스턴스 기본 라이트 테마"
+instanceDefaultDarkTheme: "인스턴스 기본 다크 테마"
+instanceDefaultThemeDescription: "객체 형식의 테마 코드를 입력해 주세요."
+mutePeriod: "뮤트할 기간"
+indefinitely: "무기한"
+tenMinutes: "10분"
+oneHour: "1시간"
+oneDay: "1일"
+oneWeek: "일주일"
+reflectMayTakeTime: "반영되기까지 시간이 걸릴 수 있습니다."
+failedToFetchAccountInformation: "계정 정보를 가져오지 못했습니다"
+rateLimitExceeded: "요청 제한 횟수를 초과하였습니다"
+cropImage: "이미지 자르기"
+cropImageAsk: "이미지를 자르시겠습니까?"
+file: "파일"
+recentNHours: "최근 {n}시간"
+recentNDays: "최근 {n}일"
+noEmailServerWarning: "메일 서버가 설정되어 있지 않습니다."
+thereIsUnresolvedAbuseReportWarning: "해결되지 않은 신고가 있습니다."
+recommended: "추천"
+check: "체크"
+driveCapOverrideLabel: "이 유저의 드라이브 용량을 변경"
+driveCapOverrideCaption: "0 이하를 지정하면 해제됩니다."
+requireAdminForView: "열람하려면 관리자 계정으로 로그인해야 합니다."
+isSystemAccount: "시스템에 의해 자동으로 생성되어 관리되는 계정입니다."
+typeToConfirm: "계속하시려면 {x} 을 입력하세요"
+deleteAccount: "계정 삭제"
+document: "문서"
+numberOfPageCache: "페이지 캐시 수"
+numberOfPageCacheDescription: "숫자가 클 수록 편리성이 높아지지만, 시스템 자원과 메모리를 더 많이 사용합니다."
+logoutConfirm: "로그아웃 하시겠습니까?"
+lastActiveDate: "마지막 이용"
+pleaseSelect: "선택해 주세요"
+reverse: "플립"
+colored: "색 입히기"
+refreshInterval: "업데이트 주기"
+label: "라벨"
+type: "종류"
+speed: "속도"
+slow: "느리게"
+fast: "빠르게"
+sensitiveMediaDetection: "민감한 미디어 탐지"
+localOnly: "로컬에만"
+remoteOnly: "리모트만"
+failedToUpload: "업로드 실패"
+cannotUploadBecauseInappropriate: "이 파일은 부적절한 내용을 포함한다고 판단되어 업로드할 수 없습니다."
+cannotUploadBecauseNoFreeSpace: "드라이브 용량이 부족하여 업로드할 수 없습니다."
+beta: "베타"
+enableAutoSensitive: "자동 NSFW 탐지"
+enableAutoSensitiveDescription: "이용 가능할 경우 기계학습을 통해 자동으로 미디어 NSFW를 설정합니다. 이 기능을 해제하더라도, 인스턴스 정책에 따라 자동으로 설정될 수 있습니다."
+activeEmailValidationDescription: "유저가 입력한 메일 주소가 일회용 메일인지, 실제로 통신할 수 있는 지 엄격하게 검사합니다. 해제할 경우 이메일 형식에 대해서만 검사합니다."
+navbar: "네비게이션 바"
+shuffle: "셔플"
+account: "계정"
+move: "이동"
+_sensitiveMediaDetection:
+ description: "기계학습을 통해 자동으로 민감한 미디어를 탐지하여, 모더레이션에 참고할 수 있도록 합니다. 서버의 부하를 약간 증가시킵니다."
+ sensitivity: "탐지 민감도"
+ sensitivityDescription: "민감도가 낮을수록 안전한 미디어가 잘못 탐지될 확률이 줄어들며, 높을수록 민감한 미디어가 탐지되지 않을 확률이 줄어듭니다."
+ setSensitiveFlagAutomatically: "자동으로 NSFW로 설정하기"
+ setSensitiveFlagAutomaticallyDescription: "이 설정을 해제해도 탐지 결과는 유지됩니다."
+ analyzeVideos: "동영상도 같이 확인하기"
+ analyzeVideosDescription: "사진 뿐만 아니라 동영상의 NSFW 여부도 탐지합니다. 서버의 부하를 약간 증가시킵니다."
+_emailUnavailable:
+ used: "이 메일 주소는 사용중입니다"
+ format: "형식이 올바르지 않습니다"
+ disposable: "임시 이메일 주소는 사용할 수 없습니다"
+ mx: "메일 서버가 올바르지 않습니다"
+ smtp: "메일 서버가 응답하지 않습니다"
+_ffVisibility:
+ public: "공개"
+ followers: "팔로워에게만 공개"
+ private: "비공개"
+_signup:
+ almostThere: "거의 다 끝났습니다"
+ emailAddressInfo: "당신이 사용하고 있는 이메일 주소를 입력해 주세요. 이메일 주소는 다른 유저에게 공개되지 않습니다."
+ emailSent: "입력하신 메일 주소({email})로 확인 메일을 보내드렸습니다. 가입을 완료하시려면 보내드린 메일에 있는 링크로 접속해 주세요."
+_accountDelete:
+ accountDelete: "계정 삭제"
+ mayTakeTime: "계정 삭제는 서버에 부하를 가하기 때문에, 작성한 콘텐츠나 업로드한 파일의 수가 많으면 완료까지 시간이 걸릴 수 있습니다."
+ sendEmail: "계정 삭제가 완료되면 등록된 이메일 주소로 알림을 보냅니다."
+ requestAccountDelete: "계정 삭제 요청"
+ started: "삭제 작업이 시작되었습니다."
+ inProgress: "삭제 진행 중"
+_ad:
+ back: "뒤로"
+ reduceFrequencyOfThisAd: "이 광고의 표시 빈도 낮추기"
+_forgotPassword:
+ enterEmail: "여기에 계정에 등록한 메일 주소를 입력해 주세요. 입력한 메일 주소로 비밀번호 재설정 링크를 발송합니다."
+ ifNoEmail: "메일 주소를 등록하지 않은 경우, 관리자에 문의해 주십시오."
+ contactAdmin: "이 인스턴스에서는 메일 기능이 지원되지 않습니다. 비밀번호를 재설정하려면 관리자에게 문의해 주십시오."
+_gallery:
+ my: "내 갤러리"
+ liked: "좋아요 한 갤러리"
+ like: "좋아요!"
+ unlike: "좋아요 취소"
+_email:
+ _follow:
+ title: "새로운 팔로워가 있습니다"
+ _receiveFollowRequest:
+ title: "팔로우 요청을 받았습니다"
+_plugin:
+ install: "플러그인 설치"
+ installWarn: "신뢰할 수 없는 플러그인은 설치하지 않는 것이 좋습니다."
+ manage: "플러그인 관리"
+_preferencesBackups:
+ list: "생성한 백업"
+ saveNew: "새 백업 만들기"
+ loadFile: "파일 가져오기"
+ apply: "이 기기에 적용"
+ save: "현재 설정으로 덮어쓰기"
+ inputName: "백업 이름을 입력하세요"
+ cannotSave: "저장하지 못했습니다"
+ nameAlreadyExists: "\"{name}\" 백업이 이미 존재합니다. 다른 이름을 설정하여 주십시오."
+ applyConfirm: "\"{name}\" 백업을 현재 기기에 적용하시겠습니까? 현재 설정은 덮어 씌워집니다."
+ saveConfirm: "{name} 을 덮어쓰시겠습니까?"
+ deleteConfirm: "{name} 을(를) 삭제하시겠습니까?"
+ renameConfirm: "\"{old}\" 백업을 \"{new}\"(으)로 바꾸시겠습니까?"
+ noBackups: "저장된 백업이 없습니다. \"새 백업 만들기\"를 눌러 현재 클라이언트 설정을 서버에 백업할 수 있습니다."
+ createdAt: "생성 날짜: {date} {time}"
+ updatedAt: "갱신 날짜: {date} {time}"
+ cannotLoad: "가져오기에 실패했습니다"
+ invalidFile: "파일 형식이 올바르지 않습니다."
_registry:
scope: "범위"
key: "키"
@@ -721,6 +993,7 @@ _mfm:
linkDescription: "문장의 특정 범위를 URL로 표시합니다."
bold: "굵음/볼드체"
boldDescription: "문자를 굵게 강조합니다."
+ small: "눈에 띄지 않음"
smallDescription: "내용을 작고 연하게 보이게 합니다."
center: "가운데 정렬"
centerDescription: "내용을 가운데 정렬로 보이게 합니다."
@@ -733,53 +1006,45 @@ _mfm:
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: "내용의 글꼴을 지정할 수 있습니다."
-_reversi:
- reversi: "리버시"
- gameSettings: "대국 설정"
- chooseBoard: "보드 선택"
- blackOrWhite: "선공/후공"
- blackIs: "{name}님이 흑(선공)"
- rules: "규칙"
- botSettings: "Bot 설정"
- thisGameIsStartedSoon: "잠시 후에 대국이 시작됩니다"
- waitingForOther: "상대의 준비가 완료될 때까지 기다리고 있습니다"
- waitingForMe: "당신의 준비 완료를 기다리고 있습니다"
- ready: "준비 완료"
- cancelReady: "준비 취소"
- opponentTurn: "상대의 차례입니다"
- myTurn: "당신의 차례입니다"
- turnOf: "{name}님의 차례입니다"
- pastTurnOf: "{name}님의 차례"
- surrender: "기권"
- surrendered: "기권에 의해"
- drawn: "무승부"
- won: "{name}님의 승리"
- black: "흑"
- white: "백"
- total: "합계"
- turnCount: "{count}턴 째"
- myGames: "내 대국"
- allGames: "모두의 대국"
- ended: "종료"
- playing: "지금 대국 중"
- isLlotheo: "돌이 적은 사람이 승리 (llotheo)"
- loopedMap: "루프 지도"
- canPutEverywhere: "어디에나 놓을 수 있음"
+ rainbow: "무지개"
+ rainbowDescription: "내용을 무지개로 표시합니다."
+ sparkle: "반짝반짝"
+ sparkleDescription: "반짝이는 파티클 효과를 추가합니다."
+ rotate: "회전"
+ rotateDescription: "지정한 각도로 회전시킵니다."
+ plain: "평문"
+ plainDescription: "안에 있는 MFM 구문을 모두 무시하고 평문으로 표시합니다."
_instanceTicker:
none: "보이지 않음"
remote: "리모트 유저에게만 보이기"
@@ -798,8 +1063,10 @@ _channel:
following: "팔로잉"
usersCount: "{n}명 참여 중"
notesCount: "{n}노트"
-_sidebar:
- icon: "아이콘"
+_menuDisplay:
+ sideFull: "가로"
+ sideIcon: "가로(아이콘)"
+ top: "상단"
hide: "숨기기"
_wordMute:
muteWords: "뮤트할 단어"
@@ -807,12 +1074,20 @@ _wordMute:
muteWordsDescription2: "정규 표현식을 사용하려면 키워드를 빗금표(/)로 감싸 주세요."
softDescription: "지정한 조건의 노트를 타임라인에서 숨깁니다."
hardDescription: "지정한 조건의 노트를 타임라인에 추가하지 않습니다. 타임라인에 추가되지 않은 노트는 조건을 변경해도 표시되지 않습니다."
+ soft: "보통"
+ hard: "보다 높은 수준"
mutedNotes: "뮤트된 노트"
+_instanceMute:
+ instanceMuteDescription: "뮤트한 인스턴스에서 오는 답글을 포함한 모든 노트와 Renote를 뮤트합니다."
+ instanceMuteDescription2: "한 줄에 하나씩 입력해 주세요"
+ title: "지정한 인스턴스의 노트를 숨깁니다."
+ heading: "뮤트할 인스턴스"
_theme:
explore: "테마 찾아보기"
install: "테마 설치"
manage: "테마 관리"
code: "테마 코드"
+ description: "설명"
installed: "{name} 테마가 설치되었습니다"
installedThemes: "설치된 테마"
builtinThemes: "표준 테마"
@@ -830,16 +1105,57 @@ _theme:
func: "함수"
funcKind: "함수 종류"
argument: "매개변수"
+ basedProp: "기준으로 할 속성 이름"
+ alpha: "불투명도"
+ darken: "어두움"
+ lighten: "밝음"
inputConstantName: "상수 이름을 입력하세요"
importInfo: "여기에 테마 코드를 붙여 넣어 에디터로 불러올 수 있습니다."
deleteConstantConfirm: "상수 {const}를 삭제하시겠습니까?"
keys:
accent: "강조 색상"
+ bg: "배경"
+ fg: "텍스트"
+ focus: "포커스"
+ indicator: "인디케이터"
+ panel: "패널"
+ shadow: "그림자"
+ header: "헤더"
+ navBg: "사이드바 배경"
+ navFg: "사이드바 텍스트"
+ navHoverFg: "사이드바 텍스트 (호버)"
+ navActive: "사이드바 텍스트 (활성)"
+ navIndicator: "사이드바 인디케이터"
link: "링크"
hashtag: "해시태그"
mention: "멘션"
+ mentionMe: "나에게 보낸 멘션"
renote: "Renote"
+ modalBg: "모달 배경"
divider: "구분선"
+ scrollbarHandle: "스크롤바 핸들"
+ scrollbarHandleHover: "스크롤바 핸들 (호버)"
+ dateLabelFg: "날짜 레이블 텍스트"
+ infoBg: "정보창 배경"
+ infoFg: "정보창 텍스트"
+ infoWarnBg: "경고창 배경"
+ infoWarnFg: "경고창 텍스트"
+ cwBg: "CW 버튼 배경"
+ cwFg: "CW 버튼 텍스트"
+ cwHoverBg: "CW 버튼 배경 (호버)"
+ toastBg: "알림창 배경"
+ toastFg: "알림창 텍스트"
+ buttonBg: "버튼 배경"
+ buttonHoverBg: "버튼 배경 (호버)"
+ inputBorder: "입력 필드 테두리"
+ listItemHoverBg: "리스트 항목 배경 (호버)"
+ driveFolderBg: "드라이브 폴더 배경"
+ wallpaperOverlay: "배경화면 오버레이"
+ badge: "배지"
+ messageBg: "채팅 배경"
+ accentDarken: "강조 색상 (어두움)"
+ accentLighten: "강조 색상 (밝음)"
+ fgHighlighted: "강조된 텍스트"
_sfx:
note: "새 노트"
noteMy: "내 노트"
@@ -848,10 +1164,7 @@ _sfx:
chatBg: "대화 (백그라운드)"
antenna: "안테나 수신"
channel: "채널 알림"
- reversiPutBlack: "리버시: 흑돌을 두었을 때"
- reversiPutWhite: "리버시: 백돌을 두었을 때"
_ago:
- unknown: "알 수 없음"
future: "미래"
justNow: "방금 전"
secondsAgo: "{n}초 전"
@@ -895,6 +1208,7 @@ _2fa:
registerKey: "키를 등록"
step1: "먼저, {a}나 {b}등의 인증 앱을 사용 중인 디바이스에 설치합니다."
step2: "그 후, 표시되어 있는 QR코드를 앱으로 스캔합니다."
+ step2Url: "데스크톱 앱에서는 다음 URL을 입력하세요:"
step3: "앱에 표시된 토큰을 입력하시면 완료됩니다."
step4: "다음 로그인부터는 토큰을 입력해야 합니다."
securityKeyInfo: "FIDO2를 지원하는 하드웨어 보안 키 혹은 디바이스의 지문인식이나 화면잠금 PIN을 이용해서 로그인하도록 설정할 수 있습니다."
@@ -922,11 +1236,15 @@ _permissions:
"read:pages": "페이지를 봅니다"
"write:pages": "페이지를 수정합니다"
"read:page-likes": "페이지의 좋아요를 확인합니다"
- "write:page-likes": "페이지의 좋아요를 추가하거나 삭제합니다"
+ "write:page-likes": "페이지에 좋아요를 추가하거나 취소합니다"
"read:user-groups": "유저 그룹을 조회합니다"
"write:user-groups": "유저 그룹을 만들거나, 초대하거나, 이름을 변경하거나, 양도하거나, 삭제합니다"
"read:channels": "채널을 보기"
- "write:channels": "채널을 변경하기"
+ "write:channels": "채널을 추가하거나 삭제합니다"
+ "read:gallery": "갤러리를 봅니다"
+ "write:gallery": "갤러리를 추가하거나 삭제합니다"
+ "read:gallery-likes": "갤러리의 좋아요를 확인합니다"
+ "write:gallery-likes": "갤러리에 좋아요를 추가하거나 취소합니다"
_auth:
shareAccess: "\"{name}\" 이 계정에 접근하는 것을 허용하시겠습니까?"
shareAccessAsk: "이 애플리케이션이 계정에 접근하는 것을 허용하시겠습니까?"
@@ -959,12 +1277,17 @@ _widgets:
activity: "활동"
photos: "사진"
digitalClock: "디지털 시계"
+ unixClock: "UNIX 시계"
federation: "연합"
+ instanceCloud: "인스턴스 구름"
postForm: "글 입력란"
slideshow: "슬라이드 쇼"
button: "버튼"
+ onlineUsers: "온라인 유저"
jobQueue: "작업 대기열"
serverMetric: "서버 통계"
+ aiscript: "AiScript 콘솔"
+ aichan: "아이"
_cw:
hide: "숨기기"
show: "더 보기"
@@ -1019,17 +1342,24 @@ _profile:
username: "유저명"
description: "자기소개"
youCanIncludeHashtags: "해시 태그를 포함할 수 있습니다."
+ metadata: "추가 정보"
+ metadataEdit: "추가 정보 편집"
+ metadataDescription: "프로필에 추가 정보를 표시할 수 있어요"
metadataLabel: "라벨"
metadataContent: "내용"
+ changeAvatar: "아바타 이미지 변경"
+ changeBanner: "배너 이미지 변경"
_exportOrImport:
allNotes: "모든 노트"
followingList: "팔로잉"
muteList: "뮤트"
blockingList: "차단"
userLists: "리스트"
+ excludeMutingUsers: "뮤트한 유저 제외하기"
+ excludeInactiveUsers: "휴면 중인 계정 제외하기"
_charts:
- federationInstancesIncDec: "연합 인스턴스 수 증감"
- federationInstancesTotal: "연합 인스턴스 수 합계"
+ federation: "연합"
+ apRequest: "요청"
usersIncDec: "유저 수 증감"
usersTotal: "유저 수 합계"
activeUsers: "활성 유저 수"
@@ -1058,68 +1388,6 @@ _timelines:
local: "로컬"
social: "소셜"
global: "글로벌"
-_rooms:
- roomOf: "{user}의 방"
- addFurniture: "가구를 배치"
- translate: "이동"
- rotate: "회전"
- exit: "뒤로"
- remove: "치우기"
- clear: "모두 치우기"
- clearConfirm: "정말 방 안의 모든 가구를 치우시겠습니까?"
- leaveConfirm: "저장되지 않은 변경 사항이 있습니다. 정말 나가시겠습니까?"
- chooseImage: "이미지 선택"
- roomType: "방 스타일"
- carpetColor: "바닥 색상"
- _roomType:
- default: "기본값"
- washitsu: "일본식"
- _furnitures:
- milk: "우유 팩"
- bed: "침대"
- low-table: "낮은 테이블"
- desk: "책상"
- chair: "의자"
- chair2: "의자 2"
- fan: "환기구"
- pc: "컴퓨터"
- plant: "관엽식물"
- plant2: "관엽식물 2"
- eraser: "지우개"
- pencil: "연필"
- pudding: "푸딩"
- cardboard-box: "골판지 상자"
- cardboard-box2: "골판지 상자 2"
- cardboard-box3: "골판지 상자 3"
- book: "책"
- book2: "책 2"
- piano: "피아노"
- facial-tissue: "휴지 상자"
- server: "서버"
- moon: "달"
- corkboard: "게시판"
- mousepad: "마우스 패드"
- monitor: "모니터"
- keyboard: "키보드"
- carpet-stripe: "카페트 (줄무늬)"
- mat: "매트"
- color-box: "책장"
- wall-clock: "벽걸이 시계"
- photoframe: "액자"
- cube: "큐브"
- tv: "TV"
- pinguin: "펭귄"
- rubik-cube: "루빅스 큐브"
- poster-h: "포스터 (가로)"
- poster-v: "포스터 (세로)"
- sofa: "소파"
- spiral: "나선형 계단"
- bin: "휴지통"
- cup-noodle: "컵라면"
- holo-display: "홀로그램"
- energy-drink: "에너지 드링크"
- doll-ai: "아이쨩 인형"
- banknote: "지폐뭉치"
_pages:
newPage: "페이지 만들기"
editPage: "페이지 수정"
@@ -1127,6 +1395,7 @@ _pages:
created: "페이지를 만들었습니다"
updated: "페이지를 수정했습니다"
deleted: "페이지가 삭제되었습니다"
+ pageSetting: "페이지 설정"
nameAlreadyExists: "지정한 페이지 URL이 이미 존재합니다"
invalidNameTitle: "유효하지 않은 페이지 URL입니다"
invalidNameText: "비어있지 않은지 확인해주세요"
@@ -1137,6 +1406,7 @@ _pages:
unlike: "좋아요 해제"
my: "내 페이지"
liked: "좋아요한 페이지"
+ featured: "인기"
inspector: "인스펙터"
contents: "콘텐츠"
content: "페이지 블록"
@@ -1192,7 +1462,10 @@ _pages:
id: "캔버스 ID"
width: "폭"
height: "높이"
+ note: "노트필기"
_note:
+ id: "노트 ID"
+ idDescription: "노트 URL을 붙여넣어 설정할 수도 있습니다."
detailed: "세부 정보 보기"
switch: "스위치"
_switch:
@@ -1415,27 +1688,51 @@ _notification:
youGotQuote: "{name}님이 인용함"
youRenoted: "{name}님이 Renote"
youGotPoll: "{name}님이 투표함"
+ youGotMessagingMessageFromUser: "{name} 님이 보낸 채팅이 있어요"
+ youGotMessagingMessageFromGroup: "{name}에서 보낸 채팅이 있어요"
youWereFollowed: "새로운 팔로워가 있습니다"
youReceivedFollowRequest: "새로운 팔로우 요청이 있습니다"
yourFollowRequestAccepted: "팔로우 요청이 수락되었습니다"
youWereInvitedToGroup: "그룹에 초대되었습니다"
+ pollEnded: "투표 결과가 발표되었습니다"
+ emptyPushNotificationMessage: "푸시 알림이 갱신되었습니다"
_types:
+ all: "전부"
follow: "팔로잉"
mention: "멘션"
+ reply: "답글"
renote: "Renote"
quote: "인용"
reaction: "리액션"
+ pollVote: "투표 참여"
+ pollEnded: "투표가 종료됨"
+ receiveFollowRequest: "팔로우 요청을 받았을 때"
+ followRequestAccepted: "팔로우 요청이 승인되었을 때"
+ groupInvited: "그룹에 초대되었을 때"
+ app: "연동된 앱을 통한 알림"
+ _actions:
+ followBack: "팔로우"
+ reply: "답글"
+ renote: "Renote"
_deck:
alwaysShowMainColumn: "메인 칼럼 항상 표시"
columnAlign: "칼럼 정렬"
addColumn: "칼럼 추가"
+ configureColumn: "칼럼 설정"
swapLeft: "왼쪽으로 이동"
swapRight: "오른쪽으로 이동"
swapUp: "위로 이동"
swapDown: "아래로 이동"
stackLeft: "왼쪽에 쌓기"
popRight: "오른쪽으로 빼기"
+ profile: "프로파일"
+ newProfile: "새 프로파일"
+ deleteProfile: "프로파일 삭제"
+ introduction: "칼럼을 조합해서 나만의 인터페이스를 구성해 보아요!"
+ introduction2: "나중에라도 화면 우측의 + 버튼을 눌러 새 칼럼을 추가할 수 있습니다."
+ widgetsIntroduction: "칼럼 메뉴의 \"위젯 편집\"에서 위젯을 추가해 주세요"
_columns:
+ main: "메인"
widgets: "위젯"
notifications: "알림"
tl: "타임라인"
diff --git a/locales/nl-NL.yml b/locales/nl-NL.yml
index 14946f0a7..7a0580f2d 100644
--- a/locales/nl-NL.yml
+++ b/locales/nl-NL.yml
@@ -1,2 +1,385 @@
---
_lang_: "Nederlands"
+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! 🚀"
+monthAndDay: "{day} {month}"
+search: "Zoeken"
+notifications: "Meldingen"
+username: "Gebruikersnaam"
+password: "Wachtwoord"
+forgotPassword: "Wachtwoord vergeten"
+fetchingAsApObject: "Ophalen vanuit de Fediverse"
+ok: "Ok"
+gotIt: "Begrepen"
+cancel: "Annuleren"
+enterUsername: "Voer een gebruikersnaam in"
+renotedBy: "Hergedeeld door {user}"
+noNotes: "Geen notities"
+noNotifications: "Geen meldingen"
+instance: "Server"
+settings: "Instellingen"
+basicSettings: "Basisinstellingen"
+otherSettings: "Overige instellingen"
+openInWindow: "In een venster openen"
+profile: "Profiel"
+timeline: "Tijdlijn"
+noAccountDescription: "Deze gebruiker heeft nog geen bio geschreven"
+login: "Inloggen"
+loggingIn: "Aan het inloggen"
+logout: "Afmelden"
+signup: "Registreren"
+uploading: "Bezig met uploaden"
+save: "Opslaan"
+users: "Gebruikers"
+addUser: "Toevoegen gebruiker"
+favorite: "Favorieten"
+favorites: "Toevoegen aan favorieten"
+unfavorite: "Verwijderen uit favorieten"
+favorited: "Toegevoegd aan favorieten."
+alreadyFavorited: "Al toegevoegd aan favorieten"
+cantFavorite: "Kon niet toevoegen aan favorieten"
+pin: "Vastmaken aan profielpagina"
+unpin: "Losmaken van profielpagina"
+copyContent: "Kopiëren inhoud"
+copyLink: "Kopiëren link"
+delete: "Verwijderen"
+deleteAndEdit: "Verwijderen en bewerken"
+deleteAndEditConfirm: "Weet je zeker dat je deze notitie wilt verwijderen en dan bewerken? Je verliest alle reacties, herdelingen en antwoorden erop."
+addToList: "Aan lijst toevoegen"
+sendMessage: "Verstuur bericht"
+copyUsername: "Kopiëren gebruikersnaam "
+searchUser: "Zoeken een gebruiker"
+reply: "Antwoord"
+loadMore: "Laad meer"
+showMore: "Toon meer"
+youGotNewFollower: "volgde jou"
+receiveFollowRequest: "Volgverzoek ontvangen"
+followRequestAccepted: "Volgverzoek geaccepteerd"
+mention: "Vermelding"
+mentions: "Vermeldingen"
+directNotes: "Directe notities"
+importAndExport: "Import / export"
+import: "Import"
+export: "Export"
+files: "Bestanden"
+download: "Downloaden"
+driveFileDeleteConfirm: "Weet je zeker dat je het bestand \"{name}\" wilt verwijderen? Notities met dit bestand als bijlage worden ook verwijderd."
+unfollowConfirm: "Weet je zeker dat je {name} wilt ontvolgen?"
+exportRequested: "Je hebt een export aangevraagd. Dit kan een tijdje duren. Het wordt toegevoegd aan je Drive zodra het is voltooid."
+importRequested: "Je hebt een import aangevraagd. Dit kan even duren."
+lists: "Lijsten"
+noLists: "Je hebt geen lijsten"
+note: "Notitie"
+notes: "Notities"
+following: "Volgend"
+followers: "Volgers"
+followsYou: "Volgt jou"
+createList: "Creëer lijst"
+manageLists: "Beheren lijsten"
+error: "Fout"
+somethingHappened: "Er is iets misgegaan."
+retry: "Probeer opnieuw"
+pageLoadError: "Pagina laden mislukt"
+pageLoadErrorDescription: "Dit wordt normaal gesproken veroorzaakt door netwerkfouten of door de cache van de browser. Probeer de cache te wissen en probeer het na een tijdje wachten opnieuw."
+serverIsDead: "De server reageert niet. Wacht even en probeer het opnieuw."
+youShouldUpgradeClient: "Werk je client bij om deze pagina te zien."
+enterListName: "Voer de naam van de lijst in"
+privacy: "Privacy"
+makeFollowManuallyApprove: "Volgverzoeken vergen een goedkeuring"
+defaultNoteVisibility: "Standaard zichtbaarheid"
+follow: "Volgen"
+followRequest: "Verzoek om te mogen volgen"
+followRequests: "Volgverzoeken"
+unfollow: "Ontvolgen"
+followRequestPending: "Wachten op goedkeuring volgverzoek"
+enterEmoji: "Voer een emoji in"
+renote: "Herdelen"
+unrenote: "Stop herdelen"
+renoted: "Herdeeld"
+cantRenote: "Dit bericht kan niet worden herdeeld"
+cantReRenote: "Een herdeling kan niet worden herdeeld"
+quote: "Quote"
+pinnedNote: "Vastgemaakte notitie"
+pinned: "Vastmaken aan profielpagina"
+you: "Jij"
+clickToShow: "Klik om te bekijken"
+sensitive: "NSFW"
+add: "Toevoegen"
+reaction: "Reacties"
+reactionSettingDescription2: "Sleep om opnieuw te ordenen, Klik om te verwijderen, Druk op \"+\" om toe te voegen"
+rememberNoteVisibility: "Vergeet niet de notitie zichtbaarheidsinstellingen"
+attachCancel: "Verwijder bijlage"
+markAsSensitive: "Markeren als NSFW"
+unmarkAsSensitive: "Geen NSFW"
+enterFileName: "Invoeren bestandsnaam"
+mute: "Dempen"
+unmute: "Stop dempen"
+block: "Blokkeren"
+unblock: "Deblokkeren"
+suspend: "Opschorten"
+unsuspend: "Heractiveren"
+blockConfirm: "Weet je zeker dat je dit account wil blokkeren?"
+unblockConfirm: "Ben je zeker dat je deze account wil blokkeren?"
+suspendConfirm: "Ben je zeker dat je deze account wil suspenderen?"
+unsuspendConfirm: "Ben je zeker dat je deze account wil opnieuw aanstellen?"
+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."
+flagAsCat: "Markeer dit account als een kat."
+flagAsCatDescription: "Zet deze vlag aan als je wilt aangeven dat dit account een kat is."
+flagShowTimelineReplies: "Toon antwoorden op de tijdlijn."
+flagShowTimelineRepliesDescription: "Als je dit vlag aanzet, toont de tijdlijn ook antwoorden op andere en niet alleen jouw eigen notities."
+autoAcceptFollowed: "Accepteer verzoeken om jezelf te volgen vanzelf als je de verzoeker al volgt."
+addAccount: "Account toevoegen"
+loginFailed: "Aanmelding mislukt."
+showOnRemote: "Toon op de externe instantie."
+general: "Algemeen"
+wallpaper: "Achtergrond"
+setWallpaper: "Achtergrond instellen"
+removeWallpaper: "Achtergrond verwijderen"
+searchWith: "Zoeken: {q}"
+youHaveNoLists: "Je hebt geen lijsten"
+followConfirm: "Weet je zeker dat je {name} wilt volgen?"
+proxyAccount: "Proxy account"
+proxyAccountDescription: "Een proxy-account is een account dat onder bepaalde voorwaarden fungeert als externe volger voor gebruikers. Als een gebruiker bijvoorbeeld een externe gebruiker aan de lijst toevoegt, wordt de activiteit van de externe gebruiker niet aan de server geleverd als geen lokale gebruiker die gebruiker volgt, dus het proxy-account volgt in plaats daarvan."
+host: "Server"
+selectUser: "Kies een gebruiker"
+recipient: "Ontvanger"
+annotation: "Reacties"
+federation: "Federatie"
+instances: "Server"
+registeredAt: "Geregistreerd op"
+latestRequestSentAt: "Laatste aanvraag verstuurd"
+latestRequestReceivedAt: "Laatste aanvraag ontvangen"
+latestStatus: "Laatste status"
+storageUsage: "Gebruikte opslagruimte"
+charts: "Grafieken"
+perHour: "Per uur"
+perDay: "Per dag"
+stopActivityDelivery: "Stop met versturen activiteiten"
+blockThisInstance: "Blokkeer deze server"
+operations: "Verwerkingen"
+software: "Software"
+version: "Versie"
+metadata: "Metadata"
+withNFiles: "{n} bestand(en)"
+monitor: "Monitor"
+jobQueue: "Job Queue"
+cpuAndMemory: "CPU en geheugen"
+network: "Netwerk"
+disk: "Schijfruimte"
+instanceInfo: "Serverinformatie"
+statistics: "Statistieken"
+clearQueue: "Wachtrij wissen"
+clearQueueConfirmTitle: "Weet je zeker dat je de wachtrji leeg wil maken?"
+clearQueueConfirmText: "Niet-bezorgde biljetten die nog in de wachtrij staan, worden niet gefedereerd. Meestal is deze operatie niet nodig."
+clearCachedFiles: "Cache opschonen"
+clearCachedFilesConfirm: "Weet je zeker dat je alle externe bestanden in de cache wilt verwijderen?"
+blockedInstances: "Geblokkeerde servers"
+blockedInstancesDescription: "Maak een lijst van de servers die moeten worden geblokkeerd, gescheiden door regeleinden. Geblokkeerde servers kunnen niet meer communiceren met deze server."
+muteAndBlock: "Gedempt en geblokkeerd"
+mutedUsers: "Gedempte gebruikers"
+blockedUsers: "Geblokkeerde gebruikers"
+noUsers: "Er zijn geen gebruikers."
+editProfile: "Bewerk Profiel"
+noteDeleteConfirm: "Ben je zeker dat je dit bericht wil verwijderen?"
+pinLimitExceeded: "Je kunt geen berichten meer vastprikken"
+intro: "Installatie van Misskey geëindigd! Maak nu een beheerder aan."
+done: "Klaar"
+processing: "Bezig met verwerken"
+preview: "Voorbeeld"
+default: "Standaard"
+noCustomEmojis: "Er zijn geen emojis"
+noJobs: "Er zijn geen taken"
+federating: "Federeren"
+blocked: "Geblokkeerd"
+suspended: "Opgeschort"
+all: "Alle"
+subscribing: "Abonneren"
+publishing: "Publiceren"
+notResponding: "Reageert niet"
+instanceFollowing: "Volgend op server"
+instanceFollowers: "Volgers op server"
+instanceUsers: "Gebruikers van deze server"
+changePassword: "Wachtwoord wijzigen"
+security: "Beveiliging"
+retypedNotMatch: "Invoer komt niet overeen"
+currentPassword: "Huidig wachtwoord"
+newPassword: "Nieuwe wachtwoord"
+newPasswordRetype: "Nieuw wachtwoord (herhalen)"
+attachFile: "Bestanden toevoegen"
+more: "Meer!"
+featured: "Uitgelicht"
+usernameOrUserId: "Gebruikersnaam of id"
+noSuchUser: "Gebruiker niet gevonden"
+lookup: "Opzoeken"
+announcements: "Aankondigingen"
+imageUrl: "AfbeeldingsURL"
+remove: "Verwijderen"
+removed: "Succesvol verwijderd"
+removeAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?"
+deleteAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?"
+resetAreYouSure: "Resetten?"
+saved: "Opgeslagen"
+messaging: "Chat"
+upload: "Uploaden"
+keepOriginalUploading: "Origineel beeld behouden."
+keepOriginalUploadingDescription: "Bewaar de originele versie bij het uploaden van afbeeldingen. Indien uitgeschakeld, wordt bij het uploaden een alternatieve versie voor webpublicatie genereert."
+fromDrive: "Van schijf"
+fromUrl: "Van URL"
+uploadFromUrl: "Uploaden vanaf een URL"
+uploadFromUrlDescription: "URL van het bestand dat je wil uploaden"
+uploadFromUrlRequested: "Uploadverzoek"
+uploadFromUrlMayTakeTime: "Het kan even duren voordat het uploaden voltooid is."
+explore: "Verkennen"
+messageRead: "Lezen"
+noMoreHistory: "Er is geen verdere geschiedenis"
+startMessaging: "Start een gesprek"
+nUsersRead: "gelezen door {n}"
+agreeTo: "Ik stem in met {0}"
+tos: "Gebruiksvoorwaarden"
+start: "Aan de slag"
+home: "Startpagina"
+remoteUserCaution: "Aangezien deze gebruiker van een externe server afkomstig is, kan de weergegeven informatie onvolledig zijn."
+activity: "Activiteit"
+images: "Afbeeldingen"
+birthday: "Geboortedatum"
+yearsOld: "{age} jaar"
+registeredDate: "Inschrijvingsdatum"
+location: "Locatie"
+theme: "Thema's"
+themeForLightMode: "Thema voor gebruik in de lichte modus"
+themeForDarkMode: "Thema voor gebruik in de donkere modus"
+light: "Licht"
+dark: "Donker"
+lightThemes: "Licht thema's"
+darkThemes: "Donkere thema's"
+syncDeviceDarkMode: "Synchroniseer donkere modus met je apparaatinstellingen"
+drive: "Schijf"
+fileName: "Bestandsnaam"
+selectFile: "Kies een bestand"
+selectFiles: "Selecteer bestanden"
+selectFolder: "Kies een map"
+selectFolders: "Kies mappen"
+renameFile: "Wijzig bestandsnaam"
+folderName: "Mapnaam"
+createFolder: "Map aanmaken"
+renameFolder: "Map hernoemen"
+deleteFolder: "Map verwijderen"
+addFile: "Bestand toevoegen"
+emptyDrive: "Jouw Drive is leeg."
+emptyFolder: "Deze map is leeg"
+unableToDelete: "Kan niet worden verwijderd"
+inputNewFileName: "Voer een nieuwe naam in"
+copyUrl: "URL kopiëren"
+rename: "Hernoemen"
+avatar: "Avatar"
+banner: "Banner"
+nsfw: "NSFW"
+whenServerDisconnected: "Wanneer de verbinding met de server wordt onderbroken"
+disconnectedFromServer: "Verbinding met de server onderbroken."
+inMb: "in megabytes"
+pinnedNotes: "Vastgemaakte notitie"
+userList: "Lijsten"
+aboutMisskey: "Over Misskey"
+administrator: "Beheerder"
+token: "Token"
+securityKeyName: "Sleutelnaam"
+registerSecurityKey: "Zekerheids-Sleutel registreren"
+lastUsed: "Laatst gebruikt"
+unregister: "Uitschrijven"
+passwordLessLogin: "Inloggen zonder wachtwoord"
+resetPassword: "Wachtwoord terugzetten"
+newPasswordIs: "Het nieuwe wachtwoord is „{password}”."
+reduceUiAnimation: "Verminder beweging in de UI"
+share: "Delen"
+notFound: "Niet gevonden"
+cacheClear: "Cache verwijderen"
+smtpHost: "Server"
+smtpUser: "Gebruikersnaam"
+smtpPass: "Wachtwoord"
+clearCache: "Cache opschonen"
+user: "Gebruikers"
+muteThread: "Discussies dempen "
+unmuteThread: "Dempen van discussie ongedaan maken"
+hide: "Verbergen"
+searchByGoogle: "Zoeken"
+cropImage: "Afbeelding bijsnijden"
+cropImageAsk: "Bijsnijdengevraagd"
+file: "Bestanden"
+_email:
+ _follow:
+ title: "volgde jou"
+_mfm:
+ mention: "Vermelding"
+ quote: "Quote"
+ search: "Zoeken"
+_theme:
+ keys:
+ mention: "Vermelding"
+ renote: "Herdelen"
+_sfx:
+ note: "Notities"
+ notification: "Meldingen"
+ chat: "Chat"
+_widgets:
+ notifications: "Meldingen"
+ timeline: "Tijdlijn"
+ activity: "Activiteit"
+ federation: "Federatie"
+ jobQueue: "Job Queue"
+_cw:
+ show: "Laad meer"
+_visibility:
+ home: "Startpagina"
+ followers: "Volgers"
+_profile:
+ username: "Gebruikersnaam"
+_exportOrImport:
+ followingList: "Volgend"
+ muteList: "Dempen"
+ blockingList: "Blokkeren"
+ userLists: "Lijsten"
+ excludeMutingUsers: "Negeer gedempte gebruikers"
+ excludeInactiveUsers: "Negeer inactieve gebruikers"
+_charts:
+ federation: "Federatie"
+_timelines:
+ home: "Startpagina"
+_pages:
+ blocks:
+ 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:
+ youWereFollowed: "volgde jou"
+ _types:
+ follow: "Volgend"
+ mention: "Vermelding"
+ renote: "Herdelen"
+ quote: "Quote"
+ reaction: "Reacties"
+ _actions:
+ reply: "Antwoord"
+ renote: "Herdelen"
+_deck:
+ _columns:
+ notifications: "Meldingen"
+ tl: "Tijdlijn"
+ list: "Lijsten"
+ mentions: "Vermeldingen"
diff --git a/locales/pl-PL.yml b/locales/pl-PL.yml
index 5ca420cff..933b722c5 100644
--- a/locales/pl-PL.yml
+++ b/locales/pl-PL.yml
@@ -1,11 +1,13 @@
---
-_lang_: "język polski"
+_lang_: "Polski"
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🚀!"
monthAndDay: "{month}-{day}"
search: "Szukaj"
notifications: "Powiadomienia"
username: "Nazwa użytkownika"
password: "Hasło"
+forgotPassword: "Nie pamiętam hasła"
fetchingAsApObject: "Pobieranie z Fediwersum…"
ok: "OK"
gotIt: "Rozumiem!"
@@ -50,6 +52,7 @@ searchUser: "Wyszukiwanie użytkowników"
reply: "Odpowiedz"
loadMore: "Załaduj więcej"
showMore: "Załaduj więcej"
+showLess: "Zamknij"
youGotNewFollower: "Zaobserwował(a) Cię"
receiveFollowRequest: "Otrzymano prośbę o możliwość obserwacji"
followRequestAccepted: "Zaakceptowano prośbę o możliwość obserwacji"
@@ -61,7 +64,10 @@ import: "Importuj"
export: "Eksportuj"
files: "Pliki"
download: "Pobierz"
+driveFileDeleteConfirm: "Czy chcesz usunąć plik \"{name}\"? Zniknie również notatka, do której dołączony jest ten plik."
unfollowConfirm: "Czy na pewno chcesz przestać obserwować {name}?"
+exportRequested: "Zażądałeś eksportu. Może to zająć trochę czasu. Po zakończeniu eksportu zostanie on dodany do Twoich \"dysków\"."
+importRequested: "Zażądano importu. Może to zająć chwilę."
lists: "Listy"
noLists: "Nie masz żadnych list"
note: "Utwórz wpis"
@@ -76,11 +82,13 @@ somethingHappened: "Coś poszło nie tak"
retry: "Spróbuj ponownie"
pageLoadError: "Nie udało się załadować strony"
pageLoadErrorDescription: "Zwykle jest to spowodowane problemem z siecią lub cache przeglądarki. Spróbuj wyczyścić cache i sprawdź jeszcze raz za chwilę."
+serverIsDead: "Serwer nie odpowiada. Zaczekaj chwilę i spróbuj ponownie."
+youShouldUpgradeClient: "Odśwież stronę, by zaaktualizować klienta."
enterListName: "Nazwa listy"
privacy: "Prywatność"
makeFollowManuallyApprove: "Prośby o możliwość obserwacji wymagają zatwierdzenia"
defaultNoteVisibility: "Domyślna widoczność"
-follow: "Obserwowani"
+follow: "Obserwuj"
followRequest: "Poproś o możliwość obserwacji"
followRequests: "Prośby o możliwość obserwacji"
unfollow: "Przestań obserwować"
@@ -93,12 +101,13 @@ cantRenote: "Ten wpis nie może zostać udostępniony."
cantReRenote: "Udostępnienie nie może zostać udostępnione."
quote: "Cytuj"
pinnedNote: "Przypięty wpis"
+pinned: "Przypnij do profilu"
you: "Ty"
clickToShow: "Kliknij, aby wyświetlić"
sensitive: "NSFW"
add: "Dodaj"
reaction: "Reakcja"
-reactionSettingDescription: "Przypisz swoje ulubione reakcje, które chcesz przypiąć w wyborze reakcji."
+reactionSetting: "Reakcje do pokazania w wyborniku reakcji"
reactionSettingDescription2: "Przeciągnij aby zmienić kolejność, naciśnij aby usunąć, naciśnij „+” aby dodać"
rememberNoteVisibility: "Zapamiętuj ustawienia widoczności wpisu"
attachCancel: "Usuń załącznik"
@@ -118,10 +127,11 @@ unsuspendConfirm: "Czy na pewno chcesz cofnąć zawieszenie tego konta?"
selectList: "Wybierz listę"
selectAntenna: "Wybierz Antennę"
selectWidget: "Wybierz widżet"
-editWidgets: "Edytuj widżet"
+editWidgets: "Edytuj widżety"
editWidgetsExit: "Gotowe"
customEmojis: "Niestandardowe emoji"
emoji: "Emoji"
+emojis: "Emoji"
emojiName: "Nazwa emoji"
emojiUrl: "Adres URL emoji"
addEmoji: "Dodaj emoji"
@@ -129,10 +139,12 @@ settingGuide: "Proponowana konfiguracja"
cacheRemoteFiles: "Przechowuj zdalne pliki w pamięci podręcznej"
cacheRemoteFilesDescription: "Gdy ta opcja jest wyłączona, zdalne pliki są ładowane bezpośrednio ze zdalnych instancji. Wyłączenie the opcji zmniejszy użycie powierzchni dyskowej, ale zwiększy transfer, ponieważ miniaturki nie będą generowane."
flagAsBot: "To konto jest botem"
+flagAsBotDescription: "Jeżeli ten kanał jest kontrolowany przez jakiś program, ustaw tę opcję. Jeżeli włączona, będzie działać jako flaga informująca innych programistów, aby zapobiegać nieskończonej interakcji z różnymi botami i dostosowywać wewnętrzne systemy Misskey, traktując konto jako bota."
flagAsCat: "To konto jest kotem"
flagAsCatDescription: "Przełącz tę opcję, aby konto było oznaczone jako kot."
+flagShowTimelineReplies: "Pokazuj odpowiedzi na osi czasu"
autoAcceptFollowed: "Automatycznie przyjmuj prośby o możliwość obserwacji od użytkowników, których obserwujesz"
-addAcount: "Dodaj konto"
+addAccount: "Dodaj konto"
loginFailed: "Nie udało się zalogować"
showOnRemote: "Zobacz na zdalnej instancji"
general: "Ogólne"
@@ -173,9 +185,11 @@ instanceInfo: "Informacje o instancji"
statistics: "Statystyki"
clearQueue: "Wyczyść kolejkę"
clearQueueConfirmTitle: "Czy na pewno chcesz wyczyścić kolejkę?"
+clearQueueConfirmText: "Wszystkie niewysłane wpisy z kolejki nie zostaną wysłane. Zwykle to nie jest konieczne."
clearCachedFiles: "Wyczyść pamięć podręczną"
clearCachedFilesConfirm: "Czy na pewno chcesz usunąć wszystkie zdalne pliki z pamięci podręcznej?"
blockedInstances: "Zablokowane instancje"
+blockedInstancesDescription: "Wypisz nazwy hostów instancji, które powinny zostać zablokowane. Wypisane instancje nie będą mogły dłużej komunikować się z tą instancją."
muteAndBlock: "Wycisz / Zablokuj"
mutedUsers: "Wyciszeni użytkownicy"
blockedUsers: "Zablokowani użytkownicy"
@@ -188,6 +202,7 @@ done: "Gotowe"
processing: "Przetwarzanie"
preview: "Podgląd"
default: "Domyślne"
+defaultValueIs: "Domyślne: {value}"
noCustomEmojis: "Brak emoji"
noJobs: "Brak zadań"
federating: "Federowanie"
@@ -211,6 +226,7 @@ more: "Więcej!"
featured: "Wyróżnione"
usernameOrUserId: "Nazwa lub id użytkownika"
noSuchUser: "Nie znaleziono użytkownika"
+lookup: "Zapytania"
announcements: "Ogłoszenia"
imageUrl: "Adres URL obrazka"
remove: "Usuń"
@@ -221,6 +237,7 @@ resetAreYouSure: "Czy na pewno chcesz zresetować?"
saved: "Zapisano"
messaging: "Wiadomości"
upload: "Wyślij"
+keepOriginalUploading: "Zachowaj oryginalny obraz"
fromDrive: "Z dysku"
fromUrl: "Z adresu URL"
uploadFromUrl: "Wyślij z adresu URL"
@@ -228,7 +245,6 @@ uploadFromUrlDescription: "Adres URL pliku, który chcesz wysłać"
uploadFromUrlRequested: "Zażądano wysłania"
uploadFromUrlMayTakeTime: "Wysyłanie może chwilę potrwać."
explore: "Eksploruj"
-games: "Gry Misskey"
messageRead: "Przeczytano"
noMoreHistory: "Nie ma dalszej historii"
startMessaging: "Rozpocznij czat"
@@ -268,6 +284,7 @@ emptyDrive: "Dysk jest pusty"
emptyFolder: "Ten katalog jest pusty"
unableToDelete: "Nie można usunąć"
inputNewFileName: "Wprowadź nową nazwę pliku"
+inputNewDescription: "Proszę wpisać nowy napis"
inputNewFolderName: "Wprowadź nową nazwę katalogu"
circularReferenceFolder: "Katalog docelowy jest podkatalogiem katalogu, który chcesz przenieść."
hasChildFilesOrFolders: "Ponieważ ten katalog nie jest pusty, nie może być usunięty."
@@ -288,16 +305,19 @@ reject: "Odrzuć"
normal: "Normalny"
instanceName: "Nazwa instancji"
instanceDescription: "Opis instancji"
+maintainerName: "Administrator"
+maintainerEmail: "E-mail administratora"
tosUrl: "Adres URL regulaminu"
thisYear: "Rok"
thisMonth: "Miesiąc"
today: "Dziś"
dayX: "{day}"
monthX: "{month}"
+yearX: "{year}"
pages: "Strony"
integration: "Integracja"
-connectSerice: "Połącz"
-disconnectSerice: "Rozłącz"
+connectService: "Połącz"
+disconnectService: "Rozłącz"
enableLocalTimeline: "Włącz lokalną oś czasu"
enableGlobalTimeline: "Włącz globalną oś czasu"
disablingTimelinesInfo: "Administratorzy i moderatorzy będą zawsze mieć dostęp do wszystkich osi czasu, nawet gdy są one wyłączone."
@@ -309,11 +329,13 @@ driveCapacityPerRemoteAccount: "Powierzchnia dyskowa na zdalnego użytkownika"
inMb: "W megabajtach"
iconUrl: "Adres URL ikony"
bannerUrl: "Adres URL banera"
+backgroundImageUrl: "Adres URL tła"
basicInfo: "Podstawowe informacje"
pinnedUsers: "Przypięty użytkownik"
pinnedUsersDescription: "Wypisz po jednej nazwie użytkownika w wierszu. Podani użytkownicy zostaną przypięci pod kartą „Eksploruj”."
pinnedPages: "Przypięte strony"
pinnedPagesDescription: "Wprowadź ścieżki stron które chcesz przypiąć na głównej stronie instancji, oddzielone znakiem nowego wiersza."
+pinnedClipId: "ID przypiętego klipu"
pinnedNotes: "Przypięty wpis"
hcaptcha: "hCaptcha"
enableHcaptcha: "Włącz hCaptcha"
@@ -328,9 +350,11 @@ antennas: "Anteny"
manageAntennas: "Zarządzaj Antenami"
name: "Nazwa"
antennaSource: "Źródło Anteny"
+antennaKeywords: "Słowa kluczowe do obserwacji"
antennaExcludeKeywords: "Wykluczone słowa kluczowe"
+antennaKeywordsDescription: "Oddziel spacjami dla warunku AND, albo wymuś koniec linii dla warunku OR"
+notifyAntenna: "Powiadamiaj o nowych wpisach"
withFileAntenna: "Filtruj tylko wpisy z załączonym plikiem"
-serviceworker: "ServiceWorker"
enableServiceworker: "Włącz ServiceWorker"
antennaUsersDescription: "Wypisz po jednej nazwie użytkownika w linii"
caseSensitive: "Wielkość liter ma znaczenie"
@@ -356,6 +380,8 @@ administrator: "Admin"
token: "Token"
twoStepAuthentication: "Uwierzytelnianie dwuskładnikowe"
moderator: "Moderator"
+moderation: "Moderacja"
+nUsersMentioned: "{n} wspomnianych użytkowników"
securityKey: "Klucz bezpieczeństwa"
securityKeyName: "Nazwa klucza"
registerSecurityKey: "Zarejestruj klucz bezpieczeństwa"
@@ -394,7 +420,7 @@ next: "Dalej"
retype: "Wprowadź ponownie"
noteOf: "Wpisy {user}"
inviteToGroup: "Zaproś do grupy"
-maxNoteTextLength: "Limit znaków dla wpisów"
+quoteAttached: "Zacytowano"
quoteQuestion: "Czy na pewno chcesz umieścić cytat?"
noMessagesYet: "Nie napisano jeszcze wiadomości"
newMessageExists: "Masz nową wiadomość"
@@ -417,20 +443,23 @@ signinWith: "Zaloguj się z {x}"
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"
+language: "Język"
uiLanguage: "Język wyświetlania UI"
groupInvited: "Zaproszony(-a) do grupy"
aboutX: "O {x}"
useOsNativeEmojis: "Używaj natywnych Emoji systemu"
+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"
signinHistory: "Historia logowania"
disableAnimatedMfm: "Wyłącz MFM z animacją"
+doing: "Przetwarzanie..."
category: "Kategoria"
tags: "Tagi"
docSource: "Źródło tego dokumentu"
createAccount: "Utwórz konto"
-existingAcount: "Istniejące konta"
+existingAccount: "Istniejące konto"
regenerate: "Wygeneruj ponownie"
fontSize: "Rozmiar czcionki"
noFollowRequests: "Nie masz żadnych oczekujących próśb o możliwość obserwacji"
@@ -452,6 +481,8 @@ showFeaturedNotesInTimeline: "Pokazuj wyróżnione wpisy w osi czasu"
objectStorage: "Pamięć obiektowa"
useObjectStorage: "Używaj pamięci obiektowej"
objectStorageBaseUrl: "Podstawowy URL"
+objectStorageBucket: "Bucket"
+objectStorageBucketDesc: "Podaj nazwę „wiadra” używaną przez konfigurowaną usługę."
objectStoragePrefix: "Prefiks"
objectStoragePrefixDesc: "Pliki będą przechowywane w katalogu z tym prefiksem."
objectStorageEndpoint: "Punkt końcowy"
@@ -498,10 +529,11 @@ deleteAllFilesConfirm: "Czy na pewno chcesz usunąć wszystkie pliki?"
removeAllFollowingDescription: "Przestań obserwować wszystkie konta z {host}. Wykonaj to, jeżeli instancja już nie istnieje."
userSuspended: "To konto zostało zawieszone."
userSilenced: "Ten użytkownik został wyciszony."
-sidebar: "Pasek boczny"
+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."
+menu: "Menu"
divider: "Rozdzielacz"
addItem: "Dodaj element"
-rooms: "Pokój"
relays: "Przekaźniki"
addRelay: "Dodaj przekaźnik"
inboxUrl: "Adres URL skrzynki nadawczej"
@@ -518,11 +550,12 @@ disablePlayer: "Zamknij odtwarzacz wideo"
expandTweet: "Rozwiń tweet"
themeEditor: "Edytor motywu"
description: "Opis"
+describeFile: "Dodaj podpis"
+enterFileDescription: "Wprowadź napis"
author: "Autor"
leaveConfirm: "Są niezapisane zmiany. Czy chcesz je odrzucić?"
manage: "Zarządzanie"
plugins: "Wtyczki"
-pluginInstallWarn: "Nie instaluj niezaufanych wtyczek."
deck: "Tablica"
useBlurEffectForModal: "Używaj efektu rozmycia w modalach"
useFullReactionPicker: "Używaj pełnowymiarowego wybornika reakcji"
@@ -540,7 +573,7 @@ pluginTokenRequestedDescription: "Ta wtyczka będzie mogła korzystać z ustawio
notificationType: "Rodzaj powiadomień"
edit: "Edytuj"
useStarForReactionFallback: "Użyj ★ jako zapasowego emoji, gdy emoji reakcji jest nieznane"
-emailConfig: "Konfiguracja serwera e-mail"
+emailServer: "Serwer poczty 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"
email: "Adres e-mail"
@@ -553,6 +586,8 @@ smtpPass: "Hasło"
emptyToDisableSmtpAuth: "Pozostaw adres e-mail i hasło puste, aby wyłączyć weryfikację SMTP"
smtpSecureInfo: "Wyłącz, jeżeli używasz STARTTLS"
testEmail: "Przetestuj dostarczanie wiadomości e-mail"
+wordMute: "Wyciszenie słowa"
+instanceMute: "Wyciszone instancje"
userSaysSomething: "{name} powiedział(-a) coś"
makeActive: "Aktywuj"
display: "Wyświetlanie"
@@ -570,8 +605,9 @@ useGlobalSetting: "Użyj globalnych ustawień"
useGlobalSettingDesc: "Jeżeli włączone, zostaną wykorzystane ustawienia powiadomień Twojego konta. Jeżeli wyłączone, mogą zostać wykonane oddzielne konfiguracje."
other: "Inne"
regenerateLoginToken: "Generuj token logowania ponownie"
+regenerateLoginTokenDescription: "Regeneruje token używany wewnętrznie podczas logowania. Zazwyczaj nie jest to konieczne. Po regeneracji wszystkie urządzenia zostaną wylogowane."
setMultipleBySeparatingWithSpace: "Możesz ustawić wiele, oddzielając je spacjami."
-chatOpenBehavior: "Zachowanie okna czatu po otwarciu"
+fileIdOrUrl: "ID pliku albo URL"
behavior: "Zachowanie"
sample: "Przykład"
abuseReports: "Zgłoszenia"
@@ -579,6 +615,9 @@ reportAbuse: "Zgłoś"
reportAbuseOf: "Zgłoś {name}"
fillAbuseReportDescription: "Wypełnij szczegóły zgłoszenia. Jeżeli dotyczy ono określonego wpisu, uwzględnij jego adres URL."
abuseReported: "Twoje zgłoszenie zostało wysłane. Dziękujemy."
+reporteeOrigin: "Pochodzenie zgłoszonego"
+reporterOrigin: "Pochodzenie zgłaszającego"
+forwardReport: "Przekaż zgłoszenie do innej instancji"
send: "Wyślij"
abuseMarkAsResolved: "Oznacz zgłoszenie jako rozwiązane"
openInNewTab: "Otwórz w nowej karcie"
@@ -591,8 +630,12 @@ random: "Losowe"
system: "System"
switchUi: "Przełącz interfejs użytkownika"
desktop: "Pulpit"
-createNew: "Utworzy nowy"
+clip: "Klip"
+createNew: "Utwórz nowy"
optional: "Nieobowiązkowe"
+createNewClip: "Utwórz nowy klip"
+unclip: "Odczep"
+confirmToUnclipAlreadyClippedNote: "Ten wpis jest już częścią klipu \"{name}\". Czy chcesz ją usunąć z tego klipu?"
public: "Publiczny"
i18nInfo: "Misskey jest tłumaczone na wiele języków przez wolontariuszy. Możesz pomóc na {link}."
manageAccessTokens: "Zarządzaj tokenami dostępu"
@@ -614,6 +657,7 @@ driveFilesCount: "Liczba plików na dysku"
driveUsage: "Użycie przestrzeni dyskowej"
noCrawle: "Odrzuć indeksowanie przez crawlery"
noCrawleDescription: "Proś wyszukiwarki internetowe, aby nie indeksowały Twojego profilu, wpisów, stron itd."
+lockedAccountInfo: "Dopóki nie ustawisz widoczności wpisu na \"Obserwujący\", twoje wpisy będą mogli widzieć wszyscy, nawet jeśli ustawisz manualne zatwierdzanie obserwujących."
alwaysMarkSensitive: "Oznacz domyślnie jako NSFW"
loadRawImages: "Wyświetlaj zdjęcia w załącznikach w całości zamiast miniatur"
disableShowingAnimatedImages: "Nie odtwarzaj animowanych obrazów"
@@ -625,28 +669,245 @@ pageLikesCount: "Liczba otrzymanych polubień stron"
pageLikedCount: "Liczba polubionych stron"
contact: "Kontakt"
useSystemFont: "Używaj domyślnej czcionki systemu"
+clips: "Klipy"
experimentalFeatures: "Eksperymentalne funkcje"
developer: "Programista"
makeExplorable: "Pokazuj konto na stronie „Eksploruj”"
makeExplorableDescription: "Jeżeli wyłączysz tę opcję, Twoje konto nie będzie wyświetlać się w sekcji „Eksploruj”."
showGapBetweenNotesInTimeline: "Pokazuj odstęp między wpisami na osi czasu."
duplicate: "Duplikuj"
+left: "Lewo"
center: "Wyśsrodkuj"
wide: "Szerokie"
narrow: "Wąskie"
reloadToApplySetting: "To ustawienie zostanie zastosowane po odświeżeniu strony. Chcesz odświeżyć?"
+needReloadToApply: "To ustawienie zostanie zastosowane po odświeżeniu strony"
showTitlebar: "Pokazuj pasek tytułowy"
clearCache: "Wyczyść pamięć podręczną"
onlineUsersCount: "{n} osób jest online"
nUsers: "{n} użytkowników"
nNotes: "{n} wpisów"
+sendErrorReports: "Wyślij raporty o błędach"
+myTheme: "Mój motyw"
backgroundColor: "Tło"
accentColor: "Akcent"
textColor: "Tekst"
+saveAs: "Zapisz jako…"
+advanced: "Zaawansowane"
value: "Wartość"
+createdAt: "Utworzono"
+updatedAt: "Zaktualizowano"
+saveConfirm: "Zapisać zmiany?"
+deleteConfirm: "Na pewno usunąć?"
+invalidValue: "Nieprawidłowa wartość."
+registry: "Rejestr"
+closeAccount: "Zamknij konto"
+currentVersion: "Bieżąca wersja"
+latestVersion: "Najnowsza wersja"
+youAreRunningUpToDateClient: "Korzystasz z najnowszej wersji klienta."
+newVersionOfClientAvailable: "Nowsza wersja klienta jest dostępna."
+usageAmount: "Użycie"
+capacity: "Pojemność"
+inUse: "Użyto"
+editCode: "Edytuj kod"
+apply: "Zastosuj"
+receiveAnnouncementFromInstance: "Otrzymuj powiadomienia e-mail z tej instancji"
+emailNotification: "Powiadomienia e-mail"
+publish: "Publikuj"
+inChannelSearch: "Szukaj na kanale"
+useReactionPickerForContextMenu: "Otwórz wybornik reakcji prawym kliknięciem"
+typingUsers: "{users} pisze(-ą)..."
+jumpToSpecifiedDate: "Przejdź do określonej daty"
+showingPastTimeline: "Obecnie wyświetla starą oś czasu"
+clear: "Wróć"
+markAllAsRead: "Oznacz wszystkie jako przeczytane"
+goBack: "Wróć"
+unlikeConfirm: "Na pewno chcesz usunąć polubienie?"
+fullView: "Pełny widok"
+quitFullView: "Opuść pełny widok"
+addDescription: "Dodaj opis"
+userPagePinTip: "Możesz wyświetlać wpisy w tym miejscu po wybraniu \"Przypnij do profilu\" z menu pojedyńczego wpisu"
+notSpecifiedMentionWarning: "Ten wpis zawiera wzmianki o użytkownikach niezawartych jako odbiorcy"
+info: "Informacje"
+userInfo: "Informacje o użykowniku"
+unknown: "Nieznane"
+onlineStatus: "Status online"
+hideOnlineStatus: "Ukryj status online"
+hideOnlineStatusDescription: "Ukrywanie statusu online ogranicza wygody niektórych funkcji, tj. wyszukiwanie"
+online: "Online"
+active: "Aktywny"
+offline: "Offline"
+notRecommended: "Nie zalecane"
+botProtection: "Zabezpieczenie przed botami"
+instanceBlocking: "Zablokowane instancje"
+selectAccount: "Wybierz konto"
+switchAccount: "Przełącz konto"
+enabled: "Właczono"
+disabled: "Wyłączono"
+quickAction: "Szybkie działania"
+user: "Użytkownicy"
+administration: "Zarządzanie"
+accounts: "Konta"
+switch: "Przełącz"
+noMaintainerInformationWarning: "Informacje o administratorze nie są skonfigurowane."
+noBotProtectionWarning: "Zabezpieczenie przed botami nie jest skonfigurowane."
+configure: "Skonfiguruj"
+postToGallery: "Opublikuj w galerii"
+gallery: "Galeria"
+recentPosts: "Ostatnie wpisy"
+popularPosts: "Popularne wpisy"
+shareWithNote: "Udostępnij z wpisem"
+ads: "Reklamy"
+expiration: "Ankieta kończy się"
+memo: "Notatki"
+priority: "Priorytet"
+high: "Wysoki"
+middle: "Średnie"
+low: "Niski"
+emailNotConfiguredWarning: "Nie podano adresu e-mail"
+ratio: "Stosunek"
+previewNoteText: "Pokaż podgląd"
+customCss: "Własny CSS"
+customCssWarn: "Używaj tego ustawienia tylko wtedy, gdy wiesz co ono robi. Nieprawidłowe wpisy mogą spowodować, że klient przestanie działać poprawnie."
+global: "Globalna"
+squareAvatars: "Wyświetlaj kwadratowe awatary"
+sent: "Wyślij"
+received: "Otrzymane"
+searchResult: "Wyniki wyszukiwania"
+hashtags: "Hashtag"
+troubleshooting: "Rozwiązywanie problemów"
+useBlurEffect: "Użyj efektów rozmycia w UI"
+learnMore: "Dowiedz się więcej"
+misskeyUpdated: "Misskey zostało zaktualizowane!"
+whatIsNew: "Pokaż zmiany"
+translate: "Przetłumacz"
+translatedFrom: "Przetłumaczone z {x}"
+accountDeletionInProgress: "Trwa usuwanie konta"
+usernameInfo: "Nazwa, która identyfikuje Twoje konto spośród innych na tym serwerze. Możesz użyć alfabetu (a~z, A~Z), cyfr (0~9) lub podkreślników (_). Nazwy użytkownika nie mogą być później zmieniane."
+aiChanMode: "Tryb Ai"
+keepCw: "Zostaw ostrzeżenia o zawartości"
+pubSub: "Konta Pub/Sub"
+resolved: "Rozwiązane"
+unresolved: "Nierozwiązane"
+breakFollow: "Usuń obserwującego"
+itsOn: "Włączone"
+itsOff: "Wyłączone"
+unread: "Nieodczytane"
+filter: "Filtr"
+controlPanel: "Panel sterowania"
+manageAccounts: "Zarządzaj kontami"
+makeReactionsPublic: "Ustawić historię reakcji jako publiczną"
+makeReactionsPublicDescription: "To spowoduje, że lista wszystkich Twoich dotychczasowych reakcji będzie publicznie widoczna."
+classic: "Klasyczny"
+muteThread: "Wycisz wątek"
+unmuteThread: "Wyłącz wyciszenie wątku"
+ffVisibility: "Widoczność obserwowanych/obserwujących"
+ffVisibilityDescription: "Pozwala skonfigurować, kto może zobaczyć, kogo obserwujesz i kto Cię obserwuje."
+continueThread: "Pokaż kontynuację wątku"
+deleteAccountConfirm: "Spowoduje to nieodwracalne usunięcie Twojego konta. Kontynuować?"
+incorrectPassword: "Nieprawidłowe hasło."
+voteConfirm: "Potwierdzić swój głos na \"{choice}\"?"
+hide: "Ukryj"
+leaveGroup: "Opuść grupę"
+leaveGroupConfirm: "Czy na pewno chcesz opuścić \"{name}\"?"
+useDrawerReactionPickerForMobile: "Wyświetlaj wybornik reakcji jako szufladę na urządzeniach mobilnych"
+welcomeBackWithName: "Witaj z powrotem, {name}"
+clickToFinishEmailVerification: "Kliknij [{ok}], aby zakończyć weryfikację e-mail."
+overridedDeviceKind: "Typ urządzenia"
+smartphone: "Smartfon"
+tablet: "Tablet"
+auto: "Automatycznie"
+size: "Rozmiar"
+numberOfColumn: "Liczba kolumn"
+searchByGoogle: "Szukaj"
+indefinitely: "Nigdy"
+file: "Pliki"
+logoutConfirm: "Czy na pewno chcesz się wylogować?"
+lastActiveDate: "Ostatnio użyte w"
+statusbar: "Pasek stanu"
+pleaseSelect: "Wybierz opcję"
+reverse: "Odwróć"
+colored: "Kolorowe"
+label: "Etykieta"
+type: "Typ"
+speed: "Prędkość"
+localOnly: "Lokalne tylko"
+failedToUpload: "Przesyłanie nie powiodło się"
+cannotUploadBecauseInappropriate: "Nie można przesłać tego pliku, ponieważ jego części zostały wykryte jako potencjalnie nieodpowiednie."
+cannotUploadBecauseNoFreeSpace: "Przesyłanie nie powiodło się z powodu braku miejsca na dysku."
+beta: "Beta"
+enableAutoSensitive: "Automatyczne oznaczanie NSFW"
+enableAutoSensitiveDescription: "Umożliwia automatyczne wykrywanie i oznaczanie zawartości NSFW za pomocą uczenia maszynowego. Nawet jeśli ta opcja jest wyłączona, może być włączona w całej instancji."
+navbar: "Pasek nawigacyjny"
+account: "Konta"
+move: "Przenieś"
+_sensitiveMediaDetection:
+ description: "Zmniejsza wysiłek związany z moderacją serwera dzięki automatycznemu rozpoznawaniu zawartości NSFW za pomocą uczenia maszynowego. To nieznacznie zwiększy obciążenie serwera."
+ setSensitiveFlagAutomatically: "Oznacz jako NSFW"
+_emailUnavailable:
+ used: "Ten adres e-mail jest już używany"
+ format: "Format tego adresu e-mail jest nieprawidłowy"
+ disposable: "Nie można używać jednorazowych adresów e-mail"
+ mx: "Ten serwer e-mail jest nieprawidłowy"
+ smtp: "Ten serwer e-mail nie odpowiada"
+_ffVisibility:
+ public: "Publiczne"
+ followers: "Widoczne tylko dla obserwujących"
+ private: "Prywatne"
+_signup:
+ almostThere: "Prawie na miejscu"
+ emailAddressInfo: "Podaj swój adres e-mail. Nie zostanie on upubliczniony."
+ emailSent: "E-mail z potwierdzeniem został wysłany na Twój adres e-mail ({email}). Kliknij dołączony link, aby dokończyć tworzenie konta."
+_accountDelete:
+ accountDelete: "Usuń konto"
+ mayTakeTime: "Ponieważ usuwanie konta jest procesem wymagającym dużej ilości zasobów, jego ukończenie może zająć trochę czasu, w zależności od ilości utworzonej zawartości i liczby przesłanych plików."
+ sendEmail: "Po zakończeniu usuwania konta na adres e-mail zarejestrowany na tym koncie zostanie wysłana wiadomość e-mail."
+ requestAccountDelete: "Poproś o usunięcie konta"
+ started: "Usuwanie się rozpoczęło."
+ inProgress: "Usuwanie jest obecnie w toku"
+_ad:
+ back: "Wróć"
+ reduceFrequencyOfThisAd: "Pokazuj tę reklamę rzadziej"
+_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."
+ ifNoEmail: "Jeżeli nie podano adresu e-mail podczas rejestracji, skontaktuj się z administratorem zamiast tego."
+ contactAdmin: "Jeżeli Twoja instancja nie obsługuje adresów e-mail, skontaktuj się zamiast tego z administratorem, aby zresetować hasło."
+_gallery:
+ my: "Moja galeria"
+ liked: "Polubione wpisy"
+ like: "Polub"
+ unlike: "Cofnij polubienie"
+_email:
+ _follow:
+ title: "Zaobserwował(a) Cię"
+ _receiveFollowRequest:
+ title: "Otrzymano prośbę o możliwość obserwacji"
+_plugin:
+ install: "Zainstaluj wtyczki"
+ installWarn: "Nie instaluj niezaufanych wtyczek."
+ manage: "Zarządzanie wtyczkami"
+_preferencesBackups:
+ list: "Utworzone kopie zapasowe"
+ saveNew: "Zapisz nową kopię zapasową"
+ loadFile: "Załaduj z pliku"
+ apply: "Zastosuj do tego urządzenia"
+ save: "Zapisz zmiany"
+ inputName: "Proszę podać nazwę dla tej kopii zapasowej"
+ cannotSave: "Zapisanie nie powiodło się"
+ nameAlreadyExists: "Kopia zapasowa o nazwie \"{name}\" już istnieje. Proszę podać inną nazwę."
+ applyConfirm: "Czy na pewno chcesz zastosować kopię zapasową \"{name}\" na tym urządzeniu? Istniejące ustawienia tego urządzenia zostaną nadpisane."
+ saveConfirm: "Zapisać kopię zapasową jako {name}?"
+ deleteConfirm: "Usunąć kopię zapasową {name}?"
+ renameConfirm: "Zmienić nazwę kopii zapasowej z \"{old}\" na \"{new}\"?"
+ createdAt: "Utworzony w: {date} {time}"
+ updatedAt: "Zaktualizowano w: {date} {time}"
+ cannotLoad: "Ładowanie nie powiodło się"
+ invalidFile: "Nieprawidłowy format pliku"
_registry:
+ scope: "Zakres"
key: "Klucz"
keys: "Klucz"
+ domain: "Domena"
createKey: "Utwórz klucz"
_aboutMisskey:
about: "Misskey jest oprogramowanie open source rozwijanym przez syuilo od 2014."
@@ -676,10 +937,13 @@ _mfm:
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"
@@ -688,6 +952,20 @@ _mfm:
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"
@@ -695,37 +973,17 @@ _mfm:
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"
-_reversi:
- reversi: "Reversi"
- gameSettings: "Ustawienia gry"
- chooseBoard: "Wybierz tablicę"
- blackOrWhite: "Czarne/białe"
- blackIs: "{name} gra czarnymi"
- rules: "Zasady"
- botSettings: "Opcje bota"
- thisGameIsStartedSoon: "Gra rozpocznie się za kilka sekund"
- waitingForOther: "Oczekiwanie na ruch przeciwnika"
- waitingForMe: "Oczekiwanie na Twój ruch"
- waitingBoth: "Przygotuj się"
- ready: "Gotowy(-a)"
- cancelReady: "Anuluj gotowość"
- opponentTurn: "Kolej przeciwnika"
- myTurn: "Twoja kolej"
- turnOf: "Kolej {name}"
- pastTurnOf: "Kolej {name}"
- surrender: "Poddaj się"
- surrendered: "Przez poddanie się"
- drawn: "Remis"
- won: "{name} wygrał(a)"
- black: "Czarny"
- white: "Biały"
- total: "Łącznie"
- turnCount: "Ruch {count}"
- myGames: "Moje gry"
- allGames: "Wszystkie gry"
- ended: "Zakończono"
- playing: "W trakcie gry"
+ 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:
none: "Nigdy nie pokazuj"
remote: "Pokaż dla zdalnych użytkowników"
@@ -744,9 +1002,8 @@ _channel:
following: "Śledzeni"
usersCount: "{n} uczestnicy"
notesCount: "{n} wpisy"
-_sidebar:
- full: "Pełne"
- icon: "Awatar"
+_menuDisplay:
+ top: "Góra"
hide: "Ukryj"
_wordMute:
muteWords: "Słowo do wyciszenia"
@@ -754,11 +1011,15 @@ _wordMute:
soft: "Łagodny"
hard: "Twardy"
mutedNotes: "Wyciszone wpisy"
+_instanceMute:
+ title: "Ukrywa wpisy z wymienionych instancji."
+ heading: "Lista instancji do wyciszenia"
_theme:
explore: "Przeglądaj motywy"
install: "Zainstaluj motyw"
manage: "Zarządzanie motywami"
code: "Kod motywu"
+ description: "Opis"
installed: "Zainstalowano {name}"
installedThemes: "Zainstalowane motywy"
builtinThemes: "Wbudowane motywy"
@@ -833,11 +1094,9 @@ _sfx:
notification: "Powiadomienia"
chat: "Wiadomości"
chatBg: "Rozmowy (tło)"
+ antenna: "Anteny"
channel: "Powiadomienia kanału"
- reversiPutBlack: "Reversi: Czarny wykonuje ruch"
- reversiPutWhite: "Reversi: Biały wykonuje ruch"
_ago:
- unknown: "Nieznane"
future: "W przyszłości"
justNow: "Przed chwilą"
secondsAgo: "{n} sek. temu"
@@ -855,11 +1114,30 @@ _time:
_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:
+ 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."
step2: "Następnie, zeskanuje kod QR z ekranu."
step3: "Wprowadź token podany w aplikacji, aby ukończyć konfigurację."
@@ -875,6 +1153,7 @@ _permissions:
"write:favorites": "Edycja Twojej listy ulubionych."
"read:following": "Wyświetlanie informacji o obserwowanych"
"write:following": "Obserwowanie lub cofanie obserwacji innych kont"
+ "read:messaging": "Zobacz swoje czaty"
"read:mutes": "Wyświetlanie listy osób, które wyciszyłeś(-aś)"
"write:mutes": "Edycja listy osób, które wyciszyłeś(-aś)"
"read:notifications": "Wyświetlanie powiadomień"
@@ -888,6 +1167,10 @@ _permissions:
"write:page-likes": "Edycja polubień na stronach"
"read:user-groups": "Wyświetlanie grup użytkownika"
"write:user-groups": "Edycja lub usuwanie grup użytkownika"
+ "read:channels": "Zobacz swoje kanały"
+ "write:channels": "Edytuj swoje kanały"
+ "read:gallery": "Zobacz swoją galerię"
+ "write:gallery": "Edytuj swoją galerię"
_auth:
shareAccess: "Czy chcesz autoryzować „{name}” do dostępu do tego konta?"
permissionAsk: "Ta aplikacja wymaga następujących uprawnień:"
@@ -906,12 +1189,21 @@ _widgets:
calendar: "Kalendarz"
trends: "Na czasie"
clock: "Zegar"
+ rss: "Czytnik RSS"
activity: "Aktywność"
photos: "Zdjęcia"
+ digitalClock: "Zegar cyfrowy"
+ unixClock: "Zegar UNIX"
federation: "Federacja"
- postForm: "Utwórz wpis"
+ instanceCloud: "Chmura instancji"
+ postForm: "Formularz tworzenia wpisu"
+ slideshow: "Pokaz slajdów"
button: "Przycisk"
+ onlineUsers: "Użytkownicy online"
jobQueue: "Kolejka zadań"
+ serverMetric: "Metryka serwera"
+ aiscript: "Konsola AiScript"
+ aichan: "Ai"
_cw:
hide: "Ukryj"
show: "Załaduj więcej"
@@ -929,7 +1221,7 @@ _poll:
deadlineDate: "Data zakończenia"
deadlineTime: "godz."
duration: "Czas trwania"
- votesCount: "{} głosów"
+ votesCount: "{n} głosów"
totalVotes: "Łącznie {n} głosów"
vote: "Głosowanie w ankiecie"
showResult: "Pokaż wyniki"
@@ -959,16 +1251,22 @@ _profile:
username: "Nazwa użytkownika"
description: "Opis"
youCanIncludeHashtags: "Możesz umieścić hashtagi w swoim opisie."
+ metadata: "Dodatkowe informacje"
+ metadataEdit: "Edytuj dodatkowe informacje"
+ metadataDescription: "Możesz wyświetlać do czterech sekcji dodatkowych informacji na swoim profilu."
metadataLabel: "Etykieta"
metadataContent: "Treść"
changeAvatar: "Zmień awatar"
changeBanner: "Zmień baner"
_exportOrImport:
+ allNotes: "Wszystkie wpisy"
followingList: "Obserwowani"
muteList: "Wycisz"
blockingList: "Zablokuj"
userLists: "Listy"
_charts:
+ federation: "Federacja"
+ apRequest: "Żądania"
usersTotal: "Łącznie # użytkowników"
activeUsers: "Aktywni użytkownicy"
_instanceCharts:
@@ -983,66 +1281,8 @@ _instanceCharts:
_timelines:
home: "Strona główna"
local: "Lokalne"
+ social: "Społeczność"
global: "Globalna"
-_rooms:
- roomOf: "Pokój {user}"
- addFurniture: "Umieść meble"
- translate: "Przenieś"
- rotate: "Obróć"
- exit: "Wróć"
- remove: "Usuń"
- clear: "Usuń wszystkie"
- clearConfirm: "Czy na pewno chcesz usunąć wszystkie meble ze swojego pokoju?"
- leaveConfirm: "Masz niezapisane zmiany. Czy na pewno chcesz wyjść?"
- chooseImage: "Wybierz obraz"
- roomType: "Typ pokoju"
- carpetColor: "Kolor dywanu"
- _roomType:
- default: "Domyślne"
- washitsu: "W japońskim stylu"
- _furnitures:
- milk: "Karton mleka"
- bed: "Łóżko"
- low-table: "Niski stolik"
- desk: "Biurko"
- chair: "Krzesło"
- chair2: "Krzesło 2"
- fan: "Chłodzenie"
- pc: "Komputer"
- plant: "Roślina domowa"
- plant2: "Roślina domowa 2"
- eraser: "Gumka"
- pencil: "Ołówek"
- pudding: "Budyń"
- cardboard-box: "Pudło tekturowe"
- cardboard-box2: "Pudło tekturowe 2"
- cardboard-box3: "Pudło tekturowe 3"
- book: "Książka"
- book2: "Książka 2"
- piano: "Fortepian"
- server: "Serwery"
- moon: "Księżyc"
- corkboard: "Tablica korkowa"
- mousepad: "Podkładka pod mysz"
- monitor: "Monitor"
- keyboard: "Klawiatura"
- carpet-stripe: "Dywan (w paski)"
- color-box: "Biblioteczka"
- wall-clock: "Zegar ścienny"
- photoframe: "Ramka do zdjęć"
- cube: "Kostka"
- tv: "Telewizor"
- pinguin: "Pingwin"
- rubik-cube: "Kostka Rubika"
- poster-h: "Plakat (poziomy)"
- poster-v: "Plakat (pionowy)"
- sofa: "Kanapa"
- spiral: "Schody spiralne"
- bin: "Kosz"
- holo-display: "Wyświetlacz holograficzny"
- energy-drink: "Napój energetyczny"
- doll-ai: "Lalka AI"
- banknote: "Banknot"
_pages:
newPage: "Utwórz stronę"
editPage: "Edytuj tę stronę"
@@ -1330,9 +1570,11 @@ _notification:
youReceivedFollowRequest: "Otrzymałeś(-aś) prośbę o możliwość obserwacji"
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"
+ emptyPushNotificationMessage: "Powiadomienia push zostały zaktualizowane"
_types:
all: "Wszystkie"
- follow: "Obserwowani"
+ follow: "Nowi obserwujący"
mention: "Wspomnij"
reply: "Odpowiedzi"
renote: "Udostępnij"
@@ -1343,17 +1585,25 @@ _notification:
followRequestAccepted: "Przyjęto prośbę o możliwość obserwacji"
groupInvited: "Zaproszono do grup"
app: "Powiadomienia z aplikacji"
+ _actions:
+ followBack: "zaobserwował cię z powrotem"
+ reply: "Odpowiedz"
+ renote: "Udostępnij"
_deck:
alwaysShowMainColumn: "Zawsze pokazuj główną kolumnę"
columnAlign: "Wyrównaj kolumny"
- columnMargin: "Odstęp między kolumnami"
- columnHeaderHeight: "Wysokość nagłówka kolumny"
addColumn: "Dodaj kolumnę"
+ configureColumn: "Ustawienia kolumny"
swapLeft: "Przesuń w lewo"
swapRight: "Przesuń w prawo"
swapUp: "Zamień z powyższym"
swapDown: "Zamień z poniższym"
+ stackLeft: "Przypnij do lewej"
+ popRight: "Odepnij w prawo"
profile: "Profil"
+ newProfile: "Nowy profil"
+ deleteProfile: "Usuń profil"
+ widgetsIntroduction: "Wybierz \"Edytuj widżety\" w menu kolumny i dodaj widżet."
_columns:
main: "Główna"
widgets: "Widżety"
diff --git a/locales/pt-PT.yml b/locales/pt-PT.yml
index 0284e62fb..054e845b7 100644
--- a/locales/pt-PT.yml
+++ b/locales/pt-PT.yml
@@ -1,31 +1,733 @@
---
_lang_: "Português"
+headlineMisskey: "Uma rede ligada por notas"
+introMisskey: "Bem-vindo! Misskey é um serviço de microblogue descentralizado de código aberto.\nCria \"notas\" e partilha o que te ocorre com todos à tua volta. 📡\nCom \"reações\" podes também expressar logo o que sentes às notas de todos. 👍\nExploremos um novo mundo! 🚀"
monthAndDay: "{day}/{month}"
-search: "Pesquisar"
+search: "Buscar"
notifications: "Notificações"
username: "Nome de usuário"
password: "Senha"
+forgotPassword: "Esqueci a senha"
+fetchingAsApObject: "Buscando no Fediverso"
ok: "OK"
+gotIt: "Entendi"
cancel: "Cancelar"
enterUsername: "Digite o nome de usuário"
renotedBy: "Repostado por {user}"
+noNotes: "Sem posts"
+noNotifications: "Sem notificações"
+instance: "Instância"
settings: "Configurações"
basicSettings: "Configurações básicas"
otherSettings: "Outras configurações"
+openInWindow: "Abrir numa janela"
profile: "Perfil"
timeline: "Timeline"
+noAccountDescription: "Este usuário não tem uma descrição."
+login: "Iniciar sessão"
+loggingIn: "Iniciando sessão…"
+logout: "Sair"
+signup: "Registrar-se"
+uploading: "Enviando…"
+save: "Guardar"
+users: "Usuários"
+addUser: "Adicionar usuário"
+favorite: "Favoritar"
+favorites: "Favoritar"
+unfavorite: "Remover dos favoritos"
+favorited: "Adicionado aos favoritos."
+alreadyFavorited: "Já adicionado aos favoritos."
+cantFavorite: "Não foi possível adicionar aos favoritos."
+pin: "Afixar no perfil"
+unpin: "Desafixar do perfil"
+copyContent: "Copiar conteúdos"
+copyLink: "Copiar hiperligação"
+delete: "Eliminar"
+deleteAndEdit: "Eliminar e editar"
+deleteAndEditConfirm: "Tens a certeza que pretendes eliminar esta nota e editá-la? Irás perder todas as suas reações, renotas e respostas."
+addToList: "Adicionar a lista"
+sendMessage: "Enviar uma mensagem"
+copyUsername: "Copiar nome de utilizador"
+searchUser: "Pesquisar utilizador"
+reply: "Responder"
+loadMore: "Carregar mais"
+showMore: "Ver mais"
+showLess: "Fechar"
+youGotNewFollower: "Você tem um novo seguidor"
+receiveFollowRequest: "Pedido de seguimento recebido"
+followRequestAccepted: "Pedido de seguir aceito"
+mention: "Menção"
+mentions: "Menções"
+directNotes: "Notas diretas"
+importAndExport: "Importar/Exportar"
+import: "Importar"
+export: "Exportar"
+files: "Ficheiros"
+download: "Descarregar"
+driveFileDeleteConfirm: "Tens a certeza que pretendes apagar o ficheiro \"{name}\"? As notas que tenham este ficheiro anexado serão também apagadas."
+unfollowConfirm: "Tens a certeza que queres deixar de seguir {name}?"
+exportRequested: "Pediste uma exportação. Este processo pode demorar algum tempo. Será adicionado à tua Drive após a conclusão do processo."
+importRequested: "Pediste uma importação. Este processo pode demorar algum tempo."
+lists: "Listas"
+noLists: "Não tens nenhuma lista"
+note: "Post"
+notes: "Posts"
+following: "Seguindo"
+followers: "Seguidores"
+followsYou: "Segue-te"
+createList: "Criar lista"
+manageLists: "Gerir listas"
+error: "Erro"
+somethingHappened: "Ocorreu um erro"
+retry: "Tentar novamente"
+pageLoadError: "Ocorreu um erro ao carregar a página."
+pageLoadErrorDescription: "Isto é normalmente causado por erros de rede ou pela cache do browser. Experimenta limpar a cache e tenta novamente após algum tempo."
+serverIsDead: "O servidor não está respondendo. Por favor espere um pouco e tente novamente."
+youShouldUpgradeClient: "Para visualizar essa página, por favor recarregue-a para atualizar seu cliente."
+enterListName: "Insira um nome para a lista"
+privacy: "Privacidade"
+makeFollowManuallyApprove: "Pedidos de seguimento precisam ser aprovados"
+defaultNoteVisibility: "Visibilidade padrão"
+follow: "Seguindo"
+followRequest: "Mandar pedido de seguimento"
+followRequests: "Pedidos de seguimento"
+unfollow: "Deixar de seguir"
+followRequestPending: "Pedido de seguimento pendente"
+enterEmoji: "Inserir emoji"
+renote: "Repostar"
+unrenote: "Desmarcar"
+renoted: "Repostado"
+cantRenote: "Não pode repostar"
+cantReRenote: "Não pode repostar este repost"
+quote: "Citar"
+pinnedNote: "Post fixado"
+pinned: "Afixar no perfil"
+you: "Você"
+clickToShow: "Clique para ver"
+sensitive: "Conteúdo sensível"
+add: "Adicionar"
+reaction: "Reações"
+reactionSetting: "Quais reações a mostrar no selecionador de reações"
+reactionSettingDescription2: "Arraste para reordenar, clique para excluir, pressione + para adicionar."
+rememberNoteVisibility: "Lembrar das configurações de visibilidade de notas"
+attachCancel: "Remover anexo"
+markAsSensitive: "Marcar como sensível"
+unmarkAsSensitive: "Desmarcar como sensível"
+enterFileName: "Digite o nome do ficheiro"
+mute: "Silenciar"
+unmute: "Dessilenciar"
+block: "Bloquear"
+unblock: "Desbloquear"
+suspend: "Suspender"
+unsuspend: "Cancelar suspensão"
+blockConfirm: "Tem certeza que gostaria de bloquear essa conta?"
+unblockConfirm: "Tem certeza que gostaria de desbloquear essa conta?"
+suspendConfirm: "Tem certeza que gostaria de suspender essa conta?"
+unsuspendConfirm: "Tem certeza que gostaria de cancelar a suspensão dessa conta?"
+selectList: "Escolhe uma lista"
+selectAntenna: "Escolhe uma antena"
+selectWidget: "Escolhe um widget"
+editWidgets: "Editar widgets"
+editWidgetsExit: "Pronto"
+customEmojis: "Emoji personalizado"
+emoji: "Emoji"
+emojis: "Emojis"
+emojiName: "Nome do Emoji"
+emojiUrl: "URL do Emoji"
+addEmoji: "Adicionar um Emoji"
+settingGuide: "Guia de configuração"
+cacheRemoteFiles: "Memória transitória de arquivos remotos"
+cacheRemoteFilesDescription: "Se você desabilitar essa configuração, os arquivos remotos não serão armazenados em memória transitória e serão vinculados diretamente. Economiza o armazenamento do servidor, mas não gera miniaturas, o que aumenta o tráfego."
+flagAsBot: "Marcar conta como robô"
+flagAsBotDescription: "Se esta conta for operada por um programa, ative este sinalizador. Quando ativado, serve como um sinalizador para evitar o encadeamento de reações para outros programadores, e o manuseio do sistema do Misskey é adequado para ‘bots’."
+flagAsCat: "Marcar conta como gato"
+flagAsCatDescription: "Ative essa opção para marcar essa conta como gato."
+flagShowTimelineReplies: "Mostrar respostas na linha de tempo"
+flagShowTimelineRepliesDescription: "Quando ativado, a linha do tempo mostra as respostas às outras notas do utilizador, além da nota do utilizador."
+autoAcceptFollowed: "Aprove automaticamente os seguidores dos seguintes utilizadores"
+addAccount: "Adicionar Conta"
+loginFailed: "Não consegui logar"
+showOnRemote: "Exibir remotamente"
+general: "Geral"
+wallpaper: "Papel de parede"
+setWallpaper: "Definir papel de parede"
+removeWallpaper: "Remover papel de parede"
+searchWith: "Buscar: {q}"
+youHaveNoLists: "Não tem nenhuma lista"
+followConfirm: "Tem certeza que quer deixar de seguir {name}?"
+proxyAccount: "Conta proxy"
+proxyAccountDescription: "Uma conta proxy é uma conta que atua como seguidora remota para utilizadores sob determinadas condições. Por exemplo, quando um utilizador lista um utilizador remoto, a atividade não será entregue à instância, a menos que alguém esteja seguindo o utilizador listado, portanto, a conta proxy deve seguir."
+host: "hospedeiro"
+selectUser: "Selecionar utilizador"
+recipient: "Morada"
+annotation: "Anotação"
+federation: "União"
+instances: "Instância"
+registeredAt: "Registrado em"
+latestRequestSentAt: "Enviar a solicitação mais recente"
+latestRequestReceivedAt: "Recebeu a última solicitação"
+latestStatus: "Status mais recente"
+storageUsage: "Uso de armazenamento"
+charts: "gráfico"
+perHour: "por hora"
+perDay: "por dia"
+stopActivityDelivery: "Parar a entrega de atividades"
+blockThisInstance: "Bloquear esta instância"
+operations: "operar"
+software: "Programas"
+version: "versão"
+metadata: "Metadados"
+withNFiles: "{n} Um arquivo"
+monitor: "monitor"
+jobQueue: "Fila de trabalhos"
+cpuAndMemory: "CPU e memória"
+network: "rede"
+disk: "disco"
+instanceInfo: "Informações da instância"
+statistics: "Estatisticas"
+clearQueue: "Limpar a fila"
+clearQueueConfirmTitle: "Quer limpar a fila?"
+clearQueueConfirmText: "Postagens não entregues não serão mais entregues. Normalmente você não precisa fazer isso."
+clearCachedFiles: "Limpar memória transitória"
+clearCachedFilesConfirm: "Tem certeza de que deseja excluir todos os arquivos remotos armazenados em memória transitória?"
+blockedInstances: "Instância bloqueada"
+blockedInstancesDescription: "Defina os anfitriões das instâncias que deseja bloquear, separados por quebras de linha. Uma instância bloqueada não poderá interagir com esta instância."
+muteAndBlock: "Silenciar e bloquear"
+mutedUsers: "Silenciar utilizador"
+blockedUsers: "Utilizadores bloqueados"
+noUsers: "Sem usuários"
+editProfile: "Editar Perfil"
+noteDeleteConfirm: "Deseja excluir esta nota?"
+pinLimitExceeded: "Não consigo mais fixar"
+intro: "A instalação do Misskey está completa! Crie uma conta de administrador."
+done: "Concluído"
+processing: "Em Progresso"
+preview: "Pré-visualizar"
+default: "Padrão"
+noCustomEmojis: "Não há emojis"
+noJobs: "Sem trabalho"
+federating: "federar"
+blocked: "Bloqueado"
+suspended: "Cancelar subscrição"
+all: "Todos"
+subscribing: "Subscrito"
+publishing: "Executando"
+notResponding: "Sem resposta"
+instanceFollowing: "Seguir a instância"
+instanceFollowers: "Seguidores da instância"
+instanceUsers: "Utilizador da instância"
+changePassword: "Mudar senha"
+security: "Segurança"
+retypedNotMatch: "As entradas não coincidem."
+currentPassword: "Palavra-passe atual"
+newPassword: "Nova palavra-passe"
+newPasswordRetype: "Nova senha (redigite)"
+attachFile: "Anexar arquivo"
+more: "Mais!"
+featured: "Destaques"
+usernameOrUserId: "Nome de utilizador ou ID de utilizador"
+noSuchUser: "Utilizador não encontrado"
+lookup: "Buscando"
+announcements: "Notícia"
+imageUrl: "URL da imagem"
+remove: "Eliminar"
+removed: "Foi deletado"
+removeAreYouSure: "Deseja excluir \"{x}\"?"
+deleteAreYouSure: "Deseja excluir \"{x}\"?"
+resetAreYouSure: "Redefinir agora?"
+saved: "Salvo"
+messaging: "Chat"
+upload: "Enviando"
+keepOriginalUploading: "Manter a imagem original"
+keepOriginalUploadingDescription: "Mantenha a versão original ao carregar a imagem. Quando desligado, a imagem para publicação na web será gerada no navegador no momento do upload."
+fromDrive: "\nDa unidade"
+fromUrl: "Da URL"
+uploadFromUrl: "Carregamento de URL"
+uploadFromUrlDescription: "URL do arquivo que você deseja enviar"
+uploadFromUrlRequested: "Upload solicitado"
+uploadFromUrlMayTakeTime: "Pode levar algum tempo para que o upload seja concluído."
+explore: "Explorar"
+messageRead: "Lida"
+noMoreHistory: "Sem mais história"
+startMessaging: "Iniciar conversação"
+nUsersRead: "{n} Pessoas leem"
+agreeTo: "Eu concordo com {0}"
+tos: "Termos de serviço"
+start: "começar"
+home: "casa"
+remoteUserCaution: "As informações estão incompletas porque é um utilizador remoto."
+activity: "atividade"
+images: "imagem"
+birthday: "aniversário"
+yearsOld: "{age} anos"
+registeredDate: "Data de registro"
+location: "Lugar, colocar"
+theme: "tema"
+themeForLightMode: "Temas usados no modo de luz"
+themeForDarkMode: "Temas usados no modo escuro"
+light: "Claro"
+dark: "Escuro"
+lightThemes: "Tema claro"
+darkThemes: "Tema escuro"
+syncDeviceDarkMode: "Sincronize com o modo escuro do dispositivo"
+drive: "Unidades"
+fileName: "Nome do Ficheiro"
+selectFile: "Selecione os arquivos"
+selectFiles: "Selecione os arquivos"
+selectFolder: "Selecionar uma pasta"
+selectFolders: "Selecionar uma pasta"
+renameFile: "Renomear ficheiro"
+folderName: "Nome da pasta"
+createFolder: "Criar pasta"
+renameFolder: "Renomear Pasta"
+deleteFolder: "Eliminar Pasta"
+addFile: "Adicionar arquivo"
+emptyDrive: "A unidade está vazia"
+emptyFolder: "A pasta está vazia"
+unableToDelete: "Não é possível eliminar"
+inputNewFileName: "Por favor, digite um novo nome para a pasta!"
+inputNewDescription: "Insira uma nova legenda"
+inputNewFolderName: "Por favor, digite um novo nome para a pasta!"
+circularReferenceFolder: "A pasta de destino é uma subpasta da pasta que você deseja mover."
+hasChildFilesOrFolders: "Esta pasta não está vazia e não pode ser excluída."
+copyUrl: "Copiar URL"
+rename: "Renomear"
+avatar: "Avatar"
+banner: "Capa"
+nsfw: "Conteúdo sensível"
+whenServerDisconnected: "Quando a conexão com o servidor é perdida"
+disconnectedFromServer: "Desconectado do servidor"
+reload: "Recarregar"
+doNothing: "Nenhuma ação adicional"
+reloadConfirm: "Quer recarregar?"
+watch: "ver"
+unwatch: "Não observar"
+accept: "Aceitar"
+reject: "Rejeitar"
+normal: "Normal"
+instanceName: "Nome da instância"
+instanceDescription: "Descrição da instância"
+maintainerName: "Nome do administrador"
+maintainerEmail: "E-mail do Administrador:"
+tosUrl: "URL dos Termos de Uso"
+thisYear: "Este ano"
+thisMonth: "Este mês"
+today: "Hoje"
+dayX: " Dia {day}"
+monthX: "mês de {month}"
+yearX: "Ano {year}"
+pages: "Páginas"
+integration: "Integração"
+connectService: "Conectar"
+disconnectService: "Desconectar"
+enableLocalTimeline: "Ativar linha do tempo local"
+enableGlobalTimeline: "Ativar linha do tempo global"
+disablingTimelinesInfo: "Se você desabilitar essas linhas do tempo, administradores e moderadores ainda poderão usá-las por conveniência."
+registration: "Registar"
+enableRegistration: "Permitir que qualquer pessoa se registre"
+invite: "Convidar"
+driveCapacityPerLocalAccount: "Capacidade da unidade por utilizador local"
+driveCapacityPerRemoteAccount: "Capacidade da unidade por utilizador remoto"
+inMb: "Em ‘megabytes’"
+iconUrl: "URL da imagem do ícone (favicon, etc.)"
+bannerUrl: "URL da imagem do ‘banner’"
+backgroundImageUrl: "URL da imagem de fundo"
+basicInfo: "Informações básicas"
+pinnedUsers: "Utilizador fixado"
+pinnedUsersDescription: "Descreva os utilizadores que você deseja fixar na página \"Localizar\", etc., separados por quebras de linha."
+pinnedPages: "Página fixada"
+pinnedPagesDescription: "Descreva o caminho da página que você deseja fixar na página superior da instância, separada por quebras de linha."
+pinnedClipId: "ID do clipe a ser fixado"
+pinnedNotes: "Post fixado"
+hcaptcha: "hCaptcha"
+enableHcaptcha: "Ativar hCaptcha"
+hcaptchaSiteKey: "Chave do sítio ‘web’"
+hcaptchaSecretKey: "Chave secreta"
+recaptcha: "reCAPTCHA"
+enableRecaptcha: "Habilitar reCAPTCHA"
+recaptchaSiteKey: "Chave do sítio ‘web’"
+recaptchaSecretKey: "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."
+antennas: "Antenas"
+manageAntennas: "Gestão de antena"
+name: "Nome"
+antennaSource: "Origem de entrada"
+antennaKeywords: "Palavras-chave recebidas"
+antennaExcludeKeywords: "Palavras-chave negativas"
+antennaKeywordsDescription: "Se você separá-lo com um espaço, será uma especificação AND, e se você separá-lo com uma quebra de linha, será uma especificação OR."
+notifyAntenna: "Notificar novas notas"
+withFileAntenna: "Apenas notas com arquivos anexados"
+enableServiceworker: "Ative as notificações push para o seu navegador"
+antennaUsersDescription: "Especificar nomes de utilizador separados por quebras de linha"
+caseSensitive: "Maiúsculas e minúsculas"
+withReplies: "Incluindo resposta"
+connectedTo: "Você está conectado à seguinte conta"
+notesAndReplies: "Publicações e respostas"
+withFiles: "Com arquivo"
+silence: "Silenciado"
+silenceConfirm: "Quer silenciar?"
+unsilence: "Liberar silenciar"
+unsilenceConfirm: "Quer liberar o silêncio?"
+popularUsers: "Utilizadores populares"
+recentlyUpdatedUsers: "Utilizadores postados recentemente"
+recentlyRegisteredUsers: "Utilizadores registrados recentemente"
+recentlyDiscoveredUsers: "Utilizadores descobertos recentemente"
+exploreUsersCount: "Há um utilizador de {count}"
+exploreFediverse: "Explorar Fediverse"
+popularTags: "Tags populares"
+userList: "Listas"
+about: "Informações"
+aboutMisskey: "Sobre Misskey"
+administrator: "Administrador"
+token: "Símbolo"
+twoStepAuthentication: "Verificação em duas etapas"
+moderator: "Moderador"
+nUsersMentioned: "Postado por {n} pessoas"
+securityKey: "Chave de segurança"
+securityKeyName: "Nome chave"
+registerSecurityKey: "Registre a chave de segurança"
+lastUsed: "Último uso"
+unregister: "Cancelar registro"
+passwordLessLogin: "Entrar sem senha"
+resetPassword: "Redefinir senha"
+newPasswordIs: "A nova senha é \"{password}\""
+reduceUiAnimation: "Reduzir a animação da ‘interface’ do utilizador"
+share: "Compartilhar"
+notFound: "Não encontrado"
+notFoundDescription: "Não havia página correspondente ao URL especificado."
+uploadFolder: "Destino de ‘upload’ padrão"
+cacheClear: "Excluir memória transitória"
+markAsReadAllNotifications: "Marcar todas as notificações como lidas"
+markAsReadAllUnreadNotes: "Marcar todas as postagens como lidas"
+markAsReadAllTalkMessages: "Marcar todas as conversas como lidas"
+help: "Ajuda"
+inputMessageHere: "Escrever mensagem aqui"
+close: "Fechar"
+group: "Grupos"
+groups: "Grupos"
+createGroup: "Criar grupo"
+ownedGroups: "Grupo próprio"
+invites: "Convidar"
+invitations: "Convidar"
+tags: "Etiquetas"
+docSource: "Fonte deste documento"
+createAccount: "Criar conta"
+existingAccount: "Contas existentes"
+regenerate: "Gerar novamente"
+fontSize: "Tamanho do texto"
+noFollowRequests: "Não há aplicação de acompanhamento"
+openImageInNewTab: "Abrir a imagem numa nova aba"
+dashboard: "Painel de controle"
+local: "Local"
+remote: "Remoto"
+total: "Total"
+weekOverWeekChanges: "Em comparação com a semana anterior"
+dayOverDayChanges: "Dia anterior"
+appearance: "Aparência"
+clientSettings: "Configurações do cliente"
+accountSettings: "Configurações da conta"
+promotion: "Promoção"
+promote: "Promover"
+numberOfDays: "Dias"
+hideThisNote: "Ocultar esta nota"
+showFeaturedNotesInTimeline: "Mostrar notas recomendadas na linha do tempo"
+objectStorage: "Armazenamento de objetos"
+useObjectStorage: "Usar armazenamento de objetos"
+objectStorageBaseUrl: "URL base"
+objectStorageBaseUrlDesc: "O URL usado para referência. Se você estiver usando um CDN ou Proxy, seu URL, S3:'https: // .s3.amazonaws.com', GCS, etc .:'https://storage.googleapis.com/ ' ."
+objectStorageBucket: "Bucket"
+objectStorageBucketDesc: "Especifique o nome do bucket do serviço a ser usado."
+objectStoragePrefix: "Prefixo"
+objectStoragePrefixDesc: "Ele é armazenado neste diretório de prefixo."
+objectStorageEndpoint: "Ponto final"
+objectStorageEndpointDesc: "Especifique vazio para S3, caso contrário, especifique o ponto final para cada serviço. Especifique como''ou': '."
+objectStorageRegion: "Região"
+objectStorageRegionDesc: "Especifique uma região como 'xx-east-1'. Caso seu serviço não tenha o conceito de região, ele deve estar vazio ou 'us-east-1'."
+objectStorageUseSSL: "Usar SSL"
+objectStorageUseSSLDesc: "Desative-o se não quiser usar https para conexões de API"
+objectStorageUseProxy: "Usar proxy"
+objectStorageUseProxyDesc: "Se você não usa proxy para conexão de API, desative-o."
+objectStorageSetPublicRead: "Definir 'public-read' ao fazer o upload"
+serverLogs: "Registro do servidor"
+deleteAll: "Apagar Tudo"
+showFixedPostForm: "Exibir o formulário de postagem na parte superior da linha do tempo"
+newNoteRecived: "Nova nota recebida"
+sounds: "Sons"
+listen: "Ouvir"
+none: "Nenhum"
+showInPage: "Ver na página"
+popout: "Sair"
+volume: "Volume"
+masterVolume: "volume principal"
+details: "Detalhes"
+output: "Resultado"
+smtpHost: "hospedeiro"
smtpUser: "Nome de usuário"
smtpPass: "Senha"
+clearCache: "Limpar memória transitória"
+info: "Informações"
+user: "Usuários"
+searchByGoogle: "Buscar"
+file: "Ficheiros"
+_email:
+ _follow:
+ title: "Você tem um novo seguidor"
_mfm:
- search: "Pesquisar"
+ mention: "Menção"
+ quote: "Citar"
+ emoji: "Emoji personalizado"
+ search: "Buscar"
+_theme:
+ keys:
+ mention: "Menção"
+ renote: "Repostar"
_sfx:
+ note: "Posts"
notification: "Notificações"
+ chat: "Chat"
_widgets:
notifications: "Notificações"
timeline: "Timeline"
+ activity: "atividade"
+ federation: "União"
+ jobQueue: "Fila de trabalhos"
+_cw:
+ show: "Carregar mais"
+_visibility:
+ home: "casa"
+ followers: "Seguidores"
_profile:
+ name: "Nome"
username: "Nome de usuário"
+_exportOrImport:
+ followingList: "Seguindo"
+ muteList: "Silenciar"
+ blockingList: "Bloquear"
+ userLists: "Listas"
+_charts:
+ federation: "União"
+_timelines:
+ home: "casa"
+_pages:
+ blocks:
+ 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:
+ requesting: "Pendente"
+ accepted: "Aprovado"
+ rejected: "Recusado"
+_notification:
+ fileUploaded: "Carregamento de arquivo efetuado com sucesso"
+ youGotMention: "{name} te mencionou"
+ youGotReply: "{name} te respondeu"
+ 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"
+ youReceivedFollowRequest: "Você recebeu um pedido de seguimento"
+ yourFollowRequestAccepted: "Seu pedido de seguimento foi aceito"
+ youWereInvitedToGroup: "{userName} te convidou para um grupo"
+ pollEnded: "Os resultados da enquete agora estão disponíveis"
+ emptyPushNotificationMessage: "As notificações de alerta foram atualizadas"
+ _types:
+ all: "Todos"
+ follow: "Seguindo"
+ mention: "Menção"
+ reply: "Respostas"
+ renote: "Repostar"
+ quote: "Citar"
+ reaction: "Reações"
+ pollVote: "Votações em enquetes"
+ pollEnded: "Enquetes terminando"
+ receiveFollowRequest: "Recebeu pedidos de seguimento"
+ followRequestAccepted: "Aceitou pedidos de seguimento"
+ groupInvited: "Convites de grupo"
+ app: "Notificações de aplicativos conectados"
+ _actions:
+ followBack: "te seguiu de volta"
+ reply: "Responder"
+ renote: "Repostar"
_deck:
+ alwaysShowMainColumn: "Sempre mostrar a coluna principal"
+ columnAlign: "Alinhar colunas"
+ addColumn: "Adicionar coluna"
+ swapLeft: "Trocar de posição com a coluna à esquerda"
+ swapRight: "Trocar de posição com a coluna à direita"
+ swapUp: "Trocar de posição com a coluna acima"
+ swapDown: "Trocar de posição com a coluna abaixo"
+ popRight: "Acoplar coluna à direita"
+ profile: "Perfil"
_columns:
+ main: "Principal"
+ widgets: "Widgets"
notifications: "Notificações"
tl: "Timeline"
+ antenna: "Antenas"
+ list: "Listas"
+ mentions: "Menções"
+ direct: "Notas diretas"
diff --git a/locales/ro-RO.yml b/locales/ro-RO.yml
new file mode 100644
index 000000000..8254994b2
--- /dev/null
+++ b/locales/ro-RO.yml
@@ -0,0 +1,729 @@
+---
+_lang_: "Română"
+headlineMisskey: "O rețea conectată prin note"
+introMisskey: "Bine ai venit! Misskey este un serviciu de microblogging open source și decentralizat.\nCreează \"note\" cu care să îți poți împărți gândurile cu oricine din jurul tău. 📡\nCu \"reacții\" îți poți expirma rapid părerea despre notele oricui. 👍\nHai să explorăm o lume nouă! 🚀"
+monthAndDay: "{day}/{month}"
+search: "Caută"
+notifications: "Notificări"
+username: "Nume de utilizator"
+password: "Parolă"
+forgotPassword: "Am uitat parola"
+fetchingAsApObject: "Se aduce din Fediverse..."
+ok: "OK"
+gotIt: "Am înțeles!"
+cancel: "Anulează"
+enterUsername: "Introdu numele de utilizator"
+renotedBy: "Re-notat de {user}"
+noNotes: "Nicio notă"
+noNotifications: "Nicio notificare"
+instance: "Instanță"
+settings: "Setări"
+basicSettings: "Setări generale"
+otherSettings: "Alte Setări"
+openInWindow: "Deschide într-o fereastră"
+profile: "Profil"
+timeline: "Cronologie"
+noAccountDescription: "Acest utilizator încă nu a scris un bio."
+login: "Autentifică-te"
+loggingIn: "Se autentifică"
+logout: "Deconectează-te"
+signup: "Înregistrează-te"
+uploading: "Se încarcă"
+save: "Salvează"
+users: "Utilizatori"
+addUser: "Adăugă utilizator"
+favorite: "Adaugă la favorite"
+favorites: "Favorite"
+unfavorite: "Elimină din favorite"
+favorited: "Adăugat la favorite."
+alreadyFavorited: "Deja adăugat la favorite."
+cantFavorite: "Nu se poate adăuga la favorite."
+pin: "Fixează pe profil"
+unpin: "Anulati fixare"
+copyContent: "Copiază conținutul"
+copyLink: "Copiază link-ul"
+delete: "Şterge"
+deleteAndEdit: "Șterge și editează"
+deleteAndEditConfirm: "Ești sigur că vrei să ștergi această notă și să o editezi? Vei pierde reacțiile, re-notele și răspunsurile acesteia."
+addToList: "Adaugă în listă"
+sendMessage: "Trimite un mesaj"
+copyUsername: "Copiază numele de utilizator"
+searchUser: "Caută un utilizator"
+reply: "Răspunde"
+loadMore: "Incarcă mai mult"
+showMore: "Arată mai mult"
+showLess: "Închide"
+youGotNewFollower: "te-a urmărit"
+receiveFollowRequest: "Cerere de urmărire primită"
+followRequestAccepted: "Cerere de urmărire acceptată"
+mention: "Mențiune"
+mentions: "Mențiuni"
+directNotes: "Note directe"
+importAndExport: "Importă / Exportă"
+import: "Importă"
+export: "Exportă"
+files: "Fișiere"
+download: "Descarcă"
+driveFileDeleteConfirm: "Ești sigur ca vrei să ștergi fișierul \"{name}\"? Notele atașate fișierului vor fi șterse și ele."
+unfollowConfirm: "Ești sigur ca vrei să nu mai urmărești pe {name}?"
+exportRequested: "Ai cerut un export. S-ar putea să ia un pic. Va fi adăugat in Drive-ul tău odată completat."
+importRequested: "Ai cerut un import. S-ar putea să ia un pic."
+lists: "Liste"
+noLists: "Nu ai nici o listă"
+note: "Notă"
+notes: "Note"
+following: "Urmărești"
+followers: "Urmăritori"
+followsYou: "Te urmărește"
+createList: "Creează listă"
+manageLists: "Gestionează listele"
+error: "Eroare"
+somethingHappened: "A survenit o eroare"
+retry: "Reîncearcă"
+pageLoadError: "A apărut o eroare la încărcarea paginii."
+pageLoadErrorDescription: "De obicei asta este cauzat de o eroare de rețea sau cache-ul browser-ului. Încearcă să cureți cache-ul și apoi să încerci din nou puțin mai târziu."
+serverIsDead: "Serverul nu răspunde. Te rugăm să aștepți o perioadă și să încerci din nou."
+youShouldUpgradeClient: "Pentru a vedea această pagină, te rugăm să îți actualizezi clientul."
+enterListName: "Introdu un nume pentru listă"
+privacy: "Confidenţialitate"
+makeFollowManuallyApprove: "Fă cererile de urmărire să necesite aprobare"
+defaultNoteVisibility: "Vizibilitate implicită"
+follow: "Urmărești"
+followRequest: "Trimite cerere de urmărire"
+followRequests: "Cereri de urmărire"
+unfollow: "Nu mai urmări"
+followRequestPending: "Cerere de urmărire în așteptare"
+enterEmoji: "Introdu un emoji"
+renote: "Re-notează"
+unrenote: "Ia înapoi re-nota"
+renoted: "Re-notat."
+cantRenote: "Această postare nu poate fi re-notată."
+cantReRenote: "O re-notă nu poate fi re-notată."
+quote: "Citează"
+pinnedNote: "Notă fixată"
+pinned: "Fixat pe profil"
+you: "Tu"
+clickToShow: "Click pentru a afișa"
+sensitive: "NSFW"
+add: "Adaugă"
+reaction: "Reacție"
+reactionSetting: "Reacții care să apară in selectorul de reacții"
+reactionSettingDescription2: "Trage pentru a rearanja, apasă pe \"+\" pentru a adăuga."
+rememberNoteVisibility: "Amintește setarea de vizibilitate a notelor"
+attachCancel: "Înlătură atașament"
+markAsSensitive: "Marchează ca NSFW"
+unmarkAsSensitive: "Demarchează ca NSFW"
+enterFileName: "Introduceţi numele fişierului"
+mute: "Amuțește"
+unmute: "Înlătură amuțirea"
+block: "Blochează"
+unblock: "Deblochează"
+suspend: "Suspendă"
+unsuspend: "Anulează suspendare"
+blockConfirm: "Ești sigur că vrei să blochezi acest cont?"
+unblockConfirm: "Ești sigur ca vrei să deblochezi acest cont?"
+suspendConfirm: "Ești sigur ca vrei să suspendezi acest cont?"
+unsuspendConfirm: "Ești sigur ca vrei să nu mai suspendezi acest cont?"
+selectList: "Selectează o listă"
+selectAntenna: "Selectează o antenă"
+selectWidget: "Selectați un widget"
+editWidgets: "Editează widget-urile"
+editWidgetsExit: "Terminat"
+customEmojis: "Emoji personalizat"
+emoji: "Emoji"
+emojis: "Emoji-uri"
+emojiName: "Numele emoji-ului"
+emojiUrl: "URL-ul emoji-ului"
+addEmoji: "Adaugă un emoji"
+settingGuide: "Setări recomandate"
+cacheRemoteFiles: "Ține fișierele externe in cache"
+cacheRemoteFilesDescription: "Când această setare este dezactivată, fișierele externe sunt încărcate direct din instanța externă. Dezactivarea va scădea utilizarea spațiului de stocare, dar va crește traficul, deoarece thumbnail-urile nu vor fi generate."
+flagAsBot: "Marchează acest cont ca bot"
+flagAsBotDescription: "Activează această opțiune dacă acest cont este controlat de un program. Daca e activată, aceasta va juca rolul unui indicator pentru dezvoltatori pentru a preveni interacțiunea în lanțuri infinite cu ceilalți boți și ajustează sistemele interne al Misskey pentru a trata acest cont drept un bot."
+flagAsCat: "Marchează acest cont ca pisică"
+flagAsCatDescription: "Activează această opțiune dacă acest cont este o pisică."
+flagShowTimelineReplies: "Arată răspunsurile în cronologie"
+flagShowTimelineRepliesDescription: "Dacă e activată vor fi arătate în cronologie răspunsurile utilizatorilor către alte notele altor utilizatori."
+autoAcceptFollowed: "Aprobă automat cererile de urmărire de la utilizatorii pe care îi urmărești"
+addAccount: "Adaugă un cont"
+loginFailed: "Autentificare eșuată"
+showOnRemote: "Vezi mai multe pe instanța externă"
+general: "General"
+wallpaper: "Imagine de fundal"
+setWallpaper: "Setați imaginea de fundal"
+removeWallpaper: "Șterge imagine de fundal"
+searchWith: "Caută: {q}"
+youHaveNoLists: "Nu ai nici o listă"
+followConfirm: "Ești sigur ca vrei să urmărești pe {name}?"
+proxyAccount: "Cont proxy"
+proxyAccountDescription: "Un cont proxy este un cont care se comportă ca un urmăritor extern pentru utilizatorii puși sub anumite condiții. De exemplu, când un cineva adaugă un utilizator extern intr-o listă, activitatea utilizatorului extern nu va fi adusă în instanță daca nici un utilizator local nu urmărește acel utilizator, așa că în schimb contul proxy îl va urmări."
+host: "Gazdă"
+selectUser: "Selectează un utilizator"
+recipient: "Destinatar"
+annotation: "Adnotări"
+federation: "Federație"
+instances: "Instanțe"
+registeredAt: "Înregistrat în"
+latestRequestSentAt: "Ultima cerere trimisă"
+latestRequestReceivedAt: "Ultima cerere primită"
+latestStatus: "Ultimul status"
+storageUsage: "Utilizare stocare"
+charts: "Diagrame"
+perHour: "Pe oră"
+perDay: "Pe zi"
+stopActivityDelivery: "Nu mai trimite activități"
+blockThisInstance: "Blochează această instanță"
+operations: "Operațiuni"
+software: "Software"
+version: "Versiune"
+metadata: "Metadata"
+withNFiles: "{n} fișier(e)"
+monitor: "Monitor"
+jobQueue: "coada de job-uri"
+cpuAndMemory: "CPU și memorie"
+network: "Rețea"
+disk: "Disk"
+instanceInfo: "Informații despre instanță"
+statistics: "Statistici"
+clearQueue: "Șterge coada"
+clearQueueConfirmTitle: "Ești sigur că vrei să cureți coada?"
+clearQueueConfirmText: "Orice notă rămasă în coadă nu va fi federată. De obicei această operație nu este necesară."
+clearCachedFiles: "Golește cache-ul"
+clearCachedFilesConfirm: "Ești sigur că vrei să ștergi toate fișierele externe din cache?"
+blockedInstances: "Instanțe blocate"
+blockedInstancesDescription: "Scrie hostname-urile instanțelor pe care dorești să le blochezi. Instanțele listate nu vor mai putea să comunice cu această instanță."
+muteAndBlock: "Amuțiri și Blocări"
+mutedUsers: "Utilizatori amuțiți"
+blockedUsers: "Utilizatori blocați"
+noUsers: "Niciun utilizator"
+editProfile: "Editează profilul"
+noteDeleteConfirm: "Ești sigur că vrei să ștergi această notă?"
+pinLimitExceeded: "Nu poți mai fixa mai multe note"
+intro: "Misskey s-a instalat! Te rog crează un utilizator admin."
+done: "Gata"
+processing: "Se procesează"
+preview: "Previzualizare"
+default: "Prestabilit"
+noCustomEmojis: "Nu e niciun emoji"
+noJobs: "Nu e niciun job"
+federating: "Federație"
+blocked: "Blocat"
+suspended: "Suspendat"
+all: "Tot"
+subscribing: "Abonare"
+publishing: "Publicare"
+notResponding: "Nu răspunde"
+instanceFollowing: "Urmărind în instanță"
+instanceFollowers: "Urmăritori ai instanței"
+instanceUsers: "Utilizatori ai acestei instanțe"
+changePassword: "Schimbă parolă"
+security: "Securitate"
+retypedNotMatch: "Intrările nu corespund"
+currentPassword: "Parola curentă"
+newPassword: "Parola nouă"
+newPasswordRetype: "Rescrie parola nouă"
+attachFile: "Atașează fișiere"
+more: "Mai mult!"
+featured: "Evidențiat"
+usernameOrUserId: "Nume sau ID de utilizator"
+noSuchUser: "Utilizatorul nu a fost găsit"
+lookup: "Privire"
+announcements: "Anunțuri"
+imageUrl: "URL-ul imaginii"
+remove: "Şterge"
+removed: "Șterș cu succes"
+removeAreYouSure: "Ești sigur că vrei să înlături {x}?"
+deleteAreYouSure: "Ești sigur că vrei să ștergi {x}?"
+resetAreYouSure: "Sigur vrei să resetezi?"
+saved: "Salvat"
+messaging: "Chat"
+upload: "Încarcă"
+keepOriginalUploading: "Păstrează imaginea originală"
+keepOriginalUploadingDescription: "Salvează imaginea originala încărcată fără modificări. Dacă e oprită, o versiune pentru afișarea pe web va fi generată la încărcare."
+fromDrive: "Din Drive"
+fromUrl: "Din URL"
+uploadFromUrl: "Încarcă dintr-un URL"
+uploadFromUrlDescription: "URL-ul fișierului pe care dorești să îl încarci"
+uploadFromUrlRequested: "Încărcare solicitată"
+uploadFromUrlMayTakeTime: "S-ar putea să ia puțin până se finalizează încărcarea."
+explore: "Explorează"
+messageRead: "Citit"
+noMoreHistory: "Nu există mai mult istoric"
+startMessaging: "Începe un chat nou"
+nUsersRead: "citit de {n}"
+agreeTo: "Sunt de acord cu {0}"
+tos: "Termenii de utilizare"
+start: "Să începem"
+home: "Acasă"
+remoteUserCaution: "Deoarece acest utilizator este dintr-o instanță externă, informația afișată poate fi incompletă."
+activity: "Activitate"
+images: "Imagini"
+birthday: "Zi de naștere"
+yearsOld: "{age} ani"
+registeredDate: "Data înregistrării"
+location: "Locație"
+theme: "Teme"
+themeForLightMode: "Temă folosită pentru Modul Luminat"
+themeForDarkMode: "Temă folosită pentru Modul Întunecat"
+light: "Luminos"
+dark: "Întunecat"
+lightThemes: "Teme luminoase"
+darkThemes: "Teme întunecate"
+syncDeviceDarkMode: "Sincronizează Modul Întunecat cu setările dispozitivului"
+drive: "Drive"
+fileName: "Nume fișier"
+selectFile: "Alege un fisier"
+selectFiles: "Alege fișiere"
+selectFolder: "Selectează un folder"
+selectFolders: "Selectează folderele"
+renameFile: "Redenumește fișier"
+folderName: "Nume folder"
+createFolder: "Crează folder"
+renameFolder: "Redenumește acest folder"
+deleteFolder: "Șterge acest folder"
+addFile: "Adăugați un fișier"
+emptyDrive: "Drive-ul tău e gol"
+emptyFolder: "Folder-ul acesta este gol"
+unableToDelete: "Nu se poate șterge"
+inputNewFileName: "Introdu un nou nume de fișier"
+inputNewDescription: "Introdu o descriere nouă"
+inputNewFolderName: "Introdu un nume de folder nou"
+circularReferenceFolder: "Destinația folderului este un subfolder al folderului pe care dorești să îl muți."
+hasChildFilesOrFolders: "Acest folder nu este gol, așa că nu poate fi șters."
+copyUrl: "Copiază URL"
+rename: "Redenumește"
+avatar: "Avatar"
+banner: "Banner"
+nsfw: "NSFW"
+whenServerDisconnected: "Când pierzi conexiunea cu serverul"
+disconnectedFromServer: "Conecțiunea cu serverul a fost pierdută"
+reload: "Reîncarcă"
+doNothing: "Ignoră"
+reloadConfirm: "Ai dori să reîmprospătezi cronologia?"
+watch: "Vezi"
+unwatch: "Oprește-te din văzut"
+accept: "Acceptă"
+reject: "Respinge"
+normal: "Normal"
+instanceName: "Numele instanței"
+instanceDescription: "Descrierea instanței"
+maintainerName: "Administrator"
+maintainerEmail: "Email-ul administratorului"
+tosUrl: "URL-ul Termenilor de utilizare"
+thisYear: "An"
+thisMonth: "Lună"
+today: "Azi"
+dayX: "{day}"
+monthX: "{month}"
+yearX: "{year}"
+pages: "Pagini"
+integration: "Integrare"
+connectService: "Conectează"
+disconnectService: "Deconectează"
+enableLocalTimeline: "Activează cronologia locală"
+enableGlobalTimeline: "Activeaza cronologia globală"
+disablingTimelinesInfo: "Administratorii și Moderatorii vor avea mereu access la toate cronologiile, chiar dacă nu sunt activate."
+registration: "Inregistrare"
+enableRegistration: "Activează înregistrările pentru utilizatori noi"
+invite: "Invită"
+driveCapacityPerLocalAccount: "Capacitatea Drive-ului per utilizator local"
+driveCapacityPerRemoteAccount: "Capacitatea Drive-ului per utilizator extern"
+inMb: "În megabytes"
+iconUrl: "URL-ul iconiței"
+bannerUrl: "URL-ul imaginii de banner"
+backgroundImageUrl: "URL-ul imaginii de fundal"
+basicInfo: "Informații de bază"
+pinnedUsers: "Utilizatori fixați"
+pinnedUsersDescription: "Scrie utilizatorii, separați prin pauză de rând, care vor fi fixați pe pagina \"Explorează\"."
+pinnedPages: "Pagini fixate"
+pinnedPagesDescription: "Introdu linkurile Paginilor pe care le vrei fixate in vâruful paginii acestei instanțe, separate de pauze de rând."
+pinnedClipId: "ID-ul clip-ului pe care să îl fixezi"
+pinnedNotes: "Notă fixată"
+hcaptcha: "hCaptcha"
+enableHcaptcha: "Activează hCaptcha"
+hcaptchaSiteKey: "Site key"
+hcaptchaSecretKey: "Secret key"
+recaptcha: "reCAPTCHA"
+enableRecaptcha: "Activează reCAPTCHA"
+recaptchaSiteKey: "Site key"
+recaptchaSecretKey: "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."
+antennas: "Antene"
+manageAntennas: "Gestionează Antenele"
+name: "Nume"
+antennaSource: "Sursa antenei"
+antennaKeywords: "Cuvinte cheie ascultate"
+antennaExcludeKeywords: "Cuvinte cheie excluse"
+antennaKeywordsDescription: "Separă cu spații pentru o condiție ȘI sau cu o întrerupere de rând pentru o condiție SAU."
+notifyAntenna: "Notifică-mă pentru note noi"
+withFileAntenna: "Doar note cu fișiere"
+enableServiceworker: "Activează ServiceWorker"
+antennaUsersDescription: "Scrie un nume de utilizator per linie"
+caseSensitive: "Sensibil la majuscule și minuscule"
+withReplies: "Include răspunsuri"
+connectedTo: "Următoarele conturi sunt conectate"
+notesAndReplies: "Note și răspunsuri"
+withFiles: "Incluzând fișiere"
+silence: "Amuțește"
+silenceConfirm: "Ești sigur că vrei să amuțești acest utilizator?"
+unsilence: "Anulează amuțirea"
+unsilenceConfirm: "Ești sigur că vrei să anulezi amuțirea acestui utilizator?"
+popularUsers: "Utilizatori populari"
+recentlyUpdatedUsers: "Utilizatori activi recent"
+recentlyRegisteredUsers: "Utilizatori ce s-au alăturat recent"
+recentlyDiscoveredUsers: "Utilizatori descoperiți recent"
+exploreUsersCount: "Aici sunt {count} utilizatori"
+exploreFediverse: "Explorează Fediverse-ul"
+popularTags: "Taguri populare"
+userList: "Liste"
+about: "Despre"
+aboutMisskey: "Despre Misskey"
+administrator: "Administrator"
+token: "Token"
+twoStepAuthentication: "Autentificare în doi pași"
+moderator: "Moderator"
+nUsersMentioned: "Menționat de {n} utilizatori"
+securityKey: "Cheie de securitate"
+securityKeyName: "Numele cheii"
+registerSecurityKey: "Înregistrează o cheie de securitate"
+lastUsed: "Ultima utilizată"
+unregister: "Dezînregistrează"
+passwordLessLogin: "Autentificare fără parolă"
+resetPassword: "Resetează parola"
+newPasswordIs: "Noua parolă este \"{password}\""
+reduceUiAnimation: "Redu animațiile interfeței"
+share: "Distribuie"
+notFound: "Nu a fost găsit"
+notFoundDescription: "N-a fost găsită nicio pagină cu acest URL."
+uploadFolder: "Folder implicit pentru încărcări"
+cacheClear: "Golește cache-ul"
+markAsReadAllNotifications: "Marchează toate notificările drept citit"
+markAsReadAllUnreadNotes: "Marchează toate notele drept citit"
+markAsReadAllTalkMessages: "Marchează toate mesajele drept citit"
+help: "Ajutor"
+inputMessageHere: "Introdu un mesaj aici"
+close: "Închide"
+group: "Grup"
+groups: "Grupuri"
+createGroup: "Crează un grup"
+ownedGroups: "Grupuri deținute"
+joinedGroups: "Grupuri alăturate"
+invites: "Invită"
+groupName: "Numele grupului"
+members: "Membri"
+transfer: "Transferă"
+messagingWithUser: "Chat privat"
+messagingWithGroup: "Chat de grup"
+title: "Titlu"
+text: "Text"
+enable: "Activează"
+next: "Următorul"
+retype: "Introdu din nou"
+noteOf: "Notă de {user}"
+inviteToGroup: "Invită în grup"
+quoteAttached: "Citat"
+quoteQuestion: "Vrei să adaugi ca citat?"
+noMessagesYet: "Niciun mesaj încă"
+newMessageExists: "Ai mesaje noi"
+onlyOneFileCanBeAttached: "Poți atașa un singur fișier la un mesaj"
+signinRequired: "Te rog autentifică-te"
+invitations: "Invită"
+invitationCode: "Cod de invitație"
+checking: "Se verifică..."
+available: "Disponibil"
+unavailable: "Indisponibil"
+usernameInvalidFormat: "Poți folosi litere mari și mici, numere și underscore-uri."
+tooShort: "Prea scurt"
+tooLong: "Prea lung"
+weakPassword: "Parolă slabă"
+normalPassword: "Parolă medie"
+strongPassword: "Parolă puternică"
+passwordMatched: "Se potrivește!"
+passwordNotMatched: "Nu se potrivește"
+signinWith: "Autentifică-te cu {x}"
+signinFailed: "Nu se poate autentifica. Numele de utilizator sau parola introduse sunt incorecte."
+tapSecurityKey: "Apasă pe cheia ta de securitate."
+or: "Sau"
+language: "Limbă"
+uiLanguage: "Limba interfeței"
+groupInvited: "Ai fost invitat într-un grup"
+aboutX: "Despre {x}"
+useOsNativeEmojis: "Folosește emojiuri native OS-ului"
+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"
+signinHistory: "Istoric autentificări"
+disableAnimatedMfm: "Dezactivează MFM cu animații"
+doing: "Se procesează..."
+category: "Categorie"
+tags: "Etichete"
+docSource: "Sursa acestui document"
+createAccount: "Creează un cont"
+existingAccount: "Cont existent"
+regenerate: "Regenerează"
+fontSize: "Mărimea fontului"
+noFollowRequests: "Nu ai nicio cerere de urmărire în așteptare"
+openImageInNewTab: "Deschide imaginile în taburi noi"
+dashboard: "Panou de control"
+local: "Local"
+remote: "Extern"
+total: "Total"
+weekOverWeekChanges: "Schimbări până săptămâna trecută"
+dayOverDayChanges: "Schimbări până ieri"
+appearance: "Aspect"
+clientSettings: "Setări client"
+accountSettings: "Setări cont"
+promotion: "Promovat"
+promote: "Promovează"
+numberOfDays: "Numărul zilelor"
+hideThisNote: "Ascunde această notă"
+showFeaturedNotesInTimeline: "Arată notele recomandate în cronologii"
+objectStorage: "Object Storage"
+useObjectStorage: "Folosește Object Storage"
+objectStorageBaseUrl: "URL de bază"
+objectStorageBaseUrlDesc: "URL-ul este folosit pentru referință. Specifică URL-ul CDN-ului sau Proxy-ului tău dacă folosești unul. Pentru S3 folosește 'https://.s3.amazonaws.com' și pentru GCS sau servicii echivalente folosește 'https://storage.googleapis.com/', etc."
+objectStorageBucket: "Bucket"
+objectStorageBucketDesc: "Te rog specifică numele bucket-ului furnizorului tău."
+objectStoragePrefix: "Prefix"
+objectStoragePrefixDesc: "Fișierele vor fi stocate sub directoare cu acest prefix."
+objectStorageEndpoint: "Endpoint"
+objectStorageEndpointDesc: "Lasă acest câmp gol dacă folosești AWS S3, dacă nu specifică endpoint-ul ca '' sau ':', depinzând de ce serviciu folosești."
+objectStorageRegion: "Regiune"
+objectStorageRegionDesc: "Specifică o regiune precum 'xx-east-1'. Dacă serviciul tău nu face distincția între regiuni lasă acest câmp gol sau introdu 'us-east-1'."
+objectStorageUseSSL: "Folosește SSl"
+objectStorageUseSSLDesc: "Oprește această opțiune dacă nu vei folosi HTTPS pentru conexiunile API-ului"
+objectStorageUseProxy: "Conectează-te prin Proxy"
+objectStorageUseProxyDesc: "Oprește această opțiune dacă vei nu folosi un Proxy pentru conexiunile API-ului"
+objectStorageSetPublicRead: "Setează \"public-read\" pentru încărcare"
+serverLogs: "Loguri server"
+deleteAll: "Șterge tot"
+showFixedPostForm: "Arată caseta de postare în vârful cronologie"
+newNoteRecived: "Sunt note noi"
+sounds: "Sunete"
+listen: "Ascultă"
+none: "Nimic"
+showInPage: "Arată în pagină"
+popout: "Scoate în afară"
+volume: "Volum"
+masterVolume: "Volumul principal"
+details: "Detalii"
+chooseEmoji: "Alege un emoji"
+unableToProcess: "Această operație nu poate fi completată"
+recentUsed: "Folosit recent"
+install: "Instalează"
+uninstall: "Dezinstalează"
+installedApps: "Aplicații autorizate"
+nothing: "Nu e nimic de văzut aici"
+installedDate: "Autorizat la data de"
+lastUsedDate: "Folosit ultima oara la"
+state: "Stare"
+sort: "Sortează"
+ascendingOrder: "Crescător"
+descendingOrder: "Descrescător"
+scratchpad: "Scratchpad"
+scratchpadDescription: "Scratchpad-ul oferă un mediu de experimentare în AiScript. Poți scrie, executa și verifica rezultatele acestuia interacționând cu Misskey în el."
+output: "Ieșire"
+script: "Script"
+disablePagesScript: "Dezactivează AiScript în Pagini"
+updateRemoteUser: "Actualizează informațiile utilizatorului extern"
+deleteAllFiles: "Șterge toate fișierele"
+deleteAllFilesConfirm: "Ești sigur că vrei să ștergi toate fișierele?"
+removeAllFollowing: "Dezurmărește toți utilizatorii urmăriți"
+removeAllFollowingDescription: "Asta va dez-urmări toate conturile din {host}. Te rog execută asta numai dacă instanța, de ex., nu mai există."
+userSuspended: "Acest utilizator a fost suspendat."
+userSilenced: "Acest utilizator a fost setat silențios."
+yourAccountSuspendedTitle: "Acest cont a fost suspendat"
+yourAccountSuspendedDescription: "Acest cont a fost suspendat din cauza încălcării termenilor de serviciu al serverului sau ceva similar. Contactează administratorul dacă ai dori să afli un motiv mai detaliat. Te rog nu crea un cont nou."
+menu: "Meniu"
+divider: "Separator"
+addItem: "Adaugă element"
+relays: "Relee"
+addRelay: "Adaugă Releu"
+inboxUrl: "URL-ul inbox-ului"
+addedRelays: "Relee adăugate"
+serviceworkerInfo: "Trebuie să fie activat pentru notificări push."
+deletedNote: "Notă ștearsă"
+invisibleNote: "Note ascunse"
+enableInfiniteScroll: "Încarcă mai mult automat"
+visibility: "Vizibilitate"
+poll: "Sondaj"
+useCw: "Ascunde conținutul"
+enablePlayer: "Deschide player-ul video"
+disablePlayer: "Închide player-ul video"
+expandTweet: "Expandează tweet"
+themeEditor: "Editor de teme"
+description: "Descriere"
+describeFile: "Adaugă titrări"
+enterFileDescription: "Introdu titrările"
+author: "Autor"
+leaveConfirm: "Ai schimbări nesalvate. Vrei să renunți la ele?"
+manage: "Gestionare"
+plugins: "Pluginuri"
+deck: "Deck"
+undeck: "Părăsește Deck"
+useBlurEffectForModal: "Folosește efect de blur pentru modale"
+width: "Lăţime"
+height: "Înălţime"
+large: "Mare"
+medium: "Mediu"
+small: "Mic"
+generateAccessToken: "Generează token de acces"
+permission: "Permisiuni"
+enableAll: "Actevează tot"
+disableAll: "Dezactivează tot"
+tokenRequested: "Acordă acces la cont"
+pluginTokenRequestedDescription: "Acest plugin va putea să folosească permisiunile setate aici."
+notificationType: "Tipul notificării"
+edit: "Editează"
+useStarForReactionFallback: "Folosește ★ ca fallback dacă emoji-ul este necunoscut"
+emailServer: "Server email"
+enableEmail: "Activează distribuția de emailuri"
+emailConfigInfo: "Folosit pentru a confirma emailul tău în timpul logări dacă îți uiți parola"
+email: "Email"
+emailAddress: "Adresă de email"
+smtpConfig: "Configurare Server SMTP"
+smtpHost: "Gazdă"
+smtpPort: "Port"
+smtpUser: "Nume de utilizator"
+smtpPass: "Parolă"
+emptyToDisableSmtpAuth: "Lasă username-ul și parola necompletate pentru a dezactiva verificarea SMTP"
+smtpSecure: "Folosește SSL/TLS implicit pentru conecțiunile SMTP"
+smtpSecureInfo: "Oprește opțiunea asta dacă STARTTLS este folosit"
+testEmail: "Testează livrarea emailurilor"
+wordMute: "Cuvinte pe mut"
+regexpError: "Eroare de Expresie Regulată"
+regexpErrorDescription: "A apărut o eroare în expresia regulată pe linia {line} al cuvintelor {tab} setate pe mut:"
+instanceMute: "Instanțe pe mut"
+userSaysSomething: "{name} a spus ceva"
+makeActive: "Activează"
+display: "Arată"
+copy: "Copiază"
+metrics: "Metrici"
+overview: "Privire de ansamblu"
+logs: "Log-uri"
+delayed: "Întârziate"
+database: "Baza de date"
+channel: "Canale"
+create: "Crează"
+notificationSetting: "Setări notificări"
+notificationSettingDesc: "Selectează tipurile de notificări care să fie arătate"
+useGlobalSetting: "Folosește setările globale"
+useGlobalSettingDesc: "Dacă opțiunea e pornită, notificările contului tău vor fi folosite. Dacă e oprită, configurația va fi individuală."
+other: "Altele"
+regenerateLoginToken: "Regenerează token de login"
+regenerateLoginTokenDescription: "Regenerează token-ul folosit intern în timpul logări. În mod normal asta nu este necesar. Odată regenerat, toate dispozitivele vor fi delogate."
+setMultipleBySeparatingWithSpace: "Separă mai multe intrări cu spații."
+fileIdOrUrl: "Introdu ID sau URL"
+behavior: "Comportament"
+sample: "exemplu"
+abuseReports: "Rapoarte"
+reportAbuse: "Raportează"
+reportAbuseOf: "Raportează {name}"
+fillAbuseReportDescription: "Te rog scrie detaliile legate de acest raport. Dacă este despre o notă specifică, te rog introdu URL-ul ei."
+abuseReported: "Raportul tău a fost trimis. Mulțumim."
+reporter: "Raportorul"
+reporteeOrigin: "Originea raportatului"
+reporterOrigin: "Originea raportorului"
+forwardReport: "Redirecționează raportul către instanța externă"
+forwardReportIsAnonymous: "În locul contului tău, va fi afișat un cont anonim, de sistem, ca raportor către instanța externă."
+send: "Trimite"
+abuseMarkAsResolved: "Marchează raportul ca rezolvat"
+openInNewTab: "Deschide în tab nou"
+openInSideView: "Deschide în vedere laterală"
+defaultNavigationBehaviour: "Comportament de navigare implicit"
+editTheseSettingsMayBreakAccount: "Editarea acestor setări îți pot defecta contul."
+waitingFor: "Așteptând pentru {x}"
+random: "Aleator"
+system: "Sistem"
+switchUi: "Schimbă UI"
+desktop: "Desktop"
+clearCache: "Golește cache-ul"
+info: "Despre"
+user: "Utilizatori"
+administration: "Gestionare"
+middle: "Mediu"
+sent: "Trimite"
+searchByGoogle: "Caută"
+file: "Fișiere"
+_email:
+ _follow:
+ title: "te-a urmărit"
+_mfm:
+ mention: "Mențiune"
+ quote: "Citează"
+ emoji: "Emoji personalizat"
+ search: "Caută"
+_theme:
+ description: "Descriere"
+ keys:
+ mention: "Mențiune"
+ renote: "Re-notează"
+ divider: "Separator"
+_sfx:
+ note: "Note"
+ notification: "Notificări"
+ chat: "Chat"
+_widgets:
+ notifications: "Notificări"
+ timeline: "Cronologie"
+ activity: "Activitate"
+ federation: "Federație"
+ jobQueue: "coada de job-uri"
+_cw:
+ show: "Incarcă mai mult"
+_visibility:
+ home: "Acasă"
+ followers: "Urmăritori"
+_profile:
+ name: "Nume"
+ username: "Nume de utilizator"
+_exportOrImport:
+ followingList: "Urmărești"
+ muteList: "Amuțește"
+ blockingList: "Blochează"
+ userLists: "Liste"
+_charts:
+ federation: "Federație"
+_timelines:
+ home: "Acasă"
+_pages:
+ blocks:
+ 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:
+ youWereFollowed: "te-a urmărit"
+ youWereInvitedToGroup: "Ai fost invitat într-un grup"
+ _types:
+ follow: "Urmărești"
+ mention: "Mențiune"
+ renote: "Re-notează"
+ quote: "Citează"
+ reaction: "Reacție"
+ _actions:
+ reply: "Răspunde"
+ renote: "Re-notează"
+_deck:
+ _columns:
+ notifications: "Notificări"
+ tl: "Cronologie"
+ antenna: "Antene"
+ list: "Liste"
+ mentions: "Mențiuni"
diff --git a/locales/ru-RU.yml b/locales/ru-RU.yml
index 4cd8466c7..afce5ec02 100644
--- a/locales/ru-RU.yml
+++ b/locales/ru-RU.yml
@@ -1,11 +1,13 @@
---
_lang_: "Русский"
+headlineMisskey: "Сеть, сплетённая из заметок"
introMisskey: "Добро пожаловать! Misskey — это децентрализованный сервис микроблогов с открытым исходным кодом.\nПишите «заметки» — делитесь со всеми происходящим вокруг или рассказывайте о себе 📡\nСтавьте «реакции» — выражайте свои чувства и эмоции от заметок других 👍\nОткройте для себя новый мир 🚀"
monthAndDay: "{day}.{month}"
search: "Поиск"
notifications: "Уведомления"
username: "Имя пользователя"
password: "Пароль"
+forgotPassword: "Пароль забыт"
fetchingAsApObject: "Приём с других сайтов"
ok: "Окей"
gotIt: "Ясно!"
@@ -50,6 +52,7 @@ searchUser: "Поиск людей"
reply: "Ответить"
loadMore: "Показать еще"
showMore: "Показать еще"
+showLess: "Закрыть"
youGotNewFollower: "Новый подписчик"
receiveFollowRequest: "Получен запрос на подписку"
followRequestAccepted: "Запрос на подписку принят"
@@ -79,6 +82,8 @@ somethingHappened: "Что-то пошло не так"
retry: "Повторить попытку"
pageLoadError: "Не удалось загрузить страницу"
pageLoadErrorDescription: "Обычно это случается из-за сбоев в сети или кэша браузера. Попробуйте очистить кэш, или подождать пару минут, а потом попытаться загрузить страницу снова."
+serverIsDead: "Ответа от сервера нет. Пожалуйста, подождите немного и повторите попытку."
+youShouldUpgradeClient: "Чтобы просмотреть эту страницу, пожалуйста, обновите ее."
enterListName: "Название списка"
privacy: "Конфиденциальность"
makeFollowManuallyApprove: "Принимать подписчиков вручную"
@@ -96,12 +101,13 @@ cantRenote: "Это нельзя репостить."
cantReRenote: "Невозможно репостить репост."
quote: "Цитата"
pinnedNote: "Закреплённая заметка"
+pinned: "Закрепить в профиле"
you: "Вы"
clickToShow: "Нажмите для просмотра"
sensitive: "Содержимое не для всех"
add: "Добавить"
reaction: "Реакции"
-reactionSettingDescription: "Подберите, что будет у вас в палитре реакций"
+reactionSetting: "Реакции, отображаемые в палитре"
reactionSettingDescription2: "Расставляйте перетаскиванием, удаляйте нажатием, добавляйте кнопкой «+»."
rememberNoteVisibility: "Запоминать видимость заметок"
attachCancel: "Удалить вложение"
@@ -123,8 +129,9 @@ selectAntenna: "Выберите антенну"
selectWidget: "Выберите виджет"
editWidgets: "Редактировать виджеты"
editWidgetsExit: "Готово"
-customEmojis: "Эмодзи пользователя"
+customEmojis: "Собственные эмодзи"
emoji: "Эмодзи"
+emojis: "Эмодзи"
emojiName: "Название эмодзи"
emojiUrl: "URL эмодзи"
addEmoji: "Добавить эмодзи"
@@ -135,8 +142,10 @@ flagAsBot: "Аккаунт бота"
flagAsBotDescription: "Включите, если этот аккаунт управляется программой. Это позволит системе Misskey учитывать это, а также поможет разработчикам других ботов предотвратить бесконечные циклы взаимодействия."
flagAsCat: "Аккаунт кота"
flagAsCatDescription: "Включите, и этот аккаунт будет помечен как кошачий."
+flagShowTimelineReplies: "Показывать ответы на заметки в ленте"
+flagShowTimelineRepliesDescription: "Если этот параметр включен, то в ленте, в дополнение к заметкам пользователя, отображаются ответы на другие заметки пользователя."
autoAcceptFollowed: "Принимать подписчиков автоматически"
-addAcount: "Добавить аккаунт"
+addAccount: "Добавить учётную запись"
loginFailed: "Неудачная попытка входа"
showOnRemote: "Перейти к оригиналу на сайт"
general: "Общее"
@@ -195,7 +204,8 @@ done: "Готово"
processing: "Обработка"
preview: "Предпросмотр"
default: "По умолчанию"
-noCustomEmojis: "Эмодзи пользователя отсутствуют"
+defaultValueIs: "По умолчанию: {value}"
+noCustomEmojis: "Собственные эмодзи отсутствуют"
noJobs: "Нет заданий"
federating: "Федерируется"
blocked: "Заблокировано"
@@ -229,6 +239,8 @@ resetAreYouSure: "На самом деле сбросить?"
saved: "Сохранено"
messaging: "Сообщения"
upload: "Загрузить"
+keepOriginalUploading: "Сохранить исходное изображение"
+keepOriginalUploadingDescription: "Сохраняет исходную версию при загрузке изображений. Если выключить, то при загрузке браузер генерирует изображение для публикации."
fromDrive: "С «диска»"
fromUrl: "По ссылке"
uploadFromUrl: "Загрузить по ссылке"
@@ -236,10 +248,9 @@ uploadFromUrlDescription: "Ссылка на файл, который хотит
uploadFromUrlRequested: "Загрузка выбранного"
uploadFromUrlMayTakeTime: "Загрузка может занять некоторое время."
explore: "Обзор"
-games: "Игры Misskey"
messageRead: "Прочитали"
noMoreHistory: "История закончилась"
-startMessaging: "Отправить сообщение"
+startMessaging: "Начать общение"
nUsersRead: "Прочитали {n}"
agreeTo: "Я соглашаюсь с {0}"
tos: "Пользовательское соглашение"
@@ -276,6 +287,7 @@ emptyDrive: "Диск пуст"
emptyFolder: "Папка пуста"
unableToDelete: "Удаление невозможно"
inputNewFileName: "Введите имя нового файла"
+inputNewDescription: "Введите новую подпись"
inputNewFolderName: "Пожалуйста, введите новое имя папки!"
circularReferenceFolder: "Вы пытаетесь переместить папку внутрь себя."
hasChildFilesOrFolders: "Эта папка не пуста и не может быть удалена."
@@ -307,27 +319,26 @@ monthX: "{month} месяц"
yearX: "{year} год"
pages: "Страницы"
integration: "Интеграция"
-connectSerice: "Соединение"
-disconnectSerice: "Отключение"
+connectService: "Подключиться"
+disconnectService: "Отключиться"
enableLocalTimeline: "Включить локальную ленту"
enableGlobalTimeline: "Включить глобальную ленту"
disablingTimelinesInfo: "У администраторов и модераторов есть доступ ко всем лентам, даже если они отключены."
registration: "Регистрация"
enableRegistration: "Разрешить регистрацию"
invite: "Пригласить"
-proxyRemoteFiles: "Файлы с других сайтов пускать через прокси"
-proxyRemoteFilesDescription: "Когда эта настройка включена, файлы с других серверов, которые не сохранены или удалены для освобождения места, будут проксироваться локально, а так же для них будут создаваться миниатюры. Эта настройка не затрагивает хранение на сервере."
driveCapacityPerLocalAccount: "Объём диска на одного локального пользователя"
driveCapacityPerRemoteAccount: "Объём диска на одного пользователя с другого сайта"
inMb: "В мегабайтах"
iconUrl: "Ссылка на аватар"
bannerUrl: "Ссылка на изображение в шапке"
+backgroundImageUrl: "Ссылка на фоновое изображение"
basicInfo: "Общая информация"
pinnedUsers: "Прикреплённый пользователь"
pinnedUsersDescription: "Перечислите по одному имени пользователя в строке. Пользователи, перечисленные здесь, будут привязаны к закладке \"Изучение\"."
pinnedPages: "Закрепленные страницы"
pinnedPagesDescription: "Если хотите закрепить страницы на главной сайта, сюда можно добавить пути к ним, каждый в отдельной строке."
-pinnedClipId: "Идентификатор закреплённой памятки"
+pinnedClipId: "Идентификатор закреплённой подборки"
pinnedNotes: "Закреплённая заметка"
hcaptcha: "hCaptcha"
enableHcaptcha: "Включить hCaptcha"
@@ -347,7 +358,6 @@ antennaExcludeKeywords: "Исключения"
antennaKeywordsDescription: "Пишите слова через пробел в одной строке, чтобы ловить их появление вместе; на отдельных строках располагайте слова, или группы слов, чтобы ловить любые из них."
notifyAntenna: "Уведомлять о новых заметках"
withFileAntenna: "Только заметки с вложениями"
-serviceworker: "ServiceWorker"
enableServiceworker: "Включить ServiceWorker"
antennaUsersDescription: "Пишите каждое название аккаута на отдельной строке"
caseSensitive: "С учётом регистра"
@@ -373,6 +383,7 @@ administrator: "Администратор"
token: "Токен"
twoStepAuthentication: "Двухфакторная аутентификация"
moderator: "Модератор"
+moderation: "Модерация"
nUsersMentioned: "Упомянуло пользователей: {n}"
securityKey: "Ключ безопасности"
securityKeyName: "Имя ключа"
@@ -403,8 +414,8 @@ invites: "Приглашения"
groupName: "Название группы"
members: "Участники"
transfer: "Отдать"
-messagingWithUser: "Сообщения пользователей"
-messagingWithGroup: "Чат в группе"
+messagingWithUser: "Общение с другим пользователем"
+messagingWithGroup: "Общение в группе"
title: "Заголовок"
text: "Текст"
enable: "Включить"
@@ -412,7 +423,6 @@ next: "Дальше"
retype: "Введите ещё раз"
noteOf: "Что пишет {user}"
inviteToGroup: "Пригласить в группу"
-maxNoteTextLength: "Максимальная длина текста"
quoteAttached: "Цитата"
quoteQuestion: "Хотите добавить цитату?"
noMessagesYet: "Пока ни одного сообщения"
@@ -436,10 +446,12 @@ signinWith: "Использовать {x} для входа"
signinFailed: "Невозможно войти в систему. Введенное вами имя пользователя или пароль неверны."
tapSecurityKey: "Нажмите на свой электронный ключ"
or: "или"
+language: "Язык"
uiLanguage: "Язык интерфейса"
groupInvited: "Приглашение в группу"
aboutX: "Описание {x}"
useOsNativeEmojis: "Использовать эмодзи операционной системы"
+disableDrawer: "Не использовать выдвижные меню"
youHaveNoGroups: "У вас нет ни одной группы"
joinOrCreateGroup: "Получайте приглашения в группы или создавайте свои собственные"
noHistory: "История пока пуста"
@@ -449,8 +461,8 @@ doing: "В процессе"
category: "Категория"
tags: "Метки"
docSource: "Источник документа"
-createAccount: "Новый аккаунт"
-existingAcount: "Уже существующий"
+createAccount: "Новая учётная запись"
+existingAccount: "Существующая учётная запись"
regenerate: "Создать повторно"
fontSize: "Размер шрифта"
noFollowRequests: "Нерассмотренные запросы на подписку отсутствуют"
@@ -468,7 +480,7 @@ promotion: "Продвинуто"
promote: "Продвинуть"
numberOfDays: "Количество дней"
hideThisNote: "Спрятать эту запись"
-showFeaturedNotesInTimeline: "Показывать в ленте заметки из подборки сайта"
+showFeaturedNotesInTimeline: "Показывать в ленте заметки из «Горячего»"
objectStorage: "Хранилище"
useObjectStorage: "Занято в хранилище"
objectStorageBaseUrl: "Базовый адрес"
@@ -521,12 +533,13 @@ deleteAllFiles: "Удалить все файлы"
deleteAllFilesConfirm: "Вы хотите удалить все файлы?"
removeAllFollowing: "Удалить всех подписчиков"
removeAllFollowingDescription: "Отменить все подписки с домена {host}? Пожалуйста, применяйте это действие, если инстанс больше не существует."
-userSuspended: "Этот пользователь был заморожен"
+userSuspended: "Эта учётная запись заморожена"
userSilenced: "Этот пользователь был заглушен"
-sidebar: "Боковая панель"
+yourAccountSuspendedTitle: "Эта учетная запись заблокирована"
+yourAccountSuspendedDescription: "Эта учетная запись была заблокирована из-за нарушения условий предоставления услуг сервера. Свяжитесь с администратором, если вы хотите узнать более подробную причину. Пожалуйста, не создавайте новую учетную запись."
+menu: "Меню"
divider: "Линия-разделитель"
addItem: "Добавить элемент"
-rooms: "Комната"
relays: "Ретрансляторы"
addRelay: "Добавить ретранслятор"
inboxUrl: "URL ящика входящих сообщений"
@@ -543,11 +556,13 @@ disablePlayer: "Выключить проигрыватель"
expandTweet: "Развернуть твит"
themeEditor: "Редактор темы оформления"
description: "Описание"
+describeFile: "Добавить подпись"
+enterFileDescription: "Введите подпись"
author: "Автор"
leaveConfirm: "Вы не сохранили изменения. Хотите выйти и потерять их?"
manage: "Управление"
plugins: "Расширения"
-pluginInstallWarn: "Пожалуста, не устанавливайте расширения, которым не доверяете"
+preferencesBackups: "Резервная копия"
deck: "Пульт"
undeck: "Покинуть пульт"
useBlurEffectForModal: "Размывка под формой поверх всего"
@@ -562,11 +577,11 @@ permission: "Разрешения"
enableAll: "Включить все"
disableAll: "Выключить всё"
tokenRequested: "Открыть доступ к учётной записи"
-pluginTokenRequestedDescription: "Этот плагин сможет пользоваться разрешениями, установленными здесь."
+pluginTokenRequestedDescription: "Это расширение сможет пользоваться разрешениями, установленными здесь."
notificationType: "Тип уведомления"
edit: "Изменить"
useStarForReactionFallback: "Ставить ★ в качестве реакции вместо неизвестного эмодзи"
-emailConfig: "Настройки почтового сервера"
+emailServer: "Сервер электронной почты"
enableEmail: "Включить обмен электронной почтой"
emailConfigInfo: "Используется для подтверждения адреса электронной почты и сброса пароля."
email: "Электронная почта"
@@ -581,6 +596,8 @@ smtpSecure: "Использовать SSL/TLS для SMTP-соединений"
smtpSecureInfo: "Выключите при использовании STARTTLS."
testEmail: "Проверка доставки электронной почты"
wordMute: "Скрытие слов"
+regexpError: "Ошибка в регулярном выражении"
+instanceMute: "Глушение инстансов"
userSaysSomething: "{name} что-то сообщает"
makeActive: "Активировать"
display: "Отображение"
@@ -601,7 +618,6 @@ regenerateLoginToken: "Создать новый токен для входа"
regenerateLoginTokenDescription: "Создаёт новый токен, используемый внутри программы во время входа. Обычно в этом нет необходимости. При создании все устройства будут отключены."
setMultipleBySeparatingWithSpace: "Можно написать несколько через пробел"
fileIdOrUrl: "Идентификатор файла или ссылка"
-chatOpenBehavior: "Поведение окна чата при открытии"
behavior: "Поведение"
sample: "Пример"
abuseReports: "Жалобы"
@@ -609,6 +625,10 @@ reportAbuse: "Жалоба"
reportAbuseOf: "Пожаловаться на пользователя {name}"
fillAbuseReportDescription: "Опишите, пожалуйста, причину жалобы подробнее. Если речь о конкретной заметке, будьте добры приложить ссылку на неё."
abuseReported: "Жалоба отправлена. Большое спасибо за информацию."
+reporteeOrigin: "О ком сообщено"
+reporterOrigin: "Кто сообщил"
+forwardReport: "Перенаправление отчета на инстант."
+forwardReportIsAnonymous: "Удаленный инстант не сможет увидеть вашу информацию и будет отображаться как анонимная системная учетная запись."
send: "Отправить"
abuseMarkAsResolved: "Отметить жалобу как решённую"
openInNewTab: "Открыть в новой вкладке"
@@ -620,31 +640,31 @@ waitingFor: "Ждём, когда {x} ответит"
random: "Случайные"
system: "Система"
switchUi: "Выбор вида"
-desktop: "Стол"
-clip: "Памятки"
+desktop: "Компьютер"
+clip: "Подборка"
createNew: "Новый документ"
optional: "Необязательно"
-createNewClip: "Новая памятка"
+createNewClip: "Новая подборка"
public: "Общедоступно"
i18nInfo: "Misskey переводят на разные языки добровольцы со всего света. Ваша помощь тоже пригодится здесь: {link}."
manageAccessTokens: "Управление токенами доступа"
accountInfo: "Сведения об учётной записи"
notesCount: "Количество заметок"
repliesCount: "Сколько раз пользователь кому-то ответил"
-renotesCount: "Сколько раз пользователь передал чужие заметки"
+renotesCount: "Сколько раз пользователь делился заметками"
repliedCount: "Сколько раз ответили пользователю"
-renotedCount: "Сколько раз передавали заметки пользователя"
+renotedCount: "Сколько раз делились заметками пользователя"
followingCount: "Количество подписок"
followersCount: "Количество подписавшихся"
-sentReactionsCount: "Сколько раз пользователь отреагировал"
-receivedReactionsCount: "Сколько раз отреагировали на заметки пользователя"
-pollVotesCount: "Сколько раз участвовал в опросах"
+sentReactionsCount: "Количество реакций пользователя"
+receivedReactionsCount: "Количество реакций на заметки пользователя"
+pollVotesCount: "Сколько раз пользователь участвовал в опросах"
pollVotedCount: "Сколько раз участвовали в опросах пользователя"
yes: "Да"
no: "Нет"
driveFilesCount: "Количество файлов на диске"
-driveUsage: "Сколько места занято на диске"
-noCrawle: "Паукам вход воспрещён"
+driveUsage: "Занято места на диске"
+noCrawle: "Запретить паукам индексировать сайт"
noCrawleDescription: "Просьба поисковым системам не ходить по вашему профилю, по заметкам, страницам и не индексировать их."
lockedAccountInfo: "Даже если вы вручную подтверждаете подписки, кто угодно может читать ваши заметки, если вы не отмечаете их «для подписчиков»."
alwaysMarkSensitive: "Отмечать файлы как «содержимое не для всех» по умолчанию"
@@ -656,10 +676,9 @@ emailVerified: "Адрес электронной почты подтвержд
noteFavoritesCount: "Количество добавленного в избранное"
pageLikesCount: "Количество понравившихся страниц"
pageLikedCount: "Количество страниц, понравившихся другим"
-reversiCount: "Количество сыгранных игр в реверси"
contact: "Как связаться"
useSystemFont: "Использовать шрифт, предлагаемый системой"
-clips: "Памятки"
+clips: "Подборки"
experimentalFeatures: "Экспериментальные функции"
developer: "Разработчик"
makeExplorable: "Опубликовать профиль в «Обзоре»."
@@ -668,19 +687,218 @@ showGapBetweenNotesInTimeline: "Показывать разделитель ме
duplicate: "Дубликат"
left: "Влево"
center: "По центру"
+wide: "Толстый"
+narrow: "Тонкий"
reloadToApplySetting: "Это настройка вступает в силу при загрузке страницы. Перезагрузить сейчас?"
+needReloadToApply: "Изменения вступят в силу после перезагрузки страницы."
showTitlebar: "Показать заголовок"
clearCache: "Очистить кэш"
onlineUsersCount: "Пользователей сейчас в сети: {n}"
nUsers: "Пользователей: {n}"
nNotes: "Заметок: {n}"
+sendErrorReports: "Посылать отчёты о сбоях"
+sendErrorReportsDescription: "Если включено, когда возникнет какая-нибудь техническая проблема, подробные сведения об этом будут отправлены разработчикам Misskey. Это очень помогает делать программу лучше. В отчёты попадают тип и версия ОС, браузера, журнал действий (что привело к сбою) и тому подобное."
+myTheme: "Личная тема"
backgroundColor: "Фон"
accentColor: "Акцент"
textColor: "Текст"
+saveAs: "Сохранить под названием…"
+advanced: "Для продвинутых"
value: "Значения"
+createdAt: "Создано"
+updatedAt: "Обновлено"
+saveConfirm: "Сохранить изменения?"
+deleteConfirm: "Удалить?"
+invalidValue: "Недопустимое значение."
+registry: "Реестр"
+closeAccount: "Закрыть учётную запись"
+currentVersion: "Используемая версия"
+latestVersion: "Самая свежая версия"
+youAreRunningUpToDateClient: "У вас самая свежая версия клиента."
+newVersionOfClientAvailable: "Доступна более свежая версия клиента."
+usageAmount: "Использовано"
+capacity: "Ёмкость"
+inUse: "Занято"
+editCode: "Редактировать исходный текст"
+apply: "Применить"
+receiveAnnouncementFromInstance: "Получать оповещения с инстанса"
+emailNotification: "Уведомления по электронной почте"
+publish: "Опубликовать"
+inChannelSearch: "Поиск по каналу"
+useReactionPickerForContextMenu: "Открывать палитру реакций правой кнопкой"
+typingUsers: "Стук клавиш. Это {users}…"
+jumpToSpecifiedDate: "Перейти к заданной дате"
+showingPastTimeline: "Отображается старая лента"
+clear: "Очистить"
+markAllAsRead: "Отметить всё как прочитанное"
+goBack: "Выход"
+unlikeConfirm: "В самом деле отменить «нравится»?"
+fullView: "Полный вид"
+quitFullView: "Закрыть полный вид"
+addDescription: "Добавить описание"
+userPagePinTip: "Можно добавить сюда заметки, выбрав нужную, и включив в её меню пункт «Закрепить в профиле»."
+notSpecifiedMentionWarning: "В этой заметке есть упоминание тех, кто не включён в адресаты"
+info: "Описание"
+userInfo: "Сведения о пользователе"
+unknown: "Неизвестно"
+onlineStatus: "Присутствие в сети"
+hideOnlineStatus: "Скрыть присутствие"
+hideOnlineStatusDescription: "Сокрытие присутствия делает некоторые функции, такие как поиск, менее удобными."
+online: "В сети"
+active: "Действует"
+offline: "Не в сети"
+notRecommended: "Не рекомендуется"
+botProtection: "Ботозащита"
+instanceBlocking: "Блокировка инстансов"
+selectAccount: "Выберите учётную запись"
+switchAccount: "Сменить учётную запись"
+enabled: "Вкл."
+disabled: "Откл."
+quickAction: "Быстрое действие"
+user: "Пользователи"
+administration: "Управление"
+accounts: "Учётные записи"
+switch: "Переключение"
+noMaintainerInformationWarning: "Не заполнены сведения об администраторах"
+noBotProtectionWarning: "Ботозащита не настроена"
+configure: "Настроить"
+postToGallery: "Опубликовать в галерею"
+gallery: "Галерея"
+recentPosts: "Недавние публикации"
+popularPosts: "Популярные публикации"
+shareWithNote: "Поделиться заметкой"
+ads: "Реклама"
+expiration: "Опрос длится"
+memo: "Памятка"
+priority: "Приоритет"
+high: "Высокий"
+middle: "Средне"
+low: "Низкий"
+emailNotConfiguredWarning: "Не указан адрес электронной почты"
+ratio: "Соотношение"
+previewNoteText: "Предварительный просмотр"
+customCss: "Индивидуальный CSS"
+customCssWarn: "Используйте эту настройку только если знаете, что делаете. Ошибки здесь чреваты тем, что сайт перестанет нормально работать у вас."
+global: "Всеобщая"
+squareAvatars: "Квадратные аватарки"
+sent: "Отправить"
+received: "Получено"
+searchResult: "Результаты поиска"
+hashtags: "Хэштег"
+troubleshooting: "Разрешение проблем"
+useBlurEffect: "Размытие в интерфейсе"
+learnMore: "Подробнее"
+misskeyUpdated: "Misskey обновился!"
+whatIsNew: "Что новенького?"
+translate: "Перевод"
+translatedFrom: "Перевод. Язык оригинала — {x}"
+accountDeletionInProgress: "В настоящее время выполняется удаление учетной записи"
+usernameInfo: "Имя, которое отличает вашу учетную запись от других на этом сервере. Вы можете использовать алфавит (a~z, A~Z), цифры (0~9) или символы подчеркивания (_). Имена пользователей не могут быть изменены позже."
+aiChanMode: "ИИ режим"
+keepCw: "Сохраняйте Предупреждения о содержимом"
+pubSub: "Учётные записи Pub/Sub"
+lastCommunication: "Последнее сообщение"
+resolved: "Решено"
+unresolved: "Без решения"
+breakFollow: "Отписка"
+itsOn: "Включено"
+itsOff: "Выключено"
+emailRequiredForSignup: "Для регистрации учётной записи нужен адрес электронной почты"
+unread: "Непрочитанное"
+filter: "Фильтры"
+controlPanel: "Панель управления"
+manageAccounts: "Управление аккаунтом"
+makeReactionsPublic: "Опубликовать список реакций"
+makeReactionsPublicDescription: "Список сделанных вами реакций доступен для просмотра всем желающим."
+classic: "Классика"
+muteThread: "Заглушить цепочку"
+unmuteThread: "Отменить глушение цепочки"
+ffVisibility: "Видимость подписок и подписчиков"
+ffVisibilityDescription: "Здесь можно настроить, кто будет видеть ваши подписки и подписчиков."
+continueThread: "Показать следующие ответы"
+deleteAccountConfirm: "Учётная запись будет безвозвратно удалена. Подтверждаете?"
+incorrectPassword: "Пароль неверен."
+voteConfirm: "Отдать голос за «{choice}»?"
+hide: "Спрятать"
+leaveGroup: "Покинуть группу"
+leaveGroupConfirm: "Покинуть группу «{name}»?"
+useDrawerReactionPickerForMobile: "Выдвижная палитра на мобильном устройстве"
+welcomeBackWithName: "С возвращением, {name}!"
+clickToFinishEmailVerification: "Пожалуйста, нажмите [{ok}], чтобы завершить подтверждение адреса электронной почты."
+overridedDeviceKind: "Тип устройства"
+smartphone: "Смартфон"
+tablet: "Планшет"
+auto: "Автоматически"
+themeColor: "Цвет темы"
+size: "Размер"
+numberOfColumn: "Количество столбцов"
+searchByGoogle: "Поиск"
+instanceDefaultLightTheme: "Светлая тема по умолчанию"
+instanceDefaultDarkTheme: "Темная тема по умолчанию"
+indefinitely: "вечно"
+file: "Файлы"
+recommended: "Рекомендуем"
+check: "Проверить"
+driveCapOverrideLabel: "Изменение лимита дискового пространства для этого пользователя"
+reverse: "Переворот"
+colored: "Выделена цветом"
+label: "Метка"
+localOnly: "Локально"
+beta: "Бета"
+enableAutoSensitive: "Автоматическое определение NSFW"
+enableAutoSensitiveDescription: "Если доступно, используйте машинное обучение для автоматической установки флага NSFW на носителе. Даже если эта функция отключена, она может быть установлена автоматически в зависимости от инстанта."
+account: "Учётные записи"
+_sensitiveMediaDetection:
+ description: "Машинное обучение может быть использовано для автоматического обнаружения чувствительных медиа для модерации. Нагрузка на сервер увеличивается незначительно."
+ setSensitiveFlagAutomatically: "Установить флаг NSFW"
+_emailUnavailable:
+ used: "Уже используется"
+ format: "Неверный формат"
+ disposable: "Временный адрес электронной почты не принимается"
+ mx: "Неверный почтовый сервер"
+ smtp: "Почтовый сервер не отвечает"
+_ffVisibility:
+ public: "Общедоступны"
+ followers: "Показываются только подписчикам"
+ private: "Показываются только вам"
+_signup:
+ almostThere: "Почти готово!"
+ emailAddressInfo: "Введите ваш адрес электронной почты."
+ emailSent: "На указанный вами адрес электронной почты ({email}) отправлено письмо. Перейдите по ссылке в письме, чтобы завершить регистрацию."
+_accountDelete:
+ accountDelete: "Удалить свою учётную запись"
+ mayTakeTime: "Удаление учётной записи — ресурсозатратный процесс. Он может занять много времени, если вы много писали и загружали файлов."
+ sendEmail: "Когда ваша учетная запись будет удалена, мы сообщим на указанную вами электронную почту."
+ requestAccountDelete: "Запросить удаление вашей учетной записи"
+ started: "Процесс удаления начался."
+ inProgress: "Удаление в процессе"
+_ad:
+ back: "Выход"
+ reduceFrequencyOfThisAd: "Реже показывать эту рекламу"
+_forgotPassword:
+ enterEmail: "Введите адрес электронной почты, который ввели при регистрации. На неё будет выслана ссылка для смены пароля."
+ ifNoEmail: "Если вы не ввели свой адрес электронной почты, свяжитесь с администратором ресурса, чтобы сменить пароль."
+ contactAdmin: "Здесь не используются адреса электронной почты, так что свяжитесь с администратором, чтобы поменять пароль."
+_gallery:
+ my: "Личная"
+ liked: "Понравившееся"
+ like: "Нравится!"
+ unlike: "Отменить «нравится»"
+_email:
+ _follow:
+ title: "Новый подписчик"
+ _receiveFollowRequest:
+ title: "Новый запрос на подписку."
+_plugin:
+ install: "Установка расширений"
+ installWarn: "Пожалуйста, не устанавливайте расширения, которым не доверяете."
+ manage: "Управление расширениями"
_registry:
+ scope: "Область"
key: "Ключ"
keys: "Ключ"
+ domain: "Домен"
+ createKey: "Новый ключ"
_aboutMisskey:
about: "Misskey — программа с открытым исходным кодом, которую разрабатывает syuilo с 2014 года."
contributors: "Основные соавторы"
@@ -696,7 +914,7 @@ _nsfw:
force: "Скрывать вообще все файлы"
_mfm:
cheatSheet: "Подсказка по разметке MFM"
- intro: "MFM — язык оформления текста, придуманный специально для Misskey, который здесь можно много где использовать. На этой странице собраны и кратко изложены способы его применения."
+ intro: "MFM — язык оформления текста, который придуман специально для Misskey и готов для применения во многих местах. На этой странице собраны и кратко изложены способы его использовать."
dummy: "Misskey расширяет границы Федиверса."
mention: "Упоминание"
mentionDescription: "При помощи знака «собака» перед именем можно упомянуть какого-нибудь пользователя."
@@ -722,7 +940,7 @@ _mfm:
blockMathDescription: "Оформляет математическое выражение (KaTeX) на отдельной строке."
quote: "Цитата"
quoteDescription: "Так можно процитировать чей-то текст."
- emoji: "Эмодзи пользователя"
+ emoji: "Собственные эмодзи"
emojiDescription: "Можно вставить эмодзи в текст, окружив название двоеточиями."
search: "Поиск"
searchDescription: "Можно добавить форму для поиска, сразу задав, что искать."
@@ -742,40 +960,22 @@ _mfm:
twitchDescription: "Заставляет трястись как одержимого"
spin: "Вращение"
spinDescription: "Так можно крутить содержимое в разных направлениях."
+ x2: "Крупный шрифт"
+ x2Description: "Увеличивает содержимое."
+ x3: "Ещё крупнее"
+ x3Description: "Сильнее увеличивает содержимое."
+ x4: "Совсем крупно"
+ x4Description: "Увеличивает содержимое совсем сильно."
+ blur: "Размытие"
+ blurDescription: "Размывает текст до нечитаемости, будто его поместили за матовое стекло. Наведение указателя мыши на размытый текст возвращает чёткость."
font: "Шрифт"
-_reversi:
- reversi: "Реверси"
- gameSettings: "Настройки игры"
- chooseBoard: "Выберите доску"
- blackOrWhite: "Черные/Белые"
- blackIs: "{name} за чёрных"
- rules: "Правила"
- botSettings: "Настройки бота"
- thisGameIsStartedSoon: "Игра скоро начнётся."
- waitingForOther: "Ожидание соперника..."
- waitingForMe: "В ожидании, когда будете готовы."
- waitingBoth: "Приготовьтесь."
- ready: "Готово"
- cancelReady: "Возврат к подготовке"
- opponentTurn: "Ход соперника"
- myTurn: "Ваш ход"
- turnOf: "Ходит {name}."
- pastTurnOf: "Ходит {name}."
- surrender: "Сдаться"
- surrendered: "Противник сдался"
- drawn: "Ничья"
- won: "Победитель — {name}"
- black: "Чёрные"
- white: "Белые"
- total: "Всего"
- turnCount: "Ход {count}"
- myGames: "Сыгранное вами"
- allGames: "Все игры"
- ended: "Завершена"
- playing: "Идёт игра"
- isLlotheo: "Выигрывает меньшее число камней (LLoTheO)"
- loopedMap: "Замкнутая в кольцо доска"
- canPutEverywhere: "Камни можно ставить везде"
+ fontDescription: "Так можно писать произвольным шрифтом."
+ rainbow: "Радуга"
+ rainbowDescription: "Заставлять содержимое отображаться в цветах радуги."
+ sparkle: "Искры"
+ sparkleDescription: "Добавляет эффект искрящихся частиц."
+ rotate: "Повернуть"
+ rotateDescription: "Поворачивает на заданный угол."
_instanceTicker:
none: "Не показывать"
remote: "Только для других сайтов"
@@ -794,9 +994,10 @@ _channel:
following: "Подписки"
usersCount: "Участников: {n}"
notesCount: "Заметок: {n}"
-_sidebar:
- full: "Полностью"
- icon: "Только значки"
+_menuDisplay:
+ sideFull: "Сторона"
+ sideIcon: "Сторона (иконки)"
+ top: "Вверх"
hide: "Спрятать"
_wordMute:
muteWords: "Скрыть слово"
@@ -807,11 +1008,14 @@ _wordMute:
soft: "Мягкий"
hard: "Жёсткий"
mutedNotes: "Скрытые заметки"
+_instanceMute:
+ heading: "Список заглушенных инстансов"
_theme:
explore: "Обзор"
install: "Установить тему"
manage: "Менеджер тем"
code: "Код темы"
+ description: "Описание"
installed: "Тема «{name}» установлена."
installedThemes: "Установленные темы"
builtinThemes: "Встроенные темы"
@@ -888,10 +1092,7 @@ _sfx:
chatBg: "Сообщения (фон)"
antenna: "Антенна"
channel: "Канал"
- reversiPutBlack: "Реверси — ход чёрных"
- reversiPutWhite: "Реверси — ход белых"
_ago:
- unknown: "Когда-то"
future: "Из будущего"
justNow: "Только что"
secondsAgo: "{n} с назад"
@@ -930,7 +1131,7 @@ _tutorial:
step7_2: "Хотите изучить Misskey глубже — добро пожаловать в раздел «{help}»."
step7_3: "Приятно вам провести время с Misskey🚀"
_2fa:
- alreadyRegistered: "Настройка завершена"
+ alreadyRegistered: "Двухфакторная аутентификация уже настроена."
registerDevice: "Зарегистрируйте ваше устройство"
registerKey: "Зарегистрировать ключ"
step1: "Прежде всего, установите на устройство приложение для аутентификации, например, {a} или {b}."
@@ -967,6 +1168,10 @@ _permissions:
"write:user-groups": "Изменять и удалять группы пользователей"
"read:channels": "Смотреть каналы"
"write:channels": "Изменять каналы"
+ "read:gallery": "Просмотр галереи"
+ "write:gallery": "Редактирование галереи"
+ "read:gallery-likes": "Просмотр списка понравившегося в галерее"
+ "write:gallery-likes": "Изменение списка понравившегося в галерее"
_auth:
shareAccess: "Дать доступ для «{name}» к вашей учётной записи?"
shareAccessAsk: "Уверены, что хотите дать приложению доступ к своей учётной записи?"
@@ -1005,6 +1210,9 @@ _widgets:
button: "Кнопка"
onlineUsers: "Пользователи сейчас с сети"
jobQueue: "Очередь заданий"
+ serverMetric: "Показатели сервера"
+ aiscript: "Консоль AiScript"
+ aichan: "Ай"
_cw:
hide: "Спрятать"
show: "Показать еще"
@@ -1072,9 +1280,11 @@ _exportOrImport:
muteList: "Скрытые"
blockingList: "Заблокированные"
userLists: "Списки"
+ excludeMutingUsers: "За исключением заглушенных пользователей"
+ excludeInactiveUsers: "Без неактивных учётных записей"
_charts:
- federationInstancesIncDec: "Изменение внешних связей"
- federationInstancesTotal: "Количество внешних связей"
+ federation: "Федерация"
+ apRequest: "Запросы"
usersIncDec: "Изменение числа пользователей"
usersTotal: "Количество пользователей"
activeUsers: "Активные пользователи"
@@ -1103,68 +1313,6 @@ _timelines:
local: "Местная"
social: "Социальная"
global: "Всеобщая"
-_rooms:
- roomOf: "Комната {user}"
- addFurniture: "Добавить обстановку"
- translate: "Передвинуть"
- rotate: "Повернуть"
- exit: "Выход"
- remove: "Выбросить"
- clear: "Очистить"
- clearConfirm: "Уверены что стоит убрать всю обстановку из вашей комнаты?"
- leaveConfirm: "Изменения не сохранены, правда хотите покинуть комнату?"
- chooseImage: "Выберите изображение"
- roomType: "Стиль комнаты"
- carpetColor: "Цвет ковра"
- _roomType:
- default: "По умолчанию"
- washitsu: "Японская"
- _furnitures:
- milk: "Пакет молока"
- bed: "Кровать"
- low-table: "Журнальный стол"
- desk: "Письменный стол"
- chair: "Стул"
- chair2: "Стул 2"
- fan: "Вентилятор"
- pc: "Системный блок"
- plant: "Растение в горшке"
- plant2: "Растение в горшке 2"
- eraser: "Ластик"
- pencil: "Карандаш"
- pudding: "Пудинг"
- cardboard-box: "Картонная коробка"
- cardboard-box2: "Картонная коробка 2"
- cardboard-box3: "Картонная коробка 3"
- book: "Книга"
- book2: "Книга про Misskey"
- piano: "Пианино"
- facial-tissue: "Салфетки"
- server: "Сервер"
- moon: "Луна"
- corkboard: "Пробковая доска"
- mousepad: "Коврик для мыши"
- monitor: "Монитор"
- keyboard: "Клавиатура"
- carpet-stripe: "Полосатый ковёр"
- mat: "Мат"
- color-box: "Книжная полка"
- wall-clock: "Настенные часы"
- photoframe: "Картина в раме"
- cube: "Куб"
- tv: "Телевизор"
- pinguin: "Пингвин"
- rubik-cube: "Кубик Рубика"
- poster-h: "Плакат (альбомная ориентация)"
- poster-v: "Плакат (портретная ориентация)"
- sofa: "Диван"
- spiral: "Спиральная лестница"
- bin: "Мусорное ведро"
- cup-noodle: "Стакан лапши"
- holo-display: "Голографический проектор"
- energy-drink: "Банка энергетического напитка"
- doll-ai: "Кукла Ай-тян"
- banknote: "Пачка денег"
_pages:
newPage: "Создать страницу"
editPage: "Править страницу"
@@ -1185,7 +1333,7 @@ _pages:
liked: "Понравившиеся страницы"
featured: "Популярные"
inspector: "Инспектор"
- contents: "Содержательные"
+ contents: "Содержимое"
content: "Содержимое"
variables: "Переменные"
title: "Заголовок"
@@ -1484,18 +1632,21 @@ _notification:
followRequestAccepted: "Запрос на подписку одобрен"
groupInvited: "Приглашение в группы"
app: "Уведомления из приложений"
+ _actions:
+ reply: "Ответить"
+ renote: "Репост"
_deck:
alwaysShowMainColumn: "Всегда показывать главную колонку"
columnAlign: "Выравнивание колонок"
- columnMargin: "Расстояние между колонками"
- columnHeaderHeight: "Высота заголовка колонки"
addColumn: "Добавить колонку"
+ configureColumn: "Настройки колонок"
swapLeft: "Переставить левее"
swapRight: "Переставить правее"
swapUp: "Переставить выше"
swapDown: "Переставить ниже"
stackLeft: "В столбик влево"
popRight: "Из столбика вправо"
+ profile: "Профиль"
_columns:
main: "Основная"
widgets: "Виджеты"
diff --git a/locales/si-LK.yml b/locales/si-LK.yml
new file mode 100644
index 000000000..ed97d539c
--- /dev/null
+++ b/locales/si-LK.yml
@@ -0,0 +1 @@
+---
diff --git a/locales/sk-SK.yml b/locales/sk-SK.yml
new file mode 100644
index 000000000..43129edcf
--- /dev/null
+++ b/locales/sk-SK.yml
@@ -0,0 +1,1739 @@
+---
+_lang_: "Slovenčina"
+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! 🚀"
+monthAndDay: "{day}. {month}."
+search: "Hľadať"
+notifications: "Oznámenia"
+username: "Meno používateľa"
+password: "Heslo"
+forgotPassword: "Zabudnuté heslo"
+fetchingAsApObject: "Načítam údaje z Fediverzu"
+ok: "OK"
+gotIt: "Rozumiem!"
+cancel: "Zrušiť"
+enterUsername: "Zadajte meno používateľa"
+renotedBy: "{user} preposlal/a"
+noNotes: "Žiadne poznámky"
+noNotifications: "Žiadne oznámenia"
+instance: "Inštancia"
+settings: "Nastavenia"
+basicSettings: "Všeobecné nastavenia"
+otherSettings: "Rozšírené nastavenia"
+openInWindow: "Otvoriť v novom okne"
+profile: "Profil"
+timeline: "Časová os"
+noAccountDescription: "Tento používateľ zatiaľ nenapísal o sebe."
+login: "Prihlásiť sa"
+loggingIn: "Prebieha prihlasovanie"
+logout: "Odhlásiť"
+signup: "Registrovať"
+uploading: "Nahrávanie..."
+save: "Uložiť"
+users: "Používatelia"
+addUser: "Pridať používateľa"
+favorite: "Páči sa mi"
+favorites: "Obľúbené"
+unfavorite: "Nepáči sa mi"
+favorited: "Pridané do obľúbených"
+alreadyFavorited: "Už je medzi obľúbenými"
+cantFavorite: "Nepodarilo sa pridať medzi obľúbené."
+pin: "Pripnúť"
+unpin: "Odopnúť"
+copyContent: "Kopírovať obsah"
+copyLink: "Kopírovať odkaz"
+delete: "Odstrániť"
+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."
+addToList: "Pridať do zoznamu"
+sendMessage: "Odoslať správu"
+copyUsername: "Kopírovať meno používateľa"
+searchUser: "Hľadať používateľov"
+reply: "Odpovedať"
+loadMore: "Zobraziť viac"
+showMore: "Zobraziť viac"
+showLess: "Zavrieť"
+youGotNewFollower: "Máte nového sledujúceho"
+receiveFollowRequest: "Žiadosť o sledovanie prijatá"
+followRequestAccepted: "Žiadosť o sledovanie akceptovaná"
+mention: "Zmienka"
+mentions: "Zmienky"
+directNotes: "Priame poznámky"
+importAndExport: "Import a export"
+import: "Importovať"
+export: "Exportovať"
+files: "Súbor/y"
+download: "Stiahnuť"
+driveFileDeleteConfirm: "Naozaj chcete odstrániť súbor \"{name}\"? Poznámky s týmto súborom sa odstránia tiež."
+unfollowConfirm: "Naozaj už nechcete sledovať {name}?"
+exportRequested: "Vyžiadali ste export. Môže to chvíľu trvať. Po skončení pribudne na vašom disku."
+importRequested: "Požiadali ste o export. Môže to chvíľu trvať."
+lists: "Zoznamy"
+noLists: "Nemáte žiadne zoznamy"
+note: "Poznámka"
+notes: "Poznámky"
+following: "Sledujete"
+followers: "Sledujúci"
+followsYou: "Sledujú vás"
+createList: "Vytvoriť zoznam"
+manageLists: "Spravovať zoznamy"
+error: "Chyba"
+somethingHappened: "Ups. Niečo sa nepodarilo."
+retry: "Opakovať"
+pageLoadError: "Nepodarilo sa načítať stránku"
+pageLoadErrorDescription: "Toto môže byť spôsobené problémami so sieťou alebo cachou prehliadača. Skúste vyčistiť cache a potom skúsiť znova po chvíli."
+serverIsDead: "Tento server nereaguje. Prosím chvíľu počkajte a skúste znova."
+youShouldUpgradeClient: "Na pozretie tejto stránky prosím obnovte svojho klienta."
+enterListName: "Zadajte názov zoznamu"
+privacy: "Súkromie"
+makeFollowManuallyApprove: "Žiadosti o sledovanie treba schváliť"
+defaultNoteVisibility: "Predvolená viditeľnosť"
+follow: "Sledovať"
+followRequest: "Požiadať o sledovanie"
+followRequests: "Žiadosti o sledovanie"
+unfollow: "Nesledovať"
+followRequestPending: "Žiadosť o sledovanie čaká"
+enterEmoji: "Zadajte emoji"
+renote: "Preposlať"
+unrenote: "Vrátiť preposlanie"
+renoted: "Preposlané."
+cantRenote: "Tento príspevok sa nedá preposlať."
+cantReRenote: "Odpoveď nemôže byť odstránená."
+quote: "Citovať"
+pinnedNote: "Pripnuté poznámky"
+pinned: "Pripnúť"
+you: "Vy"
+clickToShow: "Kliknutím zobrazíte"
+sensitive: "NSFW"
+add: "Pridať"
+reaction: "Reakcie"
+reactionSetting: "Reakcie zobrazené vo výbere reakcií"
+reactionSettingDescription2: "Ťahaním preusporiadate, kliknutím odstránite, Stlačením \"+\" pridáte"
+rememberNoteVisibility: "Zapamätať nastavenia viditeľnosti poznámky"
+attachCancel: "Odstrániť prílohu"
+markAsSensitive: "Označiť ako NSFW"
+unmarkAsSensitive: "Odznačiť NSFW"
+enterFileName: "Zadajte názov súboru"
+mute: "Vypnúť zvuk"
+unmute: "Zapnúť zvuk"
+block: "Zablokovať"
+unblock: "Odblokovať"
+suspend: "Zmraziť"
+unsuspend: "Odmraziť"
+blockConfirm: "Naozaj chcete zablokovať tento účet?"
+unblockConfirm: "Naozaj chcete odblokovať tento účet?"
+suspendConfirm: "Naozaj chcete zmraziť tento účet?"
+unsuspendConfirm: "Naozaj chcete odmraziť tento účet?"
+selectList: "Vyberte zoznam"
+selectAntenna: "Vyberte anténu"
+selectWidget: "Vyberte widget"
+editWidgets: "Upraviť widget"
+editWidgetsExit: "Hotovo"
+customEmojis: "Vlastné emoji"
+emoji: "Emoji"
+emojis: "Emoji"
+emojiName: "Názov emoji"
+emojiUrl: "URL obrázku"
+addEmoji: "Pridať emoji"
+settingGuide: "Odporúčané nastavenia"
+cacheRemoteFiles: "Cachovanie vzdialených súborov"
+cacheRemoteFilesDescription: "Zakázanie tohoto nastavenia spôsobí, že vzdialené súbory budú odkazované priamo, namiesto ukladania do cache. Ušetrí sa tak miesto na serveri, ale zvýši sa dátový tok, pretože sa negenerujú miniatúry."
+flagAsBot: "Tento účet je bot"
+flagAsBotDescription: "Ak je tento účet ovládaný programom, zaškrtnite túto voľbu. Ostatní uvidia, že je to bot a zabráni nekonečným interakciám s ďalšími botmi a upraví interné systémy Misskey, aby ho považoval za bota."
+flagAsCat: "Tento účet je mačka"
+flagAsCatDescription: "Zvoľte túto voľbu, aby bol tento účet označený ako mačka."
+flagShowTimelineReplies: "Zobraziť odpovede na poznámky v časovej osi"
+flagShowTimelineRepliesDescription: "Keď je zapnuté, na časovej osi sa zobrazia odpovede k poznámkam používateľov okrem samotných poznámok."
+autoAcceptFollowed: "Automaticky prijať sledovanie od účtov, ktoré sledujete"
+addAccount: "Pridať účet"
+loginFailed: "Prihlásenie sa nepodarilo."
+showOnRemote: "Zobraziť na vzdialenom serveri"
+general: "Všeobecné"
+wallpaper: "Tapeta"
+setWallpaper: "Nastaviť tapetu"
+removeWallpaper: "Odstrániť tapetu"
+searchWith: "Hľadať: {q}"
+youHaveNoLists: "Nemáte žiadne zoznamy"
+followConfirm: "Naozaj chcete sledovať {name}?"
+proxyAccount: "Proxy účet"
+proxyAccountDescription: "Proxy účet je účet, ktorý za určitých podmienok sleduje používateľov na diaľku vaším menom. Napríklad keď používateľ zaradí vzdialeného používateľa do zoznamu, pokiaľ nikto nesleduje používateľa na zozname, aktivita nebude doručená na server, takže namiesto toho bude používateľa sledova proxy účet."
+host: "Host"
+selectUser: "Vyberte používateľa"
+recipient: "Prijímateľ"
+annotation: "Komentáre"
+federation: "Federácia"
+instances: "Inštancia"
+registeredAt: "Registrácia"
+latestRequestSentAt: "Posledná odoslaná požiadavka"
+latestRequestReceivedAt: "Posledná prijatá požiadavka"
+latestStatus: "Posledný status"
+storageUsage: "Využité úložisko"
+charts: "Grafy"
+perHour: "za hodinu"
+perDay: "za deň"
+stopActivityDelivery: "Zastaviť posielanie aktivít"
+blockThisInstance: "Blokovať tento server"
+operations: "Operácie"
+software: "Softvér"
+version: "Verzia"
+metadata: "Metadáta"
+withNFiles: "{n} súbor(ov)"
+monitor: "Monitor"
+jobQueue: "Fronta úloh"
+cpuAndMemory: "CPU a pamäť"
+network: "Sieť"
+disk: "Disk"
+instanceInfo: "Informácie o serveri"
+statistics: "Štatistiky"
+clearQueue: "Vyčistiť frontu"
+clearQueueConfirmTitle: "Naozaj chcete zrušiť všetky úlohy vo fronte?"
+clearQueueConfirmText: "Všetky nedoručené poznámky čakajúce vo fronte nebudú federované. Zvyčajne táto operácia nie je potrebná."
+clearCachedFiles: "Vyprázdniť cache"
+clearCachedFilesConfirm: "Naozaj chcete odstrániť všetky nacachované vzdialené súbory?"
+blockedInstances: "Blokované servery"
+blockedInstancesDescription: "Zoznam blokovaných serverov na riadkoch. Blokované servery nebudú môcť komunikovať s týmto serverom."
+muteAndBlock: "Umlčania a blokácie"
+mutedUsers: "Umlčaní používatelia"
+blockedUsers: "Blokovaní používatelia"
+noUsers: "Žiadni používatelia"
+editProfile: "Upraviť profil"
+noteDeleteConfirm: "Naozaj chcete odstrániť túto poznámku?"
+pinLimitExceeded: "Ďalšie poznámky už nemôžete pripnúť."
+intro: "Inštalácia Misskey je dokončená! Prosím vytvorte administrátora."
+done: "Hotovo"
+processing: "Pracujem..."
+preview: "Náhľad"
+default: "Predvolené"
+defaultValueIs: "Predvolené: {value}"
+noCustomEmojis: "Žiadne emoji"
+noJobs: "Žiadne úlohy"
+federating: "Federácia"
+blocked: "Blokované"
+suspended: "Zmrazené"
+all: "Všetko"
+subscribing: "Odoberanie"
+publishing: "Zverejňovanie"
+notResponding: "Neodpovedá"
+instanceFollowing: "Sledujem na serveri"
+instanceFollowers: "Sledujúci zo servera"
+instanceUsers: "Používatelia servera"
+changePassword: "Zmeniť heslo"
+security: "Zabezpečenie"
+retypedNotMatch: "Zadané vstupy nesúhlasia"
+currentPassword: "Aktuálne heslo"
+newPassword: "Nové heslo"
+newPasswordRetype: "Nové heslo (znovu)"
+attachFile: "Priložiť súbor"
+more: "Viac!"
+featured: "Obľúbené poznámky"
+usernameOrUserId: "Meno používateľa alebo ID používateľa"
+noSuchUser: "Používateľ sa nenašiel"
+lookup: "Vyhľadať"
+announcements: "Oznamy"
+imageUrl: "URL obrázku"
+remove: "Odstrániť"
+removed: "Odstránené"
+removeAreYouSure: "Naozaj chcete odstrániť \"{x}\"?"
+deleteAreYouSure: "Naozaj chcete odstrániť \"{x}\"?"
+resetAreYouSure: "Naozaj resetovať?"
+saved: "Uložené"
+messaging: "Chat"
+upload: "Nahrať súbor"
+keepOriginalUploading: "Zachovať pôvodný obrázok"
+keepOriginalUploadingDescription: "Uloží pôvodný obrázok ako je. Ak je vypnuté, verzia pre web sa vygeneruje pri nahratí."
+fromDrive: "Z disku"
+fromUrl: "Z URL"
+uploadFromUrl: "Nahrať z URL adresy"
+uploadFromUrlDescription: "URL adresa nahrávaného súboru"
+uploadFromUrlRequested: "Upload vyžiadaný"
+uploadFromUrlMayTakeTime: "Nahrávanie môže nejaký čas trvať."
+explore: "Objavovať"
+messageRead: "Prečítané"
+noMoreHistory: "To je všetko"
+startMessaging: "Začať chat"
+nUsersRead: "prečítané {n} používateľmi"
+agreeTo: "Súhlasím s {0}"
+tos: "Podmienky používania"
+start: "Začať"
+home: "Domov"
+remoteUserCaution: "Tieto informácie nemusia byť aktuálne, keďže používateľ je na vzdialenom serveri."
+activity: "Aktivita"
+images: "Obrázky"
+birthday: "Dátum narodenia"
+yearsOld: "{age} rokov"
+registeredDate: "Dátum registrácie"
+location: "Lokalita"
+theme: "Téma"
+themeForLightMode: "Téma pri svetlom režime"
+themeForDarkMode: "Téma pri tmavom režime"
+light: "Svetlá"
+dark: "Tmavá"
+lightThemes: "Svetlá téma"
+darkThemes: "Tmavá téma"
+syncDeviceDarkMode: "Synchronizovať tmavú tému s nastavení vášho systému"
+drive: "Disk"
+fileName: "Názov súboru"
+selectFile: "Vyberte súbor"
+selectFiles: "Vyberte súbory"
+selectFolder: "Vyberte priečinok"
+selectFolders: "Vyberte priečinky"
+renameFile: "Premenovať súbor"
+folderName: "Názov priečinka"
+createFolder: "Vytvoriť priečinok"
+renameFolder: "Premenovať priečinok"
+deleteFolder: "Odstrániť priečinok"
+addFile: "Pridať súbor"
+emptyDrive: "Váš disk je prázdny"
+emptyFolder: "Tento priečinok je prázdny"
+unableToDelete: "Nedá sa odstrániť"
+inputNewFileName: "Zadajte nový názov"
+inputNewDescription: "Zadajte nový popis"
+inputNewFolderName: "Zadajte nový názov priečinka"
+circularReferenceFolder: "Cieľový priečinok je podpriečinkom priečinka, ktorý chcete presunúť."
+hasChildFilesOrFolders: "Nemôžete odstrániť priečinok sú súbormi."
+copyUrl: "Kopírovať URL"
+rename: "Premenovať"
+avatar: "Avatar"
+banner: "BAnner"
+nsfw: "NSFW"
+whenServerDisconnected: "Keď sa stratí spojenie so serverom"
+disconnectedFromServer: "Spojenie so serverom bolo prerušené"
+reload: "Obnoviť"
+doNothing: "Ignorovať"
+reloadConfirm: "Chcete obnoviť časovú os?"
+watch: "Sledovať"
+unwatch: "Nesledovať"
+accept: "Súhlasím"
+reject: "Nesúhlasím"
+normal: "Normálne"
+instanceName: "Názov servera"
+instanceDescription: "Popis servera"
+maintainerName: "Správca"
+maintainerEmail: "E-mailová adresa správcu"
+tosUrl: "URL zmluvných podmienok"
+thisYear: "Rok"
+thisMonth: "Mesiac"
+today: "Dnes"
+dayX: "{day}"
+monthX: "{month}"
+yearX: "{year}"
+pages: "Stránky"
+integration: "Integrácia"
+connectService: "Pripojiť"
+disconnectService: "Odpojiť"
+enableLocalTimeline: "Povoliť lokálnu časovú os"
+enableGlobalTimeline: "Povoliť globálnu časovú os"
+disablingTimelinesInfo: "Administrátori a moderátori majú vždy prístup ku všetkým časovým osiam, aj keď sú vypnuté."
+registration: "Registrácia"
+enableRegistration: "Povoliť registráciu nových používateľov"
+invite: "Pozvať"
+driveCapacityPerLocalAccount: "Kapacita disku pre používateľa"
+driveCapacityPerRemoteAccount: "Kapacita disku pre vzdialeného používateľa"
+inMb: "V megabajtoch"
+iconUrl: "Favicon URL"
+bannerUrl: "URL obrázku bannera"
+backgroundImageUrl: "URL obrázku pozadia"
+basicInfo: "Základné informácie"
+pinnedUsers: "Pripnutí používatelia"
+pinnedUsersDescription: "Zoznam mien používateľov oddelených riadkami, ktorý budú pripnutí v záložke \"Objavovať\"."
+pinnedPages: "Pripnuté stránky"
+pinnedPagesDescription: "Na každý riadok zadajte cesty stránok, ktoré chcete pripnúť na vrch stránky tohoto servera."
+pinnedClipId: "ID pripnutého klipu"
+pinnedNotes: "Pripnuté poznámky"
+hcaptcha: "hCaptcha"
+enableHcaptcha: "Zapnúť hCaptchu"
+hcaptchaSiteKey: "Site key"
+hcaptchaSecretKey: "Secret key"
+recaptcha: "reCAPTCHA"
+enableRecaptcha: "Zapnúť ReCAPTCHA"
+recaptchaSiteKey: "Site key"
+recaptchaSecretKey: "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ť."
+antennas: "Antény"
+manageAntennas: "Spravovať antény"
+name: "Názov"
+antennaSource: "Zdroj antény"
+antennaKeywords: "Počúvané kľúčové slová"
+antennaExcludeKeywords: "Vylúčené kľúčové slová"
+antennaKeywordsDescription: "Oddeľte medzerami pre podmienku AND alebo novými riadkami pre podmienku OR."
+notifyAntenna: "Upozorniť na nové poznámky"
+withFileAntenna: "Len poznámky so súbormi"
+enableServiceworker: "Povoliť Service Worker"
+antennaUsersDescription: "Zoznam používateľov jeden na riadok"
+caseSensitive: "Rozlišuje malé a veľké písmená"
+withReplies: "Vrátane odpovedí"
+connectedTo: "Nasledujúce účty sú pripojené"
+notesAndReplies: "Poznámky a odpovede"
+withFiles: "Vrátane súborov"
+silence: "Ticho"
+silenceConfirm: "Naozaj chcete utíšiť tohoto používateľa?"
+unsilence: "Vrátiť utíšenie"
+unsilenceConfirm: "Naozaj chcete vrátiť utíšenie tohoto používateľa?"
+popularUsers: "Populárni používatelia"
+recentlyUpdatedUsers: "Používatelia s najnovšou aktivitou"
+recentlyRegisteredUsers: "Najnovší používatelia"
+recentlyDiscoveredUsers: "Naposledy objavení používatelia"
+exploreUsersCount: "Existuje {count} používateľov"
+exploreFediverse: "Objavovať Fediverzum"
+popularTags: "Populárne značky"
+userList: "Zoznamy"
+about: "Informácie"
+aboutMisskey: "O Misskey"
+administrator: "Administrátor"
+token: "Token"
+twoStepAuthentication: "Dvojfaktorová autentifikácia"
+moderator: "Moderátor"
+moderation: "Moderovanie"
+nUsersMentioned: "{n} používateľov spomenulo"
+securityKey: "Bezpečnostný kľúč"
+securityKeyName: "Názov kľúča"
+registerSecurityKey: "Registrovať bezpečnostný kľúč"
+lastUsed: "Naposledy použité"
+unregister: "Odregistrovať"
+passwordLessLogin: "Nastaviť bezheslové prihlásenie"
+resetPassword: "Resetovať heslo"
+newPasswordIs: "Nové heslo je \"{password}\""
+reduceUiAnimation: "Menej UI animácií"
+share: "Zdieľať"
+notFound: "Nenájdené"
+notFoundDescription: "Nenašla sa žiadna stránka na zadanej URL."
+uploadFolder: "Predvolený priečinok pre nahrávanie"
+cacheClear: "Vyčistiť cache"
+markAsReadAllNotifications: "Označiť všetky oznámenia ako prečítané"
+markAsReadAllUnreadNotes: "Označiť všetky poznámky ako prečítané"
+markAsReadAllTalkMessages: "Označiť všetky správy ako prečítané"
+help: "Pomoc"
+inputMessageHere: "Sem napíšte správu"
+close: "Zavrieť"
+group: "Skupina"
+groups: "Skupiny"
+createGroup: "Vytvoriť skupinu"
+ownedGroups: "Vlastnené skupiny"
+joinedGroups: "Členstvo v skupinách"
+invites: "Pozvať"
+groupName: "Názov skupiny"
+members: "Členovia"
+transfer: "Presun"
+messagingWithUser: "Súkromný chat"
+messagingWithGroup: "Skupinový chat"
+title: "Nadpis"
+text: "Text"
+enable: "Povoliť"
+next: "Ďalší"
+retype: "Zadajte znovu"
+noteOf: "Poznámky používateľa {user}"
+inviteToGroup: "Pozvať do skupiny"
+quoteAttached: "Citované"
+quoteQuestion: "Pripojiť ako citát?"
+noMessagesYet: "Zatiaľ žiadne správy"
+newMessageExists: "Máte novú správu"
+onlyOneFileCanBeAttached: "Ku správe môžete priložiť len jeden súbor"
+signinRequired: "Prihláste sa, prosím!"
+invitations: "Pozvať"
+invitationCode: "Kód pozvánky"
+checking: "Overujem..."
+available: "Dostupné"
+unavailable: "Nedostupné"
+usernameInvalidFormat: "Povolené sú písmená, čísla a _."
+tooShort: "Príliš krátke"
+tooLong: "Príliš dlhé"
+weakPassword: "Slabé heslo"
+normalPassword: "Dobré heslo"
+strongPassword: "Silné heslo"
+passwordMatched: "Heslá sú rovnaké"
+passwordNotMatched: "Heslá nie sú rovnaké"
+signinWith: "Prihlásiť sa použitím {x}"
+signinFailed: "Nedá sa prihlásiť. Skontrolujte prosím meno používateľa a heslo."
+tapSecurityKey: "Ťuknite na bezpečnostný kľúč"
+or: "Alebo"
+language: "Jazyk"
+uiLanguage: "Jazyk používateľského prostredia"
+groupInvited: "Pozvať do skupiny"
+aboutX: "O {x}"
+useOsNativeEmojis: "Používať natívne emoji z OS"
+disableDrawer: "Nepoužívať šuflíkové menu"
+youHaveNoGroups: "Nemáte žiadne skupiny"
+joinOrCreateGroup: "Požiadajte o pozvanie do existujúcej skupiny alebo vytvorte novú."
+noHistory: "Žiadna história"
+signinHistory: "História prihlásení"
+disableAnimatedMfm: "Vypnúť MFM s animáciou"
+doing: "Pracujem..."
+category: "Kategórie"
+tags: "Značky"
+docSource: "Zdroj tohoto dokumentu"
+createAccount: "Vytvoriť účet"
+existingAccount: "Existujúci účet"
+regenerate: "Pregenerovať"
+fontSize: "Veľkosť písma"
+noFollowRequests: "Nemáte nijaké čakajúce žiadosti o sledovanie"
+openImageInNewTab: "Otvoriť obrázok v novom tabe"
+dashboard: "Prehľad"
+local: "Lokálne"
+remote: "Vzdialené"
+total: "Celkom"
+weekOverWeekChanges: "Medzitýždňové zmeny"
+dayOverDayChanges: "Medzidenné zmeny"
+appearance: "Vzhľad"
+clientSettings: "Nastavenia klienta"
+accountSettings: "Nastavenia účtu"
+promotion: "Propagácia"
+promote: "Propagovať"
+numberOfDays: "Počet dní"
+hideThisNote: "Skryť túto poznámku"
+showFeaturedNotesInTimeline: "Zobraziť významné poznámky v časovej osi"
+objectStorage: "Objektové úložisko"
+useObjectStorage: "Použiť objektové úložisko"
+objectStorageBaseUrl: "Základná URL"
+objectStorageBaseUrlDesc: "URL použitá ako referencia. Zadajte URL svojho CDN alebo Proxy ak niektoré používate. S3: 'https://.s3.amazonaws.com', GCS: 'https://storage.googleapis.com/' atď."
+objectStorageBucket: "Bucket"
+objectStorageBucketDesc: "Prosím zadajte názov bucketu od svojho poskytovateľa."
+objectStoragePrefix: "Prefix"
+objectStoragePrefixDesc: "Súbory budú ukladané do priečinkov pod týmto prefixom."
+objectStorageEndpoint: "Endpoint"
+objectStorageEndpointDesc: "Nechajte prázdne ak používate AWS S3, inak zadajte endpoint ako \"\" alebo \":\". Záleží to od služby, ktorú používate."
+objectStorageRegion: "Región"
+objectStorageRegionDesc: "Zadajte región ako 'xx-east-1'. Ak vaša služba nerozlišuje regióny, nechajte prázdne alebo zadajte 'us-east-1'."
+objectStorageUseSSL: "Použiť SSL"
+objectStorageUseSSLDesc: "Vypnite to ak nechcete použiť HTTPS na API spojenia."
+objectStorageUseProxy: "Pripájať cez Proxy"
+objectStorageUseProxyDesc: "Vypnite ak nechcete, aby spojenia na API išli cez Proxy"
+objectStorageSetPublicRead: "Pri nahratí nastaviť \"public-read\""
+serverLogs: "Logy servera"
+deleteAll: "Odstrániť všetko"
+showFixedPostForm: "Zobraziť formulár na nové príspevky nad časovou osou"
+newNoteRecived: "Sú nové poznámky"
+sounds: "Zvuky"
+listen: "Počúvať"
+none: "Žiadne"
+showInPage: "Zobraziť v stránke"
+popout: "Pop-out"
+volume: "Hlasitosť"
+masterVolume: "Celková hlasitosť"
+details: "Detaily"
+chooseEmoji: "Vybrať emoji"
+unableToProcess: "Operáciu sa nepodarilo dokončiť."
+recentUsed: "Neposledy použité"
+install: "Nainštalovať"
+uninstall: "Odinštalovať"
+installedApps: "Autorizované aplikácie"
+nothing: "Nič tu nie je"
+installedDate: "Dátum autorizácie"
+lastUsedDate: "Naposledy použité"
+state: "Status"
+sort: "Zoradiť"
+ascendingOrder: "Vzostupne"
+descendingOrder: "Zostupne"
+scratchpad: "Zápisník"
+scratchpadDescription: "Zápisník poskytuje prostredia pre experimenty s AiScriptom. Môžete písať, spúšťať a skúšať vysledky pri interakcii s Misskey."
+output: "Výstup"
+script: "Skript"
+disablePagesScript: "Vypnúť AiScript na stránkach"
+updateRemoteUser: "Aktualizovať informácie o vzdialenom účte"
+deleteAllFiles: "Odstrániť všetky súbory"
+deleteAllFilesConfirm: "Naozaj chcete odstrániť všetky súbory"
+removeAllFollowing: "Zrušiť sledovani všetkých používateľov"
+removeAllFollowingDescription: "Týmto zrušíte sledovanie všetkých používateľov z {host}. Spustite to prosím, keď server napríklad už neexistuje."
+userSuspended: "Tento používateľ je zmrazený."
+userSilenced: "Tento používateľ je umlčaný."
+yourAccountSuspendedTitle: "Tento účet je zmrazený"
+yourAccountSuspendedDescription: "Tento účet bol zmrazený, lebo porušoval zmluvné podmienky. Kontaktujte administrátora ak chcete viac podrobností. Prosím nevytvárajte nový účet."
+menu: "Menu"
+divider: "Oddeľovač"
+addItem: "Pridať položku"
+relays: "Prenos"
+addRelay: "Pridať prenos"
+inboxUrl: "Inbox URL"
+addedRelays: "Pridané prenosy"
+serviceworkerInfo: "Musí byť zapnuté pre push notifikácie."
+deletedNote: "Odstránené príspevky"
+invisibleNote: "Skryté príspevky"
+enableInfiniteScroll: "Zapnúť nekonečné skrolovanie"
+visibility: "Viditeľnosť"
+poll: "Hlasovanie"
+useCw: "Skryť obsah"
+enablePlayer: "Otvoriť video prehrávač"
+disablePlayer: "Zavrieť video prehrávač"
+expandTweet: "Rozšíriť tweet"
+themeEditor: "Editor tém"
+description: "Popis"
+describeFile: "Pridať nadpis"
+enterFileDescription: "Zadajte nadpis"
+author: "Autor"
+leaveConfirm: "Máte neuložené zmeny. Chcete ich zahodiť?"
+manage: "Administrácia"
+plugins: "Pluginy"
+preferencesBackups: "Zálohy nastavení"
+deck: "Deck"
+useBlurEffectForModal: "Použiť efekt rozmazania na okná"
+useFullReactionPicker: "Použiť plnú veľkosť výberu reakcií"
+width: "Šírka"
+height: "Výška"
+large: "Veľké"
+medium: "Stredné"
+small: "Malé"
+generateAccessToken: "Vygenerovať prístupový token"
+permission: "Oprávnenia"
+enableAll: "Povoliť všetko"
+disableAll: "Vypnúť všetko"
+tokenRequested: "Povoliť prístup k účtu"
+pluginTokenRequestedDescription: "Tento plugin bude môcť používať oprávnenia nastavené tu."
+notificationType: "Typ oznámenia"
+edit: "Upraviť"
+useStarForReactionFallback: "Použiť ★ keď emoji reakcie nie je známe"
+emailServer: "Email server"
+enableEmail: "Zapnúť email"
+emailConfigInfo: "Používa sa na overenie emaily pri registrácii alebo pri zabudnutí hesla"
+email: "Email"
+emailAddress: "Emailová adresa"
+smtpConfig: "Nastavenia SMTP servera"
+smtpHost: "Host"
+smtpPort: "Port"
+smtpUser: "Meno používateľa"
+smtpPass: "Heslo"
+emptyToDisableSmtpAuth: "Vynechaním mena hesla vypnete SMTP verifikáciu"
+smtpSecure: "Použiť implicitné SSL/TLS pre SMTP spojenia"
+smtpSecureInfo: "Toto vypnite keď používate STARTTLS"
+testEmail: "Doručenie testovacieho emailu"
+wordMute: "Stíšenie slova"
+regexpError: "Chyba v regulárnom výraze"
+regexpErrorDescription: "Na riadku {line} sa vyskytla chyba v stíšenom slove {tab}."
+instanceMute: "Stíšené servery"
+userSaysSomething: "{name} niečo povedal/a"
+makeActive: "Aktivovať"
+display: "Zobraziť"
+copy: "Kopírovať"
+metrics: "Metriky"
+overview: "Prehľad"
+logs: "Logy"
+delayed: "Oneskorené"
+database: "Databáza"
+channel: "Kanály"
+create: "Vytvoriť"
+notificationSetting: "Nastavenia oznámení"
+notificationSettingDesc: "Vyberte typ oznámení na zobrazenie"
+useGlobalSetting: "Použiť globálne nastavenie"
+useGlobalSettingDesc: "Ak je zapnuté, použijú sa oznámenia vášho účtu. Ak je vypnuté, použijú sa jednotlivé nastavenia."
+other: "Ostatní"
+regenerateLoginToken: "Pregenerovať prihlasovací token"
+regenerateLoginTokenDescription: "Pregeneruje token interne používaný počas prihlásenia. Normálne toto netreba robiť. Ak sa pregeneruje, všetky zariadenia sa odhlásia."
+setMultipleBySeparatingWithSpace: "Viaceré položky oddeľte medzerami."
+fileIdOrUrl: "ID alebo URL súboru"
+behavior: "Správanie"
+sample: "Ukážka"
+abuseReports: "Nahlásenia"
+reportAbuse: "Nahlásiť"
+reportAbuseOf: "Nahlásiť {name}"
+fillAbuseReportDescription: "Prosím vyplňte podrobnosti nahlásenia. Ak sa týka konkrétnej poznámky, prosím napíšte jej URL."
+abuseReported: "Vaše nahlásenie je odoslané. Veľmi pekne ďakujeme."
+reporter: "Nahlásil"
+reporteeOrigin: "Pôvod nahláseného"
+reporterOrigin: "Pôvod nahlasovača"
+forwardReport: "Preposlať nahlásenie na server"
+forwardReportIsAnonymous: "Namiesto vášho účtu bude zobrazený anonymný systémový účet na vzdialenom serveri ako autor nahlásenia."
+send: "Poslať"
+abuseMarkAsResolved: "Označiť nahlásenia ako vyriešené"
+openInNewTab: "Otvoriť v novom tabe"
+openInSideView: "Otvoriť v bočnom paneli"
+defaultNavigationBehaviour: "Predvolené správanie navigácie"
+editTheseSettingsMayBreakAccount: "Úpravou týchto nastavení si môžete pokaziť účet."
+instanceTicker: "Informácie servera o poznámkach"
+waitingFor: "Čaká sa na {x}"
+random: "Náhodné"
+system: "Systém"
+switchUi: "Prepnúť UI"
+desktop: "Desktop"
+clip: "Klip"
+createNew: "Vytvoriť nový"
+optional: "Voliteľné"
+createNewClip: "Vytvoriť nový klip"
+unclip: "Odopnúť"
+confirmToUnclipAlreadyClippedNote: "Táto poznámka je už pripnutá ako \"{name}\". Naozaj ju chcete odopnúť?"
+public: "Verejné"
+i18nInfo: "Misskey je prekladaný do rôznych jazykov dobrovoľníkmi. Pomôcť môžete na {link}."
+manageAccessTokens: "Spravovať prístupové tokeny"
+accountInfo: "Informácie o účte"
+notesCount: "Počet poznámok"
+repliesCount: "Počet odoslaných odpovedí"
+renotesCount: "Počet preposlaných poznámok"
+repliedCount: "Počet odpovedí prijatých"
+renotedCount: "Počet preposlaní prijatých"
+followingCount: "Počet sledovaných účtov"
+followersCount: "Počet sledujúcich"
+sentReactionsCount: "Počet poslaných reakcií"
+receivedReactionsCount: "Počet prijatých reakcií"
+pollVotesCount: "Počet odoslaných hlasov"
+pollVotedCount: "Počet prijatých hlasov"
+yes: "Áno"
+no: "Nie"
+driveFilesCount: "Počet súborov na disku"
+driveUsage: "Využité miesto na disku"
+noCrawle: "Odmietať indexovanie crawlerov"
+noCrawleDescription: "Požiadať vyhľadávače, aby neindexovali váš profil, poznámky, stránky, atď."
+lockedAccountInfo: "Pokým nenastavíte viditeľnosť poznámok na \"Len pre sledujúcich\", vaše príspevky bude vidieť hocikto, aj keď vyžadujete manuálne potvrdenie sledovania."
+alwaysMarkSensitive: "Predvolene označovať ako NSFW"
+loadRawImages: "Načítať originálne obrázky namiesto miniatúr"
+disableShowingAnimatedImages: "Neprehrávať animované obrázky"
+verificationEmailSent: "Odoslali sme overovací email. Overenie dokončíte kliknutím na odkaz v emaili."
+notSet: "Nenastavené"
+emailVerified: "Email overený"
+noteFavoritesCount: "Počet obľúbených poznámok"
+pageLikesCount: "Počet obľúbených stránok"
+pageLikedCount: "Počet prijatých \"páči sa mi\""
+contact: "Kontakt"
+useSystemFont: "Použiť predvolené systémové písmo"
+clips: "Klip"
+experimentalFeatures: "Experimentálne funkcie"
+developer: "Vývojár"
+makeExplorable: "Spraviť účet viditeľný v \"Objavovať\""
+makeExplorableDescription: "Ak toto vypnete, váš účet sa nezobrazí v sekcii \"Objavovat\"."
+showGapBetweenNotesInTimeline: "Zobraziť medzeru medzi príspevkami časovej osi."
+duplicate: "Duplikovať"
+left: "Naľavo"
+center: "Stred"
+wide: "Široko"
+narrow: "Úzko"
+reloadToApplySetting: "Toto nastavenia sa prejaví až po obnovení stránky. Obnoviť teraz?"
+needReloadToApply: "Toto nastavenie sa prejaví až po obnovení stránky."
+showTitlebar: "Zobraziť riadok s nadpisom"
+clearCache: "Vyprázdniť cache"
+onlineUsersCount: "{n} používateľov je online"
+nUsers: "{n} používateľov"
+nNotes: "{n} poznámok"
+sendErrorReports: "Poslať nahlásenie chyby"
+sendErrorReportsDescription: "Keď je zapnuté, v prípade problému sa odošlú podrobné informácie o chybe do Misskey. Pomôžete tak zvýšiť kvalitu Misskey.\nTieto informácie zahŕňajú verziu vášho OS, použitý prehliadač, históriu aktivít, atď."
+myTheme: "Moja téma"
+backgroundColor: "Pozadie"
+accentColor: "Akcent"
+textColor: "Text"
+saveAs: "Uložiť ako..."
+advanced: "Rozšírené"
+value: "Hodnoty"
+createdAt: "Vytvorené"
+updatedAt: "Upravené"
+saveConfirm: "Uložiť zmeny?"
+deleteConfirm: "Naozaj odstrániť?"
+invalidValue: "Nesprávna hodnota."
+registry: "Register"
+closeAccount: "Zavrieť účet"
+currentVersion: "Aktuálna verzia"
+latestVersion: "Najnovšia verzia"
+youAreRunningUpToDateClient: "Používate najnovšiu verziu vášho klienta."
+newVersionOfClientAvailable: "Je dostupná novšia verzia vášho klienta."
+usageAmount: "Využitie"
+capacity: "Kapacita"
+inUse: "Použité"
+editCode: "Upraviť kód"
+apply: "Použiť"
+receiveAnnouncementFromInstance: "Prijať notifikácie z tohoto servera"
+emailNotification: "Emailové upozornenia"
+publish: "Zverejniť"
+inChannelSearch: "Hľadať v kanáli"
+useReactionPickerForContextMenu: "Otvoriť výber reakcií na pravý klik"
+typingUsers: "{users} píše/u"
+jumpToSpecifiedDate: "Skočiť na konkrétny dátum"
+showingPastTimeline: "Práve vidíte starú časovú os"
+clear: "Vrátiť"
+markAllAsRead: "Označiť všetko ako prečítané"
+goBack: "Späť"
+unlikeConfirm: "Naozaj odstrániť váš like?"
+fullView: "Plný pohľad"
+quitFullView: "Zavrieť plný pohľad"
+addDescription: "Pridať popis"
+userPagePinTip: "Tu môžete zobraziť poznámky zvolením \"Pripnúť na profil\" z menu jednotlivých poznámok."
+notSpecifiedMentionWarning: "Táto poznámka obsahuje spomenutých používateľov, ktorí nie sú medzi adresátmi."
+info: "Informácie"
+userInfo: "Informácie o používateľovi"
+unknown: "Neznáme"
+onlineStatus: "Online status"
+hideOnlineStatus: "Skryť online status"
+hideOnlineStatusDescription: "Skrytie vášho online statusu zníži pohodlnosť niektorých funkcií ako napríklad vyhľadávanie."
+online: "Online"
+active: "Aktívny"
+offline: "Offline"
+notRecommended: "Neodporúčané"
+botProtection: "Bot ochrana"
+instanceBlocking: "Blokované servery"
+selectAccount: "Vyberte účet"
+switchAccount: "Prepnút účet"
+enabled: "Zapnuté"
+disabled: "Vypnuté"
+quickAction: "Rýchle akcie"
+user: "Používatelia"
+administration: "Spravovanie"
+accounts: "Účty"
+switch: "Prepnúť"
+noMaintainerInformationWarning: "Informácie správcu nie sú nastavené."
+noBotProtectionWarning: "Ochrana proti botom nie je nastavená."
+configure: "Konfigurovať"
+postToGallery: "Vytvoriť nový príspevok v galérii"
+gallery: "Galéria"
+recentPosts: "Najnovšie príspevky"
+popularPosts: "Populárne príspevky"
+shareWithNote: "Zdieľať s poznámkou"
+ads: "Reklamy"
+expiration: "Ukončiť hlasovanie"
+memo: "Memo"
+priority: "Priorita"
+high: "Vysoká"
+middle: "Stredné"
+low: "Málo"
+emailNotConfiguredWarning: "Nie je nastavená emailová adresa."
+ratio: "Pomer"
+previewNoteText: "Zobraziť náhľad"
+customCss: "Vlastné CSS"
+customCssWarn: "Toto nastavenie by sa malo používať iba ak viete čo robíte. Zadanie nesprávnych hodnôt môže spôsobiť nenormálne správanie klienta."
+global: "Globálne"
+squareAvatars: "Zobrazovať štvorcové avatary"
+sent: "Poslať"
+received: "Prijaté"
+searchResult: "Výsledky hľadania"
+hashtags: "Hashtagy"
+troubleshooting: "Riešenie problémov"
+useBlurEffect: "Používať efekty rozmazania v UI"
+learnMore: "Zistiť viac"
+misskeyUpdated: "Misskey sa aktualizoval!"
+whatIsNew: "Čo je nové?"
+translate: "Preložiť"
+translatedFrom: "Preložené z {x}"
+accountDeletionInProgress: "Odstraňovanie účtu prebieha"
+usernameInfo: "Meno, ktoré odlišuje váš účet od ostatných na tomto serveri. Môžete použiť abecedu (a~z, A~Z), čísla (0~9) alebo podtržník (_). Používateľské mená sa nedajú neskôr zmeniť."
+aiChanMode: "Ai režim"
+keepCw: "Nechať varovania obsahu"
+pubSub: "Pub/Sub účty"
+lastCommunication: "Posledná komunikácia"
+resolved: "Vyriešené"
+unresolved: "Nevyriešené"
+breakFollow: "Nesledovať"
+itsOn: "Zapnuté"
+itsOff: "Vypnuté"
+emailRequiredForSignup: "Registrácia vyžaduje emailovú adresu"
+unread: "Neprečítané"
+filter: "Filter"
+controlPanel: "Ovládací panel"
+manageAccounts: "Správa účtov"
+makeReactionsPublic: "Reakcie sú verejné"
+makeReactionsPublicDescription: "Toto spraví všetky vaše minulé reakcie viditeľné verejnosti."
+classic: "Klasika"
+muteThread: "Ztíšiť vlákno"
+unmuteThread: "Zrušiť stíšenie vlákna"
+ffVisibility: "Viditeľnosť sledujúcich/sledovaných"
+ffVisibilityDescription: "Umožňuje nastaviť kto vidí koho sledujete a kto vás sleduje."
+continueThread: "Zobraziť pokračovanie vlákna"
+deleteAccountConfirm: "Toto nezvrátiteľne vymaže váš účet. Pokračovať?"
+incorrectPassword: "Nesprávne heslo."
+voteConfirm: "Potvrdzujete svoj hlas za \"{choice}\"?"
+hide: "Skryť"
+leaveGroup: "Opustiť skupiny"
+leaveGroupConfirm: "Naozaj chcete opustiť \"{name}\"?"
+useDrawerReactionPickerForMobile: "Zobraziť výber reakcií ako šuflík na mobile"
+welcomeBackWithName: "Vitajte späť, {name}"
+clickToFinishEmailVerification: "Kliknutím na [{ok}] dokončíte overeniu emailu."
+overridedDeviceKind: "Typ zariadenia"
+smartphone: "Smartfón"
+tablet: "Tablet"
+auto: "Automaticky"
+themeColor: "Farba témy"
+size: "Veľkosť"
+numberOfColumn: "Počet stĺpcov"
+searchByGoogle: "Hľadať cez Google"
+instanceDefaultLightTheme: "Predvolená svetlá téma"
+instanceDefaultDarkTheme: "Predvolená tmavá téma"
+instanceDefaultThemeDescription: "Vložte kód témy v objektovom formáte"
+mutePeriod: "Trvanie stíšenia"
+indefinitely: "Navždy"
+tenMinutes: "10 minút"
+oneHour: "1 hodina"
+oneDay: "1 deň"
+oneWeek: "1 týždeň"
+reflectMayTakeTime: "Zmeny môžu chvíľu trvať kým sa prejavia."
+failedToFetchAccountInformation: "Nepodarilo sa načítať informácie o účte."
+rateLimitExceeded: "Prekročený limit rýchlosti"
+cropImage: "Orezanie obrázku"
+cropImageAsk: "Chcete orezať obrázok?"
+file: "Súbor/y"
+recentNHours: "Posledných {n} hodín"
+recentNDays: "Posledných {n} dní"
+noEmailServerWarning: "Nie je nastavený emailový server."
+thereIsUnresolvedAbuseReportWarning: "Existuje nevyriešené nahlásenie zneužitia."
+recommended: "Odporúčané"
+driveCapOverrideLabel: "Zmena limitu úložiska pre tohoto používateľa"
+driveCapOverrideCaption: "Ak je zadaná hodnota menšia alebo rovná 0, zruší sa."
+isSystemAccount: "Tieto účty automaticky vytvoril a spravuje systém."
+typeToConfirm: "Ak chcete vykonať túto operáciu, napíšte {x}"
+deleteAccount: "Vymazať účet"
+document: "Dokument"
+numberOfPageCache: "Počet cachí pre stránky"
+numberOfPageCacheDescription: "Zvýši rýchlosť ale tiež nároky na pamäť."
+logoutConfirm: "Naozaj sa chcete odhlásiť?"
+statusbar: "Stavový riadok"
+pleaseSelect: "Prosím vyberte"
+reverse: "Preklopiť"
+colored: "Farebné"
+refreshInterval: "Interval obnovenia"
+label: "Popisok"
+type: "Typ"
+speed: "Rýchlosť"
+slow: "Pomaly"
+fast: "Rýchlo"
+sensitiveMediaDetection: "Detekcia citlivých médií."
+localOnly: "Iba lokálne"
+remoteOnly: "Len vzdialené"
+failedToUpload: "Nahrávanie zlyhalo"
+cannotUploadBecauseInappropriate: "Nemožno nahrať, pretože pravdepodobne obsahuje nevhodný obsah."
+cannotUploadBecauseNoFreeSpace: "Nemožno nahrať kvôli nedostatku voľného úložiska."
+beta: "Beta"
+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."
+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"
+account: "Účty"
+move: "Pohyb"
+_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."
+ sensitivity: "Citlivosť detekcie"
+ sensitivityDescription: "Nižšia citlivosť znižuje počet falošne pozitívnych výsledkov (false positives). Vyššia citlivosť znižuje počet falošne negatívnych výsledkov (false negatives)."
+ setSensitiveFlagAutomatically: "Nastaviť príznak NSFW"
+ setSensitiveFlagAutomaticallyDescription: "Aj keď je toto nastavenie vypnuté, výsledok rozhodnutia je interne uložený."
+ analyzeVideos: "Zapnúť analýzu videa"
+ analyzeVideosDescription: "Okrem obrázkov zapne detekciu aj pre videá. Zaťaženie servera sa mierne zvýši."
+_emailUnavailable:
+ used: "Táto emailová adresa sa už používa"
+ format: "Formát emailovej adresy je nesprávny"
+ disposable: "Jednorázové emailové adresy sa nemôžu používať."
+ mx: "Tento emailový server nefunguje."
+ smtp: "Tento emailový server neodpovedá."
+_ffVisibility:
+ public: "Zverejniť"
+ followers: "Len viditeľní sledujúci"
+ private: "Súkromné"
+_signup:
+ almostThere: "Skoro na konci"
+ emailAddressInfo: "Prosím zadajte svoju emailovú adresu!"
+ emailSent: "Na vašu emailovú adresu ({email}) sme odoslali email. Vytvorenie účtu dokončíte kliknutím na odkaz v emaili."
+_accountDelete:
+ accountDelete: "Odstrániť účet"
+ mayTakeTime: "Keďže odstránenie účtu je náročný proces, môže to nejaký čas trvať. Záleží koľko obsahu ste vytvorili a koľko súborov ste nahrali."
+ sendEmail: "Po odstránení účtu vám pošleme email na emailovú adresu zadanú pri registrácii tohoto účtu."
+ requestAccountDelete: "Požiadať o zmazanie účtu"
+ started: "Odstraňovanie začalo."
+ inProgress: "Odstraňovanie prebieha"
+_ad:
+ back: "Späť"
+ reduceFrequencyOfThisAd: "Túto reklamu zobrazovať menej"
+_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."
+ ifNoEmail: "Ak ste pri registrácii nepoužili email, prosím kontaktujte administrátora."
+ contactAdmin: "Tento server nepodporuje používanie emailových adries, prosím kontaktuje administrátor, ktorý vám resetuje heslo."
+_gallery:
+ my: "Moja galéria"
+ liked: "Obľúbené príspevky"
+ like: "Páči sa mi"
+ unlike: "Nepáči sa mi"
+_email:
+ _follow:
+ title: "Máte nového sledujúceho"
+ _receiveFollowRequest:
+ title: "Dostali ste žiadosť o sledovanie"
+_plugin:
+ install: "Inštalova pluginy"
+ installWarn: "Prosím neinštalujte nedôveryhodné pluginy."
+ manage: "Spravovanie pluginov"
+_preferencesBackups:
+ list: "Vytvorené zálohy"
+ saveNew: "Uložiť novú"
+ loadFile: "Nahrať súbor"
+ apply: "Použiť na toto zariadenie"
+ save: "Uložiť"
+ inputName: "Názov zálohy"
+ cannotSave: "Nedá sa uložiť"
+ nameAlreadyExists: "Záloha s názvom \"{name}\" už existuje. Zadajte iný názov."
+ applyConfirm: "Chcete použiť zálohu '{name}' na aktuálne zariadenie? Aktuálne nastavenia zariadenia sa stratia."
+ saveConfirm: "Chcete prepísať {name}?"
+ deleteConfirm: "Naozaj chcete odstrániť \"{name}\"?"
+ renameConfirm: "Chcete zmeniť \"{old}\" na \"{new}\"?"
+ noBackups: "Nie je k dispozícii žiadna záloha. \"Uložiť novú\" umožňuje uložiť aktuálnu konfiguráciu zariadenia na server."
+ createdAt: "Dátum vytvorenia: {date} {time}"
+ updatedAt: "Dátum úpravy: {date} {time}"
+ cannotLoad: "Nedá sa nahrať"
+ invalidFile: "Neplatný formát súboru"
+_registry:
+ scope: "Oblasť"
+ key: "Kľúč"
+ keys: "Kľúče"
+ domain: "Doména"
+ createKey: "Vytvoriť kľúč"
+_aboutMisskey:
+ about: "Misskey je open-source softvér, ktorý vyvíja syuilo od 2014."
+ contributors: "Hlavní prispievatelia"
+ allContributors: "Všetci prispievatelia"
+ source: "Zdrojový kód"
+ translation: "Preložiť Misskey"
+ donate: "Podporiť Misskey"
+ morePatrons: "Takisto oceňujeme podporu mnoých ďalších, ktorí tu nie sú uvedení. Ďakujeme! 🥰"
+ patrons: "Prispievatelia"
+_nsfw:
+ respect: "Skryť NSFW médiá"
+ ignore: "Neskrývať NSFW 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:
+ none: "Nikdy nezobrazovať"
+ remote: "Zobraziť pre vzdialených používateľov"
+ always: "Zobraziť vždy"
+_serverDisconnectedBehavior:
+ reload: "Automaticky obnoviť"
+ dialog: "Zobraziť okno s varovaním"
+ quiet: "Zobraziť nerušivé varovanie"
+_channel:
+ create: "Vytvoriť kanál"
+ edit: "Upraviť kanál"
+ setBanner: "Nastaviť banner"
+ removeBanner: "Odstrániť banner"
+ featured: "Trendy"
+ owned: "Vlastnené"
+ following: "Sledované"
+ usersCount: "{n} účastníkov"
+ notesCount: "{n} poznámok"
+_menuDisplay:
+ sideFull: "Strana"
+ sideIcon: "Strana (Ikony)"
+ top: "Hore"
+ hide: "Skryť"
+_wordMute:
+ muteWords: "Umlčané slová"
+ muteWordsDescription: "Medzerami oddeľte pre podmienku AND a novými riadkami pre podmienku OR."
+ muteWordsDescription2: "Regulárne výrazy sa použijú keď použijete okolo lomítka."
+ softDescription: "Skryje poznámky z časovej osi, ktoré spĺňajú podmienky."
+ hardDescription: "Zabráni poznámky spĺňajúce množinu podmienok, aby boli pridané do časovej osi. Navyše tieto poznámky nepribudnú v časovej osi ani keď sa podmienky zmenia."
+ soft: "Mäkké"
+ hard: "Tvrdé"
+ mutedNotes: "Umlčané poznámky"
+_instanceMute:
+ instanceMuteDescription: "Toto umlčí všetky poznámky/preposlania zo zoznamu serverov, vrátane tých, na ktoré používatelia odpovedajú z umlčaného servera."
+ instanceMuteDescription2: "Oddeľte novými riadkami"
+ title: "Skryje poznámky z uvedených serverov."
+ heading: "Zoznam umlčaných inštancií"
+_theme:
+ explore: "Objavovať témy"
+ install: "Nainštalovať tému"
+ manage: "Spravovať témy"
+ code: "Kód témy"
+ description: "Popis"
+ installed: "{name} je nainštalovaná"
+ installedThemes: "Nainštalované témy"
+ builtinThemes: "Vstavané témy"
+ alreadyInstalled: "Táto téma je už nainštalovaná"
+ invalid: "Formát tejto témy je nesprávny"
+ make: "Vytvoriť tému"
+ base: "Základ"
+ addConstant: "Pridať konštantu"
+ constant: "Konštanta"
+ defaultValue: "Predvolená hodnota"
+ color: "Farba"
+ refProp: "Odkaz na vlastnosť"
+ refConst: "Odkaz na konštantu"
+ key: "Kľúč"
+ func: "Funkcie"
+ funcKind: "Typ funkcie"
+ argument: "Argument"
+ basedProp: "Odkazovaná vlastnosť"
+ alpha: "Priehľadnosť"
+ darken: "Stmaviť"
+ lighten: "Zosvetliť"
+ inputConstantName: "Zadajte názov tejto konštanty"
+ importInfo: "Ak sem zadáte kód témy, môžete ju importovať do editora tém."
+ deleteConstantConfirm: "Naozaj chcete odstrániť konštantu {const}?"
+ keys:
+ accent: "Akcent"
+ bg: "Pozadie"
+ fg: "Text"
+ focus: "Fokus"
+ indicator: "Indikátor"
+ panel: "Panel"
+ shadow: "Tieň"
+ header: "Hlavička"
+ navBg: "Pozadie bočného panela"
+ navFg: "Text bočného panela"
+ navHoverFg: "Text bočného panela (pod kurzorom)"
+ navActive: "Text bočného panela (aktívny)"
+ navIndicator: "Indikátor bočného panela"
+ link: "Odkaz"
+ hashtag: "Hashtag"
+ mention: "Zmienka"
+ mentionMe: "Zmienky (mňa)"
+ renote: "Preposlať"
+ modalBg: "Pozadie modálu"
+ divider: "Oddeľovač"
+ scrollbarHandle: "Rúčka scrollbaru"
+ scrollbarHandleHover: "Rúčka scrollbaru (pod kurzorom)"
+ dateLabelFg: "Text dátového popisku"
+ infoBg: "Pozadie informácií"
+ infoFg: "Informačný text"
+ infoWarnBg: "Pozadie varovania"
+ infoWarnFg: "Text varovania"
+ cwBg: "CW pozadie tlačidla"
+ cwFg: "CW text tlačidla"
+ cwHoverBg: "CW pozadie tlačidla (pod kurzorom)"
+ toastBg: "Pozadie upozornenia"
+ toastFg: "Text upozornenia"
+ buttonBg: "Pozadie tlačidla"
+ buttonHoverBg: "Pozadie tlačidla (pod kurzorom)"
+ inputBorder: "Okraj vstupného poľa"
+ listItemHoverBg: "Pozadie položky zoznamu (pod kurzorom)"
+ driveFolderBg: "Pozadie priečinu disku"
+ wallpaperOverlay: "Vrstvenie pozadia"
+ badge: "Odznak"
+ messageBg: "Pozadie chatu"
+ accentDarken: "Akcent (stmavené)"
+ accentLighten: "Akcent (zosvetlené)"
+ fgHighlighted: "Zvýraznený text"
+_sfx:
+ note: "Poznámky"
+ noteMy: "Vlastná poznámka"
+ notification: "Oznámenia"
+ chat: "Chat"
+ chatBg: "Chat (pozadie)"
+ antenna: "Antény"
+ channel: "Upozornenia kanála"
+_ago:
+ future: "Budúcnosť"
+ justNow: "Teraz"
+ secondsAgo: "pred {n} sekundami"
+ minutesAgo: "pred {n} minútami"
+ hoursAgo: "pred {n} hodinami"
+ daysAgo: "pred {n} dňami"
+ weeksAgo: "pred {n} týždňami"
+ monthsAgo: "pred {n} mesiacmi"
+ yearsAgo: "pred {n} rokmi"
+_time:
+ second: "s"
+ minute: "min"
+ hour: "hod"
+ 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:
+ 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."
+ step2: "Potom, naskenujte QR kód zobrazený na obrazovke."
+ step2Url: "Do aplikácie zadajte nasledujúcu URL adresu:"
+ 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."
+ 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."
+_permissions:
+ "read:account": "Vidieť informácie o vašom účte"
+ "write:account": "Upraviť informácie o vašom účte"
+ "read:blocks": "Vidieť zoznam blokovaných používateľov"
+ "write:blocks": "Upraviť zoznam blokovaných používateľov"
+ "read:drive": "Prístup k súborom a priečinkom na disku"
+ "write:drive": "Upraviť alebo odstrániť súbory a priečinky na disku"
+ "read:favorites": "Vidieť váš zoznam obľúbených"
+ "write:favorites": "Upraviť váš zoznam obľúbených"
+ "read:following": "Vidieť koho sledujete"
+ "write:following": "Sledovať alebo nesledovať ďalšie účty"
+ "read:messaging": "Vidieť vaše chaty"
+ "write:messaging": "Písať alebo odstraňovať správy v chate"
+ "read:mutes": "Vidieť váš zoznam stíšených používateľov"
+ "write:mutes": "Upravovať zoznam stíšených používateľov"
+ "write:notes": "Písať alebo odstrániť poznámky"
+ "read:notifications": "Vidieť vaše oznámenia"
+ "write:notifications": "Pracovať s vašimi notifikáciami"
+ "read:reactions": "Vidieť vaše reakcie"
+ "write:reactions": "Upravovať vaše reakcie"
+ "write:votes": "Hlasovať v hlasovaniach"
+ "read:pages": "Vidieť vaše stránky"
+ "write:pages": "Upraviť alebo odstrániť vaše stránky"
+ "read:page-likes": "Vidieť vaše páčiky na stránkach"
+ "write:page-likes": "Upraviť páčiky na stránkach"
+ "read:user-groups": "Vidieť vaše skupiny"
+ "write:user-groups": "Upraviť alebo odstrániť vaše skupiny"
+ "read:channels": "Čítať vaše kanály"
+ "write:channels": "Upravovať vaše kanály"
+ "read:gallery": "Vidieť vašu galériu"
+ "write:gallery": "Upravovať vašu galériu"
+ "read:gallery-likes": "Vidieť zoznam obľúbených príspevkov z galérie"
+ "write:gallery-likes": "Upraviť zoznam obľúbených príspevov z galérie"
+_auth:
+ shareAccess: "Prajete si povoliť \"{name}\", aby mal prístup k tomuto účtu?"
+ shareAccessAsk: "Naozaj chcete povoliť tejto aplikácii prístup k tomuto účtu?"
+ permissionAsk: "Táto aplikácia vyžaduje nasledujúce nastavenia"
+ pleaseGoBack: "Prosím prejdite späť na aplikáciu"
+ callback: "Vraciam sa späť na aplikáciu"
+ denied: "Prístup zamietnutý"
+_antennaSources:
+ all: "Všetky poznámky"
+ homeTimeline: "Poznámky od sledovaného používateľa"
+ users: "Poznámky od konkrétneho používateľa"
+ userList: "Poznámky od používateľov v zozname"
+ userGroup: "Poznámky od používateľov z konkrétnej skupiny."
+_weekday:
+ sunday: "Nedeľa"
+ monday: "Pondelok"
+ tuesday: "Utorok"
+ wednesday: "Streda"
+ thursday: "Štvrtok"
+ friday: "Piatok"
+ saturday: "Sobota"
+_widgets:
+ memo: "Prilepené poznámky"
+ notifications: "Oznámenia"
+ timeline: "Časová os"
+ calendar: "Kalendár"
+ trends: "Trendy"
+ clock: "Hodiny"
+ rss: "RSS čítačka"
+ rssTicker: "RSS Ticker"
+ activity: "Aktivita"
+ photos: "Fotky"
+ digitalClock: "Digitálne hodiny"
+ unixClock: "UNIX čas"
+ federation: "Federácia"
+ instanceCloud: "Cloud serverov"
+ postForm: "Napísať poznámku"
+ slideshow: "Prezentácia"
+ button: "Tlačidlo"
+ onlineUsers: "Online používatelia"
+ jobQueue: "Fronta úloh"
+ serverMetric: "Metriky servera"
+ aiscript: "Konzola AiScript"
+ aichan: "Ai"
+_cw:
+ hide: "Skryť"
+ show: "Zobraziť viac"
+ chars: "{count} znakov"
+ files: "{count} súbor/ov"
+_poll:
+ noOnlyOneChoice: "Treba aspoň dve voľby"
+ choiceN: "Voľba {n}"
+ noMore: "Nemôžete pridať viac volieb"
+ canMultipleVote: "Povoliť hlasovať za viac volieb."
+ expiration: "Ukončiť hlasovanie"
+ infinite: "Nikdy"
+ at: "Konkrétny dátum..."
+ after: "Ukončiť po..."
+ deadlineDate: "Dátum ukončenia"
+ deadlineTime: "hod"
+ duration: "Trvanie"
+ votesCount: "{n} hlasov"
+ totalVotes: "{n} hlasov celkom"
+ vote: "Hlasovať"
+ showResult: "Vidieť výsledky hlasovania"
+ voted: "Zahlasované"
+ closed: "Skončilo"
+ remainingDays: "zostáva {d} dní {h} hodín"
+ remainingHours: "zostáva {h} hodín {m} minút"
+ remainingMinutes: "zostáva {m} minút {s} sekúnd"
+ remainingSeconds: "zostáva {s} sekúnd"
+_visibility:
+ public: "Verejné"
+ publicDescription: "Vaša poznámku bude viditeľná všetkým používateľom"
+ home: "Domov"
+ homeDescription: "Pridať iba na domácu časovú os"
+ followers: "Sledujúci"
+ followersDescription: "Viditeľné iba tým, ktorí vás sledujú"
+ specified: "Priame"
+ specifiedDescription: "Viditeľné iba pre konkrétnych používateľov"
+ localOnly: "Iba lokálne"
+ localOnlyDescription: "Vzdialený používatelia nebudú vidieť"
+_postForm:
+ replyPlaceholder: "Odpoveď na túto poznámku..."
+ quotePlaceholder: "Citovanie tejto poznámky..."
+ channelPlaceholder: "Poslať do kanála..."
+ _placeholders:
+ a: "Čo máte v pláne?"
+ b: "Čo sa deje?"
+ c: "O čom rozmýšľaš?"
+ d: "Čo chcete povedať?"
+ e: "Začnite písať..."
+ f: "Čaká sa na písanie..."
+_profile:
+ name: "Názov"
+ username: "Meno používateľa"
+ description: "Bio"
+ youCanIncludeHashtags: "Vo svojom bio môžete mať aj hashtagy."
+ metadata: "Dodatočné informácie"
+ metadataEdit: "Upraviť dodatočné informácie"
+ metadataDescription: "Vo svojom profile môžete uviesť až štyri dodatočné informačné polia."
+ metadataLabel: "Popisok"
+ metadataContent: "Obsah"
+ changeAvatar: "Zmeniť avatara"
+ changeBanner: "Zmeniť banner"
+_exportOrImport:
+ allNotes: "Všetky poznámky"
+ followingList: "Sledujete"
+ muteList: "Vypnúť zvuk"
+ blockingList: "Zablokovať"
+ userLists: "Zoznamy"
+ excludeMutingUsers: "Vylúčiť stíšených používateľov"
+ excludeInactiveUsers: "Vylúčiť neaktívnych používateľov"
+_charts:
+ federation: "Federácia"
+ apRequest: "Žiadosti"
+ usersIncDec: "Rozdiel v počte používateľov"
+ usersTotal: "Celkový počet používateľov"
+ activeUsers: "Aktívni používatelia"
+ notesIncDec: "Rozdiel v počte poznámok"
+ localNotesIncDec: "Rozdiel v počte lokálnych poznámok"
+ remoteNotesIncDec: "Rozdiel v počte vzdialených poznámok"
+ notesTotal: "Celkový počet poznámok"
+ filesIncDec: "Rozdiel v počte súborov"
+ filesTotal: "Celkový počet súborov"
+ storageUsageIncDec: "Rozdiel využitého úložiska"
+ storageUsageTotal: "Celkové využité úložisko"
+_instanceCharts:
+ requests: "Žiadosti"
+ users: "Rozdiel v počte používateľov"
+ usersTotal: "Celkom spolu počet používateľov"
+ notes: "Rozdiel v počte poznámok"
+ notesTotal: "Celkom spolu počet poznámok"
+ ff: "Rozdiel v počte sledovaných/sledujúcich"
+ ffTotal: "Celkom spolu počet sledovaných / sledujúcich"
+ cacheSize: "Rozdiel vo veľkosti cache"
+ cacheSizeTotal: "Celkom spolu veľkosť cache"
+ files: "Rozdiel v počte súborov"
+ filesTotal: "Celkom spolu počet súborov"
+_timelines:
+ home: "Domov"
+ local: "Lokálne"
+ social: "Sociálne"
+ global: "Globálne"
+_pages:
+ newPage: "Vytvoriť novú stránku"
+ editPage: "Upraviť túto stránku"
+ readPage: "Zobrazenie zdroja aktívne"
+ created: "Stránka úspešne vytvorená"
+ updated: "Stránka úspešne upravená"
+ deleted: "Stránka úspešne odstránená"
+ pageSetting: "Nastavenia stránky"
+ nameAlreadyExists: "Zadaná URL stránku už existuje"
+ invalidNameTitle: "Zadaná URL stránku je nesprávna"
+ invalidNameText: "Uistite sa, že nadpis stránky nie je prázdny"
+ editThisPage: "Upraviť túto stránku"
+ viewSource: "Ukázať zdroj"
+ viewPage: "Ukázať vaše stránky"
+ like: "Páči sa mi"
+ unlike: "Nepáči sa mi"
+ my: "Moje stránky"
+ liked: "Obľúbené stránky"
+ featured: "Význačné"
+ inspector: "Inšpektor"
+ contents: "Obsah"
+ content: "Blok stránky"
+ variables: "Premenné"
+ title: "Nadpis"
+ url: "URL stránky"
+ summary: "Zhrnutie stránky"
+ alignCenter: "Vystrediť prvky"
+ hideTitleWhenPinned: "Skryť nadpis stránky keď je pripnutá na profil"
+ font: "Písmo"
+ fontSerif: "Pätkové"
+ fontSansSerif: "Bezpätkové"
+ eyeCatchingImageSet: "Nastaviť miniatúru"
+ eyeCatchingImageRemove: "Odstrániť miniatúru"
+ chooseBlock: "Pridať blok"
+ selectType: "Vyberte typ"
+ enterVariableName: "Zadajte meno premennej"
+ variableNameIsAlreadyUsed: "Meno premennej s už používa"
+ contentBlocks: "Obsah"
+ inputBlocks: "Vstup"
+ specialBlocks: "Špeciálne"
+ blocks:
+ text: "Text"
+ textarea: "Textové pole"
+ section: "Sekcia"
+ image: "Obrázky"
+ 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:
+ id: "ID poznámky"
+ idDescription: "Alebo môžete vložiť URL poznámky sem"
+ 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:
+ requesting: "Čaká sa"
+ accepted: "Akceptované"
+ rejected: "Odmietnuté"
+_notification:
+ fileUploaded: "Súbor sa úspešne nahral"
+ youGotMention: "{name} vás spomenul/a"
+ youGotReply: "{name} vám odpovedal/a"
+ youGotQuote: "{name} vás citoval/a"
+ 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"
+ youReceivedFollowRequest: "Dostali ste žiadosť o sledovanie"
+ yourFollowRequestAccepted: "Vaša žiadosť o sledovanie bola prijatá"
+ youWereInvitedToGroup: "Pozvať do skupiny"
+ pollEnded: "Výsledky hlasovania sú k dispozícii."
+ emptyPushNotificationMessage: "Push notifikácie aktualizované"
+ _types:
+ all: "Všetky"
+ follow: "Sledujete"
+ mention: "Zmienka"
+ reply: "Odpovede"
+ renote: "Preposlať"
+ quote: "Citovať"
+ reaction: "Reakcie"
+ pollVote: "Hlasy v hlasovaniach"
+ pollEnded: "Hlasovanie skončilo"
+ receiveFollowRequest: "Doručené žiadosti o sledovanie"
+ followRequestAccepted: "Schválené žiadosti o sledovanie"
+ groupInvited: "Pozvánky do skupín"
+ app: "Oznámenia z prepojených aplikácií"
+ _actions:
+ followBack: "Sledovať späť\n"
+ reply: "Odpovedať"
+ renote: "Preposlať"
+_deck:
+ alwaysShowMainColumn: "Vždy zobraziť v hlavnom stĺpci"
+ columnAlign: "Zarovnať stĺpce"
+ addColumn: "Pridať stĺpec"
+ configureColumn: "Nastavenie stĺpcov"
+ swapLeft: "Vymeniť vľavo"
+ swapRight: "Vymeniť vpravo"
+ swapUp: "Vymeniť hore"
+ swapDown: "Vymeniť s nasledujúcim"
+ stackLeft: "Priložiť do ľavého stĺpca"
+ popRight: "Vybrať napravo"
+ profile: "Profil"
+ newProfile: "Nový profil"
+ deleteProfile: "Odstrániť profil"
+ introduction: "Kombinujte stĺpce a vytvorte si svoje vlastné rozhranie!"
+ introduction2: "Stlačením tlačidla + v pravej časti obrazovky môžete kedykoľvek pridať stĺpce."
+ widgetsIntroduction: "V ponuke stĺpca vyberte možnosť \"Upraviť widget\" a pridajte widget"
+ _columns:
+ main: "Hlavný"
+ widgets: "Widgety"
+ notifications: "Oznámenia"
+ tl: "Časová os"
+ antenna: "Antény"
+ list: "Zoznam"
+ mentions: "Zmienky"
+ direct: "Priame poznámky"
diff --git a/locales/sv-SE.yml b/locales/sv-SE.yml
new file mode 100644
index 000000000..3f68d3641
--- /dev/null
+++ b/locales/sv-SE.yml
@@ -0,0 +1,321 @@
+---
+_lang_: "Svenska"
+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 nya värld!🚀"
+monthAndDay: "{day}/{month}"
+search: "Sök"
+notifications: "Notifikationer"
+username: "Användarnamn"
+password: "Lösenord"
+forgotPassword: "Glömt lösenord"
+fetchingAsApObject: "Hämtar från Fediversum..."
+ok: "OK"
+gotIt: "Uppfattat!"
+cancel: "Avbryt"
+enterUsername: "Ange användarnamn"
+renotedBy: "Omnoterad av {user}"
+noNotes: "Inga noteringar"
+noNotifications: "Inga aviseringar"
+instance: "Instanser"
+settings: "Inställningar"
+basicSettings: "Basinställningar"
+otherSettings: "Andra inställningar"
+openInWindow: "Öppna i ett fönster"
+profile: "Profil"
+timeline: "Tidslinje"
+noAccountDescription: "Användaren har inte skrivit en biografi än."
+login: "Logga in"
+loggingIn: "Loggar in"
+logout: "Logga ut"
+signup: "Registrera"
+uploading: "Uppladdning sker..."
+save: "Spara"
+users: "Användare"
+addUser: "Lägg till användare"
+favorite: "Lägg till i favoriter"
+favorites: "Favoriter"
+unfavorite: "Avfavorisera"
+favorited: "Tillagd i favoriter."
+alreadyFavorited: "Redan tillagd i favoriter."
+cantFavorite: "Gick inte att lägga till i favoriter."
+pin: "Fäst till profil"
+unpin: "Lossa från profil"
+copyContent: "Kopiera innehåll"
+copyLink: "Kopiera länk"
+delete: "Radera"
+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."
+addToList: "Lägg till i lista"
+sendMessage: "Skicka ett meddelande"
+copyUsername: "Kopiera användarnamn"
+searchUser: "Sök användare"
+reply: "Svara"
+loadMore: "Ladda mer"
+showMore: "Visa mer"
+youGotNewFollower: "följde dig"
+receiveFollowRequest: "Följarförfrågan mottagen"
+followRequestAccepted: "Följarförfrågan accepterad"
+mention: "Nämn"
+mentions: "Omnämningar"
+directNotes: "Direktnoter"
+importAndExport: "Importera / Exportera"
+import: "Importera"
+export: "Exportera"
+files: "Filer"
+download: "Nedladdning"
+driveFileDeleteConfirm: "Är du säker att du vill radera filen \"{name}\"? Noter med denna fil bifogad kommer också raderas."
+unfollowConfirm: "Är du säker att du vill avfölja {name}?"
+exportRequested: "Du har begärt en export. Detta kan ta lite tid. Den kommer läggas till i din Drive när den blir klar."
+importRequested: "Du har begärt en import. Detta kan ta lite tid."
+lists: "Listor"
+noLists: "Du har inga listor"
+note: "Not"
+notes: "Noter"
+following: "Följer"
+followers: "Följare"
+followsYou: "Följer dig"
+createList: "Skapa lista"
+manageLists: "Hantera lista"
+error: "Fel!"
+somethingHappened: "Ett fel har uppstått"
+retry: "Försök igen"
+pageLoadError: "Det gick inte att ladda sidan."
+pageLoadErrorDescription: "Detta händer oftast p.g.a. nätverksfel eller din webbläsarcache. Försök tömma din cache och testa sedan igen efter en liten stund."
+serverIsDead: "Servern svarar inte. Vänta ett litet tag och försök igen."
+youShouldUpgradeClient: "För att kunna se denna sida, vänligen ladda om sidan för att uppdatera din klient."
+enterListName: "Skriv ett namn till listan"
+privacy: "Integritet"
+makeFollowManuallyApprove: "Följarförfrågningar kräver manuellt godkännande"
+defaultNoteVisibility: "Standardsynlighet"
+follow: "Följ"
+followRequest: "Skicka följarförfrågan"
+followRequests: "Följarförfrågningar"
+unfollow: "Avfölj"
+followRequestPending: "Följarförfrågning avvaktar för svar"
+enterEmoji: "Skriv en emoji"
+renote: "Omnotera"
+unrenote: "Ta tillbaka omnotering"
+renoted: "Omnoterad."
+cantRenote: "Inlägget kunde inte bli omnoterat."
+cantReRenote: "En omnotering kan inte bli omnoterad."
+quote: "Citat"
+pinnedNote: "Fästad not"
+pinned: "Fäst till profil"
+you: "Du"
+clickToShow: "Klicka för att visa"
+sensitive: "Känsligt innehåll"
+add: "Lägg till"
+reaction: "Reaktioner"
+reactionSetting: "Reaktioner som ska visas i reaktionsväljaren"
+reactionSettingDescription2: "Dra för att omordna, klicka för att radera, tryck \"+\" för att lägga till."
+rememberNoteVisibility: "Komihåg notvisningsinställningar"
+attachCancel: "Ta bort bilaga"
+markAsSensitive: "Markera som känsligt innehåll"
+unmarkAsSensitive: "Avmarkera som känsligt innehåll"
+enterFileName: "Ange filnamn"
+mute: "Tysta"
+unmute: "Avtysta"
+block: "Blockera"
+unblock: "Avblockera"
+suspend: "Suspendera"
+unsuspend: "Ta bort suspenderingen"
+blockConfirm: "Är du säker att du vill blockera kontot?"
+unblockConfirm: "Är du säkert att du vill avblockera kontot?"
+suspendConfirm: "Är du säker att du vill suspendera detta konto?"
+unsuspendConfirm: "Är du säker att du vill avsuspendera detta konto?"
+selectList: "Välj lista"
+selectAntenna: "Välj en antenn"
+selectWidget: "Välj en widget"
+editWidgets: "Redigera widgets"
+editWidgetsExit: "Avsluta redigering"
+customEmojis: "Anpassa emoji"
+emoji: "Emoji"
+emojis: "Emoji"
+emojiName: "Emoji namn"
+emojiUrl: "Emoji länk"
+addEmoji: "Lägg till emoji"
+settingGuide: "Rekommenderade inställningar"
+cacheRemoteFiles: "Spara externa filer till cachen"
+cacheRemoteFilesDescription: "När denna inställning är avstängd kommer externa filer laddas direkt från den externa instansen. Genom att stänga av detta kommer lagringsutrymme minska i användning men kommer öka datatrafiken eftersom miniatyrer inte kommer genereras."
+flagAsBot: "Markera konto som bot"
+flagAsBotDescription: "Aktivera det här alternativet om kontot är kontrollerat av ett program. Om aktiverat kommer den fungera som en flagga för andra utvecklare för att hindra ändlösa kedjor med andra bottar. Det kommer också få Misskeys interna system att hantera kontot som en bot."
+flagAsCat: "Markera konto som katt"
+flagAsCatDescription: "Aktivera denna inställning för att markera kontot som en katt."
+flagShowTimelineReplies: "Visa svar i tidslinje"
+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"
+addAccount: "Lägg till konto"
+loginFailed: "Inloggningen misslyckades"
+showOnRemote: "Se på extern instans"
+general: "Allmänt"
+wallpaper: "Bakgrundsbild"
+setWallpaper: "Välj bakgrund"
+removeWallpaper: "Ta bort bakgrund"
+searchWith: "Sök: {q}"
+youHaveNoLists: "Du har inga listor"
+followConfirm: "Är du säker att du vill följa {name}?"
+proxyAccount: "Proxykonto"
+proxyAccountDescription: "Ett proxykonto är ett konto som agerar som en extern följare för användare under vissa villkor. Till exempel, när en användare lägger till en extern användare till en lista så kommer den externa användarens aktivitet inte levireras till instansen om ingen lokal användare följer det kontot, så proxykontot används istället."
+host: "Värd"
+selectUser: "Välj användare"
+recipient: "Mottagare"
+annotation: "Kommentarer"
+federation: "Federation"
+instances: "Instanser"
+registeredAt: "Registrerad på"
+latestRequestSentAt: "Senaste förfrågan skickad"
+latestRequestReceivedAt: "Senaste begäran mottagen"
+latestStatus: "Senaste status"
+storageUsage: "Använt lagringsutrymme"
+charts: "Diagram"
+perHour: "Per timme"
+perDay: "Per dag"
+stopActivityDelivery: "Sluta skicka aktiviteter"
+blockThisInstance: "Blockera instans"
+operations: "Operationer"
+software: "Mjukvara"
+version: "Version"
+metadata: "Metadata"
+withNFiles: "{n} fil(er)"
+monitor: "Övervakning"
+jobQueue: "Jobbkö"
+cpuAndMemory: "CPU och minne"
+network: "Nätverk"
+disk: "Disk"
+instanceInfo: "Instansinformation"
+statistics: "Statistik"
+clearQueue: "Rensa kö"
+clearQueueConfirmTitle: "Är du säker att du vill rensa kön?"
+clearQueueConfirmText: "Om någon not är olevererad i kön kommer den inte federeras. Vanligtvis behövs inte denna handling."
+clearCachedFiles: "Rensa cache"
+clearCachedFilesConfirm: "Är du säker att du vill radera alla cachade externa filer?"
+blockedInstances: "Blockerade instanser"
+blockedInstancesDescription: "Lista adressnamn av instanser som du vill blockera. Listade instanser kommer inte längre kommunicera med denna instans."
+muteAndBlock: "Tystningar och blockeringar"
+mutedUsers: "Tystade användare"
+blockedUsers: "Blockerade användare"
+noUsers: "Det finns inga användare"
+editProfile: "Redigera profil"
+noteDeleteConfirm: "Är du säker på att du vill ta bort denna not?"
+pinLimitExceeded: "Du kan inte fästa fler noter"
+intro: "Misskey har installerats! Vänligen skapa en adminanvändare."
+done: "Klar"
+processing: "Bearbetar..."
+preview: "Förhandsvisning"
+default: "Standard"
+defaultValueIs: "Standard: {value}"
+noCustomEmojis: "Det finns ingen emoji"
+noJobs: "Det finns inga jobb"
+federating: "Federerar"
+blocked: "Blockerad"
+suspended: "Suspenderad"
+all: "Allt"
+subscribing: "Prenumererar"
+publishing: "Publiceras"
+notResponding: "Svarar inte"
+instanceFollowing: "Följer på instans"
+instanceFollowers: "Följare av instans"
+instanceUsers: "Användare av denna instans"
+changePassword: "Ändra lösenord"
+security: "Säkerhet"
+retypedNotMatch: "Inmatningen matchar inte"
+currentPassword: "Nuvarande lösenord"
+newPassword: "Nytt lösenord"
+newPasswordRetype: "Bekräfta lösenord"
+attachFile: "Bifoga filer"
+more: "Mer!"
+featured: "Utvalda"
+usernameOrUserId: "Användarnamn eller användar-id"
+noSuchUser: "Kan inte hitta användaren"
+lookup: "Sökning"
+announcements: "Nyheter"
+imageUrl: "Bild-URL"
+remove: "Radera"
+removed: "Borttaget"
+removeAreYouSure: "Är du säker att du vill radera \"{x}\"?"
+deleteAreYouSure: "Är du säker att du vill radera \"{x}\"?"
+resetAreYouSure: "Vill du återställa?"
+saved: "Sparad"
+messaging: "Chatt"
+upload: "Ladda upp"
+keepOriginalUploading: "Behåll originalbild"
+nsfw: "Känsligt innehåll"
+pinnedNotes: "Fästad not"
+userList: "Listor"
+smtpHost: "Värd"
+smtpUser: "Användarnamn"
+smtpPass: "Lösenord"
+clearCache: "Rensa cache"
+user: "Användare"
+searchByGoogle: "Sök"
+file: "Filer"
+_email:
+ _follow:
+ title: "följde dig"
+_mfm:
+ mention: "Nämn"
+ quote: "Citat"
+ emoji: "Anpassa emoji"
+ search: "Sök"
+_theme:
+ keys:
+ mention: "Nämn"
+ renote: "Omnotera"
+_sfx:
+ note: "Noter"
+ notification: "Notifikationer"
+ chat: "Chatt"
+_widgets:
+ notifications: "Notifikationer"
+ timeline: "Tidslinje"
+ federation: "Federation"
+ jobQueue: "Jobbkö"
+_cw:
+ show: "Ladda mer"
+_visibility:
+ followers: "Följare"
+_profile:
+ username: "Användarnamn"
+_exportOrImport:
+ followingList: "Följer"
+ muteList: "Tysta"
+ blockingList: "Blockera"
+ userLists: "Listor"
+_charts:
+ federation: "Federation"
+_pages:
+ script:
+ 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:
+ youWereFollowed: "följde dig"
+ _types:
+ follow: "Följer"
+ mention: "Nämn"
+ renote: "Omnotera"
+ quote: "Citat"
+ reaction: "Reaktioner"
+ _actions:
+ reply: "Svara"
+ renote: "Omnotera"
+_deck:
+ _columns:
+ notifications: "Notifikationer"
+ tl: "Tidslinje"
+ list: "Listor"
+ mentions: "Omnämningar"
diff --git a/locales/th-TH.yml b/locales/th-TH.yml
index ed97d539c..6f794a7c7 100644
--- a/locales/th-TH.yml
+++ b/locales/th-TH.yml
@@ -1 +1,1195 @@
---
+_lang_: "ภาษาไทย"
+headlineMisskey: "เชื่อมต่อเครือข่ายโดยโน้ต"
+introMisskey: "ยินดีต้อนรับจ้าาา! Misskey เป็นบริการไมโครบล็อกโอเพ่นซอร์ส แบบการกระจายอำนาจ\nสร้าง \"โน้ต\" เพื่อแบ่งปันความคิดของคุณกับทุกคนรอบตัวคุณกันเถอะ 📡\nด้วยการ \"รีแอคชั่นผู้คน\" คุณยังสามารถแสดงความรู้สึกของคุณเกี่ยวกับบันทึกของทุกคนได้อย่างรวดเร็ว 👍\n\nแล้วมาท่องสำรวจโลกใบใหม่กันเถอะ! 🚀"
+monthAndDay: "{เดือน}/{วัน}"
+search: "ค้นหา"
+notifications: "การเเจ้งเตือน"
+username: "ชื่อผู้ใช้"
+password: "รหัสผ่าน"
+forgotPassword: "ลืมรหัสผ่าน?"
+fetchingAsApObject: "กำลังดึงข้อมูล จาก เฟดิเวิร์ส..."
+ok: "ตกลง"
+gotIt: "เข้าใจแล้ว !"
+cancel: "ยกเลิก"
+enterUsername: "ใส่ชื่อผู้ใช้"
+renotedBy: "รีโน้ตโดย {ผู้ใช้}"
+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: "ส่งข้อความ"
+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: "โดยปกติแล้วมักจะเกิดจากข้อผิดพลาดของเครือข่ายหรือแคชของเบราว์เซอร์ ลองล้างแคชแล้วลองใหม่อีกครั้งหลังจากรอสักครู่ "
+serverIsDead: "เซิร์ฟเวอร์นี้ไม่มีการตอบสนอง ได้โปรดกรุณารอสักครู่แล้วลองใหม่อีกครั้งนะ"
+youShouldUpgradeClient: "หากต้องการดูหน้านี้ได้โปรดกรุณา รีเซ็ตเพื่ออัปเดตไคลเอ็นต์ของคุณนะ"
+enterListName: "ใส่ชื่อสำหรับรายการลิสต์"
+privacy: "ความเป็นส่วนตัว"
+makeFollowManuallyApprove: "ติดตามคำขอที่ต้องได้รับการอนุมัติ"
+defaultNoteVisibility: "การมองเห็นที่เป็นค่าเริ่มต้น"
+follow: "กำลังติดตาม"
+followRequest: "ส่งคำขอติดตาม"
+followRequests: "ติดตามการร้องขอ"
+unfollow: "เลิกติดตาม"
+followRequestPending: "กำลังรอดำเนินการร้องขอติดตาม"
+enterEmoji: "ใส่อีโมจิ"
+renote: "รีโน้ต"
+unrenote: "เลิกรีโน้ต"
+renoted: "รีโน้ตเอาไว้"
+cantRenote: "โพสต์นี้ไม่สามารถรีโน้ตไว้ใหม่ได้นะ"
+cantReRenote: "ไม่สามารถรีโน้ตเอาไว้ใหม่ได้นะ"
+quote: "อ้างคำพูด"
+pinnedNote: "โน้ตที่ปักหมุดเอาไว้"
+pinned: "ปักหมุดไปยังโปรไฟล์"
+you: "ตัวเอง"
+clickToShow: "คลิกเพื่อแสดง"
+sensitive: "เนื้อหาที่ละเอียดอ่อน NSFW"
+add: "เพิ่ม"
+reaction: "รีแอคชั่น"
+reactionSetting: "รีแอคชั่นไปยังแสดงผลในตัวเลือกการรีแอคชั่น"
+reactionSettingDescription2: "กดลากเพื่อจัดลำดับใหม่ กดคลิกเพื่อลบ กด \"+\" เพื่อเพิ่ม"
+rememberNoteVisibility: "จดจำการตั้งค่าการมองเห็นตัวโน้ต"
+attachCancel: "ลบไฟล์ออกที่แนบมา"
+markAsSensitive: "ทำเครื่องหมายว่าละเอียดอ่อน"
+unmarkAsSensitive: "ยกเลิกทำเครื่องหมายเป็น NSFW"
+enterFileName: "พิมพ์ชื่อไฟล์"
+mute: "ปิดเสียง"
+unmute: "ไม่ปิดเสียง"
+block: "บล็อค"
+unblock: "เลิกปิดกั้น"
+suspend: "ถูกระงับ"
+unsuspend: "ยกเลิกระงับ"
+blockConfirm: "คุณแน่ใจแล้วเหรอ? ว่าต้องการบล็อกบัญชีนี้"
+unblockConfirm: "คุณแน่ใจแล้วเหรอ? ว่าต้องการปลดบล็อคบัญชีนี้"
+suspendConfirm: "นายแน่ใจแล้วเหรอว่าต้องการระงับบัญชีนี้อ่ะ?"
+unsuspendConfirm: "นายแน่ใจแล้วหรอ? ว่าต้องการยกเลิกการระงับบัญชีนี้"
+selectList: "เลือกรายการ (Automatic Translation)"
+selectAntenna: "เลือกเสาอากาศ"
+selectWidget: "เลือกวิดเจ็ต"
+editWidgets: "แก้ไขวิดเจ็ต"
+editWidgetsExit: "เรียบร้อย"
+customEmojis: "กำหนดอีโมจิเอง"
+emoji: "อีโมจิ"
+emojis: "อีโมจิ"
+emojiName: "ชื่ออิโมจิ"
+emojiUrl: "อิโมจิ URL"
+addEmoji: "แทรกอีโมจิ"
+settingGuide: "การตั้งค่าที่แนะนำ"
+cacheRemoteFiles: "แคชไฟล์ระยะไกล"
+cacheRemoteFilesDescription: "เมื่อปิดใช้งานการตั้งค่านี้ ไฟล์ระยะไกลนั้นจะถูกโหลดโดยตรงจากอินสแตนซ์ระยะไกล แต่กรณีการปิดใช้งานนี้จะช่วยลดปริมาณการใช้พื้นที่จัดเก็บข้อมูล แต่เพิ่มปริมาณการใช้งาน เพราะเนื่องจากจะไม่มีการสร้างภาพขนาดย่อ"
+flagAsBot: "ทำเครื่องหมายบอกว่าบัญชีนี้เป็นบอท"
+flagAsBotDescription: "การเปิดใช้งานตัวเลือกนี้หากบัญชีนี้ถูกควบคุมโดยนักเขียนโปรแกรม หรือ ถ้าหากเปิดใช้งาน มันจะทำหน้าที่เป็นแฟล็กสำหรับนักพัฒนารายอื่นๆ และเพื่อป้องกันการโต้ตอบแบบไม่มีที่สิ้นสุดกับบอทตัวอื่นๆ และยังสามารถปรับเปลี่ยนระบบภายในของ Misskey เพื่อปฏิบัติต่อบัญชีนี้เป็นบอท"
+flagAsCat: "ทำเครื่องหมายบอกว่าบัญชีนี้เป็นแมว"
+flagAsCatDescription: "การเปิดใช้งานตัวเลือกนี้เพื่อทำเครื่องหมายบอกว่าบัญชีนี้เป็นแมว"
+flagShowTimelineReplies: "แสดงตอบกลับ ในไทม์ไลน์"
+flagShowTimelineRepliesDescription: "แสดงการตอบกลับของผู้ใช้งานไปยังโน้ตของผู้ใช้งานรายอื่นๆในไทม์ไลน์หากได้เปิดเอาไว้"
+autoAcceptFollowed: "อนุมัติคำขอติดตามโดยอัตโนมัติทันที จากผู้ใช้งานที่คุณกำลังติดตาม"
+addAccount: "เพิ่มบัญชี"
+loginFailed: "การเข้าสู่ระบบไม่สำเร็จ"
+showOnRemote: "ดูบนอินสแตนซ์ระยะไกล"
+general: "ทั่วไป"
+wallpaper: "วอลล์เปเปอร์"
+setWallpaper: "ตั้งวอลเปเปอร์"
+removeWallpaper: "นำวอลเปเปอร์ออก"
+searchWith: "ค้นหา: {q}"
+youHaveNoLists: "รายการนี้ว่างเปล่า"
+followConfirm: "คุณแน่ใจแล้วหรอว่าต้องการที่จะติดตาม {name}?"
+proxyAccount: "บัญชี พร็อกซี่"
+proxyAccountDescription: "บัญชีพร็อกซี่ คือ บัญชีที่จะทำหน้าที่เป็นผู้ติดตามระยะไกลสำหรับผู้ใช้งานที่อยู่ภายใต้ด้วยเงื่อนไขบางอย่าง ยกตัวอย่าง เช่น เมื่อมีผู้ใช้งานนั้นได้เพิ่มผู้ใช้งานจากระยะไกลลงในรายการ แต่กิจกรรมของผู้ใช้ในระยะไกลนั้นจะไม่ถูกส่งไปยังอินสแตนซ์หากไม่มีผู้ใช้งานในพื้นที่ติดตามผู้ใช้รายนั้น ดังนั้นบัญชีพร็อกซีนี้จะติดตามแทน"
+host: "โฮสต์"
+selectUser: "เลือกผู้ใช้งาน"
+recipient: "ผู้รับ"
+annotation: "ความคิดเห็น"
+federation: "สหพันธ์"
+instances: "ตัวอย่าง"
+registeredAt: "จดทะเบียนที่"
+latestRequestSentAt: "ส่งคำขอล่าสุดไปแล้ว"
+latestRequestReceivedAt: "ได้รับคำขอล่าสุดไปแล้ว"
+latestStatus: "สถานะล่าสุด"
+storageUsage: "พื้นที่จัดเก็บข้อมูลที่ใช้ไป"
+charts: "โดดเด่น"
+perHour: "ทุกชั่วโมง"
+perDay: "ต่อวัน"
+stopActivityDelivery: "หยุดส่งกิจกรรม"
+blockThisInstance: "บล็อกอินสแตนซ์นี้"
+operations: "ดำเนินการ"
+software: "ซอฟต์แวร์"
+version: "เวอร์ชั่น"
+metadata: "ข้อมูลเมตา"
+withNFiles: "{n} ไฟล์(s)"
+monitor: "มอนิเตอร์"
+jobQueue: "คิวงาน"
+cpuAndMemory: "ซีพียู และ หน่วยความจำ"
+network: "เน็ตเวิร์ก"
+disk: "ดิสก์"
+instanceInfo: "ข้อมูล อินสแตนซ์"
+statistics: "สถิติการใช้งาน"
+clearQueue: "ล้างคิว"
+clearQueueConfirmTitle: "คุณแน่ใจแล้วหรอว่าต้องการที่จะล้างคิว?"
+clearQueueConfirmText: "บันทึกย่อที่ยังไม่ได้ส่งที่เหลืออยู่ในคิวนั้นมักจะ ไม่ถูกรวมเข้าด้วยกัน โดยปกติแล้วไม่จำเป็นต้องดำเนินการนี้"
+clearCachedFiles: "ล้างแคช"
+clearCachedFilesConfirm: "นายแน่ใจแล้วหรอว่าต้องการที่จะลบไฟล์ระยะไกลที่แคชไว้ทั้งหมด?"
+blockedInstances: "อินสแตนซ์ที่ ถูกบล็อก"
+blockedInstancesDescription: "ระบุชื่อโฮสต์ของอินสแตนซ์ที่คุณต้องการบล็อก อินสแตนซ์ที่อยู่ในรายการนั้นจะไม่สามารถพูดคุยกับอินสแตนซ์นี้ได้อีกต่อไป"
+muteAndBlock: "ปิดเสียงและบล็อก"
+mutedUsers: "ผู้ใช้ที่ถูกปิดเสียง"
+blockedUsers: "ผู้ใช้ที่ถูกบล็อก"
+noUsers: "ไม่พบผู้ใช้งาน"
+editProfile: "แก้ไขโปรไฟล์"
+noteDeleteConfirm: "นายแน่ใจแล้วหรอว่าต้องการลบโน้ตนี้นะ?"
+pinLimitExceeded: "คุณไม่สามารถปักหมุดโน้ตเพิ่มเติมใดๆได้อีก"
+intro: "การติดตั้ง Misskey เสร็จสิ้นแล้วนะ! โปรดสร้างผู้ใช้งานที่เป็นผู้ดูแลระบบ"
+done: "เสร็จสิ้น"
+processing: "กำลังประมวลผล..."
+preview: "แสดงตัวอย่าง"
+default: "ค่าตั้งต้น"
+defaultValueIs: "ค่าเริ่มต้น: {value}"
+noCustomEmojis: "ไม่มีอีโมจิ"
+noJobs: "ไม่มีชิ้นงาน"
+federating: "สหพันธ์"
+blocked: "ถูกบล็อก"
+suspended: "ถูกระงับ"
+all: "ทั้งหมด"
+subscribing: "สมัครแล้ว"
+publishing: "กำลังเผยแพร่"
+notResponding: "ไม่มีการตอบสนอง"
+instanceFollowing: "กำลังติดตาม บน อินสแตนซ์"
+instanceFollowers: "ผู้ติดตามของอินสแตนซ์"
+instanceUsers: "ผู้ใช้งานของอินสแตนซ์นี้"
+changePassword: "เปลี่ยนรหัสผ่าน"
+security: "ความปลอดภัย"
+retypedNotMatch: "อินพุตไม่ตรงกันนะ"
+currentPassword: "รหัสผ่านปัจจุบัน"
+newPassword: "รหัสผ่านใหม่"
+newPasswordRetype: "ใส่รหัสผ่านใหม่อีกครั้ง"
+attachFile: "แนบไฟล์"
+more: "เพิ่มเติม!"
+featured: "เป็นจุดเด่น"
+usernameOrUserId: "ชื่อผู้ใช้หรือรหัสผู้ใช้งาน"
+noSuchUser: "ไม่มีผู้ใช้นี้อยู่ในระบบ"
+lookup: "ค้นหา"
+announcements: "ประกาศ"
+imageUrl: "url รูปภาพ"
+remove: "ลบ"
+removed: "ถูกลบไปแล้ว"
+removeAreYouSure: "นายแน่ใจจริงหรอว่าต้องการที่จะลบออก \"{x}\""
+deleteAreYouSure: "นายแน่ใจจริงหรอว่าต้องการที่จะลบออก \"{x}\""
+resetAreYouSure: "รีเซ็ตเลยไหม"
+saved: "บันทึกแล้ว"
+messaging: "แชท"
+upload: "อัพโหลด"
+keepOriginalUploading: "เก็บภาพต้นฉบับ"
+keepOriginalUploadingDescription: "บันทึกรูปภาพที่อัพโหลดต้นฉบับตามที่เป็นอยู่ ถ้าหากปิดอยู่ ระบบจะสร้างเวอร์ชั่นที่จะแสดงบนเว็บเมื่ออัพโหลดนะ"
+fromDrive: "จากไดรฟ์"
+fromUrl: "จาก URL"
+uploadFromUrl: "อัพโหลดจาก URL"
+uploadFromUrlDescription: "URL ของไฟล์ที่คุณต้องการอัปโหลด"
+uploadFromUrlRequested: "อัพโหลดที่ร้องขอ"
+uploadFromUrlMayTakeTime: "มันอาจจะต้องใช้เวลาสักครู่จนกว่าการอัพโหลดจะเสร็จสมบูรณ์นะ"
+explore: "สำรวจ"
+messageRead: "อ่านแล้ว"
+noMoreHistory: "ในนั้นไม่มีประวัติอีกต่อไปแล้วนะ"
+startMessaging: "เริ่มการสนทนา"
+nUsersRead: "อ่านโดย {n}"
+agreeTo: "ฉันยอมรับที่จะ {0}"
+tos: "ข้อกำหนดและเงื่อนไข"
+start: "เริ่มต้นใช้งาน"
+home: "หน้าแรก"
+remoteUserCaution: "เนื่องจากผู้ใช้งานรายนี้นั้น มาจากอินสแตนซ์ระยะไกล ข้อมูลที่แสดงดังกล่าวนั้นอาจจะไม่สมบูรณ์ก็ได้นะ"
+activity: "กิจกรรม"
+images: "รูปภาพ"
+birthday: "วันเกิด"
+yearsOld: "{อายุ} ปี"
+registeredDate: "วันที่สมัครสมาชิก"
+location: "ตำแหน่งที่ตั้ง"
+theme: "ธีม"
+themeForLightMode: "ธีมที่จะใช้ในโหมดแสง"
+themeForDarkMode: "ธีมที่จะใช้ในโหมดมืด"
+light: "สว่าง"
+dark: "มืด"
+lightThemes: "ธีมสีสว่าง"
+darkThemes: "ธีมมืด"
+syncDeviceDarkMode: "ซิงค์โหมดมืดด้วยการตั้งค่ากับอุปกรณ์"
+drive: "ไดรฟ์"
+fileName: "ชื่อไฟล์"
+selectFile: "เลือกไฟล์"
+selectFiles: "เลือกไฟล์"
+selectFolder: "เลือกโฟลเดอร์"
+selectFolders: "เลือกโฟลเดอร์"
+renameFile: "เปลี่ยนชื่อไฟล์"
+folderName: "ชื่อแฟ้ม"
+createFolder: "สร้างโฟลเดอร์"
+renameFolder: "เปลี่ยนชื่อโฟลเดอร์"
+deleteFolder: "ลบโฟลเดอร์"
+addFile: "เพิ่มไฟล์"
+emptyDrive: "ไดรฟ์ของคุณว่างเปล่านะ"
+emptyFolder: "โฟลเดอร์นี้น่าจะว่างเปล่านะ"
+unableToDelete: "ไม่สามารถลบออกได้นะ"
+inputNewFileName: "ป้อนชื่อไฟล์ใหม่นะ"
+inputNewDescription: "กรุณาใส่แคปชั่นใหม่"
+inputNewFolderName: "กรุณาใส่ชื่อโฟลเดอร์ใหม่นะ\n"
+circularReferenceFolder: "โฟลเดอร์ปลายทาง คือ โฟลเดอร์ย่อยของโฟลเดอร์ที่คุณต้องการที่จะย้ายล่ะนะ"
+hasChildFilesOrFolders: "เนื่องจากโฟลเดอร์นี้ไม่ว่างเปล่า จึงไม่สามารถลบได้นะ"
+copyUrl: "คัดลอก URL"
+rename: "เปลี่ยนชื่อ"
+avatar: "ไอคอน"
+banner: "แบนเนอร์"
+nsfw: "เนื้อหาที่ละเอียดอ่อน NSFW"
+whenServerDisconnected: "สูญเสียการเชื่อมต่อกับเซิร์ฟเวอร์"
+disconnectedFromServer: "ถูกตัดการเชื่อมต่อออกจากเซิร์ฟเวอร์"
+reload: "รีโหลด"
+doNothing: "เมิน"
+reloadConfirm: "นายต้องการรีเฟรชไทม์ไลน์หรือป่าว?"
+watch: "ดู"
+unwatch: "หยุดดู"
+accept: "ยอมรับ"
+reject: "ปฏิเสธ"
+normal: "โหมดปกติ"
+instanceName: "ชื่อ อินสแตนซ์"
+instanceDescription: "คำอธิบายอินสแตนซ์"
+maintainerName: "ผู้ดูแล"
+maintainerEmail: "อีเมล์แอดมิน"
+tosUrl: "เงื่อนไขการให้บริการ URL"
+thisYear: "ปีนี้"
+thisMonth: "เดือนนี้"
+today: "วันนี้"
+dayX: "{วัน}"
+monthX: "{เดือน}"
+yearX: "{ปี}"
+pages: "หน้า"
+integration: "รวบรวม"
+connectService: "เชื่อมต่อ"
+disconnectService: "ตัดการเชื่อมต่อ"
+enableLocalTimeline: "เปิดใช้งานไทม์ไลน์ในพื้นที่"
+enableGlobalTimeline: "เปิดใช้งานไทม์ไลน์ทั่วโลก"
+disablingTimelinesInfo: "ผู้ดูแลระบบและผู้ควบคุมจะสามารถเข้าถึงไทม์ไลน์ทั้งหมด ถึงแม้ว่าจะไม่ได้เปิดใช้งานก็ตาม"
+registration: "ลงทะเบียน"
+enableRegistration: "เปิดใช้งานการลงทะเบียนผู้ใช้ใหม่"
+invite: "เชิญชวน"
+driveCapacityPerLocalAccount: "ความจุของไดรฟ์ต่อผู้ใช้ภายในเครื่อง"
+driveCapacityPerRemoteAccount: "ความจุของไดรฟ์ต่อผู้ใช้ระยะไกล"
+inMb: "เป็นเมกะไบต์"
+iconUrl: "ไอคอน URL"
+bannerUrl: "URL รูปภาพแบนเนอร์"
+backgroundImageUrl: "URL ภาพพื้นหลัง"
+basicInfo: "ข้อมูลเบื้องต้น"
+pinnedUsers: "ผู้ใช้งานที่ได้รับการปักหมุด"
+pinnedUsersDescription: "ลิสต์ชื่อผู้ใช้โดยคั่นด้วยการขึ้นบรรทัดใหม่เพื่อปักหมุดในแท็บ \"สำรวจ\""
+pinnedPages: "หน้าที่ปักหมุด"
+pinnedPagesDescription: "ป้อนเส้นทางของหน้าที่คุณต้องการตรึงไว้ที่หน้าแรกของอินสแตนซ์นี้ โดยคั่นด้วยตัวแบ่งบรรทัด"
+pinnedClipId: "ID ของคลิปที่จะปักหมุด"
+pinnedNotes: "โน้ตที่ปักหมุดเอาไว้"
+hcaptcha: "hCaptcha"
+enableHcaptcha: "เปิดใช้ hCaptcha"
+hcaptchaSiteKey: "คีย์ไซต์"
+hcaptchaSecretKey: "คีย์ลับ"
+recaptcha: "reCAPTCHA"
+enableRecaptcha: "เปิดใช้ reCAPTCHA"
+recaptchaSiteKey: "คีย์ไซต์"
+recaptchaSecretKey: "คีย์ลับ"
+avoidMultiCaptchaConfirm: "การใช้ระบบ Captcha หลายระบบอาจทำให้เกิดการรบกวนหรืออาจจะเกิดข้อผิดพลาดได้ หากต้องการที่จะปิดการใช้งานระบบ Captcha อื่น ๆ แนะนำให้ปิดตัวอื่นๆก่อน ถ้าหากคุณต้องการให้เปิดใช้งานต่อไป ให้ กด ยกเลิก"
+antennas: "เสาอากาศ"
+manageAntennas: "จัดการเสาอากาศ"
+name: "ชื่อ"
+antennaSource: "แหล่งเสาอากาศ"
+antennaKeywords: "คีย์เวิร์ดที่ควรฟัง"
+antennaExcludeKeywords: "คีย์เวิร์ดที่จะยกเว้น"
+antennaKeywordsDescription: "คั่นด้วยช่องว่างสำหรับเงื่อนไข AND หรือด้วยการขึ้นบรรทัดใหม่สำหรับเงื่อนไข OR นะ"
+notifyAntenna: "แจ้งเตือนเกี่ยวกับโน้ตใหม่"
+withFileAntenna: "เฉพาะโน้ตที่มีไฟล์"
+enableServiceworker: "เปิดใช้งาน การแจ้งเตือนแบบพุชสำหรับเบราว์เซอร์ของคุณ"
+antennaUsersDescription: "ระบุหนึ่งชื่อผู้ใช้ต่อบรรทัด"
+caseSensitive: "กรณีที่สำคัญ"
+withReplies: "รวมตอบกลับ"
+connectedTo: "บัญชีดังต่อไปนี้มีการเชื่อมต่อกัน"
+notesAndReplies: "โพสต์และการตอบกลับ"
+withFiles: "รวบรวมไฟล์"
+silence: "ถูกปิดปาก"
+silenceConfirm: "นายแน่ใจแล้วหรอว่าต้องการที่จะ ปิดปาก ผู้ใช้งานรายนี้?"
+unsilence: "ยกเลิกการปิดปาก"
+unsilenceConfirm: "นายแน่ใจแล้วหรอว่าต้องการที่จะยกเลิกปิดปากผู้ใช้งานรายนี้?"
+popularUsers: "ผู้ใช้ที่เป็นที่นิยม"
+recentlyUpdatedUsers: "ผู้ใช้ที่เพิ่งใช้งานล่าสุด"
+recentlyRegisteredUsers: "ผู้ใช้ที่เข้าร่วมใหม่"
+recentlyDiscoveredUsers: "ผู้ใช้ที่เพิ่งค้นพบใหม่"
+exploreUsersCount: "มีผู้ใช้ {จำนวน} ราย"
+exploreFediverse: "สำรวจเฟดดิเวิร์ส"
+popularTags: "แท็กยอดนิยม"
+userList: "รายการ"
+about: "เกี่ยวกับ"
+aboutMisskey: "เกี่ยวกับ Misskey"
+administrator: "ผู้ดูแลระบบ"
+token: "โทเค็น"
+twoStepAuthentication: "ยืนยันตัวตน 2 ชั้น"
+moderator: "ผู้ควบคุม"
+moderation: "การกลั่นกรอง"
+nUsersMentioned: "กล่าวถึงโดยผู้ใช้ {n} รายนี้"
+securityKey: "กุญแจความปลอดภัย"
+securityKeyName: "ชื่อคีย์"
+registerSecurityKey: "ลงทะเบียนรหัสความปลอดภัยคีย์"
+lastUsed: "ใช้ล่าสุด"
+unregister: "เลิกติดตาม"
+passwordLessLogin: "เข้าสู่ระบบแบบไม่ใช้รหัสผ่าน"
+resetPassword: "รีเซ็ตรหัสผ่าน"
+newPasswordIs: "รหัสผ่านใหม่คือ \"{password}\""
+reduceUiAnimation: "ลดภาพเคลื่อนไหว UI"
+share: "แชร์"
+notFound: "ไม่พบหน้าที่ต้องการ"
+notFoundDescription: "ไม่พบหน้าที่สอดคล้องตรงกันกับ URL นี้นะ"
+uploadFolder: "โฟลเดอร์เริ่มต้นสำหรับอัพโหลด"
+cacheClear: "ล้างแคช"
+markAsReadAllNotifications: "ทำเครื่องหมายการแจ้งเตือนทั้งหมดว่าอ่านแล้ว"
+markAsReadAllUnreadNotes: "ทำเครื่องหมายโน้ตทั้งหมดว่าอ่านแล้ว"
+markAsReadAllTalkMessages: "ทำเครื่องหมายข้อความทั้งหมดว่าอ่านแล้ว"
+help: "ช่วยเหลือ"
+inputMessageHere: "พิมพ์ข้อความที่นี่"
+close: "ปิด"
+group: "กลุ่ม"
+groups: "กลุ่ม"
+createGroup: "สร้างกลุ่ม"
+ownedGroups: "กลุ่มที่เป็นเจ้าของ"
+joinedGroups: "เข้าร่วมกลุ่ม"
+invites: "เชิญชวน"
+groupName: "ชื่อกลุ่ม"
+members: "สมาชิก"
+transfer: "ถ่ายโอน"
+messagingWithUser: "แชทส่วนตัว"
+messagingWithGroup: "แชทกลุ่ม"
+title: "หัวข้อ"
+text: "ข้อความ"
+enable: "เปิดใช้งาน"
+next: "ถัดไป"
+retype: "พิมพ์รหัสอีกครั้ง"
+noteOf: "โน้ต โดย {ผู้ใช้งาน}"
+inviteToGroup: "ชวนเข้ากลุ่ม"
+quoteAttached: "อ้างอิง"
+quoteQuestion: "นายต้องการที่จะอ้างอิงหรอ?"
+noMessagesYet: "ยังไม่มีข้อความนะ"
+newMessageExists: "คุณมีข้อความใหม่"
+onlyOneFileCanBeAttached: "คุณสามารถแนบไฟล์กับข้อความได้เพียงไฟล์เดียวเท่านั้นนะ"
+signinRequired: "กรุณาลงทะเบียนหรือลงชื่อเข้าใช้ก่อนดำเนินการต่อนะ"
+invitations: "เชิญชวน"
+invitationCode: "รหัสคำเชิญ"
+checking: "Checking"
+available: "พร้อมใช้งาน"
+unavailable: "ไม่พร้อมใช้"
+usernameInvalidFormat: "คุณสามารถใช้อักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก ตัวเลข และขีดล่างได้นะ ( a-z , A-Z , 0-9 , รวมไปถึงอักษรพิเศษเช่น + * / , . - อื่นๆเป็นต้น )"
+tooShort: "สั้นเกินไปนะ"
+tooLong: "ยาวเกินไปนะ"
+weakPassword: "รหัสผ่าน แย่มาก"
+normalPassword: "รหัสผ่านปกติ"
+strongPassword: "รหัสผ่านรัดกุมมาก"
+passwordMatched: "ถูกต้อง!"
+passwordNotMatched: "ไม่ถูกต้อง"
+signinWith: "ลงชื่อเข้าใช้ด้วย {x}"
+signinFailed: "ไม่สามารถลงชื่อผู้เข้าใช้ได้ เนื่องจาก ชื่อผู้ใช้หรือรหัสผ่านที่คุณป้อนนั้นไม่ถูกต้องนะ"
+tapSecurityKey: "แตะคีย์ความปลอดภัย"
+or: "หรือ"
+language: "ภาษา"
+uiLanguage: "ภาษาอินเทอร์เฟซผู้ใช้งาน"
+groupInvited: "คุณได้รับเชิญให้เข้าร่วมกลุ่ม"
+aboutX: "เกี่ยวกับ {x}"
+useOsNativeEmojis: "ใช้อีโมจิ OS แบบดั้งเดิม"
+disableDrawer: "อย่าใช้ลิ้นชักสไตล์เมนู"
+youHaveNoGroups: "คุณยังไม่มีกลุ่ม"
+joinOrCreateGroup: "รับเชิญเข้าร่วมกลุ่มหรือสร้างกลุ่มของคุณเองเลยนะ"
+noHistory: "ไม่มีรายการ"
+signinHistory: "ประวัติการเข้าสู่ระบบ"
+disableAnimatedMfm: "ปิดการใช้งาน MFM ด้วยแอนิเมชั่น"
+doing: "กำลังประมวลผล......"
+category: "หมวดหมู่"
+tags: "แท็ก"
+docSource: "ที่มาของเอกสารนี้"
+createAccount: "สร้างบัญชี"
+existingAccount: "บัญชีที่มีอยู่"
+regenerate: "สร้างอีกครั้ง"
+fontSize: "ขนาดตัวอักษร"
+noFollowRequests: "คุณไม่มีคำขอติดตามที่รอดำเนินการ"
+openImageInNewTab: "เปิดรูปภาพในแท็บใหม่"
+dashboard: "หน้ากระดานหลัก"
+local: "ในพื้นที่"
+remote: "ระยะไกล"
+total: "รวมทั้งหมด"
+weekOverWeekChanges: "เปลี่ยนแปลงไปเมื่อสัปดาห์ที่แล้ว"
+dayOverDayChanges: "เปลี่ยนแปลงไปเมื่อวานนี้"
+appearance: "ภาพลักษณ์"
+clientSettings: "การตั้งค่าไคลเอนต์"
+accountSettings: "ตั้งค่าบัญชี"
+promotion: "โฆษณา"
+promote: "โปรโมท"
+numberOfDays: "จำนวนวัน"
+hideThisNote: "ซ่อนโน้ตนี้"
+showFeaturedNotesInTimeline: "แสดงโน้ตเด่นในไทม์ไลน์"
+objectStorage: "อ็อบเจ็กต์ ที่จัดเก็บ"
+useObjectStorage: "ใช้ อ็อบเจ็กต์ ที่จัดเก็บ"
+objectStorageBaseUrl: "URL ฐาน"
+objectStorageBaseUrlDesc: "URL ที่ใช้เป็นข้อมูลอ้างอิง ระบุ URL ของ CDN หรือ Proxy ถ้าหากคุณใช้อย่างใดอย่างหนึ่ง\n สำหรับการใช้งาน S3 'https://.s3.amazonaws.com' และสำหรับ GCS หรือบริการที่เทียบเท่าใช้ 'https://storage.googleapis.com/', เป็นต้น"
+objectStorageBucket: "Bucket"
+objectStorageBucketDesc: "โปรดระบุชื่อที่เก็บข้อมูลที่ใช้กับผู้ให้บริการของคุณ"
+objectStoragePrefix: "คำนำหน้า"
+objectStoragePrefixDesc: "ไฟล์ทั้งหมดจะถูกเก็บไว้ภายใต้ไดเร็กทอรีที่มีคำนำหน้านี้นะ"
+objectStorageEndpoint: "ปลายทาง"
+objectStorageEndpointDesc: "เว้นว่างไว้หากคุณใช้ AWS S3 หรือระบุปลายทางเป็น '' หรือ ':' ทั้งนี้ขึ้นอยู่กับผู้ให้บริการที่คุณใช้อยู่ด้วย"
+objectStorageRegion: "ภูมิภาค"
+objectStorageRegionDesc: "ระบุภูมิภาค เช่น 'xx-east-1' ถ้าหากบริการของคุณไม่ได้แยกความแตกต่างระหว่างภูมิภาคก็ให้ เว้นว่างไว้หรือป้อน 'us-east-1'"
+objectStorageUseSSL: "ใช้ SSL"
+objectStorageUseSSLDesc: "ปิดการทำงานนี้ไว้ ถ้าหากคุณจะไม่ใช้ HTTPS สำหรับการเชื่อมต่อ API"
+objectStorageUseProxy: "เชื่อมต่อผ่านพร็อกซี"
+objectStorageUseProxyDesc: "ปิดสิ่งนี้ไว้ถ้าหากคุณจะไม่ใช้ Proxy สำหรับการเชื่อมต่อ API"
+objectStorageSetPublicRead: "ตั้งค่า \"public-read\" ในการอัปโหลด"
+serverLogs: "บันทึกของเซิร์ฟเวอร์"
+deleteAll: "ลบทั้งหมด"
+showFixedPostForm: "แสดงแบบฟอร์มการโพสต์ที่ด้านบนสุดของไทม์ไลน์"
+newNoteRecived: "มีโน้ตใหม่"
+sounds: "เสียง"
+listen: "ฟัง"
+none: "ไม่มี"
+showInPage: "แสดงในเพจ"
+popout: "ป๊อปเอาต์"
+volume: "ความดัง"
+masterVolume: "มาสเตอร์วอลุ่ม"
+details: "รายละเอียด"
+chooseEmoji: "เลือกโมจิของเธอ"
+unableToProcess: "ไม่สามารถดำเนินการให้เสร็จสิ้นได้"
+recentUsed: "ใช้ล่าสุด"
+install: "ติดตั้ง"
+uninstall: "ถอนการติดตั้ง"
+installedApps: "แอปที่ติดตั้งแล้ว"
+nothing: "ไม่พบผลลัพธ์"
+installedDate: "วันที่ติดตั้ง"
+lastUsedDate: "ใช้งานครั้งล่าสุด"
+state: "สถานะ"
+sort: "เรียงลำดับ"
+ascendingOrder: "เรียงจากน้อยไปมาก"
+descendingOrder: "เรียงจากมากไปน้อย"
+scratchpad: "กระดานทดลอง"
+scratchpadDescription: "Scratchpad เป็นการจัดเตรียมสภาพแวดล้อมสำหรับการทดลอง AiScript แต่คุณสามารถเขียน ดำเนินการ และตรวจสอบผลลัพธ์ของการโต้ตอบกับ Misskey มันได้ด้วยนะ"
+output: "เอาท์พุต"
+script: "สคริปต์"
+disablePagesScript: "ปิดการใช้งาน AiScript บนเพจ"
+updateRemoteUser: "อัปเดตข้อมูลผู้ใช้งานระยะไกล"
+deleteAllFiles: "ลบไฟล์ทั้งหมด"
+deleteAllFilesConfirm: "นายแน่ใจแล้วหรอว่าต้องการที่จะลบไฟล์ทั้งหมด?"
+removeAllFollowing: "เลิกติดตามผู้ใช้ที่ติดตามทั้งหมด"
+removeAllFollowingDescription: "การที่คุณดำเนินการนี้จะเลิกติดตามบัญชีทั้งหมดจาก {host} โปรดเรียกใช้คำสั่งสิ่งนี้หากต้องการยกเลิกอินสแตนซ์ เช่น ไม่มีอยู่แล้ว"
+userSuspended: "ผู้ใช้รายนี้ถูกระงับการใช้งาน"
+userSilenced: "ผู้ใช้รายนี้กำลังถูกปิดกั้น"
+yourAccountSuspendedTitle: "บัญชีนี้นั้นถูกระงับ"
+yourAccountSuspendedDescription: "บัญชีนี้ถูกระงับ เนื่องจากละเมิดข้อกำหนดในการให้บริการของเซิร์ฟเวอร์หรืออาจจะละเมิดหลักเกณฑ์ชุมชน หรือ อาจจะโดนร้องเรียนเรื่องการละเมิดลิขสิทธิ์และอื่นๆอย่างต่อเนื่องซ้ำๆ หากคุณคิดว่าไม่ได้ทำผิดจริงๆหรือตัดสินผิดพลาด ได้โปรดกรุณาติดต่อผู้ดูแลระบบหากคุณต้องการทราบเหตุผลโดยละเอียดเพิ่มเติม และขอความกรุณาอย่าสร้างบัญชีใหม่"
+menu: "เมนู"
+divider: "ตัวแบ่ง"
+addItem: "เพิ่มรายการ"
+relays: "รีเลย์"
+addRelay: "เพิ่มรีเลย์"
+inboxUrl: "อินบ็อกซ์ URL"
+addedRelays: "เพิ่มรีเลย์แล้ว"
+serviceworkerInfo: "ต้องเปิดใช้งานสำหรับการแจ้งเตือนแบบพุช"
+deletedNote: "โน้ตที่ถูกลบ"
+invisibleNote: "โน้ตที่มองไม่เห็น"
+enableInfiniteScroll: "โหลดเพิ่มเติมโดยอัตโนมัติ"
+visibility: "การมองเห็น"
+poll: "โพล"
+useCw: "ซ่อนเนื้อหา"
+enablePlayer: "เปิดเครื่องเล่นวิดีโอ"
+disablePlayer: "ปิดเครื่องเล่นวิดีโอ"
+expandTweet: "ขยายทวีต"
+themeEditor: "ตัวแก้ไขธีม"
+description: "รายละเอียด"
+describeFile: "เพิ่มแคปชั่น"
+enterFileDescription: "ใส่แคปชั่น"
+author: "ผู้เขียน"
+leaveConfirm: "คุณมีการเปลี่ยนแปลงที่ไม่ได้บันทึกนะ นายต้องการทิ้งการเปลี่ยนแปลงเหล่านั้นหรอ?"
+manage: "การจัดการ"
+plugins: "ปลั๊กอิน"
+preferencesBackups: "ตั้งค่าการสำรองข้อมูล"
+deck: "เด็ค"
+undeck: "ออกจากเด็ค"
+useBlurEffectForModal: "ใช้เอฟเฟกต์เบลอสำหรับโมดอล"
+useFullReactionPicker: "ใช้เครื่องมือเลือกปฏิกิริยาขนาดเต็ม"
+width: "ความกว้าง"
+height: "ความสูง"
+large: "ใหญ่"
+medium: "ปานกลาง"
+small: "เล็ก"
+generateAccessToken: "สร้างการเข้าถึงโทเค็น"
+permission: "การอนุญาต"
+enableAll: "เปิดใช้งานทั้งหมด"
+disableAll: "ปิดการใช้งานทั้งหมด"
+tokenRequested: "ให้สิทธิ์การเข้าถึงบัญชี"
+pluginTokenRequestedDescription: "ปลั๊กอินนี้จะสามารถใช้การอนุญาตที่ตั้งค่าไว้ที่นี่นะ"
+notificationType: "ประเภทการแจ้งเตือน"
+edit: "แก้ไข"
+useStarForReactionFallback: "ใช้ ★ เป็นทางเลือกแทนถ้าหากไม่ทราบอิโมจิ"
+emailServer: "อีเมล์เซิร์ฟเวอร์"
+enableEmail: "เปิดใช้งานการกระจายอีเมล"
+emailConfigInfo: "ใช้เพื่อยืนยันอีเมลของคุณระหว่างการสมัครหรือถ้าหากคุณลืมรหัสผ่าน"
+email: "อีเมล์"
+emailAddress: "ที่อยู่อีเมล์"
+smtpConfig: "กำหนดค่าเซิร์ฟเวอร์ SMTP"
+smtpHost: "โฮสต์"
+smtpPort: "พอร์ต"
+smtpUser: "ชื่อผู้ใช้"
+smtpPass: "รหัสผ่าน"
+emptyToDisableSmtpAuth: "ปล่อยชื่อผู้ใช้และรหัสผ่านว่างไว้เพื่อปิดใช้งานการยืนยัน SMTP"
+smtpSecure: "ใช้โดยนัย SSL/TLS สำหรับการเชื่อมต่อ SMTP"
+smtpSecureInfo: "ปิดสิ่งนี้เมื่อใช้ STARTTLS"
+testEmail: "ทดสอบการส่งอีเมล"
+wordMute: "ปิดเสียงคำ"
+regexpError: "ข้อผิดพลาดของนิพจน์ทั่วไป"
+regexpErrorDescription: "เกิดข้อผิดพลาดในนิพจน์ทั่วไปในบรรทัดที่ {line} ของการปิดเสียงคำ {tab} ของคุณ:"
+instanceMute: "ปิดเสียง อินสแตนซ์"
+userSaysSomething: "{name} พูดอะไรบางอย่าง"
+makeActive: "เปิดใช้งาน"
+display: "แสดงผล"
+copy: "คัดลอก"
+metrics: "เมตริก"
+overview: "ภาพรวม"
+logs: "บันทึกข้อมูลระบบ"
+delayed: "ดีเลย์"
+database: "ฐานข้อมูล"
+channel: "แชนแนล"
+create: "สร้าง"
+notificationSetting: "ตั้งค่าการแจ้งเตือน"
+notificationSettingDesc: "เลือกประเภทการแจ้งเตือนที่ต้องการจะแสดง"
+useGlobalSetting: "ใช้การตั้งค่าส่วนกลาง"
+useGlobalSettingDesc: "หากเปิดไว้ ระบบจะใช้การตั้งค่าการแจ้งเตือนของบัญชีของคุณ หากปิดอยู่ สามารถทำการกำหนดค่าแต่ละรายการได้นะ"
+other: "อื่น ๆ"
+regenerateLoginToken: "สร้างโทเค็นการเข้าสู่ระบบอีกครั้ง"
+regenerateLoginTokenDescription: "สร้างโทเค็นใหม่ที่ใช้ภายในระหว่างการเข้าสู่ระบบ โดยตามหลักปกติแล้วการดำเนินการนี้ไม่จำเป็น หากสร้างใหม่ อุปกรณ์ทั้งหมดจะถูกออกจากระบบนะ"
+setMultipleBySeparatingWithSpace: "คั่นหลายรายการด้วยช่องว่าง"
+fileIdOrUrl: "ไฟล์ ID หรือ URL"
+behavior: "พฤติกรรม"
+sample: "ตัวอย่าง"
+abuseReports: "รายงาน"
+reportAbuse: "รายงาน"
+reportAbuseOf: "รายงาน {ชื่อ}"
+fillAbuseReportDescription: "กรุณากรอกรายละเอียดเกี่ยวกับรายงานนี้ หากเป็นเรื่องเกี่ยวกับโน้ตโดยเฉพาะ ได้โปรดระบุ URL"
+abuseReported: "เราได้ส่งรายงานของคุณไปแล้ว ขอบคุณมากๆนะ"
+reporter: "นักข่าว"
+reporteeOrigin: "รายงานต้นทาง"
+reporterOrigin: "นักข่าวต้นทาง"
+forwardReport: "ส่งต่อรายงานไปยังอินสแตนซ์ระยะไกล"
+forwardReportIsAnonymous: "แทนที่จะเป็นบัญชีของคุณ บัญชีระบบที่ไม่ระบุตัวตนจะแสดงเป็นนักข่าวที่อินสแตนซ์ระยะไกล"
+send: "ส่ง"
+abuseMarkAsResolved: "ทำเครื่องหมายรายงานว่าแก้ไขแล้ว"
+openInNewTab: "เปิดในแท็บใหม่"
+openInSideView: "เปิดในมุมมองด้านข้าง"
+defaultNavigationBehaviour: "พฤติกรรมการนำทางที่เป็นค่าเริ่มต้น"
+editTheseSettingsMayBreakAccount: "การแก้ไขการตั้งค่าเหล่านี้อาจทำให้บัญชีของคุณเสียหายนะ"
+instanceTicker: "ข้อมูลอินสแตนซ์ของบันทึกย่อ"
+waitingFor: "กำลังรอคอย {x}"
+random: "สุ่มค่า"
+system: "ระบบ"
+switchUi: "สลับ UI"
+desktop: "เดสก์ท็อป"
+clip: "คลิป"
+createNew: "สร้างใหม่"
+optional: "ไม่บังคับ"
+createNewClip: "สร้างคลิปใหม่"
+unclip: "ลบคลิป"
+confirmToUnclipAlreadyClippedNote: "โน้ตนี้เป็นส่วนหนึ่งของคลิป \"{name}\" แล้ว คุณต้องการลบออกจากคลิปนี้แทนอย่างงั้นหรอ?"
+public: "สาธารณะ"
+i18nInfo: "Misskey กำลังได้รับการแปลเป็นภาษาต่างๆ โดยอาสาสมัคร คุณสามารถช่วยเหลือได้ที่ {link}"
+manageAccessTokens: "การจัดการโทเค็นการเข้าถึง"
+accountInfo: "ข้อมูลบัญชี"
+notesCount: "จำนวนของโน้ต"
+repliesCount: "จำนวนการตอบกลับที่ส่ง"
+renotesCount: "จำนวนรีโน้ตที่ส่ง"
+repliedCount: "จำนวนของการตอบกลับที่ได้รับ"
+renotedCount: "จำนวนรีโน้ตที่ได้รับ"
+followingCount: "จำนวนบัญชีที่ติดตาม"
+followersCount: "จำนวนผู้ติดตาม"
+sentReactionsCount: "จำนวนปฏิกิริยาที่ส่ง"
+receivedReactionsCount: "จำนวนปฏิกิริยาที่ได้รับ"
+pollVotesCount: "จำนวนโหวตที่ส่งไป"
+pollVotedCount: "จำนวนโหวตที่ได้รับ"
+yes: "ใช่"
+no: "ไม่"
+driveFilesCount: "จำนวนไฟล์ไดรฟ์"
+driveUsage: "การใช้พื้นที่ไดรฟ์"
+noCrawle: "ปฏิเสธการจัดทำดัชนีของโปรแกรมรวบรวมข้อมูล"
+noCrawleDescription: "ขอให้เครื่องมือค้นหาไม่จัดทำดัชนีหน้าโปรไฟล์ บันทึกย่อ หน้า ฯลฯ"
+lockedAccountInfo: "เว้นแต่ว่าคุณจะต้องตั้งค่าการเปิดเผยโน้ตเป็น \"ผู้ติดตามเท่านั้น\" โน้ตย่อของคุณจะปรากฏแก่ทุกคน ถึงแม้ว่าคุณจะเป็นกำหนดให้ผู้ติดตามต้องได้รับการอนุมัติด้วยตนเองก็ตาม"
+alwaysMarkSensitive: "ทำเครื่องหมายเป็น NSFW เป็นค่าเริ่มต้น"
+loadRawImages: "โหลดภาพต้นฉบับแทนการแสดงภาพขนาดย่อ"
+disableShowingAnimatedImages: "ไม่ต้องเล่นภาพเคลื่อนไหว"
+verificationEmailSent: "ส่งอีเมลยืนยันแล้วนะ ได้โปรดกรุณาไปที่ลิงก์ที่รวมไว้เพื่อทำการตรวจสอบให้เสร็จสิ้น"
+notSet: "ไม่ได้ตั้งค่า"
+emailVerified: "อีเมลได้รับการยืนยันแล้ว"
+noteFavoritesCount: "จำนวนโน้ตที่ชื่นชอบ"
+pageLikesCount: "จำนวนเพจที่ชอบ"
+pageLikedCount: "จำนวนการกดถูกใจเพจที่ได้รับแล้ว"
+contact: "ติดต่อ"
+useSystemFont: "ใช้ฟอนต์เริ่มต้นของระบบ"
+clips: "คลิป"
+experimentalFeatures: "ฟังก์ชั่นทดสอบ"
+developer: "สำหรับนักพัฒนา"
+makeExplorable: "ทำให้บัญชีมองเห็นใน \"สำรวจ\""
+makeExplorableDescription: "ถ้าหากคุณปิดการทำงานนี้ บัญชีของคุณนั้นจะไม่แสดงในส่วน \"สำรวจ\" นะ"
+showGapBetweenNotesInTimeline: "แสดงช่องว่างระหว่างโพสต์บนไทม์ไลน์"
+duplicate: "ทำซ้ำ"
+left: "ซ้าย"
+center: "ศูนย์กลาง"
+wide: "กว้าง"
+narrow: "ชิด"
+reloadToApplySetting: "การตั้งค่านี้จะมีผลหลังจากโหลดหน้าซ้ำเท่านั้น ต้องการที่จะโหลดใหม่เลยมั้ย"
+needReloadToApply: "จำเป็นต้องโหลดซ้ำถึงจะมีผลนะ"
+showTitlebar: "แสดงแถบชื่อ"
+clearCache: "ล้างแคช"
+onlineUsersCount: "{n} ผู้ใช้คนนี้กำลังออนไลน์"
+nUsers: "{n} ผู้ใช้งาน"
+nNotes: "{n} โน้ต"
+sendErrorReports: "ส่งรายงานว่าข้อผิดพลาด"
+sendErrorReportsDescription: "เมื่อเปิดใช้งาน ข้อมูลข้อผิดพลาดโดยรายละเอียดนั้นจะถูกแชร์ให้กับ Misskey เมื่อเกิดปัญหา ซึ่งช่วยปรับปรุงคุณภาพของ Misskey\nซึ่งจะรวมถึงข้อมูล เช่น เวอร์ชั่นของระบบปฏิบัติการ เบราว์เซอร์ที่คุณใช้ กิจกรรมของคุณใน Misskey เป็นต้น"
+myTheme: "ธีมของฉัน"
+backgroundColor: "ภาพพื้นหลัง"
+accentColor: "รูปแบบสี"
+textColor: "สีข้อความ"
+saveAs: "บันทึกเป็น..."
+advanced: "ขั้นสูง"
+value: "ค่า"
+createdAt: "สร้างเมื่อ"
+updatedAt: "อัพเดทล่าสุด"
+saveConfirm: "บันทึกเปลี่ยนแปลงมั้ย?"
+deleteConfirm: "ลบจริงๆเหรอ?"
+invalidValue: "ค่านี้ไม่ถูกต้อง"
+registry: "ทะเบียน"
+closeAccount: "ปิด บัญชี"
+currentVersion: "เวอร์ชั่นปัจจุบัน"
+latestVersion: "รุ่นปัจจุบัน"
+youAreRunningUpToDateClient: "คุณกำลังใช้ไคลเอ็นต์เวอร์ชันใหม่ล่าสุดนะ"
+newVersionOfClientAvailable: "มีไคลเอ็นต์เวอร์ชันใหม่กว่าของคุณพร้อมใช้งานนะ"
+usageAmount: "การใช้งาน"
+capacity: "ความจุ"
+inUse: "ใช้แล้ว"
+editCode: "แก้ไขโค้ด"
+apply: "ตกลง"
+receiveAnnouncementFromInstance: "รับการแจ้งเตือนจากอินสแตนซ์นี้"
+emailNotification: "การแจ้งเตือนทางอีเมล์"
+publish: "เผยแพร่"
+inChannelSearch: "ค้นหาในช่อง"
+useReactionPickerForContextMenu: "เปิดตัวเลือกปฏิกิริยาเมื่อคลิกขวา"
+typingUsers: "{users} กำลัง/กำลังพิมพ์..."
+jumpToSpecifiedDate: "ข้ามไปยังวันที่เฉพาะเจาะจง"
+showingPastTimeline: "กำลังแสดงผลไทม์ไลน์เก่า"
+clear: "ล้าง"
+markAllAsRead: "ทำเครื่องหมายทั้งหมดว่าอ่านแล้ว"
+goBack: "ย้อนกลับ"
+unlikeConfirm: "ลบไลค์ของคุณออกจริงๆหรอ"
+fullView: "มุมมองแบบเต็ม"
+quitFullView: "ออกจากมุมมองแบบเต็ม"
+addDescription: "เพิ่มคำอธิบาย"
+userPagePinTip: "คุณสามารถแสดงผลโน้ตย่อได้ที่นี่โดยเลือก \"ปักหมุดที่โปรไฟล์\" จากเมนูของโน้ตย่อแต่ละรายการนะ"
+notSpecifiedMentionWarning: "โน้ตนี้มีการกล่าวถึงผู้ใช้งานที่ไม่รวมอยู่ในผู้รับ"
+info: "เกี่ยวกับ"
+userInfo: "ข้อมูลผู้ใช้"
+unknown: "ไม่ทราบสถานะ"
+onlineStatus: "สถานะออนไลน์"
+hideOnlineStatus: "ซ่อนสถานะออนไลน์"
+hideOnlineStatusDescription: "การซ่อนสถานะออนไลน์ของคุณช่วยลดความสะดวกของคุณสมบัติบางอย่าง เช่น การค้นหา อ่ะนะ"
+online: "ออนไลน์"
+active: "ใช้งานอยู่"
+offline: "ออฟไลน์"
+notRecommended: "ไม่ใช้งาน"
+botProtection: "การป้องกัน Bot (or AI)"
+instanceBlocking: "อินสแตนซ์ที่ถูกบล็อก"
+selectAccount: "เลือกบัญชี"
+switchAccount: "สลับบัญชีผู้ใช้"
+enabled: "เปิดใช้งาน"
+disabled: "ปิดการใช้งาน"
+quickAction: "ปุ่มลัด"
+user: "ผู้ใช้งาน"
+administration: "การจัดการ"
+accounts: "บัญชีผู้ใช้"
+switch: "สลับ"
+noMaintainerInformationWarning: "ข้อมูลผู้ดูแลไม่ได้รับการกำหนดค่านะ"
+noBotProtectionWarning: "ไม่ได้กำหนดค่าการป้องกันบอทนะ"
+configure: "กำหนดค่า"
+postToGallery: "สร้างโพสต์แกลเลอรี่ใหม่"
+gallery: "แกลเลอรี่"
+recentPosts: "โพสต์ล่าสุด"
+popularPosts: "โพสต์ติดอันดับ"
+shareWithNote: "แบ่งปันด้วยโน้ต"
+ads: "โฆษณา"
+expiration: "กำหนดเวลา"
+memo: "ข้อควรจำ"
+priority: "ลำดับความสำคัญ"
+high: "สูง"
+middle: "ปานกลาง"
+low: "ต่ำ"
+emailNotConfiguredWarning: "ไม่ได้ตั้งค่าที่อยู่อีเมลนะ"
+ratio: "อัตราส่วน"
+previewNoteText: "แสดงตัวอย่าง"
+customCss: "CSS ที่กำหนดเอง"
+customCssWarn: "ควรใช้การตั้งค่านี้เฉพาะต่อเมื่อคุณรู้ว่าการตั้งค่านี้ใช้ทำอะไร การป้อนค่าที่ไม่เหมาะสมอาจทำให้ไคลเอ็นต์หยุดทำงานตามปกติได้นะ"
+global: "ทั่วโลก"
+squareAvatars: "แสดงผลอวตารสี่เหลี่ยม"
+sent: "ส่ง"
+received: "ได้รับแล้ว"
+searchResult: "ผลการค้นหา"
+hashtags: "แฮชแท็ก"
+troubleshooting: "แก้ปัญหา"
+useBlurEffect: "ใช้เอฟเฟกต์เบลอใน UI"
+learnMore: "แสดงให้ดูหน่อย"
+misskeyUpdated: "Misskey ได้รับการอัปเดตแล้ว!"
+whatIsNew: "แสดงการเปลี่ยนแปลง"
+translate: "แปลภาษา"
+translatedFrom: "แปลมาจาก {x}"
+accountDeletionInProgress: "กำลังดำเนินการลบบัญชีอยู่"
+usernameInfo: "ชื่อที่ระบุบัญชีของคุณจากผู้อื่นในเซิร์ฟเวอร์นี้ คุณสามารถใช้ตัวอักษร (a~z, A~Z), ตัวเลข (0~9) หรือขีดล่าง (_) ชื่อผู้ใช้ไม่สามารถเปลี่ยนแปลงได้ในภายหลัง"
+aiChanMode: "โหมด Ai "
+keepCw: "เก็บคำเตือนเนื้อหา"
+pubSub: "บัญชีผับ/ย่อย"
+lastCommunication: "การสื่อสารครั้งสุดท้ายล่าสุด"
+resolved: "คลี่คลายแล้ว"
+unresolved: "รอการเฉลย"
+breakFollow: "ลบผู้ติดตาม"
+itsOn: "เปิดใช้งาน"
+itsOff: "ปิดใช้งาน"
+emailRequiredForSignup: "จำเป็นต้องการใช้ที่อยู่อีเมลสำหรับการสมัคร"
+unread: "ไม่ได้อ่าน"
+filter: "กรอง"
+controlPanel: "แผงควบคุม"
+manageAccounts: "จัดการบัญชี"
+makeReactionsPublic: "ตั้งค่าประวัติปฏิกิริยาต่อสาธารณะ"
+makeReactionsPublicDescription: "การทำเช่นนี้จะทำให้รายการปฏิกิริยาที่ผ่านมาของคุณจะปรากฏต่อสาธารณะนะ"
+classic: "คลาสสิค"
+muteThread: "ปิดเสียงเธรด"
+unmuteThread: "เปิดเสียงเธรด"
+ffVisibility: "การมองเห็นผู้ติดตาม/ผู้ติดตาม"
+ffVisibilityDescription: "ช่วยให้คุณสามารถกำหนดค่าได้ว่าใครสามารถดูได้ว่าคุณติดตามใครและใครติดตามคุณบ้าง"
+continueThread: "ดูความต่อเนื่องเธรด"
+deleteAccountConfirm: "การดำเนินการนี้จะลบบัญชีของคุณอย่างถาวรเลยนะ แน่ใจหรอดำเนินการ?"
+incorrectPassword: "รหัสผ่านไม่ถูกต้อง"
+voteConfirm: "ยืนยันการโหวต \"{choice}\" มั้ย?"
+hide: "ซ่อน"
+leaveGroup: "ออกจากกลุ่ม"
+leaveGroupConfirm: "คุณแน่ใจหรอว่าต้องการออกจาก \"{name}\""
+useDrawerReactionPickerForMobile: "แสดงผล ตัวเลือกปฏิกิริยาเป็นลิ้นชักบนมือถือ"
+welcomeBackWithName: "ยินดีต้อนรับการกลับมานะค่ะ, {name}"
+clickToFinishEmailVerification: "กรุณาคลิก [{ok}] เพื่อดำเนินการยืนยันอีเมลให้เสร็จสมบูรณ์นะ"
+overridedDeviceKind: "ประเภทอุปกรณ์"
+smartphone: "สมาร์ทโฟน"
+tablet: "แท็บเล็ต"
+auto: "อัตโนมัติ"
+themeColor: "อินสแตนซ์ Ticker Color"
+size: "ขนาด"
+numberOfColumn: "จำนวนคอลัมน์"
+searchByGoogle: "ค้นหา"
+instanceDefaultLightTheme: "ธีมสว่างค่าเริ่มต้นสำหรับอินสแตนซ์"
+instanceDefaultDarkTheme: "ธีมมืดค่าเริ่มต้นอินสแตนซ์"
+instanceDefaultThemeDescription: "ป้อนรหัสธีมในรูปแบบออบเจ็กต์"
+mutePeriod: "ระยะเวลาปิดเสียง"
+indefinitely: "ตลอดไป"
+tenMinutes: "10 นาที"
+oneHour: "1 ชั่วโมง"
+oneDay: "1 วัน"
+oneWeek: "1 สัปดาห์"
+reflectMayTakeTime: "อาจจำเป็นต้องใช้เวลาสักระยะหนึ่งจึงจะเห็นแสดงผลได้นะ"
+failedToFetchAccountInformation: "ไม่สามารถเรียกดึงข้อมูลบัญชีได้"
+rateLimitExceeded: "เกินขีดจำกัดอัตรา"
+cropImage: "ครอบตัดรูปภาพ"
+cropImageAsk: "คุณต้องการครอบตัดรูปภาพนี้อย่างงั้นหรือ?"
+file: "ไฟล์"
+recentNHours: "ล่าสุด {n} ชั่วโมงที่แล้ว"
+recentNDays: "ล่าสุด {n} วันที่แล้ว"
+noEmailServerWarning: "ไม่ได้กำหนดค่าเซิร์ฟเวอร์อีเมลนี้"
+thereIsUnresolvedAbuseReportWarning: "มีรายงานที่ยังไม่ได้แก้ไข"
+recommended: "แนะนำ"
+check: "ตรวจสอบ"
+driveCapOverrideLabel: "เปลี่ยนความจุของไดรฟ์สำหรับผู้ใช้รายนี้"
+driveCapOverrideCaption: "รีเซ็ตความจุเป็นค่าเริ่มต้นโดยการป้อนค่าเป็น 0 หรือ ต่ำกว่า"
+requireAdminForView: "คุณจำเป็นต้องเข้าสู่ระบบด้วยบัญชีผู้ดูแลระบบเพื่อเข้าดูสิ่งนี้"
+isSystemAccount: "บัญชีที่ถูกสร้างมานั้น และถูกดำเนินการโดยอัตโนมัติด้วยระบบ"
+typeToConfirm: "โปรดป้อน {x} เพื่อยืนยัน"
+deleteAccount: "ลบบัญชี"
+document: "เอกสาร"
+numberOfPageCache: "จำนวนหน้าเพจที่แคช"
+numberOfPageCacheDescription: "การเพิ่มจำนวนนี้จะช่วยเพิ่มความสะดวกให้กับผู้ใช้งาน แต่จะทำให้เซิร์ฟเวอร์โหลดมากขึ้นและต้องใช้หน่วยความจำมากขึ้นอีกด้วย"
+logoutConfirm: "คุณแน่ใจว่าต้องการออกจากระบบ?"
+lastActiveDate: "ใช้งานล่าสุดที่"
+statusbar: "ไอคอนบนแถบสถานะ"
+pleaseSelect: "ตัวเลือก"
+reverse: "ย้อนกลับ"
+colored: "สี"
+refreshInterval: "รอบการอัพเดต"
+label: "ป้ายชื่อ"
+type: "รูปแบบ"
+speed: "ความเร็ว"
+slow: "ช้า"
+fast: "เร็ว"
+sensitiveMediaDetection: "การตรวจจับของสื่อ NSFW"
+localOnly: "เฉพาะท้องถิ่น"
+remoteOnly: "รีโมทเท่านั้น"
+failedToUpload: "การอัปโหลดล้มเหลว"
+cannotUploadBecauseInappropriate: "ไม่สามารถอัปโหลดไฟล์นี้ได้เนื่องจากระบบตรวจพบบางส่วนของไฟล์ว่านี้อาจจะเป็น NSFW"
+cannotUploadBecauseNoFreeSpace: "การอัปโหลดนั้นล้มเหลวเนื่องจากไม่มีความจุของไดรฟ์"
+beta: "เบต้า"
+enableAutoSensitive: "ทำเครื่องหมาย NSFW อัตโนมัติ"
+enableAutoSensitiveDescription: "อนุญาตให้ตรวจหาและทำเครื่องหมายสื่อ NSFW โดยอัตโนมัติผ่านการเรียนรู้ของเครื่องหากเป็นไปได้ แม้ว่าตัวเลือกนี้จะถูกปิดใช้งาน แต่ก็สามารถเปิดใช้งานได้ทั้งอินสแตนซ์นี้"
+activeEmailValidationDescription: "เปิดใช้งานการตรวจสอบที่อยู่อีเมลให้มีความเข้มงวดยิ่งขึ้น ซึ่งอาจจะรวมไปถึงการตรวจสอบที่อยู่อีเมล์ที่ใช้แล้วทิ้งและโดยให้พิจารณาว่าสามารถสื่อสารด้วยได้หรือไม่ เมื่อไม่เลือกระบบจะตรวจสอบเฉพาะรูปแบบของอีเมลเท่านั้น"
+navbar: "แถบนำทาง"
+shuffle: "สลับ"
+account: "บัญชีผู้ใช้"
+move: "ย้าย"
+_sensitiveMediaDetection:
+ description: "ลดความพยายามในการดูแลเซิร์ฟเวอร์ผ่านการจดจำสื่อ NSFW โดยอัตโนมัติผ่านการเรียนรู้ของเครื่อง การทำสิ่งนี้อาจจะเพิ่มภาระบนเซิร์ฟเวอร์เล็กน้อย"
+ sensitivity: "การตรวจจับความไว"
+ sensitivityDescription: "การลดความไวนั้นจะนำไปสู่การตรวจจับที่ผิดพลาดน้อยลง (ผลบวกที่ผิดพลาด) แต่ในขณะที่การเพิ่มนั้นจะนำไปสู่การตรวจหาที่พลาดน้อยลง (ผลลบเท็จ)"
+ setSensitiveFlagAutomatically: "ทำเครื่องหมายว่าเป็น NSFW"
+ setSensitiveFlagAutomaticallyDescription: "ผลลัพธ์ของการตรวจจับภายในนั้นจะยังคงอยู่ ถึงแม้ว่าจะปิดตัวเลือกนี้"
+ analyzeVideos: "เปิดใช้งานวิเคราะห์ของวิดีโอ"
+ analyzeVideosDescription: "การวิเคราะห์วิดีโอนอกเหนือจากรูปภาพนั้น การทำสิ่งนี้จะทำให้เพิ่มภาระบนเซิร์ฟเวอร์เล็กน้อย"
+_emailUnavailable:
+ used: "ที่อยู่อีเมลนี้ได้ถูกใช้ไปแล้ว"
+ format: "รูปแบบของที่อยู่อีเมลนี้ไม่ถูกต้อง"
+ disposable: "ที่อยู่อีเมลที่ใช้แล้วทิ้งนั้นไม่สามารถใช้ได้"
+ mx: "เซิร์ฟเวอร์อีเมลนี้ไม่ถูกต้อง"
+ smtp: "เซิร์ฟเวอร์อีเมลนี้ไม่มีการตอบสนอง"
+_ffVisibility:
+ public: "เผยแพร่"
+ followers: "ปรากฏให้แก่ผู้ติดตามเท่านั้น"
+ private: "ส่วนตัว"
+_signup:
+ almostThere: "เกือบจะมี"
+ emailAddressInfo: "โปรดกรอกอีเมลของคุณ มันจะไม่เปิดเผยต่อสาธารณะ"
+ emailSent: "เราได้ส่งอีเมลยืนยันไปยังที่อยู่อีเมลของคุณแล้วนะ ({email}) โปรดคลิกลิงก์ที่รวมไว้เพื่อสร้างบัญชีให้เสร็จสิ้น"
+_accountDelete:
+ accountDelete: "ลบบัญชีผู้ใช้"
+ mayTakeTime: "เนื่องจากการลบบัญชีนี้จะเป็นกระบวนการที่ต้องใช้ทรัพยากรมาก จึงอาจจะต้องใช้เวลาสักครู่ถึงจะเสร็จสมบูรณ์ ทั้งนี้ขึ้นอยู่กับจำนวนเนื้อหาที่คุณสร้างและจำนวนไฟล์ที่คุณอัปโหลดนะ"
+ sendEmail: "เมื่อการลบบัญชีนี้เสร็จสิ้น เราอาจจะส่งอีเมลไปยังที่อยู่อีเมลของคุณที่เคยลงทะเบียนไว้กับบัญชีนี้นะ"
+ requestAccountDelete: "ร้องขอให้ลบบัญชี"
+ started: "การลบได้เริ่มต้นขึ้น"
+ inProgress: "ปัจจุบันกำลังดำเนินการลบอยู่"
+_ad:
+ back: "ย้อนกลับ"
+ reduceFrequencyOfThisAd: "แสดงโฆษณานี้ให้น้อยลง"
+_forgotPassword:
+ enterEmail: "ป้อนที่อยู่อีเมลที่คุณเคยใช้ในการลงทะเบียนไว้ ลิงก์ที่คุณสามารถรีเซ็ตรหัสผ่านได้นั้นจะถูกส่งไปนะ"
+ ifNoEmail: "ถ้าหากคุณไม่ได้ใช้อีเมลระหว่างการลงทะเบียน กรุณาติดต่อผู้ดูแลระบบอินสแตนซ์แทนนะ"
+ contactAdmin: "อินสแตนซ์นี้ไม่รองรับการใช้งานที่อยู่อีเมลนี้ กรุณาติดต่อผู้ดูแลระบบอินสแตนซ์เพื่อรีเซ็ตรหัสผ่านของคุณแทน"
+_gallery:
+ my: "แกลลอรี่ของฉัน"
+ liked: "โพสต์ที่ถูกใจ"
+ like: "ชื่นชอบ"
+ unlike: "ลบไลค์"
+_email:
+ _follow:
+ title: "ได้ติดตามคุณ"
+ _receiveFollowRequest:
+ title: "คุณได้รับคำขอติดตาม"
+_plugin:
+ install: "ติดตั้งปลั๊กอิน"
+ installWarn: "กรุณาอย่าติดตั้งปลั๊กอินที่ไม่น่าเชื่อถือนะคะ"
+ manage: "จัดการปลั๊กอิน"
+_preferencesBackups:
+ list: "สร้างการสำรองข้อมูล"
+ saveNew: "บันทึกใหม่"
+ loadFile: "โหลดจากไฟล์"
+ apply: "นำไปใช้กับอุปกรณ์นี้"
+ save: "บันทึก"
+ inputName: "กรุณาป้อนชื่อสำหรับข้อมูลสำรองนี้"
+ cannotSave: "การบันทึกล้มเหลว"
+ nameAlreadyExists: "มีข้อมูลสำรองชื่อ \"{name}\" นี้อยู่แล้ว กรุณาป้อนชื่ออื่นนะ"
+ applyConfirm: "คุณต้องการใช้ข้อมูลสำรอง \"{name}\" กับอุปกรณ์นี้อย่างงั้นจริงหรอ การตั้งค่าที่มีอยู่ของอุปกรณ์นี้จะถูกเขียนทับนะ"
+ saveConfirm: "บันทึกข้อมูลสำรองเป็น {name} มั้ย?"
+ deleteConfirm: "ลบข้อมูลสำรอง {name} มั้ย?"
+ renameConfirm: "เปลี่ยนชื่อข้อมูลสำรองนี้จาก \"{old}\" เป็น \"{new}\" หรือป่าว"
+ noBackups: "ไม่มีข้อมูลสำรองนะ คุณสามารถสำรองข้อมูลการตั้งค่าไคลเอนต์ของคุณบนเซิร์ฟเวอร์นี้โดยใช้ \"สร้างการสำรองข้อมูลใหม่\"ได้นะ"
+ createdAt: "สร้างเมื่อ: {date} {time}"
+ updatedAt: "อัปเดตเมื่อ: {date} {time}"
+ cannotLoad: "การโหลดล้มเหลว"
+ invalidFile: "รูปแบบไฟล์ไม่ถูกต้องนะ"
+_registry:
+ scope: "สโคป"
+ key: "คีย์"
+ keys: "คีย์"
+ domain: "โดเมน"
+ createKey: "สร้างคีย์"
+_aboutMisskey:
+ about: "Misskey เป็นซอฟต์แวร์โอเพ่นซอร์สที่ถูกพัฒนาโดย Syuilo ตั้งแต่ปี 2014"
+ contributors: "ผู้สนับสนุนหลัก"
+ allContributors: "ผู้มีส่วนร่วมทั้งหมด"
+ source: "ซอร์สโค้ด"
+ translation: "รับแปลภาษา Misskey"
+ donate: "บริจาคให้กับ Misskey"
+ morePatrons: "เราขอขอบคุณสำหรับความช่วยเหลือจากผู้ช่วยอื่นๆ ที่ไม่ได้ระบุไว้ที่นี่นะ ขอขอบคุณ! 🥰"
+ patrons: "สมาชิกพันธมิตร"
+_nsfw:
+ respect: "ซ่อนสื่อ NSFW"
+ ignore: "อย่าซ่อนสื่อ NSFW"
+ force: "ซ่อนสื่อทั้งหมด"
+_mfm:
+ cheatSheet: "โค้ด MFM Cheat Sheet"
+ intro: "MFM เป็นภาษามาร์กอัปพิเศษเฉพาะของ Misskey ที่สามารถใช้ได้ในหลายที่ คุณยังสามารถดูรายการไวยากรณ์ MFM ที่มีอยู่ทั้งหมดได้ที่นี่นะ"
+ dummy: "Misskey ขยายโลกของ Fediverse"
+ mention: "กล่าวถึง"
+ mentionDescription: "คุณสามารถระบุผู้ใช้โดยใช้ At-Symbol และชื่อผู้ใช้ได้นะ"
+ 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: "แอนิเมชั่น (Twitch)"
+ twitchDescription: "ให้เนื้อหามีแอนิเมชั่นกระตุกอย่างแรง"
+ spin: "แอนิเมชั่น (สปิน)"
+ spinDescription: "ให้เนื้อหาเป็นภาพเคลื่อนไหวแบบหมุน"
+ x2: "ขนาดใหญ่"
+ x2Description: "แสดงเนื้อหาที่ใหญ่ขึ้น"
+ x3: "ใหญ่มาก"
+ x3Description: "แสดงเนื้อหาอีเว้นท์ที่ใหญ่ขึ้น"
+ x4: "ใหญ่อย่างไม่น่าเชื่อ"
+ x4Description: "แสดงผลเนื้อหาที่ใหญ่กว่าใหญ่กว่าขนาดใหญ่"
+ blur: "เบลอ"
+ blurDescription: "เบลอเนื้อหา จะแสดงผลอย่างชัดเจนต่อเมื่อวางเมาส์เหนือ"
+ font: "ตัวอักษร"
+ fontDescription: "ตั้งค่าตัวอักษรเพื่อแสดงเนื้อหาใน"
+ rainbow: "สายรุ้ง"
+ rainbowDescription: "ทำให้เนื้อหานั้นปรากฏเป็นสีรุ้ง"
+ sparkle: "กลิตเตอร์"
+ sparkleDescription: "ให้เนื้อหานั้นมีเอฟเฟกต์แบบอนุภาคประกาย"
+ rotate: "หมุนหน้าจอ"
+ rotateDescription: "เปลี่ยนเนื้อหาตามด้วยมุมที่ระบุไว้"
+ plain: "เรียบง่าย"
+ plainDescription: "ปิดการใช้งานเอฟเฟกต์ของ MFM ทั้งหมดที่มีอยู่ในเอฟเฟกต์ MFM นี้"
+_instanceTicker:
+ none: "ไม่ต้องแสดง"
+ remote: "แสดงสำหรับผู้ใช้ระยะไกล"
+ always: "แสดงเสมอ"
+_serverDisconnectedBehavior:
+ reload: "โหลดใหม่โดยอัตโนมัติ"
+ dialog: "แสดงกล่องโต้ตอบคำเตือน"
+ quiet: "แสดงคำเตือนที่ไม่เป็นการรบกวน"
+_channel:
+ create: "สร้างแชนแนลใหม่"
+ edit: "แก้ไขแชนแนล"
+ setBanner: "เซตแบนเนอร์"
+ removeBanner: "ลบแบนเนอร์"
+ featured: "เทรนด์"
+ owned: "เจ้าของ"
+ following: "ติดตามแล้ว"
+ usersCount: "{n} ผู้เข้าร่วม"
+ notesCount: "{n} โน้ต"
+_menuDisplay:
+ sideFull: "ด้านข้าง"
+ sideIcon: "ด้านข้าง (ไอคอน)"
+ top: "ท็อป"
+ hide: "ซ่อน"
+_wordMute:
+ muteWords: "ปิดเสียงคำ"
+ muteWordsDescription: "คั่นด้วยช่องว่างสำหรับเงื่อนไข AND หรือด้วยการขึ้นบรรทัดใหม่สำหรับเงื่อนไข OR นะ"
+ muteWordsDescription2: "ล้อมรอบคีย์เวิร์ดด้วยเครื่องหมายทับเพื่อใช้นิพจน์ทั่วไป"
+ softDescription: "ซ่อนโน้ตให้ตรงตามเงื่อนไขที่ตั้งไว้จากไทม์ไลน์"
+ hardDescription: "ป้องกันไม่ให้โน้ตย่อที่ตรงตามเงื่อนไขที่ตั้งไว้ไม่ให้ถูกเพิ่มลงในไทม์ไลน์ นอกจากนี้ โน้ตเหล่านี้จะไม่ถูกเพิ่มลงในไทม์ไลน์แม้ว่าจะมีการเปลี่ยนแปลงเงื่อนไขยังไงก็ตาม"
+ soft: "ซอฟ"
+ hard: "ยาก"
+ mutedNotes: "ปิดเสียงโน้ต"
+_instanceMute:
+ instanceMuteDescription: "การดำเนินการนี้จะปิดเสียง\"โน้ต/รีโน้ต\"จากอินสแตนซ์ที่อยู่ในรายการ รวมถึงบันทึกของผู้ใช้ที่ตอบกลับผู้ใช้จากอินสแตนซ์ที่ปิดเสียง"
+ instanceMuteDescription2: "คั่นด้วยการขึ้นบรรทัดใหม่"
+ title: "ซ่อนโน้ตจากอินสแตนซ์ที่มีอยู่ในรายการ"
+ heading: "รายชื่ออินสแตนซ์ที่ถูกปิดเสียง"
+_theme:
+ explore: "สำรวจธีม"
+ install: "ติดตั้งธีม"
+ manage: "จัดการธีม"
+ code: "โค้ดธีม"
+ description: "รายละเอียด"
+ installed: "{name} ได้รับการติดตั้ง"
+ installedThemes: "ธีมที่ติดตั้ง"
+ builtinThemes: "ธีมในตัว"
+ alreadyInstalled: "ธีมนี้ได้รับการติดตั้งแล้ว"
+ invalid: "รูปแบบของธีมนี้ไม่ถูกต้องนะ"
+ make: "ทำธีม"
+ base: "ฐาน"
+ addConstant: "เพิ่มค่าคงที่"
+ constant: "ตัวแปร"
+ defaultValue: "ค่าเริ่มต้น"
+ color: "สี"
+ refProp: "อ้างอิงคุณสมบัติ"
+ refConst: "อ้างอิงค่าคงที่"
+ key: "คีย์"
+ func: "ฟังก์ชัน"
+ funcKind: "ประเภทฟังก์ชัน"
+ argument: "อากิวเม้นต์"
+ basedProp: "ทรัพย์สินอ้างอิง"
+ alpha: "ความทึบแสง"
+ darken: "มืดลง"
+ lighten: "สว่าง"
+ inputConstantName: "ป้อนชื่อสำหรับค่าคงที่นี้"
+ importInfo: "ถ้าหากต้องการป้อนโค้ดที่นี่ คุณยังสามารถนำเข้าไปยังโปรแกรมแก้ไขธีมได้"
+ deleteConstantConfirm: "คุณต้องการลบค่าคงที่ {const} หรือป่าว?"
+ keys:
+ accent: "เน้น"
+ bg: "ภาพพื้นหลัง"
+ fg: "ข้อความ"
+ focus: "โฟกัส"
+ indicator: "ตัวบ่งชี้"
+ panel: "แผงควบคุม"
+ shadow: "เงา"
+ header: "ส่วนหัว"
+ navBg: "พื้นหลังแถบด้านข้าง"
+ navFg: "ข้อความแถบด้านข้าง"
+ mention: "กล่าวถึง"
+ renote: "รีโน้ต"
+ divider: "ตัวแบ่ง"
+_sfx:
+ note: "หมายเหตุ"
+ notification: "การเเจ้งเตือน"
+ chat: "แชท"
+_widgets:
+ notifications: "การเเจ้งเตือน"
+ timeline: "ไทม์ไลน์"
+ activity: "กิจกรรม"
+ federation: "สหพันธ์"
+ jobQueue: "คิวงาน"
+_cw:
+ show: "โหลดเพิ่มเติม"
+_visibility:
+ home: "หน้าแรก"
+ followers: "ผู้ติดตาม"
+_profile:
+ name: "ชื่อ"
+ username: "ชื่อผู้ใช้"
+_exportOrImport:
+ followingList: "กำลังติดตาม"
+ muteList: "ปิดเสียง"
+ blockingList: "บล็อค"
+ userLists: "รายการ"
+_charts:
+ federation: "สหพันธ์"
+_timelines:
+ home: "หน้าแรก"
+_pages:
+ blocks:
+ image: "รูปภาพ"
+ script:
+ categories:
+ list: "รายการ"
+ blocks:
+ _join:
+ arg1: "รายการ"
+ _randomPick:
+ arg1: "รายการ"
+ _dailyRandomPick:
+ arg1: "รายการ"
+ _seedRandomPick:
+ arg2: "รายการ"
+ _pick:
+ arg1: "รายการ"
+ _listLen:
+ arg1: "รายการ"
+ types:
+ array: "รายการ"
+_notification:
+ youWereFollowed: "ได้ติดตามคุณ"
+ _types:
+ follow: "กำลังติดตาม"
+ mention: "กล่าวถึง"
+ renote: "รีโน้ต"
+ quote: "อ้างคำพูด"
+ reaction: "รีแอคชั่น"
+ _actions:
+ reply: "ตอบกลับ"
+ renote: "รีโน้ต"
+_deck:
+ _columns:
+ notifications: "การเเจ้งเตือน"
+ tl: "ไทม์ไลน์"
+ antenna: "เสาอากาศ"
+ list: "รายการ"
+ mentions: "พูดถึง"
diff --git a/locales/tr-TR.yml b/locales/tr-TR.yml
new file mode 100644
index 000000000..aecb413de
--- /dev/null
+++ b/locales/tr-TR.yml
@@ -0,0 +1,63 @@
+---
+_lang_: "Türkçe"
+introMisskey: "Açık kaynaklı bir dağıtılmış mikroblog hizmeti olan Misskey'e hoş geldiniz.\nMisskey, neler olup bittiğini paylaşmak ve herkese sizden bahsetmek için \"notlar\" oluşturmanıza olanak tanıyan, açık kaynaklı, dağıtılmış bir mikroblog hizmetidir.\nHerkesin notlarına kendi tepkilerinizi hızlıca eklemek için \"Tepkiler\" özelliğini de kullanabilirsiniz👍.\nYeni bir dünyayı keşfedin🚀."
+monthAndDay: "{month}Ay {day}Gün"
+search: "Arama"
+notifications: "Bildirim"
+username: "Kullanıcı Adı"
+password: "Şifre"
+forgotPassword: "şifremi unuttum"
+ok: "TAMAM"
+gotIt: "Anladım"
+cancel: "İptal"
+enterUsername: "Kullanıcı adınızı giriniz"
+noNotes: "Notlar mevcut değil."
+noNotifications: "Bildirim bulunmuyor"
+settings: "Ayarlar"
+basicSettings: "Temel Ayarlar"
+otherSettings: "Diğer Ayarlar"
+openInWindow: "Bir pencere ile aç"
+profile: "Profil"
+timeline: "Zaman çizelgesi"
+noAccountDescription: "Bu kullanıcı henüz biyografisini yazmadı"
+login: "Giriş Yap "
+logout: "Çıkış Yap"
+signup: "Kayıt Ol"
+uploading: "Yükleniyor"
+users: "Kullanıcı"
+addUser: "Kullanıcı Ekle"
+favorite: "Favoriler"
+favorites: "Favoriler"
+unfavorite: "Favorilerden Kaldır"
+favorited: "Favorilerime eklendi."
+alreadyFavorited: "Zaten favorilerinizde kayıtlı."
+pin: "Sabitlenmiş"
+unpin: "Sabitlemeyi kaldır"
+copyContent: "İçeriği kopyala"
+copyLink: "Bağlantıyı Kopyala"
+delete: "Sil"
+deleteAndEdit: "Sil ve yeniden düzenle"
+deleteAndEditConfirm: "Bu notu silip yeniden düzenlemek istiyor musunuz? Bu nota ilişkin tüm Tepkiler, Yeniden Notlar ve Yanıtlar da silinecektir."
+addToList: "Listeye ekle"
+sendMessage: "Mesaj Gönder"
+copyUsername: "Kullanıcı Adını Kopyala"
+searchUser: "Kullanıcıları ara"
+pinned: "Sabitlenmiş"
+remove: "Sil"
+smtpUser: "Kullanıcı Adı"
+smtpPass: "Şifre"
+user: "Kullanıcı"
+searchByGoogle: "Arama"
+_mfm:
+ search: "Arama"
+_sfx:
+ notification: "Bildirim"
+_widgets:
+ notifications: "Bildirim"
+ timeline: "Zaman çizelgesi"
+_profile:
+ username: "Kullanıcı Adı"
+_deck:
+ _columns:
+ notifications: "Bildirim"
+ tl: "Zaman çizelgesi"
diff --git a/locales/ug-CN.yml b/locales/ug-CN.yml
index cfdecfbd4..a7504542d 100644
--- a/locales/ug-CN.yml
+++ b/locales/ug-CN.yml
@@ -1,5 +1,6 @@
---
_lang_: "ياپونچە"
search: "ئىزدەش"
+searchByGoogle: "ئىزدەش"
_mfm:
search: "ئىزدەش"
diff --git a/locales/uk-UA.yml b/locales/uk-UA.yml
index 1d11bf01d..b696a58b9 100644
--- a/locales/uk-UA.yml
+++ b/locales/uk-UA.yml
@@ -1,12 +1,13 @@
---
_lang_: "Українська"
headlineMisskey: "Мережа об'єднана записами"
-introMisskey: "Ласкаво просимо! Misskey - децентралізована служба мікроблогів з відкритим кодом.\nСтворюйте \"записи\", щоб поділитися тим, що відбувається, і розповісти всім про себе 📡\nЗа допомогою \"реакцій\" ви також можете швидко висловити свої почуття щодо записів інших 👍\nДавайте досліджувати новий світ 🚀"
+introMisskey: "Ласкаво просимо! Misskey - децентралізована служба мікроблогів з відкритим кодом.\nСтворюйте \"нотатки\", щоб поділитися тим, що відбувається, і розповісти всім про себе 📡\nЗа допомогою \"реакцій\" ви також можете швидко висловити свої почуття щодо нотаток інших 👍\nДосліджуймо новий світ! 🚀"
monthAndDay: "{month}/{day}"
search: "Пошук"
notifications: "Сповіщення"
username: "Ім'я користувача"
password: "Пароль"
+forgotPassword: "Я забув пароль"
fetchingAsApObject: "Отримуємо з федіверсу..."
ok: "OK"
gotIt: "Зрозуміло!"
@@ -51,6 +52,7 @@ searchUser: "Пошук користувачів"
reply: "Відповісти"
loadMore: "Показати більше"
showMore: "Показати більше"
+showLess: "Закрити"
youGotNewFollower: "Новий підписник"
receiveFollowRequest: "Отримано запит на підписку"
followRequestAccepted: "Підписка прийнята"
@@ -80,6 +82,8 @@ somethingHappened: "Щось пішло не так"
retry: "Спробувати знову"
pageLoadError: "Помилка при завантаженні сторінки"
pageLoadErrorDescription: "Зазвичай це пов’язано з помилками мережі або кешем браузера. Очистіть кеш або почекайте трохи й спробуйте ще раз."
+serverIsDead: "Відповіді від сервера немає. Зачекайте деякий час і повторіть спробу."
+youShouldUpgradeClient: "Перезавантажте та використовуйте нову версію клієнта, щоб переглянути цю сторінку."
enterListName: "Введіть назву списку"
privacy: "Конфіденційність"
makeFollowManuallyApprove: "Підтверджувати підписників уручну"
@@ -97,12 +101,13 @@ cantRenote: "Неможливо поширити."
cantReRenote: "Поширення не можливо поширити."
quote: "Цитата"
pinnedNote: "Закріплений запис"
+pinned: "Закріпити"
you: "Ви"
clickToShow: "Натисніть для перегляду"
sensitive: "NSFW"
add: "Додати"
reaction: "Реакції"
-reactionSettingDescription: "Виберіть свої улюблені реакції, які хочете закріпити в селекторі реакцій."
+reactionSetting: "Налаштування реакцій"
reactionSettingDescription2: "Перемістити щоб змінити порядок, Клацнути мишою щоб видалити, Натиснути \"+\" щоб додати."
rememberNoteVisibility: "Пам’ятати параметри видимісті"
attachCancel: "Видалити вкладення"
@@ -126,6 +131,7 @@ editWidgets: "Редагувати віджети"
editWidgetsExit: "Готово"
customEmojis: "Кастомні емоджі"
emoji: "Емоджі"
+emojis: "Емоджі"
emojiName: "Назва емоджі"
emojiUrl: "URL емодзі"
addEmoji: "Додати емодзі"
@@ -136,8 +142,10 @@ flagAsBot: "Акаунт бота"
flagAsBotDescription: "Ввімкніть якщо цей обліковий запис використовується ботом. Ця опція позначить обліковий запис як бота. Це потрібно щоб виключити безкінечну інтеракцію між ботами а також відповідного підлаштування Misskey."
flagAsCat: "Акаунт кота"
flagAsCatDescription: "Ввімкніть, щоб позначити, що обліковий запис є котиком."
+flagShowTimelineReplies: "Показувати відповіді на нотатки на часовій шкалі"
+flagShowTimelineRepliesDescription: "Показує відповіді користувачів на нотатки інших користувачів на часовій шкалі."
autoAcceptFollowed: "Автоматично приймати запити на підписку від користувачів, на яких ви підписані"
-addAcount: "Додати акаунт"
+addAccount: "Додати акаунт"
loginFailed: "Не вдалося увійти"
showOnRemote: "Переглянути в оригіналі"
general: "Загальне"
@@ -148,6 +156,7 @@ searchWith: "Пошук: {q}"
youHaveNoLists: "У вас немає списків"
followConfirm: "Підписатися на {name}?"
proxyAccount: "Проксі-акаунт"
+proxyAccountDescription: "Обліковий запис проксі – це обліковий запис, який діє як віддалений підписник для користувачів за певних умов. Наприклад, коли користувач додає віддаленого користувача до списку, активність віддаленого користувача не буде доставлена на сервер, якщо жоден локальний користувач не стежить за цим користувачем, то замість нього буде використовуватися обліковий запис проксі-сервера."
host: "Хост"
selectUser: "Виберіть користувача"
recipient: "Отримувач"
@@ -229,6 +238,8 @@ resetAreYouSure: "Справді скинути?"
saved: "Збережено"
messaging: "Чати"
upload: "Завантажити"
+keepOriginalUploading: "Зберегти оригінальне зображення"
+keepOriginalUploadingDescription: "Зберігає початково завантажене зображення як є. Якщо вимкнено, версія для відображення в Інтернеті буде створена під час завантаження."
fromDrive: "З диска"
fromUrl: "З посилання"
uploadFromUrl: "Завантажити з посилання"
@@ -236,7 +247,6 @@ uploadFromUrlDescription: "Посилання на файл для завант
uploadFromUrlRequested: "Завантаження розпочалось"
uploadFromUrlMayTakeTime: "Завантаження може зайняти деякий час."
explore: "Огляд"
-games: "Ігри Misskey"
messageRead: "Прочитано"
noMoreHistory: "Подальшої історії немає"
startMessaging: "Розпочати діалог"
@@ -276,6 +286,7 @@ emptyDrive: "Диск порожній"
emptyFolder: "Тека порожня"
unableToDelete: "Видалення неможливе"
inputNewFileName: "Введіть ім'я нового файлу"
+inputNewDescription: "Введіть новий заголовок"
inputNewFolderName: "Введіть ім'я нової теки"
circularReferenceFolder: "Ви намагаєтесь перемістити папку в її підпапку."
hasChildFilesOrFolders: "Ця тека не порожня і не може бути видалена"
@@ -307,21 +318,20 @@ monthX: "{month}"
yearX: "{year}"
pages: "Сторінки"
integration: "Інтеграція"
-connectSerice: "Під’єднати"
-disconnectSerice: "Відключитися"
+connectService: "Під’єднати"
+disconnectService: "Відключитися"
enableLocalTimeline: "Увімкнути локальну стрічку"
enableGlobalTimeline: "Увімкнути глобальну стрічку"
disablingTimelinesInfo: "Адміністратори та модератори завжди мають доступ до всіх стрічок, навіть якщо вони вимкнуті."
registration: "Реєстрація"
enableRegistration: "Дозволити реєстрацію"
invite: "Запросити"
-proxyRemoteFiles: "Проксувати файли з інших інстансів"
-proxyRemoteFilesDescription: "При увімкненні віддалені файли, які не зберігаються локально або були видалені через недостатнії обсяг пам'яті, будуть локально проксовані включаючи обкладинки. Це налаштування не впливає на пам'ять серверу. "
driveCapacityPerLocalAccount: "Об'єм диска на одного локального користувача"
driveCapacityPerRemoteAccount: "Об'єм диска на одного віддаленого користувача"
inMb: "В мегабайтах"
iconUrl: "URL аватара"
bannerUrl: "URL банера"
+backgroundImageUrl: "URL-адреса фонового зображення"
basicInfo: "Основна інформація"
pinnedUsers: "Закріплені користувачі"
pinnedUsersDescription: "Впишіть в список користувачів, яких хочете закріпити на сторінці \"Знайти\", ім'я в стовпчик."
@@ -337,6 +347,7 @@ recaptcha: "reCAPTCHA"
enableRecaptcha: "Увімкнути reCAPTCHA"
recaptchaSiteKey: "Ключ сайту"
recaptchaSecretKey: "Секретний ключ"
+avoidMultiCaptchaConfirm: "Використання кількох систем Captcha може спричинити перешкоди між ними. Бажаєте вимкнути інші активні системи Captcha? Якщо ви хочете, щоб вони залишалися ввімкненими, натисніть «Скасувати»."
antennas: "Антени"
manageAntennas: "Налаштування антен"
name: "Ім'я"
@@ -346,7 +357,6 @@ antennaExcludeKeywords: "Винятки"
antennaKeywordsDescription: "Розділення ключових слів пробілами для \"І\" або з нової лінійки для \"АБО\""
notifyAntenna: "Сповіщати про нові нотатки"
withFileAntenna: "Тільки нотатки з вкладеними файлами"
-serviceworker: "ServiceWorker"
enableServiceworker: "Ввімкнути ServiceWorker"
antennaUsersDescription: "Список імя користувачів в стопчик"
caseSensitive: "З урахуванням регістру"
@@ -411,7 +421,6 @@ next: "Далі"
retype: "Введіть ще раз"
noteOf: "Нотатка {user}"
inviteToGroup: "Запрошення до групи"
-maxNoteTextLength: "Максимальна довжина нотатки"
quoteAttached: "Цитата"
quoteQuestion: "Ви хочете додати цитату?"
noMessagesYet: "Ще немає повідомлень"
@@ -435,10 +444,12 @@ signinWith: "Увійти за допомогою {x}"
signinFailed: "Не вдалося увійти. Введені ім’я користувача або пароль неправильнi."
tapSecurityKey: "Торкніться ключа безпеки"
or: "або"
+language: "Мова"
uiLanguage: "Мова інтерфейсу"
groupInvited: "Запрошення до групи"
aboutX: "Про {x}"
useOsNativeEmojis: "Використовувати емодзі ОС"
+disableDrawer: "Не використовувати висувні меню"
youHaveNoGroups: "Немає груп"
joinOrCreateGroup: "Отримуйте запрошення до груп або створюйте свої власні групи."
noHistory: "Історія порожня"
@@ -449,7 +460,7 @@ category: "Категорія"
tags: "Теги"
docSource: "Джерело цього документа"
createAccount: "Створити акаунт"
-existingAcount: "Існуючий акаунт"
+existingAccount: "Існуючий обліковий запис"
regenerate: "Оновити"
fontSize: "Розмір шрифту"
noFollowRequests: "Немає запитів на підписку"
@@ -471,6 +482,7 @@ showFeaturedNotesInTimeline: "Показувати популярні нотат
objectStorage: "Object Storage"
useObjectStorage: "Використовувати object storage"
objectStorageBaseUrl: "Base URL"
+objectStorageBaseUrlDesc: "Це початкова частина адреси, що використовується CDN або проксі, наприклад для S3: https://.s3.amazonaws.com, або GCS: 'https://storage.googleapis.com/'"
objectStorageBucket: "Bucket"
objectStorageBucketDesc: "Будь ласка вкажіть назву відра в налаштованому сервісі."
objectStoragePrefix: "Prefix"
@@ -521,10 +533,11 @@ removeAllFollowing: "Скасувати всі підписки"
removeAllFollowingDescription: "Скасувати підписку на всі акаунти з {host}. Будь ласка, робіть це, якщо інстанс більше не існує."
userSuspended: "Обліковий запис заблокований."
userSilenced: "Обліковий запис приглушений."
-sidebar: "Бокова панель"
+yourAccountSuspendedTitle: "Цей обліковий запис заблоковано"
+yourAccountSuspendedDescription: "Цей обліковий запис було заблоковано через порушення умов надання послуг сервера. Зв'яжіться з адміністратором, якщо ви хочете дізнатися докладнішу причину. Будь ласка, не створюйте новий обліковий запис."
+menu: "Меню"
divider: "Розділювач"
addItem: "Додати елемент"
-rooms: "Кімнати"
relays: "Ретранслятори"
addRelay: "Додати ретранслятор"
inboxUrl: "Inbox URL"
@@ -541,11 +554,12 @@ disablePlayer: "Закрити відеоплеєр"
expandTweet: "Розгорнути твіт"
themeEditor: "Редактор тем"
description: "Опис"
+describeFile: "Додати підпис"
+enterFileDescription: "Введіть підпис"
author: "Автор"
leaveConfirm: "Зміни не збережені. Ви дійсно хочете скасувати зміни?"
manage: "Управління"
plugins: "Плагіни"
-pluginInstallWarn: "Будь ласка не встановлюйте плагінів яким ви не довіряєте."
deck: "Дек"
undeck: "Залишити Дек"
useBlurEffectForModal: "Ефект розмиття під модальними діалогами"
@@ -564,7 +578,7 @@ pluginTokenRequestedDescription: "Цей плагін зможе викорис
notificationType: "Тип сповіщення"
edit: "Редагувати"
useStarForReactionFallback: "Використовувати ★ як запасний варіант, якщо емодзі реакції невідомий"
-emailConfig: "Налаштування email сервера"
+emailServer: "Сервер електронної пошти"
enableEmail: "Увімкнути функцію доставки пошти"
emailConfigInfo: "Використовується для підтвердження електронної пошти підчас реєстрації, а також для відновлення паролю."
email: "E-mail"
@@ -579,6 +593,9 @@ smtpSecure: "Використовувати безумовне шифруван
smtpSecureInfo: "Вимкніть при використанні STARTTLS "
testEmail: "Тестовий email"
wordMute: "Блокування слів"
+regexpError: "Помилка регулярного виразу"
+regexpErrorDescription: "Сталася помилка в регулярному виразі в рядку {line} вашого слова {tab} слова що ігноруються:"
+instanceMute: "Приглушення інстансів"
userSaysSomething: "{name} щось сказав(ла)"
makeActive: "Активувати"
display: "Відображення"
@@ -599,7 +616,6 @@ regenerateLoginToken: "Оновити Login Token"
regenerateLoginTokenDescription: "Регенерувати внутрішній ключ використовуваний під час входу. Зазвичай цього не потрібно робити. При регенерації всі пристрої вийдуть з системи."
setMultipleBySeparatingWithSpace: "Можна вказати кілька значень, відділивши їх пробілом."
fileIdOrUrl: "Ідентифікатор файлу або посилання"
-chatOpenBehavior: "Поводження вікна переписки під час відкриття"
behavior: "Поведінка"
sample: "Приклад"
abuseReports: "Скарги"
@@ -607,6 +623,11 @@ reportAbuse: "Поскаржитись"
reportAbuseOf: "Поскаржитись на {name}"
fillAbuseReportDescription: "Будь ласка вкажіть подробиці скарги. Якщо скарга стосується запису, вкажіть посилання на нього."
abuseReported: "Дякуємо, вашу скаргу було відправлено. "
+reporter: "Репортер"
+reporteeOrigin: "Про кого повідомлено"
+reporterOrigin: "Хто повідомив"
+forwardReport: "Переслати звіт на віддалений інстанс"
+forwardReportIsAnonymous: "Замість вашого облікового запису анонімний системний обліковий запис буде відображатися як доповідач на віддаленому інстансі"
send: "Відправити"
abuseMarkAsResolved: "Позначити скаргу як вирішену"
openInNewTab: "Відкрити в новій вкладці"
@@ -654,7 +675,6 @@ emailVerified: "Електронну пошту підтверджено."
noteFavoritesCount: "Кількість улюблених нотаток"
pageLikesCount: "Кількість отриманих вподобань сторінки"
pageLikedCount: "Кількість вподобаних сторінок"
-reversiCount: "Кількість матчів \"Реверсі\""
contact: "Контакт"
useSystemFont: "Використовувати стандартний шрифт системи"
clips: "Добірка"
@@ -669,6 +689,7 @@ center: "Центр"
wide: "Широкий"
narrow: "Вузький"
reloadToApplySetting: "Налаштування ввійде в дію при перезавантаженні. Перезавантажити?"
+needReloadToApply: "Зміни набудуть чинності після перезавантаження сторінки."
showTitlebar: "Показати титульний рядок"
clearCache: "Очистити кеш"
onlineUsersCount: "{n} користувачів онлайн"
@@ -683,12 +704,54 @@ textColor: "Текст"
saveAs: "Зберегти як…"
advanced: "Розширені"
value: "Значення"
+createdAt: "Створено"
updatedAt: "Останнє оновлення"
saveConfirm: "Зберегти зміни?"
deleteConfirm: "Ви дійсно бажаєте це видалити?"
invalidValue: "Некоректне значення."
registry: "Реєстр"
closeAccount: "Закрити обліковий запис"
+currentVersion: "Версія, що використовується"
+latestVersion: "Сама свіжа версія"
+youAreRunningUpToDateClient: "У вас найсвіжіша версія клієнта."
+newVersionOfClientAvailable: "Доступніша свіжа версія клієнта."
+usageAmount: "Використане"
+capacity: "Ємність"
+inUse: "Зайнято"
+editCode: "Редагувати вихідний текст"
+apply: "Застосувати"
+receiveAnnouncementFromInstance: "Отримувати оповіщення з інстансу"
+emailNotification: "Сповіщення електронною поштою"
+publish: "Опублікувати"
+inChannelSearch: "Пошук за каналом"
+useReactionPickerForContextMenu: "Відкривати палітру реакцій правою кнопкою"
+typingUsers: "Стук клавіш. Це {users}…"
+goBack: "Назад"
+info: "Інформація"
+user: "Користувачі"
+administration: "Управління"
+expiration: "Опитування закінчується"
+middle: "Середній"
+global: "Глобальна"
+sent: "Відправити"
+hashtags: "Хештеґ"
+hide: "Сховати"
+searchByGoogle: "Пошук"
+indefinitely: "Ніколи"
+file: "Файли"
+reverse: "Перевернути"
+colored: "Кольоровий"
+label: "Назва"
+localOnly: "Локально"
+_ffVisibility:
+ public: "Опублікувати"
+_ad:
+ back: "Назад"
+_gallery:
+ unlike: "Не вподобати"
+_email:
+ _follow:
+ title: "Новий підписник"
_registry:
key: "Ключ"
keys: "Ключі"
@@ -761,37 +824,7 @@ _mfm:
blurDescription: "Цей ефект зробить контент розмитим. Контент можна зробити чітким, якщо навести на нього вказівник миші."
font: "Шрифт"
fontDescription: "Встановлює шрифт для контенту."
-_reversi:
- reversi: "Реверсі"
- gameSettings: "Налаштування гри"
- chooseBoard: "Вибір дошки"
- blackOrWhite: "Чорні / Білі"
- blackIs: "{name} грає чорними"
- rules: "Правила"
- botSettings: "Параметри бота"
- thisGameIsStartedSoon: "Гра розпочнеться через кілька секунд"
- waitingForOther: "Чекаємо на хід суперника"
- waitingForMe: "Чекаємо на ваш хід"
- waitingBoth: "Приготуйтесь"
- ready: "Готовність"
- cancelReady: "Скасувати готовність"
- opponentTurn: "Хід суперника"
- myTurn: "Ваш хід"
- turnOf: "Хід {name}"
- pastTurnOf: "Хід {name}"
- surrender: "Здатися"
- drawn: "Нічия"
- won: "Перемога {name}"
- black: "Чорні"
- white: "Білі"
- total: "Всього"
- turnCount: "Хід {count}"
- myGames: "Мої ігри"
- allGames: "Усі ігри"
- ended: "Завершено"
- playing: "В даний момент у процесі гри"
- isLlotheo: "Гравець з найменшою кількістю фігур виграє (Llotheo)"
- canPutEverywhere: "Фігури можна ставити в будь якії позиції"
+ rotate: "Обертати"
_instanceTicker:
none: "Не відображати"
remote: "Відображати для віддалених користувачів"
@@ -809,9 +842,7 @@ _channel:
following: "Підписки"
usersCount: "{n} учасників"
notesCount: "{n} дописів"
-_sidebar:
- full: "Повна"
- icon: "Аватар"
+_menuDisplay:
hide: "Сховати"
_wordMute:
muteWords: "Заглушені слова"
@@ -827,6 +858,7 @@ _theme:
install: "Встановити тему"
manage: "Керування темами"
code: "Код теми"
+ description: "Опис"
installed: "Тему {name} встановлено"
installedThemes: "Встановлені теми"
builtinThemes: "Вбудоваі теми"
@@ -892,10 +924,7 @@ _sfx:
chatBg: "Чати (фон)"
antenna: "Прийом антени"
channel: "Повідомлення каналу"
- reversiPutBlack: "Реверсі: хід Чорного"
- reversiPutWhite: "Реверсі: хід Білого"
_ago:
- unknown: "Невідомо"
future: "Майбутнє"
justNow: "Щойно"
secondsAgo: "{n}с тому"
@@ -979,6 +1008,7 @@ _weekday:
friday: "П'ятниця"
saturday: "Субота"
_widgets:
+ memo: "Нагадування"
notifications: "Сповіщення"
timeline: "Стрічка"
calendar: "Календар"
@@ -992,7 +1022,10 @@ _widgets:
postForm: "Створення нотатки"
slideshow: "Слайд-шоу"
button: "Кнопка"
+ onlineUsers: "Користувачі онлайн"
jobQueue: "Черга завдань"
+ serverMetric: "Показники сервера "
+ aiscript: "Консоль AiScript"
_cw:
hide: "Сховати"
show: "Показати більше"
@@ -1000,10 +1033,13 @@ _cw:
files: "{count} файлів"
_poll:
noOnlyOneChoice: "Потрібні принаймні два варіанти."
+ choiceN: "Варіант {n}"
noMore: "Більше варіантів додати не можна"
canMultipleVote: "Можна вибрати кілька варіантів"
expiration: "Опитування закінчується"
infinite: "Ніколи"
+ at: "На даті..."
+ after: "Через..."
deadlineDate: "Дата закінчення"
deadlineTime: "г"
duration: "Тривалість"
@@ -1058,7 +1094,8 @@ _exportOrImport:
blockingList: "Заблокувати"
userLists: "Списки"
_charts:
- federationInstancesTotal: "Загальна кількість федеративних інстансів"
+ federation: "Федіверс"
+ apRequest: "Запити"
usersTotal: "Загальна кількість користувачів"
activeUsers: "Активні користувачі"
notesTotal: "Загальна кількість нотаток"
@@ -1079,68 +1116,6 @@ _timelines:
local: "Локальна"
social: "Соціальна"
global: "Глобальна"
-_rooms:
- roomOf: "Кімната {user}"
- addFurniture: "Розмістити меблі"
- translate: "Пересунути"
- rotate: "Обертати"
- exit: "Назад"
- remove: "Видалити"
- clear: "Видалити все"
- clearConfirm: "Ви дійсно хочете позбутись усіх речей у вашій кімнаті?"
- leaveConfirm: "Є незбережені зміни. Ви дійсно хочете вийти?"
- chooseImage: "Виберіть зображення"
- roomType: "Тип кімнати"
- carpetColor: "Колір килима"
- _roomType:
- default: "За замовчуванням"
- washitsu: "В японському стилі"
- _furnitures:
- milk: "Пакет молока"
- bed: "Ліжко"
- low-table: "Журнальний стіл"
- desk: "Письмовий стіл"
- chair: "Стілець"
- chair2: "Стілець 2"
- fan: "Вентилятор"
- pc: "Комп’ютер"
- plant: "Кімнатна рослина"
- plant2: "Кімнатна рослина 2"
- eraser: "Ластик"
- pencil: "Олівець"
- pudding: "Пудинг"
- cardboard-box: "Картонна коробка"
- cardboard-box2: "Картонна коробка 2"
- cardboard-box3: "Картонна коробка 3"
- book: "Книга"
- book2: "Книга 2"
- piano: "Піаніно"
- facial-tissue: "Серветки"
- server: "Сервер"
- moon: "Місяць"
- corkboard: "Коркова дошка"
- mousepad: "Килимок для миші"
- monitor: "Монітор"
- keyboard: "Клавіатура"
- carpet-stripe: "Смугастий килим"
- mat: "Мат"
- color-box: "Книжкова полиця"
- wall-clock: "Настінний годинник"
- photoframe: "Фоторамка"
- cube: "Куб"
- tv: "Телевізор"
- pinguin: "Пінгвін"
- rubik-cube: "Кубик Рубіка"
- poster-h: "Плакат (горизонтальний)"
- poster-v: "Плакат (вертикальний)"
- sofa: "Диван"
- spiral: "Гвинтові сходи"
- bin: "Смітник"
- cup-noodle: "Локшина в чашці"
- holo-display: "Голографічний дисплей"
- energy-drink: "Енергетичний напій"
- doll-ai: "Лялька Аі-тян"
- banknote: "Пачка грошей"
_pages:
newPage: "Створити сторінку"
editPage: "Редагувати сторінку"
@@ -1459,11 +1434,12 @@ _notification:
followRequestAccepted: "Прийняті підписки"
groupInvited: "Запрошення до груп"
app: "Сповіщення від додатків"
+ _actions:
+ reply: "Відповісти"
+ renote: "Поширити"
_deck:
alwaysShowMainColumn: "Завжди показувати головну колонку"
columnAlign: "Вирівняти стовпці"
- columnMargin: "Відступ між стовпцями"
- columnHeaderHeight: "Висота заголовку колони"
addColumn: "Додати стовпець"
swapLeft: "Пересунути ліворуч"
swapRight: "Пересунути праворуч"
diff --git a/locales/vi-VN.yml b/locales/vi-VN.yml
new file mode 100644
index 000000000..3cac0585a
--- /dev/null
+++ b/locales/vi-VN.yml
@@ -0,0 +1,1744 @@
+---
+_lang_: "Tiếng Việt"
+headlineMisskey: "Mạng xã hội liên hợp"
+introMisskey: "Xin chào! Misskey là một nền tảng tiểu blog phi tập trung mã nguồn mở.\nViết \"tút\" để chia sẻ những suy nghĩ của bạn 📡\nBằng \"biểu cảm\", bạn có thể bày tỏ nhanh chóng cảm xúc của bạn với các tút 👍\nHãy khám phá một thế giới mới! 🚀"
+monthAndDay: "{day} tháng {month}"
+search: "Tìm kiếm"
+notifications: "Thông báo"
+username: "Tên người dùng"
+password: "Mật khẩu"
+forgotPassword: "Quên mật khẩu"
+fetchingAsApObject: "Đang nạp dữ liệu từ Fediverse..."
+ok: "Đồng ý"
+gotIt: "Đã hiểu!"
+cancel: "Hủy"
+enterUsername: "Nhập tên người dùng"
+renotedBy: "Chia sẻ bởi {user}"
+noNotes: "Chưa có tút nào."
+noNotifications: "Không có thông báo"
+instance: "Máy chủ"
+settings: "Cài đặt"
+basicSettings: "Thiết lập chung"
+otherSettings: "Thiết lập khác"
+openInWindow: "Mở trong cửa sổ mới"
+profile: "Trang cá nhân"
+timeline: "Bảng tin"
+noAccountDescription: "Người này chưa viết mô tả."
+login: "Đăng nhập"
+loggingIn: "Đang đăng nhập..."
+logout: "Đăng xuất"
+signup: "Đăng ký"
+uploading: "Đang tải lên…"
+save: "Lưu"
+users: "Người dùng"
+addUser: "Thêm người dùng"
+favorite: "Thêm vào yêu thích"
+favorites: "Lượt thích"
+unfavorite: "Bỏ thích"
+favorited: "Đã thêm vào yêu thích."
+alreadyFavorited: "Đã thêm vào yêu thích rồi."
+cantFavorite: "Không thể thêm vào yêu thích."
+pin: "Ghim"
+unpin: "Bỏ ghim"
+copyContent: "Chép nội dung"
+copyLink: "Chép liên kết"
+delete: "Xóa"
+deleteAndEdit: "Sửa"
+deleteAndEditConfirm: "Bạn có chắc muốn sửa tút này? Những biểu cảm, lượt trả lời và đăng lại sẽ bị mất."
+addToList: "Thêm vào danh sách"
+sendMessage: "Gửi tin nhắn"
+copyUsername: "Chép tên người dùng"
+searchUser: "Tìm kiếm người dùng"
+reply: "Trả lời"
+loadMore: "Tải thêm"
+showMore: "Xem thêm"
+showLess: "Đóng"
+youGotNewFollower: "đã theo dõi bạn"
+receiveFollowRequest: "Đã yêu cầu theo dõi"
+followRequestAccepted: "Đã chấp nhận yêu cầu theo dõi"
+mention: "Nhắc đến"
+mentions: "Lượt nhắc"
+directNotes: "Nhắn riêng"
+importAndExport: "Nhập và xuất dữ liệu"
+import: "Nhập dữ liệu"
+export: "Xuất dữ liệu"
+files: "Tập tin"
+download: "Tải xuống"
+driveFileDeleteConfirm: "Bạn có chắc muốn xóa tập tin \"{name}\"? Tút liên quan cũng sẽ bị xóa theo."
+unfollowConfirm: "Bạn có chắc muốn ngưng theo dõi {name}?"
+exportRequested: "Đang chuẩn bị xuất tập tin. Quá trình này có thể mất ít phút. Nó sẽ được tự động thêm vào Drive sau khi hoàn thành."
+importRequested: "Bạn vừa yêu cầu nhập dữ liệu. Quá trình này có thể mất ít phút."
+lists: "Danh sách"
+noLists: "Bạn chưa có danh sách nào"
+note: "Tút"
+notes: "Tút"
+following: "Đang theo dõi"
+followers: "Người theo dõi"
+followsYou: "Theo dõi bạn"
+createList: "Tạo danh sách"
+manageLists: "Quản lý danh sách"
+error: "Lỗi"
+somethingHappened: "Xảy ra lỗi"
+retry: "Thử lại"
+pageLoadError: "Xảy ra lỗi khi tải trang."
+pageLoadErrorDescription: "Có thể là do bộ nhớ đệm của trình duyệt. Hãy thử xóa bộ nhớ đệm và thử lại sau ít phút."
+serverIsDead: "Máy chủ không phản hồi. Vui lòng thử lại sau giây lát."
+youShouldUpgradeClient: "Để xem trang này, hãy làm tươi để cập nhật ứng dụng."
+enterListName: "Đặt tên cho danh sách"
+privacy: "Bảo mật"
+makeFollowManuallyApprove: "Yêu cầu theo dõi cần được duyệt"
+defaultNoteVisibility: "Kiểu tút mặc định"
+follow: "Đang theo dõi"
+followRequest: "Gửi yêu cầu theo dõi"
+followRequests: "Yêu cầu theo dõi"
+unfollow: "Ngưng theo dõi"
+followRequestPending: "Yêu cầu theo dõi đang chờ"
+enterEmoji: "Chèn emoji"
+renote: "Đăng lại"
+unrenote: "Hủy đăng lại"
+renoted: "Đã đăng lại."
+cantRenote: "Không thể đăng lại tút này."
+cantReRenote: "Không thể đăng lại một tút đăng lại."
+quote: "Trích dẫn"
+pinnedNote: "Tút ghim"
+pinned: "Ghim"
+you: "Bạn"
+clickToShow: "Nhấn để xem"
+sensitive: "Nhạy cảm"
+add: "Thêm"
+reaction: "Biểu cảm"
+reactionSetting: "Chọn những biểu cảm hiển thị"
+reactionSettingDescription2: "Kéo để sắp xếp, nhấn để xóa, nhấn \"+\" để thêm."
+rememberNoteVisibility: "Lưu kiểu tút mặc định"
+attachCancel: "Gỡ tập tin đính kèm"
+markAsSensitive: "Đánh dấu là nhạy cảm"
+unmarkAsSensitive: "Bỏ đánh dấu nhạy cảm"
+enterFileName: "Nhập tên tập tin"
+mute: "Ẩn"
+unmute: "Bỏ ẩn"
+block: "Chặn"
+unblock: "Bỏ chặn"
+suspend: "Vô hiệu hóa"
+unsuspend: "Bỏ vô hiệu hóa"
+blockConfirm: "Bạn có chắc muốn chặn người này?"
+unblockConfirm: "Bạn có chắc muốn bỏ chặn người này?"
+suspendConfirm: "Bạn có chắc muốn vô hiệu hóa người này?"
+unsuspendConfirm: "Bạn có chắc muốn bỏ vô hiệu hóa người này?"
+selectList: "Chọn danh sách"
+selectAntenna: "Chọn một antenna"
+selectWidget: "Chọn tiện ích"
+editWidgets: "Sửa tiện ích"
+editWidgetsExit: "Xong"
+customEmojis: "Tùy chỉnh emoji"
+emoji: "Emoji"
+emojis: "Emoji"
+emojiName: "Tên emoji"
+emojiUrl: "URL Emoji"
+addEmoji: "Thêm emoji"
+settingGuide: "Cài đặt đề xuất"
+cacheRemoteFiles: "Tập tin cache từ xa"
+cacheRemoteFilesDescription: "Khi tùy chọn này bị tắt, các tập tin từ xa sẽ được tải trực tiếp từ máy chủ khác. Điều này sẽ giúp giảm dung lượng lưu trữ nhưng lại tăng lưu lượng truy cập, vì hình thu nhỏ sẽ không được tạo."
+flagAsBot: "Đánh dấu đây là tài khoản bot"
+flagAsBotDescription: "Bật tùy chọn này nếu tài khoản này được kiểm soát bởi một chương trình. Nếu được bật, nó sẽ được đánh dấu để các nhà phát triển khác ngăn chặn chuỗi tương tác vô tận với các bot khác và điều chỉnh hệ thống nội bộ của Misskey để coi tài khoản này như một bot."
+flagAsCat: "Tài khoản này là mèo"
+flagAsCatDescription: "Bật tùy chọn này để đánh dấu tài khoản là một con mèo."
+flagShowTimelineReplies: "Hiện lượt trả lời trong bảng tin"
+flagShowTimelineRepliesDescription: "Hiện lượt trả lời của người bạn theo dõi trên tút của những người khác."
+autoAcceptFollowed: "Tự động phê duyệt theo dõi từ những người mà bạn đang theo dõi"
+addAccount: "Thêm tài khoản"
+loginFailed: "Đăng nhập không thành công"
+showOnRemote: "Truy cập trang của người này"
+general: "Tổng quan"
+wallpaper: "Ảnh bìa"
+setWallpaper: "Đặt ảnh bìa"
+removeWallpaper: "Xóa ảnh bìa"
+searchWith: "Tìm kiếm: {q}"
+youHaveNoLists: "Bạn chưa có danh sách nào"
+followConfirm: "Bạn có chắc muốn theo dõi {name}?"
+proxyAccount: "Tài khoản proxy"
+proxyAccountDescription: "Tài khoản proxy là tài khoản hoạt động như một người theo dõi từ xa cho người dùng trong những điều kiện nhất định. Ví dụ: khi người dùng thêm người dùng từ xa vào danh sách, hoạt động của người dùng từ xa sẽ không được chuyển đến phiên bản nếu không có người dùng cục bộ nào theo dõi người dùng đó, vì vậy tài khoản proxy sẽ theo dõi."
+host: "Host"
+selectUser: "Chọn người dùng"
+recipient: "Người nhận"
+annotation: "Bình luận"
+federation: "Liên hợp"
+instances: "Máy chủ"
+registeredAt: "Đăng ký vào"
+latestRequestSentAt: "Yêu cầu cuối gửi lúc"
+latestRequestReceivedAt: "Yêu cầu cuối nhận lúc"
+latestStatus: "Trạng thái cuối cùng"
+storageUsage: "Dung lượng lưu trữ"
+charts: "Đồ thị"
+perHour: "Mỗi Giờ"
+perDay: "Mỗi Ngày"
+stopActivityDelivery: "Ngưng gửi hoạt động"
+blockThisInstance: "Chặn máy chủ này"
+operations: "Vận hành"
+software: "Phần mềm"
+version: "Phiên bản"
+metadata: "Metadata"
+withNFiles: "{n} tập tin"
+monitor: "Giám sát"
+jobQueue: "Công việc chờ xử lý"
+cpuAndMemory: "CPU và Dung lượng"
+network: "Mạng"
+disk: "Ổ đĩa"
+instanceInfo: "Thông tin máy chủ"
+statistics: "Thống kê"
+clearQueue: "Xóa hàng đợi"
+clearQueueConfirmTitle: "Bạn có chắc muốn xóa hàng đợi?"
+clearQueueConfirmText: "Mọi tút chưa được gửi còn lại trong hàng đợi sẽ không được liên hợp. Thông thường thao tác này không cần thiết."
+clearCachedFiles: "Xóa bộ nhớ đệm"
+clearCachedFilesConfirm: "Bạn có chắc muốn xóa sạch bộ nhớ đệm?"
+blockedInstances: "Máy chủ đã chặn"
+blockedInstancesDescription: "Danh sách những máy chủ bạn muốn chặn. Chúng sẽ không thể giao tiếp với máy chủy này nữa."
+muteAndBlock: "Ẩn và Chặn"
+mutedUsers: "Người đã ẩn"
+blockedUsers: "Người đã chặn"
+noUsers: "Chưa có ai"
+editProfile: "Sửa hồ sơ"
+noteDeleteConfirm: "Bạn có chắc muốn xóa tút này?"
+pinLimitExceeded: "Bạn đã đạt giới hạn số lượng tút có thể ghim"
+intro: "Đã cài đặt Misskey! Xin hãy tạo tài khoản admin."
+done: "Xong"
+processing: "Đang xử lý"
+preview: "Xem trước"
+default: "Mặc định"
+defaultValueIs: "Mặc định: {value}"
+noCustomEmojis: "Không có emoji"
+noJobs: "Không có công việc"
+federating: "Đang liên hợp"
+blocked: "Đã chặn"
+suspended: "Đã vô hiệu hóa"
+all: "Tất cả"
+subscribing: "Đang đăng ký"
+publishing: "Đang đăng"
+notResponding: "Không có phản hồi"
+instanceFollowing: "Đang theo dõi máy chủ"
+instanceFollowers: "Người theo dõi của máy chủ"
+instanceUsers: "Người dùng trên máy chủ này"
+changePassword: "Đổi mật khẩu"
+security: "Bảo mật"
+retypedNotMatch: "Mật khẩu không trùng khớp."
+currentPassword: "Mật khẩu hiện tại"
+newPassword: "Mật khẩu mới"
+newPasswordRetype: "Nhập lại mật khẩu mới"
+attachFile: "Đính kèm tập tin"
+more: "Thêm nữa!"
+featured: "Nổi bật"
+usernameOrUserId: "Tên người dùng hoặc ID"
+noSuchUser: "Không tìm thấy người dùng"
+lookup: "Tìm kiếm"
+announcements: "Thông báo"
+imageUrl: "URL ảnh"
+remove: "Xóa"
+removed: "Đã xóa"
+removeAreYouSure: "Bạn có chắc muốn gỡ \"{x}\"?"
+deleteAreYouSure: "Bạn có chắc muốn xóa \"{x}\"?"
+resetAreYouSure: "Bạn có chắc muốn đặt lại?"
+saved: "Đã lưu"
+messaging: "Trò chuyện"
+upload: "Tải lên"
+keepOriginalUploading: "Giữ hình ảnh gốc"
+keepOriginalUploadingDescription: "Giữ nguyên như hình ảnh được tải lên ban đầu. Nếu tắt, một phiên bản để hiển thị trên web sẽ được tạo khi tải lên."
+fromDrive: "Từ ổ đĩa"
+fromUrl: "Từ URL"
+uploadFromUrl: "Tải lên bằng một URL"
+uploadFromUrlDescription: "URL của tập tin bạn muốn tải lên"
+uploadFromUrlRequested: "Đã yêu cầu tải lên"
+uploadFromUrlMayTakeTime: "Sẽ mất một khoảng thời gian để tải lên xong."
+explore: "Khám phá"
+messageRead: "Đã đọc"
+noMoreHistory: "Không còn gì để đọc"
+startMessaging: "Bắt đầu trò chuyện"
+nUsersRead: "đọc bởi {n}"
+agreeTo: "Tôi đồng ý {0}"
+tos: "Điều khoản dịch vụ"
+start: "Bắt đầu"
+home: "Trang chính"
+remoteUserCaution: "Vì người dùng này ở máy chủ khác, thông tin hiển thị có thể không đầy đủ."
+activity: "Hoạt động"
+images: "Hình ảnh"
+birthday: "Sinh nhật"
+yearsOld: "{age} tuổi"
+registeredDate: "Tham gia"
+location: "Đến từ"
+theme: "Chủ đề"
+themeForLightMode: "Chủ đề dùng trong trong chế độ Sáng"
+themeForDarkMode: "Chủ đề dùng trong chế độ Tối"
+light: "Sáng"
+dark: "Tối"
+lightThemes: "Những chủ đề sáng"
+darkThemes: "Những chủ đề tối"
+syncDeviceDarkMode: "Đồng bộ với thiết bị"
+drive: "Ổ đĩa"
+fileName: "Tên tập tin"
+selectFile: "Chọn tập tin"
+selectFiles: "Chọn nhiều tập tin"
+selectFolder: "Chọn thư mục"
+selectFolders: "Chọn nhiều thư mục"
+renameFile: "Đổi tên tập tin"
+folderName: "Tên thư mục"
+createFolder: "Tạo thư mục"
+renameFolder: "Đổi tên thư mục"
+deleteFolder: "Xóa thư mục"
+addFile: "Thêm tập tin"
+emptyDrive: "Ổ đĩa của bạn trống trơn"
+emptyFolder: "Thư mục trống"
+unableToDelete: "Không thể xóa"
+inputNewFileName: "Nhập tên mới cho tập tin"
+inputNewDescription: "Nhập mô tả mới"
+inputNewFolderName: "Nhập tên mới cho thư mục"
+circularReferenceFolder: "Thư mục đích là một thư mục con của thư mục bạn muốn di chuyển."
+hasChildFilesOrFolders: "Không thể xóa cho đến khi không còn gì trong thư mục."
+copyUrl: "Sao chép URL"
+rename: "Đổi tên"
+avatar: "Ảnh đại diện"
+banner: "Ảnh bìa"
+nsfw: "Nhạy cảm"
+whenServerDisconnected: "Khi mất kết nối tới máy chủ"
+disconnectedFromServer: "Mất kết nối tới máy chủ"
+reload: "Tải lại"
+doNothing: "Bỏ qua"
+reloadConfirm: "Bạn có muốn thử tải lại bảng tin?"
+watch: "Xem"
+unwatch: "Ngừng xem"
+accept: "Đồng ý"
+reject: "Từ chối"
+normal: "Bình thường"
+instanceName: "Tên máy chủ"
+instanceDescription: "Mô tả máy chủ"
+maintainerName: "Đội ngũ vận hành"
+maintainerEmail: "Email đội ngũ"
+tosUrl: "URL Điều khoản dịch vụ"
+thisYear: "Năm"
+thisMonth: "Tháng"
+today: "Hôm nay"
+dayX: "{day}"
+monthX: "{month}"
+yearX: "{year}"
+pages: "Trang"
+integration: "Tương tác"
+connectService: "Kết nối"
+disconnectService: "Ngắt kết nối"
+enableLocalTimeline: "Bật bảng tin máy chủ"
+enableGlobalTimeline: "Bật bảng tin liên hợp"
+disablingTimelinesInfo: "Quản trị viên và Kiểm duyệt viên luôn có quyền truy cập mọi bảng tin, kể cả khi chúng không được bật."
+registration: "Đăng ký"
+enableRegistration: "Cho phép đăng ký mới"
+invite: "Mời"
+driveCapacityPerLocalAccount: "Dung lượng ổ đĩa tối đa cho mỗi người dùng"
+driveCapacityPerRemoteAccount: "Dung lượng ổ đĩa tối đa cho mỗi người dùng từ xa"
+inMb: "Tính bằng MB"
+iconUrl: "URL Icon"
+bannerUrl: "URL Ảnh bìa"
+backgroundImageUrl: "URL Ảnh nền"
+basicInfo: "Thông tin cơ bản"
+pinnedUsers: "Những người thú vị"
+pinnedUsersDescription: "Liệt kê mỗi hàng một tên người dùng xuống dòng để ghim trên tab \"Khám phá\"."
+pinnedPages: "Trang đã ghim"
+pinnedPagesDescription: "Liệt kê các trang thú vị để ghim trên máy chủ."
+pinnedClipId: "ID của clip muốn ghim"
+pinnedNotes: "Tút ghim"
+hcaptcha: "hCaptcha"
+enableHcaptcha: "Bật hCaptcha"
+hcaptchaSiteKey: "Khóa của trang"
+hcaptchaSecretKey: "Khóa bí mật"
+recaptcha: "reCAPTCHA"
+enableRecaptcha: "Bật reCAPTCHA"
+recaptchaSiteKey: "Khóa của trang"
+recaptchaSecretKey: "Khóa bí mật"
+avoidMultiCaptchaConfirm: "Dùng nhiều hệ thống Captcha có thể gây nhiễu giữa chúng. Bạn có muốn tắt các hệ thống Captcha khác hiện đang hoạt động không? Nếu bạn muốn chúng tiếp tục được bật, hãy nhấn hủy."
+antennas: "Trạm phát sóng"
+manageAntennas: "Quản lý trạm phát sóng"
+name: "Tên"
+antennaSource: "Nguồn trạm phát sóng"
+antennaKeywords: "Từ khóa để nghe"
+antennaExcludeKeywords: "Từ khóa để lọc ra"
+antennaKeywordsDescription: "Phân cách bằng dấu cách cho điều kiện AND hoặc bằng xuống dòng cho điều kiện OR."
+notifyAntenna: "Thông báo có tút mới"
+withFileAntenna: "Chỉ những tút có media"
+enableServiceworker: "Bật ServiceWorker"
+antennaUsersDescription: "Liệt kê mỗi hàng một tên người dùng"
+caseSensitive: "Trường hợp nhạy cảm"
+withReplies: "Bao gồm lượt trả lời"
+connectedTo: "Những tài khoản sau đã kết nối"
+notesAndReplies: "Tút kèm trả lời"
+withFiles: "Media"
+silence: "Ẩn"
+silenceConfirm: "Bạn có chắc muốn ẩn người này?"
+unsilence: "Bỏ ẩn"
+unsilenceConfirm: "Bạn có chắc muốn bỏ ẩn người này?"
+popularUsers: "Những người nổi tiếng"
+recentlyUpdatedUsers: "Hoạt động gần đây"
+recentlyRegisteredUsers: "Mới tham gia"
+recentlyDiscoveredUsers: "Mới khám phá"
+exploreUsersCount: "Có {count} người"
+exploreFediverse: "Khám phá Fediverse"
+popularTags: "Hashtag thông dụng"
+userList: "Danh sách"
+about: "Giới thiệu"
+aboutMisskey: "Về Misskey"
+administrator: "Quản trị viên"
+token: "Token"
+twoStepAuthentication: "Xác minh 2 bước"
+moderator: "Kiểm duyệt viên"
+moderation: "Kiểm duyệt"
+nUsersMentioned: "Dùng bởi {n} người"
+securityKey: "Khóa bảo mật"
+securityKeyName: "Tên khoá"
+registerSecurityKey: "Đăng ký khóa bảo mật"
+lastUsed: "Dùng lần cuối"
+unregister: "Hủy đăng ký"
+passwordLessLogin: "Đăng nhập không mật khẩu"
+resetPassword: "Đặt lại mật khẩu"
+newPasswordIs: "Mật khẩu mới là \"{password}\""
+reduceUiAnimation: "Giảm chuyển động UI"
+share: "Chia sẻ"
+notFound: "Không tìm thấy"
+notFoundDescription: "Không tìm thấy trang nào tương ứng với URL này."
+uploadFolder: "Thư mục tải lên mặc định"
+cacheClear: "Xóa bộ nhớ đệm"
+markAsReadAllNotifications: "Đánh dấu tất cả các thông báo là đã đọc"
+markAsReadAllUnreadNotes: "Đánh dấu tất cả các tút là đã đọc"
+markAsReadAllTalkMessages: "Đánh dấu tất cả các tin nhắn là đã đọc"
+help: "Trợ giúp"
+inputMessageHere: "Nhập nội dung tin nhắn"
+close: "Đóng"
+group: "Nhóm"
+groups: "Các nhóm"
+createGroup: "Tạo nhóm"
+ownedGroups: "Nhóm tôi quản lý"
+joinedGroups: "Nhóm tôi tham gia"
+invites: "Mời"
+groupName: "Tên nhóm"
+members: "Thành viên"
+transfer: "Chuyển giao"
+messagingWithUser: "Nhắn riêng"
+messagingWithGroup: "Chat nhóm"
+title: "Tựa đề"
+text: "Nội dung"
+enable: "Bật"
+next: "Kế tiếp"
+retype: "Nhập lại"
+noteOf: "Tút của {user}"
+inviteToGroup: "Mời vào nhóm"
+quoteAttached: "Trích dẫn"
+quoteQuestion: "Trích dẫn lại?"
+noMessagesYet: "Chưa có tin nhắn"
+newMessageExists: "Bạn có tin nhắn mới"
+onlyOneFileCanBeAttached: "Bạn chỉ có thể đính kèm một tập tin"
+signinRequired: "Vui lòng đăng nhập"
+invitations: "Mời"
+invitationCode: "Mã mời"
+checking: "Đang kiểm tra..."
+available: "Khả dụng"
+unavailable: "Không khả dụng"
+usernameInvalidFormat: "Bạn có thể dùng viết hoa/viết thường, chữ số, và dấu gạch dưới."
+tooShort: "Quá ngắn"
+tooLong: "Quá dài"
+weakPassword: "Mật khẩu yếu"
+normalPassword: "Mật khẩu tạm được"
+strongPassword: "Mật khẩu mạnh"
+passwordMatched: "Trùng khớp"
+passwordNotMatched: "Không trùng khớp"
+signinWith: "Đăng nhập bằng {x}"
+signinFailed: "Không thể đăng nhập. Vui lòng kiểm tra tên người dùng và mật khẩu của bạn."
+tapSecurityKey: "Nhấn mã bảo mật của bạn"
+or: "Hoặc"
+language: "Ngôn ngữ"
+uiLanguage: "Ngôn ngữ giao diện"
+groupInvited: "Bạn đã được mời tham gia nhóm"
+aboutX: "Giới thiệu {x}"
+useOsNativeEmojis: "Dùng emoji hệ thống"
+disableDrawer: "Không dùng menu thanh bên"
+youHaveNoGroups: "Không có nhóm nào"
+joinOrCreateGroup: "Tham gia hoặc tạo một nhóm mới."
+noHistory: "Không có dữ liệu"
+signinHistory: "Lịch sử đăng nhập"
+disableAnimatedMfm: "Tắt MFM với chuyển động"
+doing: "Đang xử lý..."
+category: "Phân loại"
+tags: "Thẻ"
+docSource: "Nguồn tài liệu"
+createAccount: "Tạo tài khoản"
+existingAccount: "Tài khoản hiện có"
+regenerate: "Tạo lại"
+fontSize: "Cỡ chữ"
+noFollowRequests: "Bạn không có yêu cầu theo dõi nào"
+openImageInNewTab: "Mở ảnh trong tab mới"
+dashboard: "Trang chính"
+local: "Máy chủ này"
+remote: "Máy chủ khác"
+total: "Tổng cộng"
+weekOverWeekChanges: "Thay đổi tuần rồi"
+dayOverDayChanges: "Thay đổi hôm qua"
+appearance: "Giao diện"
+clientSettings: "Cài đặt Client"
+accountSettings: "Cài đặt tài khoản"
+promotion: "Quảng cáo"
+promote: "Quảng cáo"
+numberOfDays: "Số ngày"
+hideThisNote: "Ẩn tút này"
+showFeaturedNotesInTimeline: "Hiện tút nổi bật trong bảng tin"
+objectStorage: "Đối tượng lưu trữ"
+useObjectStorage: "Dùng đối tượng lưu trữ"
+objectStorageBaseUrl: "Base URL"
+objectStorageBaseUrlDesc: "URL được sử dụng làm tham khảo. Chỉ định URL của CDN hoặc Proxy của bạn nếu bạn đang sử dụng. Với S3 dùng 'https://.s3.amazonaws.com', còn GCS hoặc dịch vụ tương tự dùng 'https://storage.googleapis.com/', etc."
+objectStorageBucket: "Bucket"
+objectStorageBucketDesc: "Nhập tên bucket dùng ở nhà cung cấp của bạn."
+objectStoragePrefix: "Tiền tố"
+objectStoragePrefixDesc: "Các tập tin sẽ được lưu trữ trong các thư mục có tiền tố này."
+objectStorageEndpoint: "Đầu cuối"
+objectStorageEndpointDesc: "Để trống nếu bạn đang dùng AWS S3, nếu không thì chỉ định đầu cuối là '' hoặc ':', tùy thuộc vào nhà cung cấp dịch vụ."
+objectStorageRegion: "Khu vực"
+objectStorageRegionDesc: "Nhập một khu vực cụ thể như 'xx-east-1'. Nếu nhà cung cấp dịch vụ của bạn không phân biệt giữa các khu vực, hãy để trống hoặc nhập 'us-east-1'."
+objectStorageUseSSL: "Dùng SSL"
+objectStorageUseSSLDesc: "Tắt nếu bạn không dùng HTTPS để kết nối API"
+objectStorageUseProxy: "Kết nối thông qua Proxy"
+objectStorageUseProxyDesc: "Tắt nếu bạn không dùng Proxy để kết nối API"
+objectStorageSetPublicRead: "Đặt \"public-read\" khi tải lên"
+serverLogs: "Nhật ký máy chủ"
+deleteAll: "Xóa tất cả"
+showFixedPostForm: "Hiện khung soạn tút ở phía trên bảng tin"
+newNoteRecived: "Đã nhận tút mới"
+sounds: "Âm thanh"
+listen: "Nghe"
+none: "Không"
+showInPage: "Hiện trong trang"
+popout: "Pop-out"
+volume: "Âm lượng"
+masterVolume: "Âm thanh chung"
+details: "Chi tiết"
+chooseEmoji: "Chọn emoji"
+unableToProcess: "Không thể hoàn tất hành động"
+recentUsed: "Sử dụng gần đây"
+install: "Cài đặt"
+uninstall: "Gỡ bỏ"
+installedApps: "Ứng dụng đã cài đặt"
+nothing: "Không có gì ở đây"
+installedDate: "Cho phép vào"
+lastUsedDate: "Dùng gần nhất"
+state: "Trạng thái"
+sort: "Sắp xếp"
+ascendingOrder: "Tăng dần"
+descendingOrder: "Giảm dần"
+scratchpad: "Scratchpad"
+scratchpadDescription: "Scratchpad cung cấp môi trường cho các thử nghiệm AiScript. Bạn có thể viết, thực thi và kiểm tra kết quả tương tác với Misskey trong đó."
+output: "Nguồn ra"
+script: "Kịch bản"
+disablePagesScript: "Tắt AiScript trên Trang"
+updateRemoteUser: "Cập nhật thông tin người dùng ở máy chủ khác"
+deleteAllFiles: "Xóa toàn bộ tập tin"
+deleteAllFilesConfirm: "Bạn có chắc xóa toàn bộ tập tin?"
+removeAllFollowing: "Ngưng theo dõi tất cả mọi người"
+removeAllFollowingDescription: "Thực hiện điều này sẽ ngưng theo dõi tất cả các tài khoản khỏi {host}. Chỉ thực hiện điều này nếu máy chủ không còn tồn tại."
+userSuspended: "Người này đã bị vô hiệu hóa."
+userSilenced: "Người này đã bị ẩn"
+yourAccountSuspendedTitle: "Tài khoản bị vô hiệu hóa"
+yourAccountSuspendedDescription: "Tài khoản này đã bị vô hiệu hóa do vi phạm quy tắc máy chủ hoặc điều tương tự. Liên hệ với quản trị viên nếu bạn muốn biết lý do chi tiết hơn. Vui lòng không tạo tài khoản mới."
+menu: "Menu"
+divider: "Phân chia"
+addItem: "Thêm mục"
+relays: "Chuyển tiếp"
+addRelay: "Thêm chuyển tiếp"
+inboxUrl: "URL Hộp thư đến"
+addedRelays: "Đã thêm các chuyển tiếp"
+serviceworkerInfo: "Phải được bật cho thông báo đẩy."
+deletedNote: "Tút đã bị xóa"
+invisibleNote: "Tút ẩn"
+enableInfiniteScroll: "Tự động tải tút mới"
+visibility: "Hiển thị"
+poll: "Bình chọn"
+useCw: "Ẩn nội dung"
+enablePlayer: "Mở trình phát video"
+disablePlayer: "Đóng trình phát video"
+expandTweet: "Mở rộng tweet"
+themeEditor: "Công cụ thiết kế theme"
+description: "Mô tả"
+describeFile: "Thêm mô tả"
+enterFileDescription: "Nhập mô tả"
+author: "Tác giả"
+leaveConfirm: "Có những thay đổi chưa được lưu. Bạn có muốn bỏ chúng không?"
+manage: "Quản lý"
+plugins: "Plugin"
+preferencesBackups: "Sao lưu thiết lập"
+deck: "Deck"
+undeck: "Bỏ Deck"
+useBlurEffectForModal: "Sử dụng hiệu ứng mờ cho các hộp thoại"
+useFullReactionPicker: "Dùng bộ chọn biểu cảm cỡ lớn"
+width: "Chiều rộng"
+height: "Chiều cao"
+large: "Lớn"
+medium: "Vừa"
+small: "Nhỏ"
+generateAccessToken: "Tạo mã truy cập"
+permission: "Cho phép "
+enableAll: "Bật toàn bộ"
+disableAll: "Tắt toàn bộ"
+tokenRequested: "Cấp quyền truy cập vào tài khoản"
+pluginTokenRequestedDescription: "Plugin này sẽ có thể sử dụng các quyền được đặt ở đây."
+notificationType: "Loại thông báo"
+edit: "Sửa"
+useStarForReactionFallback: "Dùng ★ nếu emoji biểu cảm không có"
+emailServer: "Email máy chủ"
+enableEmail: "Bật phân phối email"
+emailConfigInfo: "Được dùng để xác minh email của bạn lúc đăng ký hoặc nếu bạn quên mật khẩu của mình"
+email: "Email"
+emailAddress: "Địa chỉ email"
+smtpConfig: "Cấu hình máy chủ SMTP"
+smtpHost: "Host"
+smtpPort: "Cổng"
+smtpUser: "Tên người dùng"
+smtpPass: "Mật khẩu"
+emptyToDisableSmtpAuth: "Để trống tên người dùng và mật khẩu để tắt xác thực SMTP"
+smtpSecure: "Dùng SSL/TLS ngầm định cho các kết nối SMTP"
+smtpSecureInfo: "Tắt cái này nếu dùng STARTTLS"
+testEmail: "Kiểm tra vận chuyển email"
+wordMute: "Ẩn chữ"
+regexpError: "Lỗi biểu thức"
+regexpErrorDescription: "Xảy ra lỗi biểu thức ở dòng {line} của {tab} chữ ẩn:"
+instanceMute: "Những máy chủ ẩn"
+userSaysSomething: "{name} nói gì đó"
+makeActive: "Kích hoạt"
+display: "Hiển thị"
+copy: "Sao chép"
+metrics: "Số liệu"
+overview: "Tổng quan"
+logs: "Nhật ký"
+delayed: "Độ trễ"
+database: "Cơ sở dữ liệu"
+channel: "Kênh"
+create: "Tạo"
+notificationSetting: "Cài đặt thông báo"
+notificationSettingDesc: "Chọn loại thông báo bạn muốn hiển thị."
+useGlobalSetting: "Dùng thiết lập chung"
+useGlobalSettingDesc: "Nếu được bật, cài đặt thông báo của bạn sẽ được áp dụng. Nếu bị tắt, có thể thực hiện các thiết lập riêng lẻ."
+other: "Khác"
+regenerateLoginToken: "Tạo lại mã đăng nhập"
+regenerateLoginTokenDescription: "Tạo lại mã nội bộ có thể dùng để đăng nhập. Thông thường hành động này là không cần thiết. Nếu được tạo lại, tất cả các thiết bị sẽ bị đăng xuất."
+setMultipleBySeparatingWithSpace: "Tách nhiều mục nhập bằng dấu cách."
+fileIdOrUrl: "ID tập tin hoặc URL"
+behavior: "Thao tác"
+sample: "Ví dụ"
+abuseReports: "Lượt báo cáo"
+reportAbuse: "Báo cáo"
+reportAbuseOf: "Báo cáo {name}"
+fillAbuseReportDescription: "Vui lòng điền thông tin chi tiết về báo cáo này. Nếu đó là về một tút cụ thể, hãy kèm theo URL của tút."
+abuseReported: "Báo cáo đã được gửi. Cảm ơn bạn nhiều."
+reporter: "Người báo cáo"
+reporteeOrigin: "Bị báo cáo"
+reporterOrigin: "Máy chủ người báo cáo"
+forwardReport: "Chuyển tiếp báo cáo cho máy chủ từ xa"
+forwardReportIsAnonymous: "Thay vì tài khoản của bạn, một tài khoản hệ thống ẩn danh sẽ được hiển thị dưới dạng người báo cáo ở máy chủ từ xa."
+send: "Gửi"
+abuseMarkAsResolved: "Đánh dấu đã xử lý"
+openInNewTab: "Mở trong tab mới"
+openInSideView: "Mở trong thanh bên"
+defaultNavigationBehaviour: "Thao tác điều hướng mặc định"
+editTheseSettingsMayBreakAccount: "Việc chỉnh sửa các cài đặt này có thể làm hỏng tài khoản của bạn."
+instanceTicker: "Thông tin máy chủ của tút"
+waitingFor: "Đang đợi {x}"
+random: "Ngẫu nhiên"
+system: "Hệ thống"
+switchUi: "Chuyển đổi giao diện người dùng"
+desktop: "Desktop"
+clip: "Ghim"
+createNew: "Tạo mới"
+optional: "Không bắt buộc"
+createNewClip: "Tạo một ghim mới"
+unclip: "Bỏ ghim"
+confirmToUnclipAlreadyClippedNote: "Bài đăng này là một phần của \"{name}\" ghim. Bạn có muốn bỏ khỏi ghim?"
+public: "Công khai"
+i18nInfo: "Misskey đang được các tình nguyện viên dịch sang nhiều thứ tiếng khác nhau. Bạn có thể hỗ trợ tại {link}."
+manageAccessTokens: "Tạo mã truy cập"
+accountInfo: "Thông tin tài khoản"
+notesCount: "Số lượng tút"
+repliesCount: "Số lượt trả lời đã gửi"
+renotesCount: "Số lượt đăng lại đã gửi"
+repliedCount: "Số lượt trả lời đã nhận"
+renotedCount: "Lượt chia sẻ"
+followingCount: "Số lượng người tôi theo dõi"
+followersCount: "Số lượng người theo dõi tôi"
+sentReactionsCount: "Số lượng biểu cảm đã gửi"
+receivedReactionsCount: "Số lượng biểu cảm đã nhận"
+pollVotesCount: "Số lượng bình chọn đã gửi"
+pollVotedCount: "Số lượng bình chọn đã nhận"
+yes: "Đồng ý"
+no: "Từ chối"
+driveFilesCount: "Số tập tin trong Ổ đĩa"
+driveUsage: "Dung lượng ổ đĩa"
+noCrawle: "Từ chối lập chỉ mục"
+noCrawleDescription: "Không cho công cụ tìm kiếm lập chỉ mục trang hồ sơ, tút, Trang, etc."
+lockedAccountInfo: "Ghi chú của bạn sẽ hiển thị với bất kỳ ai, trừ khi bạn đặt chế độ hiển thị tút của mình thành \"Chỉ người theo dõi\"."
+alwaysMarkSensitive: "Luôn đánh dấu NSFW"
+loadRawImages: "Tải ảnh gốc thay vì ảnh thu nhỏ"
+disableShowingAnimatedImages: "Không phát ảnh động"
+verificationEmailSent: "Một email xác minh đã được gửi. Vui lòng nhấn vào liên kết đính kèm để hoàn tất xác minh."
+notSet: "Chưa đặt"
+emailVerified: "Email đã được xác minh"
+noteFavoritesCount: "Số lượng tút yêu thích"
+pageLikesCount: "Số lượng trang đã thích"
+pageLikedCount: "Số lượng thích trang đã nhận"
+contact: "Liên hệ"
+useSystemFont: "Dùng phông chữ mặc định của hệ thống"
+clips: "Ghim"
+experimentalFeatures: "Tính năng thử nghiệm"
+developer: "Nhà phát triển"
+makeExplorable: "Không hiện tôi trong \"Khám phá\""
+makeExplorableDescription: "Nếu bạn tắt, tài khoản của bạn sẽ không hiện trong mục \"Khám phá\"."
+showGapBetweenNotesInTimeline: "Hiện dải phân cách giữa các tút trên bảng tin"
+duplicate: "Tạo bản sao"
+left: "Bên trái"
+center: "Giữa"
+wide: "Rộng"
+narrow: "Thu hẹp"
+reloadToApplySetting: "Cài đặt này sẽ chỉ áp dụng sau khi tải lại trang. Tải lại ngay bây giờ?"
+needReloadToApply: "Cần tải lại để điều này được áp dụng."
+showTitlebar: "Hiện thanh tựa đề"
+clearCache: "Xóa bộ nhớ đệm"
+onlineUsersCount: "{n} người đang online"
+nUsers: "{n} Người"
+nNotes: "{n} Tút"
+sendErrorReports: "Báo lỗi"
+sendErrorReportsDescription: "Khi được bật, thông tin chi tiết về lỗi sẽ được chia sẻ với Misskey khi xảy ra sự cố, giúp nâng cao chất lượng của Misskey.\nBao gồm thông tin như phiên bản hệ điều hành của bạn, trình duyệt bạn đang sử dụng, hoạt động của bạn trong Misskey, v.v."
+myTheme: "Theme của tôi"
+backgroundColor: "Màu nền"
+accentColor: "Màu phụ"
+textColor: "Màu chữ"
+saveAs: "Lưu thành"
+advanced: "Nâng cao"
+value: "Giá trị"
+createdAt: "Ngày tạo"
+updatedAt: "Cập nhật lúc"
+saveConfirm: "Lưu thay đổi?"
+deleteConfirm: "Bạn có muốn xóa không?"
+invalidValue: "Giá trị không hợp lệ."
+registry: "Registry"
+closeAccount: "Đóng tài khoản"
+currentVersion: "Phiên bản hiện tại"
+latestVersion: "Phiên bản mới nhất"
+youAreRunningUpToDateClient: "Bạn đang sử dụng phiên bản mới nhất."
+newVersionOfClientAvailable: "Có phiên bản mới cho bạn cập nhật."
+usageAmount: "Sử dụng"
+capacity: "Sức chứa"
+inUse: "Đã dùng"
+editCode: "Chỉnh sửa mã"
+apply: "Áp dụng"
+receiveAnnouncementFromInstance: "Nhận thông báo từ máy chủ này"
+emailNotification: "Thông báo email"
+publish: "Đăng"
+inChannelSearch: "Tìm trong kênh"
+useReactionPickerForContextMenu: "Nhấn chuột phải để mở bộ chọn biểu cảm"
+typingUsers: "{users} đang nhập…"
+jumpToSpecifiedDate: "Đến một ngày cụ thể"
+showingPastTimeline: "Hiện đang hiển thị dòng thời gian cũ"
+clear: "Hoàn lại"
+markAllAsRead: "Đánh dấu tất cả đã đọc"
+goBack: "Quay lại"
+unlikeConfirm: "Bạn có chắc muốn bỏ thích ?"
+fullView: "Kích thước đầy đủ"
+quitFullView: "Thoát toàn màn hình"
+addDescription: "Thêm mô tả"
+userPagePinTip: "Bạn có thể hiển thị các tút ở đây bằng cách chọn \"Ghim vào hồ sơ\" từ menu của mỗi tút."
+notSpecifiedMentionWarning: "Tút này có đề cập đến những người không mong muốn"
+info: "Giới thiệu"
+userInfo: "Thông tin người dùng"
+unknown: "Chưa biết"
+onlineStatus: "Trạng thái"
+hideOnlineStatus: "Ẩn trạng thái online"
+hideOnlineStatusDescription: "Ẩn trạng thái online của bạn làm giảm sự tiện lợi của một số tính năng như tìm kiếm."
+online: "Online"
+active: "Hoạt động"
+offline: "Offline"
+notRecommended: "Không đề xuất"
+botProtection: "Bảo vệ Bot"
+instanceBlocking: "Máy chủ đã chặn"
+selectAccount: "Chọn một tài khoản"
+switchAccount: "Chuyển tài khoản"
+enabled: "Đã bật"
+disabled: "Đã tắt"
+quickAction: "Thao tác nhanh"
+user: "Người dùng"
+administration: "Quản lý"
+accounts: "Tài khoản của bạn"
+switch: "Chuyển đổi"
+noMaintainerInformationWarning: "Chưa thiết lập thông tin vận hành."
+noBotProtectionWarning: "Bảo vệ Bot chưa thiết lập."
+configure: "Thiết lập"
+postToGallery: "Tạo tút có ảnh"
+gallery: "Thư viện ảnh"
+recentPosts: "Tút gần đây"
+popularPosts: "Tút được xem nhiều nhất"
+shareWithNote: "Chia sẻ kèm với tút"
+ads: "Quảng cáo"
+expiration: "Thời hạn"
+memo: "Lưu ý"
+priority: "Ưu tiên"
+high: "Cao"
+middle: "Vừa"
+low: "Thấp"
+emailNotConfiguredWarning: "Chưa đặt địa chỉ email."
+ratio: "Tỷ lệ"
+previewNoteText: "Hiện xem trước"
+customCss: "Tùy chỉnh CSS"
+customCssWarn: "Chỉ sử dụng những cài đặt này nếu bạn biết rõ về nó. Việc nhập các giá trị không đúng có thể khiến máy chủ hoạt động không bình thường."
+global: "Toàn cầu"
+squareAvatars: "Ảnh đại diện vuông"
+sent: "Gửi"
+received: "Đã nhận"
+searchResult: "Kết quả tìm kiếm"
+hashtags: "Hashtag"
+troubleshooting: "Khắc phục sự cố"
+useBlurEffect: "Dùng hiệu ứng làm mờ trong giao diện"
+learnMore: "Tìm hiểu thêm"
+misskeyUpdated: "Misskey vừa được cập nhật!"
+whatIsNew: "Hiện những thay đổi"
+translate: "Dịch"
+translatedFrom: "Dịch từ {x}"
+accountDeletionInProgress: "Đang xử lý việc xóa tài khoản"
+usernameInfo: "Bạn có thể sử dụng chữ cái (a ~ z, A ~ Z), chữ số (0 ~ 9) hoặc dấu gạch dưới (_). Tên người dùng không thể thay đổi sau này."
+aiChanMode: "Chế độ Ai"
+keepCw: "Giữ cảnh báo nội dung"
+pubSub: "Tài khoản Chính/Phụ"
+lastCommunication: "Lần giao tiếp cuối"
+resolved: "Đã xử lý"
+unresolved: "Chờ xử lý"
+breakFollow: "Xóa người theo dõi"
+itsOn: "Đã bật"
+itsOff: "Đã tắt"
+emailRequiredForSignup: "Yêu cầu địa chỉ email khi đăng ký"
+unread: "Chưa đọc"
+filter: "Bộ lọc"
+controlPanel: "Bảng điều khiển"
+manageAccounts: "Quản lý tài khoản"
+makeReactionsPublic: "Đặt lịch sử biểu cảm công khai"
+makeReactionsPublicDescription: "Điều này sẽ hiển thị công khai danh sách tất cả các biểu cảm trước đây của bạn."
+classic: "Cổ điển"
+muteThread: "Không quan tâm nữa"
+unmuteThread: "Quan tâm tút này"
+ffVisibility: "Hiển thị Theo dõi/Người theo dõi"
+ffVisibilityDescription: "Quyết định ai có thể xem những người bạn theo dõi và những người theo dõi bạn."
+continueThread: "Tiếp tục xem chuỗi tút"
+deleteAccountConfirm: "Điều này sẽ khiến tài khoản bị xóa vĩnh viễn. Vẫn tiếp tục?"
+incorrectPassword: "Sai mật khẩu."
+voteConfirm: "Xác nhận bình chọn \"{choice}\"?"
+hide: "Ẩn"
+leaveGroup: "Rời khỏi nhóm"
+leaveGroupConfirm: "Bạn có chắc muốn rời khỏi nhóm \"{name}\"?"
+useDrawerReactionPickerForMobile: "Hiện bộ chọn biểu cảm dạng xổ ra trên điện thoại"
+welcomeBackWithName: "Chào mừng trở lại, {name}"
+clickToFinishEmailVerification: "Vui lòng nhấn [{ok}] để hoàn tất việc đăng ký."
+overridedDeviceKind: "Loại thiết bị"
+smartphone: "Điện thoại"
+tablet: "Máy tính bảng"
+auto: "Tự động"
+themeColor: "Màu theme"
+size: "Kích thước"
+numberOfColumn: "Số lượng cột"
+searchByGoogle: "Google"
+instanceDefaultLightTheme: "Theme máy chủ Sáng-Rộng"
+instanceDefaultDarkTheme: "Theme máy chủ Tối-Rộng"
+instanceDefaultThemeDescription: "Nhập mã theme trong định dạng đối tượng."
+mutePeriod: "Thời hạn ẩn"
+indefinitely: "Vĩnh viễn"
+tenMinutes: "10 phút"
+oneHour: "1 giờ"
+oneDay: "1 ngày"
+oneWeek: "1 tuần"
+reflectMayTakeTime: "Có thể mất một thời gian để điều này được áp dụng."
+failedToFetchAccountInformation: "Không thể lấy thông tin tài khoản"
+rateLimitExceeded: "Giới hạn quá mức"
+cropImage: "Cắt hình ảnh"
+cropImageAsk: "Bạn có muốn cắt ảnh này?"
+file: "Tập tin"
+recentNHours: "{n}h trước"
+recentNDays: "{n} ngày trước"
+noEmailServerWarning: "Chưa đặt máy chủ email."
+thereIsUnresolvedAbuseReportWarning: "Có báo cáo chưa xử lí."
+recommended: "Được đề xuất"
+check: "Kiểm tra"
+driveCapOverrideLabel: "Thay đổi dung lượng drive cho người này"
+driveCapOverrideCaption: "Đặt dung lượng drive về mặc định bằng cách nhập 0 hoặc số âm."
+requireAdminForView: "Bạn phải đăng nhập như là quản trị viên mới xem được."
+isSystemAccount: "Đã tạo một tài khoản và tự động vận hành bởi hệ thống."
+typeToConfirm: "Nhấn {x} để xác nhận"
+deleteAccount: "Xóa tài khoản"
+document: "Tài liệu"
+numberOfPageCache: "Số lượng trang bộ nhớ đệm"
+numberOfPageCacheDescription: "Việc tăng con số này sẽ cải thiện sự thuận tiện cho người dùng nhưng gây ra nhiều áp lực hơn cho máy chủ cũng như sử dụng nhiều bộ nhớ hơn."
+logoutConfirm: "Bạn có chắc muốn đăng xuất?"
+lastActiveDate: "Lần cuối vào"
+statusbar: "Thanh trạng thái"
+pleaseSelect: "Chọn một lựa chọn"
+reverse: "Lật"
+colored: "Với màu"
+refreshInterval: "Cập nhật nội bộ"
+label: "Nhãn"
+type: "Loại"
+speed: "Tốc độ"
+slow: "Chậm"
+fast: "Nhanh"
+sensitiveMediaDetection: "Tự động phát hiện NSFW"
+localOnly: "Chỉ trên máy chủ"
+remoteOnly: "Chỉ máy chủ từ xa"
+failedToUpload: "Tải lên thất bại"
+cannotUploadBecauseInappropriate: "Không thể tải lên tập tin này vì các phần của tập tin đã được phát hiện có khả năng là NSFW."
+cannotUploadBecauseNoFreeSpace: "Tải lên không thành công do thiếu dung lượng Drive."
+beta: "Beta"
+enableAutoSensitive: "Tự động đánh dấu NSFW"
+enableAutoSensitiveDescription: "Cho phép tự động phát hiện và đánh dấu media NSFW thông qua học máy, nếu có thể. Ngay cả khi tùy chọn này bị tắt, nó vẫn có thể được bật trên toàn máy chủ."
+activeEmailValidationDescription: "Cho phép xác minh địa chỉ email chặt chẽ hơn, bao gồm việc kiểm tra các địa chỉ dùng một lần và xem nó có thực sự được giao tiếp hay không. Khi bỏ chọn, chỉ định dạng của email được xác minh."
+navbar: "Thanh điều hướng"
+shuffle: "Xáo trộn"
+account: "Tài khoản của bạn"
+move: "Di chuyển"
+_sensitiveMediaDetection:
+ description: "Giảm nỗ lực kiểm duyệt máy chủ thông qua việc tự động nhận dạng media NSFW thông qua học máy. Điều này sẽ làm tăng một chút áp lực trên máy chủ."
+ sensitivity: "Phát hiện nhạy cảm"
+ sensitivityDescription: "Giảm độ nhạy sẽ dẫn đến ít phát hiện sai hơn (dương tính giả), tăng nó sẽ dẫn đến ít phát hiện sai hơn (âm tính giả)."
+ setSensitiveFlagAutomatically: "Đánh dấu là NSFW"
+ setSensitiveFlagAutomaticallyDescription: "Kết quả của phát hiện nội bộ sẽ được giữ lại ngay cả khi tùy chọn này bị tắt."
+ analyzeVideos: "Bật chuẩn đoán video"
+ analyzeVideosDescription: "Phân tích video bên cạnh hình ảnh. Điều này sẽ làm tăng một chút áp lực trên máy chủ."
+_emailUnavailable:
+ used: "Địa chỉ email đã được sử dụng"
+ format: "Địa chỉ email không hợp lệ"
+ disposable: "Cấm sử dụng địa chỉ email dùng một lần"
+ mx: "Máy chủ email không hợp lệ"
+ smtp: "Máy chủ email không phản hồi"
+_ffVisibility:
+ public: "Đăng"
+ followers: "Chỉ người theo dõi mới xem được"
+ private: "Riêng tư"
+_signup:
+ almostThere: "Gần xong rồi"
+ emailAddressInfo: "Hãy điền địa chỉ email của bạn. Nó sẽ không được công khai."
+ emailSent: "Một email xác minh đã được gửi đến địa chỉ email ({email}) của bạn. Vui lòng nhấn vào liên kết trong đó để hoàn tất việc tạo tài khoản."
+_accountDelete:
+ accountDelete: "Xóa tài khoản"
+ mayTakeTime: "Vì xóa tài khoản là một quá trình tốn nhiều tài nguyên nên có thể mất một khoảng thời gian để hoàn thành, tùy thuộc vào lượng nội dung bạn đã tạo và số lượng tập tin bạn đã tải lên."
+ sendEmail: "Sau khi hoàn tất việc xóa tài khoản, một email sẽ được gửi đến địa chỉ email đã đăng ký tài khoản này."
+ requestAccountDelete: "Yêu cầu xóa tài khoản"
+ started: "Đang bắt đầu xóa tài khoản."
+ inProgress: "Đang xóa dần tài khoản."
+_ad:
+ back: "Quay lại"
+ reduceFrequencyOfThisAd: "Hiện ít lại"
+_forgotPassword:
+ enterEmail: "Nhập địa chỉ email bạn đã sử dụng để đăng ký. Một liên kết mà bạn có thể đặt lại mật khẩu của mình sau đó sẽ được gửi đến nó."
+ ifNoEmail: "Nếu bạn không sử dụng email lúc đăng ký, vui lòng liên hệ với quản trị viên."
+ contactAdmin: "Máy chủ này không hỗ trợ sử dụng địa chỉ email, vui lòng liên hệ với quản trị viên để đặt lại mật khẩu của bạn."
+_gallery:
+ my: "Kho Ảnh"
+ liked: "Tút Đã Thích"
+ like: "Thích"
+ unlike: "Bỏ thích"
+_email:
+ _follow:
+ title: "đã theo dõi bạn"
+ _receiveFollowRequest:
+ title: "Chấp nhận yêu cầu theo dõi"
+_plugin:
+ install: "Cài đặt tiện ích"
+ installWarn: "Vui lòng không cài đặt những tiện ích đáng ngờ."
+ manage: "Quản lý plugin"
+_preferencesBackups:
+ list: "Tạo sao lưu"
+ saveNew: "Lưu bản sao lưu"
+ loadFile: "Nhập tập tin"
+ apply: "Áp dụng lên thiết bị này"
+ save: "Lưu thay đổi"
+ inputName: "Nhập tên bản sao lưu"
+ cannotSave: "Không thể lưu"
+ nameAlreadyExists: "Bản sao lưu \"{name}\" đã tồn tại. Xin nhập tên khác."
+ applyConfirm: "Bạn có chắc muốn áp dụng bản sao lưu \"{name}\" cho thiết bị này? Thiết lập hiện tại sẽ bị ghi đè."
+ saveConfirm: "Lưu bản sao lưu {name}?"
+ deleteConfirm: "Xóa bản sao lưu {name}?"
+ renameConfirm: "Đổi tên bản sao lưu \"{old}\" thành \"{new}\"?"
+ noBackups: "Chưa có bản sao lưu. Bạn có thể sao lưu thiết lập trên máy chủ này bằng cách sử dụng \"Tạo sao lưu\"."
+ createdAt: "Tạo vào: {time} {date}"
+ updatedAt: "Cập nhật: {time} {date}"
+ cannotLoad: "Tải thất bại"
+ invalidFile: "Sai định dạng tập tin"
+_registry:
+ scope: "Phạm vi"
+ key: "Mã"
+ keys: "Các mã"
+ domain: "Tên miền"
+ createKey: "Tạo mã"
+_aboutMisskey:
+ about: "Misskey là phần mềm mã nguồn mở được phát triển bởi syuilo từ năm 2014."
+ contributors: "Những người đóng góp nổi bật"
+ allContributors: "Toàn bộ người đóng góp"
+ source: "Mã nguồn"
+ translation: "Dịch Misskey"
+ donate: "Ủng hộ Misskey"
+ morePatrons: "Chúng tôi cũng trân trọng sự hỗ trợ của nhiều người đóng góp khác không được liệt kê ở đây. Cảm ơn! 🥰"
+ patrons: "Người ủng hộ"
+_nsfw:
+ respect: "Ẩn nội dung NSFW"
+ ignore: "Hiện nội dung NSFW"
+ force: "Ẩn mọi media"
+_mfm:
+ cheatSheet: "MFM Cheatsheet"
+ intro: "MFM là ngôn ngữ phát triển độc quyền của Misskey có thể được sử dụng ở nhiều nơi. Tại đây bạn có thể xem danh sách tất cả các cú pháp MFM có sẵn."
+ dummy: "Misskey mở rộng thế giới Fediverse"
+ mention: "Nhắc đến"
+ mentionDescription: "Bạn có thể nhắc đến ai đó bằng cách sử dụng @tên người dùng."
+ hashtag: "Hashtag"
+ hashtagDescription: "Bạn có thể tạo một hashtag bằng #chữ hoặc #số."
+ url: "URL"
+ urlDescription: "Những URL có thể hiển thị."
+ link: "Đường dẫn"
+ linkDescription: "Các phần cụ thể của văn bản có thể được hiển thị dưới dạng URL."
+ bold: "In đậm"
+ boldDescription: "Nổi bật các chữ cái bằng cách làm chúng dày hơn."
+ small: "Nhỏ"
+ smallDescription: "Hiển thị nội dung nhỏ và mỏng."
+ center: "Giữa"
+ centerDescription: "Hiển thị nội dung căn giữa."
+ inlineCode: "Mã (Trong dòng)"
+ inlineCodeDescription: "Hiển thị tô sáng cú pháp trong dòng cho mã (chương trình)."
+ blockCode: "Mã (Khối)"
+ blockCodeDescription: "Hiển thị tô sáng cú pháp cho mã nhiều dòng (chương trình) trong một khối."
+ inlineMath: "Toán học (Trong dòng)"
+ inlineMathDescription: "Hiển thị công thức toán (KaTeX) trong dòng"
+ blockMath: "Toán học (Khối)"
+ blockMathDescription: "Hiển thị công thức toán học nhiều dòng (KaTeX) trong một khối"
+ quote: "Trích dẫn"
+ quoteDescription: "Hiển thị nội dung dạng lời trích dạng."
+ emoji: "Tùy chỉnh emoji"
+ emojiDescription: "Hiển thị emoji với cú pháp :tên emoji:"
+ search: "Tìm kiếm"
+ searchDescription: "Hiển thị hộp tìm kiếm với văn bản được nhập trước."
+ flip: "Lật"
+ flipDescription: "Lật nội dung theo chiều ngang hoặc chiều dọc."
+ jelly: "Chuyển động (Thạch rau câu)"
+ jellyDescription: "Cho phép nội dung chuyển động giống như thạch rau câu."
+ tada: "Chuyển động (Tada)"
+ tadaDescription: "Cho phép nội dung chuyển động kiểu \"Tada!\"."
+ jump: "Chuyển động (Nhảy múa)"
+ jumpDescription: "Cho phép nội dung chuyển động nhảy nhót."
+ bounce: "Chuyển động (Cà tưng)"
+ bounceDescription: "Cho phép nội dung chuyển động cà tưng."
+ shake: "Chuyển động (Rung)"
+ shakeDescription: "Cho phép nội dung chuyển động rung lắc."
+ twitch: "Chuyển động (Co rút)"
+ twitchDescription: "Cho phép nội dung chuyển động co rút."
+ spin: "Chuyển động (Xoay tít)"
+ spinDescription: "Cho phép nội dung chuyển động xoay tít."
+ x2: "Lớn"
+ x2Description: "Hiển thị nội dung cỡ lớn hơn."
+ x3: "Rất lớn"
+ x3Description: "Hiển thị nội dung cỡ lớn hơn nữa."
+ x4: "Khổng lồ"
+ x4Description: "Hiển thị nội dung cỡ khổng lồ."
+ blur: "Làm mờ"
+ blurDescription: "Làm mờ nội dung. Nó sẽ được hiển thị rõ ràng khi di chuột qua."
+ font: "Phông chữ"
+ fontDescription: "Chọn phông chữ để hiển thị nội dung."
+ rainbow: "Cầu vồng"
+ rainbowDescription: "Làm cho nội dung hiển thị với màu sắc cầu vồng."
+ sparkle: "Lấp lánh"
+ sparkleDescription: "Làm cho nội dung hiệu ứng hạt lấp lánh."
+ rotate: "Xoay"
+ rotateDescription: "Xoay nội dung theo một góc cụ thể."
+ plain: "Đơn giản"
+ plainDescription: "Vô hiệu hóa mọi hiệu ứng MFM chứa trong hiệu ứng MFM này."
+_instanceTicker:
+ none: "Không hiển thị"
+ remote: "Hiện cho người dùng từ máy chủ khác"
+ always: "Luôn hiện"
+_serverDisconnectedBehavior:
+ reload: "Tự động tải lại"
+ dialog: "Hiện hộp thoại cảnh báo"
+ quiet: "Hiển thị cảnh báo không phô trương"
+_channel:
+ create: "Tạo kênh"
+ edit: "Chỉnh sửa kênh"
+ setBanner: "Đặt ảnh bìa"
+ removeBanner: "Xóa ảnh bìa"
+ featured: "Xu hướng"
+ owned: "Do tôi quản lý"
+ following: "Đang theo dõi"
+ usersCount: "{n} Thành viên"
+ notesCount: "{n} Tút"
+_menuDisplay:
+ sideFull: "Thanh bên"
+ sideIcon: "Thanh bên (Biểu tượng)"
+ top: "Trên cùng"
+ hide: "Ẩn"
+_wordMute:
+ muteWords: "Ẩn từ ngữ"
+ muteWordsDescription: "Separate with spaces for an AND condition or with line breaks for an OR condition."
+ muteWordsDescription2: "Bao quanh các từ khóa bằng dấu gạch chéo để sử dụng cụm từ thông dụng."
+ softDescription: "Ẩn các tút phù hợp điều kiện đã đặt khỏi bảng tin."
+ hardDescription: "Ngăn các tút đáp ứng các điều kiện đã đặt xuất hiện trên bảng tin. Lưu ý, những tút này sẽ không được thêm vào bảng tin ngay cả khi các điều kiện được thay đổi."
+ soft: "Yếu"
+ hard: "Mạnh"
+ mutedNotes: "Những tút đã ẩn"
+_instanceMute:
+ instanceMuteDescription: "Thao tác này sẽ ẩn mọi tút/lượt đăng lại từ các máy chủ được liệt kê, bao gồm cả những tút dạng trả lời từ máy chủ bị ẩn."
+ instanceMuteDescription2: "Tách bằng cách xuống dòng"
+ title: "Ẩn tút từ những máy chủ đã liệt kê."
+ heading: "Danh sách những máy chủ bị ẩn"
+_theme:
+ explore: "Khám phá theme"
+ install: "Cài đặt theme"
+ manage: "Quản lý theme"
+ code: "Mã theme"
+ description: "Mô tả"
+ installed: "{name} đã được cài đặt"
+ installedThemes: "Theme đã cài đặt"
+ builtinThemes: "Theme tích hợp sẵn"
+ alreadyInstalled: "Theme này đã được cài đặt"
+ invalid: "Định dạng của theme này không hợp lệ"
+ make: "Tạo theme"
+ base: "Dựa trên có sẵn"
+ addConstant: "Thêm hằng số"
+ constant: "Hằng số"
+ defaultValue: "Giá trị mặc định"
+ color: "Màu sắc"
+ refProp: "Tham chiếu một thuộc tính"
+ refConst: "Tham chiếu một hằng số"
+ key: "Khóa"
+ func: "Hàm"
+ funcKind: "Loại hàm"
+ argument: "Tham số"
+ basedProp: "Thuộc tính tham chiếu"
+ alpha: "Độ trong suốt"
+ darken: "Độ tối"
+ lighten: "Độ sáng"
+ inputConstantName: "Nhập tên cho hằng số này"
+ importInfo: "Nếu bạn nhập mã theme ở đây, bạn có thể nhập mã đó vào trình chỉnh sửa theme"
+ deleteConstantConfirm: "Bạn có chắc muốn xóa hằng số {const} không?"
+ keys:
+ accent: "Màu phụ"
+ bg: "Màu nền"
+ fg: "Màu chữ"
+ focus: "Trọng tâm"
+ indicator: "Chỉ báo"
+ panel: "Thanh bên"
+ shadow: "Bóng mờ"
+ header: "Ảnh bìa"
+ navBg: "Nền thanh bên"
+ navFg: "Chữ thanh bên"
+ navHoverFg: "Chữ thanh bên (Khi chạm)"
+ navActive: "Chữ thanh bên (Khi chọn)"
+ navIndicator: "Chỉ báo thanh bên"
+ link: "Đường dẫn"
+ hashtag: "Hashtag"
+ mention: "Nhắc đến"
+ mentionMe: "Lượt nhắc (Tôi)"
+ renote: "Đăng lại"
+ modalBg: "Nền phương thức"
+ divider: "Phân chia"
+ scrollbarHandle: "Thanh cuộn khi giữ"
+ scrollbarHandleHover: "Thanh cuộn khi chạm"
+ dateLabelFg: "Màu ngày tháng năm"
+ infoBg: "Nền thông tin"
+ infoFg: "Chữ thông tin"
+ infoWarnBg: "Nền cảnh báo"
+ infoWarnFg: "Chữ cảnh báo"
+ cwBg: "Nền nút nội dung ẩn"
+ cwFg: "Chữ nút nội dung ẩn"
+ cwHoverBg: "Nền nút nội dung ẩn (Chạm)"
+ toastBg: "Nền thông báo"
+ toastFg: "Chữ thông báo"
+ buttonBg: "Nền nút"
+ buttonHoverBg: "Nền nút (Chạm)"
+ inputBorder: "Đường viền khung soạn thảo"
+ listItemHoverBg: "Nền mục liệt kê (Chạm)"
+ driveFolderBg: "Nền thư mục Ổ đĩa"
+ wallpaperOverlay: "Lớp phủ hình nền"
+ badge: "Huy hiệu"
+ messageBg: "Nền chat"
+ accentDarken: "Màu phụ (Tối)"
+ accentLighten: "Màu phụ (Sáng)"
+ fgHighlighted: "Chữ nổi bật"
+_sfx:
+ note: "Tút"
+ noteMy: "Tút của tôi"
+ notification: "Thông báo"
+ chat: "Trò chuyện"
+ chatBg: "Chat (Nền)"
+ antenna: "Trạm phát sóng"
+ channel: "Kênh"
+_ago:
+ future: "Tương lai"
+ justNow: "Vừa xong"
+ secondsAgo: "{n}s trước"
+ minutesAgo: "{n} phút trước"
+ hoursAgo: "{n} giờ trước"
+ daysAgo: "{n} ngày trước"
+ weeksAgo: "{n} tuần trước"
+ monthsAgo: "{n} tháng trước"
+ yearsAgo: "{n} năm trước"
+_time:
+ second: "s"
+ minute: "phút"
+ hour: "giờ"
+ day: "ngày"
+_tutorial:
+ title: "Cách dùng Misskey"
+ step1_1: "Xin chào!"
+ step1_2: "Trang này gọi là \"bảng tin\". Nó hiện \"tút\" từ những người mà bạn \"theo dõi\" theo thứ tự thời gian."
+ step1_3: "Bảng tin của bạn đang trống, bởi vì bạn chưa đăng tút nào hoặc chưa theo dõi ai."
+ step2_1: "Hãy hoàn thành việc thiết lập hồ sơ của bạn trước khi viết tút hoặc theo dõi bất kỳ ai."
+ step2_2: "Cung cấp một số thông tin giới thiệu bạn là ai sẽ giúp người khác dễ dàng biết được họ muốn đọc tút hay theo dõi bạn."
+ step3_1: "Hoàn thành thiết lập hồ sơ của bạn?"
+ step3_2: "Sau đó, hãy thử đăng một tút tiếp theo. Bạn có thể làm như vậy bằng cách nhấn vào nút có biểu tượng bút chì trên màn hình."
+ step3_3: "Nhập nội dung vào khung soạn thảo và nhấn nút đăng ở góc trên."
+ step3_4: "Chưa biết nói gì? Thử \"Tôi mới tham gia Misskey\"!"
+ step4_1: "Đăng xong tút đầu tiên của bạn?"
+ step4_2: "De! Tút đầu tiên của bạn đã hiện trên bảng tin."
+ step5_1: "Bây giờ, hãy thử làm cho bảng tin của bạn sinh động hơn bằng cách theo dõi những người khác."
+ step5_2: "{feature} sẽ hiển thị cho bạn các tút nổi bật trên máy chủ này. {explore} sẽ cho phép bạn tìm thấy những người dùng thú vị. Hãy thử tìm những người bạn muốn theo dõi ở đó!"
+ step5_3: "Để theo dõi những người dùng khác, hãy nhấn vào ảnh đại diện của họ và nhấn nút \"Theo dõi\" trên hồ sơ của họ."
+ step5_4: "Nếu người dùng khác có biểu tượng ổ khóa bên cạnh tên của họ, có thể mất một khoảng thời gian để người dùng đó phê duyệt yêu cầu theo dõi của bạn theo cách thủ công."
+ step6_1: "Bạn sẽ có thể xem tút của những người dùng khác trên bảng tin của mình ngay bây giờ."
+ step6_2: "Bạn cũng có thể đặt \"biểu cảm\" trên tút của người khác để phản hồi nhanh chúng."
+ step6_3: "Để đính kèm \"biểu cảm\", hãy nhấn vào dấu \"+\" trên tút của người dùng khác rồi chọn biểu tượng cảm xúc mà bạn muốn dùng."
+ step7_1: "Xin chúc mừng! Bây giờ bạn đã hoàn thành phần hướng dẫn cơ bản của Misskey."
+ step7_2: "Nếu bạn muốn tìm hiểu thêm về Misskey, hãy thử phần {help}."
+ step7_3: "Bây giờ, chúc may mắn và vui vẻ với Misskey! 🚀"
+_2fa:
+ alreadyRegistered: "Bạn đã đăng ký thiết bị xác minh 2 bước."
+ registerDevice: "Đăng ký một thiết bị"
+ registerKey: "Đăng ký một mã bảo vệ"
+ step1: "Trước tiên, hãy cài đặt một ứng dụng xác minh (chẳng hạn như {a} hoặc {b}) trên thiết bị của bạn."
+ step2: "Sau đó, quét mã QR hiển thị trên màn hình này."
+ step2Url: "Bạn cũng có thể nhập URL này nếu sử dụng một chương trình máy tính:"
+ step3: "Nhập mã token do ứng dụng của bạn cung cấp để hoàn tất thiết lập."
+ step4: "Kể từ bây giờ, những lần đăng nhập trong tương lai sẽ yêu cầu mã token đăng nhập đó."
+ securityKeyInfo: "Bên cạnh xác minh bằng vân tay hoặc mã PIN, bạn cũng có thể thiết lập xác minh thông qua khóa bảo mật phần cứng hỗ trợ FIDO2 để bảo mật hơn nữa cho tài khoản của mình."
+_permissions:
+ "read:account": "Xem thông tin tài khoản của bạn"
+ "write:account": "Sửa thông tin tài khoản của bạn"
+ "read:blocks": "Xem danh sách người bạn chặn"
+ "write:blocks": "Sửa danh sách người bạn chặn"
+ "read:drive": "Truy cập tập tin, thư mục trong Ổ đĩa"
+ "write:drive": "Sửa và xóa tập tin, thư mục trong Ổ đĩa"
+ "read:favorites": "Xem lượt thích của tôi"
+ "write:favorites": "Sửa lượt thích của tôi"
+ "read:following": "Xem những người bạn theo dõi"
+ "write:following": "Theo dõi hoặc ngưng theo dõi ai đó"
+ "read:messaging": "Xem lịch sử chat"
+ "write:messaging": "Soạn hoặc xóa tin nhắn"
+ "read:mutes": "Xem những người bạn ẩn"
+ "write:mutes": "Sửa những người bạn ẩn"
+ "write:notes": "Soạn hoặc xóa tút"
+ "read:notifications": "Xem thông báo của tôi"
+ "write:notifications": "Quản lý thông báo của tôi"
+ "read:reactions": "Xem lượt biểu cảm của tôi"
+ "write:reactions": "Sửa lượt biểu cảm của tôi"
+ "write:votes": "Bình chọn"
+ "read:pages": "Xem trang của tôi"
+ "write:pages": "Sửa hoặc xóa trang của tôi"
+ "read:page-likes": "Xem lượt thích trên trang của tôi"
+ "write:page-likes": "Sửa lượt thích của tôi trên trang"
+ "read:user-groups": "Xem nhóm của tôi"
+ "write:user-groups": "Sửa hoặc xóa nhóm của tôi"
+ "read:channels": "Xem kênh của tôi"
+ "write:channels": "Sửa kênh của tôi"
+ "read:gallery": "Xem kho ảnh của tôi"
+ "write:gallery": "Sửa kho ảnh của tôi"
+ "read:gallery-likes": "Xem danh sách các tút đã thích trong thư viện của tôi"
+ "write:gallery-likes": "Sửa danh sách các tút đã thích trong thư viện của tôi"
+_auth:
+ shareAccess: "Bạn có muốn cho phép \"{name}\" truy cập vào tài khoản này không?"
+ shareAccessAsk: "Bạn có chắc muốn cho phép ứng dụng này truy cập vào tài khoản của mình không?"
+ permissionAsk: "Ứng dụng này yêu cầu các quyền sau"
+ pleaseGoBack: "Vui lòng quay lại ứng dụng"
+ callback: "Quay lại ứng dụng"
+ denied: "Truy cập bị từ chối"
+_antennaSources:
+ all: "Toàn bộ tút"
+ homeTimeline: "Tút từ những người đã theo dõi"
+ users: "Tút từ những người cụ thể"
+ userList: "Tút từ danh sách người dùng cụ thể"
+ userGroup: "Tút từ người dùng trong một nhóm cụ thể"
+_weekday:
+ sunday: "Chủ Nhật"
+ monday: "Thứ Hai"
+ tuesday: "Thứ Ba"
+ wednesday: "Thứ Tư"
+ thursday: "Thứ Năm"
+ friday: "Thứ Sáu"
+ saturday: "Thứ Bảy"
+_widgets:
+ memo: "Tút đã ghim"
+ notifications: "Thông báo"
+ timeline: "Bảng tin"
+ calendar: "Lịch"
+ trends: "Xu hướng"
+ clock: "Đồng hồ"
+ rss: "Trình đọc RSS"
+ rssTicker: "RSS-Ticker"
+ activity: "Hoạt động"
+ photos: "Kho ảnh"
+ digitalClock: "Đồng hồ số"
+ unixClock: "Đồng hồ UNIX"
+ federation: "Liên hợp"
+ instanceCloud: "Instance cloud"
+ postForm: "Mẫu đăng"
+ slideshow: "Trình chiếu"
+ button: "Nút"
+ onlineUsers: "Ai đang online"
+ jobQueue: "Công việc chờ xử lý"
+ serverMetric: "Thống kê máy chủ"
+ aiscript: "AiScript console"
+ aichan: "Ai"
+_cw:
+ hide: "Ẩn"
+ show: "Tải thêm"
+ chars: "{count} ký tự"
+ files: "{count} tập tin"
+_poll:
+ noOnlyOneChoice: "Cần ít nhất hai lựa chọn."
+ choiceN: "Lựa chọn {n}"
+ noMore: "Bạn không thể thêm lựa chọn"
+ canMultipleVote: "Cho phép chọn nhiều lựa chọn"
+ expiration: "Thời hạn"
+ infinite: "Vĩnh viễn"
+ at: "Kết thúc vào..."
+ after: "Kết thúc sau..."
+ deadlineDate: "Ngày kết thúc"
+ deadlineTime: "giờ"
+ duration: "Thời hạn"
+ votesCount: "{n} bình chọn"
+ totalVotes: "{n} tổng bình chọn"
+ vote: "Bình chọn"
+ showResult: "Xem kết quả"
+ voted: "Đã bình chọn"
+ closed: "Đã kết thúc"
+ remainingDays: "{d} ngày {h} giờ còn lại"
+ remainingHours: "{h} giờ {m} phút còn lại"
+ remainingMinutes: "{m} phút {s}s còn lại"
+ remainingSeconds: "{s}s còn lại"
+_visibility:
+ public: "Công khai"
+ publicDescription: "Mọi người đều có thể đọc tút của bạn"
+ home: "Trang chính"
+ homeDescription: "Chỉ đăng lên bảng tin nhà"
+ followers: "Người theo dõi"
+ followersDescription: "Dành riêng cho người theo dõi"
+ specified: "Nhắn riêng"
+ specifiedDescription: "Chỉ người được nhắc đến mới thấy"
+ localOnly: "Chỉ trên máy chủ"
+ localOnlyDescription: "Không hiển thị với người ở máy chủ khác"
+_postForm:
+ replyPlaceholder: "Trả lời tút này"
+ quotePlaceholder: "Trích dẫn tút này"
+ channelPlaceholder: "Đăng lên một kênh"
+ _placeholders:
+ a: "Bạn đang định làm gì?"
+ b: "Hôm nay bạn có gì vui?"
+ c: "Bạn đang nghĩ gì?"
+ d: "Bạn muốn nói gì?"
+ e: "Bắt đầu viết..."
+ f: "Đang chờ bạn viết..."
+_profile:
+ name: "Tên"
+ username: "Tên người dùng"
+ description: "Tiểu sử"
+ youCanIncludeHashtags: "Bạn có thể dùng hashtag trong tiểu sử."
+ metadata: "Thông tin bổ sung"
+ metadataEdit: "Sửa thông tin bổ sung"
+ metadataDescription: "Sử dụng phần này, bạn có thể hiển thị các mục thông tin bổ sung trong hồ sơ của mình."
+ metadataLabel: "Nhãn"
+ metadataContent: "Nội dung"
+ changeAvatar: "Đổi ảnh đại diện"
+ changeBanner: "Đổi ảnh bìa"
+_exportOrImport:
+ allNotes: "Toàn bộ tút"
+ followingList: "Đang theo dõi"
+ muteList: "Ẩn"
+ blockingList: "Chặn"
+ userLists: "Danh sách"
+ excludeMutingUsers: "Loại trừ những người dùng bị ẩn"
+ excludeInactiveUsers: "Loại trừ những người dùng không hoạt động"
+_charts:
+ federation: "Liên hợp"
+ apRequest: "Yêu cầu"
+ usersIncDec: "Sự khác biệt về số lượng người dùng"
+ usersTotal: "Tổng số người dùng"
+ activeUsers: "Số người đang hoạt động"
+ notesIncDec: "Sự khác biệt về số lượng tút"
+ localNotesIncDec: "Sự khác biệt về số lượng tút máy chủ này"
+ remoteNotesIncDec: "Sự khác biệt về số lượng tút từ máy chủ khác"
+ notesTotal: "Tổng số sút"
+ filesIncDec: "Sự khác biệt về số lượng tập tin"
+ filesTotal: "Tổng số tập tin"
+ storageUsageIncDec: "Sự khác biệt về dung lượng lưu trữ"
+ storageUsageTotal: "Tổng dung lượng lưu trữ"
+_instanceCharts:
+ requests: "Lượt yêu cầu"
+ users: "Sự khác biệt về số lượng người dùng"
+ usersTotal: "Số lượng người dùng tích lũy"
+ notes: "Sự khác biệt về số lượng tút"
+ notesTotal: "Số lượng tút tích lũy"
+ ff: "Sự khác biệt về số lượng người dùng được theo dõi/người theo dõi"
+ ffTotal: "Số lượng người dùng được theo dõi/người theo dõi tích lũy"
+ cacheSize: "Sự khác biệt về dung lượng bộ nhớ đệm"
+ cacheSizeTotal: "Dung lượng bộ nhớ đệm tích lũy"
+ files: "Sự khác biệt về số lượng tập tin"
+ filesTotal: "Số lượng tập tin tích lũy"
+_timelines:
+ home: "Trang chính"
+ local: "Máy chủ này"
+ social: "Xã hội"
+ global: "Liên hợp"
+_pages:
+ newPage: "Tạo Trang mới"
+ editPage: "Sửa Trang này"
+ readPage: "Xem mã nguồn Trang này"
+ created: "Trang đã được tạo thành công"
+ updated: "Trang đã được cập nhật thành công"
+ deleted: "Trang đã được xóa thành công"
+ pageSetting: "Cài đặt trang"
+ nameAlreadyExists: "URL Trang đã tồn tại"
+ invalidNameTitle: "URL Trang không hợp lệ"
+ invalidNameText: "Không được để trống tựa đề Trang"
+ editThisPage: "Sửa Trang này"
+ viewSource: "Xem mã nguồn"
+ viewPage: "Xem trang của tôi"
+ like: "Thích"
+ unlike: "Bỏ thích"
+ my: "Trang của tôi"
+ liked: "Trang đã thích"
+ featured: "Nổi tiếng"
+ inspector: "Thanh tra"
+ contents: "Nội dung"
+ content: "Chặn Trang"
+ variables: "Biến thể"
+ title: "Tựa đề"
+ url: "URL Trang"
+ summary: "Mô tả Trang"
+ alignCenter: "Căn giữa"
+ hideTitleWhenPinned: "Ẩn tựa đề Trang khi ghim lên hồ sơ"
+ font: "Phông chữ"
+ fontSerif: "Serif"
+ fontSansSerif: "Sans Serif"
+ eyeCatchingImageSet: "Đặt ảnh thu nhỏ"
+ eyeCatchingImageRemove: "Xóa ảnh thu nhỏ"
+ chooseBlock: "Thêm khối"
+ selectType: "Chọn kiểu"
+ enterVariableName: "Nhập tên một biến thể"
+ variableNameIsAlreadyUsed: "Tên biến thể này đã được sử dụng"
+ contentBlocks: "Nội dung"
+ inputBlocks: "Nhập"
+ specialBlocks: "Đặc biệt"
+ blocks:
+ text: "Văn bản"
+ textarea: "Khu vực văn bản"
+ section: "Mục "
+ image: "Hình ảnh"
+ button: "Nút"
+ if: "Nếu"
+ _if:
+ variable: "Biến thể"
+ post: "Mẫu đăng"
+ _post:
+ text: "Nội dung"
+ attachCanvasImage: "Đính kèm hình canva"
+ canvasId: "ID Canva"
+ textInput: "Văn bản đầu vào"
+ _textInput:
+ name: "Tên biến thể"
+ text: "Tựa đề"
+ default: "Giá trị mặc định"
+ textareaInput: "Văn bản nhiều dòng đầu vào"
+ _textareaInput:
+ name: "Tên biến thể"
+ text: "Tựa đề"
+ default: "Giá trị mặc định"
+ numberInput: "Đầu vào số"
+ _numberInput:
+ name: "Tên biến thể"
+ text: "Tựa đề"
+ default: "Giá trị mặc định"
+ canvas: "Canva"
+ _canvas:
+ id: "ID Canva"
+ width: "Chiều rộng"
+ height: "Chiều cao"
+ note: "Tút đã nhúng"
+ _note:
+ id: "ID tút"
+ idDescription: "Ngoài ra, bạn có thể dán URL tút vào đây."
+ detailed: "Xem chi tiết"
+ switch: "Chuyển đổi"
+ _switch:
+ name: "Tên biến thể"
+ text: "Tựa đề"
+ default: "Giá trị mặc định"
+ counter: "Bộ đếm"
+ _counter:
+ name: "Tên biến thể"
+ text: "Tựa đề"
+ inc: "Bước"
+ _button:
+ text: "Tựa đề"
+ colored: "Với màu"
+ action: "Thao tác khi nhấn nút"
+ _action:
+ dialog: "Hiện hộp thoại"
+ _dialog:
+ content: "Nội dung"
+ resetRandom: "Đặt lại seed ngẫu nhiên"
+ pushEvent: "Gửi một sự kiện"
+ _pushEvent:
+ event: "Tên sự kiện"
+ message: "Tin nhắn hiển thị khi kích hoạt"
+ variable: "Biển thể để gửi"
+ no-variable: "Không"
+ callAiScript: "Gọi AiScript"
+ _callAiScript:
+ functionName: "Tên tính năng"
+ radioButton: "Lựa chọn"
+ _radioButton:
+ name: "Tên biến thể"
+ title: "Tựa đề"
+ values: "Phân tách các mục bằng cách xuống dòng"
+ default: "Giá trị mặc định"
+ script:
+ categories:
+ flow: "Điều khiển"
+ logical: "Hoạt động logic"
+ operation: "Tính toán"
+ comparison: "So sánh"
+ random: "Ngẫu nhiên"
+ value: "Giá trị"
+ fn: "Tính năng"
+ text: "Tác vụ văn bản"
+ convert: "Chuyển đổi"
+ list: "Danh sách"
+ blocks:
+ text: "Văn bản"
+ multiLineText: "Văn bản (nhiều dòng)"
+ textList: "Văn bản liệt kê"
+ _textList:
+ info: "Phân tách mục bằng cách xuống dòng"
+ strLen: "Độ dài văn bản"
+ _strLen:
+ arg1: "Văn bản"
+ strPick: "Trích xuất chuỗi"
+ _strPick:
+ arg1: "Văn bản"
+ arg2: "Vị trí chuỗi"
+ strReplace: "Thay thế chuỗi"
+ _strReplace:
+ arg1: "Nội dung"
+ arg2: "Văn bản thay thế"
+ arg3: "Thay thế bằng"
+ strReverse: "Lật văn bản"
+ _strReverse:
+ arg1: "Văn bản"
+ join: "Nối văn bản"
+ _join:
+ arg1: "Danh sách"
+ arg2: "Phân cách"
+ add: "Cộng"
+ _add:
+ arg1: "A"
+ arg2: "B"
+ subtract: "Trừ"
+ _subtract:
+ arg1: "A"
+ arg2: "B"
+ multiply: "Nhân"
+ _multiply:
+ arg1: "A"
+ arg2: "B"
+ divide: "Chia"
+ _divide:
+ arg1: "A"
+ arg2: "B"
+ mod: "Phần còn lại"
+ _mod:
+ arg1: "A"
+ arg2: "B"
+ round: "Làm tròn thập phân"
+ _round:
+ arg1: "Số"
+ eq: "A và B bằng nhau"
+ _eq:
+ arg1: "A"
+ arg2: "B"
+ notEq: "A và B khác nhau"
+ _notEq:
+ arg1: "A"
+ arg2: "B"
+ and: "A VÀ B"
+ _and:
+ arg1: "A"
+ arg2: "B"
+ or: "A HOẶC B"
+ _or:
+ arg1: "A"
+ arg2: "B"
+ lt: "< A nhỏ hơn B"
+ _lt:
+ arg1: "A"
+ arg2: "B"
+ gt: "> A lớn hơn B"
+ _gt:
+ arg1: "A"
+ arg2: "B"
+ ltEq: "<= A nhỏ hơn hoặc bằng B"
+ _ltEq:
+ arg1: "A"
+ arg2: "B"
+ gtEq: ">= A lớn hơn hoặc bằng B"
+ _gtEq:
+ arg1: "A"
+ arg2: "B"
+ if: "Nhánh"
+ _if:
+ arg1: "Nếu"
+ arg2: "Sau đó"
+ arg3: "Khác"
+ not: "KHÔNG"
+ _not:
+ arg1: "KHÔNG"
+ random: "Ngẫu nhiên"
+ _random:
+ arg1: "Xác suất"
+ rannum: "Số ngẫu nhiên"
+ _rannum:
+ arg1: "Giá trị tối thiểu"
+ arg2: "Giá trị tối đa"
+ randomPick: "Chọn ngẫu nhiên từ danh sách"
+ _randomPick:
+ arg1: "Danh sách"
+ dailyRandom: "Ngẫu nhiên (Đổi mỗi người một lần mỗi ngày)"
+ _dailyRandom:
+ arg1: "Xác suất"
+ dailyRannum: "Số ngẫu nhiên (Đổi mỗi người một lần mỗi ngày)"
+ _dailyRannum:
+ arg1: "Giá trị tối thiểu"
+ arg2: "Giá trị tối đa"
+ dailyRandomPick: "Chọn ngẫu nhiên từ một danh sách (Đổi mỗi người một lần mỗi ngày)"
+ _dailyRandomPick:
+ arg1: "Danh sách"
+ seedRandom: "Ngẫu nhiên (với seed)"
+ _seedRandom:
+ arg1: "Seed"
+ arg2: "Xác suất"
+ seedRannum: "Số ngẫu nhiên (với seed)"
+ _seedRannum:
+ arg1: "Seed"
+ arg2: "Giá trị tối thiểu"
+ arg3: "Giá trị tối đa"
+ seedRandomPick: "Chọn ngẫu nhiên từ danh sách (với seed)"
+ _seedRandomPick:
+ arg1: "Seed"
+ arg2: "Danh sách"
+ DRPWPM: "Chọn ngẫu nhiên từ danh sách nặng (Đổi mỗi người một lần mỗi ngày)"
+ _DRPWPM:
+ arg1: "Văn bản liệt kê"
+ pick: "Chọn từ danh sách"
+ _pick:
+ arg1: "Danh sách"
+ arg2: "Vị trí"
+ listLen: "Lấy độ dài danh sách"
+ _listLen:
+ arg1: "Danh sách"
+ number: "Số"
+ stringToNumber: "Chữ thành số"
+ _stringToNumber:
+ arg1: "Văn bản"
+ numberToString: "Số thành chữ"
+ _numberToString:
+ arg1: "Số"
+ splitStrByLine: "Phân cách văn bản bằng cách xuống dòng"
+ _splitStrByLine:
+ arg1: "Văn bản"
+ ref: "Biến thể"
+ aiScriptVar: "Biển thể AiScript"
+ fn: "Tính năng"
+ _fn:
+ slots: "Chỗ"
+ slots-info: "Phân cách chỗ bằng cách xuống dòng"
+ arg1: "Đầu ra"
+ for: "để-Lặp lại"
+ _for:
+ arg1: "Số lần lặp lại"
+ arg2: "Hành động"
+ typeError: "Chỗ {slot} chấp nhận các giá trị thuộc loại \"{expect}\", nhưng giá trị được cung cấp thuộc loại \"{actual}\"!"
+ thereIsEmptySlot: "Chỗ {slot} đang trống!"
+ types:
+ string: "Văn bản"
+ number: "Số"
+ boolean: "Cờ"
+ array: "Danh sách"
+ stringArray: "Văn bản liệt kê"
+ emptySlot: "Chỗ trống"
+ enviromentVariables: "Biến môi trường"
+ pageVariables: "Biến trang"
+ argVariables: "Đầu vào chỗ"
+_relayStatus:
+ requesting: "Đang chờ"
+ accepted: "Đã duyệt"
+ rejected: "Đã từ chối"
+_notification:
+ fileUploaded: "Đã tải lên tập tin"
+ youGotMention: "{name} nhắc đến bạn"
+ youGotReply: "{name} trả lời bạn"
+ youGotQuote: "{name} trích dẫn tút của bạn"
+ youRenoted: "{name} đăng lại tút của bạn"
+ youGotPoll: "{name} bình chọn tút của bạn"
+ youGotMessagingMessageFromUser: "{name} nhắn tin cho bạn"
+ youGotMessagingMessageFromGroup: "Một tin nhắn trong nhóm {name}"
+ youWereFollowed: "đã theo dõi bạn"
+ youReceivedFollowRequest: "Bạn vừa có một yêu cầu theo dõi"
+ yourFollowRequestAccepted: "Yêu cầu theo dõi của bạn đã được chấp nhận"
+ youWereInvitedToGroup: "Bạn đã được mời tham gia nhóm"
+ pollEnded: "Cuộc bình chọn đã kết thúc"
+ emptyPushNotificationMessage: "Đã cập nhật thông báo đẩy"
+ _types:
+ all: "Toàn bộ"
+ follow: "Đang theo dõi"
+ mention: "Nhắc đến"
+ reply: "Lượt trả lời"
+ renote: "Đăng lại"
+ quote: "Trích dẫn"
+ reaction: "Biểu cảm"
+ pollVote: "Lượt bình chọn"
+ pollEnded: "Bình chọn kết thúc"
+ receiveFollowRequest: "Yêu cầu theo dõi"
+ followRequestAccepted: "Yêu cầu theo dõi được chấp nhận"
+ groupInvited: "Mời vào nhóm"
+ app: "Từ app liên kết"
+ _actions:
+ followBack: "đã theo dõi lại bạn"
+ reply: "Trả lời"
+ renote: "Đăng lại"
+_deck:
+ alwaysShowMainColumn: "Luôn hiện cột chính"
+ columnAlign: "Căn cột"
+ addColumn: "Thêm cột"
+ configureColumn: "Cài đặt cột"
+ swapLeft: "Hoán đổi với cột bên trái"
+ swapRight: "Hoán đổi với cột bên phải"
+ swapUp: "Hoán đổi với cột trên"
+ swapDown: "Hoán đổi với cột dưới"
+ stackLeft: "Xếp chồng với cột bên trái"
+ popRight: "Xếp chồng với cột bên trái"
+ profile: "Hồ sơ"
+ newProfile: "Hồ sơ mới"
+ deleteProfile: "Xóa hồ sơ"
+ introduction: "Kết hợp các cột để tạo giao diện của riêng bạn!"
+ introduction2: "Bạn có thể thêm cột bất kỳ lúc nào bằng cách nhấn + ở bên phải màn hình."
+ widgetsIntroduction: "Chọn \"Sửa widget\" trong menu cột và thêm một widget."
+ _columns:
+ main: "Chính"
+ widgets: "Tiện ích"
+ notifications: "Thông báo"
+ tl: "Bảng tin"
+ antenna: "Trạm phát sóng"
+ list: "Danh sách"
+ mentions: "Lượt nhắc"
+ direct: "Nhắn riêng"
diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml
index 0573022dc..1b6f29667 100644
--- a/locales/zh-CN.yml
+++ b/locales/zh-CN.yml
@@ -7,12 +7,13 @@ search: "搜索"
notifications: "通知"
username: "用户名"
password: "密码"
-fetchingAsApObject: "联合查询中"
+forgotPassword: "忘记密码"
+fetchingAsApObject: "正在联邦宇宙查询中..."
ok: "OK"
gotIt: "我明白了"
cancel: "取消"
enterUsername: "输入用户名"
-renotedBy: "{user} 转发了"
+renotedBy: "由 {user} 转贴"
noNotes: "没有帖文"
noNotifications: "无通知"
instance: "实例"
@@ -51,6 +52,7 @@ searchUser: "搜索用户"
reply: "回复"
loadMore: "查看更多"
showMore: "查看更多"
+showLess: "关闭"
youGotNewFollower: "你有新的关注者"
receiveFollowRequest: "您收到了关注请求"
followRequestAccepted: "您的关注请求被通过了"
@@ -62,51 +64,54 @@ import: "导入"
export: "导出"
files: "文件"
download: "下载"
-driveFileDeleteConfirm: "要删除「{name}」文件吗?附加此文件的帖子也会消失。"
+driveFileDeleteConfirm: "要删除「{name}」文件吗?附加此文件的帖子也会被删除。"
unfollowConfirm: "要取消对{name}的关注吗?"
-exportRequested: "导出请求已提交。可能需要花一些时间。导出的文件将保存到网盘中。"
-importRequested: "导入请求已提交。这可能需要花一点时间。"
+exportRequested: "导出请求已提交,这可能需要花一些时间,导出的文件将保存到网盘中。"
+importRequested: "导入请求已提交,这可能需要花一点时间。"
lists: "列表"
noLists: "列表为空"
note: "帖子"
notes: "帖子"
following: "关注中"
followers: "关注者"
-followsYou: "关注了你"
+followsYou: "正在关注你"
createList: "创建列表"
manageLists: "管理列表"
error: "错误"
-somethingHappened: "出现了问题"
+somethingHappened: "出现了一些问题!"
retry: "重试"
pageLoadError: "页面加载失败。"
pageLoadErrorDescription: "这通常是由于网络或浏览器缓存的原因。请清除缓存或等待片刻后重试。"
+serverIsDead: "服务器没有响应。 请稍等片刻,然后重试。"
+youShouldUpgradeClient: "请重新加载并使用新版本的客户端查看此页面。"
enterListName: "输入列表名称"
privacy: "隐私"
-makeFollowManuallyApprove: "关注者请求需要批准"
+makeFollowManuallyApprove: "关注请求需要批准"
defaultNoteVisibility: "默认可见性"
follow: "关注"
followRequest: "关注申请"
followRequests: "关注申请"
unfollow: "取消关注"
-followRequestPending: "发送关注申请"
+followRequestPending: "发送关注请求"
enterEmoji: "输入表情符号"
renote: "转发"
unrenote: "取消转发"
renoted: "已转发。"
-cantRenote: "该帖子无法转发。"
+cantRenote: "该帖无法转发。"
cantReRenote: "转发无法被再次转发。"
quote: "引用"
pinnedNote: "已置顶的帖子"
+pinned: "置顶"
you: "您"
clickToShow: "点击以显示"
-sensitive: "阅读注意"
+sensitive: "敏感内容"
add: "添加"
reaction: "回应"
-reactionSettingDescription: "选择您想要置顶的回应。"
+reactionSetting: "在选择器中显示的回应"
reactionSettingDescription2: "拖动重新排序,单击删除,点击 + 添加。"
-rememberNoteVisibility: "记录公开范围"
+rememberNoteVisibility: "保存上次设置的可见性"
attachCancel: "删除附件"
-markAsSensitive: "阅读注意"
+markAsSensitive: "标记为敏感内容"
unmarkAsSensitive: "取消标记为敏感内容"
enterFileName: "请输入文件名"
mute: "屏蔽"
@@ -120,24 +125,27 @@ unblockConfirm: "确定要解除拉黑吗?"
suspendConfirm: "要冻结吗?"
unsuspendConfirm: "要解除冻结吗?"
selectList: "选择列表"
-selectAntenna: "天线选择"
+selectAntenna: "选择天线"
selectWidget: "选择小工具"
-editWidgets: "编辑小工具"
+editWidgets: "编辑部件"
editWidgetsExit: "完成编辑"
customEmojis: "自定义表情符号"
emoji: "表情符号"
+emojis: "表情符号"
emojiName: "表情符号名称"
emojiUrl: "表情符号地址"
addEmoji: "添加表情符号"
settingGuide: "推荐配置"
cacheRemoteFiles: "远程文件缓存"
cacheRemoteFilesDescription: "当禁用此设定时远程文件将直接从远程实例载入。禁用后会减小储存空间需求,但是会增加流量,因为缩略图不会被生成。"
-flagAsBot: "这个账户是Bot"
+flagAsBot: "这是一个机器人账号"
flagAsBotDescription: "如果此帐户由程序控制,请启用此项。启用后,此标志可以帮助其他开发人员防止机器人之间产生无限互动的行为,并让Misskey的内部系统将此帐户识别为机器人。"
-flagAsCat: "这个账户是Cat"
-flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。"
-autoAcceptFollowed: "自动允许关注"
-addAcount: "添加账户"
+flagAsCat: "将这个账户设定为一只猫"
+flagAsCatDescription: "如果您想表明此帐户是一只猫,请打开此标志。\n开启后,会在您的头像上出现猫耳朵,并将你的帖子中的「na」替换为「nya」,日文同理。"
+flagShowTimelineReplies: "在时间线上显示帖子的回复"
+flagShowTimelineRepliesDescription: "启用时,时间线除了显示用户的帖子外,还会显示其他用户对帖子的回复。"
+autoAcceptFollowed: "自动允许关注者的关注"
+addAccount: "添加账户"
loginFailed: "登录失败"
showOnRemote: "转到所在实例显示"
general: "常规设置"
@@ -148,14 +156,14 @@ searchWith: "搜索:{q}"
youHaveNoLists: "列表为空"
followConfirm: "你确定要关注{name}吗?"
proxyAccount: "代理账户"
-proxyAccountDescription: "代理帐户是在某些情况下充当用户的远程关注者的帐户。 例如,当一个用户列出一个远程用户时,如果没有人跟随该列出的用户,则该活动将不会传递到该实例,因此将代之以代理帐户。"
+proxyAccountDescription: "代理账户是在某些情况下充当用户的远程关注者的账户。 例如,当一个用户列出一个远程用户时,如果没有人跟随该列出的用户,则该活动将不会传递到该实例,因此将代之以代理账户。"
host: "主机名"
selectUser: "选择用户"
recipient: "收件人"
annotation: "注解"
federation: "联合"
instances: "实例"
-registeredAt: "初次观察"
+registeredAt: "初次观测"
latestRequestSentAt: "上次发送的请求"
latestRequestReceivedAt: "上次收到的请求"
latestStatus: "最后状态"
@@ -164,15 +172,15 @@ charts: "图表"
perHour: "每小时"
perDay: "每天"
stopActivityDelivery: "停止发送活动"
-blockThisInstance: "阻止此实例"
+blockThisInstance: "阻止此实例向本实例推流"
operations: "操作"
software: "软件"
version: "版本"
metadata: "元数据"
withNFiles: "{n}个文件"
-monitor: "监视器"
+monitor: "服务器状态"
jobQueue: "作业队列"
-cpuAndMemory: "CPU使用量"
+cpuAndMemory: "CPU和内存"
network: "网络"
disk: "存储"
instanceInfo: "实例信息"
@@ -193,9 +201,10 @@ noteDeleteConfirm: "要删除该帖子吗?"
pinLimitExceeded: "无法置顶更多了"
intro: "Misskey的部署结束啦!填写管理员账号吧!"
done: "完成"
-processing: "处理中"
+processing: "正在处理"
preview: "预览"
default: "默认"
+defaultValueIs: "默认值: {value}"
noCustomEmojis: "没有自定义表情符号"
noJobs: "没有任务"
federating: "联合中"
@@ -209,7 +218,7 @@ instanceFollowing: "关注实例"
instanceFollowers: "关注实例"
instanceUsers: "实例用户"
changePassword: "修改密码"
-security: "安全性"
+security: "安全"
retypedNotMatch: "两次输入不一致!"
currentPassword: "现在的密码"
newPassword: "新密码"
@@ -229,24 +238,25 @@ deleteAreYouSure: "要删掉「{x}」吗?"
resetAreYouSure: "恢复默认设置?"
saved: "已保存"
messaging: "聊天"
-upload: "上传"
+upload: "本地上传"
+keepOriginalUploading: "保留原图"
+keepOriginalUploadingDescription: "上传图片时保留原始图片。关闭时,浏览器会在上传时生成一张用于web发布的图片。"
fromDrive: "从网盘中"
fromUrl: "从 URL"
uploadFromUrl: "从网址上传"
-uploadFromUrlDescription: "要上传的文件的URL"
+uploadFromUrlDescription: "输入文件的URL"
uploadFromUrlRequested: "请求上传"
uploadFromUrlMayTakeTime: "上传可能需要一些时间完成。"
explore: "发现"
-games: "Misskey游戏"
messageRead: "已读"
noMoreHistory: "没有更多的历史记录"
-startMessaging: "开始聊天"
+startMessaging: "添加聊天"
nUsersRead: "{n}人已读"
-agreeTo: "{0}人同意"
+agreeTo: "勾选则表示已阅读并同意{0}"
tos: "服务条款"
start: "开始"
home: "首页"
-remoteUserCaution: "由于是远程用户,信息不完整。"
+remoteUserCaution: "由于此用户来自其它实例,显示的信息可能不完整。"
activity: "活动"
images: "图片"
birthday: "生日"
@@ -258,8 +268,8 @@ themeForLightMode: "在浅色模式下使用的主题"
themeForDarkMode: "在深色模式下使用的主题"
light: "浅色"
dark: "深色"
-lightThemes: "亮色主题"
-darkThemes: "暗色主题"
+lightThemes: "浅色主题"
+darkThemes: "深色主题"
syncDeviceDarkMode: "将深色模式与设备设置同步"
drive: "网盘"
fileName: "文件名称"
@@ -273,23 +283,24 @@ createFolder: "创建文件夹"
renameFolder: "重命名文件夹"
deleteFolder: "删除文件夹"
addFile: "添加文件"
-emptyDrive: "驱动器为空"
-emptyFolder: "空文件夹"
+emptyDrive: "网盘中无文件"
+emptyFolder: "此文件夹中无文件"
unableToDelete: "无法删除"
inputNewFileName: "请输入新文件名"
-inputNewFolderName: "请输入新文件名"
+inputNewDescription: "请输入新标题"
+inputNewFolderName: "请输入新文件夹名"
circularReferenceFolder: "目标文件夹是您要移动的文件夹的子文件夹。"
-hasChildFilesOrFolders: "此文件夹不为空,无法删除。"
+hasChildFilesOrFolders: "此文件夹中有文件,无法删除。"
copyUrl: "复制链接"
rename: "重命名"
avatar: "头像"
-banner: "Banner"
-nsfw: "阅读注意"
+banner: "横幅"
+nsfw: "敏感内容"
whenServerDisconnected: "与服务器连接中断时"
-disconnectedFromServer: "已从服务器断开连接"
+disconnectedFromServer: "已和服务器断开连接"
reload: "重新加载"
-doNothing: "什么都不做"
-reloadConfirm: "确定要重新加载吗"
+doNothing: "关闭弹窗"
+reloadConfirm: "确定要重新加载吗?"
watch: "关注"
unwatch: "取消关注"
accept: "允许"
@@ -308,27 +319,26 @@ monthX: "{month}月"
yearX: "{year}年"
pages: "页面"
integration: "关联"
-connectSerice: "已连接"
-disconnectSerice: "断开连接"
+connectService: "连接"
+disconnectService: "断开连接"
enableLocalTimeline: "启用本地时间线功能"
enableGlobalTimeline: "启用全局时间线"
-disablingTimelinesInfo: "即使时间线功能被禁用,出于便利性的原因,管理员和数据图表也可以继续使用。"
+disablingTimelinesInfo: "即使时间线功能被禁用,出于方便,管理员和数据图表也可以继续使用。"
registration: "注册"
enableRegistration: "允许新用户注册"
invite: "邀请"
-proxyRemoteFiles: "代理远程文件"
-proxyRemoteFilesDescription: "启用此设置后,由于超出存储容量而导致未保存被删除的远程文件将被本地代理,并且会生成缩略图。不会影响服务器的存储。"
driveCapacityPerLocalAccount: "每个用户的网盘空间"
driveCapacityPerRemoteAccount: "每个远程用户的网盘容量"
-inMb: "以兆字节(Mbps)为单位"
+inMb: "以兆字节(MegaByte)为单位"
iconUrl: "图标URL"
-bannerUrl: "Banner URL"
+bannerUrl: "横幅URL"
+backgroundImageUrl: "背景图URL"
basicInfo: "基本信息"
pinnedUsers: "置顶用户"
pinnedUsersDescription: "在「发现」页面中使用换行标记想要置顶的用户。"
pinnedPages: "固定页面"
pinnedPagesDescription: "输入您要固定到实例首页的页面路径,以换行符分隔。"
-pinnedClipId: "置顶的片段ID"
+pinnedClipId: "置顶的便签ID"
pinnedNotes: "已置顶的帖子"
hcaptcha: "hCaptcha"
enableHcaptcha: "启用 hCaptcha"
@@ -346,14 +356,13 @@ antennaSource: "接收来源"
antennaKeywords: "包含关键字"
antennaExcludeKeywords: "排除关键字"
antennaKeywordsDescription: "使用空格分隔会产生AND规范,并且使用换行符分隔会产生OR规范"
-notifyAntenna: "通知新帖子"
+notifyAntenna: "开启通知"
withFileAntenna: "仅带有附件的帖子"
-serviceworker: "ServiceWorker"
enableServiceworker: "启用ServiceWorker"
antennaUsersDescription: "指定用户名,用换行符分隔"
caseSensitive: "区分大小写"
withReplies: "包括回复"
-connectedTo: "您的账号已连到接以下社交账号"
+connectedTo: "您的账号已连到接以下第三方账号"
notesAndReplies: "帖子与回复"
withFiles: "附件"
silence: "禁言"
@@ -361,19 +370,20 @@ silenceConfirm: "确认要禁言吗?"
unsilence: "解除禁言"
unsilenceConfirm: "要解除禁言吗?"
popularUsers: "热门用户"
-recentlyUpdatedUsers: "最近投稿用户"
-recentlyRegisteredUsers: "最近登录用户"
+recentlyUpdatedUsers: "最近投稿的用户"
+recentlyRegisteredUsers: "最近登录的用户"
recentlyDiscoveredUsers: "最近发现的用户"
exploreUsersCount: "有{count}个用户"
-exploreFediverse: "探索Fediverse"
+exploreFediverse: "探索联邦宇宙"
popularTags: "热门标签"
userList: "列表"
about: "关于"
aboutMisskey: "关于 Misskey"
administrator: "管理员"
-token: "令牌"
+token: "Token (令牌)"
twoStepAuthentication: "两步验证"
-moderator: "版主"
+moderator: "监察员"
+moderation: "管理"
nUsersMentioned: "{n} 被提到"
securityKey: "安全密钥"
securityKeyName: "密钥名称"
@@ -413,9 +423,8 @@ next: "下一个"
retype: "重新输入"
noteOf: "{user}的帖子"
inviteToGroup: "群组邀请"
-maxNoteTextLength: "帖子的字数限制"
quoteAttached: "已引用"
-quoteQuestion: "是否将其作为引用附上?"
+quoteQuestion: "是否引用此链接内容?"
noMessagesYet: "现在没有新的聊天"
newMessageExists: "新信息"
onlyOneFileCanBeAttached: "只能添加一个附件"
@@ -434,13 +443,15 @@ strongPassword: "密码强度:强"
passwordMatched: "密码一致"
passwordNotMatched: "密码不一致"
signinWith: "以{x}登录"
-signinFailed: "无法登录,请检查您的用户名和密码。"
+signinFailed: "无法登录,请检查您的用户名和密码是否正确。"
tapSecurityKey: "轻触硬件安全密钥"
or: "或者"
+language: "语言"
uiLanguage: "显示语言"
-groupInvited: "群组招待"
+groupInvited: "您有新的群组邀请"
aboutX: "关于 {x}"
-useOsNativeEmojis: "使用OS原生表情符号"
+useOsNativeEmojis: "使用系统的原生表情符号"
+disableDrawer: "不显示抽屉菜单"
youHaveNoGroups: "没有群组"
joinOrCreateGroup: "请加入一个现有的群组,或者创建新群组。"
noHistory: "没有历史记录"
@@ -451,12 +462,12 @@ category: "类别"
tags: "标签"
docSource: "文件来源"
createAccount: "注册账户"
-existingAcount: "现有的帐户"
+existingAccount: "现有的账户"
regenerate: "重新生成"
fontSize: "字体大小"
noFollowRequests: "没有关注申请"
openImageInNewTab: "在新标签页中打开图片"
-dashboard: "Dashboard"
+dashboard: "管理面板"
local: "本地"
remote: "远程"
total: "总计"
@@ -472,14 +483,14 @@ hideThisNote: "隐藏这条帖子"
showFeaturedNotesInTimeline: "在时间线上显示热门推荐"
objectStorage: "对象存储"
useObjectStorage: "使用对象存储"
-objectStorageBaseUrl: "基本网址"
-objectStorageBaseUrlDesc: "URL前缀,用于构造URL到对象(媒体)的引用,如果您使用的是CDN或反向代理,请指定其URL,否则请根据您使用的服务指定可公开访问的地址。例如“https://.s3.amazonaws.com”用于AWS S3,“https://storage.googleapis.com/”用于GCS"
+objectStorageBaseUrl: "Base URL"
+objectStorageBaseUrlDesc: "用于引用的URL。如果您正在使用CDN或反向代理,请指定其URL,例如S3:“https://.s3.amazonaws.com”,GCS:“https://storage.googleapis.com/”"
objectStorageBucket: "存储桶"
objectStorageBucketDesc: "请指定使用的对象存储服务的存储桶名称。"
objectStoragePrefix: "前缀"
objectStoragePrefixDesc: "文件将存储在此前缀的目录下。"
objectStorageEndpoint: "端点"
-objectStorageEndpointDesc: "如果你希望使用AWS S3请留空。否则请根据你使用的服务来进行设置,指定端点形式为“”或“:”。"
+objectStorageEndpointDesc: "如果你使用AWS S3请留空。否则请根据你使用的服务商的说明来进行设置,指定端点形式为“”或“:”。"
objectStorageRegion: "可用区"
objectStorageRegionDesc: "指定一个可用区,例如“xx-east-1”。 如果您的对象存储服务没有可用区概念,请将其留空或填写“us-east-1”。"
objectStorageUseSSL: "使用SSL"
@@ -488,12 +499,12 @@ objectStorageUseProxy: "使用代理"
objectStorageUseProxyDesc: "如果您不使用代理进行API连接,请将其关闭。"
objectStorageSetPublicRead: "上传时设置为public-read"
serverLogs: "服务器日志"
-deleteAll: "删除全部"
-showFixedPostForm: "在时间线顶部显示帖子表单"
+deleteAll: "全部删除"
+showFixedPostForm: "在时间线顶部显示发帖框"
newNoteRecived: "有新的帖子"
-sounds: "声音"
-listen: "听"
-none: "空"
+sounds: "提示音"
+listen: "试听"
+none: "无"
showInPage: "在页面中显示"
popout: "弹窗"
volume: "音量"
@@ -505,15 +516,15 @@ recentUsed: "最近使用"
install: "安装"
uninstall: "卸载"
installedApps: "已授权的应用"
-nothing: "没什么"
+nothing: "没有"
installedDate: "授权日期"
lastUsedDate: "最近使用"
state: "状态"
sort: "排序"
ascendingOrder: "升序"
descendingOrder: "降序"
-scratchpad: "便签本"
-scratchpadDescription: "便签本为AiScript提供了实验环境。您可以编写代码以与Misskey交互,运行它并查看结果。"
+scratchpad: "AiScript控制台"
+scratchpadDescription: "AiScript控制台为AiScript提供了实验环境。您可以编写代码以与Misskey交互,运行它并查看结果。"
output: "输出"
script: "脚本"
disablePagesScript: "禁用页面脚本"
@@ -524,10 +535,11 @@ removeAllFollowing: "取消所有关注"
removeAllFollowingDescription: "取消{host}的所有关注者。当实例不存在时执行。"
userSuspended: "该用户已被冻结。"
userSilenced: "该用户已被禁言。"
-sidebar: "侧边栏"
+yourAccountSuspendedTitle: "账户已被冻结"
+yourAccountSuspendedDescription: "由于违反了服务器的服务条款或其他原因,该账户已被冻结。 您可以与管理员联系以了解更多信息。 请不要创建一个新的账户。"
+menu: "菜单"
divider: "分割线"
-addItem: "添加项"
-rooms: "房间"
+addItem: "添加项目"
relays: "中继"
addRelay: "添加中继"
inboxUrl: "Inbox URL"
@@ -541,17 +553,19 @@ poll: "调查问卷"
useCw: "隐藏内容"
enablePlayer: "打开播放器"
disablePlayer: "关闭播放器"
-expandTweet: "展开贴文"
+expandTweet: "展开帖子"
themeEditor: "主题编辑器"
description: "描述"
+describeFile: "添加标题"
+enterFileDescription: "输入标题"
author: "作者"
leaveConfirm: "存在未保存的更改。要放弃更改吗?"
manage: "管理"
plugins: "插件"
-pluginInstallWarn: "请不要安装不明来源的插件"
+preferencesBackups: "备份设置"
deck: "Deck"
undeck: "取消Deck"
-useBlurEffectForModal: "模态框使用模糊效果"
+useBlurEffectForModal: "对话框使用模糊效果"
useFullReactionPicker: "使用全功能的回应工具栏"
width: "宽度"
height: "高度"
@@ -567,7 +581,7 @@ pluginTokenRequestedDescription: "此插件将能够拥有此处设置的权限"
notificationType: "通知类型"
edit: "编辑"
useStarForReactionFallback: "如果回应的是未知表情符号,则使用★作为代替"
-emailConfig: "邮件服务器设置"
+emailServer: "邮件服务器"
enableEmail: "启用发送邮件功能"
emailConfigInfo: "用于确认电子邮件和密码重置"
email: "邮箱"
@@ -582,34 +596,41 @@ smtpSecure: "在 SMTP 连接中使用隐式 SSL / TLS"
smtpSecureInfo: "使用STARTTLS时关闭。"
testEmail: "邮件发送测试"
wordMute: "文字屏蔽"
+regexpError: "正则表达式错误"
+regexpErrorDescription: "{tab} 屏蔽文字的第 {line} 行的正则表达式有错误:"
+instanceMute: "实例的屏蔽"
userSaysSomething: "{name}说了什么"
-makeActive: "激活"
+makeActive: "启用"
display: "显示"
copy: "复制"
-metrics: "指标"
-overview: "概述"
+metrics: "服务器监控"
+overview: "服务器概况"
logs: "日志"
-delayed: "延迟"
+delayed: "滞后"
database: "数据库"
channel: "频道"
create: "创建"
notificationSetting: "通知设置"
notificationSettingDesc: "选择要显示的通知类型。"
useGlobalSetting: "使用全局设置"
-useGlobalSettingDesc: "启用时,将使用帐户通知设置。关闭时,则可以单独设置。"
+useGlobalSettingDesc: "启用时,将使用账户通知设置。关闭时,则可以单独设置。"
other: "其他"
regenerateLoginToken: "重新生成登录令牌"
regenerateLoginTokenDescription: "重新生成用于登录的内部令牌。通常您不需要这样做。重新生成后,您将在所有设备上登出。"
setMultipleBySeparatingWithSpace: "您可以使用空格分隔多个项目。"
fileIdOrUrl: "文件ID或者URL"
-chatOpenBehavior: "聊天窗口打开时的行为"
behavior: "行为"
sample: "示例"
abuseReports: "举报"
reportAbuse: "举报"
reportAbuseOf: "举报{name}"
fillAbuseReportDescription: "请填写举报的详细原因。如果有对方发的帖子,请同时填写URL地址。"
-abuseReported: "内容已发送。感谢您的报告。"
+abuseReported: "内容已发送。感谢您提交信息。"
+reporter: "举报者"
+reporteeOrigin: "举报来源"
+reporterOrigin: "举报者来源"
+forwardReport: "将该举报信息转发给远程实例"
+forwardReportIsAnonymous: "勾选则在远程实例上显示的举报者是匿名的系统账号,而不是您的账号。"
send: "发送"
abuseMarkAsResolved: "处理完毕"
openInNewTab: "在新标签页中打开"
@@ -622,33 +643,35 @@ random: "随机"
system: "系统"
switchUi: "切换界面"
desktop: "桌面"
-clip: "片段"
+clip: "便签"
createNew: "新建"
optional: "可选"
-createNewClip: "新建片段"
+createNewClip: "新建便签"
+unclip: "移除便签"
+confirmToUnclipAlreadyClippedNote: "本帖已包含在便签\"{name}\"里。您想要将本帖从该便签中移除吗?"
public: "公开"
-i18nInfo: "Misskey已经被志愿者们翻译到了各种语言。如果你也有兴趣,可以通过{link}帮助翻译。"
+i18nInfo: "Misskey已经被志愿者们翻译成了各种语言。如果你也有兴趣,可以通过{link}帮助翻译。"
manageAccessTokens: "管理 Access Tokens"
-accountInfo: "帐户信息"
-notesCount: "贴文数量"
+accountInfo: "账户信息"
+notesCount: "帖子数量"
repliesCount: "回复数量"
-renotesCount: "转贴数量"
+renotesCount: "转帖数量"
repliedCount: "回复数"
renotedCount: "转发数"
followingCount: "正在关注数量"
followersCount: "关注者数量"
-sentReactionsCount: "发送反应数"
-receivedReactionsCount: "收到反应数"
+sentReactionsCount: "发送回应数"
+receivedReactionsCount: "收到回应数"
pollVotesCount: "问卷调查的投票数"
pollVotedCount: "问卷调查的被投票数"
yes: "是"
no: "否"
-driveFilesCount: "磁盘文件数"
-driveUsage: "磁盘空间用量"
-noCrawle: "拒绝搜索器的索引"
+driveFilesCount: "网盘的文件数"
+driveUsage: "网盘的空间用量"
+noCrawle: "要求搜索引擎不索引该用户"
noCrawleDescription: "要求搜索引擎不要收录(索引)您的用户页面,帖子,页面等。"
lockedAccountInfo: "即使通过了关注请求,只要您不将帖子可见范围设置成“关注者”,任何人都可以看到您的帖子。"
-alwaysMarkSensitive: "浏览默认媒体文件时请谨慎"
+alwaysMarkSensitive: "默认将媒体文件标记为敏感内容"
loadRawImages: "添加附件图像的缩略图时使用原始图像质量"
disableShowingAnimatedImages: "不播放动画"
verificationEmailSent: "已发送确认电子邮件。请访问电子邮件中的链接以完成设置。"
@@ -657,10 +680,9 @@ emailVerified: "电子邮件地址已验证"
noteFavoritesCount: "收藏的帖子数"
pageLikesCount: "页面点赞次数"
pageLikedCount: "页面被点赞次数"
-reversiCount: "黑白棋对战次数"
contact: "联系人"
useSystemFont: "使用系统默认字体"
-clips: "片段"
+clips: "便签"
experimentalFeatures: "实验性功能"
developer: "开发者"
makeExplorable: "使账号可见。"
@@ -672,6 +694,7 @@ center: "中央"
wide: "宽"
narrow: "窄"
reloadToApplySetting: "页面刷新后设置才会生效。是否现在刷新页面?"
+needReloadToApply: "重启后应用才会生效。"
showTitlebar: "显示标题栏"
clearCache: "清除缓存"
onlineUsersCount: "{n}人在线"
@@ -686,12 +709,258 @@ textColor: "文本"
saveAs: "另存为"
advanced: "高级"
value: "值"
+createdAt: "创建日期"
updatedAt: "更新时间"
saveConfirm: "确定保存?"
deleteConfirm: "确定删除?"
invalidValue: "无效值。"
registry: "注册表"
-closeAccount: "关闭账户"
+closeAccount: "永久注销账户"
+currentVersion: "当前版本"
+latestVersion: "最新版本"
+youAreRunningUpToDateClient: "您所使用的客户端已经是最新的。"
+newVersionOfClientAvailable: "新版本的客户端可用。"
+usageAmount: "使用量"
+capacity: "容量"
+inUse: "已使用"
+editCode: "编辑代码"
+apply: "应用"
+receiveAnnouncementFromInstance: "从实例接收通知"
+emailNotification: "邮件通知"
+publish: "发布"
+inChannelSearch: "频道内搜索"
+useReactionPickerForContextMenu: "单击右键打开回应工具栏"
+typingUsers: "{users}正在输入"
+jumpToSpecifiedDate: "跳转到特定日期"
+showingPastTimeline: "显示过去的时间线"
+clear: "清除"
+markAllAsRead: "全部标记为已读"
+goBack: "返回"
+unlikeConfirm: "取消赞?"
+fullView: "全屏"
+quitFullView: "退出全屏"
+addDescription: "添加描述"
+userPagePinTip: "在帖子的菜单中选择“置顶”,即可显示该条帖子。"
+notSpecifiedMentionWarning: "有未指定的提及"
+info: "关于"
+userInfo: "用户信息"
+unknown: "未知"
+onlineStatus: "在线状态"
+hideOnlineStatus: "隐藏在线状态"
+hideOnlineStatusDescription: "隐藏在线状态后,可能会降低搜索等功能的便利性。"
+online: "在线"
+active: "活动"
+offline: "离线"
+notRecommended: "不推荐"
+botProtection: "Bot防御"
+instanceBlocking: "被阻拦的实例"
+selectAccount: "选择账户"
+switchAccount: "切换账户"
+enabled: "已启用"
+disabled: "已禁用 "
+quickAction: "快捷操作"
+user: "用户"
+administration: "管理"
+accounts: "账户"
+switch: "切换"
+noMaintainerInformationWarning: "管理人员信息未设置。"
+noBotProtectionWarning: "Bot保护未设置。"
+configure: "设置"
+postToGallery: "发送到图库"
+gallery: "图库"
+recentPosts: "最新发布"
+popularPosts: "热门投稿"
+shareWithNote: "在帖子中分享"
+ads: "广告"
+expiration: "截止时间"
+memo: "便笺"
+priority: "优先级"
+high: "高"
+middle: "中"
+low: "低"
+emailNotConfiguredWarning: "电子邮件地址未设置。"
+ratio: "比率"
+previewNoteText: "预览文本"
+customCss: "自定义 CSS"
+customCssWarn: "这些设置必须有相关的基础知识,不当的配置可能导致客户端无法正常使用!"
+global: "全局"
+squareAvatars: "显示方形头像图标"
+sent: "发送"
+received: "收取"
+searchResult: "搜索结果"
+hashtags: "话题标签"
+troubleshooting: "故障排除"
+useBlurEffect: "在UI上使用模糊效果"
+learnMore: "更多信息"
+misskeyUpdated: "Misskey更新完成!"
+whatIsNew: "显示更新信息"
+translate: "翻译"
+translatedFrom: "从 {x} 翻译"
+accountDeletionInProgress: "正在删除账户"
+usernameInfo: "在服务器上唯一标识您的帐户的名称。您可以使用字母 (a ~ z, A ~ Z)、数字 (0 ~ 9) 和下划线 (_)。用户名以后不能更改。"
+aiChanMode: "小蓝模式"
+keepCw: "保留CW"
+pubSub: "Pub/Sub账户"
+lastCommunication: "最近通信"
+resolved: "已解决"
+unresolved: "未解决"
+breakFollow: "移除关注者"
+itsOn: "已开启"
+itsOff: "已关闭"
+emailRequiredForSignup: "注册账户需要电子邮件地址"
+unread: "未读"
+filter: "筛选"
+controlPanel: "控制面板"
+manageAccounts: "管理账户"
+makeReactionsPublic: "将回应设置为公开"
+makeReactionsPublicDescription: "将您发表过的回应设置成公开可见。"
+classic: "经典"
+muteThread: "屏蔽帖子列表"
+unmuteThread: "取消屏蔽帖子列表"
+ffVisibility: "连接的可见范围"
+ffVisibilityDescription: "您可以设置您的关注/关注者信息的公开范围"
+continueThread: "查看更多帖子"
+deleteAccountConfirm: "将要删除账户。是否确认?"
+incorrectPassword: "密码错误"
+voteConfirm: "确定投给“{choice}” ?"
+hide: "隐藏"
+leaveGroup: "离开群组"
+leaveGroupConfirm: "确定离开「{name}」?"
+useDrawerReactionPickerForMobile: "在移动设备上使用抽屉显示"
+welcomeBackWithName: "欢迎回来,{name}"
+clickToFinishEmailVerification: "点击 [{ok}] 完成电子邮件地址认证。"
+overridedDeviceKind: "设备类型"
+smartphone: "智能手机"
+tablet: "平板"
+auto: "自动"
+themeColor: "主题颜色"
+size: "大小"
+numberOfColumn: "列数"
+searchByGoogle: "Google"
+instanceDefaultLightTheme: "实例默认浅色主题"
+instanceDefaultDarkTheme: "实例默认深色主题"
+instanceDefaultThemeDescription: "以对象格式键入主题代码"
+mutePeriod: "屏蔽期限"
+indefinitely: "永久"
+tenMinutes: "10分钟"
+oneHour: "1小时"
+oneDay: "1天"
+oneWeek: "1周"
+reflectMayTakeTime: "可能需要一些时间才能体现出效果。"
+failedToFetchAccountInformation: "获取账户信息失败"
+rateLimitExceeded: "已超過速率限制"
+cropImage: "剪裁图像"
+cropImageAsk: "是否要裁剪图像?"
+file: "文件"
+recentNHours: "最近{n}小时"
+recentNDays: "最近{n}天"
+noEmailServerWarning: "电子邮件服务器未设置。"
+thereIsUnresolvedAbuseReportWarning: "有未解决的报告"
+recommended: "推荐"
+check: "检查"
+driveCapOverrideLabel: "變更此用戶的雲端硬碟容量上限"
+driveCapOverrideCaption: "设定为 0 以下则会解除此限制。"
+requireAdminForView: "需要使用管理员账户登录才能查看。"
+isSystemAccount: "该账号由系统自动创建和管理。"
+typeToConfirm: "输入 {x} 以确认操作。"
+deleteAccount: "删除账户"
+document: "文档"
+numberOfPageCache: "缓存页数"
+numberOfPageCacheDescription: "设置较高的值会更方便用户,但设备的负载和内存使用量会增加。"
+logoutConfirm: "是否确认登出?"
+lastActiveDate: "最后活跃时间"
+statusbar: "状态栏"
+pleaseSelect: "请选择"
+reverse: "翻转"
+colored: "彩色"
+refreshInterval: "刷新间隔"
+label: "标签"
+type: "类型"
+speed: "速度"
+slow: "慢"
+fast: "快"
+sensitiveMediaDetection: "检测到敏感媒体"
+localOnly: "仅限本地"
+remoteOnly: "仅远程"
+failedToUpload: "上传失败"
+cannotUploadBecauseInappropriate: "因为可能含有不适宜的内容,无法上传。"
+cannotUploadBecauseNoFreeSpace: "因为已无可用空间,无法上传。"
+beta: "测试"
+enableAutoSensitive: "自动 NSFW 识别"
+enableAutoSensitiveDescription: "如果可用,请使用机器学习在媒体上自动设置 NSFW 标志。即使关闭此功能,也可能会根据实例自动设置。"
+activeEmailValidationDescription: "积极地验证用户的电子邮件地址,判断它是一次性的电子邮件地址,还是可以实际通信的地址。关闭时,则只检查字符串是否正确。"
+navbar: "导航栏"
+shuffle: "随机"
+account: "账户"
+move: "移动"
+_sensitiveMediaDetection:
+ description: "可以使用机器学习技术自动检测敏感媒体,以便进行审核。服务器负载将略微增加。"
+ sensitivity: "检测敏感度"
+ sensitivityDescription: "敏感度较低,则误检(假阳性)会减少;敏感度较高,则漏检(假阴性)会减少。"
+ setSensitiveFlagAutomatically: "自动设置 NSFW 标签"
+ setSensitiveFlagAutomaticallyDescription: "即使关闭此配置,识别结果也会在内部保存。"
+ analyzeVideos: "启用对视频的检测"
+ analyzeVideosDescription: "除了静止图像之外,还对视频进行分析。服务器负载会略微增加。"
+_emailUnavailable:
+ used: "已经被使用过"
+ format: "无效的格式"
+ disposable: "不是永久可用的地址"
+ mx: "邮件服务器不正确"
+ smtp: "邮件服务器没有响应"
+_ffVisibility:
+ public: "发布"
+ followers: "只有关注你的用户能看到"
+ private: "私密"
+_signup:
+ almostThere: "即将完成"
+ emailAddressInfo: "请输入您所使用的电子邮件地址"
+ emailSent: "已将确认邮件发送至您输入的电子邮件地址 ({email})。请访问电子邮件中的链接以完成帐户创建。"
+_accountDelete:
+ accountDelete: "删除帐户"
+ mayTakeTime: "删除账号是一个性能损耗较大的处理,如果账号持有的内容数量和上传的文件数量较多的话,完成需要花费一段时间。"
+ sendEmail: "账户删除完成后,将向注册的电子邮件地址发送通知。"
+ requestAccountDelete: "请求删除账户"
+ started: "账户删除过程已开始。"
+ inProgress: "正在删除"
+_ad:
+ back: "返回"
+ reduceFrequencyOfThisAd: "减少此广告的频率"
+_forgotPassword:
+ enterEmail: "请输入您验证账号时用的电子邮箱地址,密码重置链接将发送至该邮箱上。"
+ ifNoEmail: "如果您没有使用电子邮件地址进行验证,请联系管理员。"
+ contactAdmin: "该实例不支持发送电子邮件。如果您想重设密码,请联系管理员。"
+_gallery:
+ my: "我的图库"
+ liked: "喜欢的图片"
+ like: "喜欢"
+ unlike: "取消喜欢"
+_email:
+ _follow:
+ title: "你有新的关注者"
+ _receiveFollowRequest:
+ title: "收到了关注请求"
+_plugin:
+ install: "安装插件"
+ installWarn: "请不要安装不可信的插件。"
+ manage: "管理插件..."
+_preferencesBackups:
+ list: "已创建的备份"
+ saveNew: "另存为"
+ loadFile: "导入文件"
+ apply: "应用于本设备"
+ save: "覆盖存档"
+ inputName: "请输入备份的名称"
+ cannotSave: "无法保存"
+ nameAlreadyExists: "备份名称\"{name}\"已经存在,请指定其他名称。"
+ applyConfirm: "您是否要将备份\"{name}\"应用到当前设备上?当前设备现有配置将被丢弃。"
+ saveConfirm: "您确定要覆盖保存 {name} 吗?"
+ deleteConfirm: "您确定要删除 {name} 吗?"
+ renameConfirm: "您确定要把“{old}”改为“{new}”吗?"
+ noBackups: "当前没有备份,“另存为”允许您在服务器上保存当前客户端的配置。"
+ createdAt: "创建日期:{date} {time}"
+ updatedAt: "更新日期:{date} {time}"
+ cannotLoad: "无法加载"
+ invalidFile: "无效的的文件格式。"
_registry:
scope: "范围"
key: "主要"
@@ -708,13 +977,13 @@ _aboutMisskey:
morePatrons: "还有很多其他的人也在支持我们,非常感谢🥰"
patrons: "支持者"
_nsfw:
- respect: "隐藏NSFW内容"
- ignore: "不隐藏NSFW内容"
+ respect: "隐藏敏感内容"
+ ignore: "不隐藏敏感内容"
force: "总是隐藏内容"
_mfm:
cheatSheet: "MFM代码速查表"
intro: "MFM是一种在Misskey中的各个位置使用的专用标记语言。在这里您可以看到MFM中可用的语法列表。"
- dummy: "通过Misskey扩展Fediverse的世界"
+ dummy: "通过Misskey扩展联邦宇宙的世界"
mention: "提及"
mentionDescription: "可以使用 @+用户名 来指示特定用户"
hashtag: "话题标签"
@@ -769,42 +1038,17 @@ _mfm:
blurDescription: "产生模糊效果。将鼠标指针放在上面即可将内容显示出来。"
font: "字体"
fontDescription: "可以设置内容所使用的字体。"
-_reversi:
- reversi: "黑白棋"
- gameSettings: "对局设置"
- chooseBoard: "棋盘选择"
- blackOrWhite: "先手/后手"
- blackIs: "{name}执黑(先走)"
- rules: "规则"
- botSettings: "机器人设置"
- thisGameIsStartedSoon: "对局在几秒后开始"
- waitingForOther: "等待对手准备"
- waitingForMe: "等待您的准备"
- waitingBoth: "请准备"
- ready: "准备就绪"
- cancelReady: "重新准备"
- opponentTurn: "对手的会合"
- myTurn: "您的回合"
- turnOf: "{name}的回合"
- pastTurnOf: "{name}的回合"
- surrender: "认输 "
- surrendered: "对手认输"
- drawn: "平局"
- won: "{name}获胜"
- black: "黑"
- white: "白"
- total: "总计"
- turnCount: "{count}回合"
- myGames: "我的对局"
- allGames: "所有对局"
- ended: "结束"
- playing: "对局中"
- isLlotheo: "棋子较少一方获胜(LLoTheO规则)"
- loopedMap: "循环棋盘"
- canPutEverywhere: "可以下在任意位置"
+ rainbow: "彩虹"
+ rainbowDescription: "用彩虹色来显示内容。"
+ sparkle: "闪光"
+ sparkleDescription: "添加发光粒子效果。"
+ rotate: "旋转"
+ rotateDescription: "旋转指定的角度。"
+ plain: "简洁"
+ plainDescription: "禁用所有内部语法。"
_instanceTicker:
none: "不显示"
- remote: "显示给远程用户"
+ remote: "仅远程用户"
always: "始终显示"
_serverDisconnectedBehavior:
reload: "自动重载"
@@ -820,24 +1064,31 @@ _channel:
following: "正在关注"
usersCount: "有{n}人参与"
notesCount: "有{n}个帖子"
-_sidebar:
- full: "全部"
- icon: "图标"
+_menuDisplay:
+ sideFull: "横向"
+ sideIcon: "横向(图标)"
+ top: "顶部"
hide: "隐藏"
_wordMute:
muteWords: "禁用词"
muteWordsDescription: "使用空格分隔表示AND逻辑,使用换行符分隔表示OR逻辑。"
muteWordsDescription2: "将关键字用斜线括起来表示正则表达式。"
- softDescription: "隐藏时间线中指定条件的帖文。"
- hardDescription: "防止将具有指定条件的帖文添加到时间线。 即使您更改条件,未添加的帖文也会被排除在外。"
+ softDescription: "隐藏时间线中指定条件的帖子。"
+ hardDescription: "防止将具有指定条件的帖子添加到时间线。 即使您更改条件,未添加的帖文也会被排除在外。"
soft: "软屏蔽"
hard: "硬屏蔽"
- mutedNotes: "被屏蔽的帖文"
+ mutedNotes: "被屏蔽的帖子"
+_instanceMute:
+ instanceMuteDescription: "屏蔽配置实例中的所有帖子和转帖,包括实例的用户回复。"
+ instanceMuteDescription2: "设置时用换行符来分隔"
+ title: "隐藏实例已设置的帖子。"
+ heading: "屏蔽实例"
_theme:
explore: "寻找主题"
install: "安装主题"
manage: "主题管理"
code: "主题代码"
+ description: "描述"
installed: "{name} 已安装"
installedThemes: "已安装的主题"
builtinThemes: "标准主题"
@@ -857,8 +1108,8 @@ _theme:
argument: "参数"
basedProp: "基于的属性名称"
alpha: "不透明度"
- darken: "暗色"
- lighten: "亮色"
+ darken: "深色"
+ lighten: "浅色"
inputConstantName: "请输入常量名称"
importInfo: "您可以在此处粘贴主题代码,将其导入到编辑器中"
deleteConstantConfirm: "确定要删除常量{const}吗?"
@@ -881,7 +1132,7 @@ _theme:
mention: "提及"
mentionMe: "提及"
renote: "转发"
- modalBg: "模态框背景"
+ modalBg: "对话框背景"
divider: "分割线"
scrollbarHandle: "滚动条"
scrollbarHandleHover: "滚动条(悬停)"
@@ -893,18 +1144,18 @@ _theme:
cwBg: "CW 按钮背景"
cwFg: "CW 按钮文本"
cwHoverBg: "CW 按钮背景(悬停)"
- toastBg: "吐司提示背景"
- toastFg: "吐司提示文本"
+ toastBg: "Toast通知背景"
+ toastFg: "Toast通知文本"
buttonBg: "按钮背景"
buttonHoverBg: "按钮背景(悬停)"
inputBorder: "输入框边框"
listItemHoverBg: "下拉列表项目背景(悬停)"
- driveFolderBg: "驱动器文件夹背景"
+ driveFolderBg: "网盘的文件夹背景"
wallpaperOverlay: "壁纸叠加层"
badge: "徽章"
messageBg: "聊天背景"
- accentDarken: "强调色(暗)"
- accentLighten: "强调色(亮)"
+ accentDarken: "强调色(深)"
+ accentLighten: "强调色(浅)"
fgHighlighted: "高亮显示文本"
_sfx:
note: "帖子"
@@ -914,10 +1165,7 @@ _sfx:
chatBg: "聊天背景"
antenna: "天线接收"
channel: "频道通知"
- reversiPutBlack: "黑白棋:黑方下子时"
- reversiPutWhite: "黑白棋:白方下子时"
_ago:
- unknown: "未知"
future: "未来"
justNow: "最近"
secondsAgo: "{n}秒前"
@@ -959,8 +1207,9 @@ _2fa:
alreadyRegistered: "此设备已被注册"
registerDevice: "注册设备"
registerKey: "注册密钥"
- step1: "首先,在您的设备上安装二步验证应用程序,例如{a}或{b}。"
+ step1: "首先,在您的设备上安装验证应用,例如{a}或{b}。"
step2: "然后,扫描屏幕上显示的二维码。"
+ step2Url: "在桌面应用程序中输入以下URL:"
step3: "输入您的应用提供的动态口令以完成设置。"
step4: "从现在开始,任何登录操作都将要求您提供动态口令。"
securityKeyInfo: "您可以设置使用支持FIDO2的硬件安全密钥、设备上的指纹或PIN来保护您的登录过程。"
@@ -993,6 +1242,10 @@ _permissions:
"write:user-groups": "操作用户组"
"read:channels": "查看频道"
"write:channels": "管理频道"
+ "read:gallery": "浏览图库"
+ "write:gallery": "操作图库"
+ "read:gallery-likes": "读取喜欢的图片"
+ "write:gallery-likes": "操作喜欢的图片"
_auth:
shareAccess: "您要授权允许“{name}”访问您的帐户吗?"
shareAccessAsk: "您确定要授权此应用程序访问您的帐户吗?"
@@ -1003,9 +1256,9 @@ _auth:
_antennaSources:
all: "所有帖子"
homeTimeline: "已关注用户的帖子"
- users: "来自特定用户的帖子"
- userList: "来自特定清单中的帖子"
- userGroup: "来自特定组中用户的帖子"
+ users: "来自指定用户的帖子"
+ userList: "来自指定列表中的帖子"
+ userGroup: "来自指定群组中用户的帖子"
_weekday:
sunday: "星期日"
monday: "星期一"
@@ -1022,16 +1275,21 @@ _widgets:
trends: "趋势"
clock: "时钟"
rss: "RSS阅读器"
+ rssTicker: "RSS Ticker"
activity: "活动"
photos: "照片"
digitalClock: "数字时钟"
+ unixClock: "UNIX时钟"
federation: "联邦宇宙"
+ instanceCloud: "实例云"
postForm: "投稿窗口"
slideshow: "幻灯片展示"
button: "按钮"
onlineUsers: "在线用户"
jobQueue: "作业队列"
- serverMetric: "服务器指标"
+ serverMetric: "服务器监控"
+ aiscript: "AiScript控制台"
+ aichan: "小蓝"
_cw:
hide: "隐藏"
show: "查看更多"
@@ -1043,7 +1301,7 @@ _poll:
noMore: "无法再添加更多了"
canMultipleVote: "允许多个投票"
expiration: "截止时间"
- infinite: "无限期"
+ infinite: "永久"
at: "指定日期"
after: "指定时间"
deadlineDate: "截止日期"
@@ -1064,7 +1322,7 @@ _visibility:
publicDescription: "您的帖子将出现在全局时间线上"
home: "首页"
homeDescription: "仅发送至首页的时间线"
- followers: "关注者"
+ followers: "仅关注者"
followersDescription: "仅发送至关注者"
specified: "指定用户"
specifiedDescription: "仅发送至指定用户"
@@ -1082,7 +1340,7 @@ _postForm:
e: "请写下来吧"
f: "等待您的发布..."
_profile:
- name: "名称"
+ name: "昵称"
username: "用户名"
description: "个人简介"
youCanIncludeHashtags: "您可以包含一个哈希标签。"
@@ -1099,9 +1357,11 @@ _exportOrImport:
muteList: "屏蔽"
blockingList: "拉黑"
userLists: "列表"
+ excludeMutingUsers: "排除屏蔽用户"
+ excludeInactiveUsers: "排除不活跃用户"
_charts:
- federationInstancesIncDec: "联合:增加/减少"
- federationInstancesTotal: "联合总数"
+ federation: "联合"
+ apRequest: "请求"
usersIncDec: "用户数量:增加/减少"
usersTotal: "用户总数"
activeUsers: "活跃用户数"
@@ -1130,72 +1390,10 @@ _timelines:
local: "本地"
social: "社交"
global: "全局"
-_rooms:
- roomOf: "{user}的房间"
- addFurniture: "放置家具"
- translate: "移动"
- rotate: "旋转"
- exit: "返回"
- remove: "移除"
- clear: "清理"
- clearConfirm: "是否清除所有家具?"
- leaveConfirm: "有尚未保存的修改。是否离开?"
- chooseImage: "选择图片"
- roomType: "房间类型"
- carpetColor: "地板颜色"
- _roomType:
- default: "默认"
- washitsu: "和式房间"
- _furnitures:
- milk: "牛奶纸箱"
- bed: "床"
- low-table: "矮桌"
- desk: "书桌"
- chair: "椅子"
- chair2: "椅子2"
- fan: "换气扇"
- pc: "电脑"
- plant: "观叶植物"
- plant2: "观叶植物2"
- eraser: "橡皮擦"
- pencil: "铅笔"
- pudding: "布丁"
- cardboard-box: "纸箱"
- cardboard-box2: "纸箱2"
- cardboard-box3: "纸箱3"
- book: "书"
- book2: "书2"
- piano: "钢琴"
- facial-tissue: "纸巾盒"
- server: "服务器"
- moon: "月亮"
- corkboard: "软木板"
- mousepad: "鼠标垫"
- monitor: "显示器"
- keyboard: "键盘"
- carpet-stripe: "地毯(条纹)"
- mat: "垫子"
- color-box: "收纳柜"
- wall-clock: "挂钟"
- photoframe: "相框"
- cube: "立方体"
- tv: "电视"
- pinguin: "企鹅君"
- rubik-cube: "魔方"
- poster-h: "海报(横向)"
- poster-v: "海报(纵向)"
- sofa: "沙发"
- spiral: "螺旋楼梯"
- bin: "垃圾箱"
- cup-noodle: "杯面"
- holo-display: "全息显示器"
- energy-drink: "能量饮料"
- doll-ai: "小蓝的玩偶"
- banknote: "钞票"
_pages:
newPage: "创建页面"
editPage: "编辑页面"
- readPage: "查看源"
+ readPage: "查看页面"
created: "页面已创建"
updated: "页面已更新"
deleted: "该页面已被删除"
@@ -1207,7 +1405,7 @@ _pages:
viewSource: "查看源代码"
viewPage: "查看页面"
like: "赞"
- unlike: "取消赞"
+ unlike: "取消喜欢"
my: "我的页面"
liked: "喜欢的页面"
featured: "热门"
@@ -1498,6 +1696,8 @@ _notification:
youReceivedFollowRequest: "您有新的关注请求"
yourFollowRequestAccepted: "您的关注请求已通过"
youWereInvitedToGroup: "您有新的群组邀请"
+ pollEnded: "问卷调查结果已生成。"
+ emptyPushNotificationMessage: "推送通知已更新"
_types:
all: "全部"
follow: "关注中"
@@ -1507,23 +1707,32 @@ _notification:
quote: "引用"
reaction: "回应"
pollVote: "问卷调查被投票"
+ pollEnded: "问卷调查结束"
receiveFollowRequest: "收到关注请求"
- followRequestAccepted: "关注请求已接受"
+ followRequestAccepted: "关注请求已通过"
groupInvited: "加入群组邀请"
app: "关联应用的通知"
+ _actions:
+ followBack: "回关"
+ reply: "回复"
+ renote: "转发"
_deck:
alwaysShowMainColumn: "总是显示主列"
columnAlign: "列对齐"
- columnMargin: "列间距"
- columnHeaderHeight: "列标题高度"
addColumn: "添加列"
+ configureColumn: "列设置"
swapLeft: "向左移动"
swapRight: "向右移动"
swapUp: "向上移动"
swapDown: "向下移动"
stackLeft: "向左折叠"
popRight: "向右弹出"
- profile: "个人资料"
+ profile: "配置文件"
+ newProfile: "新建配置文件"
+ deleteProfile: "删除配置文件"
+ introduction: "将各列进行组合以创建您自己的界面!"
+ introduction2: "您可以随时通过屏幕右侧的 + 来添加列"
+ widgetsIntroduction: "从列菜单中,选择“小工具编辑”来添加小工具"
_columns:
main: "主列"
widgets: "小工具"
diff --git a/locales/zh-TW.yml b/locales/zh-TW.yml
index 943cb17c5..3449da99a 100644
--- a/locales/zh-TW.yml
+++ b/locales/zh-TW.yml
@@ -1,19 +1,20 @@
---
_lang_: "繁體中文"
-headlineMisskey: "箋文連繫網絡"
-introMisskey: "歡迎! Misskey是一個開源且去中心化的社群網絡。\n通過「箋文」分享周邊新鮮事,並告訴其他人您的想法!📡\n透過「情感」功能,對大家的箋文表達情感!👍\n一起來探索這個新的世界吧!🚀"
+headlineMisskey: "貼文連繫網路"
+introMisskey: "歡迎! Misskey是一個開放原始碼且去中心化的社群網路。\n透過「貼文」分享周邊新鮮事,並告訴其他人您的想法!📡\n透過「反應」功能,對大家的貼文表達情感!👍\n一起來探索這個新的世界吧!🚀"
monthAndDay: "{month}月 {day}日"
search: "搜尋"
notifications: "通知"
username: "使用者名稱"
password: "密碼"
+forgotPassword: "忘記密碼"
fetchingAsApObject: "從聯邦宇宙取得中..."
ok: "OK"
gotIt: "知道了"
cancel: "取消"
enterUsername: "輸入使用者名稱"
-renotedBy: "{user} 轉發了"
-noNotes: "箋文不可用。"
+renotedBy: "{user} 轉傳了"
+noNotes: "無貼文。"
noNotifications: "沒有通知"
instance: "實例"
settings: "設定"
@@ -31,45 +32,46 @@ uploading: "上傳中"
save: "儲存"
users: "使用者"
addUser: "新增使用者"
-favorite: "收藏"
-favorites: "已收藏"
-unfavorite: "取消收藏"
-favorited: "已添加至收藏夾"
-alreadyFavorited: "已經有添加入收藏夾過了"
-cantFavorite: "無法添加至收藏夾"
+favorite: "我的最愛"
+favorites: "我的最愛"
+unfavorite: "從我的最愛中移除"
+favorited: "已添加至我的最愛"
+alreadyFavorited: "我的最愛中已存在。"
+cantFavorite: "無法加入至我的最愛。"
pin: "置頂"
unpin: "取消置頂"
copyContent: "複製內容"
copyLink: "複製連結"
delete: "刪除"
deleteAndEdit: "刪除並編輯"
-deleteAndEditConfirm: "要刪除並再次編輯嗎?此箋文的所有情感、轉發和回覆也將會消失。"
-addToList: "新增至清單"
+deleteAndEditConfirm: "要刪除並再次編輯嗎?此貼文的所有情感、轉發和回覆也將會消失。"
+addToList: "加入至清單"
sendMessage: "發送訊息"
-copyUsername: "複製用戶名"
-searchUser: "搜尋用戶"
+copyUsername: "複製使用者名稱"
+searchUser: "搜尋使用者"
reply: "回覆"
loadMore: "載入更多"
showMore: "載入更多"
+showLess: "關閉"
youGotNewFollower: "您有新的追隨者"
receiveFollowRequest: "您有新的追隨請求"
followRequestAccepted: "追隨請求已接受"
mention: "提及"
mentions: "提及"
-directNotes: "指定使用者發佈"
+directNotes: "私訊"
importAndExport: "匯入與匯出"
import: "匯入"
export: "匯出"
files: "檔案"
download: "下載"
-driveFileDeleteConfirm: "確定要刪除檔案「{name}」嗎?使用此附件的箋文也會跟著消失。\n"
+driveFileDeleteConfirm: "確定要刪除檔案「{name}」嗎?使用此附件的貼文也會跟著消失。\n"
unfollowConfirm: "確定要取消追隨{name}嗎?"
exportRequested: "已請求匯出。這可能會花一點時間。結束後檔案將會被放到雲端裡。"
importRequested: "已請求匯入。這可能會花一點時間"
lists: "清單"
noLists: "你沒有任何清單"
-note: "箋文"
-notes: "箋文"
+note: "貼文"
+notes: "貼文"
following: "追隨中"
followers: "追隨者"
followsYou: "追隨你的人"
@@ -80,6 +82,8 @@ somethingHappened: "發生錯誤"
retry: "重試"
pageLoadError: "載入頁面失敗"
pageLoadErrorDescription: "這通常是因為網路錯誤或是瀏覽器快取殘留的原因。請先清除瀏覽器快取,稍後再重試"
+serverIsDead: "伺服器沒有回應。請稍等片刻,然後重試。"
+youShouldUpgradeClient: "請重新載入以使用新版本的客戶端顯示此頁面"
enterListName: "輸入清單名稱"
privacy: "隱私"
makeFollowManuallyApprove: "手動審核追隨請求"
@@ -90,21 +94,22 @@ followRequests: "追隨請求"
unfollow: "取消追隨"
followRequestPending: "追隨許可批准中"
enterEmoji: "輸入表情符號"
-renote: "轉箋"
-unrenote: "取消轉箋"
-renoted: "轉發成功"
-cantRenote: "無法轉發此箋文。"
-cantReRenote: "無法轉發之前已經轉發過的內容"
+renote: "轉發"
+unrenote: "取消轉發"
+renoted: "轉傳成功"
+cantRenote: "無法轉發此貼文。"
+cantReRenote: "無法轉傳之前已經轉傳過的內容。"
quote: "引用"
-pinnedNote: "已置頂的箋文"
+pinnedNote: "已置頂的貼文"
+pinned: "置頂"
you: "您"
clickToShow: "按一下以顯示"
sensitive: "敏感內容"
add: "新增"
reaction: "情感"
-reactionSettingDescription: "置頂「反應」表情符號\n"
+reactionSetting: "在選擇器中顯示反應"
reactionSettingDescription2: "拖動以重新列序,點擊以刪除,按下 + 添加。"
-rememberNoteVisibility: "記住箋文可見性"
+rememberNoteVisibility: "記住貼文可見性"
attachCancel: "移除附件"
markAsSensitive: "標記為敏感內容"
unmarkAsSensitive: "取消標記為敏感內容"
@@ -126,18 +131,21 @@ editWidgets: "編輯小工具"
editWidgetsExit: "完成"
customEmojis: "自訂表情符號"
emoji: "表情符號"
+emojis: "表情符號"
emojiName: "表情符號名稱"
emojiUrl: "表情符號URL"
-addEmoji: "新增表情符號"
+addEmoji: "加入表情符號"
settingGuide: "推薦設定"
-cacheRemoteFiles: "緩存非遠程檔案"
+cacheRemoteFiles: "快取遠端檔案"
cacheRemoteFilesDescription: "禁用此設定會停止遠端檔案的緩存,從而節省儲存空間,但資料會因直接連線從而產生額外連接數據。"
flagAsBot: "此使用者是機器人"
flagAsBotDescription: "如果本帳戶是由程式控制,請啟用此選項。啟用後,會作為標示幫助其他開發者防止機器人之間產生無限互動的行為,並會調整Misskey內部系統將本帳戶識別為機器人"
flagAsCat: "此使用者是貓"
flagAsCatDescription: "如果想將本帳戶標示為一隻貓,請開啟此標示"
+flagShowTimelineReplies: "在時間軸上顯示貼文的回覆"
+flagShowTimelineRepliesDescription: "啟用時,時間線除了顯示用戶的貼文以外,還會顯示用戶對其他貼文的回覆。"
autoAcceptFollowed: "自動追隨中使用者的追隨請求"
-addAcount: "新增帳戶"
+addAccount: "添加帳戶"
loginFailed: "登入失敗"
showOnRemote: "轉到所在實例顯示"
general: "一般"
@@ -147,8 +155,8 @@ removeWallpaper: "移除桌布"
searchWith: "搜尋: {q}"
youHaveNoLists: "你沒有任何清單"
followConfirm: "你真的要追隨{name}嗎?"
-proxyAccount: "代理帳號"
-proxyAccountDescription: "代理帳號是在某些情況下充當其他服務器用戶的帳號。例如,當用戶將一個來自其他服務器的帳號放在列表中時,由於沒有其他用戶關注該帳號,該指令不會傳送到該服務器上,因此會由代理帳戶關注。"
+proxyAccount: "代理帳戶"
+proxyAccountDescription: "代理帳戶是在某些情況下充當其他伺服器用戶的帳戶。例如,當使用者將一個來自其他伺服器的帳戶放在列表中時,由於沒有其他使用者追蹤該帳戶,該指令不會傳送到該伺服器上,因此會由代理帳戶追蹤。"
host: "主機"
selectUser: "選取使用者"
recipient: "收件人"
@@ -163,6 +171,7 @@ storageUsage: "已使用容量"
charts: "圖表"
perHour: "每小時"
perDay: "每日"
+stopActivityDelivery: "停止發送活動"
blockThisInstance: "封鎖此實例"
operations: "操作"
software: "軟體"
@@ -178,9 +187,9 @@ instanceInfo: "實例資訊"
statistics: "統計"
clearQueue: "清除佇列"
clearQueueConfirmTitle: "確定要清除佇列嗎?"
-clearQueueConfirmText: "未發佈的帖子將不會發佈。您通常不需要確認。"
+clearQueueConfirmText: "未發佈的貼文將不會發佈。您通常不需要確認。"
clearCachedFiles: "清除快取資料"
-clearCachedFilesConfirm: "確定要清除緩存資料嗎?"
+clearCachedFilesConfirm: "確定要清除所有遠端暫存資料嗎?"
blockedInstances: "已封鎖的實例"
blockedInstancesDescription: "請逐行輸入需要封鎖的實例。已封鎖的實例將無法與本實例進行通訊。"
muteAndBlock: "靜音和封鎖"
@@ -188,14 +197,15 @@ mutedUsers: "已靜音用戶"
blockedUsers: "已封鎖用戶"
noUsers: "沒有任何使用者"
editProfile: "編輯個人檔案"
-noteDeleteConfirm: "確定刪除此箋文嗎?"
-pinLimitExceeded: "不能置頂更多箋文了"
-intro: "Misskey 部署完成!請開設管理員帳號!"
+noteDeleteConfirm: "確定刪除此貼文嗎?"
+pinLimitExceeded: "不能置頂更多貼文了"
+intro: "Misskey 部署完成!請建立管理員帳戶。"
done: "完成"
processing: "處理中"
preview: "預覽"
default: "預設"
-noCustomEmojis: "沒有表情符號"
+defaultValueIs: "預設值:{value}"
+noCustomEmojis: "沒有自訂的表情符號"
noJobs: "沒有任務"
federating: "整合搜索中"
blocked: "已封鎖"
@@ -213,10 +223,10 @@ retypedNotMatch: "兩次輸入不一致。"
currentPassword: "目前密碼"
newPassword: "新密碼"
newPasswordRetype: "確認密碼"
-attachFile: "添加附件"
+attachFile: "上傳附件"
more: "更多!"
featured: "精選"
-usernameOrUserId: "使用者名稱或用戶ID"
+usernameOrUserId: "使用者名稱或使用者ID"
noSuchUser: "使用者不存在"
lookup: "查詢"
announcements: "公告"
@@ -229,14 +239,15 @@ resetAreYouSure: "確定要重設嗎?"
saved: "已儲存"
messaging: "傳送訊息"
upload: "上傳"
-fromDrive: "從雲端"
+keepOriginalUploading: "保留原圖"
+keepOriginalUploadingDescription: "上傳圖片時保留原始圖片。關閉時,瀏覽器會在上傳時生成一張用於web發布的圖片。"
+fromDrive: "從雲端空間"
fromUrl: "從URL"
uploadFromUrl: "從網址上傳"
uploadFromUrlDescription: "您要上傳的文件的URL"
uploadFromUrlRequested: "已請求上傳"
uploadFromUrlMayTakeTime: "還需要一些時間才能完成上傳。"
explore: "探索"
-games: "Misskey 遊戲"
messageRead: "已讀"
noMoreHistory: "沒有更多歷史紀錄"
startMessaging: "開始傳送訊息"
@@ -245,7 +256,7 @@ agreeTo: "我同意{0}"
tos: "使用條款"
start: "開始"
home: "首頁"
-remoteUserCaution: "由於該用戶來自遠端實例,因此資料用戶並未即時更新。"
+remoteUserCaution: "由於該使用者來自遠端實例,因此資訊可能非即時的。"
activity: "動態"
images: "圖片"
birthday: "生日"
@@ -254,12 +265,12 @@ registeredDate: "註冊日期"
location: "位置"
theme: "外觀主題"
themeForLightMode: "在淺色模式下使用的主題"
-themeForDarkMode: "在深色模式下使用的主題"
+themeForDarkMode: "在黑暗模式下使用的主題"
light: "淺色"
-dark: "灰暗"
+dark: "黑暗"
lightThemes: "明亮主題"
-darkThemes: "灰暗主題"
-syncDeviceDarkMode: "將深色模式與設備設置同步"
+darkThemes: "黑暗主題"
+syncDeviceDarkMode: "將黑暗模式與設備設置同步"
drive: "雲端硬碟"
fileName: "檔案名稱"
selectFile: "選擇檔案"
@@ -271,11 +282,12 @@ folderName: "資料夾名稱"
createFolder: "新增資料夾"
renameFolder: "重新命名資料夾"
deleteFolder: "刪除資料夾"
-addFile: "添加附件"
+addFile: "加入附件"
emptyDrive: "雲端硬碟為空"
emptyFolder: "資料夾為空"
unableToDelete: "無法刪除"
inputNewFileName: "輸入檔案名稱"
+inputNewDescription: "請輸入新標題 "
inputNewFolderName: "輸入新資料夾的名稱"
circularReferenceFolder: "目標文件夾是您要移動的文件夾的子文件夾。"
hasChildFilesOrFolders: "此文件夾不是空的,無法刪除。"
@@ -284,11 +296,11 @@ rename: "重新命名"
avatar: "大頭貼"
banner: "橫幅"
nsfw: "敏感內容"
-whenServerDisconnected: "與服務器的連接中斷時"
+whenServerDisconnected: "與伺服器的連接中斷時"
disconnectedFromServer: "與伺服器中斷連線"
-reload: "重新載入"
+reload: "重新整理"
doNothing: "無視"
-reloadConfirm: "確定要重新嘗試嗎?"
+reloadConfirm: "確定要重新整理嗎?"
watch: "關注"
unwatch: "取消追隨"
accept: "接受"
@@ -307,27 +319,27 @@ monthX: "{month}月"
yearX: "{year}年"
pages: "頁面"
integration: "整合"
-connectSerice: "連線"
-disconnectSerice: "中斷連線"
+connectService: "己連結"
+disconnectService: "己斷開 "
enableLocalTimeline: "開啟本地時間軸"
enableGlobalTimeline: "啟用公開時間軸"
-disablingTimelinesInfo: "即使您禁用了時間線功能,管理員和協調人仍可以繼續使用,以方便您。"
+disablingTimelinesInfo: "即使您關閉了時間線功能,管理員和協調人仍可以繼續使用,以方便您。"
registration: "註冊"
-enableRegistration: "開啟新用戶註冊"
+enableRegistration: "開啟新使用者註冊"
invite: "邀請"
-proxyRemoteFiles: "遠端代理檔案"
-proxyRemoteFilesDescription: "啟用此設置後,由於超出存儲容量而未保存或刪除的遠程文件將被本地代理,並且將生成預覽圖。這不影響服務器的存儲。"
-driveCapacityPerLocalAccount: "每個本地用戶的雲端容量"
+driveCapacityPerLocalAccount: "每個本地用戶的雲端空間大小"
driveCapacityPerRemoteAccount: "每個非本地用戶的雲端容量"
inMb: "以Mbps為單位"
iconUrl: "圖像URL"
-bannerUrl: "橫幅圖片URL"
+bannerUrl: "橫幅圖像URL"
+backgroundImageUrl: "背景圖片的來源網址 "
basicInfo: "基本資訊"
pinnedUsers: "置頂用戶"
-pinnedUsersDescription: "在「發現」頁面中使用換行標記想要置頂的用戶。"
+pinnedUsersDescription: "在「發現」頁面中使用換行標記想要置頂的使用者。"
pinnedPages: "釘選頁面"
pinnedPagesDescription: "輸入要固定至實例首頁的頁面路徑,以換行符分隔。"
-pinnedNotes: "已置頂的箋文"
+pinnedClipId: "置頂的摘錄ID"
+pinnedNotes: "已置頂的貼文"
hcaptcha: "hCaptcha"
enableHcaptcha: "啟用 hCaptcha"
hcaptchaSiteKey: "網站金鑰"
@@ -336,7 +348,7 @@ recaptcha: "reCAPTCHA"
enableRecaptcha: "啟用 reCAPTCHA"
recaptchaSiteKey: "網站金鑰"
recaptchaSecretKey: "金鑰"
-avoidMultiCaptchaConfirm: "使用多種驗證方式可能會造成干擾,您要禁用其他驗證方式嗎?您可以按“取消”保留多種驗證方式。"
+avoidMultiCaptchaConfirm: "使用多種驗證方式可能會造成干擾,您要關閉其他驗證方式嗎?您可以按“取消”保留多種驗證方式。"
antennas: "天線"
manageAntennas: "管理天線"
name: "名稱"
@@ -344,25 +356,24 @@ antennaSource: "接收來源"
antennaKeywords: "包含關鍵字"
antennaExcludeKeywords: "排除關鍵字"
antennaKeywordsDescription: "用空格分隔指定AND、用換行符分隔指定OR"
-notifyAntenna: "通知有新箋文"
-withFileAntenna: "僅帶有附件的箋文"
-serviceworker: "ServiceWorker"
+notifyAntenna: "通知有新貼文"
+withFileAntenna: "僅帶有附件的貼文"
enableServiceworker: "開啟 ServiceWorker"
antennaUsersDescription: "指定用換行符分隔的用戶名"
caseSensitive: "區分大小寫"
withReplies: "包含回覆"
-connectedTo: "您的帳號已連接到以下社交帳號"
-notesAndReplies: "箋文與回覆"
+connectedTo: "您的帳戶已連接到以下社交帳戶"
+notesAndReplies: "貼文與回覆"
withFiles: "附件"
silence: "禁言"
silenceConfirm: "確定要禁言此用戶嗎?"
unsilence: "解除禁言"
unsilenceConfirm: "確定要解除禁言嗎?"
-popularUsers: "熱門用戶"
-recentlyUpdatedUsers: "最近發文的用戶"
-recentlyRegisteredUsers: "新加入用戶"
-recentlyDiscoveredUsers: "最近發現的用戶"
-exploreUsersCount: "有{count}個用戶"
+popularUsers: "熱門使用者"
+recentlyUpdatedUsers: "最近發文的使用者"
+recentlyRegisteredUsers: "新加入使用者"
+recentlyDiscoveredUsers: "最近發現的使用者"
+exploreUsersCount: "有{count}個使用者"
exploreFediverse: "探索聯邦世界"
popularTags: "熱門標籤"
userList: "清單"
@@ -370,14 +381,15 @@ about: "資訊"
aboutMisskey: "關於 Misskey"
administrator: "管理員"
token: "權杖"
-twoStepAuthentication: "雙重身份驗證"
+twoStepAuthentication: "兩階段驗證"
moderator: "板主"
+moderation: "言論調節"
nUsersMentioned: "提到了{n}"
securityKey: "安全金鑰"
securityKeyName: "金鑰名稱"
registerSecurityKey: "註冊安全金鑰"
-lastUsed: "最後活躍時間"
-unregister: "刪除賬戶"
+lastUsed: "上次使用"
+unregister: "註銷帳號"
passwordLessLogin: "設置無密碼登入"
resetPassword: "重置密碼"
newPasswordIs: "新密碼為「{password}」"
@@ -388,7 +400,7 @@ notFoundDescription: "找不到與指定URL回應的頁面"
uploadFolder: "預設上傳資料夾"
cacheClear: "清除快取"
markAsReadAllNotifications: "標記所有通知為已讀"
-markAsReadAllUnreadNotes: "標記所有箋文為已讀"
+markAsReadAllUnreadNotes: "標記所有貼文為已讀"
markAsReadAllTalkMessages: "標記所有訊息為已讀"
help: "幫助"
inputMessageHere: "在此輸入訊息"
@@ -402,21 +414,20 @@ invites: "邀請"
groupName: "群組名稱"
members: "成員"
transfer: "轉讓"
-messagingWithUser: "傳送訊息給其他用戶"
+messagingWithUser: "傳送訊息給其他使用者"
messagingWithGroup: "發送訊息至群組"
title: "標題"
text: "文字"
enable: "啟用"
next: "下一步"
retype: "重新輸入"
-noteOf: "{user}的箋文"
+noteOf: "{user}的貼文"
inviteToGroup: "邀請至群組"
-maxNoteTextLength: "箋文的字數限制"
quoteAttached: "引用"
quoteQuestion: "是否要引用?"
noMessagesYet: "沒有訊息"
newMessageExists: "有新的訊息"
-onlyOneFileCanBeAttached: "只能添加一個附件"
+onlyOneFileCanBeAttached: "只能加入一個附件"
signinRequired: "請先登入"
invitations: "邀請"
invitationCode: "邀請碼"
@@ -428,28 +439,30 @@ tooShort: "過短"
tooLong: "過長"
weakPassword: "密碼強度過弱"
normalPassword: "密碼強度普通"
-strongPassword: "密碼強度堅強"
+strongPassword: "密碼強度高"
passwordMatched: "密碼一致"
passwordNotMatched: "密碼不一致"
signinWith: "以{x}登錄"
-signinFailed: "登入失敗。 請檢查用戶名和密碼。"
+signinFailed: "登入失敗。 請檢查使用者名稱和密碼。"
tapSecurityKey: "點擊安全密鑰"
or: "或者"
+language: "語言"
uiLanguage: "介面語言"
groupInvited: "您有新的群組邀請"
aboutX: "關於{x}"
useOsNativeEmojis: "使用OS原生表情符號"
+disableDrawer: "不顯示下拉式選單"
youHaveNoGroups: "找不到群組"
joinOrCreateGroup: "請加入現有群組,或創建新群組。"
noHistory: "沒有歷史紀錄"
-signinHistory: "登錄歷史"
+signinHistory: "登入歷史"
disableAnimatedMfm: "禁用MFM動畫"
doing: "正在進行"
category: "類別"
tags: "標籤"
docSource: "文件來源"
createAccount: "建立帳戶"
-existingAcount: "現有帳戶"
+existingAccount: "現有帳戶"
regenerate: "再生"
fontSize: "字體大小"
noFollowRequests: "沒有要求跟隨您的申請"
@@ -462,25 +475,33 @@ weekOverWeekChanges: "與上週相比"
dayOverDayChanges: "與前一日相比"
appearance: "外觀"
clientSettings: "用戶端設定"
-accountSettings: "帳號設定"
+accountSettings: "帳戶設定"
promotion: "推廣"
promote: "推廣"
numberOfDays: "有效天數"
-hideThisNote: "隱藏此箋文"
+hideThisNote: "隱藏此貼文"
showFeaturedNotesInTimeline: "在時間軸上顯示熱門推薦"
+objectStorage: "Object Storage (物件儲存)"
+useObjectStorage: "使用Object Storage"
objectStorageBaseUrl: "Base URL"
+objectStorageBaseUrlDesc: "引用時的URL。如果您使用的是CDN或反向代理,请指定其URL,例如S3:“https://.s3.amazonaws.com”,GCS:“https://storage.googleapis.com/”"
objectStorageBucket: "儲存空間(Bucket)"
+objectStorageBucketDesc: "請指定您正在使用的服務的存儲桶名稱。 "
objectStoragePrefix: "前綴"
-objectStorageEndpoint: "訪問網域名稱(Endpoint)"
-objectStorageEndpointDesc: "如要使用AWS S3,請留空。否則請根據伺服器要求以''或 ':'的形式設定訪問網域名稱(Endpoint)。"
+objectStoragePrefixDesc: "它存儲在此前綴目錄下。"
+objectStorageEndpoint: "端點(Endpoint)"
+objectStorageEndpointDesc: "如要使用AWS S3,請留空。否則請依照你使用的服務商的說明書進行設定,以''或 ':'的形式設定端點(Endpoint)。"
objectStorageRegion: "地域(Region)"
+objectStorageRegionDesc: "指定一個分區,例如“xx-east-1”。 如果您使用的服務沒有分區的概念,請留空或填寫“us-east-1”。"
objectStorageUseSSL: "使用SSL"
+objectStorageUseSSLDesc: "如果不使用https進行API連接,請關閉"
objectStorageUseProxy: "使用網路代理"
-objectStorageSetPublicRead: "上載時設定為\"public-read\""
+objectStorageUseProxyDesc: "如果不使用代理進行API連接,請關閉"
+objectStorageSetPublicRead: "上傳時設定為\"public-read\""
serverLogs: "伺服器日誌"
deleteAll: "刪除所有記錄"
-showFixedPostForm: "於時間軸頁頂顯示「發送箋文」方框"
-newNoteRecived: "發現新的箋文"
+showFixedPostForm: "於時間軸頁頂顯示「發送貼文」方框"
+newNoteRecived: "發現新的貼文"
sounds: "音效"
listen: "聆聽"
none: "無"
@@ -489,7 +510,7 @@ popout: "彈出型窗口"
volume: "音量"
masterVolume: "主音量"
details: "詳細資訊"
-chooseEmoji: "選擇您的表情符號\n"
+chooseEmoji: "選擇您的表情符號"
unableToProcess: "操作無法完成"
recentUsed: "最近使用"
install: "安裝"
@@ -503,27 +524,29 @@ sort: "排序"
ascendingOrder: "昇冪"
descendingOrder: "降冪"
scratchpad: "暫存記憶體"
+scratchpadDescription: "AiScript控制台為AiScript提供了實驗環境。您可以在此編寫、執行和確認代碼與Misskey互動的结果。"
output: "輸出"
script: "腳本"
disablePagesScript: "停用頁面的AiScript腳本"
-updateRemoteUser: "更新非本地用戶資料"
+updateRemoteUser: "更新遠端使用者資訊"
deleteAllFiles: "刪除所有檔案"
-deleteAllFilesConfirm: "要删除所有檔案吗?"
-removeAllFollowing: "解除所有追隨"
-removeAllFollowingDescription: "解除{host}所有的跟隨。在實例不再存在時執行。"
-userSuspended: "該用戶已被凍結"
+deleteAllFilesConfirm: "要删除所有檔案嗎?"
+removeAllFollowing: "解除所有追蹤"
+removeAllFollowingDescription: "解除{host}所有的追蹤。在實例不再存在時執行。"
+userSuspended: "該使用者已被停用"
userSilenced: "該用戶已被禁言。"
-sidebar: "側邊列"
+yourAccountSuspendedTitle: "帳戶已被凍結"
+yourAccountSuspendedDescription: "由於違反了伺服器的服務條款或其他原因,該帳戶已被凍結。 您可以與管理員連繫以了解更多訊息。 請不要創建一個新的帳戶。"
+menu: "選單"
divider: "分割線"
addItem: "新增項目"
-rooms: "房間"
relays: "中繼"
-addRelay: "添加中繼"
-inboxUrl: "私信URL"
-addedRelays: "已添加的中繼"
+addRelay: "新增中繼"
+inboxUrl: "收件夾URL"
+addedRelays: "已加入的中繼"
serviceworkerInfo: "您需要啟用推送通知"
-deletedNote: "已删除的箋文"
-invisibleNote: "隱藏的帖子"
+deletedNote: "已删除的貼文"
+invisibleNote: "隱藏的貼文"
enableInfiniteScroll: "啟用自動滾動頁面模式"
visibility: "可見性"
poll: "投票"
@@ -533,40 +556,49 @@ disablePlayer: "關閉播放器"
expandTweet: "展開推文"
themeEditor: "主題編輯器"
description: "描述"
+describeFile: "添加標題 "
+enterFileDescription: "輸入標題 "
author: "作者"
leaveConfirm: "有未保存的更改。要放棄嗎?"
manage: "管理"
-plugins: "插件"
-pluginInstallWarn: "請不要安裝來源不明的插件。"
+plugins: "外掛"
+preferencesBackups: "備份設定檔"
deck: "多欄模式"
undeck: "取消多欄模式"
useBlurEffectForModal: "在模態框使用模糊效果"
-useFullReactionPicker: "使用大尺寸的情感選擇欄"
+useFullReactionPicker: "使用全尺寸的反應選擇器"
width: "寬度"
height: "高度"
large: "大"
medium: "中"
small: "小"
+generateAccessToken: "發行存取權杖"
permission: "權限"
enableAll: "啟用全部"
disableAll: "停用全部"
-tokenRequested: "允許訪問帳號"
+tokenRequested: "允許存取帳戶"
+pluginTokenRequestedDescription: "此外掛將擁有在此設定的權限。"
notificationType: "通知形式"
edit: "編輯"
useStarForReactionFallback: "以★代替未知的表情符號"
-emailConfig: "電子郵件伺服器設定"
+emailServer: "電郵伺服器"
enableEmail: "啟用發送電郵功能"
emailConfigInfo: "用於確認電郵地址及密碼重置"
email: "電子郵件"
emailAddress: "電郵地址"
smtpConfig: "SMTP伺服器設定"
smtpHost: "主機"
-smtpPort: "端口"
+smtpPort: "埠"
smtpUser: "使用者名稱"
smtpPass: "密碼"
-emptyToDisableSmtpAuth: "留空使用者名稱和密碼以禁用SMTP驗證。"
-testEmail: "郵件測試發送"
-wordMute: "靜音文字"
+emptyToDisableSmtpAuth: "留空使用者名稱和密碼以關閉SMTP驗證。"
+smtpSecure: "在 SMTP 連接中使用隱式 SSL/TLS"
+smtpSecureInfo: "使用STARTTLS時關閉。"
+testEmail: "測試郵件發送"
+wordMute: "被靜音的文字"
+regexpError: "正規表達式錯誤"
+regexpErrorDescription: "{tab} 靜音文字的第 {line} 行的正規表達式有錯誤:"
+instanceMute: "實例的靜音"
userSaysSomething: "{name}說了什麼"
makeActive: "啟用"
display: "檢視"
@@ -580,37 +612,49 @@ channel: "頻道"
create: "新增"
notificationSetting: "通知設定"
notificationSettingDesc: "選擇顯示通知的類型"
+useGlobalSetting: "使用全域設定"
+useGlobalSettingDesc: "啟用時,將使用帳戶通知設定。停用時,則可以單獨設定。"
other: "其他"
-regenerateLoginTokenDescription: "再生用於登入的內部權杖。一般情況下是不需要這樣做的。一旦再生,所有裝置將會被登出。"
-fileIdOrUrl: "文檔ID或者URL"
-chatOpenBehavior: "開啟聊天窗口時的行為"
+regenerateLoginToken: "重新產生登入權杖"
+regenerateLoginTokenDescription: "重新產生用於登入的內部權杖。一般情況下是不需要這樣做的。一旦重產,所有裝置將會被登出。"
+setMultipleBySeparatingWithSpace: "您可以使用空格分隔多個項目。"
+fileIdOrUrl: "檔案ID或URL"
behavior: "行為"
-sample: "範例 "
+sample: "範例"
abuseReports: "檢舉"
reportAbuse: "檢舉"
reportAbuseOf: "檢舉{name}"
fillAbuseReportDescription: "請填寫檢舉的詳細理由。可以的話,請附上針對的URL網址。"
-abuseReported: "內容已經發送。感謝您的報告。"
+abuseReported: "回報已送出。感謝您的報告。"
+reporter: "檢舉者"
+reporteeOrigin: "檢舉來源"
+reporterOrigin: "檢舉者來源"
+forwardReport: "將報告轉送給遠端實例"
+forwardReportIsAnonymous: "在遠端實例上看不到您的資訊,顯示的報告者是匿名的系统帳戶。"
send: "發送"
abuseMarkAsResolved: "處理完畢"
openInNewTab: "在新分頁中開啟"
openInSideView: "在側欄中開啟"
-editTheseSettingsMayBreakAccount: "修改這些設定可能會毀壞您的帳戶"
-instanceTicker: "箋文的實例來源"
+defaultNavigationBehaviour: "默認導航"
+editTheseSettingsMayBreakAccount: "修改這些設定可能會毀損您的帳戶"
+instanceTicker: "貼文的實例來源"
waitingFor: "等待{x}"
random: "隨機"
system: "系統"
switchUi: "切換界面"
desktop: "桌面"
-clip: "片段"
+clip: "摘錄"
createNew: "新建"
optional: "可選"
+createNewClip: "建立新摘錄"
+unclip: "解除摘錄"
+confirmToUnclipAlreadyClippedNote: "此貼文已包含在摘錄「{name}」中。 你想將貼文從這個摘錄中排除嗎?"
public: "公開"
i18nInfo: "Misskey已經被志願者們翻譯成各種語言版本,如果想要幫忙的話,可以進入{link}幫助翻譯。"
manageAccessTokens: "管理存取權杖"
accountInfo: "帳戶資訊"
-notesCount: "箋文數量"
-repliesCount: "回覆數量\n"
+notesCount: "貼文數量"
+repliesCount: "回覆數量"
renotesCount: "轉發數量"
repliedCount: "回覆數量"
renotedCount: "轉發次數"
@@ -618,55 +662,319 @@ followingCount: "正在跟隨的用戶數量"
followersCount: "跟隨者數量"
sentReactionsCount: "情感發送次數"
receivedReactionsCount: "情感收到次數"
+pollVotesCount: "已統計的投票數"
+pollVotedCount: "已投票數"
yes: "確定"
no: "取消"
driveFilesCount: "雲端硬碟檔案數量"
driveUsage: "雲端硬碟使用量"
-noCrawleDescription: "請求網路搜尋引擎不要索引你的個人資料頁、箋文及頁面等。"
-lockedAccountInfo: "即使你通過了追隨者請求,除非你將箋文的可見性設定為 「追隨者」,否則任何人都能看見你的箋文。"
-loadRawImages: "以原始圖像質量顯示附件圖像的縮略圖"
-disableShowingAnimatedImages: "不播放動態圖像"
+noCrawle: "拒絕搜尋引擎索引"
+noCrawleDescription: "要求網路搜尋引擎不要索引你的個人資料頁、貼文及頁面等。"
+lockedAccountInfo: "即使你通過了追隨者請求,除非你將貼文的可見性設定為 「追隨者」,否則任何人都能看見你的貼文。"
+alwaysMarkSensitive: "默認將圖像/影像標記為敏感內容"
+loadRawImages: "以原始圖檔顯示附件圖檔的縮圖"
+disableShowingAnimatedImages: "不播放動態圖檔"
+verificationEmailSent: "已發送驗證電子郵件。請點擊進入電子郵件中的鏈接完成驗證。"
notSet: "未設定"
emailVerified: "已成功驗證您的電郵"
-noteFavoritesCount: "收藏箋文的數目"
-pageLikesCount: "頁面被喜歡次數"
-pageLikedCount: "頁面被喜歡次數"
+noteFavoritesCount: "我的最愛貼文的數目"
+pageLikesCount: "頁面被按讚次數"
+pageLikedCount: "頁面被按讚次數"
contact: "聯絡人"
-useSystemFont: "使用系統默認的字型"
-clips: "標籤"
-experimentalFeatures: "測試中的功能"
+useSystemFont: "使用系統預設的字型"
+clips: "摘錄"
+experimentalFeatures: "實驗中的功能"
developer: "開發者"
-makeExplorable: "讓自己的帳戶能夠在“探索”版面顯示"
-makeExplorableDescription: "如果關閉,帳戶將不會被顯示在\"探索\"版面中。"
-showGapBetweenNotesInTimeline: "分開顯示時間線上的箋文。"
+makeExplorable: "使自己的帳戶能夠在“探索”頁面中顯示"
+makeExplorableDescription: "如果關閉,帳戶將不會被顯示在\"探索\"頁面中。"
+showGapBetweenNotesInTimeline: "分開顯示時間線上的貼文。"
duplicate: "複製"
left: "左"
-center: "向中央"
+center: "置中"
wide: "寬"
narrow: "窄"
reloadToApplySetting: "設定將會在頁面重新載入之後生效。要現在就重載頁面嗎?"
+needReloadToApply: "必須重新載入才會生效。"
showTitlebar: "顯示標題列"
clearCache: "清除快取資料"
onlineUsersCount: "{n}人正在線上"
nUsers: "{n}用戶"
-nNotes: "{n}箋文"
+nNotes: "{n}貼文"
+sendErrorReports: "傳送錯誤報告"
+sendErrorReportsDescription: "啟用後,問題報告將傳送至開發者以提升軟體品質。問題報告可能包括OS版本,瀏覽器類型,行為歷史記錄等。"
+myTheme: "我的佈景主題"
backgroundColor: "背景"
-textColor: "文本"
+accentColor: "重點色彩"
+textColor: "文字"
+saveAs: "另存為..."
advanced: "進階"
-value: "數值 "
+value: "數值"
+createdAt: "建立於"
updatedAt: "最後更新"
+saveConfirm: "您要儲存變更嗎?"
+deleteConfirm: "你確定要刪除嗎?"
+invalidValue: "輸入值無效。"
+registry: "登錄表"
+closeAccount: "停用帳戶"
+currentVersion: "目前版本"
+latestVersion: "最新版本"
+youAreRunningUpToDateClient: "您所使用的用戶端已經是最新的。"
+newVersionOfClientAvailable: "新版本的用戶端可用。"
+usageAmount: "使用量"
+capacity: "容量"
+inUse: "已使用"
+editCode: "編輯代碼"
+apply: "套用"
+receiveAnnouncementFromInstance: "接收由本實例發出的電郵通知"
+emailNotification: "郵件通知"
+publish: "發佈"
+inChannelSearch: "頻道内搜尋"
+useReactionPickerForContextMenu: "點擊右鍵開啟反應工具欄"
+typingUsers: "{users}輸入中..."
+jumpToSpecifiedDate: "跳轉到特定日期"
+showingPastTimeline: "顯示過往的時間線"
+clear: "清除"
+markAllAsRead: "全部標示為已讀"
+goBack: "返回"
+unlikeConfirm: "要取消按讚嗎?"
+fullView: "全熒幕顯示"
+quitFullView: "退出全熒幕顯示"
+addDescription: "添加描述"
+userPagePinTip: "在貼文的選單中選擇\"置頂\",即可置頂該貼文至您的個人檔案頁面。"
+notSpecifiedMentionWarning: "此貼文有未指定的提及"
+info: "資訊"
+userInfo: "用戶資料"
+unknown: "未知"
+onlineStatus: "在線狀態"
+hideOnlineStatus: "隱藏在線狀態"
+hideOnlineStatusDescription: "隱藏在線狀態後,可能會降低檢索等功能的便利性。"
+online: "線上"
+active: "最近活躍"
+offline: "離線"
+notRecommended: "不推薦"
+botProtection: "Bot防護"
+instanceBlocking: "已封鎖的實例"
+selectAccount: "選擇帳戶"
+switchAccount: "切換帳戶"
+enabled: "已啟用"
+disabled: "已停用"
+quickAction: "快捷操作"
+user: "使用者"
+administration: "管理"
+accounts: "帳戶"
+switch: "切換"
+noMaintainerInformationWarning: "尚未設定管理員信息。"
+noBotProtectionWarning: "尚未設定Bot防護。"
+configure: "設定"
+postToGallery: "發佈到相簿"
+gallery: "相簿"
+recentPosts: "最新貼文"
+popularPosts: "熱門的貼文"
+shareWithNote: "在貼文中分享"
+ads: "廣告"
+expiration: "期限"
+memo: "備忘錄"
+priority: "優先級"
+high: "高"
+middle: "中"
+low: "低"
+emailNotConfiguredWarning: "沒有設定電子郵件地址"
+ratio: "%"
+previewNoteText: "預覽文本"
+customCss: "自定義 CSS"
+customCssWarn: "這個設定必須由具備相關知識的人員操作,不當的設定可能导致客戶端無法正常使用。"
+global: "公開"
+squareAvatars: "頭像以方形顯示"
+sent: "發送"
+received: "收取"
+searchResult: "搜尋結果"
+hashtags: "#tag"
+troubleshooting: "故障排除"
+useBlurEffect: "在 UI 上使用模糊效果"
+learnMore: "更多資訊"
+misskeyUpdated: "Misskey 更新完成!"
+whatIsNew: "顯示更新資訊"
+translate: "翻譯"
+translatedFrom: "從 {x} 翻譯"
+accountDeletionInProgress: "正在刪除帳戶"
+usernameInfo: "在伺服器上您的帳戶是唯一的識別名稱。您可以使用字母 (a ~ z, A ~ Z)、數字 (0 ~ 9) 和下底線 (_)。之後帳戶名是不能更改的。"
+aiChanMode: "小藍模式"
+keepCw: "保持CW"
+pubSub: "Pub/Sub 帳戶"
+lastCommunication: "最近的通信"
+resolved: "已解決"
+unresolved: "未解決"
+breakFollow: "移除追蹤者"
+itsOn: "已開啟"
+itsOff: "已關閉"
+emailRequiredForSignup: "註冊帳戶需要電子郵件地址"
+unread: "未讀"
+filter: "篩選"
+controlPanel: "控制台"
+manageAccounts: "管理帳戶"
+makeReactionsPublic: "將反應設為公開"
+makeReactionsPublicDescription: "將您做過的反應設為公開可見。"
+classic: "經典"
+muteThread: "將貼文串設為靜音"
+unmuteThread: "將貼文串的靜音解除"
+ffVisibility: "連接的公開範圍"
+ffVisibilityDescription: "您可以設定您的關注/關注者資訊的公開範圍"
+continueThread: "查看更多貼文"
+deleteAccountConfirm: "將要刪除帳戶。是否確定?"
+incorrectPassword: "密碼錯誤。"
+voteConfirm: "確定投給「{choice}」?"
+hide: "隱藏"
+leaveGroup: "離開群組"
+leaveGroupConfirm: "確定離開「{name}」?"
+useDrawerReactionPickerForMobile: "在移動設備上使用抽屜顯示"
+welcomeBackWithName: "歡迎回來,{name}"
+clickToFinishEmailVerification: "點擊 [{ok}] 完成電子郵件地址認證。"
+overridedDeviceKind: "裝置類型"
+smartphone: "智慧型手機"
+tablet: "平板"
+auto: "自動"
+themeColor: "主題顏色"
+size: "大小"
+numberOfColumn: "列數"
+searchByGoogle: "搜尋"
+instanceDefaultLightTheme: "實例預設的淺色主題"
+instanceDefaultDarkTheme: "實例預設的深色主題"
+instanceDefaultThemeDescription: "輸入物件形式的主题代碼"
+mutePeriod: "靜音的期限"
+indefinitely: "無期限"
+tenMinutes: "10分鐘"
+oneHour: "1小時"
+oneDay: "1天"
+oneWeek: "1週"
+reflectMayTakeTime: "可能需要一些時間才會出現效果。"
+failedToFetchAccountInformation: "取得帳戶資訊失敗"
+rateLimitExceeded: "已超過速率限制"
+cropImage: "圖片裁剪"
+cropImageAsk: "要剪裁圖片嗎?"
+file: "檔案"
+recentNHours: "過去{n}小時"
+recentNDays: "過去{n}天"
+noEmailServerWarning: "尚未設定電子郵件伺服器。"
+thereIsUnresolvedAbuseReportWarning: "有尚未處理的檢舉。"
+recommended: "推薦"
+check: "檢查"
+driveCapOverrideLabel: "更改這個使用者的雲端硬碟容量上限"
+driveCapOverrideCaption: "如果指定0以下的值,就會被取消。"
+requireAdminForView: "必須以管理者帳號登入才可以檢視。"
+isSystemAccount: "由系統自動建立與管理的帳號。"
+typeToConfirm: "要執行這項操作,請輸入 {x} "
+deleteAccount: "刪除帳號"
+document: "文件"
+numberOfPageCache: "快取頁面數"
+numberOfPageCacheDescription: "增加數量會提高便利性,但也會增加負荷與記憶體使用量。"
+logoutConfirm: "確定要登出嗎?"
+lastActiveDate: "上次使用日期及時間"
+statusbar: "狀態列"
+pleaseSelect: "請選擇"
+reverse: "翻轉"
+colored: "彩色"
+refreshInterval: "更新間隔"
+label: "標籤"
+type: "類型"
+speed: "速度"
+slow: "慢"
+fast: "快"
+sensitiveMediaDetection: "敏感性媒體的檢測"
+localOnly: "僅限本地"
+remoteOnly: "僅限遠端"
+failedToUpload: "上傳失敗"
+cannotUploadBecauseInappropriate: "由於判定可能包含不適當的內容,因此無法上傳。"
+cannotUploadBecauseNoFreeSpace: "由於雲端硬碟沒有可用空間,因此無法上傳。"
+beta: "Beta"
+enableAutoSensitive: "自動NSFW判定"
+enableAutoSensitiveDescription: "如果可用,請利用機器學習在媒體上自動設置 NSFW 旗標。 即使關閉此功能,依實例而定也可能會自動設置。"
+activeEmailValidationDescription: "積極地驗證用戶的電子郵件地址,判斷它是否為免洗地址,或者它是否可以通信。 若關閉,則只會檢查字元是否正確。"
+navbar: "導覽列"
+shuffle: "隨機"
+account: "帳戶"
+move: "移動 "
+_sensitiveMediaDetection:
+ description: "您可以使用機器學習自動檢測敏感媒體並將其用於審核。 伺服器的負荷會稍微增加。"
+ sensitivity: "檢測敏感度"
+ sensitivityDescription: "敏感度低時,誤檢測(偽陽性)會減少。敏感度高時,漏檢(偽陰性)會減少。"
+ setSensitiveFlagAutomatically: "設定 NSFW 旗標"
+ setSensitiveFlagAutomaticallyDescription: "即使將此設定關閉,判定結果也會保留在內部。"
+ analyzeVideos: "啟用影片分析"
+ analyzeVideosDescription: "除了靜止影像以外,也分析影片。伺服器的負荷會稍微增加。"
+_emailUnavailable:
+ used: "已經在使用中"
+ format: "格式無效"
+ disposable: "不是永久可用的地址"
+ mx: "郵件伺服器不正確"
+ smtp: "郵件伺服器沒有應答"
+_ffVisibility:
+ public: "發佈"
+ followers: "只有關注你的用戶能看到"
+ private: "私密"
+_signup:
+ almostThere: "即將完成"
+ emailAddressInfo: "請輸入您所使用的電子郵件地址。電子郵件地址不會被公開。"
+ emailSent: "已將確認郵件發送至您輸入的電子郵件地址 ({email})。請開啟電子郵件中的連結以完成帳戶創建。"
+_accountDelete:
+ accountDelete: "刪除帳戶"
+ mayTakeTime: "刪除帳戶的處理負荷較大,如果帳戶產生的內容數量上傳的檔案數量較多的話,就需要花费一段時間才能完成。"
+ sendEmail: "帳戶删除完成後,將向註冊地電子郵件地址發送通知。"
+ requestAccountDelete: "刪除帳戶請求"
+ started: "已開始刪除作業。"
+ inProgress: "正在刪除"
+_ad:
+ back: "返回"
+ reduceFrequencyOfThisAd: "降低此廣告的頻率 "
+_forgotPassword:
+ enterEmail: "請輸入您的帳戶註冊的電子郵件地址。 密碼重置連結將被發送到該電子郵件地址。"
+ ifNoEmail: "如果您還沒有註冊您的電子郵件地址,請聯繫管理員。 "
+ contactAdmin: "此實例不支持電子郵件,請聯繫您的管理員重置您的密碼。 "
+_gallery:
+ my: "我的貼文"
+ liked: "喜歡的貼文"
+ like: "讚"
+ unlike: "收回喜歡"
+_email:
+ _follow:
+ title: "您有新的追隨者"
+ _receiveFollowRequest:
+ title: "收到追隨請求"
+_plugin:
+ install: "安裝外掛組件"
+ installWarn: "請不要安裝來源不明的外掛組件。"
+ manage: "管理外掛"
+_preferencesBackups:
+ list: "已備份的設定檔"
+ saveNew: "另存新檔"
+ loadFile: "讀取檔案"
+ apply: "套用在此裝置"
+ save: "覆蓋存檔"
+ inputName: "輸入備份檔名稱"
+ cannotSave: "無法儲存"
+ nameAlreadyExists: "備份檔名稱「{name}」已經存在。請指定不同的名稱。"
+ applyConfirm: "將備份檔「{name}」套用在現在的裝置嗎?現在的裝置設定將會消失。"
+ saveConfirm: "要覆蓋存檔{name}嗎?"
+ deleteConfirm: "要刪除{name}嗎?"
+ renameConfirm: "要將「{old}」變更為「{new}」嗎?"
+ noBackups: "沒有備份檔。您可以用「另存新檔」將現在的客戶端設定儲存在伺服器上。"
+ createdAt: "建立日期:{date} {time}"
+ updatedAt: "更新日期:{date} {time}"
+ cannotLoad: "無法讀取"
+ invalidFile: "檔案形式錯誤。"
_registry:
scope: "範圍"
- key: "主要"
- keys: "主要"
+ key: "機碼"
+ keys: "機碼"
+ domain: "域"
+ createKey: "新增機碼"
_aboutMisskey:
- about: "Misskey是由syuilo於2014年開發的開源軟件。"
+ about: "Misskey是由syuilo自2014年起開發的開源軟體。"
contributors: "主要貢獻者"
allContributors: "全體貢獻人員"
source: "原始碼"
translation: "翻譯Misskey"
- donate: "捐贈給Misskey"
- morePatrons: "感謝你們的支持、 幫助。 🥰"
+ donate: "贊助Misskey"
+ morePatrons: "還有許許多多幫助我們的其他人,非常感謝你們。 🥰"
patrons: "贊助者"
_nsfw:
respect: "隱藏敏感內容"
@@ -675,66 +983,69 @@ _nsfw:
_mfm:
cheatSheet: "MFM代碼小抄"
intro: "MFM是Misskey專用的標記語言,可以在Misskey中的各個位置使用。 您可以這裏看到MFM可用語法列表。"
+ dummy: "Misskey拓展了Fediverse的世界"
mention: "提及"
+ mentionDescription: "透過 @+用戶名 來標示特定使用者。"
hashtag: "#tag"
+ 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: "可設置顯示內容所使用的字型"
-_reversi:
- reversi: "黑白棋"
- gameSettings: "對弈設定"
- chooseBoard: "選擇棋盤"
- blackOrWhite: "黑棋/白棋"
- blackIs: "{name}在玩黑棋"
- rules: "規則"
- botSettings: "機器人設定"
- thisGameIsStartedSoon: "遊戲即將開始"
- waitingForOther: "等待對手準備"
- waitingForMe: "等待您的準備"
- waitingBoth: "請準備"
- ready: "已就緒"
- cancelReady: "重新準備"
- opponentTurn: "對手回合"
- myTurn: "你的回合"
- turnOf: "{name}的回合"
- pastTurnOf: "{name}的回合"
- surrender: "認輸"
- surrendered: "對手認輸"
- drawn: "平局"
- won: "{name}獲勝"
- black: "黑"
- white: "白"
- total: "合計"
- turnCount: "{count}回合"
- myGames: "我的對弈"
- allGames: "所有對弈"
- ended: "已結束"
- playing: "正在對弈"
+ fontDescription: "您可以設定顯示內容的字型"
+ rainbow: "彩虹"
+ rainbowDescription: "用彩虹色來顯示內容。"
+ sparkle: "閃閃發光"
+ sparkleDescription: "添加閃閃發光的粒子效果。"
+ rotate: "旋轉"
+ rotateDescription: "以指定的角度旋轉。"
+ plain: "簡潔"
+ plainDescription: "停用全部的內部語法。"
_instanceTicker:
none: "隱藏"
remote: "向遠端使用者顯示"
@@ -746,26 +1057,38 @@ _serverDisconnectedBehavior:
_channel:
create: "建立頻道"
edit: "編輯頻道"
- setBanner: "設定橫幅"
- removeBanner: "移除封面圖"
- featured: "發燒內容"
+ setBanner: "設定橫幅圖像"
+ removeBanner: "移除橫幅圖像"
+ featured: "熱門貼文"
owned: "管理中"
following: "關注中"
usersCount: "有{n}人參與"
- notesCount: "有{n}個帖子"
-_sidebar:
- full: "全部"
- icon: "頭像"
+ notesCount: "有{n}個貼文"
+_menuDisplay:
+ sideFull: "側向"
+ sideIcon: "側向(圖示)"
+ top: "頂部"
hide: "隱藏"
_wordMute:
muteWords: "加入靜音文字"
- softDescription: "隱藏時間軸中指定條件的箋文。"
- mutedNotes: "已靜音的箋文"
+ muteWordsDescription: "用空格分隔指定AND,用換行分隔指定OR。"
+ muteWordsDescription2: "將關鍵字用斜線括起來表示正規表達式。"
+ softDescription: "隱藏時間軸中指定條件的貼文。"
+ hardDescription: "具有指定條件的貼文將不添加到時間軸。 即使您更改條件,未被添加的貼文也會被排除在外。"
+ soft: "軟性靜音"
+ hard: "硬性靜音"
+ mutedNotes: "已靜音的貼文"
+_instanceMute:
+ instanceMuteDescription: "包括對被靜音實例上的用戶的回覆,被設定的實例上所有貼文及轉發都會被靜音。"
+ instanceMuteDescription2: "設定時以換行進行分隔"
+ title: "被設定的實例,貼文將被隱藏。"
+ heading: "將實例靜音"
_theme:
explore: "取得佈景主題"
install: "安裝佈景主題"
manage: "佈景主題管理員"
code: "主題代碼"
+ description: "描述"
installed: "{name}已安裝"
installedThemes: "已經安裝的主題"
builtinThemes: "標準主題"
@@ -773,28 +1096,46 @@ _theme:
invalid: "主題格式錯誤"
make: "製作主題"
base: "基於"
+ addConstant: "添加常數"
constant: "常數"
defaultValue: "預設值"
color: "顏色"
+ refProp: "查看屬性 "
+ refConst: "查看常數"
+ key: "按鍵"
func: "函数"
funcKind: "功能類型"
argument: "參數"
+ basedProp: "要基於的屬性的名稱 "
alpha: "透明度"
darken: "暗度"
lighten: "亮度"
+ inputConstantName: "請輸入常數的名稱"
+ importInfo: "您可以在此貼上主題代碼,將其匯入編輯器中"
+ deleteConstantConfirm: "確定要删除常數{const}嗎?"
keys:
+ accent: "重點色彩"
bg: "背景"
fg: "文本"
+ focus: "聚焦"
+ indicator: "指標"
+ panel: "面板"
shadow: "陰影"
+ header: "標題"
+ navBg: "側邊欄的背景 "
+ navFg: "側邊欄的文字"
+ navHoverFg: "側邊欄文字(懸停) "
+ navActive: "側邊欄文本 (活動)"
navIndicator: "側邊欄指示符"
link: "鏈接"
hashtag: "#tag"
- mention: "提及"
- mentionMe: "提及我"
- renote: "轉發箋文"
+ mention: "提到"
+ mentionMe: "提到了我"
+ renote: "轉發貼文"
+ modalBg: "對話框背景"
divider: "分割線"
- scrollbarHandle: "滾動條"
- scrollbarHandleHover: "滾動條 (漂浮)"
+ scrollbarHandle: "捲動條"
+ scrollbarHandleHover: "捲動條 (漂浮)"
dateLabelFg: "日期標籤文字"
infoBg: "資訊背景"
infoFg: "資訊內容"
@@ -803,24 +1144,28 @@ _theme:
cwBg: "CW 按鈕背景"
cwFg: "CW 按鈕文本"
cwHoverBg: "CW 按鈕背景 (漂浮)"
+ toastBg: "通知背景"
+ toastFg: "通知文本"
buttonBg: "按鈕背景"
buttonHoverBg: "按鈕背景 (漂浮)"
inputBorder: "輸入框邊框"
listItemHoverBg: "列表物品背景 (漂浮)"
driveFolderBg: "雲端硬碟文件夾背景"
- messageBg: "私信背景"
+ wallpaperOverlay: "壁紙覆蓋層"
+ badge: "獎章"
+ messageBg: "私訊背景"
accentDarken: "強調色(偏暗)"
accentLighten: "強調色(明亮)"
fgHighlighted: "高亮顯示文本"
_sfx:
- note: "箋文"
- noteMy: "我的箋文"
+ note: "貼文"
+ noteMy: "我的貼文"
notification: "通知"
chat: "傳送訊息"
+ chatBg: "聊天背景"
antenna: "天線接收"
channel: "頻道通知"
_ago:
- unknown: "未知"
future: "未來"
justNow: "剛剛"
secondsAgo: "{n}秒前"
@@ -838,45 +1183,52 @@ _time:
_tutorial:
title: "Misskey使用方法"
step1_1: "歡迎!"
- step1_2: "此為「時間軸」頁面,它會按照時間順序顯示你「追隨」的人發出的「箋文」"
- step1_3: "由於你沒有發佈任何箋文,也沒有追隨任何人,所以你的時間軸目前是空的。"
+ step1_2: "此為「時間軸」頁面,它會按照時間順序顯示你「追隨」的人發出的「貼文」"
+ step1_3: "由於你沒有發佈任何貼文,也沒有追隨任何人,所以你的時間軸目前是空的。"
step2_1: "在發文或追隨其他人之前先讓我們設定一下個人資料吧。"
step2_2: "提供一些關於自己的資訊來讓其他人更有追隨你的意願。"
- step3_1: "個人資料都打理好了嗎?"
- step3_2: "下一步讓我們來試試看發個文,按一下畫面上的鉛筆圖示來開始"
+ step3_1: "個人資料都設定好了嗎?"
+ step3_2: "接下來,讓我們來試試看發個文,按一下畫面上的鉛筆圖示來開始"
step3_3: "輸入完內容後,按視窗右上角的按鈕來發文"
step3_4: "不知道該寫什麼內容嗎?試試看「開始使用Misskey了」如何。"
- step4_1: "箋文發出去了嗎?"
- step4_2: "如果你的箋文出現在時間軸上,就代表發文成功。"
+ step4_1: "貼文發出去了嗎?"
+ step4_2: "如果你的貼文出現在時間軸上,就代表發文成功。"
step5_1: "現在試試看追隨其他人來讓你的時間軸變得更生動吧。"
- step5_2: "你會在{featured}上看到受歡迎的箋文,你也可以從列表中追隨你喜歡的人,或者在{explore}上找到熱門使用者。"
- step5_3: "想要追隨其他人,只要點擊他們的頭像並按「追隨」即可。"
+ step5_2: "你會在{featured}上看到受歡迎的貼文,你也可以從列表中追隨你喜歡的人,或者在{explore}上找到熱門使用者。"
+ step5_3: "想要追隨其他人,只要點擊他們的大頭貼並按「追隨」即可。"
step5_4: "如果使用者的名字旁有鎖頭的圖示,代表他們需要手動核准你的追隨請求。"
- step6_1: "現在你可以在時間軸上看到其他用戶的箋文。"
- step6_2: "你也可以對別人的箋文作出「情感」,作出簡單的回覆。"
+ step6_1: "現在你可以在時間軸上看到其他用戶的貼文。"
+ step6_2: "你也可以對別人的貼文作出「情感」,作出簡單的回覆。"
+ step6_3: "在他人的貼文按下\"+\"圖標,即可選擇喜好的表情符號進行回應。"
step7_1: "以上為Misskey的基本操作說明,教學在此告一段落。辛苦了。"
step7_2: "歡迎到{help}來瞭解更多Misskey相關介紹。"
step7_3: "那麼,祝您在Misskey玩的開心~ 🚀"
_2fa:
alreadyRegistered: "此設備已經被註冊過了"
registerDevice: "註冊裝置"
+ registerKey: "註冊鍵"
step1: "首先,在您的設備上安裝二步驗證程式,例如{a}或{b}。"
- step2: "然後,掃描熒幕上的QR code。"
+ step2: "然後,掃描螢幕上的QR code。"
+ step2Url: "在桌面版應用中,請輸入以下的URL:"
+ step3: "輸入您的App提供的權杖以完成設定。"
+ step4: "從現在開始,任何登入操作都將要求您提供權杖。"
+ securityKeyInfo: "您可以設定使用支援FIDO2的硬體安全鎖、終端設備的指纹認證或者PIN碼來登入。"
_permissions:
- "read:account": "查看帳戶信息"
- "write:account": "更改帳戶信息"
+ "read:account": "查看我的帳戶資訊"
+ "write:account": "更改我的帳戶資訊"
"read:blocks": "已封鎖用戶名單"
"write:blocks": "編輯已封鎖用戶名單"
- "read:drive": "存取雲端硬碟\n"
+ "read:drive": "存取雲端硬碟"
"write:drive": "編輯雲端硬碟的檔案"
- "read:favorites": "瀏覽已收藏"
- "write:favorites": "編輯收藏清單"
+ "read:favorites": "瀏覽我的最愛"
+ "write:favorites": "編輯我的最愛列表"
+ "read:following": "查看追隨中的用戶資訊"
"write:following": "追隨/解除追隨"
"read:messaging": "顯示訊息"
"write:messaging": "撰寫或刪除私人訊息"
"read:mutes": "顯示已靜音列表"
"write:mutes": "編輯已靜音列表"
- "write:notes": "撰寫或刪除箋文"
+ "write:notes": "撰寫或刪除貼文"
"read:notifications": "查看通知"
"write:notifications": "編輯通知"
"read:reactions": "查看情感"
@@ -884,12 +1236,16 @@ _permissions:
"write:votes": "投票"
"read:pages": "顯示頁面"
"write:pages": "編輯頁面"
- "read:page-likes": "顯示頁面的已喜歡"
+ "read:page-likes": "顯示已按讚的頁面"
"write:page-likes": "編輯頁面上喜歡"
"read:user-groups": "顯示使用者群組"
"write:user-groups": "編輯使用者群組"
"read:channels": "已查看的頻道"
"write:channels": "編輯頻道"
+ "read:gallery": "瀏覽圖庫"
+ "write:gallery": "操作圖庫"
+ "read:gallery-likes": "讀取喜歡的圖片"
+ "write:gallery-likes": "操作喜歡的圖片"
_auth:
shareAccess: "要授權「“{name}”」存取您的帳戶嗎?"
shareAccessAsk: "您確定要授權這個應用程式使用您的帳戶嗎?"
@@ -898,11 +1254,11 @@ _auth:
callback: "回到應用程式"
denied: "拒絕訪問"
_antennaSources:
- all: "全部箋文"
- homeTimeline: "來自已追隨使用者的箋文"
- users: "來自特定使用者的箋文"
- userList: "來自特定清單中的箋文"
- userGroup: "來自特定群組的箋文"
+ all: "全部貼文"
+ homeTimeline: "來自已追隨使用者的貼文"
+ users: "來自特定使用者的貼文"
+ userList: "來自特定清單中的貼文"
+ userGroup: "來自特定群組的貼文"
_weekday:
sunday: "週日"
monday: "週一"
@@ -916,18 +1272,24 @@ _widgets:
notifications: "通知"
timeline: "時間軸"
calendar: "行事曆"
- trends: "發燒箋文"
+ trends: "發燒貼文"
clock: "時鐘"
rss: "RSS閱讀器"
+ rssTicker: "RSS跑馬燈"
activity: "動態"
photos: "照片"
digitalClock: "電子時鐘"
+ unixClock: "UNIX時間"
federation: "聯邦宇宙"
+ instanceCloud: "實例雲"
postForm: "發佈窗口"
slideshow: "幻燈片"
button: "按鈕"
- onlineUsers: "在線上的用戶"
+ onlineUsers: "線上的用戶"
jobQueue: "佇列"
+ serverMetric: "服務器指標 "
+ aiscript: "AiScript控制台"
+ aichan: "小藍"
_cw:
hide: "隱藏"
show: "瀏覽更多"
@@ -937,9 +1299,11 @@ _poll:
noOnlyOneChoice: "至少需要兩個選項。"
choiceN: "選擇{n}"
noMore: "沒辦法再添加選項了"
+ canMultipleVote: "可以多次投票"
expiration: "期限"
infinite: "無期限"
at: "結束時間"
+ after: "進度指定 "
deadlineDate: "截止日期"
deadlineTime: "小時"
duration: "時長"
@@ -951,17 +1315,22 @@ _poll:
closed: "已結束"
remainingDays: "{d}天{h}小時後結束"
remainingHours: "{h}小時{m}分後結束"
+ remainingMinutes: "{m}分{s}秒後結束"
+ remainingSeconds: "{s}秒後截止"
_visibility:
public: "公開"
+ publicDescription: "發布給所有用戶 "
home: "首頁"
+ homeDescription: "僅發送至首頁的時間軸"
followers: "追隨者"
+ followersDescription: "僅發送至關注者"
specified: "指定使用者"
specifiedDescription: "僅發送至指定使用者"
localOnly: "僅限本地"
localOnlyDescription: "對遠端使用者隱藏"
_postForm:
- replyPlaceholder: "回覆此箋文..."
- quotePlaceholder: "引用此箋文..."
+ replyPlaceholder: "回覆此貼文..."
+ quotePlaceholder: "引用此貼文..."
channelPlaceholder: "發佈到頻道"
_placeholders:
a: "今天過得如何?"
@@ -977,22 +1346,29 @@ _profile:
youCanIncludeHashtags: "你也可以在「關於我」中加上 #tag"
metadata: "進階資訊"
metadataEdit: "編輯進階資訊"
+ metadataDescription: "可以在個人資料中以表格形式顯示其他資訊。"
metadataLabel: "標籤"
metadataContent: "内容"
+ changeAvatar: "更換大頭貼"
+ changeBanner: "變更橫幅圖像"
_exportOrImport:
- allNotes: "所有箋文"
+ allNotes: "所有貼文"
followingList: "追隨中"
muteList: "靜音"
blockingList: "封鎖"
userLists: "清單"
+ excludeMutingUsers: "排除被靜音的用戶"
+ excludeInactiveUsers: "排除不活躍帳戶"
_charts:
+ federation: "站台聯邦"
+ apRequest: "請求"
usersIncDec: "使用者増減"
usersTotal: "使用者合共"
activeUsers: "活躍使用者"
- notesIncDec: "箋文増減"
- localNotesIncDec: "本地箋文増減"
- remoteNotesIncDec: "遠端箋文數目增减"
- notesTotal: "箋文合共"
+ notesIncDec: "貼文増減"
+ localNotesIncDec: "本地貼文増減"
+ remoteNotesIncDec: "遠端貼文數目增减"
+ notesTotal: "貼文合共"
filesIncDec: "檔案増減"
filesTotal: "累計檔案"
storageUsageIncDec: "儲存空間的増減"
@@ -1001,8 +1377,8 @@ _instanceCharts:
requests: "請求"
users: "使用者増減"
usersTotal: "總計使用者"
- notes: "箋文増減"
- notesTotal: "累計箋文"
+ notes: "貼文増減"
+ notesTotal: "累計貼文"
ff: "追隨/追隨者的増減"
ffTotal: "追隨/追隨者累計"
cacheSize: "增加或減少快取用量"
@@ -1014,65 +1390,6 @@ _timelines:
local: "本地"
social: "社群"
global: "公開"
-_rooms:
- roomOf: "{user}的房間"
- addFurniture: "擺放家具"
- translate: "移動 "
- rotate: "旋轉"
- exit: "返回"
- remove: "移除"
- clear: "全部移除"
- clearConfirm: "確定要移除全部家具嗎?"
- leaveConfirm: "修改未儲存,是否要離開?"
- chooseImage: "選擇圖像"
- roomType: "房間種類"
- carpetColor: "地板顏色"
- _roomType:
- default: "預設"
- washitsu: "和室"
- _furnitures:
- milk: "牛奶盒"
- bed: "床"
- low-table: "咖啡桌"
- desk: "書桌"
- chair: "椅子"
- chair2: "椅子2"
- fan: "通風機"
- pc: "電腦"
- plant: "觀葉植物"
- plant2: "觀葉植物2"
- eraser: "橡皮擦"
- pencil: "鉛筆"
- pudding: "布丁"
- cardboard-box: "紙板箱"
- cardboard-box2: "紙板箱2"
- cardboard-box3: "紙板箱3"
- book: "讀物"
- book2: "讀物2"
- piano: "鋼琴"
- server: "伺服器"
- moon: "月亮"
- corkboard: "木栓板"
- mousepad: "滑鼠墊"
- monitor: "監視器"
- keyboard: "鍵盤"
- carpet-stripe: "條紋地毯"
- mat: "地毯"
- wall-clock: "壁鐘"
- photoframe: "相框"
- cube: "立方體"
- tv: "電視"
- pinguin: "企鵝蠟像"
- poster-h: "海報(橫向)"
- poster-v: "海報(直向)"
- sofa: " 沙發"
- spiral: "螺旋式樓梯"
- bin: "垃圾箱"
- cup-noodle: "杯面"
- holo-display: "投影機"
- energy-drink: "能量飲料"
- doll-ai: "小藍的人偶公仔"
- banknote: "大疊鈔票"
_pages:
newPage: "建立頁面"
editPage: "編輯頁面"
@@ -1114,8 +1431,8 @@ _pages:
inputBlocks: "輸入"
specialBlocks: "特殊"
blocks:
- text: "文本"
- textarea: "文字區域"
+ text: "字串"
+ textarea: "字串區域"
section: "區段"
image: "圖片"
button: "按鈕"
@@ -1125,8 +1442,9 @@ _pages:
post: "發佈窗口"
_post:
text: "内容"
+ attachCanvasImage: "附加相簿圖像 "
canvasId: "畫布ID"
- textInput: "插入文字"
+ textInput: "插入字串"
_textInput:
name: "變數名稱"
text: "標題"
@@ -1146,9 +1464,10 @@ _pages:
id: "畫布ID"
width: "寬度"
height: "高度"
- note: "嵌式箋文"
+ note: "嵌式貼文"
_note:
- id: "箋文ID"
+ id: "貼文ID"
+ idDescription: "您也可以粘貼筆記 URL 並進行設置。 "
detailed: "顯示詳細內容"
switch: "開關"
_switch:
@@ -1165,12 +1484,15 @@ _pages:
colored: "彩色"
action: "按下按鈕後發生的行為"
_action:
+ dialog: "顯示對話框 "
_dialog:
content: "内容"
resetRandom: "重設亂數"
pushEvent: "發送事件"
_pushEvent:
event: "事件名稱"
+ message: "按下時顯示的消息 "
+ variable: "要發送的變數"
no-variable: "沒有"
callAiScript: "調用AiScript"
_callAiScript:
@@ -1179,6 +1501,7 @@ _pages:
_radioButton:
name: "變數名稱"
title: "標題"
+ values: "由換行符分隔的選項"
default: "預設值"
script:
categories:
@@ -1193,19 +1516,27 @@ _pages:
convert: "轉換"
list: "清單"
blocks:
- text: "文本"
- multiLineText: "文本 (多行)"
- textList: "文本列表"
+ text: "字串"
+ multiLineText: "字串(多行)"
+ textList: "字串串列"
+ _textList:
+ info: "請分開每個換行符 "
+ strLen: "字串長度"
_strLen:
- arg1: "文本"
+ arg1: "字串"
strPick: "提取字元"
_strPick:
- arg1: "文本"
+ arg1: "字串"
arg2: "字元位置"
+ strReplace: "替換字串"
_strReplace:
- arg1: "文本"
+ arg1: "字串"
+ arg2: "替換前"
+ arg3: "替換後"
+ strReverse: "倒轉字串"
_strReverse:
- arg1: "本文"
+ arg1: "字串"
+ join: "合併字串"
_join:
arg1: "清單"
arg2: "分隔字元"
@@ -1268,6 +1599,7 @@ _pages:
_if:
arg1: "如果"
arg2: "如果"
+ arg3: "除此以外 "
not: "否"
_not:
arg1: "否"
@@ -1278,13 +1610,17 @@ _pages:
_rannum:
arg1: "下限"
arg2: "上限"
+ randomPick: "從列表中隨機選擇 "
_randomPick:
arg1: "清單"
+ dailyRandom: "隨機(使用者每日變化 )"
_dailyRandom:
arg1: "機率"
+ dailyRannum: "亂數(使用者每日變化)"
_dailyRannum:
arg1: "下限"
arg2: "上限"
+ dailyRandomPick: "從列表中隨機選擇(使用者每日變化 ) "
_dailyRandomPick:
arg1: "清單"
seedRandom: "隨機抽選種子碼"
@@ -1300,8 +1636,9 @@ _pages:
_seedRandomPick:
arg1: "種子"
arg2: "清單"
+ DRPWPM: "从機率列表中隨機選擇(每個用户每天)"
_DRPWPM:
- arg1: "文本列表"
+ arg1: "字串串列"
pick: "從清單中選取"
_pick:
arg1: "清單"
@@ -1310,61 +1647,80 @@ _pages:
_listLen:
arg1: "清單"
number: "數值"
+ stringToNumber: "將字串轉換至數値"
_stringToNumber:
- arg1: "文字"
+ arg1: "字串"
+ numberToString: "將數値轉換至字串"
_numberToString:
arg1: "數值"
+ splitStrByLine: "於換行時分割字串"
_splitStrByLine:
- arg1: "文本"
+ arg1: "字串"
ref: "變數"
aiScriptVar: "AiScript的變數"
fn: "函数"
_fn:
+ slots: "欄位"
+ slots-info: "用換行符分隔每個欄位"
arg1: "輸出"
+ for: "重複 "
_for:
arg1: "重複次數"
arg2: "處理"
+ typeError: "槽參數{slot}需要傳入“{expect}”,但是實際傳入為“{actual}”!"
+ thereIsEmptySlot: "參數{slot}是空的!"
types:
- string: "文字"
+ string: "字串"
number: "数值"
+ boolean: "標記"
array: "清單"
- stringArray: "文本列表"
+ stringArray: "字串列表"
+ emptySlot: "空欄位"
enviromentVariables: "環境變數"
pageVariables: "頁面元素"
+ argVariables: "輸入欄位"
_relayStatus:
requesting: "等待核准"
accepted: "已通過核准"
rejected: "已拒絕"
_notification:
+ fileUploaded: "上傳檔案成功。"
youGotMention: "{name}提及到您"
youGotReply: "{name}回覆了您"
youGotQuote: "{name}引用了您"
- youRenoted: "{name} 轉發了你的箋文"
+ youRenoted: "{name} 轉發了你的貼文"
youGotPoll: "{name}已投票"
youGotMessagingMessageFromUser: "{name}發送給您的訊息"
+ youGotMessagingMessageFromGroup: "{name}發送給您的訊息"
youWereFollowed: "您有新的追隨者"
youReceivedFollowRequest: "您有新的追隨請求"
yourFollowRequestAccepted: "您的追隨請求已通過"
youWereInvitedToGroup: "您有新的群組邀請"
+ pollEnded: "問卷調查已產生結果"
+ emptyPushNotificationMessage: "推送通知已更新"
_types:
all: "全部 "
follow: "追隨中"
mention: "提及"
reply: "回覆"
- renote: "轉發箋文"
+ renote: "轉發貼文"
quote: "引用"
- reaction: "情感"
+ reaction: "反應"
pollVote: "統計已投票數"
+ pollEnded: "問卷調查結束"
receiveFollowRequest: "已收到追隨請求"
followRequestAccepted: "追隨請求已接受"
groupInvited: "加入社群邀請"
app: "應用程式通知"
+ _actions:
+ followBack: "回關"
+ reply: "回覆"
+ renote: "轉發"
_deck:
alwaysShowMainColumn: "總是顯示主欄"
columnAlign: "對齊欄位"
- columnMargin: "列之間的邊距"
- columnHeaderHeight: "欄位標題高度"
addColumn: "新增欄位"
+ configureColumn: "欄位的設定"
swapLeft: "向左移動"
swapRight: "向右移動"
swapUp: "往上移動"
@@ -1372,6 +1728,11 @@ _deck:
stackLeft: "向左折疊"
popRight: "向右彈出"
profile: "個人檔案"
+ newProfile: "新建個人檔案"
+ deleteProfile: "刪除個人檔案"
+ introduction: "組合欄位來製作屬於自己的介面吧!"
+ introduction2: "您可以隨時透過按畫面右方的 + 來添加欄位。"
+ widgetsIntroduction: "請從欄位的選單中,選擇「編輯小工具」來添加小工具"
_columns:
main: "主列"
widgets: "小工具"
diff --git a/migration/1000000000000-Init.ts b/migration/1000000000000-Init.ts
deleted file mode 100644
index ce54d8a7e..000000000
--- a/migration/1000000000000-Init.ts
+++ /dev/null
@@ -1,485 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class Init1000000000000 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TYPE "log_level_enum" AS ENUM('error', 'warning', 'info', 'success', 'debug')`);
- await queryRunner.query(`CREATE TABLE "log" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "domain" character varying(64) array NOT NULL DEFAULT '{}'::varchar[], "level" "log_level_enum" NOT NULL, "worker" character varying(8) NOT NULL, "machine" character varying(128) NOT NULL, "message" character varying(1024) NOT NULL, "data" jsonb NOT NULL DEFAULT '{}', CONSTRAINT "PK_350604cbdf991d5930d9e618fbd" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_8e4eb51a35d81b64dda28eed0a" ON "log" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_8cb40cfc8f3c28261e6f887b03" ON "log" ("domain") `);
- await queryRunner.query(`CREATE INDEX "IDX_584b536b49e53ac81beb39a177" ON "log" ("level") `);
- await queryRunner.query(`CREATE TABLE "drive_folder" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "name" character varying(128) NOT NULL, "userId" character varying(32), "parentId" character varying(32), CONSTRAINT "PK_7a0c089191f5ebdc214e0af808a" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_02878d441ceae15ce060b73daf" ON "drive_folder" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_f4fc06e49c0171c85f1c48060d" ON "drive_folder" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_00ceffb0cdc238b3233294f08f" ON "drive_folder" ("parentId") `);
- await queryRunner.query(`CREATE TABLE "drive_file" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32), "userHost" character varying(128), "md5" character varying(32) NOT NULL, "name" character varying(256) NOT NULL, "type" character varying(128) NOT NULL, "size" integer NOT NULL, "comment" character varying(512), "properties" jsonb NOT NULL DEFAULT '{}', "storedInternal" boolean NOT NULL, "url" character varying(512) NOT NULL, "thumbnailUrl" character varying(512), "webpublicUrl" character varying(512), "accessKey" character varying(256), "thumbnailAccessKey" character varying(256), "webpublicAccessKey" character varying(256), "uri" character varying(512), "src" character varying(512), "folderId" character varying(32), "isSensitive" boolean NOT NULL DEFAULT false, "isLink" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_43ddaaaf18c9e68029b7cbb032e" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_c8dfad3b72196dd1d6b5db168a" ON "drive_file" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_860fa6f6c7df5bb887249fba22" ON "drive_file" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_92779627994ac79277f070c91e" ON "drive_file" ("userHost") `);
- await queryRunner.query(`CREATE INDEX "IDX_37bb9a1b4585f8a3beb24c62d6" ON "drive_file" ("md5") `);
- await queryRunner.query(`CREATE INDEX "IDX_a40b8df8c989d7db937ea27cf6" ON "drive_file" ("type") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_d85a184c2540d2deba33daf642" ON "drive_file" ("accessKey") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_e74022ce9a074b3866f70e0d27" ON "drive_file" ("thumbnailAccessKey") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_c55b2b7c284d9fef98026fc88e" ON "drive_file" ("webpublicAccessKey") `);
- await queryRunner.query(`CREATE INDEX "IDX_e5848eac4940934e23dbc17581" ON "drive_file" ("uri") `);
- await queryRunner.query(`CREATE INDEX "IDX_bb90d1956dafc4068c28aa7560" ON "drive_file" ("folderId") `);
- await queryRunner.query(`CREATE TABLE "user" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE, "lastFetchedAt" TIMESTAMP WITH TIME ZONE, "username" character varying(128) NOT NULL, "usernameLower" character varying(128) NOT NULL, "name" character varying(128), "followersCount" integer NOT NULL DEFAULT 0, "followingCount" integer NOT NULL DEFAULT 0, "notesCount" integer NOT NULL DEFAULT 0, "avatarId" character varying(32), "bannerId" character varying(32), "tags" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "avatarUrl" character varying(512), "bannerUrl" character varying(512), "avatarColor" character varying(32), "bannerColor" character varying(32), "isSuspended" boolean NOT NULL DEFAULT false, "isSilenced" boolean NOT NULL DEFAULT false, "isLocked" boolean NOT NULL DEFAULT false, "isBot" boolean NOT NULL DEFAULT false, "isCat" boolean NOT NULL DEFAULT false, "isAdmin" boolean NOT NULL DEFAULT false, "isModerator" boolean NOT NULL DEFAULT false, "isVerified" boolean NOT NULL DEFAULT false, "emojis" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "host" character varying(128), "inbox" character varying(512), "sharedInbox" character varying(512), "featured" character varying(512), "uri" character varying(512), "token" character(16), CONSTRAINT "UQ_a854e557b1b14814750c7c7b0c9" UNIQUE ("token"), CONSTRAINT "REL_58f5c71eaab331645112cf8cfa" UNIQUE ("avatarId"), CONSTRAINT "REL_afc64b53f8db3707ceb34eb28e" UNIQUE ("bannerId"), CONSTRAINT "PK_cace4a159ff9f2512dd42373760" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_e11e649824a45d8ed01d597fd9" ON "user" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_80ca6e6ef65fb9ef34ea8c90f4" ON "user" ("updatedAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_a27b942a0d6dcff90e3ee9b5e8" ON "user" ("usernameLower") `);
- await queryRunner.query(`CREATE INDEX "IDX_fa99d777623947a5b05f394cae" ON "user" ("tags") `);
- await queryRunner.query(`CREATE INDEX "IDX_3252a5df8d5bbd16b281f7799e" ON "user" ("host") `);
- await queryRunner.query(`CREATE INDEX "IDX_be623adaa4c566baf5d29ce0c8" ON "user" ("uri") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_a854e557b1b14814750c7c7b0c" ON "user" ("token") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_5deb01ae162d1d70b80d064c27" ON "user" ("usernameLower", "host") `);
- await queryRunner.query(`CREATE TABLE "app" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32), "secret" character varying(64) NOT NULL, "name" character varying(128) NOT NULL, "description" character varying(512) NOT NULL, "permission" character varying(64) array NOT NULL, "callbackUrl" character varying(512), CONSTRAINT "PK_9478629fc093d229df09e560aea" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_048a757923ed8b157e9895da53" ON "app" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_3f5b0899ef90527a3462d7c2cb" ON "app" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_f49922d511d666848f250663c4" ON "app" ("secret") `);
- await queryRunner.query(`CREATE TABLE "access_token" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "token" character varying(128) NOT NULL, "hash" character varying(128) NOT NULL, "userId" character varying(32) NOT NULL, "appId" character varying(32) NOT NULL, CONSTRAINT "PK_f20f028607b2603deabd8182d12" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_70ba8f6af34bc924fc9e12adb8" ON "access_token" ("token") `);
- await queryRunner.query(`CREATE INDEX "IDX_64c327441248bae40f7d92f34f" ON "access_token" ("hash") `);
- await queryRunner.query(`CREATE INDEX "IDX_9949557d0e1b2c19e5344c171e" ON "access_token" ("userId") `);
- await queryRunner.query(`CREATE TYPE "note_visibility_enum" AS ENUM('public', 'home', 'followers', 'specified')`);
- await queryRunner.query(`CREATE TABLE "note" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "replyId" character varying(32), "renoteId" character varying(32), "text" text, "name" character varying(256), "cw" character varying(512), "appId" character varying(32), "userId" character varying(32) NOT NULL, "viaMobile" boolean NOT NULL DEFAULT false, "localOnly" boolean NOT NULL DEFAULT false, "renoteCount" smallint NOT NULL DEFAULT 0, "repliesCount" smallint NOT NULL DEFAULT 0, "reactions" jsonb NOT NULL DEFAULT '{}', "visibility" "note_visibility_enum" NOT NULL, "uri" character varying(512), "score" integer NOT NULL DEFAULT 0, "fileIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "attachedFileTypes" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "visibleUserIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "mentions" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "mentionedRemoteUsers" text NOT NULL DEFAULT '[]', "emojis" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "tags" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "hasPoll" boolean NOT NULL DEFAULT false, "geo" jsonb DEFAULT null, "userHost" character varying(128), "replyUserId" character varying(32), "replyUserHost" character varying(128), "renoteUserId" character varying(32), "renoteUserHost" character varying(128), CONSTRAINT "PK_96d0c172a4fba276b1bbed43058" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_e7c0567f5261063592f022e9b5" ON "note" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_17cb3553c700a4985dff5a30ff" ON "note" ("replyId") `);
- await queryRunner.query(`CREATE INDEX "IDX_52ccc804d7c69037d558bac4c9" ON "note" ("renoteId") `);
- await queryRunner.query(`CREATE INDEX "IDX_5b87d9d19127bd5d92026017a7" ON "note" ("userId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_153536c67d05e9adb24e99fc2b" ON "note" ("uri") `);
- await queryRunner.query(`CREATE INDEX "IDX_51c063b6a133a9cb87145450f5" ON "note" ("fileIds") `);
- await queryRunner.query(`CREATE INDEX "IDX_25dfc71b0369b003a4cd434d0b" ON "note" ("attachedFileTypes") `);
- await queryRunner.query(`CREATE INDEX "IDX_796a8c03959361f97dc2be1d5c" ON "note" ("visibleUserIds") `);
- await queryRunner.query(`CREATE INDEX "IDX_54ebcb6d27222913b908d56fd8" ON "note" ("mentions") `);
- await queryRunner.query(`CREATE INDEX "IDX_88937d94d7443d9a99a76fa5c0" ON "note" ("tags") `);
- await queryRunner.query(`CREATE INDEX "IDX_7125a826ab192eb27e11d358a5" ON "note" ("userHost") `);
- await queryRunner.query(`CREATE TABLE "poll_vote" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "choice" integer NOT NULL, CONSTRAINT "PK_fd002d371201c472490ba89c6a0" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_0fb627e1c2f753262a74f0562d" ON "poll_vote" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_66d2bd2ee31d14bcc23069a89f" ON "poll_vote" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_aecfbd5ef60374918e63ee95fa" ON "poll_vote" ("noteId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_50bd7164c5b78f1f4a42c4d21f" ON "poll_vote" ("userId", "noteId", "choice") `);
- await queryRunner.query(`CREATE TABLE "note_reaction" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "reaction" character varying(128) NOT NULL, CONSTRAINT "PK_767ec729b108799b587a3fcc9cf" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_01f4581f114e0ebd2bbb876f0b" ON "note_reaction" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_13761f64257f40c5636d0ff95e" ON "note_reaction" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_45145e4953780f3cd5656f0ea6" ON "note_reaction" ("noteId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_ad0c221b25672daf2df320a817" ON "note_reaction" ("userId", "noteId") `);
- await queryRunner.query(`CREATE TABLE "note_watching" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "noteUserId" character varying(32) NOT NULL, CONSTRAINT "PK_49286fdb23725945a74aa27d757" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_318cdf42a9cfc11f479bd802bb" ON "note_watching" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_b0134ec406e8d09a540f818288" ON "note_watching" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_03e7028ab8388a3f5e3ce2a861" ON "note_watching" ("noteId") `);
- await queryRunner.query(`CREATE INDEX "IDX_44499765eec6b5489d72c4253b" ON "note_watching" ("noteUserId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_a42c93c69989ce1d09959df4cf" ON "note_watching" ("userId", "noteId") `);
- await queryRunner.query(`CREATE TABLE "note_unread" ("id" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "noteUserId" character varying(32) NOT NULL, "isSpecified" boolean NOT NULL, CONSTRAINT "PK_1904eda61a784f57e6e51fa9c1f" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_56b0166d34ddae49d8ef7610bb" ON "note_unread" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_e637cba4dc4410218c4251260e" ON "note_unread" ("noteId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_d908433a4953cc13216cd9c274" ON "note_unread" ("userId", "noteId") `);
- await queryRunner.query(`CREATE TABLE "notification" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "notifieeId" character varying(32) NOT NULL, "notifierId" character varying(32) NOT NULL, "type" character varying(32) NOT NULL, "isRead" boolean NOT NULL DEFAULT false, "noteId" character varying(32), "reaction" character varying(128), "choice" integer, CONSTRAINT "PK_705b6c7cdf9b2c2ff7ac7872cb7" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_b11a5e627c41d4dc3170f1d370" ON "notification" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_3c601b70a1066d2c8b517094cb" ON "notification" ("notifieeId") `);
- await queryRunner.query(`CREATE TABLE "meta" ("id" character varying(32) NOT NULL, "name" character varying(128), "description" character varying(1024), "maintainerName" character varying(128), "maintainerEmail" character varying(128), "announcements" jsonb NOT NULL DEFAULT '[]', "disableRegistration" boolean NOT NULL DEFAULT false, "disableLocalTimeline" boolean NOT NULL DEFAULT false, "disableGlobalTimeline" boolean NOT NULL DEFAULT false, "enableEmojiReaction" boolean NOT NULL DEFAULT true, "useStarForReactionFallback" boolean NOT NULL DEFAULT false, "langs" character varying(64) array NOT NULL DEFAULT '{}'::varchar[], "hiddenTags" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "blockedHosts" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "mascotImageUrl" character varying(512) DEFAULT '/assets/ai.png', "bannerUrl" character varying(512), "errorImageUrl" character varying(512) DEFAULT 'https://xn--931a.moe/aiart/yubitun.png', "iconUrl" character varying(512), "cacheRemoteFiles" boolean NOT NULL DEFAULT true, "proxyAccount" character varying(128), "enableRecaptcha" boolean NOT NULL DEFAULT false, "recaptchaSiteKey" character varying(64), "recaptchaSecretKey" character varying(64), "localDriveCapacityMb" integer NOT NULL DEFAULT 1024, "remoteDriveCapacityMb" integer NOT NULL DEFAULT 32, "maxNoteTextLength" integer NOT NULL DEFAULT 500, "summalyProxy" character varying(128), "enableEmail" boolean NOT NULL DEFAULT false, "email" character varying(128), "smtpSecure" boolean NOT NULL DEFAULT false, "smtpHost" character varying(128), "smtpPort" integer, "smtpUser" character varying(128), "smtpPass" character varying(128), "enableServiceWorker" boolean NOT NULL DEFAULT false, "swPublicKey" character varying(128), "swPrivateKey" character varying(128), "enableTwitterIntegration" boolean NOT NULL DEFAULT false, "twitterConsumerKey" character varying(128), "twitterConsumerSecret" character varying(128), "enableGithubIntegration" boolean NOT NULL DEFAULT false, "githubClientId" character varying(128), "githubClientSecret" character varying(128), "enableDiscordIntegration" boolean NOT NULL DEFAULT false, "discordClientId" character varying(128), "discordClientSecret" character varying(128), CONSTRAINT "PK_c4c17a6c2bd7651338b60fc590b" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE TABLE "following" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "followeeId" character varying(32) NOT NULL, "followerId" character varying(32) NOT NULL, "followerHost" character varying(128), "followerInbox" character varying(512), "followerSharedInbox" character varying(512), "followeeHost" character varying(128), "followeeInbox" character varying(512), "followeeSharedInbox" character varying(512), CONSTRAINT "PK_c76c6e044bdf76ecf8bfb82a645" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_582f8fab771a9040a12961f3e7" ON "following" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_24e0042143a18157b234df186c" ON "following" ("followeeId") `);
- await queryRunner.query(`CREATE INDEX "IDX_6516c5a6f3c015b4eed39978be" ON "following" ("followerId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_307be5f1d1252e0388662acb96" ON "following" ("followerId", "followeeId") `);
- await queryRunner.query(`CREATE TABLE "instance" ("id" character varying(32) NOT NULL, "caughtAt" TIMESTAMP WITH TIME ZONE NOT NULL, "host" character varying(128) NOT NULL, "system" character varying(64), "usersCount" integer NOT NULL DEFAULT 0, "notesCount" integer NOT NULL DEFAULT 0, "followingCount" integer NOT NULL DEFAULT 0, "followersCount" integer NOT NULL DEFAULT 0, "driveUsage" integer NOT NULL DEFAULT 0, "driveFiles" integer NOT NULL DEFAULT 0, "latestRequestSentAt" TIMESTAMP WITH TIME ZONE, "latestStatus" integer, "latestRequestReceivedAt" TIMESTAMP WITH TIME ZONE, "lastCommunicatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, "isNotResponding" boolean NOT NULL DEFAULT false, "isMarkedAsClosed" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_eaf60e4a0c399c9935413e06474" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_2cd3b2a6b4cf0b910b260afe08" ON "instance" ("caughtAt") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_8d5afc98982185799b160e10eb" ON "instance" ("host") `);
- await queryRunner.query(`CREATE TABLE "muting" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "muteeId" character varying(32) NOT NULL, "muterId" character varying(32) NOT NULL, CONSTRAINT "PK_2e92d06c8b5c602eeb27ca9ba48" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_f86d57fbca33c7a4e6897490cc" ON "muting" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_ec96b4fed9dae517e0dbbe0675" ON "muting" ("muteeId") `);
- await queryRunner.query(`CREATE INDEX "IDX_93060675b4a79a577f31d260c6" ON "muting" ("muterId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_1eb9d9824a630321a29fd3b290" ON "muting" ("muterId", "muteeId") `);
- await queryRunner.query(`CREATE TABLE "sw_subscription" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "endpoint" character varying(512) NOT NULL, "auth" character varying(256) NOT NULL, "publickey" character varying(128) NOT NULL, CONSTRAINT "PK_e8f763631530051b95eb6279b91" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_97754ca6f2baff9b4abb7f853d" ON "sw_subscription" ("userId") `);
- await queryRunner.query(`CREATE TABLE "blocking" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "blockeeId" character varying(32) NOT NULL, "blockerId" character varying(32) NOT NULL, CONSTRAINT "PK_e5d9a541cc1965ee7e048ea09dd" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_b9a354f7941c1e779f3b33aea6" ON "blocking" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_2cd4a2743a99671308f5417759" ON "blocking" ("blockeeId") `);
- await queryRunner.query(`CREATE INDEX "IDX_0627125f1a8a42c9a1929edb55" ON "blocking" ("blockerId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_98a1bc5cb30dfd159de056549f" ON "blocking" ("blockerId", "blockeeId") `);
- await queryRunner.query(`CREATE TABLE "user_list" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, CONSTRAINT "PK_87bab75775fd9b1ff822b656402" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_b7fcefbdd1c18dce86687531f9" ON "user_list" ("userId") `);
- await queryRunner.query(`CREATE TABLE "user_list_joining" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "userListId" character varying(32) NOT NULL, CONSTRAINT "PK_11abb3768da1c5f8de101c9df45" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_d844bfc6f3f523a05189076efa" ON "user_list_joining" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_605472305f26818cc93d1baaa7" ON "user_list_joining" ("userListId") `);
- await queryRunner.query(`CREATE TABLE "hashtag" ("id" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, "mentionedUserIds" character varying(32) array NOT NULL, "mentionedUsersCount" integer NOT NULL DEFAULT 0, "mentionedLocalUserIds" character varying(32) array NOT NULL, "mentionedLocalUsersCount" integer NOT NULL DEFAULT 0, "mentionedRemoteUserIds" character varying(32) array NOT NULL, "mentionedRemoteUsersCount" integer NOT NULL DEFAULT 0, "attachedUserIds" character varying(32) array NOT NULL, "attachedUsersCount" integer NOT NULL DEFAULT 0, "attachedLocalUserIds" character varying(32) array NOT NULL, "attachedLocalUsersCount" integer NOT NULL DEFAULT 0, "attachedRemoteUserIds" character varying(32) array NOT NULL, "attachedRemoteUsersCount" integer NOT NULL DEFAULT 0, CONSTRAINT "PK_cb36eb8af8412bfa978f1165d78" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_347fec870eafea7b26c8a73bac" ON "hashtag" ("name") `);
- await queryRunner.query(`CREATE INDEX "IDX_2710a55f826ee236ea1a62698f" ON "hashtag" ("mentionedUsersCount") `);
- await queryRunner.query(`CREATE INDEX "IDX_0e206cec573f1edff4a3062923" ON "hashtag" ("mentionedLocalUsersCount") `);
- await queryRunner.query(`CREATE INDEX "IDX_4c02d38a976c3ae132228c6fce" ON "hashtag" ("mentionedRemoteUsersCount") `);
- await queryRunner.query(`CREATE INDEX "IDX_d57f9030cd3af7f63ffb1c267c" ON "hashtag" ("attachedUsersCount") `);
- await queryRunner.query(`CREATE INDEX "IDX_0c44bf4f680964145f2a68a341" ON "hashtag" ("attachedLocalUsersCount") `);
- await queryRunner.query(`CREATE INDEX "IDX_0b03cbcd7e6a7ce068efa8ecc2" ON "hashtag" ("attachedRemoteUsersCount") `);
- await queryRunner.query(`CREATE TABLE "note_favorite" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, CONSTRAINT "PK_af0da35a60b9fa4463a62082b36" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_47f4b1892f5d6ba8efb3057d81" ON "note_favorite" ("userId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_0f4fb9ad355f3effff221ef245" ON "note_favorite" ("userId", "noteId") `);
- await queryRunner.query(`CREATE TABLE "abuse_user_report" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "reporterId" character varying(32) NOT NULL, "comment" character varying(512) NOT NULL, CONSTRAINT "PK_87873f5f5cc5c321a1306b2d18c" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_db2098070b2b5a523c58181f74" ON "abuse_user_report" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_d049123c413e68ca52abe73420" ON "abuse_user_report" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_04cc96756f89d0b7f9473e8cdf" ON "abuse_user_report" ("reporterId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_5cd442c3b2e74fdd99dae20243" ON "abuse_user_report" ("userId", "reporterId") `);
- await queryRunner.query(`CREATE TABLE "registration_ticket" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "code" character varying(64) NOT NULL, CONSTRAINT "PK_f11696b6fafcf3662d4292734f8" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_0ff69e8dfa9fe31bb4a4660f59" ON "registration_ticket" ("code") `);
- await queryRunner.query(`CREATE TABLE "messaging_message" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "recipientId" character varying(32) NOT NULL, "text" character varying(4096), "isRead" boolean NOT NULL DEFAULT false, "fileId" character varying(32), CONSTRAINT "PK_db398fd79dc95d0eb8c30456eaa" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_e21cd3646e52ef9c94aaf17c2e" ON "messaging_message" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_5377c307783fce2b6d352e1203" ON "messaging_message" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_cac14a4e3944454a5ce7daa514" ON "messaging_message" ("recipientId") `);
- await queryRunner.query(`CREATE TABLE "signin" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "ip" character varying(128) NOT NULL, "headers" jsonb NOT NULL, "success" boolean NOT NULL, CONSTRAINT "PK_9e96ddc025712616fc492b3b588" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_2c308dbdc50d94dc625670055f" ON "signin" ("userId") `);
- await queryRunner.query(`CREATE TABLE "auth_session" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "token" character varying(128) NOT NULL, "userId" character varying(32), "appId" character varying(32) NOT NULL, CONSTRAINT "PK_19354ed146424a728c1112a8cbf" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_62cb09e1129f6ec024ef66e183" ON "auth_session" ("token") `);
- await queryRunner.query(`CREATE TABLE "follow_request" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "followeeId" character varying(32) NOT NULL, "followerId" character varying(32) NOT NULL, "requestId" character varying(128), "followerHost" character varying(128), "followerInbox" character varying(512), "followerSharedInbox" character varying(512), "followeeHost" character varying(128), "followeeInbox" character varying(512), "followeeSharedInbox" character varying(512), CONSTRAINT "PK_53a9aa3725f7a3deb150b39dbfc" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_12c01c0d1a79f77d9f6c15fadd" ON "follow_request" ("followeeId") `);
- await queryRunner.query(`CREATE INDEX "IDX_a7fd92dd6dc519e6fb435dd108" ON "follow_request" ("followerId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_d54a512b822fac7ed52800f6b4" ON "follow_request" ("followerId", "followeeId") `);
- await queryRunner.query(`CREATE TABLE "emoji" ("id" character varying(32) NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE, "name" character varying(128) NOT NULL, "host" character varying(128), "url" character varying(512) NOT NULL, "uri" character varying(512), "type" character varying(64), "aliases" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], CONSTRAINT "PK_df74ce05e24999ee01ea0bc50a3" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_b37dafc86e9af007e3295c2781" ON "emoji" ("name") `);
- await queryRunner.query(`CREATE INDEX "IDX_5900e907bb46516ddf2871327c" ON "emoji" ("host") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_4f4d35e1256c84ae3d1f0eab10" ON "emoji" ("name", "host") `);
- await queryRunner.query(`CREATE TABLE "reversi_game" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "startedAt" TIMESTAMP WITH TIME ZONE, "user1Id" character varying(32) NOT NULL, "user2Id" character varying(32) NOT NULL, "user1Accepted" boolean NOT NULL DEFAULT false, "user2Accepted" boolean NOT NULL DEFAULT false, "black" integer, "isStarted" boolean NOT NULL DEFAULT false, "isEnded" boolean NOT NULL DEFAULT false, "winnerId" character varying(32), "surrendered" character varying(32), "logs" jsonb NOT NULL DEFAULT '[]', "map" character varying(64) array NOT NULL, "bw" character varying(32) NOT NULL, "isLlotheo" boolean NOT NULL DEFAULT false, "canPutEverywhere" boolean NOT NULL DEFAULT false, "loopedBoard" boolean NOT NULL DEFAULT false, "form1" jsonb DEFAULT null, "form2" jsonb DEFAULT null, "crc32" character varying(32), CONSTRAINT "PK_76b30eeba71b1193ad7c5311c3f" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_b46ec40746efceac604142be1c" ON "reversi_game" ("createdAt") `);
- await queryRunner.query(`CREATE TABLE "reversi_matching" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "parentId" character varying(32) NOT NULL, "childId" character varying(32) NOT NULL, CONSTRAINT "PK_880bd0afbab232f21c8b9d146cf" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_b604d92d6c7aec38627f6eaf16" ON "reversi_matching" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_3b25402709dd9882048c2bbade" ON "reversi_matching" ("parentId") `);
- await queryRunner.query(`CREATE INDEX "IDX_e247b23a3c9b45f89ec1299d06" ON "reversi_matching" ("childId") `);
- await queryRunner.query(`CREATE TABLE "user_note_pining" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, CONSTRAINT "PK_a6a2dad4ae000abce2ea9d9b103" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_bfbc6f79ba4007b4ce5097f08d" ON "user_note_pining" ("userId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_410cd649884b501c02d6e72738" ON "user_note_pining" ("userId", "noteId") `);
- await queryRunner.query(`CREATE TYPE "poll_notevisibility_enum" AS ENUM('public', 'home', 'followers', 'specified')`);
- await queryRunner.query(`CREATE TABLE "poll" ("noteId" character varying(32) NOT NULL, "expiresAt" TIMESTAMP WITH TIME ZONE, "multiple" boolean NOT NULL, "choices" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "votes" integer array NOT NULL, "noteVisibility" "poll_notevisibility_enum" NOT NULL, "userId" character varying(32) NOT NULL, "userHost" character varying(128), CONSTRAINT "REL_da851e06d0dfe2ef397d8b1bf1" UNIQUE ("noteId"), CONSTRAINT "PK_da851e06d0dfe2ef397d8b1bf1b" PRIMARY KEY ("noteId"))`);
- await queryRunner.query(`CREATE INDEX "IDX_0610ebcfcfb4a18441a9bcdab2" ON "poll" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_7fa20a12319c7f6dc3aed98c0a" ON "poll" ("userHost") `);
- await queryRunner.query(`CREATE TABLE "user_keypair" ("userId" character varying(32) NOT NULL, "publicKey" character varying(4096) NOT NULL, "privateKey" character varying(4096) NOT NULL, CONSTRAINT "REL_f4853eb41ab722fe05f81cedeb" UNIQUE ("userId"), CONSTRAINT "PK_f4853eb41ab722fe05f81cedeb6" PRIMARY KEY ("userId"))`);
- await queryRunner.query(`CREATE TABLE "user_publickey" ("userId" character varying(32) NOT NULL, "keyId" character varying(256) NOT NULL, "keyPem" character varying(4096) NOT NULL, CONSTRAINT "REL_10c146e4b39b443ede016f6736" UNIQUE ("userId"), CONSTRAINT "PK_10c146e4b39b443ede016f6736d" PRIMARY KEY ("userId"))`);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_171e64971c780ebd23fae140bb" ON "user_publickey" ("keyId") `);
- await queryRunner.query(`CREATE TABLE "user_profile" ("userId" character varying(32) NOT NULL, "location" character varying(128), "birthday" character(10), "description" character varying(1024), "fields" jsonb NOT NULL DEFAULT '[]', "url" character varying(512), "email" character varying(128), "emailVerifyCode" character varying(128), "emailVerified" boolean NOT NULL DEFAULT false, "twoFactorTempSecret" character varying(128), "twoFactorSecret" character varying(128), "twoFactorEnabled" boolean NOT NULL DEFAULT false, "password" character varying(128), "clientData" jsonb NOT NULL DEFAULT '{}', "autoWatch" boolean NOT NULL DEFAULT false, "autoAcceptFollowed" boolean NOT NULL DEFAULT false, "alwaysMarkNsfw" boolean NOT NULL DEFAULT false, "carefulBot" boolean NOT NULL DEFAULT false, "twitter" boolean NOT NULL DEFAULT false, "twitterAccessToken" character varying(64) DEFAULT null, "twitterAccessTokenSecret" character varying(64) DEFAULT null, "twitterUserId" character varying(64) DEFAULT null, "twitterScreenName" character varying(64) DEFAULT null, "github" boolean NOT NULL DEFAULT false, "githubAccessToken" character varying(64) DEFAULT null, "githubId" integer DEFAULT null, "githubLogin" character varying(64) DEFAULT null, "discord" boolean NOT NULL DEFAULT false, "discordAccessToken" character varying(64) DEFAULT null, "discordRefreshToken" character varying(64) DEFAULT null, "discordExpiresDate" integer DEFAULT null, "discordId" character varying(64) DEFAULT null, "discordUsername" character varying(64) DEFAULT null, "discordDiscriminator" character varying(64) DEFAULT null, "userHost" character varying(128), CONSTRAINT "REL_51cb79b5555effaf7d69ba1cff" UNIQUE ("userId"), CONSTRAINT "PK_51cb79b5555effaf7d69ba1cff9" PRIMARY KEY ("userId"))`);
- await queryRunner.query(`CREATE INDEX "IDX_dce530b98e454793dac5ec2f5a" ON "user_profile" ("userHost") `);
- await queryRunner.query(`CREATE TYPE "__chart__active_users_span_enum" AS ENUM('hour', 'day')`);
- await queryRunner.query(`CREATE TABLE "__chart__active_users" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__active_users_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_count" bigint NOT NULL, "___remote_count" bigint NOT NULL, CONSTRAINT "PK_317237a9f733b970604a11e314f" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE TYPE "__chart__drive_span_enum" AS ENUM('hour', 'day')`);
- await queryRunner.query(`CREATE TABLE "__chart__drive" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__drive_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_totalCount" bigint NOT NULL, "___local_totalSize" bigint NOT NULL, "___local_incCount" bigint NOT NULL, "___local_incSize" bigint NOT NULL, "___local_decCount" bigint NOT NULL, "___local_decSize" bigint NOT NULL, "___remote_totalCount" bigint NOT NULL, "___remote_totalSize" bigint NOT NULL, "___remote_incCount" bigint NOT NULL, "___remote_incSize" bigint NOT NULL, "___remote_decCount" bigint NOT NULL, "___remote_decSize" bigint NOT NULL, CONSTRAINT "PK_f96bc548a765cd4b3b354221ce7" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE TYPE "__chart__federation_span_enum" AS ENUM('hour', 'day')`);
- await queryRunner.query(`CREATE TABLE "__chart__federation" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__federation_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___instance_total" bigint NOT NULL, "___instance_inc" bigint NOT NULL, "___instance_dec" bigint NOT NULL, CONSTRAINT "PK_b39dcd31a0fe1a7757e348e85fd" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE TYPE "__chart__hashtag_span_enum" AS ENUM('hour', 'day')`);
- await queryRunner.query(`CREATE TABLE "__chart__hashtag" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__hashtag_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_count" bigint NOT NULL, "___remote_count" bigint NOT NULL, CONSTRAINT "PK_c32f1ea2b44a5d2f7881e37f8f9" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE TYPE "__chart__instance_span_enum" AS ENUM('hour', 'day')`);
- await queryRunner.query(`CREATE TABLE "__chart__instance" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__instance_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___requests_failed" bigint NOT NULL, "___requests_succeeded" bigint NOT NULL, "___requests_received" bigint NOT NULL, "___notes_total" bigint NOT NULL, "___notes_inc" bigint NOT NULL, "___notes_dec" bigint NOT NULL, "___notes_diffs_normal" bigint NOT NULL, "___notes_diffs_reply" bigint NOT NULL, "___notes_diffs_renote" bigint NOT NULL, "___users_total" bigint NOT NULL, "___users_inc" bigint NOT NULL, "___users_dec" bigint NOT NULL, "___following_total" bigint NOT NULL, "___following_inc" bigint NOT NULL, "___following_dec" bigint NOT NULL, "___followers_total" bigint NOT NULL, "___followers_inc" bigint NOT NULL, "___followers_dec" bigint NOT NULL, "___drive_totalFiles" bigint NOT NULL, "___drive_totalUsage" bigint NOT NULL, "___drive_incFiles" bigint NOT NULL, "___drive_incUsage" bigint NOT NULL, "___drive_decFiles" bigint NOT NULL, "___drive_decUsage" bigint NOT NULL, CONSTRAINT "PK_1267c67c7c2d47b4903975f2c00" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE TYPE "__chart__network_span_enum" AS ENUM('hour', 'day')`);
- await queryRunner.query(`CREATE TABLE "__chart__network" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__network_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___incomingRequests" bigint NOT NULL, "___outgoingRequests" bigint NOT NULL, "___totalTime" bigint NOT NULL, "___incomingBytes" bigint NOT NULL, "___outgoingBytes" bigint NOT NULL, CONSTRAINT "PK_bc4290c2e27fad14ef0c1ca93f3" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE TYPE "__chart__notes_span_enum" AS ENUM('hour', 'day')`);
- await queryRunner.query(`CREATE TABLE "__chart__notes" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__notes_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_total" bigint NOT NULL, "___local_inc" bigint NOT NULL, "___local_dec" bigint NOT NULL, "___local_diffs_normal" bigint NOT NULL, "___local_diffs_reply" bigint NOT NULL, "___local_diffs_renote" bigint NOT NULL, "___remote_total" bigint NOT NULL, "___remote_inc" bigint NOT NULL, "___remote_dec" bigint NOT NULL, "___remote_diffs_normal" bigint NOT NULL, "___remote_diffs_reply" bigint NOT NULL, "___remote_diffs_renote" bigint NOT NULL, CONSTRAINT "PK_0aec823fa85c7f901bdb3863b14" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE TYPE "__chart__per_user_drive_span_enum" AS ENUM('hour', 'day')`);
- await queryRunner.query(`CREATE TABLE "__chart__per_user_drive" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_drive_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___totalCount" bigint NOT NULL, "___totalSize" bigint NOT NULL, "___incCount" bigint NOT NULL, "___incSize" bigint NOT NULL, "___decCount" bigint NOT NULL, "___decSize" bigint NOT NULL, CONSTRAINT "PK_d0ef23d24d666e1a44a0cd3d208" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE TYPE "__chart__per_user_following_span_enum" AS ENUM('hour', 'day')`);
- await queryRunner.query(`CREATE TABLE "__chart__per_user_following" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_following_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_followings_total" bigint NOT NULL, "___local_followings_inc" bigint NOT NULL, "___local_followings_dec" bigint NOT NULL, "___local_followers_total" bigint NOT NULL, "___local_followers_inc" bigint NOT NULL, "___local_followers_dec" bigint NOT NULL, "___remote_followings_total" bigint NOT NULL, "___remote_followings_inc" bigint NOT NULL, "___remote_followings_dec" bigint NOT NULL, "___remote_followers_total" bigint NOT NULL, "___remote_followers_inc" bigint NOT NULL, "___remote_followers_dec" bigint NOT NULL, CONSTRAINT "PK_85bb1b540363a29c2fec83bd907" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE TYPE "__chart__per_user_notes_span_enum" AS ENUM('hour', 'day')`);
- await queryRunner.query(`CREATE TABLE "__chart__per_user_notes" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_notes_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___total" bigint NOT NULL, "___inc" bigint NOT NULL, "___dec" bigint NOT NULL, "___diffs_normal" bigint NOT NULL, "___diffs_reply" bigint NOT NULL, "___diffs_renote" bigint NOT NULL, CONSTRAINT "PK_334acf6e915af2f29edc11b8e50" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE TYPE "__chart__per_user_reaction_span_enum" AS ENUM('hour', 'day')`);
- await queryRunner.query(`CREATE TABLE "__chart__per_user_reaction" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_reaction_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_count" bigint NOT NULL, "___remote_count" bigint NOT NULL, CONSTRAINT "PK_984f54dae441e65b633e8d27a7f" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE TYPE "__chart__test_grouped_span_enum" AS ENUM('hour', 'day')`);
- await queryRunner.query(`CREATE TABLE "__chart__test_grouped" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__test_grouped_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___foo_total" bigint NOT NULL, "___foo_inc" bigint NOT NULL, "___foo_dec" bigint NOT NULL, CONSTRAINT "PK_f4a2b175d308695af30d4293272" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE TYPE "__chart__test_unique_span_enum" AS ENUM('hour', 'day')`);
- await queryRunner.query(`CREATE TABLE "__chart__test_unique" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__test_unique_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___foo" bigint NOT NULL, CONSTRAINT "PK_409bac9c97cc612d8500012319d" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE TYPE "__chart__test_span_enum" AS ENUM('hour', 'day')`);
- await queryRunner.query(`CREATE TABLE "__chart__test" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__test_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___foo_total" bigint NOT NULL, "___foo_inc" bigint NOT NULL, "___foo_dec" bigint NOT NULL, CONSTRAINT "PK_b4bc31dffbd1b785276a3ecfc1e" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE TYPE "__chart__users_span_enum" AS ENUM('hour', 'day')`);
- await queryRunner.query(`CREATE TABLE "__chart__users" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__users_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_total" bigint NOT NULL, "___local_inc" bigint NOT NULL, "___local_dec" bigint NOT NULL, "___remote_total" bigint NOT NULL, "___remote_inc" bigint NOT NULL, "___remote_dec" bigint NOT NULL, CONSTRAINT "PK_4dfcf2c78d03524b9eb2c99d328" PRIMARY KEY ("id"))`);
- await queryRunner.query(`ALTER TABLE "drive_folder" ADD CONSTRAINT "FK_f4fc06e49c0171c85f1c48060d2" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "drive_folder" ADD CONSTRAINT "FK_00ceffb0cdc238b3233294f08f2" FOREIGN KEY ("parentId") REFERENCES "drive_folder"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "drive_file" ADD CONSTRAINT "FK_860fa6f6c7df5bb887249fba22e" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "drive_file" ADD CONSTRAINT "FK_bb90d1956dafc4068c28aa7560a" FOREIGN KEY ("folderId") REFERENCES "drive_folder"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "user" ADD CONSTRAINT "FK_58f5c71eaab331645112cf8cfa5" FOREIGN KEY ("avatarId") REFERENCES "drive_file"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "user" ADD CONSTRAINT "FK_afc64b53f8db3707ceb34eb28e2" FOREIGN KEY ("bannerId") REFERENCES "drive_file"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "app" ADD CONSTRAINT "FK_3f5b0899ef90527a3462d7c2cb3" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "access_token" ADD CONSTRAINT "FK_9949557d0e1b2c19e5344c171e9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "access_token" ADD CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_17cb3553c700a4985dff5a30ff5" FOREIGN KEY ("replyId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_52ccc804d7c69037d558bac4c96" FOREIGN KEY ("renoteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_ec5c201576192ba8904c345c5cc" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_5b87d9d19127bd5d92026017a7b" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "poll_vote" ADD CONSTRAINT "FK_66d2bd2ee31d14bcc23069a89f8" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "poll_vote" ADD CONSTRAINT "FK_aecfbd5ef60374918e63ee95fa7" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "note_reaction" ADD CONSTRAINT "FK_13761f64257f40c5636d0ff95ee" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "note_reaction" ADD CONSTRAINT "FK_45145e4953780f3cd5656f0ea6a" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "note_watching" ADD CONSTRAINT "FK_b0134ec406e8d09a540f8182888" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "note_watching" ADD CONSTRAINT "FK_03e7028ab8388a3f5e3ce2a8619" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "note_unread" ADD CONSTRAINT "FK_56b0166d34ddae49d8ef7610bb9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "note_unread" ADD CONSTRAINT "FK_e637cba4dc4410218c4251260e4" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_3c601b70a1066d2c8b517094cb9" FOREIGN KEY ("notifieeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710" FOREIGN KEY ("notifierId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_769cb6b73a1efe22ddf733ac453" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "following" ADD CONSTRAINT "FK_24e0042143a18157b234df186c3" FOREIGN KEY ("followeeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "following" ADD CONSTRAINT "FK_6516c5a6f3c015b4eed39978be5" FOREIGN KEY ("followerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "muting" ADD CONSTRAINT "FK_ec96b4fed9dae517e0dbbe0675c" FOREIGN KEY ("muteeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "muting" ADD CONSTRAINT "FK_93060675b4a79a577f31d260c67" FOREIGN KEY ("muterId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "sw_subscription" ADD CONSTRAINT "FK_97754ca6f2baff9b4abb7f853dd" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "blocking" ADD CONSTRAINT "FK_2cd4a2743a99671308f5417759e" FOREIGN KEY ("blockeeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "blocking" ADD CONSTRAINT "FK_0627125f1a8a42c9a1929edb552" FOREIGN KEY ("blockerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "user_list" ADD CONSTRAINT "FK_b7fcefbdd1c18dce86687531f99" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "user_list_joining" ADD CONSTRAINT "FK_d844bfc6f3f523a05189076efaa" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "user_list_joining" ADD CONSTRAINT "FK_605472305f26818cc93d1baaa74" FOREIGN KEY ("userListId") REFERENCES "user_list"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "note_favorite" ADD CONSTRAINT "FK_47f4b1892f5d6ba8efb3057d81a" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "note_favorite" ADD CONSTRAINT "FK_0e00498f180193423c992bc4370" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD CONSTRAINT "FK_d049123c413e68ca52abe734203" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD CONSTRAINT "FK_04cc96756f89d0b7f9473e8cdf3" FOREIGN KEY ("reporterId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_5377c307783fce2b6d352e1203b" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_cac14a4e3944454a5ce7daa5142" FOREIGN KEY ("recipientId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_535def119223ac05ad3fa9ef64b" FOREIGN KEY ("fileId") REFERENCES "drive_file"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "signin" ADD CONSTRAINT "FK_2c308dbdc50d94dc625670055f7" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "auth_session" ADD CONSTRAINT "FK_c072b729d71697f959bde66ade0" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "auth_session" ADD CONSTRAINT "FK_dbe037d4bddd17b03a1dc778dee" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "follow_request" ADD CONSTRAINT "FK_12c01c0d1a79f77d9f6c15fadd2" FOREIGN KEY ("followeeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "follow_request" ADD CONSTRAINT "FK_a7fd92dd6dc519e6fb435dd108f" FOREIGN KEY ("followerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "reversi_game" ADD CONSTRAINT "FK_f7467510c60a45ce5aca6292743" FOREIGN KEY ("user1Id") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "reversi_game" ADD CONSTRAINT "FK_6649a4e8c5d5cf32fb03b5da9f6" FOREIGN KEY ("user2Id") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "reversi_matching" ADD CONSTRAINT "FK_3b25402709dd9882048c2bbade0" FOREIGN KEY ("parentId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "reversi_matching" ADD CONSTRAINT "FK_e247b23a3c9b45f89ec1299d066" FOREIGN KEY ("childId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "user_note_pining" ADD CONSTRAINT "FK_bfbc6f79ba4007b4ce5097f08d6" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "user_note_pining" ADD CONSTRAINT "FK_68881008f7c3588ad7ecae471cf" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "poll" ADD CONSTRAINT "FK_da851e06d0dfe2ef397d8b1bf1b" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "user_keypair" ADD CONSTRAINT "FK_f4853eb41ab722fe05f81cedeb6" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "user_publickey" ADD CONSTRAINT "FK_10c146e4b39b443ede016f6736d" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD CONSTRAINT "FK_51cb79b5555effaf7d69ba1cff9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" DROP CONSTRAINT "FK_51cb79b5555effaf7d69ba1cff9"`);
- await queryRunner.query(`ALTER TABLE "user_publickey" DROP CONSTRAINT "FK_10c146e4b39b443ede016f6736d"`);
- await queryRunner.query(`ALTER TABLE "user_keypair" DROP CONSTRAINT "FK_f4853eb41ab722fe05f81cedeb6"`);
- await queryRunner.query(`ALTER TABLE "poll" DROP CONSTRAINT "FK_da851e06d0dfe2ef397d8b1bf1b"`);
- await queryRunner.query(`ALTER TABLE "user_note_pining" DROP CONSTRAINT "FK_68881008f7c3588ad7ecae471cf"`);
- await queryRunner.query(`ALTER TABLE "user_note_pining" DROP CONSTRAINT "FK_bfbc6f79ba4007b4ce5097f08d6"`);
- await queryRunner.query(`ALTER TABLE "reversi_matching" DROP CONSTRAINT "FK_e247b23a3c9b45f89ec1299d066"`);
- await queryRunner.query(`ALTER TABLE "reversi_matching" DROP CONSTRAINT "FK_3b25402709dd9882048c2bbade0"`);
- await queryRunner.query(`ALTER TABLE "reversi_game" DROP CONSTRAINT "FK_6649a4e8c5d5cf32fb03b5da9f6"`);
- await queryRunner.query(`ALTER TABLE "reversi_game" DROP CONSTRAINT "FK_f7467510c60a45ce5aca6292743"`);
- await queryRunner.query(`ALTER TABLE "follow_request" DROP CONSTRAINT "FK_a7fd92dd6dc519e6fb435dd108f"`);
- await queryRunner.query(`ALTER TABLE "follow_request" DROP CONSTRAINT "FK_12c01c0d1a79f77d9f6c15fadd2"`);
- await queryRunner.query(`ALTER TABLE "auth_session" DROP CONSTRAINT "FK_dbe037d4bddd17b03a1dc778dee"`);
- await queryRunner.query(`ALTER TABLE "auth_session" DROP CONSTRAINT "FK_c072b729d71697f959bde66ade0"`);
- await queryRunner.query(`ALTER TABLE "signin" DROP CONSTRAINT "FK_2c308dbdc50d94dc625670055f7"`);
- await queryRunner.query(`ALTER TABLE "messaging_message" DROP CONSTRAINT "FK_535def119223ac05ad3fa9ef64b"`);
- await queryRunner.query(`ALTER TABLE "messaging_message" DROP CONSTRAINT "FK_cac14a4e3944454a5ce7daa5142"`);
- await queryRunner.query(`ALTER TABLE "messaging_message" DROP CONSTRAINT "FK_5377c307783fce2b6d352e1203b"`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP CONSTRAINT "FK_04cc96756f89d0b7f9473e8cdf3"`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP CONSTRAINT "FK_d049123c413e68ca52abe734203"`);
- await queryRunner.query(`ALTER TABLE "note_favorite" DROP CONSTRAINT "FK_0e00498f180193423c992bc4370"`);
- await queryRunner.query(`ALTER TABLE "note_favorite" DROP CONSTRAINT "FK_47f4b1892f5d6ba8efb3057d81a"`);
- await queryRunner.query(`ALTER TABLE "user_list_joining" DROP CONSTRAINT "FK_605472305f26818cc93d1baaa74"`);
- await queryRunner.query(`ALTER TABLE "user_list_joining" DROP CONSTRAINT "FK_d844bfc6f3f523a05189076efaa"`);
- await queryRunner.query(`ALTER TABLE "user_list" DROP CONSTRAINT "FK_b7fcefbdd1c18dce86687531f99"`);
- await queryRunner.query(`ALTER TABLE "blocking" DROP CONSTRAINT "FK_0627125f1a8a42c9a1929edb552"`);
- await queryRunner.query(`ALTER TABLE "blocking" DROP CONSTRAINT "FK_2cd4a2743a99671308f5417759e"`);
- await queryRunner.query(`ALTER TABLE "sw_subscription" DROP CONSTRAINT "FK_97754ca6f2baff9b4abb7f853dd"`);
- await queryRunner.query(`ALTER TABLE "muting" DROP CONSTRAINT "FK_93060675b4a79a577f31d260c67"`);
- await queryRunner.query(`ALTER TABLE "muting" DROP CONSTRAINT "FK_ec96b4fed9dae517e0dbbe0675c"`);
- await queryRunner.query(`ALTER TABLE "following" DROP CONSTRAINT "FK_6516c5a6f3c015b4eed39978be5"`);
- await queryRunner.query(`ALTER TABLE "following" DROP CONSTRAINT "FK_24e0042143a18157b234df186c3"`);
- await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_769cb6b73a1efe22ddf733ac453"`);
- await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710"`);
- await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_3c601b70a1066d2c8b517094cb9"`);
- await queryRunner.query(`ALTER TABLE "note_unread" DROP CONSTRAINT "FK_e637cba4dc4410218c4251260e4"`);
- await queryRunner.query(`ALTER TABLE "note_unread" DROP CONSTRAINT "FK_56b0166d34ddae49d8ef7610bb9"`);
- await queryRunner.query(`ALTER TABLE "note_watching" DROP CONSTRAINT "FK_03e7028ab8388a3f5e3ce2a8619"`);
- await queryRunner.query(`ALTER TABLE "note_watching" DROP CONSTRAINT "FK_b0134ec406e8d09a540f8182888"`);
- await queryRunner.query(`ALTER TABLE "note_reaction" DROP CONSTRAINT "FK_45145e4953780f3cd5656f0ea6a"`);
- await queryRunner.query(`ALTER TABLE "note_reaction" DROP CONSTRAINT "FK_13761f64257f40c5636d0ff95ee"`);
- await queryRunner.query(`ALTER TABLE "poll_vote" DROP CONSTRAINT "FK_aecfbd5ef60374918e63ee95fa7"`);
- await queryRunner.query(`ALTER TABLE "poll_vote" DROP CONSTRAINT "FK_66d2bd2ee31d14bcc23069a89f8"`);
- await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_5b87d9d19127bd5d92026017a7b"`);
- await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_ec5c201576192ba8904c345c5cc"`);
- await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_52ccc804d7c69037d558bac4c96"`);
- await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_17cb3553c700a4985dff5a30ff5"`);
- await queryRunner.query(`ALTER TABLE "access_token" DROP CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560"`);
- await queryRunner.query(`ALTER TABLE "access_token" DROP CONSTRAINT "FK_9949557d0e1b2c19e5344c171e9"`);
- await queryRunner.query(`ALTER TABLE "app" DROP CONSTRAINT "FK_3f5b0899ef90527a3462d7c2cb3"`);
- await queryRunner.query(`ALTER TABLE "user" DROP CONSTRAINT "FK_afc64b53f8db3707ceb34eb28e2"`);
- await queryRunner.query(`ALTER TABLE "user" DROP CONSTRAINT "FK_58f5c71eaab331645112cf8cfa5"`);
- await queryRunner.query(`ALTER TABLE "drive_file" DROP CONSTRAINT "FK_bb90d1956dafc4068c28aa7560a"`);
- await queryRunner.query(`ALTER TABLE "drive_file" DROP CONSTRAINT "FK_860fa6f6c7df5bb887249fba22e"`);
- await queryRunner.query(`ALTER TABLE "drive_folder" DROP CONSTRAINT "FK_00ceffb0cdc238b3233294f08f2"`);
- await queryRunner.query(`ALTER TABLE "drive_folder" DROP CONSTRAINT "FK_f4fc06e49c0171c85f1c48060d2"`);
- await queryRunner.query(`DROP TABLE "__chart__users"`);
- await queryRunner.query(`DROP TYPE "__chart__users_span_enum"`);
- await queryRunner.query(`DROP TABLE "__chart__test"`);
- await queryRunner.query(`DROP TYPE "__chart__test_span_enum"`);
- await queryRunner.query(`DROP TABLE "__chart__test_unique"`);
- await queryRunner.query(`DROP TYPE "__chart__test_unique_span_enum"`);
- await queryRunner.query(`DROP TABLE "__chart__test_grouped"`);
- await queryRunner.query(`DROP TYPE "__chart__test_grouped_span_enum"`);
- await queryRunner.query(`DROP TABLE "__chart__per_user_reaction"`);
- await queryRunner.query(`DROP TYPE "__chart__per_user_reaction_span_enum"`);
- await queryRunner.query(`DROP TABLE "__chart__per_user_notes"`);
- await queryRunner.query(`DROP TYPE "__chart__per_user_notes_span_enum"`);
- await queryRunner.query(`DROP TABLE "__chart__per_user_following"`);
- await queryRunner.query(`DROP TYPE "__chart__per_user_following_span_enum"`);
- await queryRunner.query(`DROP TABLE "__chart__per_user_drive"`);
- await queryRunner.query(`DROP TYPE "__chart__per_user_drive_span_enum"`);
- await queryRunner.query(`DROP TABLE "__chart__notes"`);
- await queryRunner.query(`DROP TYPE "__chart__notes_span_enum"`);
- await queryRunner.query(`DROP TABLE "__chart__network"`);
- await queryRunner.query(`DROP TYPE "__chart__network_span_enum"`);
- await queryRunner.query(`DROP TABLE "__chart__instance"`);
- await queryRunner.query(`DROP TYPE "__chart__instance_span_enum"`);
- await queryRunner.query(`DROP TABLE "__chart__hashtag"`);
- await queryRunner.query(`DROP TYPE "__chart__hashtag_span_enum"`);
- await queryRunner.query(`DROP TABLE "__chart__federation"`);
- await queryRunner.query(`DROP TYPE "__chart__federation_span_enum"`);
- await queryRunner.query(`DROP TABLE "__chart__drive"`);
- await queryRunner.query(`DROP TYPE "__chart__drive_span_enum"`);
- await queryRunner.query(`DROP TABLE "__chart__active_users"`);
- await queryRunner.query(`DROP TYPE "__chart__active_users_span_enum"`);
- await queryRunner.query(`DROP INDEX "IDX_dce530b98e454793dac5ec2f5a"`);
- await queryRunner.query(`DROP TABLE "user_profile"`);
- await queryRunner.query(`DROP INDEX "IDX_171e64971c780ebd23fae140bb"`);
- await queryRunner.query(`DROP TABLE "user_publickey"`);
- await queryRunner.query(`DROP TABLE "user_keypair"`);
- await queryRunner.query(`DROP INDEX "IDX_7fa20a12319c7f6dc3aed98c0a"`);
- await queryRunner.query(`DROP INDEX "IDX_0610ebcfcfb4a18441a9bcdab2"`);
- await queryRunner.query(`DROP TABLE "poll"`);
- await queryRunner.query(`DROP TYPE "poll_notevisibility_enum"`);
- await queryRunner.query(`DROP INDEX "IDX_410cd649884b501c02d6e72738"`);
- await queryRunner.query(`DROP INDEX "IDX_bfbc6f79ba4007b4ce5097f08d"`);
- await queryRunner.query(`DROP TABLE "user_note_pining"`);
- await queryRunner.query(`DROP INDEX "IDX_e247b23a3c9b45f89ec1299d06"`);
- await queryRunner.query(`DROP INDEX "IDX_3b25402709dd9882048c2bbade"`);
- await queryRunner.query(`DROP INDEX "IDX_b604d92d6c7aec38627f6eaf16"`);
- await queryRunner.query(`DROP TABLE "reversi_matching"`);
- await queryRunner.query(`DROP INDEX "IDX_b46ec40746efceac604142be1c"`);
- await queryRunner.query(`DROP TABLE "reversi_game"`);
- await queryRunner.query(`DROP INDEX "IDX_4f4d35e1256c84ae3d1f0eab10"`);
- await queryRunner.query(`DROP INDEX "IDX_5900e907bb46516ddf2871327c"`);
- await queryRunner.query(`DROP INDEX "IDX_b37dafc86e9af007e3295c2781"`);
- await queryRunner.query(`DROP TABLE "emoji"`);
- await queryRunner.query(`DROP INDEX "IDX_d54a512b822fac7ed52800f6b4"`);
- await queryRunner.query(`DROP INDEX "IDX_a7fd92dd6dc519e6fb435dd108"`);
- await queryRunner.query(`DROP INDEX "IDX_12c01c0d1a79f77d9f6c15fadd"`);
- await queryRunner.query(`DROP TABLE "follow_request"`);
- await queryRunner.query(`DROP INDEX "IDX_62cb09e1129f6ec024ef66e183"`);
- await queryRunner.query(`DROP TABLE "auth_session"`);
- await queryRunner.query(`DROP INDEX "IDX_2c308dbdc50d94dc625670055f"`);
- await queryRunner.query(`DROP TABLE "signin"`);
- await queryRunner.query(`DROP INDEX "IDX_cac14a4e3944454a5ce7daa514"`);
- await queryRunner.query(`DROP INDEX "IDX_5377c307783fce2b6d352e1203"`);
- await queryRunner.query(`DROP INDEX "IDX_e21cd3646e52ef9c94aaf17c2e"`);
- await queryRunner.query(`DROP TABLE "messaging_message"`);
- await queryRunner.query(`DROP INDEX "IDX_0ff69e8dfa9fe31bb4a4660f59"`);
- await queryRunner.query(`DROP TABLE "registration_ticket"`);
- await queryRunner.query(`DROP INDEX "IDX_5cd442c3b2e74fdd99dae20243"`);
- await queryRunner.query(`DROP INDEX "IDX_04cc96756f89d0b7f9473e8cdf"`);
- await queryRunner.query(`DROP INDEX "IDX_d049123c413e68ca52abe73420"`);
- await queryRunner.query(`DROP INDEX "IDX_db2098070b2b5a523c58181f74"`);
- await queryRunner.query(`DROP TABLE "abuse_user_report"`);
- await queryRunner.query(`DROP INDEX "IDX_0f4fb9ad355f3effff221ef245"`);
- await queryRunner.query(`DROP INDEX "IDX_47f4b1892f5d6ba8efb3057d81"`);
- await queryRunner.query(`DROP TABLE "note_favorite"`);
- await queryRunner.query(`DROP INDEX "IDX_0b03cbcd7e6a7ce068efa8ecc2"`);
- await queryRunner.query(`DROP INDEX "IDX_0c44bf4f680964145f2a68a341"`);
- await queryRunner.query(`DROP INDEX "IDX_d57f9030cd3af7f63ffb1c267c"`);
- await queryRunner.query(`DROP INDEX "IDX_4c02d38a976c3ae132228c6fce"`);
- await queryRunner.query(`DROP INDEX "IDX_0e206cec573f1edff4a3062923"`);
- await queryRunner.query(`DROP INDEX "IDX_2710a55f826ee236ea1a62698f"`);
- await queryRunner.query(`DROP INDEX "IDX_347fec870eafea7b26c8a73bac"`);
- await queryRunner.query(`DROP TABLE "hashtag"`);
- await queryRunner.query(`DROP INDEX "IDX_605472305f26818cc93d1baaa7"`);
- await queryRunner.query(`DROP INDEX "IDX_d844bfc6f3f523a05189076efa"`);
- await queryRunner.query(`DROP TABLE "user_list_joining"`);
- await queryRunner.query(`DROP INDEX "IDX_b7fcefbdd1c18dce86687531f9"`);
- await queryRunner.query(`DROP TABLE "user_list"`);
- await queryRunner.query(`DROP INDEX "IDX_98a1bc5cb30dfd159de056549f"`);
- await queryRunner.query(`DROP INDEX "IDX_0627125f1a8a42c9a1929edb55"`);
- await queryRunner.query(`DROP INDEX "IDX_2cd4a2743a99671308f5417759"`);
- await queryRunner.query(`DROP INDEX "IDX_b9a354f7941c1e779f3b33aea6"`);
- await queryRunner.query(`DROP TABLE "blocking"`);
- await queryRunner.query(`DROP INDEX "IDX_97754ca6f2baff9b4abb7f853d"`);
- await queryRunner.query(`DROP TABLE "sw_subscription"`);
- await queryRunner.query(`DROP INDEX "IDX_1eb9d9824a630321a29fd3b290"`);
- await queryRunner.query(`DROP INDEX "IDX_93060675b4a79a577f31d260c6"`);
- await queryRunner.query(`DROP INDEX "IDX_ec96b4fed9dae517e0dbbe0675"`);
- await queryRunner.query(`DROP INDEX "IDX_f86d57fbca33c7a4e6897490cc"`);
- await queryRunner.query(`DROP TABLE "muting"`);
- await queryRunner.query(`DROP INDEX "IDX_8d5afc98982185799b160e10eb"`);
- await queryRunner.query(`DROP INDEX "IDX_2cd3b2a6b4cf0b910b260afe08"`);
- await queryRunner.query(`DROP TABLE "instance"`);
- await queryRunner.query(`DROP INDEX "IDX_307be5f1d1252e0388662acb96"`);
- await queryRunner.query(`DROP INDEX "IDX_6516c5a6f3c015b4eed39978be"`);
- await queryRunner.query(`DROP INDEX "IDX_24e0042143a18157b234df186c"`);
- await queryRunner.query(`DROP INDEX "IDX_582f8fab771a9040a12961f3e7"`);
- await queryRunner.query(`DROP TABLE "following"`);
- await queryRunner.query(`DROP TABLE "meta"`);
- await queryRunner.query(`DROP INDEX "IDX_3c601b70a1066d2c8b517094cb"`);
- await queryRunner.query(`DROP INDEX "IDX_b11a5e627c41d4dc3170f1d370"`);
- await queryRunner.query(`DROP TABLE "notification"`);
- await queryRunner.query(`DROP INDEX "IDX_d908433a4953cc13216cd9c274"`);
- await queryRunner.query(`DROP INDEX "IDX_e637cba4dc4410218c4251260e"`);
- await queryRunner.query(`DROP INDEX "IDX_56b0166d34ddae49d8ef7610bb"`);
- await queryRunner.query(`DROP TABLE "note_unread"`);
- await queryRunner.query(`DROP INDEX "IDX_a42c93c69989ce1d09959df4cf"`);
- await queryRunner.query(`DROP INDEX "IDX_44499765eec6b5489d72c4253b"`);
- await queryRunner.query(`DROP INDEX "IDX_03e7028ab8388a3f5e3ce2a861"`);
- await queryRunner.query(`DROP INDEX "IDX_b0134ec406e8d09a540f818288"`);
- await queryRunner.query(`DROP INDEX "IDX_318cdf42a9cfc11f479bd802bb"`);
- await queryRunner.query(`DROP TABLE "note_watching"`);
- await queryRunner.query(`DROP INDEX "IDX_ad0c221b25672daf2df320a817"`);
- await queryRunner.query(`DROP INDEX "IDX_45145e4953780f3cd5656f0ea6"`);
- await queryRunner.query(`DROP INDEX "IDX_13761f64257f40c5636d0ff95e"`);
- await queryRunner.query(`DROP INDEX "IDX_01f4581f114e0ebd2bbb876f0b"`);
- await queryRunner.query(`DROP TABLE "note_reaction"`);
- await queryRunner.query(`DROP INDEX "IDX_50bd7164c5b78f1f4a42c4d21f"`);
- await queryRunner.query(`DROP INDEX "IDX_aecfbd5ef60374918e63ee95fa"`);
- await queryRunner.query(`DROP INDEX "IDX_66d2bd2ee31d14bcc23069a89f"`);
- await queryRunner.query(`DROP INDEX "IDX_0fb627e1c2f753262a74f0562d"`);
- await queryRunner.query(`DROP TABLE "poll_vote"`);
- await queryRunner.query(`DROP INDEX "IDX_7125a826ab192eb27e11d358a5"`);
- await queryRunner.query(`DROP INDEX "IDX_88937d94d7443d9a99a76fa5c0"`);
- await queryRunner.query(`DROP INDEX "IDX_54ebcb6d27222913b908d56fd8"`);
- await queryRunner.query(`DROP INDEX "IDX_796a8c03959361f97dc2be1d5c"`);
- await queryRunner.query(`DROP INDEX "IDX_25dfc71b0369b003a4cd434d0b"`);
- await queryRunner.query(`DROP INDEX "IDX_51c063b6a133a9cb87145450f5"`);
- await queryRunner.query(`DROP INDEX "IDX_153536c67d05e9adb24e99fc2b"`);
- await queryRunner.query(`DROP INDEX "IDX_5b87d9d19127bd5d92026017a7"`);
- await queryRunner.query(`DROP INDEX "IDX_52ccc804d7c69037d558bac4c9"`);
- await queryRunner.query(`DROP INDEX "IDX_17cb3553c700a4985dff5a30ff"`);
- await queryRunner.query(`DROP INDEX "IDX_e7c0567f5261063592f022e9b5"`);
- await queryRunner.query(`DROP TABLE "note"`);
- await queryRunner.query(`DROP TYPE "note_visibility_enum"`);
- await queryRunner.query(`DROP INDEX "IDX_9949557d0e1b2c19e5344c171e"`);
- await queryRunner.query(`DROP INDEX "IDX_64c327441248bae40f7d92f34f"`);
- await queryRunner.query(`DROP INDEX "IDX_70ba8f6af34bc924fc9e12adb8"`);
- await queryRunner.query(`DROP TABLE "access_token"`);
- await queryRunner.query(`DROP INDEX "IDX_f49922d511d666848f250663c4"`);
- await queryRunner.query(`DROP INDEX "IDX_3f5b0899ef90527a3462d7c2cb"`);
- await queryRunner.query(`DROP INDEX "IDX_048a757923ed8b157e9895da53"`);
- await queryRunner.query(`DROP TABLE "app"`);
- await queryRunner.query(`DROP INDEX "IDX_5deb01ae162d1d70b80d064c27"`);
- await queryRunner.query(`DROP INDEX "IDX_a854e557b1b14814750c7c7b0c"`);
- await queryRunner.query(`DROP INDEX "IDX_be623adaa4c566baf5d29ce0c8"`);
- await queryRunner.query(`DROP INDEX "IDX_3252a5df8d5bbd16b281f7799e"`);
- await queryRunner.query(`DROP INDEX "IDX_fa99d777623947a5b05f394cae"`);
- await queryRunner.query(`DROP INDEX "IDX_a27b942a0d6dcff90e3ee9b5e8"`);
- await queryRunner.query(`DROP INDEX "IDX_80ca6e6ef65fb9ef34ea8c90f4"`);
- await queryRunner.query(`DROP INDEX "IDX_e11e649824a45d8ed01d597fd9"`);
- await queryRunner.query(`DROP TABLE "user"`);
- await queryRunner.query(`DROP INDEX "IDX_bb90d1956dafc4068c28aa7560"`);
- await queryRunner.query(`DROP INDEX "IDX_e5848eac4940934e23dbc17581"`);
- await queryRunner.query(`DROP INDEX "IDX_c55b2b7c284d9fef98026fc88e"`);
- await queryRunner.query(`DROP INDEX "IDX_e74022ce9a074b3866f70e0d27"`);
- await queryRunner.query(`DROP INDEX "IDX_d85a184c2540d2deba33daf642"`);
- await queryRunner.query(`DROP INDEX "IDX_a40b8df8c989d7db937ea27cf6"`);
- await queryRunner.query(`DROP INDEX "IDX_37bb9a1b4585f8a3beb24c62d6"`);
- await queryRunner.query(`DROP INDEX "IDX_92779627994ac79277f070c91e"`);
- await queryRunner.query(`DROP INDEX "IDX_860fa6f6c7df5bb887249fba22"`);
- await queryRunner.query(`DROP INDEX "IDX_c8dfad3b72196dd1d6b5db168a"`);
- await queryRunner.query(`DROP TABLE "drive_file"`);
- await queryRunner.query(`DROP INDEX "IDX_00ceffb0cdc238b3233294f08f"`);
- await queryRunner.query(`DROP INDEX "IDX_f4fc06e49c0171c85f1c48060d"`);
- await queryRunner.query(`DROP INDEX "IDX_02878d441ceae15ce060b73daf"`);
- await queryRunner.query(`DROP TABLE "drive_folder"`);
- await queryRunner.query(`DROP INDEX "IDX_584b536b49e53ac81beb39a177"`);
- await queryRunner.query(`DROP INDEX "IDX_8cb40cfc8f3c28261e6f887b03"`);
- await queryRunner.query(`DROP INDEX "IDX_8e4eb51a35d81b64dda28eed0a"`);
- await queryRunner.query(`DROP TABLE "log"`);
- await queryRunner.query(`DROP TYPE "log_level_enum"`);
- }
-
-}
diff --git a/migration/1556348509290-Pages.ts b/migration/1556348509290-Pages.ts
deleted file mode 100644
index c44b4b1f7..000000000
--- a/migration/1556348509290-Pages.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class Pages1556348509290 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TYPE "page_visibility_enum" AS ENUM('public', 'followers', 'specified')`);
- await queryRunner.query(`CREATE TABLE "page" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, "title" character varying(256) NOT NULL, "name" character varying(256) NOT NULL, "summary" character varying(256), "alignCenter" boolean NOT NULL, "font" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "eyeCatchingImageId" character varying(32), "content" jsonb NOT NULL DEFAULT '[]', "variables" jsonb NOT NULL DEFAULT '[]', "visibility" "page_visibility_enum" NOT NULL, "visibleUserIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], CONSTRAINT "PK_742f4117e065c5b6ad21b37ba1f" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_fbb4297c927a9b85e9cefa2eb1" ON "page" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_af639b066dfbca78b01a920f8a" ON "page" ("updatedAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_b82c19c08afb292de4600d99e4" ON "page" ("name") `);
- await queryRunner.query(`CREATE INDEX "IDX_ae1d917992dd0c9d9bbdad06c4" ON "page" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_90148bbc2bf0854428786bfc15" ON "page" ("visibleUserIds") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_2133ef8317e4bdb839c0dcbf13" ON "page" ("userId", "name") `);
- await queryRunner.query(`ALTER TABLE "page" ADD CONSTRAINT "FK_ae1d917992dd0c9d9bbdad06c4a" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "page" ADD CONSTRAINT "FK_3126dd7c502c9e4d7597ef7ef10" FOREIGN KEY ("eyeCatchingImageId") REFERENCES "drive_file"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "page" DROP CONSTRAINT "FK_3126dd7c502c9e4d7597ef7ef10"`);
- await queryRunner.query(`ALTER TABLE "page" DROP CONSTRAINT "FK_ae1d917992dd0c9d9bbdad06c4a"`);
- await queryRunner.query(`DROP INDEX "IDX_2133ef8317e4bdb839c0dcbf13"`);
- await queryRunner.query(`DROP INDEX "IDX_90148bbc2bf0854428786bfc15"`);
- await queryRunner.query(`DROP INDEX "IDX_ae1d917992dd0c9d9bbdad06c4"`);
- await queryRunner.query(`DROP INDEX "IDX_b82c19c08afb292de4600d99e4"`);
- await queryRunner.query(`DROP INDEX "IDX_af639b066dfbca78b01a920f8a"`);
- await queryRunner.query(`DROP INDEX "IDX_fbb4297c927a9b85e9cefa2eb1"`);
- await queryRunner.query(`DROP TABLE "page"`);
- await queryRunner.query(`DROP TYPE "page_visibility_enum"`);
- }
-
-}
diff --git a/migration/1556746559567-UserProfile.ts b/migration/1556746559567-UserProfile.ts
deleted file mode 100644
index 2dc7349cc..000000000
--- a/migration/1556746559567-UserProfile.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class UserProfile1556746559567 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "githubId" TYPE VARCHAR(64) USING "githubId"::VARCHAR(64)`);
- await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "discordExpiresDate" TYPE VARCHAR(64) USING "discordExpiresDate"::VARCHAR(64)`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`UPDATE "user_profile" SET github = FALSE, discord = FALSE`);
- await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "githubId" TYPE INTEGER USING NULL`);
- await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "discordExpiresDate" TYPE INTEGER USING NULL`);
- }
-
-}
diff --git a/migration/1557476068003-PinnedUsers.ts b/migration/1557476068003-PinnedUsers.ts
deleted file mode 100644
index 4e7222aaf..000000000
--- a/migration/1557476068003-PinnedUsers.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class PinnedUsers1557476068003 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedUsers" character varying(256) array NOT NULL DEFAULT '{}'::varchar[]`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedUsers"`);
- }
-
-}
diff --git a/migration/1557761316509-AddSomeUrls.ts b/migration/1557761316509-AddSomeUrls.ts
deleted file mode 100644
index a0a2c7970..000000000
--- a/migration/1557761316509-AddSomeUrls.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class AddSomeUrls1557761316509 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" ADD "ToSUrl" character varying(512)`);
- await queryRunner.query(`ALTER TABLE "meta" ADD "repositoryUrl" character varying(512) NOT NULL DEFAULT 'https://github.com/syuilo/misskey'`);
- await queryRunner.query(`ALTER TABLE "meta" ADD "feedbackUrl" character varying(512) DEFAULT 'https://github.com/syuilo/misskey/issues/new'`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "feedbackUrl"`);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "repositoryUrl"`);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "ToSUrl"`);
- }
-}
diff --git a/migration/1557932705754-ObjectStorageSetting.ts b/migration/1557932705754-ObjectStorageSetting.ts
deleted file mode 100644
index dde6aa65f..000000000
--- a/migration/1557932705754-ObjectStorageSetting.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class ObjectStorageSetting1557932705754 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" ADD "useObjectStorage" boolean NOT NULL DEFAULT false`);
- await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageBucket" character varying(512)`);
- await queryRunner.query(`ALTER TABLE "meta" ADD "objectStoragePrefix" character varying(512)`);
- await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageBaseUrl" character varying(512)`);
- await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageEndpoint" character varying(512)`);
- await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageRegion" character varying(512)`);
- await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageAccessKey" character varying(512)`);
- await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageSecretKey" character varying(512)`);
- await queryRunner.query(`ALTER TABLE "meta" ADD "objectStoragePort" integer`);
- await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageUseSSL" boolean NOT NULL DEFAULT true`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageUseSSL"`);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStoragePort"`);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageSecretKey"`);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageAccessKey"`);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageRegion"`);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageEndpoint"`);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageBaseUrl"`);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStoragePrefix"`);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageBucket"`);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "useObjectStorage"`);
- }
-
-}
diff --git a/migration/1558072954435-PageLike.ts b/migration/1558072954435-PageLike.ts
deleted file mode 100644
index 93cdb8afe..000000000
--- a/migration/1558072954435-PageLike.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class PageLike1558072954435 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TABLE "page_like" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "pageId" character varying(32) NOT NULL, CONSTRAINT "PK_813f034843af992d3ae0f43c64c" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_0e61efab7f88dbb79c9166dbb4" ON "page_like" ("userId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_4ce6fb9c70529b4c8ac46c9bfa" ON "page_like" ("userId", "pageId") `);
- await queryRunner.query(`ALTER TABLE "page" ADD "likedCount" integer NOT NULL DEFAULT 0`);
- await queryRunner.query(`ALTER TABLE "page_like" ADD CONSTRAINT "FK_0e61efab7f88dbb79c9166dbb48" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "page_like" ADD CONSTRAINT "FK_cf8782626dced3176038176a847" FOREIGN KEY ("pageId") REFERENCES "page"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "page_like" DROP CONSTRAINT "FK_cf8782626dced3176038176a847"`);
- await queryRunner.query(`ALTER TABLE "page_like" DROP CONSTRAINT "FK_0e61efab7f88dbb79c9166dbb48"`);
- await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "likedCount"`);
- await queryRunner.query(`DROP INDEX "IDX_4ce6fb9c70529b4c8ac46c9bfa"`);
- await queryRunner.query(`DROP INDEX "IDX_0e61efab7f88dbb79c9166dbb4"`);
- await queryRunner.query(`DROP TABLE "page_like"`);
- }
-
-}
diff --git a/migration/1558103093633-UserGroup.ts b/migration/1558103093633-UserGroup.ts
deleted file mode 100644
index 04783b8df..000000000
--- a/migration/1558103093633-UserGroup.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class UserGroup1558103093633 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TABLE "user_group" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "name" character varying(256) NOT NULL, "userId" character varying(32) NOT NULL, "isPrivate" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_3c29fba6fe013ec8724378ce7c9" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_20e30aa35180e317e133d75316" ON "user_group" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_3d6b372788ab01be58853003c9" ON "user_group" ("userId") `);
- await queryRunner.query(`CREATE TABLE "user_group_joining" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "userGroupId" character varying(32) NOT NULL, CONSTRAINT "PK_15f2425885253c5507e1599cfe7" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_f3a1b4bd0c7cabba958a0c0b23" ON "user_group_joining" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_67dc758bc0566985d1b3d39986" ON "user_group_joining" ("userGroupId") `);
- await queryRunner.query(`ALTER TABLE "messaging_message" ADD "groupId" character varying(32)`);
- await queryRunner.query(`ALTER TABLE "messaging_message" ADD "reads" character varying(32) array NOT NULL DEFAULT '{}'::varchar[]`);
- await queryRunner.query(`ALTER TABLE "messaging_message" ALTER COLUMN "recipientId" DROP NOT NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "messaging_message"."recipientId" IS 'The recipient user ID.'`);
- await queryRunner.query(`CREATE INDEX "IDX_2c4be03b446884f9e9c502135b" ON "messaging_message" ("groupId") `);
- await queryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_2c4be03b446884f9e9c502135be" FOREIGN KEY ("groupId") REFERENCES "user_group"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "user_group" ADD CONSTRAINT "FK_3d6b372788ab01be58853003c93" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "user_group_joining" ADD CONSTRAINT "FK_f3a1b4bd0c7cabba958a0c0b231" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "user_group_joining" ADD CONSTRAINT "FK_67dc758bc0566985d1b3d399865" FOREIGN KEY ("userGroupId") REFERENCES "user_group"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_group_joining" DROP CONSTRAINT "FK_67dc758bc0566985d1b3d399865"`);
- await queryRunner.query(`ALTER TABLE "user_group_joining" DROP CONSTRAINT "FK_f3a1b4bd0c7cabba958a0c0b231"`);
- await queryRunner.query(`ALTER TABLE "user_group" DROP CONSTRAINT "FK_3d6b372788ab01be58853003c93"`);
- await queryRunner.query(`ALTER TABLE "messaging_message" DROP CONSTRAINT "FK_2c4be03b446884f9e9c502135be"`);
- await queryRunner.query(`DROP INDEX "IDX_2c4be03b446884f9e9c502135b"`);
- await queryRunner.query(`COMMENT ON COLUMN "messaging_message"."recipientId" IS ''`);
- await queryRunner.query(`ALTER TABLE "messaging_message" ALTER COLUMN "recipientId" SET NOT NULL`);
- await queryRunner.query(`ALTER TABLE "messaging_message" DROP COLUMN "reads"`);
- await queryRunner.query(`ALTER TABLE "messaging_message" DROP COLUMN "groupId"`);
- await queryRunner.query(`DROP INDEX "IDX_67dc758bc0566985d1b3d39986"`);
- await queryRunner.query(`DROP INDEX "IDX_f3a1b4bd0c7cabba958a0c0b23"`);
- await queryRunner.query(`DROP TABLE "user_group_joining"`);
- await queryRunner.query(`DROP INDEX "IDX_3d6b372788ab01be58853003c9"`);
- await queryRunner.query(`DROP INDEX "IDX_20e30aa35180e317e133d75316"`);
- await queryRunner.query(`DROP TABLE "user_group"`);
- }
-
-}
diff --git a/migration/1558257926829-UserGroupInvite.ts b/migration/1558257926829-UserGroupInvite.ts
deleted file mode 100644
index a78e47922..000000000
--- a/migration/1558257926829-UserGroupInvite.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class UserGroupInvite1558257926829 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TABLE "user_group_invite" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "userGroupId" character varying(32) NOT NULL, CONSTRAINT "PK_3893884af0d3a5f4d01e7921a97" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_1039988afa3bf991185b277fe0" ON "user_group_invite" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_e10924607d058004304611a436" ON "user_group_invite" ("userGroupId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_78787741f9010886796f2320a4" ON "user_group_invite" ("userId", "userGroupId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_d9ecaed8c6dc43f3592c229282" ON "user_group_joining" ("userId", "userGroupId") `);
- await queryRunner.query(`ALTER TABLE "user_group_invite" ADD CONSTRAINT "FK_1039988afa3bf991185b277fe03" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "user_group_invite" ADD CONSTRAINT "FK_e10924607d058004304611a436a" FOREIGN KEY ("userGroupId") REFERENCES "user_group"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_group_invite" DROP CONSTRAINT "FK_e10924607d058004304611a436a"`);
- await queryRunner.query(`ALTER TABLE "user_group_invite" DROP CONSTRAINT "FK_1039988afa3bf991185b277fe03"`);
- await queryRunner.query(`DROP INDEX "IDX_d9ecaed8c6dc43f3592c229282"`);
- await queryRunner.query(`DROP INDEX "IDX_78787741f9010886796f2320a4"`);
- await queryRunner.query(`DROP INDEX "IDX_e10924607d058004304611a436"`);
- await queryRunner.query(`DROP INDEX "IDX_1039988afa3bf991185b277fe0"`);
- await queryRunner.query(`DROP TABLE "user_group_invite"`);
- }
-
-}
diff --git a/migration/1558266512381-UserListJoining.ts b/migration/1558266512381-UserListJoining.ts
deleted file mode 100644
index f4a917045..000000000
--- a/migration/1558266512381-UserListJoining.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class UserListJoining1558266512381 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_90f7da835e4c10aca6853621e1" ON "user_list_joining" ("userId", "userListId") `);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`DROP INDEX "IDX_90f7da835e4c10aca6853621e1"`);
- }
-
-}
diff --git a/migration/1561706992953-webauthn.ts b/migration/1561706992953-webauthn.ts
deleted file mode 100644
index fc1f0c042..000000000
--- a/migration/1561706992953-webauthn.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class webauthn1561706992953 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TABLE "attestation_challenge" ("id" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "challenge" character varying(64) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "registrationChallenge" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_d0ba6786e093f1bcb497572a6b5" PRIMARY KEY ("id", "userId"))`);
- await queryRunner.query(`CREATE INDEX "IDX_f1a461a618fa1755692d0e0d59" ON "attestation_challenge" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_47efb914aed1f72dd39a306c7b" ON "attestation_challenge" ("challenge") `);
- await queryRunner.query(`CREATE TABLE "user_security_key" ("id" character varying NOT NULL, "userId" character varying(32) NOT NULL, "publicKey" character varying NOT NULL, "lastUsed" TIMESTAMP WITH TIME ZONE NOT NULL, "name" character varying(30) NOT NULL, CONSTRAINT "PK_3e508571121ab39c5f85d10c166" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_ff9ca3b5f3ee3d0681367a9b44" ON "user_security_key" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_0d7718e562dcedd0aa5cf2c9f7" ON "user_security_key" ("publicKey") `);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "securityKeysAvailable" boolean NOT NULL DEFAULT false`);
- await queryRunner.query(`ALTER TABLE "attestation_challenge" ADD CONSTRAINT "FK_f1a461a618fa1755692d0e0d592" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "user_security_key" ADD CONSTRAINT "FK_ff9ca3b5f3ee3d0681367a9b447" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_security_key" DROP CONSTRAINT "FK_ff9ca3b5f3ee3d0681367a9b447"`);
- await queryRunner.query(`ALTER TABLE "attestation_challenge" DROP CONSTRAINT "FK_f1a461a618fa1755692d0e0d592"`);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "securityKeysAvailable"`);
- await queryRunner.query(`DROP INDEX "IDX_0d7718e562dcedd0aa5cf2c9f7"`);
- await queryRunner.query(`DROP INDEX "IDX_ff9ca3b5f3ee3d0681367a9b44"`);
- await queryRunner.query(`DROP TABLE "user_security_key"`);
- await queryRunner.query(`DROP INDEX "IDX_47efb914aed1f72dd39a306c7b"`);
- await queryRunner.query(`DROP INDEX "IDX_f1a461a618fa1755692d0e0d59"`);
- await queryRunner.query(`DROP TABLE "attestation_challenge"`);
- }
-
-}
diff --git a/migration/1561873850023-ChartIndexes.ts b/migration/1561873850023-ChartIndexes.ts
deleted file mode 100644
index b870ad3b7..000000000
--- a/migration/1561873850023-ChartIndexes.ts
+++ /dev/null
@@ -1,201 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class ChartIndexes1561873850023 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE INDEX "IDX_0ad37b7ef50f4ddc84363d7ccc" ON "__chart__active_users" ("date") `);
- await queryRunner.query(`CREATE INDEX "IDX_15e91a03aeeac9dbccdf43fc06" ON "__chart__active_users" ("span") `);
- await queryRunner.query(`CREATE INDEX "IDX_00ed5f86db1f7efafb1978bf21" ON "__chart__active_users" ("group") `);
- await queryRunner.query(`CREATE INDEX "IDX_20f57cc8f142c131340ee16742" ON "__chart__active_users" ("span", "date") `);
- await queryRunner.query(`CREATE INDEX "IDX_9a3ed15a30ab7e3a37702e6e08" ON "__chart__active_users" ("date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_c26e2c1cbb6e911e0554b27416" ON "__chart__active_users" ("span", "date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_13565815f618a1ff53886c5b28" ON "__chart__drive" ("date") `);
- await queryRunner.query(`CREATE INDEX "IDX_3fa0d0f17ca72e3dc80999a032" ON "__chart__drive" ("span") `);
- await queryRunner.query(`CREATE INDEX "IDX_7a170f67425e62a8fabb76c872" ON "__chart__drive" ("group") `);
- await queryRunner.query(`CREATE INDEX "IDX_6e1df243476e20cbf86572ecc0" ON "__chart__drive" ("span", "date") `);
- await queryRunner.query(`CREATE INDEX "IDX_3313d7288855ec105b5bbf6c21" ON "__chart__drive" ("date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_06690fc959f1c9fdaf21928222" ON "__chart__drive" ("span", "date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_36cb699c49580d4e6c2e6159f9" ON "__chart__federation" ("date") `);
- await queryRunner.query(`CREATE INDEX "IDX_e447064455928cf627590ef527" ON "__chart__federation" ("span") `);
- await queryRunner.query(`CREATE INDEX "IDX_76e87c7bfc5d925fcbba405d84" ON "__chart__federation" ("group") `);
- await queryRunner.query(`CREATE INDEX "IDX_2d416e6af791a82e338c79d480" ON "__chart__federation" ("span", "date") `);
- await queryRunner.query(`CREATE INDEX "IDX_dd907becf76104e4b656659e6b" ON "__chart__federation" ("date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_e9cd07672b37d8966cf3709283" ON "__chart__federation" ("span", "date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_07747a1038c05f532a718fe1de" ON "__chart__hashtag" ("date") `);
- await queryRunner.query(`CREATE INDEX "IDX_fcc181fb8283009c61cc4083ef" ON "__chart__hashtag" ("span") `);
- await queryRunner.query(`CREATE INDEX "IDX_99a7d2faaef84a6f728d714ad6" ON "__chart__hashtag" ("group") `);
- await queryRunner.query(`CREATE INDEX "IDX_49975586f50ed7b800fdd88fbd" ON "__chart__hashtag" ("span", "date") `);
- await queryRunner.query(`CREATE INDEX "IDX_25a97c02003338124b2b75fdbc" ON "__chart__hashtag" ("date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_6d6f156ceefc6bc5f273a0e370" ON "__chart__hashtag" ("span", "date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_6b8f34a1a64b06014b6fb66824" ON "__chart__instance" ("date") `);
- await queryRunner.query(`CREATE INDEX "IDX_c12f0af4a66cdd30c2287ce8aa" ON "__chart__instance" ("span") `);
- await queryRunner.query(`CREATE INDEX "IDX_da8a46ba84ca1d8bb5a29bfb63" ON "__chart__instance" ("group") `);
- await queryRunner.query(`CREATE INDEX "IDX_d0a4f79af5a97b08f37b547197" ON "__chart__instance" ("span", "date") `);
- await queryRunner.query(`CREATE INDEX "IDX_39ee857ab2f23493037c6b6631" ON "__chart__instance" ("date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_f5448d9633cff74208d850aabe" ON "__chart__instance" ("span", "date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_a1efd3e0048a5f2793a47360dc" ON "__chart__network" ("date") `);
- await queryRunner.query(`CREATE INDEX "IDX_f8dd01baeded2ffa833e0a610a" ON "__chart__network" ("span") `);
- await queryRunner.query(`CREATE INDEX "IDX_7b5da130992ec9df96712d4290" ON "__chart__network" ("group") `);
- await queryRunner.query(`CREATE INDEX "IDX_08fac0eb3b11f04c200c0b40dd" ON "__chart__network" ("span", "date") `);
- await queryRunner.query(`CREATE INDEX "IDX_0a905b992fecd2b5c3fb98759e" ON "__chart__network" ("date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_9ff6944f01acb756fdc92d7563" ON "__chart__network" ("span", "date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_42eb716a37d381cdf566192b2b" ON "__chart__notes" ("date") `);
- await queryRunner.query(`CREATE INDEX "IDX_e69096589f11e3baa98ddd64d0" ON "__chart__notes" ("span") `);
- await queryRunner.query(`CREATE INDEX "IDX_7036f2957151588b813185c794" ON "__chart__notes" ("group") `);
- await queryRunner.query(`CREATE INDEX "IDX_0c9a159c5082cbeef3ca6706b5" ON "__chart__notes" ("span", "date") `);
- await queryRunner.query(`CREATE INDEX "IDX_f09d543e3acb16c5976bdb31fa" ON "__chart__notes" ("date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_924fc196c80ca24bae01dd37e4" ON "__chart__notes" ("span", "date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_5f86db6492274e07c1a3cdf286" ON "__chart__per_user_drive" ("date") `);
- await queryRunner.query(`CREATE INDEX "IDX_328f259961e60c4fa0bfcf55ca" ON "__chart__per_user_drive" ("span") `);
- await queryRunner.query(`CREATE INDEX "IDX_e496ca8096d28f6b9b509264dc" ON "__chart__per_user_drive" ("group") `);
- await queryRunner.query(`CREATE INDEX "IDX_42ea9381f0fda8dfe0fa1c8b53" ON "__chart__per_user_drive" ("span", "date") `);
- await queryRunner.query(`CREATE INDEX "IDX_30bf67687f483ace115c5ca642" ON "__chart__per_user_drive" ("date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_f2aeafde2ae6fbad38e857631b" ON "__chart__per_user_drive" ("span", "date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_7af07790712aa3438ff6773f3b" ON "__chart__per_user_following" ("date") `);
- await queryRunner.query(`CREATE INDEX "IDX_f92dd6d03f8d994f29987f6214" ON "__chart__per_user_following" ("span") `);
- await queryRunner.query(`CREATE INDEX "IDX_4b3593098b6edc9c5afe36b18b" ON "__chart__per_user_following" ("group") `);
- await queryRunner.query(`CREATE INDEX "IDX_57b5458d0d3d6d1e7f13d4e57f" ON "__chart__per_user_following" ("span", "date") `);
- await queryRunner.query(`CREATE INDEX "IDX_b77d4dd9562c3a899d9a286fcd" ON "__chart__per_user_following" ("date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_4db3b84c7be0d3464714f3e0b1" ON "__chart__per_user_following" ("span", "date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_84234bd1abb873f07329681c83" ON "__chart__per_user_notes" ("date") `);
- await queryRunner.query(`CREATE INDEX "IDX_8d2cbbc8114d90d19b44d626b6" ON "__chart__per_user_notes" ("span") `);
- await queryRunner.query(`CREATE INDEX "IDX_55bf20f366979f2436de99206b" ON "__chart__per_user_notes" ("group") `);
- await queryRunner.query(`CREATE INDEX "IDX_046feeb12e9ef5f783f409866a" ON "__chart__per_user_notes" ("span", "date") `);
- await queryRunner.query(`CREATE INDEX "IDX_5048e9daccbbbc6d567bb142d3" ON "__chart__per_user_notes" ("date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_f68a5ab958f9f5fa17a32ac23b" ON "__chart__per_user_notes" ("span", "date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_f7bf4c62059764c2c2bb40fdab" ON "__chart__per_user_reaction" ("date") `);
- await queryRunner.query(`CREATE INDEX "IDX_65633a106bce43fc7c5c30a5c7" ON "__chart__per_user_reaction" ("span") `);
- await queryRunner.query(`CREATE INDEX "IDX_8cf3156fd7a6b15c43459c6e3b" ON "__chart__per_user_reaction" ("group") `);
- await queryRunner.query(`CREATE INDEX "IDX_edeb73c09c3143a81bcb34d569" ON "__chart__per_user_reaction" ("span", "date") `);
- await queryRunner.query(`CREATE INDEX "IDX_229a41ad465f9205f1f5703291" ON "__chart__per_user_reaction" ("date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_e316f01a6d24eb31db27f88262" ON "__chart__per_user_reaction" ("span", "date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_0c641990ecf47d2545df4edb75" ON "__chart__test_grouped" ("date") `);
- await queryRunner.query(`CREATE INDEX "IDX_2be7ec6cebddc14dc11e206686" ON "__chart__test_grouped" ("span") `);
- await queryRunner.query(`CREATE INDEX "IDX_234dff3c0b56a6150b95431ab9" ON "__chart__test_grouped" ("group") `);
- await queryRunner.query(`CREATE INDEX "IDX_a5133470f4825902e170328ca5" ON "__chart__test_grouped" ("span", "date") `);
- await queryRunner.query(`CREATE INDEX "IDX_b14489029e4b3aaf4bba5fb524" ON "__chart__test_grouped" ("date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_84e661abb7bd1e51b690d4b017" ON "__chart__test_grouped" ("span", "date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_437bab3c6061d90f6bb65fd2cc" ON "__chart__test_unique" ("date") `);
- await queryRunner.query(`CREATE INDEX "IDX_5c73bf61da4f6e6f15bae88ed1" ON "__chart__test_unique" ("span") `);
- await queryRunner.query(`CREATE INDEX "IDX_bbfa573a8181018851ed0b6357" ON "__chart__test_unique" ("group") `);
- await queryRunner.query(`CREATE INDEX "IDX_d70c86baedc68326be11f9c0ce" ON "__chart__test_unique" ("span", "date") `);
- await queryRunner.query(`CREATE INDEX "IDX_a0cd75442dd10d0643a17c4a49" ON "__chart__test_unique" ("date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_66e1e1ecd2f29e57778af35b59" ON "__chart__test_unique" ("span", "date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_b070a906db04b44c67c6c2144d" ON "__chart__test" ("date") `);
- await queryRunner.query(`CREATE INDEX "IDX_92255988735563f0fe4aba1f05" ON "__chart__test" ("span") `);
- await queryRunner.query(`CREATE INDEX "IDX_d41cce6aee1a50bfc062038f9b" ON "__chart__test" ("group") `);
- await queryRunner.query(`CREATE INDEX "IDX_c5870993e25c3d5771f91f5003" ON "__chart__test" ("span", "date") `);
- await queryRunner.query(`CREATE INDEX "IDX_a319e5dbf47e8a17497623beae" ON "__chart__test" ("date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_f170de677ea75ad4533de2723e" ON "__chart__test" ("span", "date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_845254b3eaf708ae8a6cac3026" ON "__chart__users" ("date") `);
- await queryRunner.query(`CREATE INDEX "IDX_7c184198ecf66a8d3ecb253ab3" ON "__chart__users" ("span") `);
- await queryRunner.query(`CREATE INDEX "IDX_ed9b95919c672a13008e9487ee" ON "__chart__users" ("group") `);
- await queryRunner.query(`CREATE INDEX "IDX_f091abb24193d50c653c6b77fc" ON "__chart__users" ("span", "date") `);
- await queryRunner.query(`CREATE INDEX "IDX_337e9599f278bd7537fe30876f" ON "__chart__users" ("date", "group") `);
- await queryRunner.query(`CREATE INDEX "IDX_a770a57c70e668cc61590c9161" ON "__chart__users" ("span", "date", "group") `);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`DROP INDEX "IDX_a770a57c70e668cc61590c9161"`);
- await queryRunner.query(`DROP INDEX "IDX_337e9599f278bd7537fe30876f"`);
- await queryRunner.query(`DROP INDEX "IDX_f091abb24193d50c653c6b77fc"`);
- await queryRunner.query(`DROP INDEX "IDX_ed9b95919c672a13008e9487ee"`);
- await queryRunner.query(`DROP INDEX "IDX_7c184198ecf66a8d3ecb253ab3"`);
- await queryRunner.query(`DROP INDEX "IDX_845254b3eaf708ae8a6cac3026"`);
- await queryRunner.query(`DROP INDEX "IDX_f170de677ea75ad4533de2723e"`);
- await queryRunner.query(`DROP INDEX "IDX_a319e5dbf47e8a17497623beae"`);
- await queryRunner.query(`DROP INDEX "IDX_c5870993e25c3d5771f91f5003"`);
- await queryRunner.query(`DROP INDEX "IDX_d41cce6aee1a50bfc062038f9b"`);
- await queryRunner.query(`DROP INDEX "IDX_92255988735563f0fe4aba1f05"`);
- await queryRunner.query(`DROP INDEX "IDX_b070a906db04b44c67c6c2144d"`);
- await queryRunner.query(`DROP INDEX "IDX_66e1e1ecd2f29e57778af35b59"`);
- await queryRunner.query(`DROP INDEX "IDX_a0cd75442dd10d0643a17c4a49"`);
- await queryRunner.query(`DROP INDEX "IDX_d70c86baedc68326be11f9c0ce"`);
- await queryRunner.query(`DROP INDEX "IDX_bbfa573a8181018851ed0b6357"`);
- await queryRunner.query(`DROP INDEX "IDX_5c73bf61da4f6e6f15bae88ed1"`);
- await queryRunner.query(`DROP INDEX "IDX_437bab3c6061d90f6bb65fd2cc"`);
- await queryRunner.query(`DROP INDEX "IDX_84e661abb7bd1e51b690d4b017"`);
- await queryRunner.query(`DROP INDEX "IDX_b14489029e4b3aaf4bba5fb524"`);
- await queryRunner.query(`DROP INDEX "IDX_a5133470f4825902e170328ca5"`);
- await queryRunner.query(`DROP INDEX "IDX_234dff3c0b56a6150b95431ab9"`);
- await queryRunner.query(`DROP INDEX "IDX_2be7ec6cebddc14dc11e206686"`);
- await queryRunner.query(`DROP INDEX "IDX_0c641990ecf47d2545df4edb75"`);
- await queryRunner.query(`DROP INDEX "IDX_e316f01a6d24eb31db27f88262"`);
- await queryRunner.query(`DROP INDEX "IDX_229a41ad465f9205f1f5703291"`);
- await queryRunner.query(`DROP INDEX "IDX_edeb73c09c3143a81bcb34d569"`);
- await queryRunner.query(`DROP INDEX "IDX_8cf3156fd7a6b15c43459c6e3b"`);
- await queryRunner.query(`DROP INDEX "IDX_65633a106bce43fc7c5c30a5c7"`);
- await queryRunner.query(`DROP INDEX "IDX_f7bf4c62059764c2c2bb40fdab"`);
- await queryRunner.query(`DROP INDEX "IDX_f68a5ab958f9f5fa17a32ac23b"`);
- await queryRunner.query(`DROP INDEX "IDX_5048e9daccbbbc6d567bb142d3"`);
- await queryRunner.query(`DROP INDEX "IDX_046feeb12e9ef5f783f409866a"`);
- await queryRunner.query(`DROP INDEX "IDX_55bf20f366979f2436de99206b"`);
- await queryRunner.query(`DROP INDEX "IDX_8d2cbbc8114d90d19b44d626b6"`);
- await queryRunner.query(`DROP INDEX "IDX_84234bd1abb873f07329681c83"`);
- await queryRunner.query(`DROP INDEX "IDX_4db3b84c7be0d3464714f3e0b1"`);
- await queryRunner.query(`DROP INDEX "IDX_b77d4dd9562c3a899d9a286fcd"`);
- await queryRunner.query(`DROP INDEX "IDX_57b5458d0d3d6d1e7f13d4e57f"`);
- await queryRunner.query(`DROP INDEX "IDX_4b3593098b6edc9c5afe36b18b"`);
- await queryRunner.query(`DROP INDEX "IDX_f92dd6d03f8d994f29987f6214"`);
- await queryRunner.query(`DROP INDEX "IDX_7af07790712aa3438ff6773f3b"`);
- await queryRunner.query(`DROP INDEX "IDX_f2aeafde2ae6fbad38e857631b"`);
- await queryRunner.query(`DROP INDEX "IDX_30bf67687f483ace115c5ca642"`);
- await queryRunner.query(`DROP INDEX "IDX_42ea9381f0fda8dfe0fa1c8b53"`);
- await queryRunner.query(`DROP INDEX "IDX_e496ca8096d28f6b9b509264dc"`);
- await queryRunner.query(`DROP INDEX "IDX_328f259961e60c4fa0bfcf55ca"`);
- await queryRunner.query(`DROP INDEX "IDX_5f86db6492274e07c1a3cdf286"`);
- await queryRunner.query(`DROP INDEX "IDX_924fc196c80ca24bae01dd37e4"`);
- await queryRunner.query(`DROP INDEX "IDX_f09d543e3acb16c5976bdb31fa"`);
- await queryRunner.query(`DROP INDEX "IDX_0c9a159c5082cbeef3ca6706b5"`);
- await queryRunner.query(`DROP INDEX "IDX_7036f2957151588b813185c794"`);
- await queryRunner.query(`DROP INDEX "IDX_e69096589f11e3baa98ddd64d0"`);
- await queryRunner.query(`DROP INDEX "IDX_42eb716a37d381cdf566192b2b"`);
- await queryRunner.query(`DROP INDEX "IDX_9ff6944f01acb756fdc92d7563"`);
- await queryRunner.query(`DROP INDEX "IDX_0a905b992fecd2b5c3fb98759e"`);
- await queryRunner.query(`DROP INDEX "IDX_08fac0eb3b11f04c200c0b40dd"`);
- await queryRunner.query(`DROP INDEX "IDX_7b5da130992ec9df96712d4290"`);
- await queryRunner.query(`DROP INDEX "IDX_f8dd01baeded2ffa833e0a610a"`);
- await queryRunner.query(`DROP INDEX "IDX_a1efd3e0048a5f2793a47360dc"`);
- await queryRunner.query(`DROP INDEX "IDX_f5448d9633cff74208d850aabe"`);
- await queryRunner.query(`DROP INDEX "IDX_39ee857ab2f23493037c6b6631"`);
- await queryRunner.query(`DROP INDEX "IDX_d0a4f79af5a97b08f37b547197"`);
- await queryRunner.query(`DROP INDEX "IDX_da8a46ba84ca1d8bb5a29bfb63"`);
- await queryRunner.query(`DROP INDEX "IDX_c12f0af4a66cdd30c2287ce8aa"`);
- await queryRunner.query(`DROP INDEX "IDX_6b8f34a1a64b06014b6fb66824"`);
- await queryRunner.query(`DROP INDEX "IDX_6d6f156ceefc6bc5f273a0e370"`);
- await queryRunner.query(`DROP INDEX "IDX_25a97c02003338124b2b75fdbc"`);
- await queryRunner.query(`DROP INDEX "IDX_49975586f50ed7b800fdd88fbd"`);
- await queryRunner.query(`DROP INDEX "IDX_99a7d2faaef84a6f728d714ad6"`);
- await queryRunner.query(`DROP INDEX "IDX_fcc181fb8283009c61cc4083ef"`);
- await queryRunner.query(`DROP INDEX "IDX_07747a1038c05f532a718fe1de"`);
- await queryRunner.query(`DROP INDEX "IDX_e9cd07672b37d8966cf3709283"`);
- await queryRunner.query(`DROP INDEX "IDX_dd907becf76104e4b656659e6b"`);
- await queryRunner.query(`DROP INDEX "IDX_2d416e6af791a82e338c79d480"`);
- await queryRunner.query(`DROP INDEX "IDX_76e87c7bfc5d925fcbba405d84"`);
- await queryRunner.query(`DROP INDEX "IDX_e447064455928cf627590ef527"`);
- await queryRunner.query(`DROP INDEX "IDX_36cb699c49580d4e6c2e6159f9"`);
- await queryRunner.query(`DROP INDEX "IDX_06690fc959f1c9fdaf21928222"`);
- await queryRunner.query(`DROP INDEX "IDX_3313d7288855ec105b5bbf6c21"`);
- await queryRunner.query(`DROP INDEX "IDX_6e1df243476e20cbf86572ecc0"`);
- await queryRunner.query(`DROP INDEX "IDX_7a170f67425e62a8fabb76c872"`);
- await queryRunner.query(`DROP INDEX "IDX_3fa0d0f17ca72e3dc80999a032"`);
- await queryRunner.query(`DROP INDEX "IDX_13565815f618a1ff53886c5b28"`);
- await queryRunner.query(`DROP INDEX "IDX_c26e2c1cbb6e911e0554b27416"`);
- await queryRunner.query(`DROP INDEX "IDX_9a3ed15a30ab7e3a37702e6e08"`);
- await queryRunner.query(`DROP INDEX "IDX_20f57cc8f142c131340ee16742"`);
- await queryRunner.query(`DROP INDEX "IDX_00ed5f86db1f7efafb1978bf21"`);
- await queryRunner.query(`DROP INDEX "IDX_15e91a03aeeac9dbccdf43fc06"`);
- await queryRunner.query(`DROP INDEX "IDX_0ad37b7ef50f4ddc84363d7ccc"`);
- await queryRunner.query(`DROP INDEX "IDX_90148bbc2bf0854428786bfc15"`);
- await queryRunner.query(`DROP INDEX "IDX_88937d94d7443d9a99a76fa5c0"`);
- await queryRunner.query(`DROP INDEX "IDX_54ebcb6d27222913b908d56fd8"`);
- await queryRunner.query(`DROP INDEX "IDX_796a8c03959361f97dc2be1d5c"`);
- await queryRunner.query(`DROP INDEX "IDX_25dfc71b0369b003a4cd434d0b"`);
- await queryRunner.query(`DROP INDEX "IDX_51c063b6a133a9cb87145450f5"`);
- await queryRunner.query(`DROP INDEX "IDX_fa99d777623947a5b05f394cae"`);
- await queryRunner.query(`DROP INDEX "IDX_315c779174fe8247ab324f036e"`);
- await queryRunner.query(`DROP INDEX "IDX_c5d46cbfda48b1c33ed852e21b"`);
- await queryRunner.query(`DROP INDEX "IDX_8cb40cfc8f3c28261e6f887b03"`);
- }
-
-}
diff --git a/migration/1562422242907-PasswordLessLogin.ts b/migration/1562422242907-PasswordLessLogin.ts
deleted file mode 100644
index e789a3433..000000000
--- a/migration/1562422242907-PasswordLessLogin.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class PasswordLessLogin1562422242907 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" ADD COLUMN "usePasswordLessLogin" boolean DEFAULT false NOT NULL`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "usePasswordLessLogin"`);
- }
-
-}
diff --git a/migration/1562444565093-PinnedPage.ts b/migration/1562444565093-PinnedPage.ts
deleted file mode 100644
index 4bdee2274..000000000
--- a/migration/1562444565093-PinnedPage.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class PinnedPage1562444565093 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "pinnedPageId" character varying(32)`);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD CONSTRAINT "UQ_6dc44f1ceb65b1e72bacef2ca27" UNIQUE ("pinnedPageId")`);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD CONSTRAINT "FK_6dc44f1ceb65b1e72bacef2ca27" FOREIGN KEY ("pinnedPageId") REFERENCES "page"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" DROP CONSTRAINT "FK_6dc44f1ceb65b1e72bacef2ca27"`);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP CONSTRAINT "UQ_6dc44f1ceb65b1e72bacef2ca27"`);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "pinnedPageId"`);
- }
-
-}
diff --git a/migration/1562448332510-PageTitleHideOption.ts b/migration/1562448332510-PageTitleHideOption.ts
deleted file mode 100644
index acc9b7e26..000000000
--- a/migration/1562448332510-PageTitleHideOption.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class PageTitleHideOption1562448332510 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "page" ADD "hideTitleWhenPinned" boolean NOT NULL DEFAULT false`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "hideTitleWhenPinned"`);
- }
-
-}
diff --git a/migration/1562869971568-ModerationLog.ts b/migration/1562869971568-ModerationLog.ts
deleted file mode 100644
index b37f38ee5..000000000
--- a/migration/1562869971568-ModerationLog.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class ModerationLog1562869971568 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TABLE "moderation_log" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "type" character varying(128) NOT NULL, "info" jsonb NOT NULL, CONSTRAINT "PK_d0adca6ecfd068db83e4526cc26" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_a08ad074601d204e0f69da9a95" ON "moderation_log" ("userId") `);
- await queryRunner.query(`ALTER TABLE "moderation_log" ADD CONSTRAINT "FK_a08ad074601d204e0f69da9a954" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "moderation_log" DROP CONSTRAINT "FK_a08ad074601d204e0f69da9a954"`);
- await queryRunner.query(`DROP INDEX "IDX_a08ad074601d204e0f69da9a95"`);
- await queryRunner.query(`DROP TABLE "moderation_log"`);
- }
-
-}
diff --git a/migration/1563757595828-UsedUsername.ts b/migration/1563757595828-UsedUsername.ts
deleted file mode 100644
index a076fcc0c..000000000
--- a/migration/1563757595828-UsedUsername.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class UsedUsername1563757595828 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TABLE "used_username" ("username" character varying(128) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, CONSTRAINT "PK_78fd79d2d24c6ac2f4cc9a31a5d" PRIMARY KEY ("username"))`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`DROP TABLE "used_username"`);
- }
-
-}
diff --git a/migration/1565634203341-room.ts b/migration/1565634203341-room.ts
deleted file mode 100644
index 783b375ff..000000000
--- a/migration/1565634203341-room.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class room1565634203341 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "room" jsonb NOT NULL DEFAULT '{}'`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "room"`);
- }
-
-}
diff --git a/migration/1571220798684-CustomEmojiCategory.ts b/migration/1571220798684-CustomEmojiCategory.ts
deleted file mode 100644
index 37f63fa3d..000000000
--- a/migration/1571220798684-CustomEmojiCategory.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class CustomEmojiCategory1571220798684 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "emoji" ADD "category" character varying(128)`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "emoji" DROP COLUMN "category"`, undefined);
- }
-
-}
diff --git a/migration/1572760203493-nodeinfo.ts b/migration/1572760203493-nodeinfo.ts
deleted file mode 100644
index 88d8df723..000000000
--- a/migration/1572760203493-nodeinfo.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class nodeinfo1572760203493 implements MigrationInterface {
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "system"`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" ADD "softwareName" character varying(64) DEFAULT null`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" ADD "softwareVersion" character varying(64) DEFAULT null`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" ADD "openRegistrations" boolean DEFAULT null`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" ADD "name" character varying(256) DEFAULT null`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" ADD "description" character varying(4096) DEFAULT null`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" ADD "maintainerName" character varying(128) DEFAULT null`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" ADD "maintainerEmail" character varying(256) DEFAULT null`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" ADD "infoUpdatedAt" TIMESTAMP WITH TIME ZONE`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "infoUpdatedAt"`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "maintainerEmail"`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "maintainerName"`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "description"`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "name"`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "openRegistrations"`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "softwareVersion"`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "softwareName"`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" ADD "system" character varying(64)`, undefined);
- }
-
-}
diff --git a/migration/1576269851876-TalkFederationId.ts b/migration/1576269851876-TalkFederationId.ts
deleted file mode 100644
index 57e86c8b0..000000000
--- a/migration/1576269851876-TalkFederationId.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class TalkFederationId1576269851876 implements MigrationInterface {
- name = 'TalkFederationId1576269851876'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "messaging_message" ADD "uri" character varying(512)`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "messaging_message" DROP COLUMN "uri"`, undefined);
- }
-
-}
diff --git a/migration/1576869585998-ProxyRemoteFiles.ts b/migration/1576869585998-ProxyRemoteFiles.ts
deleted file mode 100644
index 1d15370bb..000000000
--- a/migration/1576869585998-ProxyRemoteFiles.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class ProxyRemoteFiles1576869585998 implements MigrationInterface {
- name = 'ProxyRemoteFiles1576869585998'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" ADD "proxyRemoteFiles" boolean NOT NULL DEFAULT false`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "proxyRemoteFiles"`, undefined);
- }
-
-}
diff --git a/migration/1579267006611-v12.ts b/migration/1579267006611-v12.ts
deleted file mode 100644
index 2c15283fa..000000000
--- a/migration/1579267006611-v12.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class v121579267006611 implements MigrationInterface {
- name = 'v121579267006611'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TABLE "announcement" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "text" character varying(8192) NOT NULL, "title" character varying(256) NOT NULL, "imageUrl" character varying(1024), CONSTRAINT "PK_e0ef0550174fd1099a308fd18a0" PRIMARY KEY ("id"))`, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_118ec703e596086fc4515acb39" ON "announcement" ("createdAt") `, undefined);
- await queryRunner.query(`CREATE TABLE "announcement_read" ("id" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "announcementId" character varying(32) NOT NULL, CONSTRAINT "PK_4b90ad1f42681d97b2683890c5e" PRIMARY KEY ("id"))`, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_8288151386172b8109f7239ab2" ON "announcement_read" ("userId") `, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_603a7b1e7aa0533c6c88e9bfaf" ON "announcement_read" ("announcementId") `, undefined);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_924fa71815cfa3941d003702a0" ON "announcement_read" ("userId", "announcementId") `, undefined);
- await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "isVerified"`, undefined);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "announcements"`, undefined);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableEmojiReaction"`, undefined);
- await queryRunner.query(`ALTER TABLE "announcement_read" ADD CONSTRAINT "FK_8288151386172b8109f7239ab28" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- await queryRunner.query(`ALTER TABLE "announcement_read" ADD CONSTRAINT "FK_603a7b1e7aa0533c6c88e9bfafe" FOREIGN KEY ("announcementId") REFERENCES "announcement"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "announcement_read" DROP CONSTRAINT "FK_603a7b1e7aa0533c6c88e9bfafe"`, undefined);
- await queryRunner.query(`ALTER TABLE "announcement_read" DROP CONSTRAINT "FK_8288151386172b8109f7239ab28"`, undefined);
- await queryRunner.query(`ALTER TABLE "meta" ADD "enableEmojiReaction" boolean NOT NULL DEFAULT true`, undefined);
- await queryRunner.query(`ALTER TABLE "meta" ADD "announcements" jsonb NOT NULL DEFAULT '[]'`, undefined);
- await queryRunner.query(`ALTER TABLE "user" ADD "isVerified" boolean NOT NULL DEFAULT false`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_924fa71815cfa3941d003702a0"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_603a7b1e7aa0533c6c88e9bfaf"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_8288151386172b8109f7239ab2"`, undefined);
- await queryRunner.query(`DROP TABLE "announcement_read"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_118ec703e596086fc4515acb39"`, undefined);
- await queryRunner.query(`DROP TABLE "announcement"`, undefined);
- }
-
-}
diff --git a/migration/1579270193251-v12-2.ts b/migration/1579270193251-v12-2.ts
deleted file mode 100644
index efad0cd56..000000000
--- a/migration/1579270193251-v12-2.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class v1221579270193251 implements MigrationInterface {
- name = 'v1221579270193251'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "announcement_read" ADD "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "announcement_read" DROP COLUMN "createdAt"`, undefined);
- }
-
-}
diff --git a/migration/1579282808087-v12-3.ts b/migration/1579282808087-v12-3.ts
deleted file mode 100644
index a330caa97..000000000
--- a/migration/1579282808087-v12-3.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class v1231579282808087 implements MigrationInterface {
- name = 'v1231579282808087'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "announcement" ADD "updatedAt" TIMESTAMP WITH TIME ZONE`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "announcement" DROP COLUMN "updatedAt"`, undefined);
- }
-
-}
diff --git a/migration/1579544426412-v12-4.ts b/migration/1579544426412-v12-4.ts
deleted file mode 100644
index d35b25d04..000000000
--- a/migration/1579544426412-v12-4.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class v1241579544426412 implements MigrationInterface {
- name = 'v1241579544426412'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "notification" ADD "followRequestId" character varying(32)`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_bd7fab507621e635b32cd31892c" FOREIGN KEY ("followRequestId") REFERENCES "follow_request"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_bd7fab507621e635b32cd31892c"`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "followRequestId"`, undefined);
- }
-
-}
diff --git a/migration/1579977526288-v12-5.ts b/migration/1579977526288-v12-5.ts
deleted file mode 100644
index 5f824a676..000000000
--- a/migration/1579977526288-v12-5.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class v1251579977526288 implements MigrationInterface {
- name = 'v1251579977526288'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TABLE "clip" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, "isPublic" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_f0685dac8d4dd056d7255670b75" PRIMARY KEY ("id"))`, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_2b5ec6c574d6802c94c80313fb" ON "clip" ("userId") `, undefined);
- await queryRunner.query(`CREATE TABLE "clip_note" ("id" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "clipId" character varying(32) NOT NULL, CONSTRAINT "PK_e94cda2f40a99b57e032a1a738b" PRIMARY KEY ("id"))`, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_a012eaf5c87c65da1deb5fdbfa" ON "clip_note" ("noteId") `, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_ebe99317bbbe9968a0c6f579ad" ON "clip_note" ("clipId") `, undefined);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_6fc0ec357d55a18646262fdfff" ON "clip_note" ("noteId", "clipId") `, undefined);
- await queryRunner.query(`CREATE TYPE "antenna_src_enum" AS ENUM('home', 'all', 'list')`, undefined);
- await queryRunner.query(`CREATE TABLE "antenna" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, "src" "antenna_src_enum" NOT NULL, "userListId" character varying(32), "keywords" jsonb NOT NULL DEFAULT '[]', "withFile" boolean NOT NULL, "expression" character varying(2048), "notify" boolean NOT NULL, "hasNewNote" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_c170b99775e1dccca947c9f2d5f" PRIMARY KEY ("id"))`, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_6446c571a0e8d0f05f01c78909" ON "antenna" ("userId") `, undefined);
- await queryRunner.query(`CREATE TABLE "antenna_note" ("id" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "antennaId" character varying(32) NOT NULL, CONSTRAINT "PK_fb28d94d0989a3872df19fd6ef8" PRIMARY KEY ("id"))`, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_bd0397be22147e17210940e125" ON "antenna_note" ("noteId") `, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_0d775946662d2575dfd2068a5f" ON "antenna_note" ("antennaId") `, undefined);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_335a0bf3f904406f9ef3dd51c2" ON "antenna_note" ("noteId", "antennaId") `, undefined);
- await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "geo"`, undefined);
- await queryRunner.query(`ALTER TABLE "clip" ADD CONSTRAINT "FK_2b5ec6c574d6802c94c80313fb2" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- await queryRunner.query(`ALTER TABLE "clip_note" ADD CONSTRAINT "FK_a012eaf5c87c65da1deb5fdbfa3" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- await queryRunner.query(`ALTER TABLE "clip_note" ADD CONSTRAINT "FK_ebe99317bbbe9968a0c6f579adf" FOREIGN KEY ("clipId") REFERENCES "clip"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" ADD CONSTRAINT "FK_6446c571a0e8d0f05f01c789096" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" ADD CONSTRAINT "FK_709d7d32053d0dd7620f678eeb9" FOREIGN KEY ("userListId") REFERENCES "user_list"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna_note" ADD CONSTRAINT "FK_bd0397be22147e17210940e125b" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna_note" ADD CONSTRAINT "FK_0d775946662d2575dfd2068a5f5" FOREIGN KEY ("antennaId") REFERENCES "antenna"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "antenna_note" DROP CONSTRAINT "FK_0d775946662d2575dfd2068a5f5"`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna_note" DROP CONSTRAINT "FK_bd0397be22147e17210940e125b"`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" DROP CONSTRAINT "FK_709d7d32053d0dd7620f678eeb9"`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" DROP CONSTRAINT "FK_6446c571a0e8d0f05f01c789096"`, undefined);
- await queryRunner.query(`ALTER TABLE "clip_note" DROP CONSTRAINT "FK_ebe99317bbbe9968a0c6f579adf"`, undefined);
- await queryRunner.query(`ALTER TABLE "clip_note" DROP CONSTRAINT "FK_a012eaf5c87c65da1deb5fdbfa3"`, undefined);
- await queryRunner.query(`ALTER TABLE "clip" DROP CONSTRAINT "FK_2b5ec6c574d6802c94c80313fb2"`, undefined);
- await queryRunner.query(`ALTER TABLE "note" ADD "geo" jsonb`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_335a0bf3f904406f9ef3dd51c2"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_0d775946662d2575dfd2068a5f"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_bd0397be22147e17210940e125"`, undefined);
- await queryRunner.query(`DROP TABLE "antenna_note"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_6446c571a0e8d0f05f01c78909"`, undefined);
- await queryRunner.query(`DROP TABLE "antenna"`, undefined);
- await queryRunner.query(`DROP TYPE "antenna_src_enum"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_6fc0ec357d55a18646262fdfff"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_ebe99317bbbe9968a0c6f579ad"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_a012eaf5c87c65da1deb5fdbfa"`, undefined);
- await queryRunner.query(`DROP TABLE "clip_note"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_2b5ec6c574d6802c94c80313fb"`, undefined);
- await queryRunner.query(`DROP TABLE "clip"`, undefined);
- }
-
-}
diff --git a/migration/1579993013959-v12-6.ts b/migration/1579993013959-v12-6.ts
deleted file mode 100644
index 4fa4623c3..000000000
--- a/migration/1579993013959-v12-6.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class v1261579993013959 implements MigrationInterface {
- name = 'v1261579993013959'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "hasNewNote"`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna_note" ADD "read" boolean NOT NULL DEFAULT false`, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_9937ea48d7ae97ffb4f3f063a4" ON "antenna_note" ("read") `, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`DROP INDEX "IDX_9937ea48d7ae97ffb4f3f063a4"`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna_note" DROP COLUMN "read"`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" ADD "hasNewNote" boolean NOT NULL DEFAULT false`, undefined);
- }
-
-}
diff --git a/migration/1580069531114-v12-7.ts b/migration/1580069531114-v12-7.ts
deleted file mode 100644
index 227e7cceb..000000000
--- a/migration/1580069531114-v12-7.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class v1271580069531114 implements MigrationInterface {
- name = 'v1271580069531114'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "antenna" ADD "users" character varying(1024) array NOT NULL DEFAULT '{}'::varchar[]`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" ADD "caseSensitive" boolean NOT NULL DEFAULT false`, undefined);
- await queryRunner.query(`ALTER TYPE "public"."antenna_src_enum" RENAME TO "antenna_src_enum_old"`, undefined);
- await queryRunner.query(`CREATE TYPE "antenna_src_enum" AS ENUM('home', 'all', 'users', 'list')`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" ALTER COLUMN "src" TYPE "antenna_src_enum" USING "src"::"text"::"antenna_src_enum"`, undefined);
- await queryRunner.query(`DROP TYPE "antenna_src_enum_old"`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TYPE "antenna_src_enum_old" AS ENUM('home', 'all', 'list')`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" ALTER COLUMN "src" TYPE "antenna_src_enum_old" USING "src"::"text"::"antenna_src_enum_old"`, undefined);
- await queryRunner.query(`DROP TYPE "antenna_src_enum"`, undefined);
- await queryRunner.query(`ALTER TYPE "antenna_src_enum_old" RENAME TO "antenna_src_enum"`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "caseSensitive"`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "users"`, undefined);
- }
-
-}
diff --git a/migration/1580148575182-v12-8.ts b/migration/1580148575182-v12-8.ts
deleted file mode 100644
index c63bdb4eb..000000000
--- a/migration/1580148575182-v12-8.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class v1281580148575182 implements MigrationInterface {
- name = 'v1281580148575182'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_ec5c201576192ba8904c345c5cc"`, undefined);
- await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "appId"`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "note" ADD "appId" character varying(32)`, undefined);
- await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_ec5c201576192ba8904c345c5cc" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE SET NULL ON UPDATE NO ACTION`, undefined);
- }
-
-}
diff --git a/migration/1580154400017-v12-9.ts b/migration/1580154400017-v12-9.ts
deleted file mode 100644
index de06d26e4..000000000
--- a/migration/1580154400017-v12-9.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class v1291580154400017 implements MigrationInterface {
- name = 'v1291580154400017'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "antenna" ADD "withReplies" boolean NOT NULL DEFAULT false`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "withReplies"`, undefined);
- }
-
-}
diff --git a/migration/1580276619901-v12-10.ts b/migration/1580276619901-v12-10.ts
deleted file mode 100644
index f48f42b4a..000000000
--- a/migration/1580276619901-v12-10.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class v12101580276619901 implements MigrationInterface {
- name = 'v12101580276619901'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`TRUNCATE TABLE "notification"`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "type"`, undefined);
- await queryRunner.query(`CREATE TYPE "notification_type_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted')`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ADD "type" "notification_type_enum" NOT NULL`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "type"`, undefined);
- await queryRunner.query(`DROP TYPE "notification_type_enum"`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ADD "type" character varying(32) NOT NULL`, undefined);
- }
-
-}
diff --git a/migration/1580331224276-v12-11.ts b/migration/1580331224276-v12-11.ts
deleted file mode 100644
index 30794b80e..000000000
--- a/migration/1580331224276-v12-11.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class v12111580331224276 implements MigrationInterface {
- name = 'v12111580331224276'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "isMarkedAsClosed"`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" ADD "isSuspended" boolean NOT NULL DEFAULT false`, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_34500da2e38ac393f7bb6b299c" ON "instance" ("isSuspended") `, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`DROP INDEX "IDX_34500da2e38ac393f7bb6b299c"`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "isSuspended"`, undefined);
- await queryRunner.query(`ALTER TABLE "instance" ADD "isMarkedAsClosed" boolean NOT NULL DEFAULT false`, undefined);
- }
-
-}
diff --git a/migration/1580508795118-v12-12.ts b/migration/1580508795118-v12-12.ts
deleted file mode 100644
index 99791b051..000000000
--- a/migration/1580508795118-v12-12.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class v12121580508795118 implements MigrationInterface {
- name = 'v12121580508795118'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "twitter"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "twitterAccessToken"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "twitterAccessTokenSecret"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "twitterUserId"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "twitterScreenName"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "github"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "githubAccessToken"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "githubId"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "githubLogin"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discord"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discordAccessToken"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discordRefreshToken"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discordExpiresDate"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discordId"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discordUsername"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "discordDiscriminator"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "integrations" jsonb NOT NULL DEFAULT '{}'`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "integrations"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "discordDiscriminator" character varying(64) DEFAULT NULL`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "discordUsername" character varying(64) DEFAULT NULL`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "discordId" character varying(64) DEFAULT NULL`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "discordExpiresDate" character varying(64)`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "discordRefreshToken" character varying(64) DEFAULT NULL`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "discordAccessToken" character varying(64) DEFAULT NULL`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "discord" boolean NOT NULL DEFAULT false`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "githubLogin" character varying(64) DEFAULT NULL`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "githubId" character varying(64)`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "githubAccessToken" character varying(64) DEFAULT NULL`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "github" boolean NOT NULL DEFAULT false`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "twitterScreenName" character varying(64) DEFAULT NULL`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "twitterUserId" character varying(64) DEFAULT NULL`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "twitterAccessTokenSecret" character varying(64) DEFAULT NULL`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "twitterAccessToken" character varying(64) DEFAULT NULL`, undefined);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "twitter" boolean NOT NULL DEFAULT false`, undefined);
- }
-
-}
diff --git a/migration/1580543501339-v12-13.ts b/migration/1580543501339-v12-13.ts
deleted file mode 100644
index 7f5d8b803..000000000
--- a/migration/1580543501339-v12-13.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class v12131580543501339 implements MigrationInterface {
- name = 'v12131580543501339'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE INDEX "IDX_NOTE_TAGS" ON "note" USING gin ("tags")`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`DROP INDEX "IDX_NOTE_TAGS"`, undefined);
- }
-
-}
diff --git a/migration/1580864313253-v12-14.ts b/migration/1580864313253-v12-14.ts
deleted file mode 100644
index 7bf38e5c6..000000000
--- a/migration/1580864313253-v12-14.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class v12141580864313253 implements MigrationInterface {
- name = 'v12141580864313253'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" RENAME COLUMN "proxyAccount" TO "proxyAccountId"`, undefined);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "proxyAccountId"`, undefined);
- await queryRunner.query(`ALTER TABLE "meta" ADD "proxyAccountId" character varying(32)`, undefined);
- await queryRunner.query(`ALTER TABLE "meta" ADD CONSTRAINT "FK_ab1bc0c1e209daa77b8e8d212ad" FOREIGN KEY ("proxyAccountId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" DROP CONSTRAINT "FK_ab1bc0c1e209daa77b8e8d212ad"`, undefined);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "proxyAccountId"`, undefined);
- await queryRunner.query(`ALTER TABLE "meta" ADD "proxyAccountId" character varying(128)`, undefined);
- await queryRunner.query(`ALTER TABLE "meta" RENAME COLUMN "proxyAccountId" TO "proxyAccount"`, undefined);
- }
-
-}
diff --git a/migration/1581526429287-user-group-invitation.ts b/migration/1581526429287-user-group-invitation.ts
deleted file mode 100644
index 26ea54e0b..000000000
--- a/migration/1581526429287-user-group-invitation.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class userGroupInvitation1581526429287 implements MigrationInterface {
- name = 'userGroupInvitation1581526429287'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TABLE "user_group_invitation" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "userGroupId" character varying(32) NOT NULL, CONSTRAINT "PK_160c63ec02bf23f6a5c5e8140d6" PRIMARY KEY ("id"))`, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_bfbc6305547539369fe73eb144" ON "user_group_invitation" ("userId") `, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_5cc8c468090e129857e9fecce5" ON "user_group_invitation" ("userGroupId") `, undefined);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_e9793f65f504e5a31fbaedbf2f" ON "user_group_invitation" ("userId", "userGroupId") `, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ADD "userGroupInvitationId" character varying(32)`, undefined);
- await queryRunner.query(`ALTER TYPE "public"."notification_type_enum" RENAME TO "notification_type_enum_old"`, undefined);
- await queryRunner.query(`CREATE TYPE "notification_type_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited')`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ALTER COLUMN "type" TYPE "notification_type_enum" USING "type"::"text"::"notification_type_enum"`, undefined);
- await queryRunner.query(`DROP TYPE "notification_type_enum_old"`, undefined);
- await queryRunner.query(`COMMENT ON COLUMN "notification"."type" IS 'The type of the Notification.'`, undefined);
- await queryRunner.query(`ALTER TABLE "user_group_invitation" ADD CONSTRAINT "FK_bfbc6305547539369fe73eb144a" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- await queryRunner.query(`ALTER TABLE "user_group_invitation" ADD CONSTRAINT "FK_5cc8c468090e129857e9fecce5a" FOREIGN KEY ("userGroupId") REFERENCES "user_group"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_8fe87814e978053a53b1beb7e98" FOREIGN KEY ("userGroupInvitationId") REFERENCES "user_group_invitation"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_8fe87814e978053a53b1beb7e98"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_group_invitation" DROP CONSTRAINT "FK_5cc8c468090e129857e9fecce5a"`, undefined);
- await queryRunner.query(`ALTER TABLE "user_group_invitation" DROP CONSTRAINT "FK_bfbc6305547539369fe73eb144a"`, undefined);
- await queryRunner.query(`COMMENT ON COLUMN "notification"."type" IS ''`, undefined);
- await queryRunner.query(`CREATE TYPE "notification_type_enum_old" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted')`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ALTER COLUMN "type" TYPE "notification_type_enum_old" USING "type"::"text"::"notification_type_enum_old"`, undefined);
- await queryRunner.query(`DROP TYPE "notification_type_enum"`, undefined);
- await queryRunner.query(`ALTER TYPE "notification_type_enum_old" RENAME TO "notification_type_enum"`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "userGroupInvitationId"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_e9793f65f504e5a31fbaedbf2f"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_5cc8c468090e129857e9fecce5"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_bfbc6305547539369fe73eb144"`, undefined);
- await queryRunner.query(`DROP TABLE "user_group_invitation"`, undefined);
- }
-
-}
diff --git a/migration/1581695816408-user-group-antenna.ts b/migration/1581695816408-user-group-antenna.ts
deleted file mode 100644
index 15eb2fe11..000000000
--- a/migration/1581695816408-user-group-antenna.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class userGroupAntenna1581695816408 implements MigrationInterface {
- name = 'userGroupAntenna1581695816408'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "antenna" ADD "userGroupJoiningId" character varying(32)`, undefined);
- await queryRunner.query(`ALTER TYPE "public"."antenna_src_enum" RENAME TO "antenna_src_enum_old"`, undefined);
- await queryRunner.query(`CREATE TYPE "antenna_src_enum" AS ENUM('home', 'all', 'users', 'list', 'group')`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" ALTER COLUMN "src" TYPE "antenna_src_enum" USING "src"::"text"::"antenna_src_enum"`, undefined);
- await queryRunner.query(`DROP TYPE "antenna_src_enum_old"`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "users"`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" ADD "users" character varying(1024) array NOT NULL DEFAULT '{}'::varchar[]`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" ADD CONSTRAINT "FK_ccbf5a8c0be4511133dcc50ddeb" FOREIGN KEY ("userGroupJoiningId") REFERENCES "user_group_joining"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "antenna" DROP CONSTRAINT "FK_ccbf5a8c0be4511133dcc50ddeb"`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "users"`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" ADD "users" character varying array NOT NULL DEFAULT '{}'`, undefined);
- await queryRunner.query(`CREATE TYPE "antenna_src_enum_old" AS ENUM('home', 'all', 'users', 'list')`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" ALTER COLUMN "src" TYPE "antenna_src_enum_old" USING "src"::"text"::"antenna_src_enum_old"`, undefined);
- await queryRunner.query(`DROP TYPE "antenna_src_enum"`, undefined);
- await queryRunner.query(`ALTER TYPE "antenna_src_enum_old" RENAME TO "antenna_src_enum"`, undefined);
- await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "userGroupJoiningId"`, undefined);
- }
-
-}
diff --git a/migration/1581708415836-drive-user-folder-id-index.ts b/migration/1581708415836-drive-user-folder-id-index.ts
deleted file mode 100644
index e7a7628ff..000000000
--- a/migration/1581708415836-drive-user-folder-id-index.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class driveUserFolderIdIndex1581708415836 implements MigrationInterface {
- name = 'driveUserFolderIdIndex1581708415836'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE INDEX "IDX_55720b33a61a7c806a8215b825" ON "drive_file" ("userId", "folderId", "id") `, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`DROP INDEX "IDX_55720b33a61a7c806a8215b825"`, undefined);
- }
-
-}
diff --git a/migration/1581979837262-promo.ts b/migration/1581979837262-promo.ts
deleted file mode 100644
index 2c4f25c4d..000000000
--- a/migration/1581979837262-promo.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class promo1581979837262 implements MigrationInterface {
- name = 'promo1581979837262'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TABLE "promo_note" ("noteId" character varying(32) NOT NULL, "expiresAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, CONSTRAINT "REL_e263909ca4fe5d57f8d4230dd5" UNIQUE ("noteId"), CONSTRAINT "PK_e263909ca4fe5d57f8d4230dd5c" PRIMARY KEY ("noteId"))`, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_83f0862e9bae44af52ced7099e" ON "promo_note" ("userId") `, undefined);
- await queryRunner.query(`CREATE TABLE "promo_read" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, CONSTRAINT "PK_61917c1541002422b703318b7c9" PRIMARY KEY ("id"))`, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_9657d55550c3d37bfafaf7d4b0" ON "promo_read" ("userId") `, undefined);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_2882b8a1a07c7d281a98b6db16" ON "promo_read" ("userId", "noteId") `, undefined);
- await queryRunner.query(`ALTER TABLE "promo_note" ADD CONSTRAINT "FK_e263909ca4fe5d57f8d4230dd5c" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- await queryRunner.query(`ALTER TABLE "promo_read" ADD CONSTRAINT "FK_9657d55550c3d37bfafaf7d4b05" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- await queryRunner.query(`ALTER TABLE "promo_read" ADD CONSTRAINT "FK_a46a1a603ecee695d7db26da5f4" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "promo_read" DROP CONSTRAINT "FK_a46a1a603ecee695d7db26da5f4"`, undefined);
- await queryRunner.query(`ALTER TABLE "promo_read" DROP CONSTRAINT "FK_9657d55550c3d37bfafaf7d4b05"`, undefined);
- await queryRunner.query(`ALTER TABLE "promo_note" DROP CONSTRAINT "FK_e263909ca4fe5d57f8d4230dd5c"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_2882b8a1a07c7d281a98b6db16"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_9657d55550c3d37bfafaf7d4b0"`, undefined);
- await queryRunner.query(`DROP TABLE "promo_read"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_83f0862e9bae44af52ced7099e"`, undefined);
- await queryRunner.query(`DROP TABLE "promo_note"`, undefined);
- }
-
-}
diff --git a/migration/1582019042083-featured-injecttion.ts b/migration/1582019042083-featured-injecttion.ts
deleted file mode 100644
index 9c8498997..000000000
--- a/migration/1582019042083-featured-injecttion.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class featuredInjecttion1582019042083 implements MigrationInterface {
- name = 'featuredInjecttion1582019042083'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "injectFeaturedNote" boolean NOT NULL DEFAULT true`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "injectFeaturedNote"`, undefined);
- }
-
-}
diff --git a/migration/1582210532752-antenna-exclude.ts b/migration/1582210532752-antenna-exclude.ts
deleted file mode 100644
index bff47a3ec..000000000
--- a/migration/1582210532752-antenna-exclude.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class antennaExclude1582210532752 implements MigrationInterface {
- name = 'antennaExclude1582210532752'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "antenna" ADD "excludeKeywords" jsonb NOT NULL DEFAULT '[]'`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "antenna" DROP COLUMN "excludeKeywords"`, undefined);
- }
-
-}
diff --git a/migration/1582875306439-note-reaction-length.ts b/migration/1582875306439-note-reaction-length.ts
deleted file mode 100644
index b9af61eb0..000000000
--- a/migration/1582875306439-note-reaction-length.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class noteReactionLength1582875306439 implements MigrationInterface {
- name = 'noteReactionLength1582875306439'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(130)`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(128)`, undefined);
- }
-
-}
diff --git a/migration/1585361548360-miauth.ts b/migration/1585361548360-miauth.ts
deleted file mode 100644
index 22d6c207f..000000000
--- a/migration/1585361548360-miauth.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class miauth1585361548360 implements MigrationInterface {
- name = 'miauth1585361548360'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "access_token" ADD "lastUsedAt" TIMESTAMP WITH TIME ZONE DEFAULT null`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" ADD "session" character varying(128) DEFAULT null`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" ADD "name" character varying(128) DEFAULT null`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" ADD "description" character varying(512) DEFAULT null`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" ADD "iconUrl" character varying(512) DEFAULT null`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" ADD "permission" character varying(64) array NOT NULL DEFAULT '{}'::varchar[]`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" ADD "fetched" boolean NOT NULL DEFAULT false`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" DROP CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560"`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" ALTER COLUMN "appId" DROP NOT NULL`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" ALTER COLUMN "appId" SET DEFAULT null`, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_bf3a053c07d9fb5d87317c56ee" ON "access_token" ("session") `, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" ADD CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "access_token" DROP CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_bf3a053c07d9fb5d87317c56ee"`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" ALTER COLUMN "appId" DROP DEFAULT`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" ALTER COLUMN "appId" SET NOT NULL`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" ADD CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "fetched"`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "permission"`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "iconUrl"`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "description"`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "name"`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "session"`, undefined);
- await queryRunner.query(`ALTER TABLE "access_token" DROP COLUMN "lastUsedAt"`, undefined);
- }
-
-}
diff --git a/migration/1585385921215-custom-notification.ts b/migration/1585385921215-custom-notification.ts
deleted file mode 100644
index 24c29d53e..000000000
--- a/migration/1585385921215-custom-notification.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class customNotification1585385921215 implements MigrationInterface {
- name = 'customNotification1585385921215'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "notification" ADD "customBody" character varying(2048)`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ADD "customHeader" character varying(256)`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ADD "customIcon" character varying(1024)`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ADD "appAccessTokenId" character varying(32)`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710"`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ALTER COLUMN "notifierId" DROP NOT NULL`, undefined);
- await queryRunner.query(`COMMENT ON COLUMN "notification"."notifierId" IS 'The ID of sender user of the Notification.'`, undefined);
- await queryRunner.query(`ALTER TYPE "public"."notification_type_enum" RENAME TO "notification_type_enum_old"`, undefined);
- await queryRunner.query(`CREATE TYPE "notification_type_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app')`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ALTER COLUMN "type" TYPE "notification_type_enum" USING "type"::"text"::"notification_type_enum"`, undefined);
- await queryRunner.query(`DROP TYPE "notification_type_enum_old"`, undefined);
- await queryRunner.query(`COMMENT ON COLUMN "notification"."type" IS 'The type of the Notification.'`, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_3b4e96eec8d36a8bbb9d02aa71" ON "notification" ("notifierId") `, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_33f33cc8ef29d805a97ff4628b" ON "notification" ("type") `, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_080ab397c379af09b9d2169e5b" ON "notification" ("isRead") `, undefined);
- await queryRunner.query(`CREATE INDEX "IDX_e22bf6bda77b6adc1fd9e75c8c" ON "notification" ("appAccessTokenId") `, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710" FOREIGN KEY ("notifierId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_e22bf6bda77b6adc1fd9e75c8c9" FOREIGN KEY ("appAccessTokenId") REFERENCES "access_token"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_e22bf6bda77b6adc1fd9e75c8c9"`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" DROP CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_e22bf6bda77b6adc1fd9e75c8c"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_080ab397c379af09b9d2169e5b"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_33f33cc8ef29d805a97ff4628b"`, undefined);
- await queryRunner.query(`DROP INDEX "IDX_3b4e96eec8d36a8bbb9d02aa71"`, undefined);
- await queryRunner.query(`COMMENT ON COLUMN "notification"."type" IS ''`, undefined);
- await queryRunner.query(`CREATE TYPE "notification_type_enum_old" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited')`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ALTER COLUMN "type" TYPE "notification_type_enum_old" USING "type"::"text"::"notification_type_enum_old"`, undefined);
- await queryRunner.query(`DROP TYPE "notification_type_enum"`, undefined);
- await queryRunner.query(`ALTER TYPE "notification_type_enum_old" RENAME TO "notification_type_enum"`, undefined);
- await queryRunner.query(`COMMENT ON COLUMN "notification"."notifierId" IS ''`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ALTER COLUMN "notifierId" SET NOT NULL`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710" FOREIGN KEY ("notifierId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "appAccessTokenId"`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "customIcon"`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "customHeader"`, undefined);
- await queryRunner.query(`ALTER TABLE "notification" DROP COLUMN "customBody"`, undefined);
- }
-
-}
diff --git a/migration/1585772678853-ap-url.ts b/migration/1585772678853-ap-url.ts
deleted file mode 100644
index 622d09727..000000000
--- a/migration/1585772678853-ap-url.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-/* tslint:disable:quotemark class-name indent */
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class apUrl1585772678853 implements MigrationInterface {
- name = 'apUrl1585772678853'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "note" ADD "url" character varying(512)`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "url"`, undefined);
- }
-
-}
diff --git a/migration/1586624197029-AddObjectStorageUseProxy.ts b/migration/1586624197029-AddObjectStorageUseProxy.ts
deleted file mode 100644
index deadf9483..000000000
--- a/migration/1586624197029-AddObjectStorageUseProxy.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from 'typeorm';
-
-export class AddObjectStorageUseProxy1586624197029 implements MigrationInterface {
- name = 'AddObjectStorageUseProxy1586624197029'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageUseProxy" boolean NOT NULL DEFAULT true`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageUseProxy"`, undefined);
- }
-
-}
diff --git a/migration/1586641139527-remote-reaction.ts b/migration/1586641139527-remote-reaction.ts
deleted file mode 100644
index 5a7fb36e3..000000000
--- a/migration/1586641139527-remote-reaction.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class remoteReaction1586641139527 implements MigrationInterface {
- name = 'remoteReaction1586641139527'
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(260)`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "note_reaction" ALTER COLUMN "reaction" TYPE character varying(130)`, undefined);
- }
-}
diff --git a/migration/1586708940386-pageAiScript.ts b/migration/1586708940386-pageAiScript.ts
deleted file mode 100644
index fdd6e76b9..000000000
--- a/migration/1586708940386-pageAiScript.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class pageAiScript1586708940386 implements MigrationInterface {
- name = 'pageAiScript1586708940386'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "page" ADD "script" character varying(16384) NOT NULL DEFAULT ''`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "script"`, undefined);
- }
-
-}
diff --git a/migration/1588044505511-hCaptcha.ts b/migration/1588044505511-hCaptcha.ts
deleted file mode 100644
index a3f4e9367..000000000
--- a/migration/1588044505511-hCaptcha.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class hCaptcha1588044505511 implements MigrationInterface {
- name = 'hCaptcha1588044505511'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" ADD "enableHcaptcha" boolean NOT NULL DEFAULT false`, undefined);
- await queryRunner.query(`ALTER TABLE "meta" ADD "hcaptchaSiteKey" character varying(64)`, undefined);
- await queryRunner.query(`ALTER TABLE "meta" ADD "hcaptchaSecretKey" character varying(64)`, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "hcaptchaSecretKey"`, undefined);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "hcaptchaSiteKey"`, undefined);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableHcaptcha"`, undefined);
- }
-
-}
diff --git a/migration/1589023282116-pubRelay.ts b/migration/1589023282116-pubRelay.ts
deleted file mode 100644
index 3b9d35991..000000000
--- a/migration/1589023282116-pubRelay.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class pubRelay1589023282116 implements MigrationInterface {
- name = 'pubRelay1589023282116'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TYPE "relay_status_enum" AS ENUM('requesting', 'accepted', 'rejected')`, undefined);
- await queryRunner.query(`CREATE TABLE "relay" ("id" character varying(32) NOT NULL, "inbox" character varying(512) NOT NULL, "status" "relay_status_enum" NOT NULL, CONSTRAINT "PK_78ebc9cfddf4292633b7ba57aee" PRIMARY KEY ("id"))`, undefined);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_0d9a1738f2cf7f3b1c3334dfab" ON "relay" ("inbox") `, undefined);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`DROP INDEX "IDX_0d9a1738f2cf7f3b1c3334dfab"`, undefined);
- await queryRunner.query(`DROP TABLE "relay"`, undefined);
- await queryRunner.query(`DROP TYPE "relay_status_enum"`, undefined);
- }
-
-}
diff --git a/migration/1595075960584-blurhash.ts b/migration/1595075960584-blurhash.ts
deleted file mode 100644
index 7c716ae17..000000000
--- a/migration/1595075960584-blurhash.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class blurhash1595075960584 implements MigrationInterface {
- name = 'blurhash1595075960584'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "drive_file" ADD "blurhash" character varying(128)`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "drive_file" DROP COLUMN "blurhash"`);
- }
-
-}
diff --git a/migration/1595077605646-blurhash-for-avatar-banner.ts b/migration/1595077605646-blurhash-for-avatar-banner.ts
deleted file mode 100644
index fcf161c35..000000000
--- a/migration/1595077605646-blurhash-for-avatar-banner.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class blurhashForAvatarBanner1595077605646 implements MigrationInterface {
- name = 'blurhashForAvatarBanner1595077605646'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "avatarColor"`);
- await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "bannerColor"`);
- await queryRunner.query(`ALTER TABLE "user" ADD "avatarBlurhash" character varying(128)`);
- await queryRunner.query(`ALTER TABLE "user" ADD "bannerBlurhash" character varying(128)`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "bannerBlurhash"`);
- await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "avatarBlurhash"`);
- await queryRunner.query(`ALTER TABLE "user" ADD "bannerColor" character varying(32)`);
- await queryRunner.query(`ALTER TABLE "user" ADD "avatarColor" character varying(32)`);
- }
-
-}
diff --git a/migration/1595676934834-instance-icon-url.ts b/migration/1595676934834-instance-icon-url.ts
deleted file mode 100644
index c75370f17..000000000
--- a/migration/1595676934834-instance-icon-url.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class instanceIconUrl1595676934834 implements MigrationInterface {
- name = 'instanceIconUrl1595676934834'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "instance" ADD "iconUrl" character varying(256) DEFAULT null`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "iconUrl"`);
- }
-
-}
diff --git a/migration/1595771249699-word-mute.ts b/migration/1595771249699-word-mute.ts
deleted file mode 100644
index 1a9114d92..000000000
--- a/migration/1595771249699-word-mute.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class wordMute1595771249699 implements MigrationInterface {
- name = 'wordMute1595771249699'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TABLE "muted_note" ("id" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, CONSTRAINT "PK_897e2eff1c0b9b64e55ca1418a4" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_70ab9786313d78e4201d81cdb8" ON "muted_note" ("noteId") `);
- await queryRunner.query(`CREATE INDEX "IDX_d8e07aa18c2d64e86201601aec" ON "muted_note" ("userId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_a8c6bfd637d3f1d67a27c48e27" ON "muted_note" ("noteId", "userId") `);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "enableWordMute" boolean NOT NULL DEFAULT false`);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "mutedWords" jsonb NOT NULL DEFAULT '[]'`);
- await queryRunner.query(`CREATE INDEX "IDX_3befe6f999c86aff06eb0257b4" ON "user_profile" ("enableWordMute") `);
- await queryRunner.query(`ALTER TABLE "muted_note" ADD CONSTRAINT "FK_70ab9786313d78e4201d81cdb89" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "muted_note" ADD CONSTRAINT "FK_d8e07aa18c2d64e86201601aec1" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "muted_note" DROP CONSTRAINT "FK_d8e07aa18c2d64e86201601aec1"`);
- await queryRunner.query(`ALTER TABLE "muted_note" DROP CONSTRAINT "FK_70ab9786313d78e4201d81cdb89"`);
- await queryRunner.query(`DROP INDEX "IDX_3befe6f999c86aff06eb0257b4"`);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "mutedWords"`);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "enableWordMute"`);
- await queryRunner.query(`DROP INDEX "IDX_a8c6bfd637d3f1d67a27c48e27"`);
- await queryRunner.query(`DROP INDEX "IDX_d8e07aa18c2d64e86201601aec"`);
- await queryRunner.query(`DROP INDEX "IDX_70ab9786313d78e4201d81cdb8"`);
- await queryRunner.query(`DROP TABLE "muted_note"`);
- }
-
-}
diff --git a/migration/1595782306083-word-mute2.ts b/migration/1595782306083-word-mute2.ts
deleted file mode 100644
index d68c12740..000000000
--- a/migration/1595782306083-word-mute2.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class wordMute21595782306083 implements MigrationInterface {
- name = 'wordMute21595782306083'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TYPE "muted_note_reason_enum" AS ENUM('word', 'manual', 'spam', 'other')`);
- await queryRunner.query(`ALTER TABLE "muted_note" ADD "reason" "muted_note_reason_enum" NOT NULL`);
- await queryRunner.query(`CREATE INDEX "IDX_636e977ff90b23676fb5624b25" ON "muted_note" ("reason") `);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`DROP INDEX "IDX_636e977ff90b23676fb5624b25"`);
- await queryRunner.query(`ALTER TABLE "muted_note" DROP COLUMN "reason"`);
- await queryRunner.query(`DROP TYPE "muted_note_reason_enum"`);
- }
-
-}
diff --git a/migration/1596548170836-channel.ts b/migration/1596548170836-channel.ts
deleted file mode 100644
index 4e3ebb330..000000000
--- a/migration/1596548170836-channel.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class channel1596548170836 implements MigrationInterface {
- name = 'channel1596548170836'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TABLE "channel" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "lastNotedAt" TIMESTAMP WITH TIME ZONE, "userId" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, "description" character varying(2048), "bannerId" character varying(32), "notesCount" integer NOT NULL DEFAULT 0, "usersCount" integer NOT NULL DEFAULT 0, CONSTRAINT "PK_590f33ee6ee7d76437acf362e39" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_71cb7b435b7c0d4843317e7e16" ON "channel" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_29ef80c6f13bcea998447fce43" ON "channel" ("lastNotedAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_823bae55bd81b3be6e05cff438" ON "channel" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_0f58c11241e649d2a638a8de94" ON "channel" ("notesCount") `);
- await queryRunner.query(`CREATE INDEX "IDX_094b86cd36bb805d1aa1e8cc9a" ON "channel" ("usersCount") `);
- await queryRunner.query(`CREATE TABLE "channel_following" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "followeeId" character varying(32) NOT NULL, "followerId" character varying(32) NOT NULL, CONSTRAINT "PK_8b104be7f7415113f2a02cd5bdd" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_11e71f2511589dcc8a4d3214f9" ON "channel_following" ("createdAt") `);
- await queryRunner.query(`CREATE INDEX "IDX_0e43068c3f92cab197c3d3cd86" ON "channel_following" ("followeeId") `);
- await queryRunner.query(`CREATE INDEX "IDX_6d8084ec9496e7334a4602707e" ON "channel_following" ("followerId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_2e230dd45a10e671d781d99f3e" ON "channel_following" ("followerId", "followeeId") `);
- await queryRunner.query(`CREATE TABLE "channel_note_pining" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "channelId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, CONSTRAINT "PK_44f7474496bcf2e4b741681146d" PRIMARY KEY ("id"))`);
- await queryRunner.query(`CREATE INDEX "IDX_8125f950afd3093acb10d2db8a" ON "channel_note_pining" ("channelId") `);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_f36fed37d6d4cdcc68c803cd9c" ON "channel_note_pining" ("channelId", "noteId") `);
- await queryRunner.query(`ALTER TABLE "note" ADD "channelId" character varying(32) DEFAULT null`);
- await queryRunner.query(`CREATE INDEX "IDX_f22169eb10657bded6d875ac8f" ON "note" ("channelId") `);
- await queryRunner.query(`ALTER TABLE "channel" ADD CONSTRAINT "FK_823bae55bd81b3be6e05cff4383" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "channel" ADD CONSTRAINT "FK_999da2bcc7efadbfe0e92d3bc19" FOREIGN KEY ("bannerId") REFERENCES "drive_file"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_f22169eb10657bded6d875ac8f9" FOREIGN KEY ("channelId") REFERENCES "channel"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "channel_following" ADD CONSTRAINT "FK_0e43068c3f92cab197c3d3cd86e" FOREIGN KEY ("followeeId") REFERENCES "channel"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "channel_following" ADD CONSTRAINT "FK_6d8084ec9496e7334a4602707e1" FOREIGN KEY ("followerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "channel_note_pining" ADD CONSTRAINT "FK_8125f950afd3093acb10d2db8a8" FOREIGN KEY ("channelId") REFERENCES "channel"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- await queryRunner.query(`ALTER TABLE "channel_note_pining" ADD CONSTRAINT "FK_10b19ef67d297ea9de325cd4502" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "channel_note_pining" DROP CONSTRAINT "FK_10b19ef67d297ea9de325cd4502"`);
- await queryRunner.query(`ALTER TABLE "channel_note_pining" DROP CONSTRAINT "FK_8125f950afd3093acb10d2db8a8"`);
- await queryRunner.query(`ALTER TABLE "channel_following" DROP CONSTRAINT "FK_6d8084ec9496e7334a4602707e1"`);
- await queryRunner.query(`ALTER TABLE "channel_following" DROP CONSTRAINT "FK_0e43068c3f92cab197c3d3cd86e"`);
- await queryRunner.query(`ALTER TABLE "note" DROP CONSTRAINT "FK_f22169eb10657bded6d875ac8f9"`);
- await queryRunner.query(`ALTER TABLE "channel" DROP CONSTRAINT "FK_999da2bcc7efadbfe0e92d3bc19"`);
- await queryRunner.query(`ALTER TABLE "channel" DROP CONSTRAINT "FK_823bae55bd81b3be6e05cff4383"`);
- await queryRunner.query(`DROP INDEX "IDX_f22169eb10657bded6d875ac8f"`);
- await queryRunner.query(`ALTER TABLE "note" DROP COLUMN "channelId"`);
- await queryRunner.query(`DROP INDEX "IDX_f36fed37d6d4cdcc68c803cd9c"`);
- await queryRunner.query(`DROP INDEX "IDX_8125f950afd3093acb10d2db8a"`);
- await queryRunner.query(`DROP TABLE "channel_note_pining"`);
- await queryRunner.query(`DROP INDEX "IDX_2e230dd45a10e671d781d99f3e"`);
- await queryRunner.query(`DROP INDEX "IDX_6d8084ec9496e7334a4602707e"`);
- await queryRunner.query(`DROP INDEX "IDX_0e43068c3f92cab197c3d3cd86"`);
- await queryRunner.query(`DROP INDEX "IDX_11e71f2511589dcc8a4d3214f9"`);
- await queryRunner.query(`DROP TABLE "channel_following"`);
- await queryRunner.query(`DROP INDEX "IDX_094b86cd36bb805d1aa1e8cc9a"`);
- await queryRunner.query(`DROP INDEX "IDX_0f58c11241e649d2a638a8de94"`);
- await queryRunner.query(`DROP INDEX "IDX_823bae55bd81b3be6e05cff438"`);
- await queryRunner.query(`DROP INDEX "IDX_29ef80c6f13bcea998447fce43"`);
- await queryRunner.query(`DROP INDEX "IDX_71cb7b435b7c0d4843317e7e16"`);
- await queryRunner.query(`DROP TABLE "channel"`);
- }
-
-}
diff --git a/migration/1596786425167-channel2.ts b/migration/1596786425167-channel2.ts
deleted file mode 100644
index 0233f7ab0..000000000
--- a/migration/1596786425167-channel2.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class channel21596786425167 implements MigrationInterface {
- name = 'channel21596786425167'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "channel_following" ADD "readCursor" TIMESTAMP WITH TIME ZONE NOT NULL`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "channel_following" DROP COLUMN "readCursor"`);
- }
-
-}
diff --git a/migration/1597230137744-objectStorageSetPublicRead.ts b/migration/1597230137744-objectStorageSetPublicRead.ts
deleted file mode 100644
index f040f2afd..000000000
--- a/migration/1597230137744-objectStorageSetPublicRead.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class objectStorageSetPublicRead1597230137744 implements MigrationInterface {
- name = 'objectStorageSetPublicRead1597230137744'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" ADD "objectStorageSetPublicRead" boolean NOT NULL DEFAULT false`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "objectStorageSetPublicRead"`);
- }
-
-}
diff --git a/migration/1597236229720-IncludingNotificationTypes.ts b/migration/1597236229720-IncludingNotificationTypes.ts
deleted file mode 100644
index be57824c0..000000000
--- a/migration/1597236229720-IncludingNotificationTypes.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class IncludingNotificationTypes1597236229720 implements MigrationInterface {
- name = 'IncludingNotificationTypes1597236229720'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TYPE "user_profile_includingnotificationtypes_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app')`);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "includingNotificationTypes" "user_profile_includingnotificationtypes_enum" array`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "includingNotificationTypes"`);
- await queryRunner.query(`DROP TYPE "user_profile_includingnotificationtypes_enum"`);
- }
-
-}
diff --git a/migration/1597385880794-add-sensitive-index.ts b/migration/1597385880794-add-sensitive-index.ts
deleted file mode 100644
index ff6251ac0..000000000
--- a/migration/1597385880794-add-sensitive-index.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class addSensitiveIndex1597385880794 implements MigrationInterface {
- name = 'addSensitiveIndex1597385880794'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE INDEX "IDX_a7eba67f8b3fa27271e85d2e26" ON "drive_file" ("isSensitive") `);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`DROP INDEX "IDX_a7eba67f8b3fa27271e85d2e26"`);
- }
-
-}
diff --git a/migration/1597459042300-channel-unread.ts b/migration/1597459042300-channel-unread.ts
deleted file mode 100644
index a0f862114..000000000
--- a/migration/1597459042300-channel-unread.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class channelUnread1597459042300 implements MigrationInterface {
- name = 'channelUnread1597459042300'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`TRUNCATE TABLE "note_unread"`, undefined);
- await queryRunner.query(`ALTER TABLE "channel_following" DROP COLUMN "readCursor"`);
- await queryRunner.query(`ALTER TABLE "note_unread" ADD "isMentioned" boolean NOT NULL`);
- await queryRunner.query(`ALTER TABLE "note_unread" ADD "noteChannelId" character varying(32)`);
- await queryRunner.query(`CREATE INDEX "IDX_25b1dd384bec391b07b74b861c" ON "note_unread" ("isMentioned") `);
- await queryRunner.query(`CREATE INDEX "IDX_89a29c9237b8c3b6b3cbb4cb30" ON "note_unread" ("isSpecified") `);
- await queryRunner.query(`CREATE INDEX "IDX_29e8c1d579af54d4232939f994" ON "note_unread" ("noteUserId") `);
- await queryRunner.query(`CREATE INDEX "IDX_6a57f051d82c6d4036c141e107" ON "note_unread" ("noteChannelId") `);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`DROP INDEX "IDX_6a57f051d82c6d4036c141e107"`);
- await queryRunner.query(`DROP INDEX "IDX_29e8c1d579af54d4232939f994"`);
- await queryRunner.query(`DROP INDEX "IDX_89a29c9237b8c3b6b3cbb4cb30"`);
- await queryRunner.query(`DROP INDEX "IDX_25b1dd384bec391b07b74b861c"`);
- await queryRunner.query(`ALTER TABLE "note_unread" DROP COLUMN "noteChannelId"`);
- await queryRunner.query(`ALTER TABLE "note_unread" DROP COLUMN "isMentioned"`);
- await queryRunner.query(`ALTER TABLE "channel_following" ADD "readCursor" TIMESTAMP WITH TIME ZONE NOT NULL`);
- }
-
-}
diff --git a/migration/1597893996136-ChannelNoteIdDescIndex.ts b/migration/1597893996136-ChannelNoteIdDescIndex.ts
deleted file mode 100644
index 6cbd865fc..000000000
--- a/migration/1597893996136-ChannelNoteIdDescIndex.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class ChannelNoteIdDescIndex1597893996136 implements MigrationInterface {
- name = 'ChannelNoteIdDescIndex1597893996136'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`DROP INDEX "IDX_f22169eb10657bded6d875ac8f"`);
- await queryRunner.query(`CREATE INDEX "IDX_note_on_channelId_and_id_desc" ON "note" ("channelId", "id" desc)`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`DROP INDEX "IDX_note_on_channelId_and_id_desc"`);
- await queryRunner.query(`CREATE INDEX "IDX_f22169eb10657bded6d875ac8f" ON "note" ("channelId") `);
- }
-
-}
diff --git a/migration/1600353287890-mutingNotificationTypes.ts b/migration/1600353287890-mutingNotificationTypes.ts
deleted file mode 100644
index 914bad8e3..000000000
--- a/migration/1600353287890-mutingNotificationTypes.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class mutingNotificationTypes1600353287890 implements MigrationInterface {
- name = 'mutingNotificationTypes1600353287890'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "includingNotificationTypes"`);
- await queryRunner.query(`DROP TYPE "public"."user_profile_includingnotificationtypes_enum"`);
- await queryRunner.query(`CREATE TYPE "user_profile_mutingnotificationtypes_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app')`);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "mutingNotificationTypes" "user_profile_mutingnotificationtypes_enum" array NOT NULL DEFAULT '{}'`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "mutingNotificationTypes"`);
- await queryRunner.query(`DROP TYPE "user_profile_mutingnotificationtypes_enum"`);
- await queryRunner.query(`CREATE TYPE "public"."user_profile_includingnotificationtypes_enum" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app')`);
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "includingNotificationTypes" "user_profile_includingnotificationtypes_enum" array`);
- }
-
-}
diff --git a/migration/1603094348345-refine-abuse-user-report.ts b/migration/1603094348345-refine-abuse-user-report.ts
deleted file mode 100644
index ce74a88d4..000000000
--- a/migration/1603094348345-refine-abuse-user-report.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class refineAbuseUserReport1603094348345 implements MigrationInterface {
- name = 'refineAbuseUserReport1603094348345'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP CONSTRAINT "FK_d049123c413e68ca52abe734203"`);
- await queryRunner.query(`DROP INDEX "IDX_d049123c413e68ca52abe73420"`);
- await queryRunner.query(`DROP INDEX "IDX_5cd442c3b2e74fdd99dae20243"`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" RENAME COLUMN "userId" TO "targetUserId"`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD "assigneeId" character varying(32)`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD "resolved" boolean NOT NULL DEFAULT false`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP COLUMN "comment"`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD "comment" character varying(2048) NOT NULL DEFAULT '{}'::varchar[]`);
- await queryRunner.query(`CREATE INDEX "IDX_2b15aaf4a0dc5be3499af7ab6a" ON "abuse_user_report" ("resolved") `);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD CONSTRAINT "FK_08b883dd5fdd6f9c4c1572b36de" FOREIGN KEY ("assigneeId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP CONSTRAINT "FK_08b883dd5fdd6f9c4c1572b36de"`);
- await queryRunner.query(`DROP INDEX "IDX_2b15aaf4a0dc5be3499af7ab6a"`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP COLUMN "comment"`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD "comment" character varying(512) NOT NULL DEFAULT '{}'::varchar[]`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP COLUMN "resolved"`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP COLUMN "assigneeId"`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" RENAME COLUMN "targetUserId" TO "userId"`);
- await queryRunner.query(`CREATE UNIQUE INDEX "IDX_5cd442c3b2e74fdd99dae20243" ON "abuse_user_report" ("userId", "reporterId") `);
- await queryRunner.query(`CREATE INDEX "IDX_d049123c413e68ca52abe73420" ON "abuse_user_report" ("userId") `);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD CONSTRAINT "FK_d049123c413e68ca52abe734203" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- }
-
-}
diff --git a/migration/1603095701770-refine-abuse-user-report2.ts b/migration/1603095701770-refine-abuse-user-report2.ts
deleted file mode 100644
index 18e0c05ac..000000000
--- a/migration/1603095701770-refine-abuse-user-report2.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class refineAbuseUserReport21603095701770 implements MigrationInterface {
- name = 'refineAbuseUserReport21603095701770'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD "targetUserHost" character varying(128)`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD "reporterHost" character varying(128)`);
- await queryRunner.query(`CREATE INDEX "IDX_4ebbf7f93cdc10e8d1ef2fc6cd" ON "abuse_user_report" ("targetUserHost") `);
- await queryRunner.query(`CREATE INDEX "IDX_f8d8b93740ad12c4ce8213a199" ON "abuse_user_report" ("reporterHost") `);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`DROP INDEX "IDX_f8d8b93740ad12c4ce8213a199"`);
- await queryRunner.query(`DROP INDEX "IDX_4ebbf7f93cdc10e8d1ef2fc6cd"`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP COLUMN "reporterHost"`);
- await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP COLUMN "targetUserHost"`);
- }
-
-}
diff --git a/migration/1603776877564-instance-theme-color.ts b/migration/1603776877564-instance-theme-color.ts
deleted file mode 100644
index 80c9d516f..000000000
--- a/migration/1603776877564-instance-theme-color.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class instanceThemeColor1603776877564 implements MigrationInterface {
- name = 'instanceThemeColor1603776877564'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "instance" ADD "themeColor" character varying(64) DEFAULT null`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "themeColor"`);
- }
-
-}
diff --git a/migration/1603781553011-instance-favicon.ts b/migration/1603781553011-instance-favicon.ts
deleted file mode 100644
index d748c43f5..000000000
--- a/migration/1603781553011-instance-favicon.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class instanceFavicon1603781553011 implements MigrationInterface {
- name = 'instanceFavicon1603781553011'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "instance" ADD "faviconUrl" character varying(256) DEFAULT null`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "instance" DROP COLUMN "faviconUrl"`);
- }
-
-}
diff --git a/migration/1604821689616-delete-auto-watch.ts b/migration/1604821689616-delete-auto-watch.ts
deleted file mode 100644
index e47a4cf1d..000000000
--- a/migration/1604821689616-delete-auto-watch.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class deleteAutoWatch1604821689616 implements MigrationInterface {
- name = 'deleteAutoWatch1604821689616'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "autoWatch"`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "autoWatch" boolean NOT NULL DEFAULT false`);
- }
-
-}
diff --git a/migration/1605408848373-clip-description.ts b/migration/1605408848373-clip-description.ts
deleted file mode 100644
index b352173e4..000000000
--- a/migration/1605408848373-clip-description.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class clipDescription1605408848373 implements MigrationInterface {
- name = 'clipDescription1605408848373'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "clip" ADD "description" character varying(2048) DEFAULT null`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
-
- await queryRunner.query(`ALTER TABLE "clip" DROP COLUMN "description"`);
- }
-
-}
diff --git a/migration/1605408971051-comments.ts b/migration/1605408971051-comments.ts
deleted file mode 100644
index c69ae29a9..000000000
--- a/migration/1605408971051-comments.ts
+++ /dev/null
@@ -1,434 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class comments1605408971051 implements MigrationInterface {
- name = 'comments1605408971051'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`COMMENT ON COLUMN "log"."createdAt" IS 'The created date of the Log.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_folder"."createdAt" IS 'The created date of the DriveFolder.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_folder"."name" IS 'The name of the DriveFolder.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_folder"."userId" IS 'The owner ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_folder"."parentId" IS 'The parent folder ID. If null, it means the DriveFolder is located in root.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."createdAt" IS 'The created date of the DriveFile.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."userId" IS 'The owner ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."userHost" IS 'The host of owner. It will be null if the user in local.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."md5" IS 'The MD5 hash of the DriveFile.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."name" IS 'The file name of the DriveFile.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."type" IS 'The content type (MIME) of the DriveFile.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."size" IS 'The file size (bytes) of the DriveFile.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."comment" IS 'The comment of the DriveFile.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."blurhash" IS 'The BlurHash string.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."properties" IS 'The any properties of the DriveFile. For example, it includes image width/height.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."url" IS 'The URL of the DriveFile.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."thumbnailUrl" IS 'The URL of the thumbnail of the DriveFile.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."webpublicUrl" IS 'The URL of the webpublic of the DriveFile.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."uri" IS 'The URI of the DriveFile. it will be null when the DriveFile is local.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."folderId" IS 'The parent folder ID. If null, it means the DriveFile is located in root.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."isSensitive" IS 'Whether the DriveFile is NSFW.'`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."isLink" IS 'Whether the DriveFile is direct link to remote server.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."createdAt" IS 'The created date of the User.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."updatedAt" IS 'The updated date of the User.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."username" IS 'The username of the User.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."usernameLower" IS 'The username (lowercased) of the User.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."name" IS 'The name of the User.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."followersCount" IS 'The count of followers.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."followingCount" IS 'The count of following.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."notesCount" IS 'The count of notes.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."avatarId" IS 'The ID of avatar DriveFile.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."bannerId" IS 'The ID of banner DriveFile.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isSuspended" IS 'Whether the User is suspended.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isSilenced" IS 'Whether the User is silenced.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isLocked" IS 'Whether the User is locked.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isBot" IS 'Whether the User is a bot.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isCat" IS 'Whether the User is a cat.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isAdmin" IS 'Whether the User is the admin.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isModerator" IS 'Whether the User is a moderator.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."host" IS 'The host of the User. It will be null if the origin of the user is local.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."inbox" IS 'The inbox URL of the User. It will be null if the origin of the user is local.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."sharedInbox" IS 'The sharedInbox URL of the User. It will be null if the origin of the user is local.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."featured" IS 'The featured URL of the User. It will be null if the origin of the user is local.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."uri" IS 'The URI of the User. It will be null if the origin of the user is local.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."token" IS 'The native access token of the User. It will be null if the origin of the user is local.'`);
- await queryRunner.query(`COMMENT ON COLUMN "app"."createdAt" IS 'The created date of the App.'`);
- await queryRunner.query(`COMMENT ON COLUMN "app"."userId" IS 'The owner ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "app"."secret" IS 'The secret key of the App.'`);
- await queryRunner.query(`COMMENT ON COLUMN "app"."name" IS 'The name of the App.'`);
- await queryRunner.query(`COMMENT ON COLUMN "app"."description" IS 'The description of the App.'`);
- await queryRunner.query(`COMMENT ON COLUMN "app"."permission" IS 'The permission of the App.'`);
- await queryRunner.query(`COMMENT ON COLUMN "app"."callbackUrl" IS 'The callbackUrl of the App.'`);
- await queryRunner.query(`COMMENT ON COLUMN "access_token"."createdAt" IS 'The created date of the AccessToken.'`);
- await queryRunner.query(`COMMENT ON COLUMN "access_token"."lastUsedAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "access_token"."session" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "access_token"."appId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "access_token"."name" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "access_token"."description" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "access_token"."iconUrl" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "channel"."createdAt" IS 'The created date of the Channel.'`);
- await queryRunner.query(`COMMENT ON COLUMN "channel"."userId" IS 'The owner ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "channel"."name" IS 'The name of the Channel.'`);
- await queryRunner.query(`COMMENT ON COLUMN "channel"."description" IS 'The description of the Channel.'`);
- await queryRunner.query(`COMMENT ON COLUMN "channel"."bannerId" IS 'The ID of banner Channel.'`);
- await queryRunner.query(`COMMENT ON COLUMN "channel"."notesCount" IS 'The count of notes.'`);
- await queryRunner.query(`COMMENT ON COLUMN "channel"."usersCount" IS 'The count of users.'`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."createdAt" IS 'The created date of the Note.'`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."replyId" IS 'The ID of reply target.'`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."renoteId" IS 'The ID of renote target.'`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."userId" IS 'The ID of author.'`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."uri" IS 'The URI of a note. it will be null when the note is local.'`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."url" IS 'The human readable url of a note. it will be null when the note is local.'`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."channelId" IS 'The ID of source channel.'`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."userHost" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."replyUserId" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."replyUserHost" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."renoteUserId" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."renoteUserHost" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "poll_vote"."createdAt" IS 'The created date of the PollVote.'`);
- await queryRunner.query(`COMMENT ON COLUMN "note_reaction"."createdAt" IS 'The created date of the NoteReaction.'`);
- await queryRunner.query(`COMMENT ON COLUMN "note_watching"."createdAt" IS 'The created date of the NoteWatching.'`);
- await queryRunner.query(`COMMENT ON COLUMN "note_watching"."userId" IS 'The watcher ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "note_watching"."noteId" IS 'The target Note ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "note_watching"."noteUserId" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "note_unread"."noteUserId" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "note_unread"."noteChannelId" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."createdAt" IS 'The created date of the FollowRequest.'`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followeeId" IS 'The followee user ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followerId" IS 'The follower user ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."requestId" IS 'id of Follow Activity.'`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followerHost" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followerInbox" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followerSharedInbox" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followeeHost" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followeeInbox" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followeeSharedInbox" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group"."createdAt" IS 'The created date of the UserGroup.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group"."userId" IS 'The ID of owner.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group_invitation"."createdAt" IS 'The created date of the UserGroupInvitation.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group_invitation"."userId" IS 'The user ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group_invitation"."userGroupId" IS 'The group ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "notification"."createdAt" IS 'The created date of the Notification.'`);
- await queryRunner.query(`COMMENT ON COLUMN "notification"."notifieeId" IS 'The ID of recipient user of the Notification.'`);
- await queryRunner.query(`COMMENT ON COLUMN "notification"."isRead" IS 'Whether the Notification is read.'`);
- await queryRunner.query(`COMMENT ON COLUMN "meta"."localDriveCapacityMb" IS 'Drive capacity of a local user (MB)'`);
- await queryRunner.query(`COMMENT ON COLUMN "meta"."remoteDriveCapacityMb" IS 'Drive capacity of a remote user (MB)'`);
- await queryRunner.query(`COMMENT ON COLUMN "meta"."maxNoteTextLength" IS 'Max allowed note text length in characters'`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."createdAt" IS 'The created date of the Following.'`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followeeId" IS 'The followee user ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followerId" IS 'The follower user ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followerHost" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followerInbox" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followerSharedInbox" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followeeHost" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followeeInbox" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followeeSharedInbox" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."caughtAt" IS 'The caught date of the Instance.'`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."host" IS 'The host of the Instance.'`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."usersCount" IS 'The count of the users of the Instance.'`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."notesCount" IS 'The count of the notes of the Instance.'`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."softwareName" IS 'The software of the Instance.'`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."softwareVersion" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."openRegistrations" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."name" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."description" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."maintainerName" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."maintainerEmail" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."iconUrl" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."faviconUrl" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."themeColor" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "muting"."createdAt" IS 'The created date of the Muting.'`);
- await queryRunner.query(`COMMENT ON COLUMN "muting"."muteeId" IS 'The mutee user ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "muting"."muterId" IS 'The muter user ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "blocking"."createdAt" IS 'The created date of the Blocking.'`);
- await queryRunner.query(`COMMENT ON COLUMN "blocking"."blockeeId" IS 'The blockee user ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "blocking"."blockerId" IS 'The blocker user ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_list"."createdAt" IS 'The created date of the UserList.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_list"."userId" IS 'The owner ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_list"."name" IS 'The name of the UserList.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_list_joining"."createdAt" IS 'The created date of the UserListJoining.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_list_joining"."userId" IS 'The user ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_list_joining"."userListId" IS 'The list ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group_joining"."createdAt" IS 'The created date of the UserGroupJoining.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group_joining"."userId" IS 'The user ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group_joining"."userGroupId" IS 'The group ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "note_favorite"."createdAt" IS 'The created date of the NoteFavorite.'`);
- await queryRunner.query(`COMMENT ON COLUMN "abuse_user_report"."createdAt" IS 'The created date of the AbuseUserReport.'`);
- await queryRunner.query(`COMMENT ON COLUMN "abuse_user_report"."targetUserHost" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "abuse_user_report"."reporterHost" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "messaging_message"."createdAt" IS 'The created date of the MessagingMessage.'`);
- await queryRunner.query(`COMMENT ON COLUMN "messaging_message"."userId" IS 'The sender user ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "messaging_message"."groupId" IS 'The recipient group ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "signin"."createdAt" IS 'The created date of the Signin.'`);
- await queryRunner.query(`COMMENT ON COLUMN "auth_session"."createdAt" IS 'The created date of the AuthSession.'`);
- await queryRunner.query(`COMMENT ON COLUMN "reversi_game"."createdAt" IS 'The created date of the ReversiGame.'`);
- await queryRunner.query(`COMMENT ON COLUMN "reversi_game"."startedAt" IS 'The started date of the ReversiGame.'`);
- await queryRunner.query(`COMMENT ON COLUMN "reversi_game"."form1" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "reversi_game"."form2" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "reversi_matching"."createdAt" IS 'The created date of the ReversiMatching.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_note_pining"."createdAt" IS 'The created date of the UserNotePinings.'`);
- await queryRunner.query(`COMMENT ON COLUMN "poll"."noteId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "poll"."noteVisibility" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "poll"."userId" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "poll"."userHost" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_keypair"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_publickey"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "page"."createdAt" IS 'The created date of the Page.'`);
- await queryRunner.query(`COMMENT ON COLUMN "page"."updatedAt" IS 'The updated date of the Page.'`);
- await queryRunner.query(`COMMENT ON COLUMN "page"."userId" IS 'The ID of author.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."location" IS 'The location of the User.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."birthday" IS 'The birthday (YYYY-MM-DD) of the User.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."description" IS 'The description (bio) of the User.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."url" IS 'Remote URL of the user.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."email" IS 'The email address of the User.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."password" IS 'The password hash of the User. It will be null if the origin of the user is local.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."clientData" IS 'The client-specific data of the User.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."room" IS 'The room data of the User.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."userHost" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_security_key"."id" IS 'Variable-length id given to navigator.credentials.get()'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_security_key"."publicKey" IS 'Variable-length public key used to verify attestations (hex-encoded).'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_security_key"."lastUsed" IS 'The date of the last time the UserSecurityKey was successfully validated.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_security_key"."name" IS 'User-defined name for this key'`);
- await queryRunner.query(`COMMENT ON COLUMN "attestation_challenge"."challenge" IS 'Hex-encoded sha256 hash of the challenge.'`);
- await queryRunner.query(`COMMENT ON COLUMN "attestation_challenge"."createdAt" IS 'The date challenge was created for expiry purposes.'`);
- await queryRunner.query(`COMMENT ON COLUMN "attestation_challenge"."registrationChallenge" IS 'Indicates that the challenge is only for registration purposes if true to prevent the challenge for being used as authentication.'`);
- await queryRunner.query(`COMMENT ON COLUMN "moderation_log"."createdAt" IS 'The created date of the ModerationLog.'`);
- await queryRunner.query(`COMMENT ON COLUMN "announcement"."createdAt" IS 'The created date of the Announcement.'`);
- await queryRunner.query(`COMMENT ON COLUMN "announcement"."updatedAt" IS 'The updated date of the Announcement.'`);
- await queryRunner.query(`COMMENT ON COLUMN "announcement_read"."createdAt" IS 'The created date of the AnnouncementRead.'`);
- await queryRunner.query(`COMMENT ON COLUMN "clip"."createdAt" IS 'The created date of the Clip.'`);
- await queryRunner.query(`COMMENT ON COLUMN "clip"."userId" IS 'The owner ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "clip"."name" IS 'The name of the Clip.'`);
- await queryRunner.query(`COMMENT ON COLUMN "clip"."description" IS 'The description of the Clip.'`);
- await queryRunner.query(`COMMENT ON COLUMN "clip_note"."noteId" IS 'The note ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "clip_note"."clipId" IS 'The clip ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "antenna"."createdAt" IS 'The created date of the Antenna.'`);
- await queryRunner.query(`COMMENT ON COLUMN "antenna"."userId" IS 'The owner ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "antenna"."name" IS 'The name of the Antenna.'`);
- await queryRunner.query(`COMMENT ON COLUMN "antenna_note"."noteId" IS 'The note ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "antenna_note"."antennaId" IS 'The antenna ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "promo_note"."noteId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "promo_note"."userId" IS '[Denormalized]'`);
- await queryRunner.query(`COMMENT ON COLUMN "promo_read"."createdAt" IS 'The created date of the PromoRead.'`);
- await queryRunner.query(`COMMENT ON COLUMN "muted_note"."noteId" IS 'The note ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "muted_note"."userId" IS 'The user ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "muted_note"."reason" IS 'The reason of the MutedNote.'`);
- await queryRunner.query(`COMMENT ON COLUMN "channel_following"."createdAt" IS 'The created date of the ChannelFollowing.'`);
- await queryRunner.query(`COMMENT ON COLUMN "channel_following"."followeeId" IS 'The followee channel ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "channel_following"."followerId" IS 'The follower user ID.'`);
- await queryRunner.query(`COMMENT ON COLUMN "channel_note_pining"."createdAt" IS 'The created date of the ChannelNotePining.'`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`COMMENT ON COLUMN "channel_note_pining"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "channel_following"."followerId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "channel_following"."followeeId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "channel_following"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "muted_note"."reason" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "muted_note"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "muted_note"."noteId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "promo_read"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "promo_note"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "promo_note"."noteId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "antenna_note"."antennaId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "antenna_note"."noteId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "antenna"."name" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "antenna"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "antenna"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "clip_note"."clipId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "clip_note"."noteId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "clip"."description" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "clip"."name" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "clip"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "clip"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "announcement_read"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "announcement"."updatedAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "announcement"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "moderation_log"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "attestation_challenge"."registrationChallenge" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "attestation_challenge"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "attestation_challenge"."challenge" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_security_key"."name" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_security_key"."lastUsed" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_security_key"."publicKey" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_security_key"."id" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."userHost" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."room" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."clientData" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."password" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."email" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."url" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."description" IS 'The description (bio) of the User.'`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."birthday" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."location" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "page"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "page"."updatedAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "page"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_publickey"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_keypair"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "poll"."userHost" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "poll"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "poll"."noteVisibility" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "poll"."noteId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_note_pining"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "reversi_matching"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "reversi_game"."form2" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "reversi_game"."form1" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "reversi_game"."startedAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "reversi_game"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "auth_session"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "signin"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "messaging_message"."groupId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "messaging_message"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "messaging_message"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "abuse_user_report"."reporterHost" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "abuse_user_report"."targetUserHost" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "abuse_user_report"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note_favorite"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group_joining"."userGroupId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group_joining"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group_joining"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_list_joining"."userListId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_list_joining"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_list_joining"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_list"."name" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_list"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_list"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "blocking"."blockerId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "blocking"."blockeeId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "blocking"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "muting"."muterId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "muting"."muteeId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "muting"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."themeColor" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."faviconUrl" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."iconUrl" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."maintainerEmail" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."maintainerName" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."description" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."name" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."openRegistrations" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."softwareVersion" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."softwareName" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."notesCount" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."usersCount" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."host" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "instance"."caughtAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followeeSharedInbox" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followeeInbox" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followeeHost" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followerSharedInbox" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followerInbox" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followerHost" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followerId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."followeeId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "following"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "meta"."maxNoteTextLength" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "meta"."remoteDriveCapacityMb" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "meta"."localDriveCapacityMb" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "notification"."isRead" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "notification"."notifieeId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "notification"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group_invitation"."userGroupId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group_invitation"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group_invitation"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user_group"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followeeSharedInbox" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followeeInbox" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followeeHost" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followerSharedInbox" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followerInbox" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followerHost" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."requestId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followerId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."followeeId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "follow_request"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note_unread"."noteChannelId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note_unread"."noteUserId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note_watching"."noteUserId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note_watching"."noteId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note_watching"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note_watching"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note_reaction"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "poll_vote"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."renoteUserHost" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."renoteUserId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."replyUserHost" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."replyUserId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."userHost" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."channelId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."url" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."uri" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."renoteId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."replyId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "note"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "channel"."usersCount" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "channel"."notesCount" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "channel"."bannerId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "channel"."description" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "channel"."name" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "channel"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "channel"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "access_token"."iconUrl" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "access_token"."description" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "access_token"."name" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "access_token"."appId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "access_token"."session" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "access_token"."lastUsedAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "access_token"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "app"."callbackUrl" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "app"."permission" IS 'The permission of the App.'`);
- await queryRunner.query(`COMMENT ON COLUMN "app"."description" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "app"."name" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "app"."secret" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "app"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "app"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."token" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."uri" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."featured" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."sharedInbox" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."inbox" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."host" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isModerator" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isAdmin" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isCat" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isBot" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isLocked" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isSilenced" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isSuspended" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."bannerId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."avatarId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."notesCount" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."followingCount" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."followersCount" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."name" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."usernameLower" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."username" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."updatedAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."isLink" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."isSensitive" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."folderId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."uri" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."webpublicUrl" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."thumbnailUrl" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."url" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."properties" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."blurhash" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."comment" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."size" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."type" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."name" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."md5" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."userHost" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_file"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_folder"."parentId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_folder"."userId" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_folder"."name" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "drive_folder"."createdAt" IS NULL`);
- await queryRunner.query(`COMMENT ON COLUMN "log"."createdAt" IS NULL`);
- }
-
-}
diff --git a/migration/1605585339718-instance-pinned-pages.ts b/migration/1605585339718-instance-pinned-pages.ts
deleted file mode 100644
index f59346130..000000000
--- a/migration/1605585339718-instance-pinned-pages.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class instancePinnedPages1605585339718 implements MigrationInterface {
- name = 'instancePinnedPages1605585339718'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedPages" character varying(512) array NOT NULL DEFAULT '{"/featured", "/channels", "/explore", "/pages", "/about-misskey"}'::varchar[]`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedPages"`);
- }
-
-}
diff --git a/migration/1605965516823-instance-images.ts b/migration/1605965516823-instance-images.ts
deleted file mode 100644
index bf8d40856..000000000
--- a/migration/1605965516823-instance-images.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class instanceImages1605965516823 implements MigrationInterface {
- name = 'instanceImages1605965516823'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" ADD "backgroundImageUrl" character varying(512)`);
- await queryRunner.query(`ALTER TABLE "meta" ADD "logoImageUrl" character varying(512)`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "logoImageUrl"`);
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "backgroundImageUrl"`);
- }
-
-}
diff --git a/migration/1606191203881-no-crawle.ts b/migration/1606191203881-no-crawle.ts
deleted file mode 100644
index accc8f8fe..000000000
--- a/migration/1606191203881-no-crawle.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class noCrawle1606191203881 implements MigrationInterface {
- name = 'noCrawle1606191203881'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user_profile" ADD "noCrawle" boolean NOT NULL DEFAULT false`);
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."noCrawle" IS 'Whether reject index by crawler.'`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`COMMENT ON COLUMN "user_profile"."noCrawle" IS 'Whether reject index by crawler.'`);
- await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "noCrawle"`);
- }
-
-}
diff --git a/migration/1607151207216-instance-pinned-clip.ts b/migration/1607151207216-instance-pinned-clip.ts
deleted file mode 100644
index 7e2c8b7de..000000000
--- a/migration/1607151207216-instance-pinned-clip.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class instancePinnedClip1607151207216 implements MigrationInterface {
- name = 'instancePinnedClip1607151207216'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" ADD "pinnedClipId" character varying(32)`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedClipId"`);
- }
-
-}
diff --git a/migration/1607353487793-isExplorable.ts b/migration/1607353487793-isExplorable.ts
deleted file mode 100644
index 034f8c384..000000000
--- a/migration/1607353487793-isExplorable.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class isExplorable1607353487793 implements MigrationInterface {
- name = 'isExplorable1607353487793'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "user" ADD "isExplorable" boolean NOT NULL DEFAULT true`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isExplorable" IS 'Whether the User is explorable.'`);
- await queryRunner.query(`CREATE INDEX "IDX_d5a1b83c7cab66f167e6888188" ON "user" ("isExplorable") `);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`DROP INDEX "IDX_d5a1b83c7cab66f167e6888188"`);
- await queryRunner.query(`COMMENT ON COLUMN "user"."isExplorable" IS 'Whether the User is explorable.'`);
- await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "isExplorable"`);
- }
-
-}
diff --git a/migration/1610277136869-registry.ts b/migration/1610277136869-registry.ts
deleted file mode 100644
index 46c8113c1..000000000
--- a/migration/1610277136869-registry.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class registry1610277136869 implements MigrationInterface {
- name = 'registry1610277136869'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`CREATE TABLE "registry_item" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "key" character varying(1024) NOT NULL, "scope" character varying(1024) array NOT NULL DEFAULT '{}'::varchar[], "domain" character varying(512), CONSTRAINT "PK_64b3f7e6008b4d89b826cd3af95" PRIMARY KEY ("id")); COMMENT ON COLUMN "registry_item"."createdAt" IS 'The created date of the RegistryItem.'; COMMENT ON COLUMN "registry_item"."updatedAt" IS 'The updated date of the RegistryItem.'; COMMENT ON COLUMN "registry_item"."userId" IS 'The owner ID.'; COMMENT ON COLUMN "registry_item"."key" IS 'The key of the RegistryItem.'`);
- await queryRunner.query(`CREATE INDEX "IDX_fb9d21ba0abb83223263df6bcb" ON "registry_item" ("userId") `);
- await queryRunner.query(`CREATE INDEX "IDX_22baca135bb8a3ea1a83d13df3" ON "registry_item" ("scope") `);
- await queryRunner.query(`CREATE INDEX "IDX_0a72bdfcdb97c0eca11fe7ecad" ON "registry_item" ("domain") `);
- await queryRunner.query(`ALTER TABLE "registry_item" ADD CONSTRAINT "FK_fb9d21ba0abb83223263df6bcb3" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "registry_item" DROP CONSTRAINT "FK_fb9d21ba0abb83223263df6bcb3"`);
- await queryRunner.query(`DROP INDEX "IDX_0a72bdfcdb97c0eca11fe7ecad"`);
- await queryRunner.query(`DROP INDEX "IDX_22baca135bb8a3ea1a83d13df3"`);
- await queryRunner.query(`DROP INDEX "IDX_fb9d21ba0abb83223263df6bcb"`);
- await queryRunner.query(`DROP TABLE "registry_item"`);
- }
-
-}
diff --git a/migration/1610277585759-registry2.ts b/migration/1610277585759-registry2.ts
deleted file mode 100644
index 2f2d80c48..000000000
--- a/migration/1610277585759-registry2.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class registry21610277585759 implements MigrationInterface {
- name = 'registry21610277585759'
-
- public async up(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`ALTER TABLE "registry_item" ADD "value" jsonb NOT NULL DEFAULT '{}'`);
- await queryRunner.query(`COMMENT ON COLUMN "registry_item"."value" IS 'The value of the RegistryItem.'`);
- }
-
- public async down(queryRunner: QueryRunner): Promise {
- await queryRunner.query(`COMMENT ON COLUMN "registry_item"."value" IS 'The value of the RegistryItem.'`);
- await queryRunner.query(`ALTER TABLE "registry_item" DROP COLUMN "value"`);
- }
-
-}
diff --git a/migration/1610283021566-registry3.ts b/migration/1610283021566-registry3.ts
deleted file mode 100644
index 61f235fb2..000000000
--- a/migration/1610283021566-registry3.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import {MigrationInterface, QueryRunner} from "typeorm";
-
-export class registry31610283021566 implements MigrationInterface {
- name = 'registry31610283021566'
-
- public async up(queryRunner: QueryRunner): Promise