diff --git a/README.md b/README.md index 41ba4809..3668d147 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@

Lemmy

- A link aggregator / reddit clone for the fediverse. + A link aggregator / Reddit clone for the fediverse.

View Site @@ -40,9 +40,9 @@ Front Page|Post For a link aggregator, this means a user registered on one server can subscribe to forums on any other server, and can have discussions with users registered elsewhere. -The overall goal is to create an easily self-hostable, decentralized alternative to reddit and other link aggregators, outside of their corporate control and meddling. +The overall goal is to create an easily self-hostable, decentralized alternative to Reddit and other link aggregators, outside of their corporate control and meddling. -Each lemmy server can set its own moderation policy; appointing site-wide admins, and community moderators to keep out the trolls, and foster a healthy, non-toxic environment where all can feel comfortable contributing. +Each Lemmy server can set its own moderation policy; appointing site-wide admins, and community moderators to keep out the trolls, and foster a healthy, non-toxic environment where all can feel comfortable contributing. *Note: Federation is still in active development and the WebSocket, as well as, HTTP API are currently unstable* @@ -70,7 +70,7 @@ Each lemmy server can set its own moderation policy; appointing site-wide admins - Only a minimum of a username and password is required to sign up! - User avatar support. - Live-updating Comment threads. - - Full vote scores `(+/-)` like old reddit. + - Full vote scores `(+/-)` like old Reddit. - Themes, including light, dark, and solarized. - Emojis with autocomplete support. Start typing `:` - User tagging using `@`, Community tagging using `!`. diff --git a/ansible/VERSION b/ansible/VERSION index 2c0a9c7b..378c127d 100644 --- a/ansible/VERSION +++ b/ansible/VERSION @@ -1 +1 @@ -v0.7.2 +v0.7.6 diff --git a/ansible/templates/docker-compose.yml b/ansible/templates/docker-compose.yml index f4c94fd7..76c53463 100644 --- a/ansible/templates/docker-compose.yml +++ b/ansible/templates/docker-compose.yml @@ -35,7 +35,7 @@ services: restart: always iframely: - image: dogbin/iframely:latest + image: jolt/iframely:v1.4.3 ports: - "127.0.0.1:8061:80" volumes: diff --git a/ansible/templates/nginx.conf b/ansible/templates/nginx.conf index b710fdb3..5847bad0 100644 --- a/ansible/templates/nginx.conf +++ b/ansible/templates/nginx.conf @@ -1,4 +1,5 @@ proxy_cache_path /var/cache/lemmy_frontend levels=1:2 keys_zone=lemmy_frontend_cache:10m max_size=100m use_temp_path=off; +limit_req_zone $binary_remote_addr zone=lemmy_ratelimit:10m rate=1r/s; server { listen 80; @@ -51,6 +52,9 @@ server { # Upload limit for pictrs client_max_body_size 20M; + # Rate limit + limit_req zone=lemmy_ratelimit burst=30 nodelay; + location / { proxy_pass http://0.0.0.0:8536; proxy_set_header X-Real-IP $remote_addr; diff --git a/docker/dev/docker-compose.yml b/docker/dev/docker-compose.yml index 51a3ecda..fc6e2105 100644 --- a/docker/dev/docker-compose.yml +++ b/docker/dev/docker-compose.yml @@ -40,7 +40,7 @@ services: restart: always iframely: - image: dogbin/iframely:latest + image: jolt/iframely:v1.4.3 ports: - "127.0.0.1:8061:80" volumes: diff --git a/docker/dev/test_deploy.sh b/docker/dev/test_deploy.sh index c2ecc0c8..7641c940 100755 --- a/docker/dev/test_deploy.sh +++ b/docker/dev/test_deploy.sh @@ -9,10 +9,10 @@ export COMPOSE_DOCKER_CLI_BUILD=1 export DOCKER_BUILDKIT=1 # Rebuilding dev docker -sudo docker build . -f "docker/dev/Dockerfile" -t "dessalines/lemmy:$BRANCH" +sudo docker build ../../ -f . -t "dessalines/lemmy:$BRANCH" sudo docker push "dessalines/lemmy:$BRANCH" # Run the playbook -pushd ../lemmy-ansible +pushd ../../../lemmy-ansible ansible-playbook -i test playbooks/site.yml popd diff --git a/docker/federation/docker-compose.yml b/docker/federation/docker-compose.yml index cbc648e6..51a37b91 100644 --- a/docker/federation/docker-compose.yml +++ b/docker/federation/docker-compose.yml @@ -107,6 +107,6 @@ services: - ./volumes/postgres_gamma:/var/lib/postgresql/data iframely: - image: dogbin/iframely:latest + image: jolt/iframely:v1.4.3 volumes: - ../iframely.config.local.js:/iframely/config.local.js:ro diff --git a/docker/prod/docker-compose.yml b/docker/prod/docker-compose.yml index ef3d6975..cd364a3c 100644 --- a/docker/prod/docker-compose.yml +++ b/docker/prod/docker-compose.yml @@ -12,7 +12,7 @@ services: restart: always lemmy: - image: dessalines/lemmy:v0.7.2 + image: dessalines/lemmy:v0.7.6 ports: - "127.0.0.1:8536:8536" restart: always @@ -35,7 +35,7 @@ services: restart: always iframely: - image: dogbin/iframely:latest + image: jolt/iframely:v1.4.3 ports: - "127.0.0.1:8061:80" volumes: diff --git a/docs/src/administration_install_ansible.md b/docs/src/administration_install_ansible.md index 77d901b3..4676f47d 100644 --- a/docs/src/administration_install_ansible.md +++ b/docs/src/administration_install_ansible.md @@ -11,6 +11,9 @@ git clone https://github.com/LemmyNet/lemmy.git cd lemmy/ansible/ cp inventory.example inventory nano inventory # enter your server, domain, contact email +# If the command below fails, you may need to comment out this line +# In the ansible.cfg file: +# interpreter_python=/usr/bin/python3 ansible-playbook lemmy.yml --become ``` diff --git a/docs/src/lemmy_council.md b/docs/src/lemmy_council.md index 08c25fb8..9b24522a 100644 --- a/docs/src/lemmy_council.md +++ b/docs/src/lemmy_council.md @@ -1,6 +1,7 @@ # Lemmy Council -- A group of lemmy developers and users that use a well-defined democratic process to steer the project in a positive direction, keep it aligned to community goals, and resolve conflicts. +- A group of lemmy developers and users that use a well-defined democratic process to steer the project in a positive direction, keep it aligned to community goals, and resolve conflicts. +- Council members are also added as administrators to any official Lemmy instances. ## Voting / Decision-Making @@ -52,4 +53,4 @@ General Contact [@LemmyDev Mastodon](https://mastodon.social/@LemmyDev) - [Dessalines](https://dev.lemmy.ml/u/dessalines) - [Nutomic](https://dev.lemmy.ml/u/nutomic) - [AgreeableLandscape](https://dev.lemmy.ml/u/AgreeableLandscape) -- [fruechtchen](https://dev.lemmy.ml/u/fruechtchen) \ No newline at end of file +- [fruechtchen](https://dev.lemmy.ml/u/fruechtchen) diff --git a/server/src/api/user.rs b/server/src/api/user.rs index e7c27def..a4e47e41 100644 --- a/server/src/api/user.rs +++ b/server/src/api/user.rs @@ -739,7 +739,8 @@ impl Perform for Oper { } let ban = data.ban; - let ban_user = move |conn: &'_ _| User_::ban_user(conn, user_id, ban); + let banned_user_id = data.user_id; + let ban_user = move |conn: &'_ _| User_::ban_user(conn, banned_user_id, ban); if blocking(pool, ban_user).await?.is_err() { return Err(APIError::err("couldnt_update_user").into()); } diff --git a/server/src/lib.rs b/server/src/lib.rs index 3657b4a2..3d09b25d 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -480,7 +480,7 @@ mod tests { lazy_static! { static ref EMAIL_REGEX: Regex = Regex::new(r"^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$").unwrap(); - static ref SLUR_REGEX: Regex = RegexBuilder::new(r"(fag(g|got|tard)?|maricos?|cock\s?sucker(s|ing)?|nig(\b|g?(a|er)?(s|z)?)\b|dindu(s?)|mudslime?s?|kikes?|mongoloids?|towel\s*heads?|\bspi(c|k)s?\b|\bchinks?|niglets?|beaners?|\bnips?\b|\bcoons?\b|jungle\s*bunn(y|ies?)|jigg?aboo?s?|\bpakis?\b|rag\s*heads?|gooks?|cunts?|bitch(es|ing|y)?|puss(y|ies?)|twats?|feminazis?|whor(es?|ing)|\bslut(s|t?y)?|\btrann?(y|ies?)|ladyboy(s?)|\b(b|re|r)tard(ed)?s?)").case_insensitive(true).build().unwrap(); + static ref SLUR_REGEX: Regex = RegexBuilder::new(r"(fag(g|got|tard)?|maricos?|cock\s?sucker(s|ing)?|n(i|1)g(\b|g?(a|er)?(s|z)?)\b|dindu(s?)|mudslime?s?|kikes?|mongoloids?|towel\s*heads?|\bspi(c|k)s?\b|\bchinks?|niglets?|beaners?|\bnips?\b|\bcoons?\b|jungle\s*bunn(y|ies?)|jigg?aboo?s?|\bpakis?\b|rag\s*heads?|gooks?|cunts?|bitch(es|ing|y)?|puss(y|ies?)|twats?|feminazis?|whor(es?|ing)|\bslut(s|t?y)?|\btr(a|@)nn?(y|ies?)|ladyboy(s?)|\b(b|re|r)tard(ed)?s?)").case_insensitive(true).build().unwrap(); static ref USERNAME_MATCHES_REGEX: Regex = Regex::new(r"/u/[a-zA-Z][0-9a-zA-Z_]*").unwrap(); // TODO keep this old one, it didn't work with port well tho // static ref WEBFINGER_USER_REGEX: Regex = Regex::new(r"@(?P[\w.]+)@(?P[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)").unwrap(); diff --git a/server/src/version.rs b/server/src/version.rs index b49db803..b72c8198 100644 --- a/server/src/version.rs +++ b/server/src/version.rs @@ -1 +1 @@ -pub const VERSION: &str = "v0.7.2"; +pub const VERSION: &str = "v0.7.6"; diff --git a/ui/src/components/comment-form.tsx b/ui/src/components/comment-form.tsx index 45974cc0..72a604b9 100644 --- a/ui/src/components/comment-form.tsx +++ b/ui/src/components/comment-form.tsx @@ -185,6 +185,7 @@ export class CommentForm extends Component { target="_blank" class="d-inline-block float-right text-muted font-weight-bold" title={i18n.t('formatting_help')} + rel="noopener" > diff --git a/ui/src/components/community.tsx b/ui/src/components/community.tsx index 373d8f80..c193532b 100644 --- a/ui/src/components/community.tsx +++ b/ui/src/components/community.tsx @@ -217,6 +217,7 @@ export class Community extends Component { }`} target="_blank" title="RSS" + rel="noopener" > # diff --git a/ui/src/components/iframely-card.tsx b/ui/src/components/iframely-card.tsx index 3a89023f..0d3f43f6 100644 --- a/ui/src/components/iframely-card.tsx +++ b/ui/src/components/iframely-card.tsx @@ -44,7 +44,12 @@ export class IFramelyCard extends Component< ) : ( - + {post.embed_title} @@ -55,6 +60,7 @@ export class IFramelyCard extends Component< class="text-muted font-italic" target="_blank" href={post.url} + rel="noopener" > {new URL(post.url).hostname} diff --git a/ui/src/components/inbox.tsx b/ui/src/components/inbox.tsx index edbacd51..3b963a79 100644 --- a/ui/src/components/inbox.tsx +++ b/ui/src/components/inbox.tsx @@ -109,6 +109,7 @@ export class Inbox extends Component { href={`/feeds/inbox/${UserService.Instance.auth}.xml`} target="_blank" title="RSS" + rel="noopener" > # diff --git a/ui/src/components/main.tsx b/ui/src/components/main.tsx index c168feb0..4e04fe48 100644 --- a/ui/src/components/main.tsx +++ b/ui/src/components/main.tsx @@ -452,6 +452,7 @@ export class Main extends Component { @@ -467,6 +468,7 @@ export class Main extends Component { }`} target="_blank" title="RSS" + rel="noopener" > # diff --git a/ui/src/components/post-form.tsx b/ui/src/components/post-form.tsx index 9f5aa363..fdf6ebe4 100644 --- a/ui/src/components/post-form.tsx +++ b/ui/src/components/post-form.tsx @@ -222,6 +222,7 @@ export class PostForm extends Component { )}`} target="_blank" class="mr-2 d-inline-block float-right text-muted small font-weight-bold" + rel="noopener" > {i18n.t('archive_link')} @@ -302,6 +303,7 @@ export class PostForm extends Component { diff --git a/ui/src/components/post-listing.tsx b/ui/src/components/post-listing.tsx index b4cc4f92..3d608842 100644 --- a/ui/src/components/post-listing.tsx +++ b/ui/src/components/post-listing.tsx @@ -197,6 +197,7 @@ export class PostListing extends Component { className="text-body" href={post.url} target="_blank" + rel="noopener" title={post.url} > {this.imgThumb(this.getImage(true))} @@ -227,6 +228,7 @@ export class PostListing extends Component { href={post.url} target="_blank" title={post.url} + rel="noopener" > @@ -303,6 +305,7 @@ export class PostListing extends Component { href={post.url} target="_blank" title={post.url} + rel="noopener" > {post.name} @@ -323,6 +326,7 @@ export class PostListing extends Component { href={post.url} target="_blank" title={post.url} + rel="noopener" > {hostname(post.url)} diff --git a/ui/src/components/private-message-form.tsx b/ui/src/components/private-message-form.tsx index 8cb7590e..10782361 100644 --- a/ui/src/components/private-message-form.tsx +++ b/ui/src/components/private-message-form.tsx @@ -175,6 +175,7 @@ export class PrivateMessageForm extends Component< # @@ -236,6 +237,7 @@ export class PrivateMessageForm extends Component< diff --git a/ui/src/components/sort-select.tsx b/ui/src/components/sort-select.tsx index a6ce2ea9..05abdb20 100644 --- a/ui/src/components/sort-select.tsx +++ b/ui/src/components/sort-select.tsx @@ -47,6 +47,7 @@ export class SortSelect extends Component { className="text-muted" href={sortingHelpUrl} target="_blank" + rel="noopener" title={i18n.t('sorting_help')} > diff --git a/ui/src/components/sponsors.tsx b/ui/src/components/sponsors.tsx index 35ec7635..06e13524 100644 --- a/ui/src/components/sponsors.tsx +++ b/ui/src/components/sponsors.tsx @@ -10,6 +10,9 @@ interface SilverUser { } let general = [ + 'Andrew Plaza', + 'Jonathan Cremin', + 'Arthur Nieuwland', 'Ernest Wiśniewski', 'HN', 'Forrest Weghorst', @@ -86,7 +89,7 @@ export class Sponsors extends Component { {silver.map(s => (

- + 💎 {s.name}
diff --git a/ui/src/components/user.tsx b/ui/src/components/user.tsx index f635a1cd..69914fd3 100644 --- a/ui/src/components/user.tsx +++ b/ui/src/components/user.tsx @@ -317,6 +317,7 @@ export class User extends Component { SortType[this.state.sort] }`} target="_blank" + rel="noopener" title="RSS" > @@ -463,6 +464,7 @@ export class User extends Component { !this.state.user.matrix_user_id && 'disabled' }`} target="_blank" + rel="noopener" href={`https://matrix.to/#/${this.state.user.matrix_user_id}`} > {i18n.t('send_secure_message')} @@ -586,7 +588,11 @@ export class User extends Component {
diff --git a/ui/src/env.ts b/ui/src/env.ts index a57b9349..5003986b 100644 --- a/ui/src/env.ts +++ b/ui/src/env.ts @@ -1,6 +1,6 @@ const host = `${window.location.hostname}`; const port = `${ - window.location.port == '4444' ? '8540' : window.location.port + window.location.port == '4444' ? '8536' : window.location.port }`; const endpoint = `${host}:${port}`; diff --git a/ui/src/version.ts b/ui/src/version.ts index 92d18546..8ad27e7c 100644 --- a/ui/src/version.ts +++ b/ui/src/version.ts @@ -1 +1 @@ -export const version: string = 'v0.7.2'; +export const version: string = 'v0.7.6'; diff --git a/ui/translations/de.json b/ui/translations/de.json index ef42d418..3199bc7a 100644 --- a/ui/translations/de.json +++ b/ui/translations/de.json @@ -50,14 +50,14 @@ "remove_as_admin": "Als Administrator entfernen", "appoint_as_admin": "Zum Administrator ernennen", "remove": "entfernen", - "removed": "entfernt", + "removed": "entfernt durch die Moderation", "locked": "gesperrt", "stickied": "angeheftet", "reason": "Grund", "mark_as_read": "als gelesen markieren", "mark_as_unread": "als ungelesen markieren", "delete": "löschen", - "deleted": "gelöscht", + "deleted": "vom Ersteller gelöscht", "delete_account": "Konto löschen", "delete_account_confirm": "Achtung: Dadurch werden alle Ihre Daten dauerhaft gelöscht. Geben Sie zur Bestätigung Ihr Passwort ein.", "restore": "wiederherstellen", @@ -150,7 +150,7 @@ "theme": "Aussehen", "sponsors": "Sponsoren", "sponsors_of_lemmy": "Sponsoren von Lemmy", - "sponsor_message": "Lemmy ist freie <1>Open-Source Software, also ohne Werbung, Monetarisierung oder Venturekapital, Punkt. Deine Spenden gehen direkt an die Vollzeit Entwicklung des Projekts. Vielen Dank an die folgenden Personen:", + "sponsor_message": "Lemmy ist freie <1>Open-Source Software, ohne Werbung, Monetarisierung oder Venturekapital, Punkt. Deine Spenden gehen direkt an die Vollzeit Entwicklung des Projekts. Vielen Dank an die folgenden Personen:", "support_on_patreon": "Auf Patreon unterstützen", "support_on_liberapay": "Auf Liberapay unterstützen", "general_sponsors": "Allgemeine Sponsoren sind die, die zwischen $10 und $39 zu Lemmy beitragen.", @@ -251,5 +251,10 @@ "number_of_upvotes": "{{count}} Stimme", "number_of_upvotes_plural": "{{count}} Stimmen", "number_of_downvotes": "{{count}} Gegenstimme", - "number_of_downvotes_plural": "{{count}} Gegenstimmen" + "number_of_downvotes_plural": "{{count}} Gegenstimmen", + "invalid_community_name": "Ungültiger Name.", + "click_to_delete_picture": "Klicke, um das Bild zu löschen.", + "picture_deleted": "Bild gelöscht.", + "select_a_community": "Wähle eine Community aus", + "invalid_username": "Ungültiger Benutzername." } diff --git a/ui/translations/el.json b/ui/translations/el.json index 0967ef42..4dab7c88 100644 --- a/ui/translations/el.json +++ b/ui/translations/el.json @@ -1 +1,260 @@ -{} +{ + "invalid_community_name": "Άκυρο όνομα.", + "click_to_delete_picture": "Κλικ για διαγραφή εικόνας.", + "picture_deleted": "Η φωτογραφία διαγράφηκε.", + "cross_posts": "Αυτός ο σύνδεσμος έχει επίσης δημοσιευτεί σε:", + "create_post": "Δημιουργία δημοσίευσης", + "create_a_post": "Δημιουργία μιας δημοσίευσης", + "number_of_posts": "{{count}} Δημοσίευση", + "number_of_posts_plural": "{{count}} Δημοσιεύσεις", + "posts": "Δημοσιεύσεις", + "related_posts": "Αυτές οι δημοσιεύσεις μπορεί να σχετίζονται", + "cross_post": "Επαναδημοσίευση", + "cross_posted_to": "Επαναδημοσιευμένο σε: ", + "comments": "Σχόλια", + "number_of_comments": "{{count}} Σχόλιο", + "number_of_comments_plural": "{{count}} Σχόλια", + "post": "δημοσίευση", + "remove_post": "Αφαίρεση δημοσίευσης", + "no_posts": "Δεν υπάρχουν δημοσιεύσεις.", + "remove_comment": "Αφαίρεση σχολίου", + "communities": "Κοινότητες", + "users": "Χρήστες", + "create_a_community": "Δημιουργία μιας κοινότητας", + "create_community": "Δημιουργία κοινότητας", + "remove_community": "Αφαίρεση κοινότητας", + "subscribed_to_communities": "Εγγεγραμμένος σε <1>κοινότητες", + "trending_communities": "Τάση σε <1>κοινότητες", + "list_of_communities": "Κατάλογος κοινοτήτων", + "number_of_communities": "{{count}} Κοινότητα", + "number_of_communities_plural": "{{count}} Κοινότητες", + "community_reqs": "πεζά (μικρά) γράμματα, υπογραμμίσεις, και χωρίς κενά.", + "create_private_message": "Δημιουργία προσωπικού μηνύματος", + "send_secure_message": "Αποστολή ασφαλούς μηνύματος", + "send_message": "Αποστολή μηνύματος", + "message": "Μήνυμα", + "edit": "επεξεργασία", + "reply": "απάντηση", + "more": "περισσότερα", + "cancel": "Ακύρωση", + "preview": "Προεπισκόπηση", + "upload_image": "φόρτωση εικόνας", + "avatar": "Άβαταρ", + "upload_avatar": "Φόρτωση άβαταρ", + "show_avatars": "Εμφάνιση των άβαταρς", + "show_context": "Εμφάνιση συμφραζόμενων", + "formatting_help": "βοήθεια μορφοποίησης", + "sorting_help": "βοήθεια ταξινόμησης", + "view_source": "προβολή πηγής", + "unlock": "ξεκλείδωμα", + "lock": "κλείδωμα", + "sticky": "καρφίτσωμα", + "unsticky": "ξεκαρφίτσωμα", + "link": "σύνδεσμος", + "archive_link": "αρχειοθέτηση συνδέσμου", + "mod": "συντονιστής", + "mods": "συντονιστές", + "moderates": "Συντονίζει", + "settings": "Ρυθμίσεις", + "admin_settings": "Ρυθμίσεις διαχειριστή", + "appoint_as_mod": "διορισμός ως συντονιστής", + "site_config": "Διαμόρφωση ιστότοπου", + "remove_as_mod": "αφαίρεση ως συντονιστής", + "modlog": "Ιστορικό συντονισμού", + "admin": "διαχειριστής", + "admins": "διαχειριστές", + "remove_as_admin": "αφαίρεση ως διαχειριστής", + "appoint_as_admin": "διορισμός ως διαχειριστής", + "remove": "αφαίρεση", + "removed": "αφαιρέθηκε από συντονιστή", + "locked": "κλειδωμένο", + "stickied": "καρφιτσωμένο", + "reason": "Λόγος", + "mark_as_read": "επισήμανση ως διαβασμένο", + "mark_as_unread": "επισήμανση ως μη διαβασμένο", + "delete": "διαγραφή", + "deleted": "διαγράφηκε από τον δημιουργό", + "delete_account": "Διαγραφή λογαριασμού", + "delete_account_confirm": "Προσοχή: αυτό θα διαγράψει όλα τα δεδομένα σας. Είσαγετε τον κωδικό σας για επιβεβαίωση.", + "restore": "επαναφορά", + "ban": "απαγόρευση", + "ban_from_site": "απαγόρευση εισόδου στον ιστότοπο", + "unban": "άρση απαγόρευσης", + "unban_from_site": "άρση απαγόρευσης εισόδου στον ιστότοπο", + "banned": "αποβεβλημένος", + "banned_users": "Αποβεβλημένοι χρήστες", + "save": "αποθήκευση", + "unsave": "αναίρεση αποθήκευσης", + "create": "δημιουργία", + "creator": "δημιουργός", + "username": "Όνομα χρήστη", + "email_or_username": "Διεύθυνση ηλεκτρονικού ταχυδρομείου ή όνομα χρήστη", + "number_of_users": "{{count}} Χρήστης", + "number_of_users_plural": "{{count}} Χρήστες", + "number_of_subscribers": "{{count}} Εγγεγραμμένος", + "number_of_subscribers_plural": "{{count}} Εγγεγραμμένοι", + "number_of_points": "{{count}} Βαθμός", + "number_of_points_plural": "{{count}} Βαθμοί", + "number_online": "{{count}} Ενεργός χρήστης", + "number_online_plural": "{{count}} Ενεργοί χρήστες", + "name": "Όνομα", + "title": "Επικεφαλίδα", + "category": "Κατηγορία", + "subscribers": "Εγγεγραμμένοι", + "both": "Και οι δύο", + "saved": "Αποθηκευμένα", + "prev": "Προηγούμενο", + "next": "Επόμενο", + "sidebar": "Πλευρικό μενού", + "sort_type": "Ταξινόμηση κατά", + "hot": "Δημοφιλή", + "new": "Νέα", + "old": "Παλιά", + "unsubscribe": "Απεγγραφή", + "subscribe": "Εγγραφή", + "inbox_for": "Εισερχόμενα για <1>{{user}}", + "mark_all_as_read": "επισήμανση όλων ως διαβασμένα", + "type": "Είδος", + "unread": "Μη διαβασμένα", + "url": "URL", + "subscribed": "Εγγεγραμμένος", + "week": "Εβδομάδα", + "month": "Μήνας", + "year": "Έτος", + "all": "Όλα", + "top": "Κορυφαία", + "api": "Διεπαφή Προγραμματισμού Εφαρμογών (API)", + "docs": "Έγγραφα", + "inbox": "Εισερχόμενα", + "number_of_upvotes": "{{count}} Θετική ψήφος", + "number_of_upvotes_plural": "{{count}} Θετικές ψήφοι", + "number_of_downvotes": "{{count}} Αρνητική ψήφος", + "number_of_downvotes_plural": "{{count}} Αρνητικές ψήφοι", + "replies": "Απαντήσεις", + "mentions": "Αναφορές", + "reply_sent": "Η απάντηση στάλθηκε", + "message_sent": "Το μήνυμα στάλθηκε", + "search": "Αναζήτηση", + "overview": "Επισκόπηση", + "view": "Προβολή", + "logout": "Αποσύνδεση", + "login_sign_up": "Σύνδεση / Εγγραφή", + "login": "Σύνδεση", + "sign_up": "Εγγραφή", + "notifications_error": "Οι ειδοποιήσεις επιφάνειας εργασίας δεν είναι διαθέσιμες στο πρόγραμμα περιήγησής σας. Δοκιμάστε το Firefox ή το Chrome.", + "unread_messages": "Μη διαβασμένα μηνύματα", + "messages": "Μηνύματα", + "password": "Κωδικός", + "verify_password": "Επαλήθευση κωδικού", + "old_password": "Παλιός κωδικός", + "forgot_password": "ξέχασα τον κωδικό μου", + "reset_password_mail_sent": "Μόλις στάλθηκε ένα μήνυμα ηλεκτρονικού ταχυδρομείου για την επαναφορά του κωδικού σας.", + "password_change": "Αλλαγή κωδικού", + "new_password": "Νέος κωδικός", + "no_email_setup": "Αυτός ο διακομιστής δεν έχει εγκαταστήσει σωστά το email.", + "email": "Email", + "matrix_user_id": "Χρήστης Matrix", + "private_message_disclaimer": "Προσοχή: τα προσωπικά μηνύματα στο Lemmy δεν είναι ασφαλή. Παρακαλούμε δημιουργήστε έναν λογαριασμό στο <1>Riot.im για ασφαλή επικοινωνία.", + "send_notifications_to_email": "Αποστολή ειδοποιήσεων στη διεύθυνση ηλεκτρονικού ταχυδρομείου", + "optional": "Προαιρετικό", + "expires": "Λήγει", + "language": "Γλώσσα", + "browser_default": "Προεπιλογή από το πρόγραμμα περιήγησης", + "downvotes_disabled": "Αρνητικές ψήφοι απενεργοποιημένες", + "enable_downvotes": "Ενεργοποίηση αρνητικών ψήφων", + "upvote": "Θετική ψήφος", + "downvote": "Αρνητική ψήφος", + "open_registration": "Άνοιγμα εγγραφής", + "registration_closed": "Εγγραφή κλειστή", + "enable_nsfw": "Ανοχή περιεχομένου ακατάλληλου για ανηλίκους", + "select_a_community": "Επιλογή μιας κοινότητας", + "expand_here": "Προέκταση εδώ", + "body": "Κορμός", + "copy_suggested_title": "αντιγραφή προτεινόμενης επικεφαλίδας: {{title}}", + "community": "Κοινότητα", + "subscribe_to_communities": "Εγγραφείτε σε κάποιες <1>κοινότητες.", + "chat": "Συνομιλία", + "recent_comments": "Πρόσφατα σχόλια", + "no_results": "Κανένα αποτέλεσμα.", + "setup": "Εγκατάσταση", + "lemmy_instance_setup": "Εγκατάσταση στιγμιότυπου (instance) Lemmy", + "setup_admin": "Ορισμός διαχειριστή ιστοτόπου", + "your_site": "ο ιστότοπός σας", + "modified": "τροποποιημένο", + "nsfw": "Ακατάλληλο για ανηλίκους", + "show_nsfw": "Προβολή περιεχομένου ακατάλληλου για ανηλίκους", + "theme": "Θέμα", + "sponsors": "Χορηγοί", + "sponsors_of_lemmy": "Χορηγοί του Lemmy", + "sponsor_message": "To Lemmy είναι ελεύθερο, <1>ανοιχτού κώδικα λογισμικό, αυστηρά χωρίς διαφημίσεις ή εξωτερική χρηματοδότηση. Οι δωρεές σας υποστηρίζουν απευθείας την εξέλιξη του πρότζεκτ. Ευχαριστούμε τους ακόλουθους ανθρώπους:", + "support_on_patreon": "Υποστηρίξτε στο Patreon", + "support_on_liberapay": "Υποστηρίξτε στο Liberapay", + "support_on_open_collective": "Υποστηρίξτε στο OpenCollective", + "donate_to_lemmy": "Κάντε δωρεά στο Lemmy", + "donate": "Κάντε δωρεά", + "general_sponsors": "Γενικοί χορηγοί είναι εκείνοι που έκαναν δωρεά από $10 μέχρι $39 στο Lemmy.", + "silver_sponsors": "Ασημένιοι χορηγοί είναι εκείνοι που έκαναν δωρεά $40 στο Lemmy.", + "crypto": "Κρυπτονόμισμα", + "bitcoin": "Bitcoin", + "ethereum": "Ethereum", + "monero": "Monero", + "code": "Κώδικας", + "by": "από", + "to": "προς", + "from": "από", + "transfer_community": "μεταφορά κοινότητας", + "transfer_site": "μεταφορά ιστότοπου", + "are_you_sure": "είστε σίγουρος;", + "powered_by": "Τροφοδοτείται από", + "landing": "Το Lemmy είναι μια <1>ιστοσελίδα συγκέντρωσης συνδέσμων / εναλλακτική του reddit, προορισμένη να δουλέψει μέσα στο <2>fediverse.<3>Μπορεί να φιλοξενηθεί σε διακομιστή οποιουδήποτε, ανανεώνει ζωντανά (live) τα σχόλια, και είναι μικροσκοπικό σε μέγεθος (<4>~80kB). Η ομοσπονδίωση με το ActivityPub δίκτυο βρίσκεται υπό εξέλιξη<5>Αυτή είναι μια <6>πολύ πρώιμη έκδοση beta, συνεπώς πολλές λειτουργίες είναι προς το παρόν αναξιόπιστες ή ανύπαρκτες. <7>Προτείνετε καινούριες λειτουργίες ή αναφέρετε σφάλματα <8>εδώ.<9>Γραμμένο με <10>Rust, <11>Actix, <12>Inferno, <13>Typescript.", + "not_logged_in": "Μη συνδεμένος.", + "logged_in": "Συνδεμένος.", + "site_saved": "Ο ιστότοπος αποθηκεύτηκε.", + "community_ban": "Έχετε αποβληθεί από αυτή την κοινότητα.", + "site_ban": "Έχετε αποβληθεί από τον ιστότοπο", + "couldnt_create_comment": "Δεν μπόρεσε να δημιουργηθεί το σχόλιο.", + "couldnt_like_comment": "Δεν μπόρεσε να ψηφισθεί θετικά το σχόλιο.", + "couldnt_update_comment": "Δεν μπόρεσε να ενημερωθεί το σχόλιο.", + "couldnt_save_comment": "Δεν μπόρεσε να αποθηκευτεί το σχόλιο.", + "couldnt_get_comments": "Δεν μπόρεσαν να φορτώσουν τα σχόλια.", + "no_post_edit_allowed": "Δεν επιτρέπεται η επεξεργασία της δημοσίευσης.", + "no_comment_edit_allowed": "Δεν επιτρέπεται η επεξεργασία του σχολίου.", + "no_community_edit_allowed": "Δεν επιτρέπεται η επεξεργασία της κοινότητας.", + "couldnt_find_community": "Δεν μπόρεσε να βρεθεί η κοινότητα.", + "couldnt_update_community": "Δεν μπόρεσε να ενημερωθεί η κοινότητα.", + "community_already_exists": "Η κοινότητα υπάρχει ήδη.", + "community_moderator_already_exists": "Ο χρήστης είναι ήδη συντονιστής της κοινότητας.", + "community_follower_already_exists": "Ο χρήστης είναι ήδη εγγεγραμμένος στην κοινότητα.", + "community_user_already_banned": "Ο χρήστης έχει ήδη αποβληθεί από την κοινότητα.", + "couldnt_create_post": "Δεν μπόρεσε να δημιουργηθεί η δημοσίευση.", + "post_title_too_long": "Η επικεφαλίδα της δημοσίευσης είναι υπερβολικά μεγάλη.", + "couldnt_like_post": "Δεν μπόρεσε να ψηφισθεί θετικά η δημοσίευση.", + "couldnt_find_post": "Δεν μπόρεσε να βρεθεί η δημοσίευση.", + "yes": "ναι", + "no": "όχι", + "top_day": "Κορυφαία σήμερα", + "joined": "Μέλος από", + "couldnt_get_posts": "Δεν μπόρεσαν να βρεθούν οι δημοσιεύσεις", + "couldnt_update_post": "Δεν μπόρεσε να ενημερωθεί η δημοσίευση", + "couldnt_save_post": "Δεν μπόρεσε να αποθηκευτεί η δημοσίευση.", + "no_slurs": "Όχι προσβολές.", + "not_an_admin": "Ο χρήστης δεν είναι διαχειριστής.", + "site_already_exists": "Ο ιστότοπος υπάρχει ήδη.", + "couldnt_update_site": "Δεν μπόρεσε να ενημερωθεί ο ιστότοπος.", + "couldnt_find_that_username_or_email": "Δεν μπόρεσε να βρεθεί αυτό το όνομα χρήστη ή η διεύθυνση ηλεκτρονικού ταχυδρομείου.", + "password_incorrect": "Λάθος κωδικός.", + "passwords_dont_match": "Οι κωδικοί δεν ταυτίζονται.", + "admin_already_created": "Δυστυχώς υπάρχει ήδη διαχειριστής.", + "user_already_exists": "Ο χρήστης υπάρχει ήδη.", + "email_already_exists": "Η διεύθυνση ηλεκτρονικού ταχυδρομείου υπάρχει ήδη.", + "couldnt_update_user": "Δεν μπόρεσε να ενημερωθεί ο χρήστης.", + "system_err_login": "Σφάλμα στο σύστημα. Προσπαθήστε να αποσυνδεθείτε και να συνδεθείτε ξανά.", + "couldnt_create_private_message": "Δεν μπόρεσε να δημιουργηθεί προσωπικό μήνυμα.", + "no_private_message_edit_allowed": "Δεν επιτρέπεται η επεξεργασία του προσωπικού μηνύματος.", + "time": "Χρόνος", + "couldnt_update_private_message": "Δεν μπόρεσε να ενημερωθεί το προσωπικό μήνυμα.", + "action": "Δράση", + "emoji_picker": "Διαλογέας emoji", + "block_leaving": "Είστε σίγουρος ότι θέλετε να φύγετε;", + "invalid_username": "Λάθος όνομα χρήστη." +} diff --git a/ui/translations/es.json b/ui/translations/es.json index 55b585ca..50beb8c0 100644 --- a/ui/translations/es.json +++ b/ui/translations/es.json @@ -256,5 +256,5 @@ "invalid_username": "Nombre de usuario inválido.", "invalid_community_name": "Nombre inválido.", "click_to_delete_picture": "Haz click para eliminar la imagen.", - "picture_deleted": "Imagen borrada." + "picture_deleted": "Foto eliminada." } diff --git a/ui/translations/eu.json b/ui/translations/eu.json index 22f30ae5..e74d5839 100644 --- a/ui/translations/eu.json +++ b/ui/translations/eu.json @@ -14,29 +14,29 @@ "upload_image": "Irudia igo", "link": "esteka", "remove": "ezabatu", - "mark_as_unread": "irakurri gabea", + "mark_as_unread": "irakurri gabe", "delete": "ezabatu", - "delete_account": "Kontua Ezabatu", + "delete_account": "Ezabatu Kontua", "ban": "kaleratu", - "ban_from_site": "Lekutik kaleratu", + "ban_from_site": "kaleratu gunetik", "unban": "onartu", "save": "gorde", "create": "sortu", - "creator": "sortzaile", - "username": "Erabiltzailea", + "creator": "sortzailea", + "username": "Erabiltzailearen izena", "name": "Izena", "title": "Izenburua", "both": "Biak", "saved": "Gordeta", - "week": "Aste", - "month": "Hilabete", - "year": "Urte", + "week": "Astea", + "month": "Hilabetea", + "year": "Urtea", "all": "Dena", "api": "API", "unread": "Irakurri gabe", "replies": "Erantzunak", "search": "Bilatu", - "sign_up": "Kontua Sortu", + "sign_up": "Erregistratu", "messages": "Mezuak", "password": "Pasahitza", "password_change": "Pasahitza Aldatu", @@ -45,17 +45,17 @@ "language": "Hizkuntza", "url": "URL", "chat": "Txat", - "your_site": "zure lekua", + "your_site": "zure gunea", "nsfw": "NSFW", - "block_leaving": "Ziur ahal zaude atera nahi duzula?", + "block_leaving": "Ziur zaude atera nahi duzula?", "bitcoin": "Bitcoin", "ethereum": "Ethereum", "monero": "Monero", "yes": "bai", "no": "ez", - "couldnt_find_post": "Ezinezkoa argitalpena aurkitzea.", - "couldnt_save_post": "Ezinezkoa argitalpena gordetzea.", - "site_already_exists": "Lekua jada existitzen da.", + "couldnt_find_post": "Ezin izan da post-a aurkitu.", + "couldnt_save_post": "Ezin izan da argitalpena gorde.", + "site_already_exists": "Gunea jada existitzen da.", "action": "Ekintza", "time": "Denbora", "number_of_points": "Puntu {{count}}", @@ -63,5 +63,198 @@ "number_of_users": "Erabiltzaile {{count}}", "number_of_users_plural": "{{count}} Erabiltzaile", "number_of_subscribers": "Jarraitzaile {{count}}", - "number_of_subscribers_plural": "{{count}} Jarraitzaile" + "number_of_subscribers_plural": "{{count}} Jarraitzaile", + "invalid_community_name": "Izen baliogabea.", + "click_to_delete_picture": "Egin klik irudia ezabatzeko.", + "picture_deleted": "Irudia ezabatuta.", + "send_secure_message": "Mezu Segurua Bidali", + "preview": "Aurretiko bista", + "avatar": "Profilaren argazkia", + "upload_avatar": "Profileko argazki bat igo", + "show_avatars": "Profilen argazkia erakutsi", + "show_context": "Erakutsi testuingurua", + "formatting_help": "formatuaren laguntza", + "sorting_help": "sailkatzeko laguntza", + "view_source": "Iturria ikusi", + "unlock": "desblokeatu", + "lock": "blokeatu", + "sticky": "finkatuta", + "unsticky": "finkatu gabe", + "archive_link": "artxiboko esteka", + "mod": "Moderatzailea", + "mods": "Moderatzaileak", + "moderates": "Moderatuak", + "settings": "Konfigurazioa", + "admin_settings": "Administrazio-doikuntzak", + "site_config": "Gunearen Konfigurazioa", + "remove_as_mod": "ezabatu moderatzaile gisa", + "modlog": "Moderatzailearen erregistroa", + "appoint_as_mod": "moderatzaile bezala izendatu", + "admin": "administratzailea", + "admins": "administratzaileak", + "remove_as_admin": "ezabatu administratzaile gisa", + "appoint_as_admin": "administratzaile bezala izendatu", + "removed": "moderatzaileak ezabatua", + "locked": "blokeatuta", + "number_online": "Erabiltzaile {{count}} konektatuta", + "number_online_plural": "{{count}} Erabiltzaile konektatutak", + "subscribed": "Harpidetuta", + "prev": "Aurrekoa", + "create_community": "Komunitate bat sortu", + "create_post": "Sortu argitalpena", + "posts": "Argitalpenak", + "related_posts": "Argitalpen horiek zerikusia izan dezakete", + "cross_posts": "Esteka hau ere hemen argitaratu da:", + "comments": "Iradokizunak", + "number_of_comments": "Iradokizun {{count}}", + "number_of_comments_plural": "{{count}} Iradokizun", + "remove_comment": "Iradokizunak Ezabatu", + "communities": "Komunitateak", + "create_a_community": "Komunitate bat sortu", + "cross_post": "Argitalpen gurutzatua", + "cross_posted_to": "Argitalpen-gurutzatua: ", + "next": "Hurrengoa", + "remove_community": "Komunitatea ezabatu", + "subscribed_to_communities": "<1>komunitateetan harpidetuta", + "trending_communities": "<1>komunitateen joerak", + "list_of_communities": "Komunitateen zerrenda", + "community_reqs": "Letra xehez, azpimarratuta eta espaziorik gabe.", + "create_private_message": "Mezu pribatu bat sortu", + "cancel": "Ezeztatu", + "stickied": "finkatuta", + "reason": "Arrazoi", + "mark_as_read": "markatu irakurrita bezala", + "deleted": "sortzaileak ezabatua", + "delete_account_confirm": "Ohartarazpena: horrek etengabe ezabatuko ditu zure datu guztiak. Idatzi zure pasahitza baieztatzeko.", + "restore": "leheneratu", + "unban_from_site": "gunetik debekua kentzea", + "banned": "kaleratuta", + "banned_users": "Kaleratutako Erabiltzaileak", + "unsave": "ez gorde", + "email_or_username": "e-Posta edo Erabiltzailea", + "category": "Kategoria", + "subscribers": "Jarraitzaileak", + "unsubscribe": "Ez-harpidetu", + "subscribe": "Harpidetu", + "sidebar": "Alboko barra", + "sort_type": "Sailkapen mota", + "hot": "Pil-pilean", + "new": "Berri", + "old": "Zahar", + "top_day": "Eguneko hoberenak", + "top": "Hoberena", + "docs": "Dokumentazioa", + "inbox": "Mezuen sarrera", + "inbox_for": "Sarrera-erretilua <1>{{user}} -rentzat", + "mark_all_as_read": "markatu dena irakurrita bezala", + "type": "Mota", + "number_of_communities": "{{count}} Komunitate", + "number_of_communities_plural": "{{count}} Komunitateak", + "mentions": "Aipamenak", + "reply_sent": "Bidalitako erantzuna", + "message_sent": "Bidalitako mezua", + "overview": "Laburpen", + "view": "Ikusi", + "logout": "Irten", + "login_sign_up": "Sartu / Kontua Sortu", + "login": "Sartu", + "notifications_error": "Mahaigaineko jakinarazpenak ez daude eskuragarri zure web-nabigatzailean. Probatu Firefox edo Chromerekin.", + "unread_messages": "Irakurri gabeko mezuak", + "verify_password": "Pasahitza Balioztatu", + "old_password": "Aurreko Pasahitza", + "forgot_password": "pasahitza ahaztu dut", + "reset_password_mail_sent": "Mezu elektroniko bat bidali pasahitza berrezartzeko.", + "no_email_setup": "Zerbitzari honek ez du posta elektronikoa behar bezala konfiguratu.", + "matrix_user_id": "Matrix Erabiltzailea", + "private_message_disclaimer": "Ohartarazpena: Lemmy-en dauden mezu pribatuak ez dira seguruak. Mesedez, sortu kontu bat <1>Riot.im -en mezu seguruetarako.", + "send_notifications_to_email": "Bidali jakinarazpenak posta elektronikora", + "optional": "Ez-ohikoa", + "browser_default": "Nabigatzaile Lehenetsia", + "downvotes_disabled": "Puntuazio negatiboak desgaituta daude", + "enable_downvotes": "Kontrako botoak gaitu", + "upvote": "Aldeko botoa eman", + "downvote": "Kontrako botoa eman", + "number_of_downvotes": "Kontrako boto {{count}}", + "number_of_downvotes_plural": "{{count}} Kontrako botoak", + "number_of_upvotes": "Aldeko boto {{count}}", + "number_of_upvotes_plural": "{{count}} Aldeko botoak", + "open_registration": "Erregistro Irekia", + "registration_closed": "Erregistroa itxita", + "enable_nsfw": "NSFW gaitu", + "body": "Gorputza", + "copy_suggested_title": "Kopiatu iradokitako izenburua: {{title}}", + "community": "Komunitatea", + "expand_here": "Hedatu hemen", + "subscribe_to_communities": "Harpidetu zaitez <1>komunitate batzuetara.", + "recent_comments": "Duela gutxiko Iruzkinak", + "select_a_community": "Aukeratu komunitate bat", + "no_results": "Emaitzik gabe.", + "setup": "Instalazioa", + "lemmy_instance_setup": "Lemmy Instantziaren Konfigurazioa", + "setup_admin": "Gunearen Administratzailea Konfiguratu", + "modified": "aldatuta", + "show_nsfw": "Erakutsi NSFW edukia", + "expires": "Iraungitzen", + "theme": "Gaia", + "sponsors": "Babesleak", + "sponsors_of_lemmy": "Lemmyren Babesleak", + "sponsor_message": "Lemmy software librea da, <1>kode-irekia<1/>, publizitaterik, monetizaziorik edo arrisku kapitalik gabea, inoiz ez. Zuen dohainek zuzenean laguntzen dute proiektuaren lanaldi osoko garapena. Eskerrik asko honako pertsona hauei:", + "support_on_patreon": "Patreon-en lagundu", + "support_on_liberapay": "Liberpay-en lagundu", + "support_on_open_collective": "OpenCollective-n lagundu", + "donate_to_lemmy": "Dohaintza bat eman Lemmyri", + "donate": "Dohaintza bat egin", + "general_sponsors": "Lemmyri 10 eta 39 dolar artean emateko konpromisoa hartu zutenak dira Babesle Nagusiak.", + "silver_sponsors": "Zilarrezko Babesleak dira Lemmyri 40 dolar eman zizkiotenak.", + "crypto": "Kripto", + "code": "Kodea", + "joined": "Batuta", + "by": "egilea", + "to": "norentzako", + "from": "hemendik", + "transfer_community": "transferentzia-komunitatea", + "transfer_site": "transferentzia-gunea", + "are_you_sure": "Ziur ahal zaude?", + "powered_by": "Egilea", + "landing": "Lemmy <1>lotura-agregatzailea /reddit alternatiboa da, eta <2>fedibertsoan lan egiteko erabiltzen da. <3>Autohospedagarria da, iruzkin-hari eguneratuak ditu, eta txikia da (<4>~80kB). ActivityPub sareko federazioa bide orrian dago. <5><6>Beta bertsio goiztiarra da hau, eta ezaugarri asko hautsita edo desagertuta daude gaur egun. <7>Ezaugarri berriak iradokitzea edo akatsak jakinaraztea <8>hemen.<9> Rust, <11>Actix, <12>Inferno, <13>Typescriptekin egina.", + "logged_in": "Konektatuta zaude.", + "not_logged_in": "Ez zaude konektatuta.", + "site_saved": "Gunea Gordeta.", + "community_ban": "Komunitate honetan sartzea debekatu dizute.", + "site_ban": "Gune honetan sartzea debekatu dizute", + "couldnt_create_comment": "Ezin izan da iruzkinik egin.", + "couldnt_like_comment": "Ezin izan zaio iruzkin bati like bat eman.", + "couldnt_update_comment": "Ezin izan zen iruzkina eguneratu.", + "couldnt_save_comment": "Ezin izan zen iruzkina gorde.", + "couldnt_get_comments": "Ezin izan ziren iruzkinak lortu.", + "no_comment_edit_allowed": "Ezin da iruzkina editatu.", + "no_post_edit_allowed": "Ezin da post-a editatu.", + "no_community_edit_allowed": "Ezin da komunitatea editatu.", + "couldnt_find_community": "Ezin izan da komunitatea aurkitu.", + "couldnt_update_community": "Ezin izan zen komunitatea eguneratu.", + "community_already_exists": "Komunitatea existitzen da jada.", + "community_moderator_already_exists": "Komunitatearen moderatzailea existitzen da dagoeneko.", + "community_follower_already_exists": "Jarraitzaileen komunitatea existitzen da dagoeneko.", + "community_user_already_banned": "Komunitatearen erabiltzaile hau debekatuta dago jada.", + "couldnt_create_post": "Argitalpena ezin izan da sortu.", + "post_title_too_long": "Argitalpenaren izenburua luzeegia da.", + "couldnt_like_post": "Ezin izan zaio like bat eman postari.", + "couldnt_get_posts": "Ezin izan ziren postak lortu", + "couldnt_update_post": "Ezin izan zen post-a eguneratu", + "no_slurs": "Irainik gabe.", + "not_an_admin": "Ez da administratzailea.", + "couldnt_update_site": "Ezinezkoa lekua berritzea.", + "couldnt_find_that_username_or_email": "Ezin izan da aurkitu erabiltzaile-izen edo helbide elektroniko hori.", + "password_incorrect": "Pasahitz desegokia.", + "passwords_dont_match": "Pasahitzak ez dira berdinak.", + "admin_already_created": "Barkatu, badago administratzaile bat dagoeneko.", + "user_already_exists": "Erabiltzailea existitzen da dagoeneko.", + "email_already_exists": "Posta helbide hau beste norbaitek erabiltzen du.", + "couldnt_update_user": "Ezin izan zen erabiltzailea eguneratu.", + "system_err_login": "Sistemaren errorea. Saiatu saioa ixten eta berriro sartzen.", + "couldnt_create_private_message": "Ezinezkoa izan da mezu pribatua sortzea.", + "no_private_message_edit_allowed": "Ezin da mezu pribaturik editatu.", + "couldnt_update_private_message": "Ezinezkoa izan da mezu pribatua berritzea.", + "emoji_picker": "Emoji Hautagailua", + "invalid_username": "Erabiltzaile-izen baliogabea." } diff --git a/ui/translations/it.json b/ui/translations/it.json index 2e9a48d8..cf8c0ea6 100644 --- a/ui/translations/it.json +++ b/ui/translations/it.json @@ -56,7 +56,7 @@ "mark_as_read": "segna come letto", "mark_as_unread": "segna come non letto", "delete": "cancella", - "deleted": "eliminato dall'autore del commento", + "deleted": "eliminato dal creatore", "delete_account": "Cancella Account", "delete_account_confirm": "Attenzione: stai per cancellare permanentemente tutti i tuoi dati. Inserisci la tua password per confermare questa azione.", "restore": "ripristina", @@ -151,7 +151,7 @@ "ethereum": "Ethereum", "monero": "Monero", "code": "Codice", - "joined": "Iscritto da", + "joined": "Iscritto", "by": "di", "to": "su", "transfer_community": "trasferisci comunità", @@ -175,7 +175,7 @@ "couldnt_update_community": "Impossibile aggiornare la comunità.", "community_already_exists": "La comunità esiste già.", "community_moderator_already_exists": "Questo utente è già moderatore della comunità.", - "community_follower_already_exists": "Questo utente è già moderatore della comunità.", + "community_follower_already_exists": "Questo utente è già membro della comunità.", "community_user_already_banned": "L'utente della comunità è già stato espulso.", "couldnt_create_post": "Impossibile creare la pubblicazione.", "couldnt_like_post": "Impossibile apprezzare la pubblicazione.", diff --git a/ui/translations/nl.json b/ui/translations/nl.json index 7fba6c59..cd08f2ff 100644 --- a/ui/translations/nl.json +++ b/ui/translations/nl.json @@ -43,20 +43,20 @@ "remove_as_admin": "verwijder als beheerder", "appoint_as_admin": "benoemen tot beheerder", "remove": "weghalen", - "removed": "weggehaald", + "removed": "weggehaald door moderator", "locked": "gesloten", "reason": "Reden", "mark_as_read": "markeer als gelezen", "mark_as_unread": "markeer als ongelezen", "delete": "verwijder", - "deleted": "verwijderd", + "deleted": "verwijderd door maker", "restore": "herstellen", "ban": "verban", "ban_from_site": "verban van site", "unban": "verbanning opzeggen", "unban_from_site": "verbanning van site opzeggen", "save": "opslaan", - "unsave": "unsave", + "unsave": "weggooien", "create": "maak", "username": "Gebruikersnaam", "email_or_username": "E-mail of gebruikersnaam", @@ -126,7 +126,7 @@ "show_nsfw": "Laat NSFW-inhoud zien", "sponsors": "Sponsoren", "sponsors_of_lemmy": "Sponsoren van Lemmy", - "sponsor_message": "Lemmy is vrije, <1>open-source software, dus zonder reclame, winstoogmerk en durfkapitaal, punt. Jouw donaties gaan direct naar de full-time-ontwikkeling van het project. Met veel dank aan de volgende mensen:", + "sponsor_message": "Lemmy is vrije, <1>open-source software, dus zonder reclame, winstoogmerk en durfkapitaal, punt. Jouw donaties gaan direct naar de full-time-ontwikkeling van het project. Met dank aan de volgende mensen:", "support_on_patreon": "Ondersteun op Patreon", "support_on_liberapay": "Ondersteun op Liberapay", "general_sponsors": "Algemene sponsors zijn sponsors die tussen de $10 en $39 hebben gegeven aan Lemmy.", @@ -230,7 +230,7 @@ "couldnt_create_private_message": "Kan beveiligd bericht niet maken.", "no_private_message_edit_allowed": "Niet toegestaan om privé berichten te wijzigen.", "couldnt_update_private_message": "Kan beveiligd bericht niet bijwerken.", - "cross_posted_to": "gecross-post naar: ", + "cross_posted_to": "Ook gepost in: ", "more": "meer", "site_config": "Configuratie van de website", "sorting_help": "hulp bij sorteren", @@ -251,5 +251,10 @@ "silver_sponsors": "Zilveren sponsors zijn sponsors die $40 hebben gegeven aan Lemmy.", "post_title_too_long": "Posttitel te lang.", "admin_settings": "Beheerderinstellingen", - "banned_users": "Verbannen gebruikers" + "banned_users": "Verbannen gebruikers", + "picture_deleted": "Afbeelding verwijderd.", + "invalid_community_name": "Ongeldige naam.", + "click_to_delete_picture": "Klik om de afbeelding te verwijderen.", + "select_a_community": "Kies een community", + "invalid_username": "Ongeldige gebruikersnaam." } diff --git a/ui/translations/pt_BR.json b/ui/translations/pt_BR.json index c7cce202..30f3b05e 100644 --- a/ui/translations/pt_BR.json +++ b/ui/translations/pt_BR.json @@ -58,14 +58,14 @@ "remove_as_admin": "remover como administrador", "appoint_as_admin": "designar como administrador", "remove": "remover", - "removed": "removido", + "removed": "removido por moderador", "locked": "trancado", "stickied": "fixado", "reason": "Motivo", "mark_as_read": "marcar como lido", "mark_as_unread": "marcar como não lido", "delete": "apagar", - "deleted": "apagado", + "deleted": "apagado pelo criador", "delete_account": "Apagar conta", "delete_account_confirm": "Aviso: isso vai apagar seus dados de forma permanente. Escreva sua senha para confirmar.", "restore": "restaurar", @@ -171,7 +171,7 @@ "theme": "Tema", "sponsors": "Patrocinadores", "sponsors_of_lemmy": "Patrocinadores do Lemmy", - "sponsor_message": "Lemmy é um programa livre e de código aberto, o que significa que não haverá publicidade, monetização ou capital de risco, jamais. Suas doações apoiam de forma direta o desenvolvimento em tempo integral do projeto. Muitos agradecimentos às sequintes pessoas:", + "sponsor_message": "Lemmy é um programa livre e de código aberto, o que significa que não haverá publicidade, monetização ou capital de risco, jamais. Suas doações apoiam de forma direta o desenvolvimento em tempo integral do projeto. Muitos agradecimentos às seguintes pessoas:", "support_on_patreon": "Colabore no Patreon", "support_on_liberapay": "Colabore no Liberapay", "donate_to_lemmy": "Faça uma doação ao Lemmy", @@ -244,5 +244,17 @@ "number_of_upvotes_plural": "{{count}} votos positivos", "number_of_downvotes": "{{count}} voto negativo", "number_of_downvotes_plural": "{{count}} votos negativos", - "show_context": "Mostrar contexto" + "show_context": "Mostrar contexto", + "invalid_community_name": "Nome inválido.", + "click_to_delete_picture": "Clique para apagar imagem.", + "picture_deleted": "Imagem removida.", + "admin_settings": "Configurações de Admin", + "site_config": "Configuração do Site", + "banned_users": "Usuários Banidos", + "support_on_open_collective": "Suporte no OpenCollective", + "silver_sponsors": "Patrocinadores Prata são aqueles que doaram $40 ao Lemmy.", + "site_saved": "Site Salvo.", + "emoji_picker": "Selecionador de Emoji", + "select_a_community": "Selecione uma comunidade", + "invalid_username": "Nome de usuário inválido." } diff --git a/ui/translations/tr.json b/ui/translations/tr.json index 0967ef42..92e2ee34 100644 --- a/ui/translations/tr.json +++ b/ui/translations/tr.json @@ -1 +1,260 @@ -{} +{ + "show_avatars": "Avatarları Göster", + "show_context": "Bağlamı göster", + "formatting_help": "formatlama desteği", + "sorting_help": "sıralama desteği", + "view_source": "kaynağı göster", + "link": "bağlantı", + "mod": "idareci", + "mods": "idareciler", + "settings": "Ayarlar", + "site_config": "Site Konfigürasyonu", + "remove_as_mod": "idareciliğini feshet", + "appoint_as_mod": "idareciliğe ata", + "modlog": "İdare geçmişi", + "admin": "baş idareci", + "admins": "baş idareciler", + "remove_as_admin": "baş idareciliğini feshet", + "appoint_as_admin": "baş idareciliğe ata", + "locked": "kilitlendi", + "stickied": "bağlandı", + "reason": "Sebep", + "mark_as_unread": "okunmamış olarak işaretle", + "delete": "sil", + "deleted": "yazarı tarafından silindi", + "delete_account": "Hesabı Sil", + "click_to_delete_picture": "Resmi silmek için tıklayın.", + "picture_deleted": "Resim silindi.", + "restore": "geri al", + "ban_from_site": "siteden yasakla", + "unban": "yasağı kaldır", + "ban": "yasakla", + "unban_from_site": "siteden olan yasağını kaldır", + "banned_users": "Yasaklanmış Kullanıcılar", + "save": "kaydet", + "unlock": "kilidi aç", + "lock": "kilitle", + "sticky": "bağla", + "unsticky": "çöz", + "moderates": "İdare Ettikleri", + "remove": "kaldır", + "removed": "idareci tarafından kaldırıldı", + "banned": "yasaklandı", + "unsave": "kaydı kaldır", + "create": "yarat", + "number_of_subscribers": "{{count}} Takipçi", + "number_of_subscribers_plural": "{{count}} Takipçi", + "number_of_points": "{{count}} Puan", + "number_of_points_plural": "{{count}} Puan", + "number_online": "{{count}} Kullanıcı Hatta", + "number_online_plural": "{{count}} Kullanıcı Hatta", + "name": "Ad", + "title": "Başlık", + "category": "Kategori", + "subscribers": "Takipçiler", + "both": "İkisi", + "subscribe": "Takip et", + "subscribed": "Takibe alındı", + "prev": "Önceki", + "next": "Sonraki", + "sort_type": "Sıralama metodu", + "hot": "Flaş", + "new": "Yeni", + "old": "Eski", + "top_day": "Günün en iyileri", + "week": "Hafta", + "month": "Ay", + "year": "Yıl", + "all": "Hepsi", + "top": "En iyiler", + "api": "API", + "docs": "Kılavuzlar", + "inbox": "Gelen kutusu", + "mark_all_as_read": "hepsini okunmuş olarak işaretle", + "type": "Tür", + "unread": "Okunmamış", + "replies": "Cevaplar", + "mentions": "Bahisler", + "message_sent": "Mesaj yollandı", + "reply_sent": "Cevap yollandı", + "search": "Ara", + "overview": "Genel bakış", + "view": "Bakış", + "logout": "Çıkış", + "login_sign_up": "Giriş / Kayıt", + "login": "Giriş yap", + "sign_up": "Kaydol", + "creator": "müellif", + "email_or_username": "E-mail ya da Kullanıcı Adı", + "username": "Kullanıcı Adı", + "messages": "Mesajlar", + "password": "Şifre", + "verify_password": "Şifreyi doğrulayın", + "old_password": "Eski şifre", + "reset_password_mail_sent": "Şifrenin değiştirilebilmesi için e-mail yollandı.", + "password_change": "Şifre değişikliği", + "new_password": "Yeni şifre", + "email": "E-mail", + "matrix_user_id": "Matrix Kullanıcısı", + "optional": "İhtiyari", + "expires": "Tarihi geçecek", + "language": "Dil", + "browser_default": "Tarayıcının ayarına göre", + "upvote": "Artı oy ver", + "downvotes_disabled": "Eksi puan verme özelliği kaldırıldı", + "enable_downvotes": "Eksi puan verme özelliğini etkinleştir", + "number_of_upvotes": "{{count}} Artı oy", + "number_of_upvotes_plural": "{{count}} Artı oy", + "downvote": "Eksi oy", + "number_of_downvotes": "{{count}} Eksi oy", + "number_of_downvotes_plural": "{{count}} Eksi oy", + "open_registration": "Serbest kayıt", + "registration_closed": "Kayıt kapalı", + "enable_nsfw": "Müstehcen içeriği göster", + "url": "URL", + "body": "Metin", + "copy_suggested_title": "tavsiye edilen başlığı kopyala: {{title}}", + "community": "Topluluk", + "expand_here": "Burayı genişletip göster", + "subscribe_to_communities": "Bazı <1>toplulukları<1> takibe alın.", + "chat": "Sohbet", + "recent_comments": "Son yorumlar", + "no_results": "Sonuç yok.", + "setup": "Kurulum", + "setup_admin": "Siteye baş idareci ata", + "your_site": "sizin siteniz", + "modified": "değiştirilmiş", + "nsfw": "Müstehcen", + "show_nsfw": "Müstehcen içerikleri göster", + "theme": "Tema", + "sponsors": "Sponsorlar", + "sponsors_of_lemmy": "Lemmy'nin sponsorları", + "support_on_patreon": "Patreon üzerinden destekleyin", + "support_on_liberapay": "Liberapay üzerinden destekleyin", + "support_on_open_collective": "OpenCollective üzerinden destekleyin", + "donate_to_lemmy": "Lemmy'ye bağış yap", + "donate": "Bağış yap", + "silver_sponsors": "Gümüş Sponsorlar Lemmy'ye 40$ bağışta bulunanlardır.", + "crypto": "Kripto para", + "bitcoin": "Bitcoin", + "ethereum": "Ethereum", + "monero": "Monero", + "code": "Kaynak kodu", + "joined": "Katılanlar", + "by": "tarafından", + "to": "tarafına", + "from": "tarafından", + "transfer_site": "siteyi transfer et", + "are_you_sure": "Emin misiniz?", + "yes": "evet", + "no": "hayır", + "powered_by": "Altyapısı", + "not_logged_in": "Hesaba giriş yapılmamış.", + "logged_in": "Hesaba giriş yapıldı.", + "site_saved": "Site kaydedildi.", + "community_ban": "Bu topluluğa yazmanız yasaklandı.", + "site_ban": "Bu siteden yasaklandınız", + "couldnt_create_comment": "Yorum yapılamadı.", + "couldnt_like_comment": "Yorum beğenilemedi.", + "couldnt_update_comment": "Yorum güncellenemedi.", + "couldnt_save_comment": "Yorum kaydedilemedi.", + "couldnt_get_comments": "Yorumlar yüklenemedi.", + "no_comment_edit_allowed": "Yorumu düzenleme izniniz yok.", + "no_post_edit_allowed": "Paylaşımı düzenleme izniniz yok.", + "no_community_edit_allowed": "Topluluğu düzenleme yetkiniz yok.", + "couldnt_find_community": "Topluluk bulunamadı.", + "couldnt_update_community": "Topluluk bilgisi güncellenemedi.", + "community_moderator_already_exists": "Bu kullanıcı zaten bu topluluğun bir idarecisi.", + "community_already_exists": "Böyle bir topluluk zaten var.", + "community_follower_already_exists": "Topluluğun böyle bir takipçisi zaten var.", + "community_user_already_banned": "Bu kullanıcı zaten bu toplulukta yasaklı.", + "couldnt_create_post": "Paylaşım yapılamadı.", + "post_title_too_long": "Paylaşım başlığı çok uzun.", + "couldnt_like_post": "Paylaşım beğenilemedi.", + "couldnt_find_post": "Paylaşım bulunamadı.", + "couldnt_update_post": "Paylaşım güncellenemedi", + "invalid_community_name": "Hatalı ad.", + "couldnt_save_post": "Paylaşım kaydedilemedi.", + "no_slurs": "Hakaret sözleri yasaktır.", + "couldnt_update_site": "Site güncellenemedi.", + "couldnt_find_that_username_or_email": "Böyle bir e-mail ya da kullanıcı adı bulunamadı.", + "password_incorrect": "Şifre yanlış.", + "passwords_dont_match": "Şifreler eşleşmiyor.", + "invalid_username": "Hatalı kullanıcı adı.", + "admin_already_created": "Özür, zaten bir baş idareci var.", + "email_already_exists": "Böyle bir e-mail adresi zaten var.", + "user_already_exists": "Böyle bir kullanıcı zaten var.", + "couldnt_update_user": "Kullanıcı bilgisi güncellenemedi.", + "system_err_login": "Sistem hatası. Hesaptan çıkıp tekrar girmeyi deneyin.", + "couldnt_create_private_message": "Şahsa özel mesaj yaratılamadı.", + "no_private_message_edit_allowed": "Şahsa özel mesajı düzenlemek mümkün değil.", + "couldnt_update_private_message": "Şahsa özel mesaj güncellenemedi.", + "time": "Zaman", + "action": "Hareket", + "emoji_picker": "Emoji Seçici", + "block_leaving": "Çıkmak istediğinizden emin misiniz?", + "archive_link": "arşiv bağlantısı", + "admin_settings": "Baş İdareci Ayarları", + "mark_as_read": "okunmuş olarak işaretle", + "delete_account_confirm": "Uyarı: Devam etmek bütün verilerinizi kalıcı olarak silecektir. Onaylamak için şifrenizi girin.", + "number_of_comments": "{{count}} Yorum", + "number_of_comments_plural": "{{count}} Yorum", + "message": "Mesaj", + "post": "paylaşım", + "number_of_posts": "{{count}} Paylaşım", + "number_of_posts_plural": "{{count}} Paylaşım", + "posts": "Paylaşımlar", + "related_posts": "Bu paylaşımlar alakalı olabilir", + "cross_posts": "Bu bağlantı ayrıca şurada paylaşıldı:", + "comments": "Yorumlar", + "communities": "Topluluklar", + "users": "Kullanıcılar", + "create_a_community": "Topluluk yarat", + "select_a_community": "Topluluk seç", + "create_community": "Topluluk Yarat", + "remove_community": "Topluluğu Sil", + "list_of_communities": "Toplulukların listesi", + "number_of_communities": "{{count}} Topluluk", + "number_of_communities_plural": "{{count}} Topluluk", + "community_reqs": "küçük harfli, alt tireli ve boşluksuz.", + "create_private_message": "Şahsa Özel Mesaj Yaz", + "send_secure_message": "Güvenli Mesaj Yolla", + "send_message": "Mesaj Yolla", + "edit": "düzenle", + "reply": "cevapla", + "more": "dahası", + "cancel": "İptal", + "preview": "Ön görüntüleme", + "upload_image": "resim yükle", + "avatar": "Avatar", + "number_of_users": "{{count}} Kullanıcı", + "number_of_users_plural": "{{count}} Kullanıcı", + "remove_post": "Paylaşımı Kaldır", + "no_posts": "Paylaşım Yok.", + "create_a_post": "Paylaşım yap", + "create_post": "Paylaşım Yap", + "cross_post": "Çapraz paylaşım", + "cross_posted_to": "Şurada çapraz paylaşıldı:- ", + "remove_comment": "Yorumu Kaldır", + "subscribed_to_communities": "<1>Toplulukları<1> takip ediyor", + "trending_communities": "Trendleşmekte olan <1>topluluklar", + "upload_avatar": "Avatar Yükle", + "sidebar": "Yan sütun", + "saved": "Kaydedildi", + "unsubscribe": "Takibi bırak", + "inbox_for": "<1>{{user}}nin gelen kutusu", + "notifications_error": "İnternet tarayıcınızın masaüstü bildirim özelliği yok. Firefox ya da Chrome'u deneyin.", + "send_notifications_to_email": "E-maile bildirim yolla", + "unread_messages": "Okunmamış Mesajlar", + "forgot_password": "Şifreyi unuttum", + "not_an_admin": "Baş idareci değil.", + "site_already_exists": "Bu site zaten var.", + "no_email_setup": "E-mail desteği bu sunucuda doğru kurulmamış.", + "private_message_disclaimer": "Uyarı: Lemmy'de şahsa özel mesajlar güvenli değildir. Güvenli mesajlaşma için <1>Riot.im adresinde hesap açabilirsiniz.", + "lemmy_instance_setup": "Lemmy ülgüsünün kurulumu", + "sponsor_message": "Lemmy, reklam içermeyen ve ticari amaç gütmeyen serbest ve <1>açık kaynaklı bir yazılımdır. Bağışlarınız projenin tam zamanlı geliştirilmesine direkt katkıda bulunmaktadır. Aşağıdaki kişilere içten teşekkürler:", + "general_sponsors": "Genel sponsorlar Lemmy'ye 10 ila 30$ arasında bağışta bulunanlardır.", + "transfer_community": "topluluğu transfer et", + "landing": "Lemmy, <2>Fediverse ile iç içe olacak şekilde dizayn edilmiş bir <1>bağlantı yığıştırıcısı yani Reddit alternatifidir.<3>Herkesçe host edilebilir, yorum dizisi anlık yenilenir ve kodu küçüktür (<4>80kB). ActivityPub protokol ağına integrasyon plandadır.<5>Bu daha <6>çok erken bir beta versiyonudur ve bir sürü özellik ya bozuk ya da daha eklenmemiştir.<7>Yeni özellikler talebinde bulunmayı ya da yazılımdaki bozuklukları bildirmeyi <8>buradan yapabilirsiniz.<9><10>Rust, <11>Actix, <12>Inferno ve <13>Typescript ile yapılmıştır.", + "couldnt_get_posts": "Paylaşımlar yüklenemedi" +} diff --git a/ui/translations/uk.json b/ui/translations/uk.json index 0967ef42..2db580a6 100644 --- a/ui/translations/uk.json +++ b/ui/translations/uk.json @@ -1 +1,269 @@ -{} +{ + "post": "Запис", + "remove_post": "Видалити запис", + "no_posts": "Немає записів.", + "create_a_post": "Створити запис", + "create_post": "Створити запис", + "number_of_posts_0": "{{count}} запис", + "number_of_posts_1": "{{count}} запис", + "number_of_posts_2": "{{count}} записів", + "posts": "Записи", + "related_posts": "Связані записи", + "comments": "Коментарі", + "number_of_comments_0": "{{count}} комментарів", + "number_of_comments_1": "{{count}} комментар", + "number_of_comments_2": "{{count}} комментарів", + "remove_comment": "Видалити коментар", + "communities": "Спільноти", + "users": "Користувачі", + "create_a_community": "Створити спільноту", + "create_community": "Створити спільноту", + "remove_community": "Видалити спільноту", + "subscribed_to_communities": "Підписані на <1>спільноти", + "trending_communities": "<1>Спільноти в тренді", + "list_of_communities": "Список спільнот", + "community_reqs": "маленькими буквами, підкреслення і без пробілів.", + "edit": "редагувати", + "reply": "відповісти", + "cancel": "Відміна", + "unlock": "розблокувати", + "lock": "заблокувати", + "link": "посилання", + "mod": "модератор", + "mods": "модератори", + "moderates": "Модерація", + "settings": "Налаштування", + "remove_as_mod": "зняти з модераторов", + "appoint_as_mod": "назначити модератором", + "modlog": "Модлог", + "admin": "адміністратор", + "admins": "адміністратори", + "remove_as_admin": "зняти з адміністраторів", + "appoint_as_admin": "назначити адміністратором", + "remove": "прибрати", + "removed": "прибрано модератором", + "locked": "заблоковоано", + "reason": "Причина", + "mark_as_read": "позначити як прочитані", + "mark_as_unread": "позначити як непрочитані", + "delete": "видалити", + "deleted": "видалено автором", + "restore": "відновити", + "ban": "забанити", + "ban_from_site": "забанити на сайті", + "unban": "розбанити", + "unban_from_site": "розбанити на сайті", + "save": "зберегти", + "unsave": "видалити зі збережених", + "create": "створити", + "username": "Ім'я користувача", + "email_or_username": "email або ім'я користувача", + "number_of_users_0": "{{count}} користувачів", + "number_of_users_1": "{{count}} користувач", + "number_of_users_2": "{{count}} користувачів", + "number_of_subscribers_0": "{{count}} підписників", + "number_of_subscribers_1": "{{count}} підписник", + "number_of_subscribers_2": "{{count}} підписників", + "number_of_points_0": "{{count}} балів", + "number_of_points_1": "{{count}} бала", + "number_of_points_2": "{{count}} балів", + "name": "Ім'я", + "title": "Назва", + "category": "Категорія", + "subscribers": "Підписники", + "both": "Обидва", + "saved": "Збережено", + "unsubscribe": "Відписатися", + "subscribe": "Підписатися", + "subscribed": "Підписані", + "prev": "Назад", + "next": "Далі", + "sidebar": "Бокова панель", + "sort_type": "Тип сортування", + "hot": "Популярне", + "new": "Нове", + "top_day": "Найкраще за день", + "week": "Неділя", + "month": "Місяць", + "year": "Рід", + "all": "Все", + "top": "Найкраще", + "api": "API", + "inbox": "Вхідні", + "inbox_for": "Вхідня повідомлення для <1>{{user}}", + "mark_all_as_read": "позначити все як прочитане", + "type": "Тип", + "unread": "Не прочитано", + "reply_sent": "Відповідь відправлено", + "search": "Пошук", + "overview": "Переглянути", + "view": "Перегляд", + "logout": "Вийти", + "login_sign_up": "Ввійти / Реєстрація", + "login": "Ввійти", + "sign_up": "Реєстрація", + "notifications_error": "Повідомленя в браузері недоступні для Вашого браузера. Спробуйте Firefox або Chromium.", + "unread_messages": "Непрочитані повідомлення", + "password": "Пароль", + "verify_password": "Повторіть пароль", + "email": "email", + "optional": "необов'язково", + "expires": "спливає", + "url": "URL", + "body": "Тіло", + "copy_suggested_title": "запропонована назва: {{title}}", + "community": "Спільнота", + "expand_here": "Розширити тут", + "subscribe_to_communities": "Підпишіться на деякі <1>спільноти.", + "chat": "Чат", + "no_results": "Немає результатів.", + "setup": "Встановлення", + "lemmy_instance_setup": "Встановлення інстансу Lemmy", + "setup_admin": "Налаштування адміністратора сайту", + "your_site": "ваш сайт", + "modified": "змінено", + "nsfw": "NSFW", + "show_nsfw": "Показувати NSFW-контент", + "sponsors": "Спонсори", + "sponsors_of_lemmy": "Спонсори Lemmy", + "sponsor_message": "Lemmy це безкоштовний, <1>відкритий софт, без реклами, монетизації чи венчурного капіталу. Назавжди. Ваші пожертви йдуть напряму на розвиток проетку. Дякую нищевказаним людям:", + "support_on_patreon": "Підтримати на Patreon", + "general_sponsors": "Генеральні спонсори - це ті, хто задонатив Lemmy від $10 до $39.", + "crypto": "Крипта", + "bitcoin": "Bitcoin", + "ethereum": "Ethereum", + "code": "Код", + "joined": "Приєдналися", + "powered_by": "Працює на", + "landing_0": "Lemmy - це <1>агрегатор посилань / альтернатива reddit, призначений для роботи в <2>федіверсі.<3>Це самодостаттня система, з обновлюваним коментарями, і це дуже маленька система (<4>~80 Кб). Федерація в мережі ActivityPub знаходиться в розробці. <5>Це <6>дуже рання бета-версія, і багато функцій відсутні або поломані. <7>Пропонувати нову функції або повідомляти про баги можна <8>тут.<9>Зроблено на <10>Rust, <11>Actix, <12>Inferno, <13>Typescript.", + "not_logged_in": "Не авторизовані.", + "community_ban": "Ви були заблоковані в цій спільноті.", + "site_ban": "Ви були заблоковані на данному сайті", + "couldnt_create_comment": "Не вдалося створити коментар.", + "couldnt_like_comment": "Не вдалося лайкнути коментар.", + "couldnt_update_comment": "Не вдалося обновити коментар.", + "couldnt_save_comment": "Не вдалося зберегти коментар.", + "no_comment_edit_allowed": "Неможливо відредагувати коментар.", + "no_post_edit_allowed": "Неможливо відредагувати запис.", + "no_community_edit_allowed": "Неможливо відредагувати спільноту.", + "couldnt_find_community": "Не вдалося знайти спільноту.", + "couldnt_update_community": "Не вдалося обновити спільноту.", + "community_already_exists": "Спільнота вже існує.", + "community_moderator_already_exists": "Модератор спільноти вже існує.", + "community_follower_already_exists": "Підписник спільноти вже існує.", + "community_user_already_banned": "Член спільноти вже забаниний..", + "couldnt_create_post": "Не вдалося створити запис.", + "couldnt_like_post": "Не вдалося лайкнути запис.", + "couldnt_find_post": "Не вдалося знайти запис.", + "couldnt_get_posts": "Не вдалося знайти записи", + "couldnt_update_post": "Не вдалося обновити запис", + "couldnt_save_post": "Не вдалося зберегти запис.", + "no_slurs": "Без образ.", + "not_an_admin": "Не адміністратор.", + "site_already_exists": "Сайт вже існує.", + "couldnt_update_site": "Не вдалося оновити сайт.", + "couldnt_find_that_username_or_email": "Не вдалося знайти ім'я користувача чи email.", + "password_incorrect": "Неправильний пароль.", + "passwords_dont_match": "Паролі не співпадають.", + "admin_already_created": "Пробачте, вже є адміністратор.", + "user_already_exists": "Користувач вже існує.", + "couldnt_update_user": "Не вдалося оновити користувача.", + "system_err_login": "Системна помилка. Спробуйте вийти та зайти назад.", + "create_private_message": "Створити приватне повідомлення", + "send_secure_message": "Послати зашифроване повідомлення", + "send_message": "Послати повідомлення", + "message": "Повідомлення", + "avatar": "Аватар", + "show_avatars": "Показувати аватари", + "formatting_help": "Допомога у верстанні тексту", + "sticky": "запкріпити", + "stickied": "закріплений", + "delete_account": "Видалити акаунт", + "delete_account_confirm": "Попередження: ця дія повністю знищить всі данні вашего акаунта. Введіть свій пароль для підтвердження.", + "docs": "Документація", + "replies": "Відповіді", + "mentions": "Згадування", + "message_sent": "Повідомлення відправлено", + "old_password": "Діючий пароль", + "forgot_password": "я забув(ла) пароль", + "reset_password_mail_sent": "Лист для відновлення пароля було надіслано.", + "private_message_disclaimer": "Повідомлення: Приватні повідомлення Lemmy на данний момент не зашифровані. Для безпечної комунікації створіть акаунт на <1>Riot.im.", + "send_notifications_to_email": "Посилати повідомлення на e-mail адресу", + "language": "Мова", + "browser_default": "Браузер по замовчуванню", + "open_registration": "Відрита реєстрація", + "registration_closed": "Реєстрацію закрито", + "recent_comments": "Недавні коментарі", + "cross_posts": "Це посилання було опубліковано в таких спільнотах:", + "cross_post": "Опубліковано в інших спільнотах", + "cross_posted_to": "Також опубліковано в: ", + "support_on_liberapay": "Підтримати на Librepay", + "donate_to_lemmy": "Підтримати Lemmy", + "transfer_community": "передати спільноту", + "yes": "так", + "no": "ні", + "preview": "Попередній перегляд", + "upload_image": "завантажити зображення", + "upload_avatar": "Завантажити аватар", + "messages": "Повідомлення", + "new_password": "Новий пароль", + "theme": "Візуальна тема", + "post_title_too_long": "Довжина назви перебільшує допустимий ліміт.", + "time": "Час", + "action": "Дія", + "view_source": "сирцевий код", + "more": "більше", + "sorting_help": "допомога по сортуванню", + "by": "від", + "number_of_communities_0": "{{count}} спільнот", + "number_of_communities_1": "{{count}} спільнот", + "number_of_communities_2": "{{count}} спільнот", + "creator": "автор", + "old": "Старе", + "to": "в", + "admin_settings": "Налаштування адміна", + "banned_users": "Забанані користувачі", + "support_on_open_collective": "Піддтримка на OpenCollective", + "site_saved": "Сайт збережено.", + "enable_nsfw": "Ввімкнути NSFW", + "donate": "Пожертвувати", + "unsticky": "відклеїти", + "site_config": "Конфігурація сайта", + "banned": "забанений", + "password_change": "Зміна паролю", + "no_email_setup": "На цьому сервері неправильно налаштовано email.", + "matrix_user_id": "Matrix айді користувача", + "are_you_sure": "ви впевненні?", + "archive_link": "активувати посилання", + "logged_in": "Ввійти в систему.", + "couldnt_get_comments": "Не вдалося отримати коментар.", + "from": "від", + "transfer_site": "трансфер сайту", + "show_context": "Показати контекст", + "email_already_exists": "E-mail вже існує.", + "couldnt_create_private_message": "Не вдалося отримати особисте повідомлення.", + "no_private_message_edit_allowed": "Не можна редагувати особисті повідомлення.", + "couldnt_update_private_message": "Не вдалося оновити особисте повідомлення.", + "block_leaving": "Ви впевненні що хочете покинути?", + "number_online_0": "{{count}} Користувачів онлайн", + "number_online_1": "{{count}} Користувач онлайн", + "number_online_2": "{{count}} Користувачів онлайн", + "invalid_community_name": "Неправильне ім'я користувача.", + "picture_deleted": "Зображення видалені.", + "click_to_delete_picture": "Натисніть, щоб видалити зображення.", + "downvotes_disabled": "Від'ємне голосування вимкненно.", + "upvote": "Голосувати за", + "enable_downvotes": "Ввімкнути від'ємне голосування", + "downvote": "Голосувати проти", + "number_of_upvotes_0": "{{count}} голосів за", + "number_of_upvotes_1": "{{count}} голос за", + "number_of_upvotes_2": "{{count}} голосів за", + "number_of_downvotes_0": "{{count}} голосів проти", + "number_of_downvotes_1": "{{count}} голос проти", + "number_of_downvotes_2": "{{count}} голосів проти", + "silver_sponsors": "Срібні спонсори - це ті, хто пожертував $40 для Lemmy.", + "monero": "Monero", + "emoji_picker": "Обрати емодзі", + "select_a_community": "Обрати спільноту", + "invalid_username": "Неправильне ім'я користувача." +}