Technically mitigates CVE-2023-2251, but users never input YAML to Calckey. Still, this does no harm, and it's a good idea to keep dependencies like these up-to-date, as js-yaml was last updated 2 years ago.
Also adds a new config example for use with the devenv scripts, as well
as a developer's guide for setting up the Nix environment. This could
also have steps for speific distros, such as what packages to install,
and specific notes.
The repost dialog is pretty cluttered, and the extra repeat icon next to the visibility icon seems to be a source of the clutter. This PR removes those icons next to the visibility icon, making it so that only the icon correlating to the visibility will show.
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/10015
Co-authored-by: Froggo <froggo@noreply.codeberg.org>
Co-committed-by: Froggo <froggo@noreply.codeberg.org>
This PR adds a feature to prevent users from creating a new account with a reserved username such as root, admin, system, proxy, info, etc...
Reserved usernames can be configured via the config file.
The administrator can create an account with a reserved username via the first setup screen or the control panel.
The existing account of reserved usernames will not be affected.
Co-authored-by: Namekuji <nmkj@mx.kazuno.co>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9917
Co-authored-by: Namekuji <nmkj@noreply.codeberg.org>
Co-committed-by: Namekuji <nmkj@noreply.codeberg.org>
Moved a lot of the duplicated code in the different note components into the SubNoteContent component
I've also replaced the detailed note stuff with just the MkNote component
Co-authored-by: Freeplay <Freeplay@duck.com>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9888
Co-authored-by: Free <freeplay@duck.com>
Co-committed-by: Free <freeplay@duck.com>
It looks like url validations are added in f7564d87b0, but I found another validation commit not applied in Calckey, so I cherry-picked 0da0cc80b9 from [Misskey](https://github.com/misskey-dev/misskey).
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Co-authored-by: naskya <m@naskya.net>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9882
Co-authored-by: naskya <naskya@noreply.codeberg.org>
Co-committed-by: naskya <naskya@noreply.codeberg.org>
I talked about feature #9865 on my fedi account and received a comment like, "I don't care about emoji reactions in my timelines, but I do care what reactions I get!"
Adding too many options is bad, but I agreed that making it toggleable whether to disable emojis in notifications is helpful, so I added this feature. This allows you to check emoji reactions to your posts in notifications while using the simple UI. I'd say this provides an experience that neither Mastodon nor Misskey has.
The new setting item shows up only when you disable emoji reactions.
Co-authored-by: naskya <m@naskya.net>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9880
Co-authored-by: naskya <naskya@noreply.codeberg.org>
Co-committed-by: naskya <naskya@noreply.codeberg.org>
This follows up #9869, with an awaited ``next()``, fixing the script.
> I'm looking to remove another 5kb package, replacing it with an in-house script. The commit i'm proposing translates the entire job of koa-remove-trailing-slashes into a 206 byte script that gets the job done well.
(just to show the code does work)
![](https://s3.kitsunes.club/storage/41c7854d-d01e-4f4c-94dd-8b651e2d7367.gif)
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9870
Co-authored-by: daikei <daikei@noreply.codeberg.org>
Co-committed-by: daikei <daikei@noreply.codeberg.org>
I'm looking to remove another 5kb package, replacing it with an in-house script. The commit i'm proposing translates the entire job of `koa-remove-trailing-slashes` into a 206 byte script that gets the job done well.
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9869
Co-authored-by: daikei <daikei@noreply.codeberg.org>
Co-committed-by: daikei <daikei@noreply.codeberg.org>
I think this will solve the continuation issue in threads where the reply level reaches 12 deep in the conversation thread, without getting to indent depth 5.
Co-authored-by: Kaity A <kaity@theallans.com.au>
Co-authored-by: Kaity A <supakaity@blahaj.zone>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9821
Co-authored-by: Kaity A <supakaity@noreply.codeberg.org>
Co-committed-by: Kaity A <supakaity@noreply.codeberg.org>
Related: #9816#9830
I was so careless that I didn't know "Search" was also a keyword. I disabled that and fixed a minor bug.
Co-authored-by: naskya <m@naskya.net>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9856
Co-authored-by: naskya <naskya@noreply.codeberg.org>
Co-committed-by: naskya <naskya@noreply.codeberg.org>
Honestly, this workaround is pure garbage when this can be achieved by deleting a small piece of code from mfm-js, but this closes#9816 anyway 😅
Co-authored-by: naskya <m@naskya.net>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9830
Co-authored-by: naskya <naskya@noreply.codeberg.org>
Co-committed-by: naskya <naskya@noreply.codeberg.org>
Cherry-picked from FoundKey/c414f24a2c ([commit](c414f24a2c))
This allows us to hide specified users' boosts from the timelines (the boosts will still be visible on their user page).
Co-authored-by: Hélène <pleroma-dev@helene.moe>
Co-authored-by: naskya <m@naskya.net>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9825
Co-authored-by: naskya <naskya@noreply.codeberg.org>
Co-committed-by: naskya <naskya@noreply.codeberg.org>
This simply adds a basic admin UI to blocklist some hashtags from displaying in
the trending widget. The facility existed already in the backend, but there was
no UI to manipulate the list save for executing raw SQL or API calls.
Closes#9712.
Co-authored-by: Kaity A <kaity@theallans.com.au>
Co-authored-by: Ken Allan <ken@norganna.com>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9820
Co-authored-by: Kaity A <supakaity@noreply.codeberg.org>
Co-committed-by: Kaity A <supakaity@noreply.codeberg.org>
Bad UX when a post is muted and it just says "Some chick said something". Now
provide some context too to help people decide if they want to view something
potentially triggering.
Because the admin meta information was never loaded on this page, no amount of toggling the block or suspend sliders on the instance-info page (e.g. `https://calckey.example.com/instance-info/instance.tld`) will result in the instance actually being added to the blocklist. You could still do it from the bulk blocklist management page, but that can get unwieldy quickly if you just want to do a quick block of an instance.
Co-authored-by: amy bones <amy@spookygirl.boo>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9809
Co-authored-by: amybones <amybones@noreply.codeberg.org>
Co-committed-by: amybones <amybones@noreply.codeberg.org>
Passwords will be automatically re-hashed on sign-in. All new password hashes will be argon2 by default. This uses argon2id and is not configurable. In the very unlikely case someone has more specific needs, a fork is recommended. ChangeLog: Added Co-authored-by: Chloe Kudryavtsev <code@toast.bunkerlabs.net>
Breaks Calckey -> Misskey migration, but fixes Foundkey -> Calckey migration
This uses [napi-rs](https://napi.rs/) to allow for automatic generation of node bindings for the native code.
I also changed the `isolatedModules` TS flag to false to allow for `static enum` to be shared across modules. It doesn't seem to be necessary for the build system that CK uses.
Currently this method does not work with ID generators with longer IDs. Likely the best solution is to add another key in the database.
Some benchmarks for 1 million conversions:
```
node, x1_000_000: 2.847s
rust, x1_000_000: 1.265s
```
There are still optimizations that can be made, but I think this is a good starting point and a good way to bring rust into the CK stack.
Co-authored-by: s1idewhist1e <trombonedude05@gmail.com>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9786
Co-authored-by: s1idewhist1e <s1idewhist1e@noreply.codeberg.org>
Co-committed-by: s1idewhist1e <s1idewhist1e@noreply.codeberg.org>
Sorry to create PR multiple times. I should have included this in #9778.
Co-authored-by: naskya <m@naskya.net>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9783
Co-authored-by: naskya <naskya@noreply.codeberg.org>
Co-committed-by: naskya <naskya@noreply.codeberg.org>
The Home timeline functionality is swapped with social's. Meaning that Home timeline now consists of followee's and local posts. Social from now on will contain only followee's posts. See more info in the attached ticket.
Some changes applied in english locales as well. Probably the rest of the languages need to be fixed though.
This PR closes the ticket: https://codeberg.org/calckey/calckey/issues/9552
Co-authored-by: yawhn <kordaris@gmail.com>
Co-authored-by: ThatOneCalculator <kainoa@t1c.dev>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9597
Co-authored-by: yawhn <yawhn@noreply.codeberg.org>
Co-committed-by: yawhn <yawhn@noreply.codeberg.org>
A change sometime ago moved to setting some signature fields in the incoming
object to undefined as opposed to deleting them. The trouble is that downstream
code checks against existence, not undefinedness and rejects the message.
Resolves: #9665
Increases the limit of the replies loaded above the focused post from 10 to 30
Co-authored-by: Freeplay <Freeplay@duck.com>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9742
Co-authored-by: Free <freeplay@duck.com>
Co-committed-by: Free <freeplay@duck.com>
Not sure if this is the best way to jump to the post
This also lets you select text w/out clicking to the post (and clicking normally on top of the text opens the post)
Co-authored-by: Freeplay <Freeplay@duck.com>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9734
Co-authored-by: Free <freeplay@duck.com>
Co-committed-by: Free <freeplay@duck.com>
This pull request adds support for the [sonic](https://github.com/valeriansaliou/sonic) full text indexing server into Calckey.
In addition to this, a stateful endpoint has been added that will completely (re-)index all notes into any (elasticsearch and/or sonic) indexing server defined in your config at `/api/admin/search/index-all`. It can (optionally) take input data to define the starting point, such as:
```
{"cursor": "9beg3lx6ad"}
```
Currently if both sonic and elasticsearch are defined in the config, sonic will take precedence for searching, but both indexes will continue to be updated for new note creations. Future enhancements may include the ability to choose which indexer to use (or combine multiple).
Co-authored-by: Kaitlyn Allan <kaitlyn.allan@enlabs.cloud>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9714
Co-authored-by: Kaity A <supakaity@noreply.codeberg.org>
Co-committed-by: Kaity A <supakaity@noreply.codeberg.org>
#9293
Not sure if this is the right approach for this
Co-authored-by: s1idewhist1e <trombonedude05@gmail.com>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9705
Co-authored-by: s1idewhist1e <s1idewhist1e@noreply.codeberg.org>
Co-committed-by: s1idewhist1e <s1idewhist1e@noreply.codeberg.org>
The `only_media` query parameter in `/api/v1/timelines/public` and
`/api/v1/timelines/tag/:hashtag` was previously passed directly as-is to
the Misskey API, which made it pretty upset because it was receiving a
string named 'true' instead of the value 'true'.
Needed for pleromaFE to display a timeline.
This fixes a 'Follows you' badge on a profile page and account addresses in threads from being drawn backwards when an account has some special Unicode characters that change the direction of text in their name (i.e. U+202E RIGHT-TO-LEFT OVERRIDE).
Co-authored-by: fruye <fruye@unix.dog>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9702
Co-authored-by: fruye <fruye@noreply.codeberg.org>
Co-committed-by: fruye <fruye@noreply.codeberg.org>
This PR contains new source for antenna posts, which is a list of instance hostnames to process all posts from.
Using this mode, a user can filter for keywords on an instance wide basis.
This change includes a new antenna source called `instances` and a new database column in the `antenna` table called `instances` to store the instance names.
On the antenna editor, there's also an "Add an instance" finder dialog to allow users to search through the known instance hostnames.
Co-authored-by: Kaity A <supakaity@blahaj.zone>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9604
Co-authored-by: Kaity A <supakaity@noreply.codeberg.org>
Co-committed-by: Kaity A <supakaity@noreply.codeberg.org>
This PR establishes a new replied note stream update for subscribed notes, which gets fired off whenever a note receives a reply and the user is subscribed to the note for updates.
It specifically does not provide note details as part of the update, just the note id of the reply, so that they must go and retrieve the note and be subject to the proper permission and visibility checks.
The detailed note component has then been updated to watch for the replied notification so it can add new replies to the thread as they are created.
This allows both seeing new replies while on the page, and also to see your own replies appear after you post them without having to reload the page.
This PR relies on https://codeberg.org/calckey/calckey.js/pulls/2 to add the replied type to the calkey.js module.
Co-authored-by: Kaity A <supakaity@blahaj.zone>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9606
Co-authored-by: Kaity A <supakaity@noreply.codeberg.org>
Co-committed-by: Kaity A <supakaity@noreply.codeberg.org>
This PR should kill #9531 - Safeguarding against posts that are made before 2007 (Identica being made in 2008, the 'first ever activitypub software' according to wikipedia.)
Personally, if gone unnoticed, I believe that notes from the past can be used as an attack vector to silently flood a database.
Co-authored-by: Kio-td <kio.thedev@gmail.com>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9605
Co-authored-by: daikei <daikei@noreply.codeberg.org>
Co-committed-by: daikei <daikei@noreply.codeberg.org>
This change moves many of the dependencies into devDependencies, by analyzing what is used in the runtime files. Additionally, NPM and apk cache are eliminated with multi-stage builds
Before creating an issue, please check the following:
- To avoid duplication, please search for similar issues before creating a new issue.
- Do not use Issues to ask questions or troubleshooting.
- Issues should only be used to feature requests, suggestions, and bug tracking.
- Please ask questions or troubleshooting in the [Matrix room](https://matrix.to/#/#calckey:matrix.fedibird.com).
> **Warning**
> Do not close issues that are about to be resolved. It should remain open until a commit that actually resolves it is merged.
## Before implementation
When you want to add a feature or fix a bug, **first have the design and policy reviewed in an Issue** (if it is not there, please make one). Without this step, there is a high possibility that the PR will not be merged even if it is implemented.
At this point, you also need to clarify the goals of the PR you will create, and make sure that the other members of the team are aware of them.
PRs that do not have a clear set of do's and don'ts tend to be bloated and difficult to review.
Also, when you start implementation, assign yourself to the Issue (if you cannot do it yourself, ask another member to assign you). By expressing your intention to work the Issue, you can prevent conflicts in the work.
## Well-known branches
- The **`main`** branch is tracking the latest release and used for production purposes.
- The **`develop`** branch is where we work for the next release.
- When you create a PR, basically target it to this branch. **But create a different branch**
- The **`l10n_develop`** branch is reserved for localization management.
- **`feature/*`** branches are reserved for the development of a specific feature
## Creating a PR
Thank you for your PR! Before creating a PR, please check the following:
- If possible, prefix the title with a keyword that identifies the type of this PR, as shown below.
- `fix` / `refactor` / `feat` / `enhance` / `perf` / `chore` etc. You are also welcome to use gitmoji. This is important as we use these to A) easier read the git history and B) generate our changelog. Without propper prefixing it is possible that your PR is rejected.
- Also, make sure that the granularity of this PR is appropriate. Please do not include more than one type of change or interest in a single PR.
- If there is an Issue which will be resolved by this PR, please include a reference to the Issue in the text. Good examples include `Closing: #21` or `Resolves: #21`
- Check if there are any documents that need to be created or updated due to this change.
- If you have added a feature or fixed a bug, please add a test case if possible.
- Please make sure that tests and Lint are passed in advance.
- You can run it with `pnpm run test` and `pnpm run lint`. [See more info](#testing)
- If this PR includes UI changes, please attach a screenshot in the text.
Thanks for your cooperation 🤗
## Reviewers guide
Be willing to comment on the good points and not just the things you want fixed 💯
### Review perspective
- Scope
- Are the goals of the PR clear?
- Is the granularity of the PR appropriate?
- Security
- Does merging this PR create a vulnerability?
- Performance
- Will merging this PR cause unexpected performance degradation?
- Is there a more efficient way?
- Testing
- Does the test ensure the expected behavior?
- Are there any omissions or gaps?
- Does it check for anomalies?
## Deploy (SOON)
The `/deploy` command by issue comment can be used to deploy the contents of a PR to the preview environment.
```
/deploy sha=<commithash>
```
An actual domain will be assigned so you can test the federation.
## Merge
## Release
### Release Instructions
1. Commit version changes in the `develop` branch ([package.json](https://github.com/misskey-dev/misskey/blob/develop/package.json))
2. Create a release PR.
- Into `master` from `develop` branch.
- The title must be in the format `Release: x.y.z`.
- `x.y.z` is the new version you are trying to release.
3. Deploy and perform a simple QA check. Also verify that the tests passed.
4. Merge it.
5. Create a [release of GitHub](https://github.com/misskey-dev/misskey/releases)
- The target branch must be `master`
- The tag name must be the version
## Development
During development, it is useful to use the `yarn dev` command.
This command monitors the server-side and client-side source files and automatically builds them if they are modified.
In addition, it will also automatically start the Misskey server process.
# THE FOLLOWING IS OUTDATED:
## Testing
- Test codes are located in [`/test`](/test).
### Run test
Create a config file.
```
cp test/test.yml .config/
```
Prepare DB/Redis for testing.
```
docker-compose -f test/docker-compose.yml up
```
Alternatively, prepare an empty (data can be erased) DB and edit `.config/test.yml`.
Misskey uses GitHub Actions for executing automated tests.
Configuration files are located in [`/.github/workflows`](/.github/workflows).
## Vue
Misskey uses Vue(v3) as its front-end framework.
- Use TypeScript.
- **When creating a new component, please use the Composition API (with [setup sugar](https://v3.vuejs.org/api/sfc-script-setup.html) and [ref sugar](https://github.com/vuejs/rfcs/discussions/369)) instead of the Options API.**
- Some of the existing components are implemented in the Options API, but it is an old implementation. Refactors that migrate those components to the Composition API are also welcome.
- Calckey is based off of Misskey, a powerful microblogging server on ActivityPub with features such as emoji reactions, a customizable web UI, rich chatting, and much more!
- Calckey adds many quality of life changes and bug fixes for users and instance admins alike.
- Read **[this document](./CALCKEY.md)** all for current and future differences.
- Notable differences:
- Improved UI/UX (especially on mobile)
- Improved notifications
- Fediverse account migration
- Improved instance security
- Improved accessibility
- Recommended Instances timeline
- OCR image captioning
- New and improved Groups
- Better intro tutorial
- Many more user and admin settings
- [So much more!](./CALCKEY.md)
Please see the [upstream version](https://codeberg.org/calckey/calckey) if you seriously intend to run this project.
</div>
# 🌠 I wanna build this mess anyway
<divstyle="clear: both;"></div>
My primary way to build this project is using Podman and deploy as a container:
This guide will work for both **starting from scratch** and **migrating from Misskey**.
## 🔰 Easy installers
If you have access to a server that supports one of the sources below, I recommend you use it! Note that these methods *won't* allow you to migrate from Misskey without manual intervention.
[![Install on Ubuntu](https://pool.jortage.com/voringme/misskey/3b62a443-1b44-45cf-8f9e-f1c588f803ed.png)](https://codeberg.org/calckey/ubuntu-bash-install)[![Install on the Arch User Repository](https://pool.jortage.com/voringme/misskey/ba2a5c07-f078-43f1-8483-2e01acca9c40.png)](https://aur.archlinux.org/packages/calckey)[![Install Calckey with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=calckey)
### 🐋 Docker
[How to run Calckey with Docker](./docker-README.md).
Continue reading if you want to build it natively.
## 🧑💻 Dependencies
- 🐢 At least [NodeJS](https://nodejs.org/en/) v18.12.1 (v19 recommended)
- 🐢 At least [NodeJS](https://nodejs.org/en/) v18.16.0 (v20 recommended)
- Install with [nvm](https://github.com/nvm-sh/nvm)
- 🐘 At least [PostgreSQL](https://www.postgresql.org/) v12
- 🍱 At least [Redis](https://redis.io/) v6 (v7 recommend)
- 🐘 At least [PostgreSQL](https://www.postgresql.org/) v12 (v14 recommended)
- 🍱 At least [Redis](https://redis.io/) v6 (v7 recommended)
- Web Proxy (one of the following)
- 🍀 Nginx (recommended)
- 🦦 Caddy
- 🪶 Apache
- ⚡ [libvips](https://www.libvips.org/)
### 😗 Optional dependencies
- [FFmpeg](https://ffmpeg.org/) for video transcoding
- [ElasticSearch](https://www.elastic.co/elasticsearch/) for full-text search
- OpenSearch/Sonic are not supported as of right now
# git checkout main # if you want only stable versions
```
## 📩 Install dependencies
@ -106,72 +69,40 @@ cd calckey/
# nvm install 19 && nvm use 19
corepack enable
corepack prepare pnpm@latest --activate
# To build without TensorFlow, append --no-optional
pnpm i # --no-optional
pnpm i
```
## 🐘 Create database
Assuming you set up PostgreSQL correctly, all you have to run is:
## Build
```sh
psql postgres -c "create database calckey with encoding = 'UTF8';"
pnpm run build
```
## 💅 Customize
## Database
- To add custom CSS for all users, edit `./custom/assets/instance.css`.
- To add static assets (such as images for the splash screen), place them in the `./custom/assets/` directory. They'll then be available on `https://yourinstance.tld/static-assets/filename.ext`.
- To add custom locales, place them in the `./custom/locales/` directory. If you name your custom locale the same as an existing locale, it will overwrite it. If you give it a unique name, it will be added to the list. Also make sure that the first part of the filename matches the locale you're basing it on. (Example: `en-FOO.yml`)
- To update custom assets without rebuilding, just run `pnpm run gulp`.
This setup assumes you already have a valid PostgreSQL database with
a model corresponding to the Calckey version 14.0.0-RC3.
## 🧑🔬 Configuring a new instance
## Configuring a new server
- Run `cp .config/example.yml .config/default.yml`
- Edit `.config/default.yml`, making sure to fill out required fields.
- Also copy and edit `.config/docker_example.env` to `.config/docker.env` if you're using Docker.
## 🚚 Migrating from Misskey to Calckey
> ⚠️ Because of their changes, migrating from Foundkey is not supported.
## Running the server
```sh
cp ../misskey/.config/default.yml ./.config/default.yml # replace `../misskey/` with misskey path, add `docker.env` if you use Docker
cp -r ../misskey/files .
pnpm run start
```
## 🍀 NGINX
## Web proxy
- Run `sudo cp ./calckey.nginx.conf /etc/nginx/sites-available/ && cd /etc/nginx/sites-available/`
- Edit `calckey.nginx.conf` to reflect your instance properly
- Run `sudo cp ./calckey.nginx.conf ../sites-enabled/`
- Run `sudo nginx -t` to validate that the config is valid, then restart the NGINX service.
### Caddy
</details>
## 🚀 Build and launch!
### 🐢 NodeJS + pm2
#### `git pull` and run these steps to update Calckey in the future!
```sh
# git pull
NODE_ENV=production pnpm install && pnpm run build && pnpm run migrate
pm2 start "NODE_ENV=production pnpm run start" --name Calckey
- Add the following block to your `Caddyfile`, replacing `example.tld` with your own domain:
```caddy
example.tld {
reverse_proxy http://127.0.0.1:3000
}
```
## 😉 Tips & Tricks
- When editing the config file, please don't fill out the settings at the bottom. They're designed *only* for managed hosting, not self hosting. Those settings are much better off being set in Calckey's control panel.
- Port 3000 (used in the default config) might be already used on your server for something else. To find an open port for Calckey, run `for p in {3000..4000}; do ss -tlnH | tr -s ' ' | cut -d" " -sf4 | grep -q "${p}$" || echo "${p}"; done | head -n 1`. Replace 3000 with the minimum port and 4000 with the maximum port if you need it.
- I'd recommend you use a S3 Bucket/CDN for Object Storage, especially if you use Docker.
- I'd ***strongly*** recommend against using CloudFlare, but if you do, make sure to turn code minification off.
- For push notifications, run `npx web-push generate-vapid-keys`, then put the public and private keys into Control Panel > General > ServiceWorker.
- For translations, make a [DeepL](https://deepl.com) account and generate an API key, then put it into Control Panel > General > DeepL Translation.
- To add another admin account:
- Go to the user's page > 3 Dots > About > Moderation > turn on "Moderator"
- Go back to Overview > click the clipboard icon next to the ID
- Run `psql -d calckey` (or whatever the database name is)
- Run `UPDATE "user" SET "isAdmin" = true WHERE id='999999';` (replace `999999` with the copied ID)
If you discover a minor security issue in Calckey, please report it by sending an
email to [kainoa@t1c.dev](mailto:kainoa@t1c.dev).
## High Security Issues
If you discover a security issue, which is so high risk, that too much is affected by it, please dont send it over unencrypted communication. You can share your PGP keys with us using kainoa@t1c.dev and after we established a secure communication, send it over E-Mail, or message us using matrix' encrypted private messages at @t1c:matrix.fedibird.com or @cleo:tchncs.de
This will allow us to assess the risk, and make a fix available before we add a
bug report to the Codeberg repository.
Thanks for helping make Calckey safe for everyone.
You can configure `docker.env` with anything you like, but you will have to pay attention to the `default.yml` file:
- `url` should be set to the URL you will be hosting the web interface for the instance at.
- `host`, `db`, `user`, `pass` will have to be configured in the `PostgreSQL configuration` section - `host` is the name of the postgres container (eg: *calckey_db_1*), and the others should match your `docker.env`.
- `host`will need to be configured in the *Redis configuration* section - it is the name of the redis container (eg: *calckey_redis_1*)
Everything else can be left as-is.
## Running docker-compose
The [prebuilt container for calckey](https://hub.docker.com/r/thatonecalculator/calckey) is fairly large, and may take a few minutes to download and extract using docker.
Copy `docker-compose.yml` and the `config/` to a directory, then run the **docker-compose** command:
`docker-compose up -d`.
NOTE: This will take some time to come fully online, even after download and extracting the container images, and it may emit some error messages before completing successfully. Specifically, the `db` container needs to initialize and so isn't available to the `web` container right away. Only once the `db` container comes online does the `web` container start building and initializing the calckey tables.
Once the instance is up you can use a web browser to access the web interface at `http://serverip:3000` (where `serverip` is the IP of the server you are running the calckey instance on).
Thanks for taking the time to fill out this bug report!
- type:textarea
id:what-happened
attributes:
label:What happened?
description:Please give us a brief description of what happened.
placeholder:Tell us what you see!
value:"A bug happened!"
validations:
required:true
- type:textarea
id:what-is-expected
attributes:
label:What did you expect to happen?
description:Please give us a brief description of what you expected to happen.
placeholder:Tell us what you wish happened!
value:"Instead of x, y should happen instead!"
validations:
required:true
- type:input
id:version
attributes:
label:Version
description:What version of calckey is your instance running? You can find this by clicking your instance's logo at the bottom left and then clicking instance information.
placeholder:Calckey Version 13.0.4
validations:
required:true
- type:input
id:instance
attributes:
label:Instance
description:What instance of calckey are you using?
placeholder:stop.voring.me
validations:
required:false
- type:dropdown
id:browsers
attributes:
label:What browser are you using?
multiple:false
options:
- Firefox
- Chrome
- Brave
- Librewolf
- Chromium
- Safari
- Microsoft Edge
- Other (Please Specify)
- type:textarea
id:logs
attributes:
label:Relevant log output
description:Please copy and paste any relevant log output. You can find your log by inspecting the page, and going to the "console" tab. This will be automatically formatted into code, so no need for backticks.
render:shell
- type:checkboxes
id:terms
attributes:
label:Contribution Guidelines
description:By submitting this issue, you agree to follow our [Contribution Guidelines](https://codeberg.org/calckey/calckey/src/branch/develop/CONTRIBUTING.md)
options:
- label:I agree to follow this project's Contribution Guidelines
Thanks for taking the time to fill out this feature request!
- type:textarea
id:what-feature
attributes:
label:What feature would you like implemented?
description:Please give us a brief description of what you'd like.
placeholder:Tell us what you want!
value:"x feature would be great!"
validations:
required:true
- type:textarea
id:why-add-feature
attributes:
label:Why should we add this feature?
description:Please give us a brief description of why your feature is important.
placeholder:Tell us why you want this feature!
value:"x feature is super useful because y!"
validations:
required:true
- type:input
id:version
attributes:
label:Version
description:What version of calckey is your instance running? You can find this by clicking your instance's logo at the bottom left and then clicking instance information.
placeholder:Calckey Version 13.0.4
validations:
required:true
- type:input
id:instance
attributes:
label:Instance
description:What instance of calckey are you using?
placeholder:stop.voring.me
validations:
required:false
- type:dropdown
id:browsers
attributes:
label:What browser are you using?
multiple:false
options:
- Firefox
- Chrome
- Brave
- Librewolf
- Chromium
- Safari
- Microsoft Edge
- Other (Please Specify)
- type:textarea
id:logs
attributes:
label:Relevant log output
description:Please copy and paste any relevant log output. You can find your log by inspecting the page, and going to the "console" tab. This will be automatically formatted into code, so no need for backticks.
render:shell
- type:checkboxes
id:terms
attributes:
label:Contribution Guidelines
description:By submitting this issue, you agree to follow our [Contribution Guidelines](https://codeberg.org/calckey/calckey/src/branch/develop/CONTRIBUTING.md)
options:
- label:I agree to follow this project's Contribution Guidelines
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:"
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í"
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."
fetchingAsApObject:"Μαζεύοντας από το Fediverse..."
ok:"Εντάξει"
gotIt:"Τό'πιασα!"
cancel:"Ακύρωση"
enterUsername:"Εισάγετε το όνομα μέλους"
renotedBy:"Κοινοποιήθηκε από {user}"
noNotes:"Δεν υπάρχουν σημειώματα"
noNotifications:"Δεν υπάρχουν ειδοποιήσεις"
settings:"Ρυθμίσεις"
basicSettings:"Βασικές ρυθμίσεις"
otherSettings:"Άλλες ρυθμίσεις"
openInWindow:"Άνοιγμα σε παράθυρο"
profile:"Προφίλ"
timeline:"Χρονολόγιο"
noAccountDescription:"Αυτό το μέλος δεν έχει γράψει βιογραφικό ακόμη."
login:"Σύνδεση"
loggingIn:"Συνδέεστε"
logout:"Αποσύνδεση"
signup:"Δημιουργία λογαριασμού"
uploading:"Ανέβασμα..."
save:"Αποθήκευση"
users:"Μέλη"
addUser:"Προσθήκη μέλους"
favorite:"Προσθήκη στα αγαπημένα"
favorites:"Αγαπημένα"
unfavorite:"Αφαίρεση από αγαπημένα"
favorited:"Προστέθηκε στα αγαπημένα."
alreadyFavorited:"Έχει ήδη προστεθεί στα αγαπημένα."
cantFavorite:"Αδυναμία προσθήκης στα αγαπημένα."
pin:"Καρφίτσωμα στο προφίλ"
unpin:"Ξεκαρφίτσωμα από το προφίλ"
copyContent:"Αντιγραφή περιεχομένων"
copyLink:"Αντιγραφή συνδέσμου"
delete:"Διαγραφή"
deleteAndEdit:"Διαγραφή και επεξεργασία"
deleteAndEditConfirm:"Σίγουρα θέλετε να διαγράψετε αυτό το σημείωμα και να το επεξεργαστείτε; Θα χάσετε όλες τις αντιδράσεις, κοινοποιήσεις και απαντήσεις σε αυτό."
addToList:"Προσθήκη στη λίστα"
sendMessage:"Αποστολή μηνύματος"
copyUsername:"Αντιγραφή ονόματος μέλους"
searchUser:"Αναζήτηση μέλους"
reply:"Απάντηση"
loadMore:"Φόρτωσε περισσότερα"
showMore:"Δείξε περισσότερα"
showLess:"Κλείσιμο"
youGotNewFollower:"σε ακολούθησε"
receiveFollowRequest:"Λάβατε αίτημα ακολούθησης"
followRequestAccepted:"Το αίτημα ακολούθησης έγινε δεκτό"
mention:"Επισήμανση"
mentions:"Επισημάνσεις"
directNotes:"Απευθείας σημειώματα"
importAndExport:"Εισαγωγή / Εξαγωγή"
import:"Εισαγωγή"
export:"Εξαγωγή"
files:"Αρχεία"
download:"Λήψη"
driveFileDeleteConfirm:"Θέλετε σίγουρα να διαγράψετε το αρχείο \"{name}\"; Τα σημειώματα με αυτό το συνημμένο αρχείο επίσης θα διαγραφούν."
unfollowConfirm:"Θέλετε σίγουρα να σταματήσετε να ακολουθείτε το μέλος {name};"
exportRequested:"Ζητήσατε μία εξαγωγή. Αυτό μπορεί να πάρει κάποιον χρόνο. Επίσης θα προστεθεί στον Δίσκο σας μόλις ολοκληρωθεί."
importRequested:"Ζητήσατε μία εισαγωγή. Αυτό μπορεί να πάρει κάποιον χρόνο."
lists:"Λίστες"
noLists:"Δεν έχετε λίστες"
note:"Σημείωμα"
notes:"Σημειώματα"
following:"Ακολουθεί"
followers:"Ακολουθούν"
followsYou:"Σε ακολουθεί"
createList:"Δημιουργία λίστας"
manageLists:"Διαχείριση λιστών"
error:"Σφάλμα"
somethingHappened:"Προέκυψε ένα σφάλμα"
retry:"Προσπάθεια ξανά"
pageLoadError:"Ένα σφάλμα προέκυψε φορτώνοντας τη σελίδα."
pageLoadErrorDescription:"Αυτό κανονικά προκαλείται από σφάλματα δικτύου ή από την προσωρινή μνήμη του προγράμματος περιήγησης. Δοκιμάστε να σβήσετε την προσωρινή μνήμη (cache) και ξαναδοκιμάστε μετά από λίγο."
serverIsDead:"Αυτός ο server δεν αποκρίνεται. Παρακαλώ περιμέντε λίγο και δοκιμάστε ξανά."
youShouldUpgradeClient:"Για να δείτε αυτή τη σελίδα, παρακαλώ επαναφορτώστε γιανα ενημερωθεί το πρόγραμμα."
enterListName:"Πληκτρολογήστε ένα όνομα για τη λίστα"
introMisskey:"ಸ್ವಾಗತ! Misskey ಓಪನ್ ಸೋರ್ಸ್ ಒಕ್ಕೂಟ ಮೈಕ್ರೋಬ್ಲಾಗಿಂಗ್ ಸೇವೆಯಾಗಿದೆ.\n ಏನಾಗುತ್ತಿದೆ ಎಂಬುದನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಅಥವಾ ನಿಮ್ಮ ಬಗ್ಗೆ ಎಲ್ಲರಿಗೂ ಹೇಳಲು \"ಟಿಪ್ಪಣಿ\"ಗಳನ್ನು ರಚಿಸಿ📡\n \"ಸ್ಪಂದನೆ\" ಕ್ರಿಯೆಯೊಂದಿಗೆ, ನೀವು ಎಲ್ಲರ ಟಿಪ್ಪಣಿಗಳಿಗೆ ತ್ವರಿತವಾಗಿ ಸ್ಪಂದನೆಗಳನ್ನು ಕೂಡ ಸೇರಿಸಬಹುದು.👍\n ಹೊಸ ಜಗತ್ತನ್ನು ಅನ್ವೇಷಿಸಿ🚀"
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."
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."
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:"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"
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: // <bucket> .s3.amazonaws.com', GCS, etc .:'https://storage.googleapis.com/ <bucket>' ."
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'<host>'ou'<host>: <port>'."
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:
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"
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}?"
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?"
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"
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://<bucket>.s3.amazonaws.com' și pentru GCS sau servicii echivalente folosește 'https://storage.googleapis.com/<bucket>', 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 '<host>' sau '<host>:<port>', 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"
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ă"
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"
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."
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."
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."
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."