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 commit adds (maybe unstable) support for Mastodons v1 api
also some v2 endpoints, maybe I miss stuff, I dont know.
We will need to test this but it should be kinda stable
and work like (old) butter.
Co-authored-by: Natty <natty.sh.git@gmail.com>
Co-authored-by: cutls <web-pro@cutls.com>
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
Reasons:
1. `pnpm` is now an industry standard, being faster and less buggy than `yarn`.
2. Faster build time as builds are concurrent: 63 seconds down to 35 seconds!!
3. Resolves#9412
Co-authored-by: ThatOneCalculator <kainoa@t1c.dev>
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9461
I've added some issue templates, feel free to change them to your liking, but I think it's a good template :D
Reviewed-on: https://codeberg.org/calckey/calckey/pulls/9455
Co-authored-by: via <via@noreply.codeberg.org>
Co-committed-by: via <via@noreply.codeberg.org>
Sorry for everyone who I have hurt with this, I had a really bad day, I promise this will
be the last time something like this happened. Please read my public statement.
It already fetches the moved to info on regular user fetches, now only the notification of a new "moved to" is missing.
Signed-off-by: cutestnekoaqua <waterdev@galaxycrow.de>
Co-authored-by: Mary Strodl <ipadlover8322@gmail.com>
Signed-off-by: cutestnekoaqua <waterdev@galaxycrow.de>
This should reduce the performance hit when adding large numbers of
instances to the deliver queue by making the check for suspended and
dead instances a bulk operation.
Changelog: Changed
Reviewed-on: https://akkoma.dev/FoundKeyGang/FoundKey/pulls/215
links is a deprecated docker feature which doesn't work in podman so i
changed it so it uses depends_on instead. you have to change your
configuration to point to the name of the docker container like db as
its hostname.
Since you are also allowed to react to your own notes, it seems sensible
that you should be allowed to like your own gallery posts.
Analogous to commit 4c5aa9e53887cca5561fcec6ab0754e018f589a5.
Changelog: Changed
I doubt itll work, but...
🙏
hail mairy
certified typeorm moment
im stuff
debug log
not a fan of js/ts
istg
missing parenthesis
postgres can kiss my ass
didnt need `::string[]` i think
hide caption button
Remove debug log
Clean up
no longer beta!
fix streaming
These joins are no longer necessary as of commit
c35372a20d22cddb75e93a0b407f2b652cd7faf0. It seems they are bad enough
for performance to break installs.
- https://akkoma.dev/FoundKeyGang/FoundKey/commit/9ee609d70082f7a6dc119a5d83c0e7c5e1208676: enhance privacy of notes
- https://akkoma.dev/FoundKeyGang/FoundKey/commit/0fec6e10477b1c1b95d9469fbaf4e249a3722f12: remove ms dependency
- https://akkoma.dev/FoundKeyGang/FoundKey/commit/46fff77accbe8bf0fd3cc88170d67b997bf2bdc3: client uses new API for child notes depth
- https://akkoma.dev/FoundKeyGang/FoundKey/commit/c35372a20d22cddb75e93a0b407f2b652cd7faf0: pack children without detail
- https://akkoma.dev/FoundKeyGang/FoundKey/commit/aca724e0bfff3e58b4d273f3ee744e3f3aa9c39b: enable to fetch replies recursively
- https://akkoma.dev/FoundKeyGang/FoundKey/commit/2fe64c11502fd8d89c126558cd715e095c83754e: Refactor components/page/page.textarea.vue to composition API
- https://akkoma.dev/FoundKeyGang/FoundKey/commit/6d3181f9835955e5b79bde5484c74bd70e7f9535: Refactor components/page/page.text.vue to composition API
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
Examples of behavior that contributes to a positive environment for our
community include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community
Examples of unacceptable behavior by participants include:
Examples of unacceptable behavior include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
## Enforcement Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at syuilotan@yahoo.co.jp. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
@thatonecalculator on Codeberg,
`@thatonecalculator@stop.voring.me` or `@t1c@i.calckey.cloud` on the Fediverse,
or kainoa@t1c.dev via email.
All complaints will be reviewed and investigated promptly and fairly.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of
actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the
community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
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 [Misskey Forum](https://forum.misskey.io/) or [Discord](https://discord.gg/Wp8gVStHW3).
- 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.
@ -29,22 +34,22 @@ PRs that do not have a clear set of do's and don'ts tend to be bloated and diffi
Also, when you start implementation, assign yourself to the Issue (if you cannot do it yourself, ask another member to assign you). By expressing your intention to work the Issue, you can prevent conflicts in the work.
## Well-known branches
- **`master`** branch is tracking the latest release and used for production purposes.
- **`develop`** branch is where we work for the next release.
- When you create a PR, basically target it to this branch.
- **`l10n_develop`** branch is reserved for localization management.
- 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.
- Please add the summary of the changes to [`CHANGELOG.md`](/CHANGELOG.md). However, this is not necessary for changes that do not affect the users, such as refactoring.
- 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 `npm run test` and `npm run lint`. [See more info](#testing)
- Please make sure that formatting, tests and Lint are passed in advance.
- You can run it with `pnpm run format`, `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 🤗
@ -66,7 +71,7 @@ Be willing to comment on the good points and not just the things you want fixed
- Are there any omissions or gaps?
- Does it check for anomalies?
## Deploy
## 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>
@ -88,21 +93,14 @@ An actual domain will be assigned so you can test the federation.
- The target branch must be `master`
- The tag name must be the version
## Localization (l10n)
Misskey uses [Crowdin](https://crowdin.com/project/misskey) for localization management.
You can improve our translations with your Crowdin account.
Your changes in Crowdin are automatically submitted as a PR (with the title "New Crowdin translations") to the repository.
The owner [@syuilo](https://github.com/syuilo) merges the PR into the develop branch before the next release.
If your language is not listed in Crowdin, please open an issue.
**🌎 **[Misskey](https://misskey-hub.net/)** is an open source, decentralized social media platform that's free forever! 🚀**
**🌎 **[Calckey](https://i.calckey.cloud/)** is an open source, decentralized social media platform that's free forever! 🚀**
---
<ahref="https://misskey-hub.net/instances.html">
<imgsrc="https://custom-icon-badges.herokuapp.com/badge/find_an-instance-acea31?logoColor=acea31&style=for-the-badge&logo=misskey&labelColor=363B40"alt="find an instance"/></a>
<imgsrc="https://custom-icon-badges.herokuapp.com/badge/create_an-instance-FBD53C?logoColor=FBD53C&style=for-the-badge&logo=server&labelColor=363B40"alt="create an instance"/></a>
<ahref="./CONTRIBUTING.md">
<imgsrc="https://custom-icon-badges.herokuapp.com/badge/become_a-contributor-A371F7?logoColor=A371F7&style=for-the-badge&logo=git-merge&labelColor=363B40"alt="become a contributor"/></a>
<ahref="https://discord.gg/Wp8gVStHW3">
<imgsrc="https://custom-icon-badges.herokuapp.com/badge/join_the-community-5865F2?logoColor=5865F2&style=for-the-badge&logo=discord&labelColor=363B40"alt="join the community"/></a>
<ahref="https://www.patreon.com/syuilo">
<imgsrc="https://custom-icon-badges.herokuapp.com/badge/become_a-patron-F96854?logoColor=F96854&style=for-the-badge&logo=patreon&labelColor=363B40"alt="become a patron"/></a>
<imgsrc="https://pool.jortage.com/voringme/misskey/e7cd2a17-8b23-4e1e-b5cf-709480c623e2.png"align="right"height="320px"alt="Calc (the Calckey mascot) smoking a fat dart"/>
## ✨ Features
- **ActivityPub support**\
Not on Misskey? No problem! Not only can Misskey instances talk to each other, but you can make friends with people on other networks like Mastodon and Pixelfed!
- **Reactions**\
You can add emoji reactions to any post! No longer are you bound by a like button, show everyone exactly how you feel with the tap of a button.
- **Drive**\
With Misskey's built in drive, you get cloud storage right in your social media, where you can upload any files, make folders, and find media from posts you've made!
- **Rich Web UI**\
Misskey has a rich and easy to use Web UI!
It is highly customizable, from changing the layout and adding widgets to making custom themes.
Furthermore, plugins can be created using AiScript, an original programming language.
- And much more...
# ✨ About Calckey
- 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
- Compatibility with Mastodon clients/apps
- Backfill user information
- Sonic search
- Many more user and admin settings
- [So much more!](./CALCKEY.md)
</div>
<divstyle="clear: both;"></div>
## Documentation
# 🥂 Links
Misskey Documentation can be found at [Misskey Hub](https://misskey-hub.net/), some of the links and graphics above also lead to specific portions of it.
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](./docs/docker.md).
## 🧑💻 Dependencies
- 🐢 At least [NodeJS](https://nodejs.org/en/) v18.12.1 (v19 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)
### 😗 Optional dependencies
- [FFmpeg](https://ffmpeg.org/) for video transcoding
If you use IPv4: in Sonic's directory, edit the `config.cfg` file to change `inet` to `"0.0.0.0:1491"`.
In Calckey's directory, fill out the `sonic` section of `.config/default.yml` with the correct information.
## 💅 Customize
- 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 add custom error images, place them in the `./custom/assets/badges` directory, replacing the files already there.
- To add custom sounds, place only mp3 files in the `./custom/assets/sounds` directory.
- To update custom assets without rebuilding, just run `pnpm run gulp`.
## 🧑🔬 Configuring a new instance
- 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
For migrating from Misskey v13, Misskey v12, and Foundkey, read [this document](./docs/migrate.md).
## 🍀 NGINX
- 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.
</details>
## 🚀 Build and launch!
### 🐢 NodeJS + pm2
#### `git pull` and run these steps to update Calckey in the future!
```sh
# git pull
pnpm install
NODE_ENV=production pnpm run build && pnpm run migrate
pm2 start "NODE_ENV=production pnpm run start" --name Calckey
```
## 😉 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)
- Extract the logic of each endpoint definition into a service and just call it
## (2) Improve functionality
Once Phase 1 is complete and an environment conducive to the development of a stable system is in place, the implementation of new functions can begin gradually.
- Improve features for moderation
- OAuth2 support https://github.com/misskey-dev/misskey/issues/8262
- GraphQL support?
## (3) Improve scalability
Once the development of the feature has settled down, this may be an opportunity to make larger modifications.
- Rewriting in Rust?
## (4) Change the world
It is time to promote Misskey and change the world.
- Become more major than services such as Twitter and become critical infrastructure for the world
- MiOS will be developed and integrated into various systems - What is MiOS?
- Letting Ai-chan interfere with the real world
- Make Misskey a member of GAFA; Misskey's office must be a reinforced concrete brutalist building with a courtyard.
If you discover a security issue in Misskey, please report it by sending an
email to [syuilotan@yahoo.co.jp](mailto:syuilotan@yahoo.co.jp).
## Minor Security Issues
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 GitHub repository.
bug report to the Codeberg repository.
Thanks for helping make Misskey safe for everyone.
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*)
- `auth` will need to be configured in the *Sonic* section - cannot be the default `SecretPassword`
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).
You ***cannot*** migrate back to Misskey from Calckey due to re-hashing passwords on signin with argon2. You can migrate from to Calckey to Foundkey, though.
@@ -18,12 +18,13 @@ export class achievement1674118260469 {
async down(queryRunner) {
await queryRunner.query(`CREATE TYPE "public"."user_profile_mutingnotificationtypes_enum_old" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app', 'pollEnded')`);
+ await queryRunner.query(`CREATE TYPE "public"."notification_type_enum_old" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'pollEnded', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app')`);
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "mutingNotificationTypes" DROP DEFAULT`);
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "mutingNotificationTypes" TYPE "public"."user_profile_mutingnotificationtypes_enum_old"[] USING "mutingNotificationTypes"::"text"::"public"."user_profile_mutingnotificationtypes_enum_old"[]`);
await queryRunner.query(`ALTER TABLE "user_profile" ALTER COLUMN "mutingNotificationTypes" SET DEFAULT '{}'`);
await queryRunner.query(`DROP TYPE "public"."user_profile_mutingnotificationtypes_enum"`);
await queryRunner.query(`ALTER TYPE "public"."user_profile_mutingnotificationtypes_enum_old" RENAME TO "user_profile_mutingnotificationtypes_enum"`);
- await queryRunner.query(`CREATE TYPE "public"."notification_type_enum_old" AS ENUM('follow', 'mention', 'reply', 'renote', 'quote', 'reaction', 'pollVote', 'pollEnded', 'receiveFollowRequest', 'followRequestAccepted', 'groupInvited', 'app')`);
+ await queryRunner.query(`DELETE FROM "public"."notification" WHERE "type" = 'achievementEarned'`);
await queryRunner.query(`ALTER TABLE "notification" ALTER COLUMN "type" TYPE "public"."notification_type_enum_old" USING "type"::"text"::"public"."notification_type_enum_old"`);
await queryRunner.query(`DROP TYPE "public"."notification_type_enum"`);
await queryRunner.query(`ALTER TYPE "public"."notification_type_enum_old" RENAME TO "notification_type_enum"`);
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
step1_2:"تدعى هذه الصفحة 'الخيط الزمني' وهي تحوي ملاحظات الأشخاص الذي تتابعهم مرتبة حسب تاريخ نشرها."
step1_3:"خيطك الزمني فارغ حاليًا بما أنك لا تتابع أي شخص ولم تنشر أي ملاحظة."
step2_1:"لننهي إعداد ملفك الشخصي قبل كتابة ملاحظة أو متابعة أشخاص."
step2_2:"أعطاء معلومات عن شخصيتك يمنح من له نفس إهتماماتك فرصة متابعتك والتفاعل مع ملاحظاتك."
step3_1:"هل أنهيت إعداد حسابك؟"
step3_2:"إذا تاليًا لتنشر ملاحظة. أنقر على أيقونة القلم في أعلى الشاشة"
step3_3:"املأ النموذج وانقر الزرّ الموجود في أعلى اليمين للإرسال."
step3_4:"ليس لديك ما تقوله؟ إذا اكتب \"بدأتُ استخدم ميسكي\"."
step4_1:"هل نشرت ملاحظتك الأولى؟"
step4_2:"مرحى! يمكنك الآن رؤية ملاحظتك في الخيط الزمني."
step5_1:"والآن، لنجعل الخيط الزمني أكثر حيوية وذلك بمتابعة بعض المستخدمين."
step5_2:"تعرض صفحة {features} الملاحظات المتداولة في هذا المثيل ويتيح لك {Explore} العثور على المستخدمين الرائدين. اعثر على الأشخاص الذين يثيرون إهتمامك وتابعهم!"
step5_3:"لمتابعة مستخدمين ادخل ملفهم الشخصي بالنقر على صورتهم الشخصية ثم اضغط زر 'تابع'."
step5_4:"إذا كان لدى المستخدم رمز قفل بجوار اسمه ، وجب عليك انتظاره ليقبل طلب المتابعة يدويًا."
step6_1:"الآن ستتمكن من رؤية ملاحظات المستخدمين المتابَعين في الخيط الزمني."
step6_2:"يمكنك التفاعل بسرعة مع الملاحظات عن طريق إضافة \"تفاعل\"."
step6_3:"لإضافة تفاعل لملاحظة ، انقر فوق علامة \"+\" أسفل للملاحظة واختر الإيموجي المطلوب."
step7_1:"مبارك ! أنهيت الدورة التعليمية الأساسية لاستخدام ميسكي."
step7_2:"إذا أردت معرفة المزيد عن ميسكي زر {help}."
pluginTokenRequestedDescription:"এই প্লাগইনটি এখানে দেওয়া অনুমুতিসমূহ ব্যাবহার করবে"
notificationType:"বিজ্ঞপ্তির ধরন"
edit:"সম্পাদনা"
useStarForReactionFallback:"রিঅ্যাকশনের ইমোজি না জানলে ★ ব্যবহার করুন"
emailServer:"ইমেইল সার্ভার"
enableEmail:"ইমেইল বিতরণ চালু করুন"
emailConfigInfo:"আপনার ইমেল ঠিকানা নিশ্চিত করতে এবং আপনার পাসওয়ার্ড পুনরায় সেট করতে ব্যবহৃত হয়"
@ -645,7 +644,7 @@ createNew: "নতুন"
optional:"প্রয়োজনীয় নয়"
createNewClip:"নতুন ক্লিপ তৈরি করুন"
public:"সর্বজনীন"
i18nInfo:"Misskey স্বেচ্ছাসেবকদের দ্বারা বিভিন্ন ভাষায় অনুবাদ করা হচ্ছে। আপনি {link} এ গিয়ে অনুবাদে সহযোগিতা করতে পারেন।"
i18nInfo:"Calckey স্বেচ্ছাসেবকদের দ্বারা বিভিন্ন ভাষায় অনুবাদ করা হচ্ছে। আপনি {link} এ গিয়ে অনুবাদে সহযোগিতা করতে পারেন।"
manageAccessTokens:"অ্যাক্সেস টোকেন পরিচালনা করুন"
accountInfo:"অ্যাকাউন্টের তথ্য"
notesCount:"নোটের সংখ্যা"
@ -1109,29 +1108,6 @@ _time:
minute:"মিনিট"
hour:"ঘণ্টা"
day:"দিন"
_tutorial:
title:"Misskey কিভাবে ব্যাবহার করবেন"
step1_1:"স্বাগতম!"
step1_2:"এই স্ক্রীনটিকে \"টাইমলাইন\" বলা হয় এবং কালানুক্রমিক ক্রমে আপনার এবং আপনি যাদের \"অনুসরণ করেন\" তাদের \"নোটগুলি\" দেখায়৷"
step1_3:"আপনি আপনার টাইমলাইনে কিছু দেখতে পাবেন না কারণ আপনি এখনও কোনো নোট পোস্ট করেননি এবং আপনি কাউকে অনুসরণ করছেন না৷"
step2_1:"নোট তৈরি করার আগে বা কাউকে অনুসরণ করার আগে প্রথমে আপনার প্রোফাইলটি সম্পূর্ণ করুন।"
step2_2:"আপনি কে তা জানা অনেক লোকের জন্য আপনার নোটগুলি দেখা এবং অনুসরণ করাকে সহজ করে তোলে৷"
step3_1:"আপনি কি সফলভাবে আপনার প্রোফাইল সেট আপ করেছেন?"
step3_2:"এখন, কিছু নোট পোস্ট করার চেষ্টা করুন। পোস্ট ফর্ম খুলতে পেন্সিল চিহ্নযুক্ত বাটনে ক্লিক করুন।"
step3_3:"বিষয়বস্তু লেখার পরে, আপনি ফর্মের উপরের ডানদিকের বাটনে ক্লিক করে পোস্ট করতে পারেন।"
step3_4:"পোস্ট করার মত কিছু মনে পরছে না? \"আমি মিসকি সেট আপ করছি\" বললে কেমন হয়?"
step4_1:"পোস্ট করেছেন?"
step4_2:"সাবাশ! এখন আপনার নোট টাইমলাইনে দেখা যাবে।"
step5_1:"এখন অন্যদেরকে অনুসরণ করে আপনার টাইমলাইনকে প্রাণবন্ত করে তুলুন।"
step5_2:"আপনি {featured}-এ জনপ্রিয় নোটগুলি দেখতে পারেন, যাতে আপনি যে ব্যক্তিকে পছন্দ করেন তাকে বেছে নিতে এবং অনুসরণ করতে পারেন, অথবা {explore}-এ জনপ্রিয় ব্যবহারকারীদের দেখতে পারেন৷"
headlineMisskey:"Ein durch Notizen verbundenes Netzwerk"
introMisskey:"Willkommen! Misskey ist eine dezentralisierte Open-Source Microblogging-Platform.\nVerfasse „Notizen“ um mitzuteilen, was gerade passiert oder um Ereignisse mit anderen zu teilen. 📡\nMit „Reaktionen“ kannst du außerdem schnell deine Gefühle über Notizen anderer Benutzer zum Ausdruck bringen. 👍\nEine neue Welt wartet auf dich! 🚀"
headlineMisskey:"Ein durch Posts verbundenes Netzwerk"
introMisskey:"Willkommen! Calckey ist eine dezentralisierte Open-Source Microblogging-Platform.\nVerfasse „Posts“ um mitzuteilen, was gerade passiert oder um Ereignisse mit anderen zu teilen. 📡\nMit „Reaktionen“ kannst du außerdem schnell deine Gefühle über Posts anderer Benutzer zum Ausdruck bringen. 👍\nEine neue Welt wartet auf dich! 🚀"
monthAndDay:"{day}.{month}."
search:"Suchen"
notifications:"Benachrichtigungen"
username:"Benutzername"
password:"Passwort"
forgotPassword:"Passwort vergessen"
fetchingAsApObject:"Wird aus dem Fediverse angefragt …"
fetchingAsApObject:"Wird aus dem Fediverse angefragt"
confirmToUnclipAlreadyClippedNote:"Diese Notiz ist bereits im \"{name}\" Clip enthalten. Möchtest du sie aus diesem Clip entfernen?"
public:"Öffentlich"
i18nInfo:"Misskey wird durch freiwillige Helfer in viele verschiedene Sprachen übersetzt. Auf {link} kannst du mithelfen."
i18nInfo:"Calckey wird durch freiwillige Helfer in viele verschiedene Sprachen übersetzt. Auf {link} kannst du mithelfen."
manageAccessTokens:"Zugriffstokens verwalten"
accountInfo:"Benutzerkonto-Informationen"
notesCount:"Anzahl der Notizen"
@ -1181,28 +1181,26 @@ _time:
hour:"Stunde(n)"
day:"Tag(en)"
_tutorial:
title:"Wie du Misskey verwendest"
title:"Wie man Calckey benutzt"
step1_1:"Willkommen!"
step1_2:"Diese Seite ist die „Chronik“. Sie zeigt dir deine geschrieben „Notizen“ sowie die aller Benutzer, denen du „folgst“, in chronologischer Reihenfolge."
step1_3:"Deine Chronik sollte momentan leer sein, da du bis jetzt noch keine Notizen geschrieben hast und auch noch keinen Benutzern folgst."
step2_1:"Lass uns zuerst dein Profil vervollständigen, bevor du Notizen schreibst oder jemandem folgst."
step2_2:"Informationen darüber, was für eine Person du bist, macht es anderen leichter zu wissen, ob sie deine Notizen sehen wollen und ob sie dir folgen möchten."
step3_1:"Mit dem Einrichten deines Profils fertig?"
step3_2:"Dann lass uns als nächstes versuchen, eine Notiz zu schreiben. Dies kannst du tun, indem du auf den Knopf mit dem Stift-Icon auf dem Bildschirm drückst."
step3_3:"Fülle das Fenster aus und drücke auf den Knopf oben rechts zum Senden."
step3_4:"Fällt dir nichts ein, das du schreiben möchtest? Versuch's mit \"Hallo Misskey!\""
step4_1:"Fertig mit dem Senden deiner ersten Notiz?"
step4_2:"Falls deine Notiz nun in deiner Chronik auftaucht, hast du alles richtig gemacht."
step5_1:"Lass uns nun deiner Chronik etwas mehr Leben einhauchen, indem du einigen anderen Benutzern folgst."
step5_2:"{featured} zeigt dir beliebte Notizen dieser Instanz. In {explore} kannst du beliebte Benutzer finden. Schau dort, ob du Benutzer findest, die dich interessieren."
step5_3:"Klicke zum Anzeigen des Profils eines Benutzers auf dessen Profilbild und dann auf den \"Folgen\"-Knopf, um diesem zu folgen."
step5_4:"Je nach Benutzer kann es etwas Zeit in Anspruch nehmen, bis dieser deine Follow-Anfrage bestätigt."
step6_1:"Wenn du nun auch die Notizen anderer Benutzer in deiner Chronik siehst, hast du auch diesmal alles richtig gemacht."
step6_2:"Du kannst ebenso „Reaktionen“ verwenden, um schnell auf Notizen anderer Benutzer zu reagieren."
step6_3:"Um eine Reaktion anzufügen, klicke auf das „+“-Symbol in der Notiz und wähle ein Emoji aus, mit dem du reagieren möchtest."
step7_1:"Glückwunsch! Du hast die Einführung in die Verwendung von Misskey abgeschlossen."
step7_2:"Wenn du mehr über Misskey lernen möchtest, schau dich im {help}-Bereich um."
step7_3:"Und nun, viel Spaß mit Misskey! 🚀"
step1_2:"Wir werden Sie einrichten. Sie werden im Handumdrehen einsatzbereit sein!"
step2_1:"Bitte füllen Sie zuerst Ihr Profil aus."
step2_2:"Wenn du ein paar Angaben zu deiner Person machst, können andere leichter erkennen, ob sie deine Notizen sehen oder dir folgen wollen."
step3_1:"Jetzt ist es Zeit, einigen Leuten zu folgen!"
step3_2:"Deine Home- und Social-Timeline basiert darauf, wem du folgst, also folge für den Anfang ein paar Accounts."
step4_1:"Wir bringen dich nach draußen."
step4_2:"Für deinen ersten Beitrag machen manche Leute gerne einen {introduction} Beitrag oder ein einfaches \"Hallo Welt!\""
step5_1:"Timelines, Timelines überall!"
step5_2:"Deine Instanz hat {Zeitleisten} verschiedene Zeitleisten aktiviert."
step5_3:"Die Zeitleiste Home {icon} ist die Zeitleiste, in der du die Beiträge deiner Follower sehen kannst."
step5_4:"In der lokalen {Icon} Zeitleiste kannst du die Beiträge aller anderen Mitglieder dieser Instanz sehen."
step5_5:"In der Zeitleiste Empfohlen {icon} kannst du Beiträge von Instanzen sehen, die von den Administratoren empfohlen werden."
step5_6:"In der sozialen {icon} Zeitleiste kannst du Beiträge von Freunden deiner Follower sehen."
step5_7:"In der globalen {icon} Zeitleiste kannst du Beiträge von allen anderen verbundenen Instanzen sehen."
step6_1:"Also, was ist das hier?"
step6_2:"Nun, du bist nicht nur Calckey beigetreten. Du bist einem Portal zum Fediversum beigetreten, einem zusammenhängenden Netzwerk von Tausenden von Servern, genannt \"Instanzen\"."
step6_3:"Jeder Server funktioniert auf unterschiedliche Weise, und nicht auf allen Servern läuft Calckey. Dieser hier aber schon! Es ist ein bisschen kompliziert, aber du wirst den Dreh schnell raus haben."
step6_4:"Jetzt geh, erkunde und hab Spaß!"
_2fa:
alreadyRegistered:"Du hast bereits ein Gerät für Zwei-Faktor-Authentifizierung registriert."
introMisskey:"¡Bienvenido/a! Misskey es un servicio de microblogging descentralizado de código abierto.\nEscribe \"notas\" para compartir lo que te ocurre ahora o para contar sobre ti a todos 📡\nCon la función de \"reacciones\", puedes también añadir una reacción rápida a las notas de todos 👍\n¡Exploremos juntos un nuevo mundo! 🚀"
headlineMisskey:"¡Un proyecto de código abierto y una plataforma de medios de comunicación\
\ descentralizada que es gratis para siempre! \U0001F680"
introMisskey:"¡Bienvenido! ¡Calckey es un proyecto de código abierto, plataforma\
\ descentralizado medios de comunicación social que es gratis para siempre! \U0001F680"
monthAndDay:"{day}/{month}"
search:"Buscar"
notifications:"Notificaciones"
username:"Nombre de usuario"
password:"Contraseña"
forgotPassword:"Olvidé mi Contraseña"
fetchingAsApObject:"Recuperando desde el Fediverso..."
fetchingAsApObject:"Recuperando desde el Fediverso"
pageLoadErrorDescription:"Normalmente es debido a la red o al caché del navegador. Por favor limpie el caché o intente más tarde."
pageLoadError:"Error al cargar la página."
pageLoadErrorDescription:"Normalmente es debido a la red o al caché del navegador.\
\ Por favor limpie el caché o intente más tarde."
serverIsDead:"No hay respuesta del servidor. Espere un momento y vuelva a intentarlo."
youShouldUpgradeClient:"Para ver esta página, por favor refrezca el navegador y utiliza una versión más reciente del cliente."
youShouldUpgradeClient:"Para ver esta página, por favor refrezca el navegador y utiliza\
\ una versión más reciente del cliente."
enterListName:"Ingrese nombre de lista"
privacy:"Privacidad"
makeFollowManuallyApprove:"Aprobar manualmente las solicitudes de seguimiento"
@ -94,13 +100,13 @@ followRequests: "Solicitudes de seguimiento"
unfollow:"Dejar de seguir"
followRequestPending:"Solicitudes de seguimiento pendiente"
enterEmoji:"Ingresar emojis"
renote:"Renotar"
unrenote:"Quitar renota"
renoted:"Renotado"
cantRenote:"No se puede renotar este post"
cantReRenote:"No se puede renotar una renota"
renote:"Impulsar"
unrenote:"Quitar impulso"
renoted:"Impulsado."
cantRenote:"No se puede impulsar esta publicación."
cantReRenote:"No se puede impulsar un impulso."
quote:"Citar"
pinnedNote:"Nota fijada"
pinnedNote:"Publicación fijada"
pinned:"Fijar al perfil"
you:"Tú"
clickToShow:"Click para ver"
@ -108,8 +114,9 @@ sensitive: "Marcado como sensible"
add:"Agregar"
reaction:"Reacción"
reactionSetting:"Reacciones para mostrar en el menú de reacciones"
reactionSettingDescription2:"Arrastre para reordenar, click para borrar, apriete la tecla + para añadir."
rememberNoteVisibility:"Recordar visibilidad"
reactionSettingDescription2:"Arrastre para reordenar, click para borrar, apriete\
\ la tecla + para añadir."
rememberNoteVisibility:"Recordar la configuración de visibilidad de la publicación"
attachCancel:"Quitar adjunto"
markAsSensitive:"Marcar como sensible"
unmarkAsSensitive:"Desmarcar como sensible"
@ -137,16 +144,23 @@ emojiUrl: "URL de la imágen del emoji"
addEmoji:"Agregar emoji"
settingGuide:"Configuración sugerida"
cacheRemoteFiles:"Mantener en cache los archivos remotos"
cacheRemoteFilesDescription:"Si desactiva esta configuración, Los archivos remotos se cargarán desde el link directo sin usar la caché. Con eso se puede ahorrar almacenamiento del servidor, pero eso aumentará el tráfico al no crear miniaturas."
cacheRemoteFilesDescription:"Si desactiva esta configuración, Los archivos remotos\
\ se cargarán desde el link directo sin usar la caché. Con eso se puede ahorrar\
\ almacenamiento del servidor, pero eso aumentará el tráfico al no crear miniaturas."
flagAsBot:"Esta cuenta es un bot"
flagAsBotDescription:"En caso de que esta cuenta fuera usada por un programa, active esta opción. Al hacerlo, esta opción servirá para otros desarrolladores para evitar cadenas infinitas de reacciones, y ajustará los sistemas internos de Misskey para que trate a esta cuenta como un bot."
flagAsBotDescription:"En caso de que esta cuenta fuera usada por un programa, active\
\ esta opción. Al hacerlo, esta opción servirá para otros desarrolladores para evitar\
\ cadenas infinitas de reacciones, y ajustará los sistemas internos de Calckey para\
\ que trate a esta cuenta como un bot."
flagAsCat:"Esta cuenta es un gato"
flagAsCatDescription:"En caso de que declare que esta cuenta es de un gato, active esta opción."
flagAsCatDescription:"Vas a tener orejas de gato y hablar como un gato!"
flagShowTimelineReplies:"Mostrar respuestas a las notas en la biografía"
flagShowTimelineRepliesDescription:"Cuando se marca, la línea de tiempo muestra respuestas a otras notas además de las notas del usuario"
autoAcceptFollowed:"Aceptar automáticamente las solicitudes de seguimiento de los usuarios que sigues"
flagShowTimelineRepliesDescription:"Cuando se marca, la línea de tiempo muestra respuestas\
\ a otras publicaciones además de las publicaciones del usuario."
autoAcceptFollowed:"Aceptar automáticamente las solicitudes de seguimiento de los\
\ usuarios que sigues"
addAccount:"Agregar Cuenta"
loginFailed:"Error al iniciar sesión."
loginFailed:"Error al iniciar sesión"
showOnRemote:"Ver en una instancia remota"
general:"General"
wallpaper:"Fondo de pantalla"
@ -156,7 +170,11 @@ searchWith: "Buscar: {q}"
youHaveNoLists:"No tienes listas"
followConfirm:"¿Desea seguir a {name}?"
proxyAccount:"Cuenta proxy"
proxyAccountDescription:"Una cuenta proxy es una cuenta que actúa como un seguidor remoto de un usuario bajo ciertas condiciones. Por ejemplo, cuando un usuario añade un usuario remoto a una lista, si ningún usuario local sigue al usuario agregado a la lista, la instancia no puede obtener su actividad. Así que la cuenta proxy sigue al usuario añadido a la lista"
proxyAccountDescription:"Una cuenta proxy es una cuenta que actúa como un seguidor\
\ remoto de un usuario bajo ciertas condiciones. Por ejemplo, cuando un usuario\
\ añade un usuario remoto a una lista, si ningún usuario local sigue al usuario\
\ agregado a la lista, la instancia no puede obtener su actividad. Así que la cuenta\
\ proxy sigue al usuario añadido a la lista."
host:"Host"
selectUser:"Elegir usuario"
recipient:"Recipiente"
@ -187,21 +205,24 @@ instanceInfo: "información de la instancia"
statistics:"Estadísticas"
clearQueue:"Limpiar cola"
clearQueueConfirmTitle:"¿Desea limpiar la cola?"
clearQueueConfirmText:"Las notas aún no entregadas no se federarán. Normalmente no se necesita ejecutar esta operación"
clearQueueConfirmText:"Las publicaciones aún no entregadas no se federarán. Normalmente\
\ no se necesita ejecutar esta operación."
clearCachedFiles:"Limpiar caché"
clearCachedFilesConfirm:"¿Desea borrar todos los archivos remotos cacheados?"
blockedInstances:"Instancias bloqueadas"
blockedInstancesDescription:"Seleccione los hosts de las instancias que desea bloquear, separadas por una linea nueva. Las instancias bloqueadas no podrán comunicarse con esta instancia."
blockedInstancesDescription:"Seleccione los hosts de las instancias que desea bloquear,\
\ separadas por una linea nueva. Las instancias bloqueadas no podrán comunicarse\
\ con esta instancia."
muteAndBlock:"Silenciar y bloquear"
mutedUsers:"Usuarios silenciados"
blockedUsers:"Usuarios bloqueados"
noUsers:"No hay usuarios"
editProfile:"Editar perfil"
noteDeleteConfirm:"¿Desea borrar esta nota?"
pinLimitExceeded:"Ya no se pueden fijar más posts"
intro:"¡La instalación de Misskey ha terminado! Crea el usuario administrador."
noteDeleteConfirm:"¿Desea borrar esta publicación?"
pinLimitExceeded:"Ya no se pueden fijar más publicaciones"
intro:"¡La instalación de Calckey ha terminado! Crea el usuario administrador."
done:"Terminado"
processing:"Procesando"
processing:"Procesando..."
preview:"Vista previa"
default:"Predeterminado"
defaultValueIs:"Predeterminado"
@ -219,7 +240,7 @@ instanceFollowers: "Seguidores de la instancia"
instanceUsers:"Usuarios de la instancia"
changePassword:"Cambiar contraseña"
security:"Seguridad"
retypedNotMatch:"No hay coincidencia"
retypedNotMatch:"No hay coincidencia."
currentPassword:"Contraseña actual"
newPassword:"Contraseña nueva"
newPasswordRetype:"Contraseña nueva (repetir)"
@ -240,7 +261,9 @@ saved: "Guardado"
messaging:"Chat"
upload:"Subir"
keepOriginalUploading:"Mantener la imagen original"
keepOriginalUploadingDescription:"Mantener la versión original al cargar imágenes. Si está desactivado, el navegador generará imágenes para la publicación web en el momento de recargar la página"
keepOriginalUploadingDescription:"Mantener la versión original al cargar imágenes.\
\ Si está desactivado, el navegador generará imágenes para la publicación web en\
\ el momento de recargar la página."
fromDrive:"Desde el drive"
fromUrl:"Desde la URL"
uploadFromUrl:"Subir desde una URL"
@ -256,7 +279,7 @@ agreeTo: "De acuerdo con {0}"
tos:"Términos de uso"
start:"Comenzar"
home:"Inicio"
remoteUserCaution:"Para el usuario remoto, la información está incompleta"
remoteUserCaution:"La información del usuario remoto tal vez esta incompleta."
activity:"Actividad"
images:"Imágenes"
birthday:"Fecha de nacimiento"
@ -289,7 +312,8 @@ unableToDelete: "No se puede borrar"
inputNewFileName:"Ingrese un nuevo nombre de archivo"
inputNewDescription:"Ingrese nueva descripción"
inputNewFolderName:"Ingrese un nuevo nombre de la carpeta"
circularReferenceFolder:"La carpeta de destino es una sub-carpeta de la carpeta que quieres mover."
circularReferenceFolder:"La carpeta de destino es una sub-carpeta de la carpeta que\
\ quieres mover."
hasChildFilesOrFolders:"No se puede borrar esta carpeta. No está vacía."
copyUrl:"Copiar URL"
rename:"Renombrar"
@ -323,7 +347,8 @@ connectService: "Conectar"
disconnectService:"Desconectar"
enableLocalTimeline:"Habilitar linea de tiempo local"
enableGlobalTimeline:"Habilitar linea de tiempo global"
disablingTimelinesInfo:"Aunque se desactiven estas lineas de tiempo, por conveniencia el administrador y los moderadores pueden seguir usándolos"
disablingTimelinesInfo:"Aunque se desactiven estas lineas de tiempo, por conveniencia\
\ el administrador y los moderadores pueden seguir usándolos"
registration:"Registro"
enableRegistration:"Permitir nuevos registros"
invite:"Invitar"
@ -335,9 +360,11 @@ bannerUrl: "URL de la imagen del banner"
backgroundImageUrl:"URL de la imagen de fondo"
basicInfo:"Información básica"
pinnedUsers:"Usuarios fijados"
pinnedUsersDescription:"Describir los usuarios que quiere fijar en la página \"Descubrir\" separados por una linea nueva"
pinnedUsersDescription:"Describir los usuarios que quiere fijar en la página \"Descubrir\"\
\ separados por una linea nueva"
pinnedPages:"Páginas fijadas"
pinnedPagesDescription:"Describa las rutas de las páginas que desea fijar a la página principal de la instancia, separadas por lineas nuevas"
pinnedPagesDescription:"Describa las rutas de las páginas que desea fijar a la página\
\ principal de la instancia, separadas por lineas nuevas"
pinnedClipId:"Id del clip fijado"
pinnedNotes:"Nota fijada"
hcaptcha:"hCaptcha"
@ -348,14 +375,17 @@ recaptcha: "reCAPTCHA"
enableRecaptcha:"activar reCAPTCHA"
recaptchaSiteKey:"Clave del sitio"
recaptchaSecretKey:"Clave secreta"
avoidMultiCaptchaConfirm:"El uso de múltiples Captchas puede causar interferencia. ¿Desea desactivar el otro Captcha? Puede dejar múltiples Captchas habilitadas presionando cancelar."
avoidMultiCaptchaConfirm:"El uso de múltiples Captchas puede causar interferencia.\
\ ¿Desea desactivar el otro Captcha? Puede dejar múltiples Captchas habilitadas\
\ presionando cancelar."
antennas:"Antenas"
manageAntennas:"Administrar antenas"
name:"Nombre"
antennaSource:"Origen de la antena"
antennaKeywords:"Palabras clave para recibir"
antennaExcludeKeywords:"Palabras clave para excluir"
antennaKeywordsDescription:"Separar con espacios es una declaración AND, separar con una linea nueva es una declaración OR"
antennaKeywordsDescription:"Separar con espacios es una declaración AND, separar\
\ con una linea nueva es una declaración OR"
notifyAntenna:"Notificar nueva nota"
withFileAntenna:"Sólo notas con archivos adjuntados"
passwordNotMatched:"Las contraseñas no son las mismas"
signinWith:"Inicie sesión con {x}"
signinFailed:"Autenticación fallida. Asegúrate de haber usado el nombre de usuario y contraseña correctos."
signinFailed:"Autenticación fallida. Asegúrate de haber usado el nombre de usuario\
\ y contraseña correctos."
tapSecurityKey:"Toque la clave de seguridad"
or:"O"
language:"Idioma"
@ -453,7 +484,8 @@ aboutX: "Acerca de {x}"
useOsNativeEmojis:"Usa los emojis nativos de la plataforma"
disableDrawer:"No mostrar los menús en cajones"
youHaveNoGroups:"Sin grupos"
joinOrCreateGroup:"Obtenga una invitación para unirse al grupos o puede crear su propio grupo."
joinOrCreateGroup:"Obtenga una invitación para unirse al grupos o puede crear su\
\ propio grupo."
noHistory:"No hay datos en el historial"
signinHistory:"Historial de ingresos"
disableAnimatedMfm:"Deshabilitar MFM que tiene animaciones"
@ -484,19 +516,28 @@ showFeaturedNotesInTimeline: "Mostrar notas destacadas en la línea de tiempo"
objectStorage:"Almacenamiento de objetos"
useObjectStorage:"Usar almacenamiento de objetos"
objectStorageBaseUrl:"Base URL"
objectStorageBaseUrlDesc:"Prefijo de URL utilizado para construir URL para hacer referencia a objetos (medios). Especifique su URL si está utilizando un CDN o Proxy; de lo contrario, especifique la dirección a la que se puede acceder públicamente de acuerdo con la guía de servicio que va a utilizar. i.g 'https://<bucket>.s3.amazonaws.com' para AWS S3 y 'https://storage.googleapis.com/<bucket>' para GCS."
objectStorageBaseUrlDesc:"Prefijo de URL utilizado para construir URL para hacer\
\ referencia a objetos (medios). Especifique su URL si está utilizando un CDN o\
\ Proxy; de lo contrario, especifique la dirección a la que se puede acceder públicamente\
\ de acuerdo con la guía de servicio que va a utilizar. i.g 'https://<bucket>.s3.amazonaws.com'\
\ para AWS S3 y 'https://storage.googleapis.com/<bucket>' para GCS."
objectStorageBucket:"Bucket"
objectStorageBucketDesc:"Especifique el nombre del depósito utilizado en el servicio configurado."
objectStorageBucketDesc:"Especifique el nombre del depósito utilizado en el servicio\
\ configurado."
objectStoragePrefix:"Prefix"
objectStoragePrefixDesc:"Los archivos se almacenarán en el directorio de este prefijo."
objectStorageEndpoint:"Endpoint"
objectStorageEndpointDesc:"Deje esto en blanco si está utilizando AWS S3; de lo contrario, especifique el punto final como '<host>' o '<host>: <port>' de acuerdo con la guía de servicio que va a utilizar."
objectStorageEndpointDesc:"Deje esto en blanco si está utilizando AWS S3; de lo contrario,\
\ especifique el punto final como '<host>' o '<host>:<port>' de acuerdo con la\
\ guía de servicio que va a utilizar."
objectStorageRegion:"Region"
objectStorageRegionDesc:"Especifique una región como 'xx-east-1'. Si su servicio no tiene distinción sobre regiones, déjelo en blanco o complete con 'us-east-1'."
objectStorageRegionDesc:"Especifique una región como 'xx-east-1'. Si su servicio\
\ no tiene distinción sobre regiones, déjelo en blanco o complete con 'us-east-1'."
objectStorageUseSSL:"Usar SSL"
objectStorageUseSSLDesc:"Desactive esto si no va a usar HTTPS para la conexión API"
objectStorageUseProxy:"Conectarse a través de Proxy"
objectStorageUseProxyDesc:"Desactive esto si no va a usar Proxy para la conexión de Almacenamiento de objetos"
objectStorageUseProxyDesc:"Desactive esto si no va a usar Proxy para la conexión\
\ de Almacenamiento de objetos"
objectStorageSetPublicRead:"Seleccionar \"public-read\" al subir "
serverLogs:"Registros del servidor"
deleteAll:"Eliminar todos"
@ -524,7 +565,8 @@ sort: "Ordenar"
ascendingOrder:"Ascendente"
descendingOrder:"Descendente"
scratchpad:"Scratch pad"
scratchpadDescription:"Scratchpad proporciona un entorno experimental para AiScript. Puede escribir, ejecutar y verificar los resultados que interactúan con Misskey."
scratchpadDescription:"Scratchpad proporciona un entorno experimental para AiScript.\
\ Puede escribir, ejecutar y verificar los resultados que interactúan con Calckey."
output:"Salida"
script:"Script"
disablePagesScript:"Deshabilitar AiScript en Páginas"
@ -532,11 +574,14 @@ updateRemoteUser: "Actualizar información de usuario remoto"
deleteAllFiles:"Borrar todos los archivos"
deleteAllFilesConfirm:"¿Desea borrar todos los archivos?"
removeAllFollowing:"Retener todos los siguientes"
removeAllFollowingDescription:"Cancelar todos los siguientes del servidor {host}. Ejecutar en caso de que esta instancia haya dejado de existir"
removeAllFollowingDescription:"Cancelar todos los siguientes del servidor {host}.\
\ Ejecutar en caso de que esta instancia haya dejado de existir"
userSuspended:"Este usuario ha sido suspendido."
userSilenced:"Este usuario ha sido silenciado."
yourAccountSuspendedTitle:"Esta cuenta ha sido suspendida"
yourAccountSuspendedDescription:"Esta cuenta ha sido suspendida debido a violaciones de los términos de servicio del servidor y otras razones. Para más información, póngase en contacto con el administrador. Por favor, no cree una nueva cuenta."
yourAccountSuspendedDescription:"Esta cuenta ha sido suspendida debido a violaciones\
\ de los términos de servicio del servidor y otras razones. Para más información,\
\ póngase en contacto con el administrador. Por favor, no cree una nueva cuenta."
menu:"Menú"
divider:"Divisor"
addItem:"Agregar elemento"
@ -580,7 +625,6 @@ tokenRequested: "Permiso de acceso a la cuenta"
pluginTokenRequestedDescription:"Este plugin podrá usar los permisos descritos aquí"
notificationType:"Tipo de notificación"
edit:"Editar"
useStarForReactionFallback:"En caso de que los emojis de reacciones no sean claros, usar en su lugar una estrella"
emailServer:"Servidor de correo"
enableEmail:"Activar el envío de correos electrónicos"
emailConfigInfo:"Usar en caso de validación de correo electrónico y pedido de contraseña"
@ -591,13 +635,15 @@ smtpHost: "Host"
smtpPort:"Puerto"
smtpUser:"Nombre de usuario"
smtpPass:"Contraseña"
emptyToDisableSmtpAuth:"Deje el nombre del usuario y la contraseña en blanco para deshabilitar la autenticación SMTP"
emptyToDisableSmtpAuth:"Deje el nombre del usuario y la contraseña en blanco para\
\ deshabilitar la autenticación SMTP"
smtpSecure:"Usar SSL/TLS implícito en la conexión SMTP"
smtpSecureInfo:"Apagar cuando se use STARTTLS"
testEmail:"Prueba de envío"
wordMute:"Silenciar palabras"
regexpError:"Error de la expresión regular"
regexpErrorDescription:"Ocurrió un error en la expresión regular en la linea {line} de las palabras muteadas {tab}"
regexpErrorDescription:"Ocurrió un error en la expresión regular en la linea {line}\
\ de las palabras muteadas {tab}"
instanceMute:"Instancias silenciadas"
userSaysSomething:"{name} dijo algo"
makeActive:"Activar"
@ -613,10 +659,13 @@ create: "Crear"
notificationSetting:"Ajustes de Notificaciones"
notificationSettingDesc:"Por favor elija el tipo de notificación a mostrar"
useGlobalSetting:"Usar ajustes globales"
useGlobalSettingDesc:"Al activarse, se usará la configuración de notificaciones de la cuenta, al desactivarse se pueden hacer configuraciones particulares."
useGlobalSettingDesc:"Al activarse, se usará la configuración de notificaciones de\
\ la cuenta, al desactivarse se pueden hacer configuraciones particulares."
other:"Otro"
regenerateLoginToken:"Regenerar token de login"
regenerateLoginTokenDescription:"Regenerar el token usado internamente durante el login. No siempre es necesario hacerlo. Al hacerlo de nuevo, se deslogueará en todos los dispositivos."
regenerateLoginTokenDescription:"Regenerar el token usado internamente durante el\
\ login. No siempre es necesario hacerlo. Al hacerlo de nuevo, se deslogueará en\
\ todos los dispositivos."
setMultipleBySeparatingWithSpace:"Puedes añadir mas de uno, separado por espacios."
fileIdOrUrl:"Id del archivo o URL"
behavior:"Comportamiento"
@ -624,13 +673,15 @@ sample: "Muestra"
abuseReports:"Reportes"
reportAbuse:"Reportar"
reportAbuseOf:"Reportar a {name}"
fillAbuseReportDescription:"Ingrese los detalles del reporte. Si hay una nota en particular, ingrese la URL de esta."
fillAbuseReportDescription:"Ingrese los detalles del reporte. Si hay una nota en\
\ particular, ingrese la URL de esta."
abuseReported:"Se ha enviado el reporte. Muchas gracias."
reporter:"Reportador"
reporteeOrigin:"Reportar a"
reporterOrigin:"Origen del reporte"
forwardReport:"Transferir un informe a una instancia remota"
forwardReportIsAnonymous:"No puede ver su información de la instancia remota y aparecerá como una cuenta anónima del sistema"
forwardReportIsAnonymous:"No puede ver su información de la instancia remota y aparecerá\
\ como una cuenta anónima del sistema"
send:"Enviar"
abuseMarkAsResolved:"Marcar reporte como resuelto"
openInNewTab:"Abrir en una Nueva Pestaña"
@ -648,9 +699,11 @@ createNew: "Crear"
optional:"Opcional"
createNewClip:"Crear clip nuevo"
unclip:"Quitar clip"
confirmToUnclipAlreadyClippedNote:"Esta nota ya está incluida en el clip \"{name}\". ¿Quiere quitar la nota del clip?"
confirmToUnclipAlreadyClippedNote:"Esta nota ya está incluida en el clip \"{name}\"\
. ¿Quiere quitar la nota del clip?"
public:"Público"
i18nInfo:"Misskey está siendo traducido a varios idiomas gracias a voluntarios. Se puede colaborar traduciendo en {link}"
i18nInfo:"Calckey está siendo traducido a varios idiomas gracias a voluntarios. Se\
\ puede colaborar traduciendo en {link}"
manageAccessTokens:"Administrar tokens de acceso"
accountInfo:"Información de la Cuenta"
notesCount:"Cantidad de notas"
@ -669,12 +722,18 @@ no: "No"
driveFilesCount:"Cantidad de archivos en el drive"
driveUsage:"Uso del drive"
noCrawle:"Rechazar indexación del crawler"
noCrawleDescription:"Pedir a los motores de búsqueda que no indexen tu perfil, notas, páginas, etc."
lockedAccountInfo:"A menos que configures la visibilidad de tus notas como \"Sólo seguidores\", tus notas serán visibles para cualquiera, incluso si requieres que los seguidores sean aprobados manualmente."
alwaysMarkSensitive:"Marcar los medios de comunicación como contenido sensible por defecto"
noCrawleDescription:"Pedir a los motores de búsqueda que no indexen tu perfil, notas,\
\ páginas, etc."
lockedAccountInfo:"A menos que configures la visibilidad de tus notas como \"Sólo\
\ seguidores\", tus notas serán visibles para cualquiera, incluso si requieres que\
\ los seguidores sean aprobados manualmente."
alwaysMarkSensitive:"Marcar los medios de comunicación como contenido sensible por\
\ defecto"
loadRawImages:"Cargar las imágenes originales en lugar de mostrar las miniaturas"
verificationEmailSent:"Se le ha enviado un correo electrónico de confirmación. Por favor, acceda al enlace proporcionado en el correo electrónico para completar la configuración."
verificationEmailSent:"Se le ha enviado un correo electrónico de confirmación. Por\
\ favor, acceda al enlace proporcionado en el correo electrónico para completar\
\ la configuración."
notSet:"Sin especificar"
emailVerified:"Su dirección de correo electrónico ha sido verificada."
makeExplorable:"Hacer visible la cuenta en \"Explorar\""
makeExplorableDescription:"Si desactiva esta opción, su cuenta no aparecerá en la sección \"Explorar\"."
makeExplorableDescription:"Si desactiva esta opción, su cuenta no aparecerá en la\
\ sección \"Explorar\"."
showGapBetweenNotesInTimeline:"Mostrar un intervalo entre notas en la línea de tiempo"
duplicate:"Duplicar"
left:"Izquierda"
center:"Centrar"
wide:"Ancho"
narrow:"Estrecho"
reloadToApplySetting:"Esta configuración sólo se aplicará después de recargar la página. ¿Recargar ahora?"
reloadToApplySetting:"Esta configuración sólo se aplicará después de recargar la\
\ página. ¿Recargar ahora?"
needReloadToApply:"Se requiere un reinicio para la aplicar los cambios"
showTitlebar:"Mostrar la barra de título"
clearCache:"Limpiar caché"
@ -701,7 +762,11 @@ onlineUsersCount: "{n} usuarios en línea"
nUsers:"{n} Usuarios"
nNotes:"{n} Notas"
sendErrorReports:"Envíar informe de errores"
sendErrorReportsDescription:"Si habilita esta opción, ayudará a mejorar la calidad de Misskey compartiendo información detallada sobre los errores cuando se produzca un problema.\nEsto incluye información como la versión de su sistema operativo, el tipo de navegador que utiliza, su historial de actividad, etc."
sendErrorReportsDescription:"Si habilita esta opción, los detalles de los errores\
\ serán compartidos con Calckey cuando ocurra un problema, lo que ayudará a mejorar\
\ la calidad de Calckey. \nEsto incluye información como la versión del sistema\
\ operativo, el tipo de navegador que está utilizando y su historial en Calckey,\
\ entre otros datos."
myTheme:"Mi Tema"
backgroundColor:"Fondo"
accentColor:"Acento"
@ -729,7 +794,8 @@ receiveAnnouncementFromInstance: "Recibir notificaciones de la instancia"
emailNotification:"Notificaciones por correo electrónico"
publish:"Publicar"
inChannelSearch:"Buscar en el canal"
useReactionPickerForContextMenu:"Haga clic con el botón derecho para abrir el menu de reacciones"
useReactionPickerForContextMenu:"Haga clic con el botón derecho para abrir el menu\
\ de reacciones"
typingUsers:"{users} está escribiendo"
jumpToSpecifiedDate:"Saltar a una fecha específica"
showingPastTimeline:"Mostrar líneas de tiempo antiguas"
@ -740,14 +806,16 @@ unlikeConfirm: "¿Quitar como favorito?"
fullView:"Vista completa"
quitFullView:"quitar vista completa"
addDescription:"Agregar descripción"
userPagePinTip:"Puede mantener sus notas visibles aquí seleccionando Pin en el menú de notas individuales"
userPagePinTip:"Puede mantener sus notas visibles aquí seleccionando Pin en el menú\
\ de notas individuales"
notSpecifiedMentionWarning:"Algunas menciones no están incluidas en el destino"
info:"Información"
userInfo:"Información del usuario"
unknown:"Desconocido"
onlineStatus:"En línea"
hideOnlineStatus:"mostrarse como desconectado"
hideOnlineStatusDescription:"Ocultar su estado en línea puede reducir la eficacia de algunas funciones, como la búsqueda"
hideOnlineStatusDescription:"Ocultar su estado en línea puede reducir la eficacia\
\ de algunas funciones, como la búsqueda"
online:"En línea"
active:"Activo"
offline:"Sin conexión"
@ -782,7 +850,8 @@ emailNotConfiguredWarning: "No se ha configurado una dirección de correo electr
ratio:"Proporción"
previewNoteText:"Mostrar vista preliminar"
customCss:"CSS personalizado"
customCssWarn:"Este ajuste sólo debe utilizarse si se sabe lo que hace. Introducir valores inadecuados puede hacer que el cliente deje de funcionar con normalidad."
customCssWarn:"Este ajuste sólo debe utilizarse si se sabe lo que hace. Introducir\
\ valores inadecuados puede hacer que el cliente deje de funcionar con normalidad."
global:"Global"
squareAvatars:"Mostrar iconos cuadrados"
sent:"Enviar"
@ -792,12 +861,14 @@ hashtags: "Hashtag"
troubleshooting:"Solución de problemas"
useBlurEffect:"Utilizar efecto de desenfoque en la interfaz de usuario"
learnMore:"Ver más"
misskeyUpdated:"¡Misskey ha sido actualizado!"
misskeyUpdated:"¡Calckey ha sido actualizado!"
whatIsNew:"Mostrar cambios"
translate:"Traducir"
translatedFrom:"Traducido de {x}"
accountDeletionInProgress:"La eliminación de la cuenta está en curso"
usernameInfo:"Un nombre que identifique su cuenta de otras en este servidor. Puede utilizar el alfabeto (a~z, A~Z), dígitos (0~9) o guiones bajos (_). Los nombres de usuario no se pueden cambiar posteriormente."
usernameInfo:"Un nombre que identifique su cuenta de otras en este servidor. Puede\
\ utilizar el alfabeto (a~z, A~Z), dígitos (0~9) o guiones bajos (_). Los nombres\
\ de usuario no se pueden cambiar posteriormente."
aiChanMode:"Modo Ai"
keepCw:"Mantener la advertencia de contenido"
pubSub:"Cuentas Pub/Sub"
@ -807,18 +878,21 @@ unresolved: "Sin resolver"
breakFollow:"Dejar de seguir"
itsOn:"¡Está encendido!"
itsOff:"¡Está apagado!"
emailRequiredForSignup:"Se requere una dirección de correo electrónico para el registro de la cuenta"
emailRequiredForSignup:"Se requere una dirección de correo electrónico para el registro\
\ de la cuenta"
unread:"No leído"
filter:"Filtro"
controlPanel:"Panel de control"
manageAccounts:"Administrar cuenta"
makeReactionsPublic:"Hacer el historial de reacciones público"
makeReactionsPublicDescription:"Todas las reacciones que hayas hecho serán públicamente visibles."
makeReactionsPublicDescription:"Todas las reacciones que hayas hecho serán públicamente\
\ visibles."
classic:"Clásico"
muteThread:"Ocultar hilo"
unmuteThread:"Mostrar hilo"
ffVisibility:"Visibilidad de seguidores y seguidos"
ffVisibilityDescription:"Puedes configurar quien puede ver a quienes sigues y quienes te siguen"
ffVisibilityDescription:"Puedes configurar quien puede ver a quienes sigues y quienes\
\ te siguen"
continueThread:"Ver la continuación del hilo"
deleteAccountConfirm:"La cuenta será borrada. ¿Está seguro?"
incorrectPassword:"La contraseña es incorrecta"
@ -859,14 +933,16 @@ thereIsUnresolvedAbuseReportWarning: "Hay reportes sin resolver"
recommended:"Recomendado"
check:"Verificar"
driveCapOverrideLabel:"Cambiar la capacidad de la unidad para este usuario"
driveCapOverrideCaption:"Restablecer la capacidad a su predeterminado ingresando un valor de 0 o menos"
driveCapOverrideCaption:"Restablecer la capacidad a su predeterminado ingresando\
\ un valor de 0 o menos"
requireAdminForView:"Necesitas iniciar sesión como administrador para ver esto."
isSystemAccount:"Cuenta creada y operada automáticamente por el sistema"
typeToConfirm:"Ingrese {x} para confirmar"
deleteAccount:"Borrar cuenta"
document:"Documento"
numberOfPageCache:"Cantidad de páginas cacheadas"
numberOfPageCacheDescription:"Al aumentar el número mejora la conveniencia pero tambien puede aumentar la carga y la memoria a usarse"
numberOfPageCacheDescription:"Al aumentar el número mejora la conveniencia pero tambien\
\ puede aumentar la carga y la memoria a usarse"
logoutConfirm:"¿Cerrar sesión?"
lastActiveDate:"Utilizado por última vez el"
statusbar:"Barra de estado"
@ -883,42 +959,59 @@ sensitiveMediaDetection: "Detección de contenido NSFW"
localOnly:"Solo local"
remoteOnly:"Sólo remoto"
failedToUpload:"La subida falló"
cannotUploadBecauseInappropriate:"Este archivo no se puede subir debido a que algunas partes han sido detectadas comoNSFW."
cannotUploadBecauseNoFreeSpace:"La subida falló debido a falta de espacio libre en la unidad del usuario."
cannotUploadBecauseInappropriate:"Este archivo no se puede subir debido a que algunas\
\ partes han sido detectadas comoNSFW."
cannotUploadBecauseNoFreeSpace:"La subida falló debido a falta de espacio libre en\
enableAutoSensitiveDescription:"Permite la detección y marcado automático de contenido NSFW usando 'Machine Learning' cuando sea posible. Incluso si esta opción está desactivada, puede ser activado para toda la instancia."
activeEmailValidationDescription:"Habilita la validación estricta de direcciones de correo electrónico, lo cual incluye la revisión de direcciones desechables y si se puede comunicar con éstas. Cuando está deshabilitado, sólo el formato de la dirección es validado."
enableAutoSensitiveDescription:"Permite la detección y marcado automático de contenido\
\ NSFW usando 'Machine Learning' cuando sea posible. Incluso si esta opción está\
\ desactivada, puede ser activado para toda la instancia."
activeEmailValidationDescription:"Habilita la validación estricta de direcciones\
\ de correo electrónico, lo cual incluye la revisión de direcciones desechables\
\ y si se puede comunicar con éstas. Cuando está deshabilitado, sólo el formato\
\ de la dirección es validado."
navbar:"Barra de navegación"
shuffle:"Aleatorio"
account:"Cuentas"
move:"Mover"
_sensitiveMediaDetection:
description:"Reduce el esfuerzo de la moderación el el servidor a través del reconocimiento automático de contenido NSFW usando 'Machine Learning'. Esto puede incrementar ligeramente la carga en el servidor."
description:"Reduce el esfuerzo de la moderación el el servidor a través del reconocimiento\
\ automático de contenido NSFW usando 'Machine Learning'. Esto puede incrementar\
\ ligeramente la carga en el servidor."
sensitivity:"Sensibilidad de detección"
sensitivityDescription:"Reducir la sensibilidad puede acarrear a varios falsos positivos, mientras que incrementarla puede reducir las detecciones (falsos negativos)."
sensitivityDescription:"Reducir la sensibilidad puede acarrear a varios falsos\
\ positivos, mientras que incrementarla puede reducir las detecciones (falsos\
\ negativos)."
setSensitiveFlagAutomatically:"Marcar como NSFW"
setSensitiveFlagAutomaticallyDescription:"Los resultados de la detección interna pueden ser retenidos incluso si la opción está desactivada."
setSensitiveFlagAutomaticallyDescription:"Los resultados de la detección interna\
\ pueden ser retenidos incluso si la opción está desactivada."
analyzeVideos:"Habilitar el análisis de videos"
analyzeVideosDescription:"Analizar videos en adición a las imágenes. Esto puede incrementar ligeramente la carga del servidor."
analyzeVideosDescription:"Analizar videos en adición a las imágenes. Esto puede\
\ incrementar ligeramente la carga del servidor."
_emailUnavailable:
used:"Ya fue usado"
format:"Formato no válido."
disposable:"No es un correo reutilizable"
format:"El formato de este correo electrónico no es válido"
disposable:"No se pueden utilizar direcciones de correo electrónico desechables"
mx:"Servidor de correo inválido"
smtp:"Servidor de correo no disponible"
_ffVisibility:
public:"Publicar"
public:"Público"
followers:"Visible solo para seguidores"
private:"Privado"
_signup:
almostThere:"Ya falta poco"
emailAddressInfo:"Ingrese el correo electrónico que usa. Este no se hará público."
emailSent:"Se envió un correo de verificación a la dirección {email}. Acceda al link enviado en el correo para completar el ingreso."
emailSent:"Se envió un correo de verificación a la dirección {email}. Acceda al\
\ link enviado en el correo para completar el ingreso."
_accountDelete:
accountDelete:"Eliminar Cuenta"
mayTakeTime:"La eliminación de la cuenta es un proceso que precisa de carga. Puede pasar un tiempo hasta que se complete si es mucho el contenido creado y los archivos subidos."
sendEmail:"Cuando se termine de borrar la cuenta, se enviará un correo a la dirección usada para el registro."
mayTakeTime:"La eliminación de la cuenta es un proceso que precisa de carga. Puede\
\ pasar un tiempo hasta que se complete si es mucho el contenido creado y los\
\ archivos subidos."
sendEmail:"Cuando se termine de borrar la cuenta, se enviará un correo a la dirección\
\ usada para el registro."
requestAccountDelete:"Pedir la eliminación de la cuenta."
started:"El proceso de eliminación ha comenzado."
inProgress:"La eliminación está en proceso."
@ -926,9 +1019,12 @@ _ad:
back:"Deseleccionar"
reduceFrequencyOfThisAd:"Mostrar menos este anuncio."
_forgotPassword:
enterEmail:"Ingrese el correo usado para registrar la cuenta. Se enviará un link para resetear la contraseña."
enterEmail:"Ingrese el correo usado para registrar la cuenta. Se enviará un link\
\ para resetear la contraseña."
ifNoEmail:"Si no utilizó un correo para crear la cuenta, contáctese con el administrador."
contactAdmin:"Esta instancia no admite el uso de direcciones de correo electrónico, póngase en contacto con el administrador de la instancia para restablecer su contraseña"
contactAdmin:"Esta instancia no admite el uso de direcciones de correo electrónico,\
\ póngase en contacto con el administrador de la instancia para restablecer su\
\ contraseña"
_gallery:
my:"Mi galería"
liked:"Publicaciones que me gustan"
@ -951,12 +1047,15 @@ _preferencesBackups:
save:"Guardar cambios"
inputName:"Por favor, ingresa un nombre para este respaldo"
cannotSave:"Fallo al guardar"
nameAlreadyExists:"Un respaldo llamado \"{name}\" ya existe. Por favor ingresa un nombre diferente"
applyConfirm:"¿Realmente quieres aplicar los cambios desde el archivo \"{name}\" a este dispositivo? Las configuraciones existentes serán sobreescritas. "
nameAlreadyExists:"Un respaldo llamado \"{name}\"ya existe. Por favor ingresa\
\ un nombre diferente"
applyConfirm:"¿Realmente quieres aplicar los cambios desde el archivo \"{name}\"\
\ a este dispositivo? Las configuraciones existentes serán sobreescritas. "
saveConfirm:"¿Guardar respaldo como \"{name}\"?"
deleteConfirm:"¿Borrar el respaldo \"{name}\"?"
renameConfirm:"¿Renombrar este respaldo de \"{old}\" a \"{new}\"?"
noBackups:"No existen respaldos. Deberás respaldar las configuraciones del cliente en este servidor usando \"Crear nuevo respaldo\""
noBackups:"No existen respaldos. Deberás respaldar las configuraciones del cliente\
\ en este servidor usando \"Crear nuevo respaldo\""
createdAt:"Creado: {date} {time}"
updatedAt:"Actualizado: {date} {time}"
cannotLoad:"La carga falló"
@ -968,24 +1067,29 @@ _registry:
domain:"Dominio"
createKey:"Crear una llave"
_aboutMisskey:
about:"Misskey es un software de código abierto, desarrollado por syuilo desde el 2014"
about:"Calckey es una bifurcación de Misskey creada por ThatOneCalculator, que\
\ ha estado en desarrollo desde el 2022."
contributors:"Principales colaboradores"
allContributors:"Todos los colaboradores"
source:"Código fuente"
translation:"Traducir Misskey"
donate:"Donar a Misskey"
morePatrons:"Muchas más personas nos apoyan. Muchas gracias🥰"
patrons:"Patrocinadores"
translation:"Traducir Calckey"
donate:"Donar a Calckey"
morePatrons:"También apreciamos el apoyo de muchos más que no están enlistados\
\ aquí. ¡Gracias! \U0001F970"
patrons:"Mecenas de Calckey"
_nsfw:
respect:"Ocultar medios NSFW"
ignore:"No esconder medios NSFW "
force:"Ocultar todos los medios"
_mfm:
cheatSheet:"Hoja de referencia de MFM"
intro:"MFM es un lenguaje de marcado dedicado que se puede usar en varios lugares dentro de Misskey. Aquí puede ver una lista de sintaxis disponibles en MFM."
dummy:"Misskey expande el mundo de la Fediverso"
intro:"MFM es un lenguaje de marcado dedicado que se puede usar en varios lugares\
\ dentro de Misskey, Calckey, Akkoma, y mucho más. Aquí puede ver una lista de\
\ sintaxis disponibles en MFM."
dummy:"Calckey expande el mundo de la Fediverso"
mention:"Menciones"
mentionDescription:"El signo @ seguido de un nombre de usuario se puede utilizar para notificar a un usuario en particular."
mentionDescription:"El signo @ seguido de un nombre de usuario se puede utilizar\
\ para notificar a un usuario en particular."
hashtag:"Hashtag"
hashtagDescription:"Puede especificar un hashtag con un numeral y el texto."
url:"URL"
@ -1001,7 +1105,8 @@ _mfm:
inlineCode:"Código (insertado)"
inlineCodeDescription:"Muestra el código de un programa resaltando su sintaxis"
blockCode:"Código (bloque)"
blockCodeDescription:"Código de resaltado de sintaxis, como programas de varias líneas con bloques."
blockCodeDescription:"Código de resaltado de sintaxis, como programas de varias\
searchDescription:"Muestra una caja de búsqueda con texto pre-escrito"
flip:"Echar de un capirotazo"
flipDescription:"Voltea el contenido hacia arriba / abajo o hacia la izquierda / derecha."
flipDescription:"Voltea el contenido hacia arriba / abajo o hacia la izquierda\
\ / derecha."
jelly:"Animación (gelatina)"
jellyDescription:"Aplica un efecto de animación tipo gelatina"
tada:"Animación (tadá)"
@ -1035,7 +1141,8 @@ _mfm:
x4:"Totalmente grande"
x4Description:"Muestra el contenido totalmente grande"
blur:"Desenfoque"
blurDescription:"Para desenfocar el contenido. Se muestra claramente al colocar el puntero encima."
blurDescription:"Para desenfocar el contenido. Se muestra claramente al colocar\
\ el puntero encima."
font:"Fuente"
fontDescription:"Elegir la fuente del contenido"
rainbow:"Arcoíris"
@ -1045,7 +1152,8 @@ _mfm:
rotate:"Rotar"
rotateDescription:"Rota el contenido a un ángulo especificado."
plain:"Plano"
plainDescription:"Desactiva los efectos de todo el contenido MFM con este efecto MFM."
plainDescription:"Desactiva los efectos de todo el contenido MFM con este efecto\
\ MFM."
_instanceTicker:
none:"No mostrar"
remote:"Mostrar a usuarios remotos"
@ -1054,6 +1162,7 @@ _serverDisconnectedBehavior:
reload:"Recargar automáticamente"
dialog:"Mostrar diálogo de advertencia"
quiet:"Advertencia discreta"
nothing:Hacer nada
_channel:
create:"Crear canal"
edit:"Editar canal"
@ -1071,15 +1180,20 @@ _menuDisplay:
hide:"Ocultar"
_wordMute:
muteWords:"Palabras que silenciar"
muteWordsDescription:"Separar con espacios indica una declaracion And, separar con lineas nuevas indica una declaracion Or。"
muteWordsDescription2:"Encerrar las palabras clave entre numerales para usar expresiones regulares"
muteWordsDescription:"Separar con espacios indica una declaracion And, separar\
\ con lineas nuevas indica una declaracion Or。"
muteWordsDescription2:"Encerrar las palabras clave entre numerales para usar expresiones\
\ regulares"
softDescription:"Ocultar en la linea de tiempo las notas que cumplen las condiciones"
hardDescription:"Evitar que se agreguen a la linea de tiempo las notas que cumplen las condiciones. Las notas no agregadas seguirán quitadas aunque cambien las condiciones."
hardDescription:"Evitar que se agreguen a la linea de tiempo las notas que cumplen\
\ las condiciones. Las notas no agregadas seguirán quitadas aunque cambien las\
\ condiciones."
soft:"Suave"
hard:"Duro"
mutedNotes:"Notas silenciadas"
_instanceMute:
instanceMuteDescription:"Silencia todas las notas y reposts de la instancias seleccionadas, incluyendo respuestas a los usuarios de las mismas"
instanceMuteDescription:"Silencia todas las notas y reposts de la instancias seleccionadas,\
\ incluyendo respuestas a los usuarios de las mismas"
instanceMuteDescription2:"Separar por líneas"
title:"Oculta las notas de las instancias listadas."
heading:"Instancias a silenciar"
@ -1181,38 +1295,51 @@ _time:
hour:"Horas"
day:"Días"
_tutorial:
title:"Cómo usar Misskey"
step1_1:"Bienvenido"
step1_2:"Esta imagen se llama \"Linea de tiempo\" y muestra en orden cronológico las \"notas\" tuyas y de la gente que \"sigues\""
step1_3:"Si no estás escribiendo ninguna nota y no estás siguiendo a nadie, es esperable que no se muestre nada en la linea de tiempo"
step2_1:"Antes de crear notas y seguir a alguien, primero vamos a crear tu perfil"
step2_2:"Si provees información sobre quien eres, será más fácil para que otros usuarios te sigan"
step3_1:"¿Has podido crear tu perfil sin problemas?"
step3_2:"Con esto, prueba hacer una nota. Aprieta el botón con forma de lápiz que está arriba de la imagen y abre el formulario."
step3_3:"Si has escrito el contenido, aprieta el botón que está arriba a la derecha del formulario para postear."
step3_4:"¿No se te ocurre un contenido? Prueba con decir \"Empecé a usar Misskey\""
step4_1:"¿Has posteado?"
step4_2:"Si tu nota puede verse en la linea de tiempo, fue todo un éxito."
step5_1:"Luego, ponte a seguir a otra gente y haz que tu linea de tiempo esté más animada."
step5_2:"Puedes ver las notas destacadas en {featured} y desde allí seguir a usuarios que te importan. También puedes buscar usuario destacados en {explore}."
step5_3:"Para seguir a un usuario, haz click en su avatar para ver su página de usuario y allí apretar el botón \"seguir\""
step5_4:"De esa manera, puede pasar un tiempo hasta que el usuario apruebe al seguidor."
step6_1:"Si puedes ver en la linea de tiempo las notas de otros usuarios, fue todo un éxito."
step6_2:"En las notas de otros usuarios puedes añadir una \"reacción\", para poder responder rápidamente."
step6_3:"Para añadir una reacción, haz click en el botón \"+\" de la nota y elige la reacción que prefieras."
step7_1:"Así terminó la explicación del funcionamiento básico de Misskey. Eso fue todo."
step7_2:"Si quieres conocer más sobre Misskey, prueba con la sección {help}."
step7_3:"Así, disfruta de Misskey 🚀"
title:"Cómo usar Calckey"
step1_1:"¡Bienvenido!"
step1_2:"Vamos a configurarte. Estarás listo y funcionando en poco tiempo"
step2_1:"En primer lugar, rellena tu perfil"
step2_2:"Proporcionar algo de información sobre quién eres hará que sea más fácil\
\ para los demás saber si quieren ver tus notas o seguirte."
step3_1:"¡Ahora es el momento de seguir a algunas personas!"
step3_2:"Tu página de inicio y tus líneas de tiempo sociales se basan en quién\
\ sigues, así que intenta seguir un par de cuentas para empezar.\nHaz clic en\
\ el círculo más en la parte superior derecha de un perfil para seguirlos."
step4_1:"Vamos a salir a la calle"
step4_2:"Para tu primer post, a algunas personas les gusta hacer un post de {introduction}\
\ o un simple \"¡Hola mundo!\""
step5_1:"¡Líneas de tiempo, líneas de tiempo por todas partes!"
step5_2:"Su instancia tiene {timelines} diferentes líneas de tiempo habilitadas"
step5_3:"La línea de tiempo Inicio {icon} es donde puedes ver las publicaciones\
\ de tus seguidores."
step5_4:"La línea de tiempo Local {icon} es donde puedes ver las publicaciones\
\ de todos los demás en esta instancia."
step5_5:"La línea de tiempo {icon} recomendada es donde puedes ver las publicaciones\
\ de las instancias que los administradores recomiendan."
step5_6:"La línea de tiempo Social {icon} es donde puedes ver las publicaciones\
\ de los amigos de tus seguidores."
step5_7:"La línea de tiempo Global {icon} es donde puedes ver las publicaciones\
\ de todas las demás instancias conectadas."
step6_1:"Entonces, ¿qué es este lugar?"
step6_2:"Bueno, no sólo te has unido a Calckey. Te has unido a un portal del Fediverso,\
\ una red interconectada de miles de servidores, llamada \"instancias\""
step6_3:"Cada servidor funciona de forma diferente, y no todos los servidores ejecutan\
\ Calckey. Sin embargo, ¡éste lo hace! Es un poco complicado, pero le cogerás\
\ el tranquillo enseguida"
step6_4:"¡Ahora ve, explora y diviértete!"
_2fa:
alreadyRegistered:"Ya has completado la configuración."
registerDevice:"Registrar dispositivo"
registerKey:"Registrar clave"
step1:"Primero, instale en su dispositivo la aplicación de autenticación {a} o {b} u otra."
step1:"Primero, instale en su dispositivo la aplicación de autenticación {a} o\
\ {b} u otra."
step2:"Luego, escanee con la aplicación el código QR mostrado en pantalla."
step2Url:"En una aplicación de escritorio se puede ingresar la siguiente URL:"
step3:"Para terminar, ingrese el token mostrado en la aplicación."
step4:"Ahora cuando inicie sesión, ingrese el mismo token"
securityKeyInfo:"Se puede configurar el inicio de sesión usando una clave de seguridad de hardware que soporte FIDO2 o con un certificado de huella digital o con un PIN"
securityKeyInfo:"Se puede configurar el inicio de sesión usando una clave de seguridad\
\ de hardware que soporte FIDO2 o con un certificado de huella digital o con un\
\ PIN"
_permissions:
"read:account": "Ver información de la cuenta"
"write:account": "Editar información de la cuenta"
@ -1248,7 +1375,8 @@ _permissions:
"write:gallery-likes": "Editar favoritos de la galería"
_auth:
shareAccess:"¿Desea permitir el acceso a la cuenta \"{name}\"?"
shareAccessAsk:"¿Está seguro de que desea autorizar esta aplicación para acceder a su cuenta?"
shareAccessAsk:"¿Está seguro de que desea autorizar esta aplicación para acceder\
\ a su cuenta?"
permissionAsk:"Esta aplicación requiere los siguientes permisos"
pleaseGoBack:"Por favor, vuelve a la aplicación"
callback:"Volviendo a la aplicación"
@ -1290,6 +1418,9 @@ _widgets:
serverMetric:"Estadísticas del servidor"
aiscript:"Consola de AiScript"
aichan:"indigo"
userList:Lista Usuarios
_userList:
chooseList:Seleccione una lista
_cw:
hide:"Ocultar"
show:"Ver más"
@ -1351,6 +1482,8 @@ _profile:
metadataContent:"Contenido"
changeAvatar:"Cambiar avatar"
changeBanner:"Cambiar banner"
locationDescription:Si ingresas tu ciudad primero, el tiempo local tuyo será visible
para otros usuarios.
_exportOrImport:
allNotes:"Todas las notas"
followingList:"Siguiendo"
@ -1390,6 +1523,7 @@ _timelines:
local:"Local"
social:"Social"
global:"Global"
recommended:Recomendado
_pages:
newPage:"Crear página"
editPage:"Editar página"
@ -1636,7 +1770,8 @@ _pages:
_seedRandomPick:
arg1:"Semilla"
arg2:"Listas"
DRPWPM:"Elegir aleatoriamente de la lista ponderada (Diariamente para cada usuario)"
DRPWPM:"Elegir aleatoriamente de la lista ponderada (Diariamente para cada\
\ usuario)"
_DRPWPM:
arg1:"Lista de texto"
pick:"Elegir de la lista"
@ -1667,7 +1802,8 @@ _pages:
_for:
arg1:"Cantidad de repeticiones"
arg2:"Acción"
typeError:"El slot {slot} acepta el tipo {expect} pero fue ingresado el tipo {actual}"
typeError:"El slot {slot} acepta el tipo {expect} pero fue ingresado el tipo\
\ {actual}"
thereIsEmptySlot:"El slot {slot} está vacío"
types:
string:"Texto"
@ -1731,8 +1867,10 @@ _deck:
newProfile:"Nuevo perfil"
deleteProfile:"Eliminar perfil"
introduction:"¡Crea la interfaz perfecta para tí organizando las columnas libremente!"
introduction2:"Presiona en la + de la derecha de la pantalla para añadir nuevas columnas donde quieras."
widgetsIntroduction:"Por favor selecciona \"Editar Widgets\" en el menú columna y agrega un widget."
introduction2:"Presiona en la + de la derecha de la pantalla para añadir nuevas\
\ columnas donde quieras."
widgetsIntroduction:"Por favor selecciona \"Editar Widgets\"en el menú columna\
\ y agrega un widget."
_columns:
main:"Principal"
widgets:"Widgets"
@ -1742,3 +1880,51 @@ _deck:
list:"Listas"
mentions:"Menciones"
direct:"Mensaje directo"
manageGroups:Administrar grupos
replayTutorial:Repetir Tutorial
privateMode:Modo privado
addInstance:Añadir una instancia
renoteMute:Silenciar impulsos
renoteUnmute:Dejar de silenciar impulsos
flagSpeakAsCat:Habla como un gato
selectInstance:Selectiona una instancia
flagSpeakAsCatDescription:Tu publicación se "nyanified" cuando esté en modo gato
allowedInstances:Instancias en la lista blanca
breakFollowConfirm:¿Estás seguro de que quieres eliminar el seguidor?
importRequested:"Vous avez initié un import. Cela pourrait prendre un peu de temps."
lists:"Listes"
noLists:"Vous n’avez aucune liste"
note:"Notes"
notes:"Notes"
note:"Post"
notes:"Posts"
following:"Abonnements"
followers:"Abonné·e·s"
followsYou:"Vous suit"
@ -567,14 +567,13 @@ large: "Grand"
medium:"Moyen"
small:"Petit"
generateAccessToken:"Générer un jeton d'accès"
permission:"Autorisations"
permission:"Autorisations"
enableAll:"Tout activer"
disableAll:"Tout désactiver"
tokenRequested:"Autoriser l'accès au compte"
pluginTokenRequestedDescription:"Ce plugin pourra utiliser les autorisations définies ici."
notificationType:"Type de notifications"
edit:"Editer"
useStarForReactionFallback:"Utiliser ★ comme alternative si l’émoji de réaction est inconnu"
emailServer:"Serveur mail"
enableEmail:"Activer la distribution de courriel"
emailConfigInfo:"Utilisé pour confirmer votre adresse de courriel et la réinitialisation de votre mot de passe en cas d’oubli."
@ -640,7 +639,7 @@ createNew: "Créer nouveau"
optional:"Facultatif"
createNewClip:"Créer un nouveau clip"
public:"Public"
i18nInfo:"Misskey est traduit dans différentes langues par des bénévoles. Vous pouvez contribuer à {link}."
i18nInfo:"Calckey est traduit dans différentes langues par des bénévoles. Vous pouvez contribuer à {link}."
manageAccessTokens:"Gérer les jetons d'accès"
accountInfo:" Informations du compte "
notesCount:"Nombre de notes"
@ -1103,28 +1102,26 @@ _time:
hour:"h"
day:"j"
_tutorial:
title:"Comment utiliser Misskey"
step1_1:"Bienvenue,"
step1_2:"Cette page est appelée « un fil ». Elle affiche les « notes » des personnes auxquelles vous êtes abonné dans un ordre chronologique."
step1_3:"Votre fil est actuellement vide vu que vous ne suivez aucun compte et que vous n’avez publié aucune note, pour l’instant."
step2_1:"Procédons d’abord à la préparation de votre profil avant d’écrire une note et/ou de vous abonner à un compte."
step2_2:"En fournissant quelques informations sur vous, il sera plus facile pour les autres de s’abonner à votre compte."
step3_1:"Vous avez fini de créer votre profil ?"
step3_2:"L’étape suivante consiste à créer une note. Vous pouvez commencer en cliquant sur l’icône crayon sur l’écran."
step3_3:"Remplissez le cadran et cliquez sur le bouton en haut à droite pour envoyer."
step3_4:"Vous n’avez rien à dire ? Essayez d’écrire « J’ai commencé à utiliser Misskey »."
step4_1:"Avez-vous publié votre première note ?"
step4_2:"Youpi ! Celle-ci est maintenant affichée sur votre fil d’actualité."
step5_1:"Maintenant, essayons de nous abonner à d’autres personnes afin de rendre votre fil plus vivant."
step5_2:"La page {featured} affiche les notes en tendance sur la présente instance et {explore} vous permet de trouver des utilisateur·rice·s en tendance. Essayez de vous abonner aux gens que vous aimez !"
step5_3:"Pour pouvoir suivre d’autres utilisateur·rice, cliquez sur leur avatar afin d’afficher la page du profil utilisateur ensuite appuyez sur le bouton « S’abonner »."
step5_4:"Si l’autre utilisateur possède une icône sous forme d’un cadenas à côté de son nom, il devra accepter votre demande d’abonnement manuellement."
step6_1:"Maintenant, vous êtes en mesure de voir s’afficher les notes des autres utilisateur·rice·s sur votre propre fil."
step6_2:"Vous avez également la possibilité d’intéragir rapidement avec les notes des autres utilisateur·rice·s en ajoutant des « réactions »."
step6_3:"Pour ajouter une réaction à une note, cliquez sur le signe « + » de celle-ci et sélectionnez l’émoji souhaité."
step7_1:"Félicitations ! Vous avez atteint la fin du tutoriel de base pour l’utilisation de Misskey."
step7_2:"Si vous désirez en savoir plus sur Misskey, jetez un œil sur la section {help}."
step7_3:"Bon courage et amusez-vous bien sur Misskey ! 🚀"
title:"Comment utiliser Calckey"
step1_1 :"Bienvenue!"
step1_2 :"On va vous installer. Vous serez opérationnel en un rien de temps"
step2_1 :"Tout d'abord, remplissez votre profil"
step2_2 :"En fournissant quelques informations sur qui vous êtes, il sera plus facile pour les autres de savoir s'ils veulent voir vos notes ou vous suivre."
step3_1 :"Maintenant il est temps de suivre des gens !"
step3_2 :"Votre page d'accueil et vos timelines sociales sont basées sur les personnes que vous suivez, alors essayez de suivre quelques comptes pour commencer.\nCliquez sur le cercle plus en haut à droite d'un profil pour le suivre."
step4_1 :"On y va."
step4_2 :"Pour votre premier post, certaines personnes aiment faire un post {introduction} ou un simple post 'Hello world'."
step5_1 :"Lignes de temps, lignes de temps partout !"
step5_2 :"Votre instance a {timelines} différentes chronologies activées !"
step5_3 :"La timeline Home {icon} est l'endroit où vous pouvez voir les publications de vos followers."
step5_4 :"La timeline locale {icon} est l'endroit où vous pouvez voir les messages de tout le monde sur cette instance."
step5_5 :"La timeline {icon} recommandée est l'endroit où vous pouvez voir les messages des instances que les administrateurs recommandent."
step5_6 :"La timeline {icon} sociale est l'endroit où vous pouvez voir les publications des amis de vos followers."
step5_7 :"La timeline globale {icon} est l'endroit où vous pouvez voir les messages de toutes les autres instances connectées."
step6_1 :"Alors quel est cet endroit ?"
step6_2 :"Eh bien, vous ne venez pas de rejoindre Calckey. Vous avez rejoint un portail vers le Fediverse, un réseau interconnecté de milliers de serveurs, appelés \"instances\"."
step6_3 :"Chaque serveur fonctionne différemment, et tous les serveurs n'utilisent pas Calckey. Cependant, celui-ci le fait ! C'est un peu délicat, mais vous aurez le coup de main en un rien de temps."
step6_4 :"Maintenant, allez-y, explorez et amusez-vous !"
pluginTokenRequestedDescription:"Il plugin potrà utilizzare le autorizzazioni impostate qui."
notificationType:"Tipo di notifiche"
edit:"Modifica"
useStarForReactionFallback:"Se è sconosciuto l'emoji di reazione, usare la ★ come alternativa."
emailServer:"Server email"
enableEmail:"Abilita consegna email"
emailConfigInfo:"Utilizzato per verificare il tuo indirizzo di posta elettronica e per reimpostare la tua password"
@ -637,7 +636,7 @@ createNew: "Crea nuov@"
optional:"Opzionale"
createNewClip:"Nuova clip"
public:"Pubblica"
i18nInfo:"Misskey è tradotto in diverse lingue da volontari. Anche tu puoi contribuire su {link}."
i18nInfo:"Calckey è tradotto in diverse lingue da volontari. Anche tu puoi contribuire su {link}."
manageAccessTokens:"Gestisci token di accesso"
accountInfo:"Informazioni account"
notesCount:"Conteggio note"
@ -1026,28 +1025,26 @@ _time:
hour:"ore"
day:"giorni"
_tutorial:
title:"Come usare Misskey"
step1_1:"Benvenuto/a!"
step1_2:"Questa pagina si chiama una \" Timeline \". Mostra in ordine cronologico le \" note \" delle persone che segui."
step1_3:"Attualmente la tua Timeline è vuota perché non segui alcun account e non hai pubblicato alcuna nota ancora."
step2_1:"Prima di scrivere una nota o di seguire un account, imposta il tuo profilo!"
step2_2:"Aggiungere qualche informazione su di te aumenterà le tue possibilità di essere seguit@ da altre persone. "
step3_1:"Hai finito di impostare il tuo profilo?"
step3_2:"Ora, puoi pubblicare una nota. Facciamo una prova! Premi il pulsante a forma di penna in cima allo schermo per aprire una finestra di dialogo. "
step3_3:"Scritto il testo della nota, puoi pubblicarla premendo il pulsante nella parte superiore destra della finestra di dialogo."
step3_4:"Non ti viene niente in mente? Perché non scrivi semplicemente \"Ho appena cominciato a usare Misskey\"?"
step4_1:"Hai pubblicato qualcosa?"
step4_2:"Se puoi visualizzare la tua nota sulla timeline, ce l'hai fatta!"
step5_1:"Adesso, cerca di seguire altre persone per vivacizzare la tua timeline. "
step5_2:"La pagina {featured} mostra le note di tendenza su questa istanza, e magari ti aiuterà a trovare account che ti piacciono e che vorrai seguire. Oppure, potrai trovare utenti popolari usando {explore}."
step5_3:"Per seguire altrə utenti, clicca sul loro avatar per aprire la pagina di profilo dove puoi premere il pulsante \"Seguire\". "
step5_4:"Alcunə utenti scelgono di confermare manualmente le richieste di follow che ricevono, quindi a seconda delle persone potrebbe volerci un pò prima che la tua richiesta sia accolta."
step6_1:"Ora, se puoi visualizzare le note di altrə utenti sulla tua timeline, ce l'hai fatta!"
step6_2:"Puoi inviare una risposta rapida alle note di altrə utenti mandando loro \"reazioni\"."
step6_3:"Per inviare una reazione, premi l'icona + della nota e scegli l'emoji che vuoi mandare."
step7_1:"Complimenti! Sei arrivat@ alla fine dell'esercitazione di base su come usare Misskey. "
step7_2:"Se vuoi saperne di più su Misskey, puoi dare un'occhiata alla sezione {help}."
step7_3:"Da ultimo, buon divertimento su Misskey! 🚀"
titolo:"Come usare Calckey"
step1_1:"Benvenuto!"
step1_2:"Vediamo di configurarla. Sarete operativi in men che non si dica!"
step2_1:"Per prima cosa, compila il tuo profilo"
step2_2:"Fornendo alcune informazioni su chi siete, sarà più facile per gli altri capire se vogliono vedere le vostre note o seguirvi"
step3_1:"Ora è il momento di seguire alcune persone!"
step3_2:"La vostra home e le vostre timeline social si basano su chi seguite, quindi provate a seguire un paio di account per iniziare.\nCliccate sul cerchio più in alto a destra di un profilo per seguirlo"
step4_1:"Fatevi conoscere"
step4_2:"Per il vostro primo post, alcuni preferiscono fare un post di {introduction} o un semplice \"Ciao mondo!\""
step5_2:"La tua istanza ha attivato {timelines} diverse timelines"
step5_3:"La timeline Home {icon} è quella in cui si possono vedere i post dei propri follower"
step5_4:"La timeline Locale {icon} è quella in cui si possono vedere i post di tutti gli altri utenti di questa istanza"
step5_5:"La timeline Raccomandati {icon} è quella in cui si possono vedere i post delle istanze raccomandate dagli amministratori"
step5_6:"La timeline Social {icon} è quella in cui si possono vedere i post degli amici dei propri follower"
step5_7:"La timeline Globale {icon} è quella in cui si possono vedere i post di ogni altra istanza collegata"
step6_1:"Allora, cos'è questo posto?"
step6_2:"Beh, non ti sei semplicemente unito a Calckey. Sei entrato in un portale del Fediverse, una rete interconnessa di migliaia di server, chiamata \"istanze\""
step6_3:"Ogni server funziona in modo diverso, e non tutti i server eseguono Calckey. Questo però lo fa! È un po' complicato, ma ci riuscirete in poco tempo"
step1_2:"Táto stránka sa volá \"časová os\". Zobrazuje chronologicky zoradené \"poznámky\" od ľudí, ktorých sledujete."
step1_3:"Vaša časová os je teraz prázdna pretože ste nepridali žiadne poznámky ani nikoho zatiaľ nesledujete."
step2_1:"Podˇme dokončiť nastavenia vášho profilu pred napísaním poznámky alebo sledovaním niekoho."
step2_2:"Poskytnutím informácií o vás uľahčíte ostatným, či chcú vidieť alebo sledovať vaše poznámky."
step3_1:"Dokončili ste nastavovanie svojho profilu?"
step3_2:"Poďme vyskúšať napísať poznámku. Môžete to spraviť stlačením ikony ceruzky na vrchu obrazovky."
step3_3:"Vyplňte polia a stlačte tlačítko vpravo hore."
step3_4:"Nemáte čo povedať? Skúste \"len si nastavujem môj msky\"!"
step4_1:"Napísali ste svoju prvú poznámku?"
step4_2:"Hurá! Teraz by vaša prvá poznámka mala byť na vašej časovej osi."
step5_1:"Teraz skúsme oživiť časovú os sledovaním nejakých ľudí."
step5_2:"{featured} zobrazí populárne poznámku na tomto serveri. {explore} môžete objavovať populárnych používateľov. Skúste tam nájsť ľudí, ktorých by ste radi sledovali!"
step5_3:"Ak chcete sledovať ďalších používateľov, kliknite na ich ikonu a stlačte tlačidlo \"Sledovať\" na ich profile."
step5_4:"Ak má niektorý používateľ ikonu zámku vedľa svojho mena, znamená to, že môže trvať určitý čas, kým daný používateľ schváli vašu žiadosť o sledovanie."
step6_1:"Teraz by ste mali vidieť poznámky ďalších používateľov na svojej časovej osi."
step6_2:"Môžete dať \"reakcie\" na poznámky ďalších ľudí ako rýchlu odpoveď."
step6_3:"Reakciu pridáte kliknutím na \"+\" niekoho poznámke a vybratím emoji, ktorou chcete reagovať."